Articles of linux

实时时钟是错误的(从几小时到几年),在启动时需要一次性的非单调变化。 Chrony能解决这个问题吗?

我不能保证在某些机器上有一个健全的实时时钟(时间可能是几个小时,几个月甚至几年)。 由于我也有断断续续的networking,我build立了Chrony,希望能够解决这个问题。 但是Chrony似乎想要随着时间的推移缓慢地调整时钟,保持时钟的单调性而不会发生剧烈的变化。 当漂移大约在几秒钟内,这就足够了,但对我来说这不是一个解决scheme(在我的testing中,需要几个小时来纠正10分钟的漂移)。 maxupdateskew ,我禁用了maxupdateskew 。 我真正想要的是在启动早期进行大的改变(如果时间设定在将来,则是非单调的),精确到秒或(甚至更好)毫秒级,并且在应用之后,ntp客户端可以自由地做其逐步调整。 我认为这是ntp客户端的一个重要用例,特别是没有RTC的机器,但是我找不到适合这个问题的解决scheme。 我已经考虑了以下几点: 运行hwclock –set –date="$(magically-get-correct-time)"; hwclock -s 在Chrony完成工作之前。 问题是, magically-get-correct-time仍然需要收集ntp或其他服务,然后我必须安排Chrony成功后运行..这是很棘手的做(如:如果这个命令失败,因为networking是穷人?这可能很快变得复杂)。 一般来说,这感觉像pipe道录音。 在Chrony之前使用ntpdate 。 谷歌告诉这是在一些论坛build议。 我不知道这个工作会如何,也感觉像胶带。 (另外,ntpdate被报告为不赞成) 现在,我实际上正在寻找的是一种只用Chrony来解决这个问题的方法。 是什么让我认为它可以解决这个问题呢,Fedora Wiki上关于Chrony的页面就是默认的NTP客户端 。 它声称: 在初始同步之后,时钟永远不会步进,这对于需要系统时间单调的应用是很好的 对我来说,这表明在初始同步的过程中 ,Chrony可能会进行非单调步进。 或者我希望。 但在我的安装,当它说 Feb 19 17:15:30 black chronyd[696]: System clock wrong by -759.702379 seconds, adjustment started 它不会跳跃到积极纠正它尽快; 它反而在几个小时内传播变化,从不做非单调变化。 所以我没有看到任何提到的“初始同步”。 而且我还没有能够find如何configuration它进行任何非单调调整。 顺便说一句,我用Chrony 1.27运行Arch Linux

“/ usr / bin / ld:找不到-lz”但存在libz

在基于Redhat的linux(amd64)上编写我的程序时,出现这个错误: /usr/bin/ld: cannot find -lz collect2: ld returned 1 exit status search互联网显示,我没有安装zlib 32位版本。 快速search显示,我有这个包 [root@localhost trunk]# find / -name libz* /lib64/libz.so.1 /lib64/libz.so.1.2.3 /lib/libz.so.1 /lib/libz.so.1.2.3 /usr/lib64/libz.so /usr/lib64/purple-2/libzephyr.so /usr/lib64/libzip.so.1.0.0 /usr/lib64/libzip.so.1 正如你可以看到/lib和/lib64都包含libz文件。 接下来,我试图findlddsearchpath,它显示包括32位和64位文件夹 [root@localhost trunk]# ldconfig -v | grep -v ^$'\t' /usr/lib64/ctapi: /usr/lib64/mysql: /usr/lib64/tcl8.5/tclx8.4: /usr/lib64/xulrunner-2: /lib: /lib64: /usr/lib: /usr/lib64: /lib/i686: (hwcap: 0x0008000000000000) /lib64/tls: (hwcap: 0x8000000000000000) /usr/lib64/tls: (hwcap: 0x8000000000000000) […]

如何从NAT路由器后面区分连接?

背景:我有一个用PHP编写的非常简单的服务器程序。 这主要是工作,但只有每个站点不超过一个客户端。 问题: NAT路由器(典型的SOHO路由器)如何知道哪个内部客户端返回stream量? 我可以使用什么方法来区分NAT路由器后面的多个客户端?

Postgresql无意升级到9.2.3

