[命令] Linux 命令 zgrep (显示压缩文本的行同时不用解压文件)

内容一:zgrep 命令的用法

和 grep 命令相同

内容二:zgrep 命令的选项

和 grep 命令相同,除了以下选项

1) –dereference-recursive 或者 -R
2) –directories 或者 -d
3) –exclude
4) –exclude-from
5) –exclude-dir
6) –include
7) –null 或者 -Z
8) –null-data 或者 -z
9) –recursive 或者 -r

内容三:grep 命令

[步骤] 系统升级 (从 Fedora 40 升级到 Fedora 42)

步骤一:升级所有已安装的软件

# sudo dnf update

步骤二:安装 Fedora 升级软件

# sudo dnf install dnf-plugin-system-upgrade

步骤三:刷新所有现有版本的软件源

# sudo dnf upgrade --refresh

步骤四:下载升级所有所需的软件

# sudo dnf system-upgrade download --releasever=42

步骤五:重启并升级系统

# sudo dnf system-upgrade reboot

(注意:系统会重启,并在后台升级系统,这个步骤可能会持续很长一段时间,根据虚拟机的硬件性能而定)

[步骤] Linux 加密硬盘新解密密码的添加

注意:在新解密密码添加之前需要先加密硬盘

正文:

步骤一:取消加密硬盘的加载

# umount /dev/mysqldatavg/mysqldatalv

步骤二:关闭 LUKS 解密映射 (解锁逻辑卷)

# cryptsetup luksOpen /dev/mapper/mysqldatavg-mysqldatalv mysqldata

之后输入 /dev/mapper/mysqldatavg-mysqldatalv 的解密密码

(补充:这里的 mysqldata 是解锁后的硬件名称)

步骤三:添加新的解密密码

# cryptsetup luksAddKey UUID="2eg8c60ac-103k-4771-k31r-14t93b06226a" --key-file /root/keyfile


补充:
1) 这里的 2eg8c60ac-103k-4771-k31r-14t93b06226a 是新添加的解密密码
2) 这里的 /root/keyfile 是原来的用来解密加密硬盘的密钥

步骤四:开启 LUKS 解密映射 (加密逻辑卷)

# cryptsetup luksOpen UUID="2eg8c60ac-103k-4771-k31r-14t93b06226a"  mysqldatalv


补充:
1) 这里的 2eg8c60ac-103k-4771-k31r-14t93b06226a 是刚刚添加的解密密码
2) 这里的 mysqldata 是解密后的硬件名称

[步骤] Linux 第三方库的添加

步骤一:添加第三方库

# vi /etc/ld.so.conf

或者:

# vi /etc/ld.so.conf.d/*.conf

添加以下内容:

......
/root/lib

(补充:这里以添加位于目录 /root/lib 的库为例)

(注意:这里的 /etc/ld.so.conf.d/*.conf 是指 /etc/ld.so.conf.d/ 目录下任意以 .conf 结尾的文件,例如 /etc/ld.so.conf.d/one.conf)

步骤二:创建新的 initramfs 文件为例

2.1 备份已有的 initramfs 文件

# cp /boot/initramfs-4.18.0-553.89.1.el8_10.x86_64.img  /boot/initramfs-4.18.0-553.89.1.el8_10.x86_64.img.backup


补充:
1) 这里以将:/boot/initramfs-4.18.0-553.89.1.el8_10.x86_64.img 备份为:/boot/initramfs-4.18.0-553.89.1.el8_10.x86_64.img.backup 为例
2) initramfs 是压缩的 cpis 文件,是临时的根文件系统包含一些脚本、程序和配置文件,在 Linux 启动过程中被加载在内存里,负责 Linux 操作系统在挂载根目录前加载内核模块、检查硬件、加载驱动以及挂载真正的根文件系统等)

2.2 创建新的 initramfs 文件

# dracut -f /boot/initramfs-(uname -r).img $(uname -r)

(补充:这里以将正在运行的内核版本生成一个新的 initramfs 为例)

(注意:此时原来启动系统时使用的那个 initramfs 文件会被覆盖)

步骤三:重启系统

# reboot

步骤四:确认第三方库已经添加

4.1 确认在现在的缓存中包含了第三方库

# ldconfig -p -M -X | grep out


补充:
1) 这里的 -N 和 -X 必须一起使用,作用是不更新相关链接和不重建相关缓存
2) 这里的 -p 作用是打印现在在缓存中的相关目录和相关候选库
3) 这条命令会显示目前在缓存中的第三方库

4.2 确认加载的库中没有重复的

# for l in $(ldconfig -p -N -X | awk '{ print $1 }') ; do matches=$(ldconfig -p -N -X | awk "\$1 == \"$l\" { print }"); if [ $(echo "$matches" | wc -l) -ge 2 ]; then echo "$matches"; echo; fi; done |wc -l

(补充:如果加载的库中没有重复的则这里不会有任何输出结果)