Think before you speak, read before you think.

Category: Linux

  • CentOS 7 更改 interface name

    by

    in

    习惯于用 eth0 eth1 ,不习惯 em1, enp0s3,在 kickstart 文件中写如下脚本,使用 eth0, eth1 # grub 的配置,关键是内核启动参数 net.ifnames=0 biosdevname=0 cat /etc/default/grub GRUB_TIMEOUT=5 GRUB_DEFAULT=saved GRUB_DISABLE_SUBMENU=true GRUB_TERMINAL_OUTPUT=”console” GRUB_CMDLINE_LINUX=”crashkernel=auto rhgb quiet net.ifnames=0 biosdevname=0″ GRUB_DISABLE_RECOVERY=”true” __EOT__ # 生成实际使用的 grub2.cfg grub2-mkconfig -o /boot/grub2/grub.cfg # 删掉不喜欢的 interface name rm -f /etc/sysconfig/network-scripts/ifcfg-em* rm -f /etc/sysconfig/network-scripts/ifcfg-en* # 创建 eth0, eth1 模板 cat /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 BOOTPROTO=”static” IPV6INIT=”no” NM_CONTROLLED=”yes”…

  • sort命令

    对 /etc/hosts 文件排序默认是按字符串 如果对 ip 排序 sort -t . -k 1,1n -k 2,2n -k 3,3n -k 4,4n /etc/hosts sort -t . +0 -1n +1 -2n +2 -3n +3 -4n /etc/hosts 发现一个简单方法 sort -V /etc/hosts 排序命令Sort sort -k 2,2 -k, –key=POS1[,POS2] start a key at POS1 (origin 1), end it at POS2 (default end of line)

  • 使用nat时net.ipv4.tcp_timestamps参数

    by

    in

    在使用 iptables 做 nat 时,发现内网机器 ping 某个域名 ping 的通,而使用 curl 测试不通 原来是 net.ipv4.tcp_timestamps 设置了为 1 ,即启用时间戳 cat /proc/sys/net/ipv4/tcp_timestamps 这时将其关闭 修改 /etc/sysctl.conf 中 net.ipv4.tcp_timestamps = 0 sysctl -p 生效 原理 问题出在了 tcp 三次握手,ping 的通 icmp ok ,http ssh mysql 都不 ok 经过nat之后,如果前面相同的端口被使用过,且时间戳大于这个链接发出的syn中的时间戳,服务器上就会忽略掉这个syn,不返会syn-ack消息,表现为用户无法正常完成tcp3次握手,从而不能打开web页面。在业务闲时,如果用户nat的端口没有被使用过时,就可以正常打开;业务忙时,nat端口重复使用的频率高,很难分到没有被使用的端口,从而产生这种问题。 只有客户端和服务端都开启时间戳的情况下,才会出现能ping通不能建立tcp三次握手的情况  

  • 对比两个文件夹是否相同

    by

    in

    find dirname1 -type f -exec md5sum {} + | awk ‘{print $1}’ | sort | md5sum find dirname2 -type f -exec md5sum {} + | awk ‘{print $1}’ | sort | md5sum 如果值不一样 分别进入两个目录中 for i in `ls`; do echo $i ; find $i -type f -exec md5sum {} + | awk ‘{print $1}’ |…

  • 查看 ssd 寿命

    by

    in

    安装必要的软件 yum install -y MegaCli Lib_Utils 得到 device id /opt/MegaRAID/MegaCli/MegaCli64 -LdPdInfo -aALL | grep -B 30 ‘Solid State Device’ | grep ‘Device Id’  我这里得到的是 1, 下面用 smartctl 的时候跟上 ,1 smartctl -a -d sat+megaraid,1 /dev/sdc | grep Media_Wearout_Indicator Wear Levelling Count(颗粒平均擦写次数):最后一列为 0,即这块硬盘的全盘写入/擦除(P/E)数为 0 次,显示还有 100% 的寿命. ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED…

  • dd清除GPT信息

    方法一 dd if=/dev/zero of=/dev/sdb bs=512 count=2 方法二 parted /dev/sdb mklabel gpt 参考: http://unix.stackexchange.com/questions/167500/using-dd-to-zero-a-gpt-table-from-disc-how-many-bytes-to-write