liujia 发布的文章

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

参考:

重阳节上东山岭

下午五点半过后,看天不是很暗,路上行人没打雨伞,准备上东山岭。出门前,下了米,通电煲上饭,带了把折叠雨伞,预防半路下雨。

hp-chong-yang-1.jpg

走近“天梯”石阶入口,看见有举旗列队喊话的一队人,估计四、五十个,穿着“红马挂”,似乎是学校共青团的。我小心翼翼地从旁侧行过,怕打搅了这些“小火苗”的热情。上了几个台阶,背后传来歌声,“……我们是共产主义接班人……”

hp-chong-yang-2.jpg

之前下过毛毛雨,但台阶面较粗糙,不见湿,不怕打滑,按常规速度上。

hp-chong-yang-3.jpg

到顶后,见人不多。我从侧边,沿着到后山新筑的水泥路上,边走边看旁边的绿色的山、田。对着电脑一天后,我喜欢找个不远的地方,安静地走走,能看得见远远的绿色景物,出点点汗。

hp-chong-yang-4.jpg

hp-chong-yang-6.jpg

hp-chong-yang-8.jpg

走着,走着,就走到了水泥路的头————老广播站。看到有个吖叔带着两条狗狗查看路旁堆放的、从老路挖出的水泥块。

hp-chong-yang-7.jpg

我看天较暗了,也转头,准备往回走了。远远看山下的楼房,有的已经着灯。

hp-chong-yang-9.jpg

下到“天梯”楼梯,两边的灯已经点着了,断黑入夜了。

hp-chong-yang-10.jpg