Think before you speak, read before you think.

Category: Linux

  • CentOS 重新生成 grub.cfg

    内核升级多次之后,grub 菜单多个版本共存,进行 /boot 的清理之后,重新生成菜单 cp /boot/grub2/grub.cfg /root/grub.cfg.bak grub2-mkconfig -o /boot/grub2/grub.cfg 之后检查是否有问题 /boot/grub2/grub.cfg /root/grub.cfg.bak 重启机器验证 centos7 的文件名叫 /etc/grub2.cfg update: 2019-11-21 关闭 swap 并删除 swap lvm 之后机器启动不了,swap 找不到 原来 /etc/default/grub 配置有 GRUB_CMDLINE_LINUX=”rd.lvm.lv=centos/root rhgb quiet” 删掉后重新生成 grub 问题解决

  • aliyun ecs vpc 使用自建 nameserver

    对于 dhcp 获取 ip 的 vpc ecs,会强制更改 /etc/resolv.conf,使用如下方式防止替换 /etc/sysconfig/network-scripts/ifcfg-eth0 添加 PEERDNS=no

  • bash debug line number

    by

    in

    当遇到很长 bash 脚本,尤其包含很多逻辑的时候,需要用 bash 行号进行debug,方法是设置 PS4 变量。 [vagrant@centos7-work ~]$ sh foobar.sh foobar [vagrant@centos7-work ~]$ export PS4='(${BASH_SOURCE}:${LINENO}): – [${SHLVL},${BASH_SUBSHELL},$?] $ ‘ [vagrant@centos7-work ~]$ sh -x foobar.sh (foobar.sh:2) $ echo foobar foobar 参考: https://coderwall.com/p/wil8da/debug-bash-scripts-with-line-numbers-more-info

  • CentOS 7 systemd 禁用 gnome 启动

    平时自己家里的 CentOS 7 不需要图形界面,所以禁用 查看当前启动模式,发现时界面模式 [root@192 ~]# systemctl get-default graphical.target 将界面模式改为多用户无界面模式,重启生效 [root@192 ~]# systemctl set-default multi-user.target Removed symlink /etc/systemd/system/default.target. Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/multi-user.target. [root@192 ~]# systemctl reboot

  • 关闭 swap 操作

    检查: free -m # 应该 Swap 显示全是 0 备份 /etc/fstab cp /etc/fstab /tmp/fstab.`date +%F` 删除 /etc/fstab 中 swap 挂载项 vim /etc/fstab 关闭所有 swap swapoff -a 观察进程使用 swap 和 swapoff -a 之后回收情况,对于不能回收 swap 的进程需要安排时间重启 free -m for file in /proc/*/status ; do cat $file | awk ‘/Name|^Pid|VmSwap/{printf $2 ” ” $3 $4}END{ print “”}’ | grep…

  • bash countdown

    输入 countdown + 秒数,就开始倒计时了 gnu date function countdown(){ local now=$(date +%s) local end=$((now + $1)) while (( now < end )); do printf "%s\r" "$(date -u -d @$((end - now)) +%T)" sleep 0.25 now=$(date +%s) done echo } osx date function countdown(){ echo $2 local now=$(date +%s) local end=$((now + $1)) while (( now <…