2018年10月

在 CentOS 7 重命名网卡为eth0

CentOS7默认是按如固件名、BIOS等信息来命名,如看惯,想用回eth0的,可以尝试。

过程:

1.ip link # 查看当前的网卡名,如本例是 enp0s20f0
rename-eth0-1.png

2.vi /etc/default/grub # 编辑启动参数,在 GRUB_CMDLINE_LINUX 尾,加上 net.ifnames=0 biosdevname=0
rename-eth0-2.png

3.grub2-mkconfig # 测试启动参数配置

4.grub2-mkconfig -o /boot/grub2/grub.cfg # 更新启动配置文件
rename-eth0-5.png

5.mv /etc/sysconfig/network-scripts/ifcfg-{enp0s20f0,eth0} # 改名网卡配置文件

6.sed -ire "s/NAME=\"enp0s20f0\"/NAME=\"eth0\"/" /etc/sysconfig/network-scripts/ifcfg-eth0 # 替换配置文件里的网卡名称

7.sed -ire "s/DEVICE=\"enp0s20f0\"/NAME=\"eth0\"/" /etc/sysconfig/network-scripts/ifcfg-eth0 # 替换配置文件里的设置名称

8.MAC=$(cat /sys/class/net/enp0s20f0/address) # 获取网卡的MAC地址
rename-eth0-3.png

9.echo -n 'HWADDR="'$MAC\" >> /etc/sysconfig/network-scripts/ifcfg-eth0 # 将网卡MAC地址写进配置文件里
rename-eth0-4.png

10.reboot # 重启测试,成功
rename-eth0-6.png

参考:

xfs_repair 修复 CentOS 7 Metadata corruption detected 启动失败问题

一VMware虚拟机,CentOS7系统,启动后未能成功进到系统,提示 Corruption of in-memory data detected, shutting down filesystem, please umount the filesystem and rectify the problem.

过程:

1.CentOS7启动失败,自动转到急救模式
xfs-repair-1.jpg

2.journalctl -xe # 查看错误日志,提示 /dev/mapper/cl-root 挂载失败
xfs-repair-2.png

3.mount /dev/mapper/cl-root /dmnt # 尝试手动挂载,失败。提示 Structure needs cleaning
xfs-repair-3.png

4.xfs_replair -L /dev/mapper/cl-root # 尝试重建
xfs-repair-4.png

5.init 6 # 重建log后,重启机子,正常了
xfs-repair-5.jpg

参考:

为无IPMI的机子切换到急救系统(或重装系统)

drserver.net 的凌动机型中,有一款是没有IPMI的,且最近无法通过Web面板功能来进行强制重启。

假如您也是用着这款,且原系统正常连接,可以按下操作顺序来切换到急救系统(或重装系统)。

过程:

1.先连接,登录到当前系统,确认从系统可重启机子
no-ipmi-reinstall-1.png

2.转到“用户中心”,为“Server Recovery”(急救)设置密码
no-ipmi-reinstall-2.png

3.请求切换到急救系统,提示 Run recovery template
no-ipmi-reinstall-3.png

4.回到之前的机子远程连接,从系统重启机子
no-ipmi-reinstall-4.png

5.再转到“用户中心”,查看状态的变化,等一小段时间后,会提示 SSH is accessible,表示可以远程ssh登录到急救系统了
no-ipmi-reinstall-5.png

7.如需退出急救系统,在“用户中心”,点击“取消 Operation”的按钮

8.再从急救系统里重启机子
no-ipmi-reinstall-6.png

要点是:先从web面板里选择好“急救系统”或“重装系统”,再从原来的系统里进行重启,因为当前用户无法从面板对机子进行重启操作。

修改 awstats 报表中的部分汉字和列

环境:Debian9, apache2, awstats
目的:修改awstats报表里的部分汉字和列

过程:

1.通过apt安装的apache2和awstast,awstats的中文文件是在:/usr/share/awstats/lang/awstats-cn.txt

2.根据需求,修改 awstats-cn.txt 中的部分文件,如将“参观人次”修改为“访问人次”,将“网页数”修改为“访问量”
awstats-1.png

3.报表的文件路径是在:/usr/lib/cgi-bin/awstats.pl

4.根据需求,修改报表文件里的内容,如 Show main indicators title row 和 Show data array for month 下边的各项,注释掉其它,保留“参观人次”和“网页页”两例内容
awstats-2.png

5.修改前的报表显示
awstats-3.png

