12.RedHat认证-Linux文件系统(下)
swap虚拟内存
我加一个硬盘做实验sdc
# 创建交换分区(不用做成逻辑卷也能灵活分区)
[root@centos8 ~]# fdisk /dev/sdc -l
Disk /dev/sdc:10 GiB,10737418240 字节,20971520 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
# 1.创建分区
[root@centos8 ~]# fdisk /dev/sdc -l
Disk /dev/sdc:10 GiB,10737418240 字节,20971520 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xd381acc4
设备 启动 起点 末尾 扇区 大小 Id 类型
/dev/sdc1 2048 10487807 10485760 5G 83 Linux
# 2.格式化分区(mkswap命令)
[root@centos8 ~]# mkswap /dev/sdc1
正在设置交换空间版本 1,大小 = 5 GiB (5368705024 个字节)
无标签,UUID=33ec8385-38c9-4a87-bdde-d4b81d5aab35
[root@centos8 ~]# blki #或者使用blki查看uuid
blkid blkiomon
[root@centos8 ~]# blkid
/dev/sda1: UUID="04d9fb55-39a4-452e-91bf-70a2afd97cae" BLOCK_SIZE="512" TYPE="xfs" PARTUUID="1a69b41a-01"
/dev/sda2: UUID="9Ke5wm-r2Lf-Q6eY-6TxH-bLJe-0bUR-APTMQB" TYPE="LVM2_member" PARTUUID="1a69b41a-02"
/dev/sdb1: UUID="cZfYR9-ctMX-e8kO-J04d-Sl0r-7Kut-hwh882" TYPE="LVM2_member" PARTUUID="8d773471-01"
/dev/sdb2: UUID="IIDc7j-d62j-y1nu-te2X-txbW-t5Cd-nOLiS7" TYPE="LVM2_member" PARTUUID="8d773471-02"
/dev/sdb3: UUID="qzKlTu-QefV-9Rkb-smUS-Lggk-SGbC-4oHx5G" TYPE="LVM2_member" PARTUUID="8d773471-03"
/dev/sdc1: UUID="33ec8385-38c9-4a87-bdde-d4b81d5aab35" TYPE="swap" PARTUUID="d381acc4-01"
/dev/sr0: BLOCK_SIZE="2048" UUID="2024-05-06-05-19-37-00" LABEL="CentOS-Stream-8-BaseOS-x86_64" TYPE="iso9660" PTUUID="4dce3471" PTTYPE="dos"
/dev/mapper/cs-root: UUID="0919b82d-5e30-40c8-9e88-265ac99f379d" BLOCK_SIZE="512" TYPE="xfs"
/dev/mapper/cs-swap: UUID="6a31a188-f951-4ed8-9b38-c20283a4a77c" TYPE="swap"
/dev/mapper/vg2-lv1--ext4: UUID="ca1691eb-99cc-4c08-9117-b3a0930cc5ff" BLOCK_SIZE="1024" TYPE="ext4"
/dev/mapper/vg2-lv1--xfs: UUID="716ce2b2-e474-446f-9df1-b96d406a3878" BLOCK_SIZE="512" TYPE="xfs"
# 3.用uuid实现持续性挂载
# 修改/etc/fatab文件
UUID=33ec8385-38c9-4a87-bdde-d4b81d5aab35 swap swap defaults 0 0
#挂载swap分区
[root@centos8 ~]# swapon -a
[root@centos8 ~]# free -h
total used free shared buff/cache available
Mem: 738Mi 451Mi 48Mi 3.0Mi 238Mi 172Mi
Swap: 7.0Gi 90Mi 6.9Gi
# 卸载swap分区
[root@centos8 ~]# swapoff -a
[root@centos8 ~]# free -h
total used free shared buff/cache available
Mem: 738Mi 517Mi 57Mi 7.0Mi 163Mi 102Mi
Swap: 0B 0B 0B
# 可以指定分区名字,指定卸载或者挂载
[root@centos8 ~]# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Thu May 9 11:16:12 2024
#
# Accessible filesystems, by reference, are maintained under '/dev/disk/'.
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
/dev/mapper/cs-root / xfs defaults 0 0
UUID=04d9fb55-39a4-452e-91bf-70a2afd97cae /boot xfs defaults 0 0
/dev/mapper/cs-swap none swap defaults 0 0
UUID=33ec8385-38c9-4a87-bdde-d4b81d5aab35 swap swap defaults 0 0
[root@centos8 ~]# swapoff /dev/mapper/cs-swap
[root@centos8 ~]# free -h
total used free shared buff/cache available
Mem: 738Mi 522Mi 48Mi 7.0Mi 167Mi 97Mi
Swap: 5.0Gi 0.0Ki 5.0Gi
[root@centos8 ~]# swapon /dev/mapper/cs-swap
[root@centos8 ~]# free -h
total used free shared buff/cache available
Mem: 738Mi 519Mi 62Mi 7.0Mi 156Mi 100Mi
Swap: 7.0Gi 7.0Mi 7.0Gi
装系统时候自定义分区
在安装操作系统的时候,是有一步是可以自定义分区的。
这里的分区分的大小取决于你的服务器是用来干嘛的,比如作为FTP服务器、Web服务器等等,都是有区别的。
实际情况实际分析
根分区要分的大一点(存放着系统)例如20GB
boot分区可以分的多一点(存放着引导分区文件)例如1G
boot分区和根分区必须要选
Linux网络文件系统使用(NFS)
至少准备两台服务器,一台客户端、一台服务端。
客户端和服务端都必须安装 nfs-utils
这里为了方便理解,我准备了两台服务器,一台server 一台client
serverIP 192.168.190.130
ClientIP 192.168.190.132
# 1. 客户端和服务端都有nfs服务
[root@nfs-server ~]# rpm -qa | grep nfs
nfs-utils-2.3.3-59.el8.x86_64
[root@nfs-client ~]# rpm -qa | grep nfs
nfs-utils-2.3.3-59.el8.x86_64
# 2.在服务端添加一个新的硬盘作为NFS分区,提供服务,然后分区完,格式化
# 我这里分区了一个3G的空间作为NFS网络文件系统(当然,你也可以把他作成逻辑卷,再使用也是可以的,建议做成逻辑卷)
# 这里为了演示方便,我就不做逻辑卷了,直接分区。
/dev/sdc2 2048 10487807 10485760 3G 83 Linux
# 这里格式化成ext4格式的文件系统
[root@nfs-server ~]# mkfs.ext4 /dev/sdc2
mke2fs 1.45.6 (20-Mar-2020)
创建含有 786432 个块(每块 4k)和 196608 个inode的文件系统
文件系统UUID:b9707fc9-107e-46ff-a6c6-522f90bff7ad
超级块的备份存储于下列块:
32768, 98304, 163840, 229376, 294912
正在分配组表: 完成
正在写入inode表: 完成
创建日志(16384 个块)完成
写入超级块和文件系统账户统计信息: 已完成
# 3. 你想将这个共享给别人,你就得挂载上,才能共享出去
# 创建挂载点,进行挂载
[root@nfs-server ~]# mkdir /nfs-share
[root@nfs-server ~]# mount /dev/sdc2 /nfs-share/
[root@nfs-server ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 340M 0 340M 0% /dev
tmpfs tmpfs 370M 0 370M 0% /dev/shm
tmpfs tmpfs 370M 11M 359M 3% /run
tmpfs tmpfs 370M 0 370M 0% /sys/fs/cgroup
/dev/mapper/cs-root xfs 17G 5.7G 12G 34% /
/dev/sda1 xfs 1014M 273M 742M 27% /boot
tmpfs tmpfs 74M 12K 74M 1% /run/user/42
tmpfs tmpfs 74M 0 74M 0% /run/user/0
/dev/sdc2 ext4 2.9G 24K 2.8G 1% /nfs-share
# 4.配置共享文件/etc/exports
# 可以通过 man 5 exports 查看配置示例(这些示例都可以用,研究研究)
EXAMPLE
# sample /etc/exports file
/ master(rw) trusty(rw,no_root_squash)
/projects proj*.local.domain(rw)
/usr *.local.domain(ro) @trusted(rw)
/home/joe pc001(rw,all_squash,anonuid=150,anongid=100)
/pub *(ro,insecure,all_squash)
/srv/www -sync,rw server @trusted @external(ro)
/foo 2001:db8:9:e54::/64(rw) 192.0.2.0/24(rw)
/build buildhost[0-9].local.domain(rw)
[root@nfs-server ~]# vim /etc/exports
------------------------
# 写入以下内容(这里是参考的第8条 /foo)以IPv4的形式共享出去
/nfs-share 192.168.190.0/24(rw) # 共享给指定的【网段】,有rw权限。
-------------------------
# 5.启动nfs服务,关闭防火墙、和 Selinux
[root@nfs-server ~]# systemctl restart nfs-server.service
[root@nfs-server ~]# systemctl stop firewalld.service
[root@nfs-server ~]# setenforce 0
[root@nfs-server ~]# exportfs #使用该命令,可以看到当前挂载服务列表
/nfs-share 192.168.190.132/24
# 6.配置客户端
# 配置客户端挂载点
[root@nfs-client ~]# mkdir /nfs-mountpoint
[root@nfs-client ~]# mount -t nfs 192.168.190.130:/nfs-share /nfs-mountpoint/
# 上面这一条命令式用-t指定文件服务系统是nfs,后面跟着提供服务的服务地址,和 ,服务挂载点,最后是客户端的挂载点地址。
# df -Th 就可以看到网络文件系统
[root@nfs-client ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 340M 0 340M 0% /dev
tmpfs tmpfs 370M 0 370M 0% /dev/shm
tmpfs tmpfs 370M 11M 359M 3% /run
tmpfs tmpfs 370M 0 370M 0% /sys/fs/cgroup
/dev/mapper/cs-root xfs 17G 5.7G 12G 34% /
/dev/sda1 xfs 1014M 273M 742M 27% /boot
tmpfs tmpfs 74M 36K 74M 1% /run/user/1000
/dev/sr0 iso9660 13G 13G 0 100% /run/media/admin/CentOS-Stream-8-BaseOS-x86_64
192.168.190.130:/nfs-share nfs4 2.9G 0 2.8G 0% /nfs-mountpoint
# 提升【其他人】的写权限
[root@nfs-server ~]# chmod o+w /nfs-share/
[root@nfs-server ~]# ls -ld /nfs-share/
drwxr-xrwx. 3 root root 4096 5月 30 19:29 /nfs-share/
# 然后就可以在客户端的挂载点里写文件了
[root@nfs-client ~]# cd /nfs-mountpoint/
[root@nfs-client nfs-mountpoint]# touch test
[root@nfs-client nfs-mountpoint]# ls
lost+found test
# 在客户端这边写的文件,同时在服务端哪里也能看到
[root@nfs-server ~]# ls /nfs-share/
lost+found test
# 最后,实现持久性挂载,(其实就是修改/etc/fstab文件)
vim /etc/fstab
192.168.190.130:/nfs-share /nfs-mountpoint nfs defaults 0 0
# 重启后依然会自动挂载
root密码破解
重启系统,选第二个带rescue 的,按e进入救援模式
1、开关SELINUX方式不同,9.0改变了操作方法。
2、破解密码操作流程中选择的启动菜单不同。9.0需选择含rescue的
rd.break
然后按ctrl+x保存当前设置
以rw的形式挂载sysroot
mount -o rw,remount /sysroot
chroot /sysroot
# 切换根
然后直接输入passwd root 改密码即可
注意:如果你的Selinux是开启的状态,你就需要touch一个文件
如果你的Selinux没开启,那你就不用touch这个文件。
touch /.autorelabel #这是为了让Selinux给系统上的文件重新打上安全上下文的标签。
然后,输入两次exit ,重启系统。
以root用户,成功进入系统
Linux文件的归档(tar)
gzip用的最多
gzip [指定文件]
[root@nfs-server ~]# gzip test
[root@nfs-server ~]# ls
anaconda-ks.cfg initial-setup-ks.cfg test.gz
#gunzip 解压缩
[root@nfs-server ~]# gunzip test.gz
[root@nfs-server ~]# ls
anaconda-ks.cfg initial-setup-ks.cfg test
# 仅能压缩文件,不能压缩目录。
使用tar命令打包
# c 表示打包,v 显示详细信息,f必须要有
# 打包后的源文件存在
[root@nfs-server ~]# tar -cvf demo.tar demo/
demo/
demo/11
demo/22
demo/3
# 解包 x 表示解压包
[root@nfs-server ~]# tar -xvf demo.tar
demo/
demo/11
demo/22
demo/3
打包后的大小并没有被压缩,所以要配合gzip来使用压缩。
# 连打包带压缩;
# 使用-z 参数,
[root@nfs-server ~]# tar -zcvf demo.tar.gz demo
# 解压缩
[root@nfs-server ~]# tar -zxvf demo.tar.gz