好的,所以我对linux比较陌生。 几个月前,我设法build立了一个使用亚马逊构build的CentOS,PHP和Postgres 9.1的网站。 我在/ pgdata上完成了一个initdb,它安装在我为此创build的Amazon卷上。 这个网站自那以后一直在哼唱,而且我觉得这毕竟不是那么辛苦! 🙂 但现在,我的网站已经closures了。 这是发生了什么… 昨天我login开始一些网站的变化。 我看到的第一件事是有一些更新可用(自然),所以我跑了“百胜更新”。 它做了一堆事情,并报告成功。 凉! 一切都很顺利我的网站上的变化,直到我执行一个Postgres函数的变化。 我得到一个错误: 错误:无法加载库“/usr/lib64/pgsql/plpgsql.so”:“/usr/lib64/pgsql/plpgsql.so”:未定义符号:SPI_plan_get_cached_plan (我在我的函数中使用plpgsql) 谷歌带我到各地,似乎只是需要重新启动Postgresql。 我尝试了各种方法。 Postgres会停下来,但不会重新开始。 在这个过程中的某个时候,我得到了另一个(更有帮助的)错误信息: “数据目录是由PostgreSQL 9.1版本初始化的,它与9.2.3版本不兼容。” 什么? 如果我的yum更新安装了Postgres的一个新的,不兼容的版本? 这是我们如何在Linux世界中滚动? 主要升级没有警告什么是需要或要求我的许可? Foowee,下次我会更加小心。 顺便说一句,如果我再次有空,我该怎么办? 无论如何,这导致我这些 链接 ,当然还有postgres文档。 我现在坚持运行pg_upgrade。 这是我的命令到目前为止: pg_upgrade -d / pgdata_temp -D / pgdata -b /usr/lib64/pgsql/postgresql-9.1/bin/ -B / ?? / -v 如何找出新的Postgres bin目录(/ B参数)? 这似乎并没有在任何地方。 然而,当我跑了 su – […]

在最新的Centos和Fedora中需要/etc/resolv.conf?

在最新的Fedora和CentOS中,dns的configuration位于/ etc / sysconfig / network-scripts / ifcg-eth0(或其他接口configuration)中。 那么还需要/etc/resolv.conf。 由于其不再使用。 (我在新的fedora 18安装上testing了这个,并且把dns ipis放在resolve.conf中,但是不能只改变ifcg文件并重新启动networking服务)

方法丢弃总数的50%的数据包

在我的机器上,我希望只有50%的数据包能够收到。 我正在使用centOS 5.5。 为此,我在网上search。 我得到了IPtables。 我使用了IPtables的随机补丁。 命令 sudo iptables -A INPUT -p icmp –icmp-type echo-request -m random –average 50 -j DROP 产量 iptables v1.3.5: Couldn't load match `random':/lib64/iptables/libipt_random.so: cannot open shared object file: No such file or directory Try `iptables -h' or 'iptables –help' for more information. 但上面显示,图书馆失踪。 那么,我怎样才能放下50%的数据包呢? 请纠正我的上述方法或build议新的方法。 告诉我如何将这些库添加到IPtables现有的包中。 [我试过,但是这些图书馆没有在互联网上find] 编辑1 我还需要logging丢弃的数据包,所以我改变了我的iptables规则集,如下所示: iptables […]

如何阅读人力格式的巨大clientmqueue?

Clientmqueue超过18GB,ls / var / spool / clientmqueue已经工作了5分钟。 我想查看队列中的邮件。 也许我可以阅读一些人的格式? 要看date标题谁发送,谁是接收器?

SVN回购浏览器不会在后端显示一个开放的TCP连接

当我使用repo浏览器(TortoiseSVN)连接到mysvnserver时,在mysvnserver框中执行netstat和我的计算机的grep时,我看不到打开的连接。 什么是行为? 它下载一个索引文件,并在本地caching,所以我不需要一个持久连接到SVN服务器? 那么为什么我会看到许多使用svn协议连接到该服务器的其他计算机? 什么操作会导致有状态的连接? 它只是检查/提交和检查?

SSL错误:错误:0B080074:x509证书例程:X509_check_private_key:键值不匹配

错误: SSL error: error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch 脚步: openssl genrsa -out SITE.TLD.key 2048 openssl req -new -key SITE.TLD.key -out SITE.TLD.csr (将CSR发送到SSL站点进行签名) add CERT to SITE.TLD.crt add CA to SITE.TLD.ca 链接他们: cat SITE.TLD.crt SITE.TLD.ca > chained.cert 任何想法我做错了什么? 我正在使用LiteSpeed HTTPd

RAID 10 – 你怎么知道硬盘正在运行还是坏的?

我有一些数据中心的服务器,所有的服务器都安装了RAID 10。 我怎么知道其中一个硬盘坏了或坏,需要更换? 编辑:这些服务器unmnaaged和托pipe提供商,所以我实际上没有访问到很多的东西。 编辑:发现这是这一个: http : //www.adaptec.com/en-us/support/raid/sas_raid/sas-3405/ 所以我需要安装这个? http://www.adaptec.com/en-us/speed/raid/storage_manager/asm_linux_x64_v6_50_18579_tgz.htm 当安装(新的工作与RAID)我将不得不结束一个菜单和configuration的东西,还是像一个后台服务?