Articles of linux

尽pipe绑定设备在/ proc或某处查找MAC地址?

有没有办法获得eth0和eth1的原始MAC地址? 大量的服务器具有pipe理备份交换机连接的绑定接口,而且一个是行为不当的。 在bond0处于活动状态时,两个MAC地址将被ifconfigreplace并报告相同。 我想在服务器arrays中search在思科设备中find的MAC地址。 我会使用dmesg(1)或/ var / log / messages,但是对于大部分数组,它们已经滚动了数百天。

有没有办法从命令行更改.iso文件卷ID?

我有一个Linux下的.iso文件,并试图find一种方法来更改卷ID而无需重新创build.iso文件。 大多数创作工具(如mkisofs提供了一个设置音量(-V)的开关。 但是我不知道如何改变它在一个预先存在的.iso文件。 澄清,我试图改变的是这个Volume id:string。 这是一个来自isoinfo命令的转储示例。 % isoinfo -d -i /usr/share/virtualbox/VBoxGuestAdditions.iso CD-ROM is in ISO 9660 format System id: Win32 Volume id: VBOXADDITIONS_4.1.8_75467 Volume set id: Publisher id: Data preparer id: Application id: MKISOFS ISO 9660/HFS FILESYSTEM BUILDER & CDRECORD CD-R/DVD CREATOR (C) 1993 E.YOUNGDALE (C) 1997 J.PEARSON/J.SCHILLING Copyright File id: Abstract File id: Bibliographic […]

我怎么能告诉我从引导的两个非常相似的Linux内核中的哪一个?

我最近为我的linux服务器编译了一个新的内核。 它与以前的内核几乎相同(我添加了CIFS支持)。 因为对服务器的物理访问是有限的,所以如果新内核无法正常启动,我将grubconfiguration为旧内核。 我现在可以启动服务器,但是我不知道哪个内核正在运行。 我试着做“uname -a”,它给了我内核名称,然后是#2。 #2与我的问题有关吗? 我怎样才能找出哪两个可能的内核运行? 理想情况下,我想把它和我在grub.conf中列出的顺序联系起来

隔离networking上的单个NTP服务器

我有两台Linux机器(A和B)在一个孤立的networking上。 他们必须时间同步。 机器A间歇供电,并且必须提供时间,因为它连接到授权时间源(GPS)。 机器B只有在机器A上电的情况下才供电,但是它是embedded式Linux设备,其电源状态会频繁变化。 这两台机器都无法访问其他系统。 这是一个封闭的networking。 我知道这对于NTP来说是相当高的,因为NTP通常期望与多个服务器联系。 机器A与GPS同步正常,机器B可以到达机器A甚至做时间查询,但是机器A不受信任(也许是自己的?)。 机器A在一小时后,突然发生了变化,机器B工作。 但是,当机器A停机(并且因此机器B)时,机器B再次无法find一个很好的时间同步。 这是一些ntpdate信息。 请注意,即使机器A的层数为1,操作也会失败,并以相同的输出结束。 10.10.10.1:服务器掉线:分层太高 服务器10.10.10.1,端口123 分层16,精度-19,飞跃11,信任000 refid [10.10.10.1],延迟0.02614,色散0.00000 在filter4中传输4 参考时间:00000000.00000000 Thu,2036年2月7日6:28:16.000 始发时间戳:d3a9bdc4.27ebb350 Thu,Jul 12 2012 21:19:00.155 传输时间戳:bc17c803.b42dfffe星期六,一月1 2000 0:25:39.703 滤波器延迟:0.02625 0.02614 0.02618 0.02625 0.00000 0.00000 0.00000 0.00000 filter偏移量:39544160 39544160 39544160 39544160 0.000000 0.000000 0.000000 0.000000 延迟0.02614,色散0.00000 抵消了395441600.451568 1月1日00:25:39 ntpdate [677]:找不到适合于同步的服务器 我的猜测是,机器A只是不相信自己的服务时间。 51分钟后(可能更早发生,我不知道)的正常运行时间和时钟同步到GPS,机器A开始正确服务时间,机器B拿起它。 我需要这个发生在早些时候。 就像在几秒钟内如果可能的话。 通过以下configuration(以及许多等待),它最终成功。 机器一个ntp.conf: […]

转发IPv6stream量

我怎样才能从我的tun0接口转发IPv6stream量到eth0接口? 使用ifconfig: eth0 Link encap:Ethernet HWaddr 00:16:3E:12:77:54 inet addr:208.111.39.160 Bcast:208.111.39.255 Mask:255.255.255.0 inet6 addr: 2607:f740:0:3f::eda/64 Scope:Global inet6 addr: fe80::216:3eff:fe12:7754/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:65590 errors:0 dropped:499 overruns:0 frame:0 TX packets:40111 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:13246038 (12.6 MiB) TX bytes:28807669 (27.4 MiB) Interrupt:29 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 […]

PostgreSQL缓慢的提交性能

我们在使用PostgreSQLconfiguration时遇到了一些问题。 经过一些基准testing后,我发现非常简单的查询花费了相当长的时间,经过进一步的检查,实际的COMMIT命令显得非常慢。 我使用下表进行了一个非常简单的testing: CREATE TABLE test ( id serial primary key, foo varchar(16), ); 打开所有语句的logging后,我运行了以下查询10000次: BEGIN; INSERT INTO test (a) VALUES ('bar'); COMMIT; BEGIN和INSERT完成时间<1ms,但COMMIT平均需要22ms才能完成。 在我自己的PC上运行相同的基准testing,速度慢得多,BEGIN和INSERT语句的平均值相同,但平均COMMIT约为0.4ms(快20倍)。 经过一番阅读,我尝试了pg_test_fsync工具来试图解决这个问题。 在服务器上,我得到了这些结果: $ ./pg_test_fsync -o 1024 1024 operations per test O_DIRECT supported on this platform for open_datasync and open_sync. Compare file sync methods using one 8kB write: (in wal_sync_method preference […]

如何更改Postfix中的Envelope?

使用Postfix通过Amazon SES发送邮件的Linux服务器。 从Wordpress发送电子邮件时,电子邮件被拒绝,因为信封发件人地址不正确。 我如何configurationPostfix始终使用[email protected]作为Envelope From地址? 我正在寻找一个默认的属性,我可以configuration,而不是一个基于代码的解决scheme。

为普通用户(非root用户)提供初始化和closures自动运行function

我正在运行一个运行Debian Wheezy 7.4.0发行版的实验/testingLinux机器。 不同的用户通过sshlogin到他们的帐户,并允许运行开发工具,如果他们愿意,他们的程序作为服务在后台运行。 由于这是一个用于各种用途的testing机器,通常需要重新启动整个机器,然后用户必须重新login并重新启动正在运行的用户空间。 我想自动化。 基本上我想提供给用户一个意思是在机器启动之后(在所有其他部分被初始化之后)启动东西,并且意味着在系统closures时启动东西(没有时间限制,基本上停止closures直到所有这些closures用户进程已经完成)。 我到目前为止所尝试的: 我已经创build了一个init bash脚本,通过在/etc/init.d/(骨架模板源代码: https : //gist.github.com/ivankovacevic/9917139 )下的“骨架”模板文件中find的原则, 我的代码在这里: https : //github.com/ivankovacevic/userspaceServices 基本上,脚本会遍历用户主目录,并在名为.startUp,.shutDown或.status的相应子目录中查找可执行文件。 根据当前正在执行的事件,脚本以su执行,就像用户自己启动它们一样。 我目前使用这种方法面临的问题是,在系统引导之后还有一个奇怪的进程挂起,脚本启动了其他用户的所有进程。 这是它在进程列表中的外观: UID PID PPID C SZ RSS PSR STIME TTY TIME CMD root 3053 1 0 1024 620 1 17:42 ? 00:00:00 startpar -f — userspaceServices 我不知道这个过程是什么,手册页没有提到-f参数。 所以我很笨,但是我必须做一些错误的事情,因为从init.d中没有其他的脚本/服务在启动之后会挂起这样的进程。 所以我正在找人帮我debugging我的解决scheme(这在我看来也有点复杂)。 或者给我一些想法,这可以以完全不同的方式来实现。 UPDATE 我已经为startpar问题启动了一个单独的问题: 从rc.local或init.d启动进程时startpar进程挂起 更新2 […]

是否可以在没有Windows的情况下部署VMware vSphere 5.5?

我最近遇到了一个有趣的客户需求。 我需要执行VMware vSphere 5.5的绿地部署。 这是为了使用基于Linux的VMware vCenter Server设备 (vCSA)… 这个客户的主要问题是没有Windows的足迹。 没有Windows个人电脑,没有Windows服务器…这是由select,并没有把Windows引入到环境的兴趣。 目标是使用VMware虚拟化多层Linux Web应用程序及其testing,分段和生产实例。 当我最初推荐VMware的时候,我曾经提到过我已经在许多主要是Linux的环境中部署了它。 我总是有一些Windows系统可用,但… 因此,在现场安装过程中出现问题:基于Linux的vCenter Server Appliance需要使用vSphere Web Client( 由于它是vCSA的一部分而不存在,或者vSphere Windows) 部署到ESXi .NET客户端( 需要Windows )。 鸡和蛋的问题… 客户挑战我: “为什么我们必须依靠微软来安装VMware?” – 我没有一个很好的答案:( 那么这可能吗? 如何在不使用Windows的情况下从头开始安装这种types的安装程序? (顺便说一句,我是一个Mac用户,所以我只是使用VMware Fusion,并有一个Windows 7实例方便…)

su:/ bin / bash:资源暂时不可用

无法将用户切换到postgres。 postgres用户的ulimit设置设置了合理的限制。 我们没有达到最大。 / var / log / messages中没有错误。 错误: BETA -bash-4.2# sudo su – postgres su: /bin/bash: Resource temporarily unavailable 设置: BETA -bash-4.2# ps -auxww | grep -i postgr | wc -l 503 BETA -bash-4.2# lsof | grep -i postgr | wc -l 35225 BETA -bash-4.2# Ulimit postgres进程。 BETA -bash-4.2# cat /proc/26230/limits Limit Soft […]