Articles of linux

Linux内核决策过程中的路由表

我在linux内核中有关于路由过程的问题。 以下是我使用的版本。 [root@server230 ~]# cat /etc/redhat-release Red Hat Enterprise Linux Server release 7.1 (Maipo) [root@server230 ~]# uname -r 3.10.0-229.el7.x86_64 根据tldp,路由表中使用哪个路由决定使用NETMASK。 http://www.tldp.org/LDP/nag2/x-087-2-issues.routing.html 识别特定目的地地址是否匹配路线的过程是math运算。 这个过程非常简单,但是它需要对二进制算术和逻辑的理解:如果与networking掩码逻辑与的networking地址恰好等于与networking掩码逻辑与的目标地址,则路由匹配目的地。 我有两个接口(eth0和eth1),其中每个接口在相同的子网和networking掩码中运行 [root@server230 ~]# ip addr 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft […]

如何增加分区大小(不使用LVM)而不删除并重新添加

我有/usr在一个单独的分区。 目前,这是服务器的设置: [root@localhost ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda2 4.9G 329M 4.6G 7% / devtmpfs 366M 0 366M 0% /dev tmpfs 372M 0 372M 0% /dev/shm tmpfs 372M 5.0M 367M 2% /run tmpfs 372M 0 372M 0% /sys/fs/cgroup /dev/sda5 997M 871M 127M 88% /usr /dev/sda1 9.8G 33M 9.8G 1% /home […]

如何确定一个过程是唯一的与一个巧合的同一个PID?

有了识别进程的PID的能力,比如说HTTPD,我怎么能在稍后的同一台服务器上确定PID /进程是否仍然是原始进程? 例如,我可以在PID 123下有一个HTTPD进程。 几分钟后,该进程可能会被终止,并在( 巧合的 )PID 123下创build一个新的HTTPD进程。 如果我正在监视一个PID,我不会确定HTTPD曾经被终止过。 我可以依靠哪些方面来确定在/proc/<PID>下可识别的唯一性 理想情况下,创build一个DTTM,将是最佳的,虽然我不知道这个信息在/prod/PID下的内核重新表示

在CentOS上为RHEL构buildrpm

我需要安装一些在客户端的RHEL服务器上预编译的软件。 我决定创build一个rpm,以便在多个系统上安装。 由于我没有RHEL订阅,我可以在CentOS上本地创buildrpm,然后将其安装在RHEL系统上?

从linux ext4的执行精灵文件中删除locking?

启动ext4文件系统上的一些elf文件后,它被locking写入,但可以删除和重写。 在其他文件系统上,这种行为可能会不同 – 我已经testing了virtualboxfs,而且我也无法删除正在运行的可执行文件。 我正在试图通过自启动和自编译模块实现一些持续集成scheme。 这就是为什么我需要解锁和覆盖我的运行二进制文件。 对于ext4我可以删除,然后重新编译文件到旧的地方,但我不喜欢这种情况下,因为inode与旧文件将仍然被阻止。 是否存在一些其他的可能性来实现“透明”的重新编译和重启?

安装SSD

我最近从OVH得到了一个“专门的游戏服务器”,我已经承诺过2x480GB的SOFT SSD。 但是, df -h显示了这个输出: root@dedi:/home/shavit# df -h Filesystem Size Used Avail Use% Mounted on /dev/root 20G 4.2G 14G 24% / devtmpfs 63G 4.0K 63G 1% /dev none 4.0K 0 4.0K 0% /sys/fs/cgroup none 13G 868K 13G 1% /run none 5.0M 0 5.0M 0% /run/lock none 63G 1.1M 63G 1% /run/shm none 100M 0 100M […]

公共接口不听默认的centos 7

我的系统上有两个网卡,使用centos 7作为操作系统。 其中一个接口公共IP地址为172.68.122.120 (em1) ,第二个IP地址为10.11.15.20 (p4p1) 。 现在,当我重新启动我的系统时,默认情况下,公共IP不会ping,而私人IP可以在子网内ping。 然后,我把我的私人界面,然后再起来。 现在两个IP都会ping。 问题是什么 ? 我认为在NIC中有一些优先级问题。 如果我运行netstat -rn命令,我在启动时得到以下输出。 0.0.0.0 10.11.15.1 0.0.0.0 UG 0 0 0 p4p1 0.0.0.0 172.68.122.10 0.0.0.0 UG 0 0 0 em1 重置我的私人界面。 以上命令的输出netstat -rn更改为以下 0.0.0.0 172.68.122.10 0.0.0.0 UG 0 0 0 em1 0.0.0.0 10.11.15.1 0.0.0.0 UG 0 0 0 p4p1 有什么问题,我该如何解决呢?

GNU并行没有充分利用我的CPU

我在我的36核心服务器(EC2 c4.8xlarge / Amazon Linux)上运行这样的命令。 find . -type f | parallel -j 36 mycommand 要处理的文件数量是〜100万,需要几十分钟。 它应该同时运行36个进程。 但是,从top的结果来看, top只有10个进程,而70%是空闲的。 ps显示更多的进程,但其中大部分已经失效。 我猜测是因为每个mycommand如此迅速地完成, parallel无法赶上产生新的进程。 所以我尝试了parallel –nice 20来分配更多的CPU时间到parallel本身,但是这不起作用。 有没有人有一个想法来改善这一点? $ parallel –version GNU parallel 20151022

当sendmail守护进程收到一个kill -15(SIGTERM)请求时,它做了什么? 这如何影响传输中的消息?

有人可以详细说明如果sendmail守护进程在收到kill -15请求时正在处理消息的过程中会发生什么? 它会完成处理任何正在处理的消息吗? 或立即终止? 我试图确定sendmail是否会正常地结束连接,当我运行service sendmail restart 。

Linux +获得远程机器的标准输出

是否有可能从远程机器获得标准输出 – 100或1,破坏脚本/tmp/script.bash之后? ssh $remote_machine /tmp/script.bash echo $? ( from remote machine script – not from ssh ! ) 在远程机器上 – more /tmp/script.badsh #!/bin/bash command [[ $? -eq 0 ]] && exit 100 || exit 1