6.修改后的报表显示
awstats-4.png

参考:

通过急救系统里往硬盘里安装 alpine linux

有的用户想使用 alpine linux,但一般主机商没有该系统模板,但一般主机商有提供急救系统(如 system-rescue-cd),可通过急救系统安装 alpine linux。

本例磁盘 /dev/sda1 已有Linux系统。当前 alpine linux 最新版本是 3.8。

过程:

1.mkfs.ext4 /dev/sda1 # 格式化分区

2.resize2fs -s /dev/sda1 # 去掉ext4的64bit,因为引导syslinux不支持
alpine-3.png

3.mount /dev/sda1 /mnt/custom/ # 挂载

4.wget http://dl-cdn.alpinelinux.org/alpine/latest-stable/main/x86_64/apk-tools-static-2.10.1-r0.apk # 下载 alpine linux apk tools

5.tar xzvf apk-tools-static-2.10.1-r0.apk # 解压

6../sbin/apk.static -X http://dl-cdn.alpinelinux.org/alpine/latest-stable/main -U --allow-untrusted --root /mnt/custom/ --initdb add alpine-base # 安装alpine linux

7.cp /etc/resolv.conf /mnt/custom/etc/ # 复制文件resolv.conf,解析域名

8.mkdir -p /mnt/custom/root # 创建用户 root 目录

9.mkdir -p /mnt/custom/etc/apk # 创建 apk 配置目录

10.echo "http://dl-cdn.alpinelinux.org/alpine/latest-stable/main" > /mnt/custom/etc/apk/repositories # 设置apk更新镜像网址

11.创建相应设备目录:

mknod -m 666 /mnt/custom/dev/full c 1 7
mknod -m 666 /mnt/custom/dev/ptmx c 5 2
mknod -m 644 /mnt/custom/dev/random c 1 8
mknod -m 644 /mnt/custom/dev/urandom c 1 9
mknod -m 666 /mnt/custom/dev/zero c 1 5
mknod -m 666 /mnt/custom/dev/tty c 5 0

12.挂载目录

mount -t proc none /mnt/custom/proc
mount -o bind /sys /mnt/custom/sys
mount -o bind /dev /mnt/custom/dev

13.chroot /mnt/custom /bin/sh -l # chroot 到 apline 文件所在目录

14.vi /etc/network/interfaces # 创建IP配置文件

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
  address 144.172.126.32
  netmask 255.255.255.0
  post-up route add 144.172.126.1 dev eth0
  post-up route add default gw 144.172.126.1
  post-down route del default gw 144.172.126.1
  post-down route del 144.172.126.1 dev eth0

15.setup-sshd # 安装openssh

16.passwd # 修改 root 密码

17.adduser liujia -s /bin/ash # 添加普通用户liujia,以可远程登录

18.addgroup liujia wheel # 将用户添加到wheel组,可su

19.设置可启动的服务

rc-update add devfs sysinit
rc-update add dmesg sysinit
rc-update add mdev sysinit
rc-update add hwclock boot
rc-update add modules boot
rc-update add sysctl boot
rc-update add hostname boot
rc-update add bootmisc boot
rc-update add syslog boot
rc-update add mount-ro shutdown
rc-update add killprocs shutdown
rc-update add savecache shutdown
rc-update add networking boot
rc-update add urandom boot
rc-update add acpid default
rc-update add hwdrivers sysinit
rc-update add crond default

20.apk add linux-vanilla syslinux # 安装内核和引导

21.dd bs=440 count=1 if=/usr/share/syslinux/mbr.bin of=/dev/sda # 将mbr引导写到磁盘中

22.extlinux -i /boot

23.blkid /dev/sda1 # 查看设备uid,如本例是:66ea5797-490e-4cf5-8743-61525af5bfbc

24.sed -i -e "s:^root=.*:root=UUID=66ea5797-490e-4cf5-8743-61525af5bfbc:" /etc/update-extlinux.conf # 将磁盘uuid写到启动配置文件中

25.sed -i -e "s:^modules=.*:modules=sd-mod,usb-storage,ext3,ext4:" /etc/update-extlinux.conf # 添加 ext4支持

26.update-extlinux # 更新引导配置

27.echo "UUID=66ea5797-490e-4cf5-8743-61525af5bfbc / ext4 defaults 1 1" > /etc/fstab # 将磁盘信息写到文件系统配置文件中

28.重启机子
alpine-1.png

29.远程ssh连接,正常
alpine-2.png

参考: