RHCE
- 一、复习RHCSA
- 1.1 系统安装
- 1.1.1 安装虚拟机
- 1.1.2 第一个快照
- 1.1.3 第二个快照
- vi编辑器
- 1.1.4 看网关网卡
- 1.2 文件管理
- 1.3 目录管理
- 1.4 用户管理
- 1.5 权限管理
- 1.6 存储管理
- 1.6.1 标准分区管理实验:
- 1.6.2 逻辑卷管理实验:
- 1.6.3 交换空间管理实验
- 1.7 软件管理
- 1.7.1 rpm管理实验
- 找到安装包
- 安装、卸载
- 1.7.2 仓库管理实验
- 本地仓库
- 网络仓库
- 1.8 服务进程
- 1.9 网络管理
- 二、
一、复习RHCSA
系统安装
文件管理
文件创建
touch vim nano echo 重定向>
文件查看
cat tac more less head tail
修改
vim nano echo >>>> 追加、覆盖
移动
mv a b
复制
cp a b
删除
rm -r:递归删除,-f:强制
目录管理
目录创建 mkdir
目录删除 rmdir
rm -d:删除空目录 rm -f:强制删除 rm -r:递归删除
用户管理
用户管理
用户添加 useradd adduser
删除 userdel -r 递归
修改 usermod USERNAME
查看 id USERNAME
用户组管理
添加 groupadd
删除 groupdel
修改 groupmod
查看 grep GROUPNAME /etc/group
涉及到的文件
/etc/passwd 存储系统中所有用户的基本信息
/etc/shadow 保存用户密码
/etc/group 储存用户组信息
/etc/gshadow 保存组的密码信息
/etc/skel 用户家目录下的相关隐藏文件
/etc/default/useradd 创建用户的相关信息
/etc/login.defs
/var/spool/mail
权限管理
标准权限管理
文件 目录
r 可以读取 列出目录
w 可以修改 创建删除目录中的文件
x 可执行 可切换
chmod(修改权限) u g o a
+ - =
扩展权限
文件访问控制列表
setfacl
getfacl
特殊权限
suid 实现目标可执行程序在运行之后形成的进程的所有者为可执行程序的所有者,而不是发起者
sgid 实现目录中创建的文件默认所属组为目标所属组
sticky 实现目录中的文件只有创建者可以删除
权限掩码
umask
0022
1234
1:特殊权限的权限掩码
234:标准权限的权限掩码
文件属性
i a
chattr
lsattr
文件所有者和所属组
chown
chgrp
存储管理
标准的存储管理
主分区 1-4
扩展分区
逻辑分区 5....
硬盘sata sda sda1 sda2 sdb sdc
硬盘nvme nvme0n1 nvme0n1p1 nvme0n1p2 nvme0n2
光盘sr0
逻辑卷管理
交换空间管理
自动挂载
软件管理
rpm(直接启用指定管理安装包)
dnf
源码安装
服务进程
网络管理
1.1 系统安装
1.1.1 安装虚拟机
创建一个虚拟机,密码:redhat
1.1.2 第一个快照
关机命令:
systemctl poweroff
1.1.3 第二个快照
vi编辑器
在 windows 中我们有记事本,word 等可视化的文本编辑工具可以使用,但在 Linux 中给我们内置的就只有 vi 编辑器,它的作用就类似于 windows 中的记事本。
使用 vim 来进行文件的编辑(包括创建、修改)。
在Vim编辑器中设置了三种模式:命令模式、末行模式 和 编辑模式
进入vim模式后,即可编辑内容。退出时,点击wsc,输入冒号+命令即可退出
:q 退出
:q!强制退出
:wq 保存退出
命令模式:
这是 vim 进入后的默认模式。在这个模式下,可以执行如下的命令:
- 光标跳转:
1. 通过上下左右键来进行移动
2. gg 用于回到文件开头(连续按两次 g 键)
3. G 用于回到文件的结尾(shift + g)
4. 将当前光标所在位置移动到行首和行尾按^(行首)和$(行尾)
5. 按单词进行向后移动,按 w,如果希望按单词几前则按 b - 复制:
1. yy表示复制,nyy表示复制 n 行(从光标所以位置向后计算)
2. p表示粘贴所复制的内容 - 删除:
1. u表示撤销当前的操作
2. dd表示删除光标所在行,ndd表示删除从光标所在行向后计算 n 行,dG 表示从当前光标删除后最后,dgg表示从当前光标删除到最前
编辑模式:
编辑模式也叫插入模式,当我们在命令模式下按 aios 或者 AIOS 这几个键时,就会从命令模式转换为编辑模式。
i:表示在将前插入
a:表示在光标后插入
I:表示在非空行前插入
A:表示在非空行后插入
o:表示在光标所在行的下一行插入
O:表示在光标所在行的上一行插入
s:表示删除插入
S:表示删除行插入
末行模式:
- 文档保存并退出 :wq shift+zz
- 文件保存 :w
- 退出 :q :q!
- 另存为 :w 文件路径
- 将指定的文件写入到该文件中 :r 文件路径
- 执行关键字搜索 /输入要搜索的关键字 找到后按 n 向后查找,按 N 向前查找
- 搜索替换 :%s/被替换的关键字/替换的内容/gi g表示全局替换,i表示不区分大小写
- 只替换某一行 :3,12s/root/admin/g 表示替换3到 12 行所有 root 为 admin
- 显示行号 :set nu
- 关闭行号 :set nonu
- 取消高亮 :noh
安装仓库:
cd /etc/yum.repos.d/
vim rpm.repo
[baseos]
name=baseos
baseurl=/mnt/BaseOS
gpgcheck=0
[appstream]
name=appstream
baseurl=/mnt/AppStream
gpgcheck=0
输入完命令,esc退出输入模式,进入命令模式输入:wq回车,保存退出
mount /dev/sr0 /mnt
安装一个软件测试是否安装仓库成功
dnf install httpd -y
成功后删除软件
[root@localhost yum.repos.d]# dnf remove httpd -y
关机
init 0
1.1.4 看网关网卡
DNS
GATEWAY
nmcli connection show ens160 | grep DNS
nmcli connection show ens160 | grep GATEWAY
1.2 文件管理
文件管理
文件创建
touch vim nano echo 重定向>
文件查看
cat tac more less head tail
修改
vim nano echo >>>> 追加、覆盖
移动
mv a b
复制
cp a b
删除
rm -r:递归删除,-f:强制
文件类型:
-f 普通文件,它是使用短横线(-)表示
-d 目录文件,它是使用(d)表示
-l 链接文件,它是使用(l)表示
-s 套接字文件,它是使用(s)表示
-b 块设备文件,它是使用(b)表示
-c 字符设备文件,它是使用(c)表示
-p 管道文件,它是使用(p)表示
1.3 目录管理
目录管理
目录创建 mkdir
目录删除 rmdir
rm -d:删除空目录 rm -f:强制删除 rm -r:递归删除
1.4 用户管理
用户管理
用户管理
用户添加 useradd adduser
删除 userdel -r 递归
修改 usermod USERNAME
查看 id USERNAME
用户组管理
添加 groupadd
删除 groupdel
修改 groupmod
查看 grep GROUPNAME /etc/group
涉及到的文件
/etc/passwd 存储系统中所有用户的基本信息
/etc/shadow 保存用户密码
/etc/group 储存用户组信息
/etc/gshadow 保存组的密码信息
/etc/skel 用户家目录下的相关隐藏文件
/etc/default/useradd 创建用户的相关信息
/etc/login.defs
MAIL_DIR /var/spool/mall 普通账号、root账号,以及所有账号的邮箱都在这个路径底下,路径是由MAIL_DIR这个变量进行控制,即指定了创建的账号的邮箱所在地
UMASK 022 权限掩码
HOME MODE 0700 当创建用户的时候,会自动创建这个用户的家目录,这个用户默认的家目录的权限是0700 0(特殊权限)700(所属组及其他人都没有权限)
PASS_MAX_DAYS 9999 密码最大使用时间
PASS_MIN_DAYS 0 即随时都可以用
PASS_WARN_AGE 7 密码有效警告时间(在最大值-7天之后不改密码就警告)
UID_MIN 1000
UID_MAX 60000
SYS_UID_MIN 201
SYS_UID_MAX 999
ENCRYPT_METHOD SHA512 密码加密方式SHA512
USERGROUPS_ENAB yes 在删除某个账号以后,如果这个组内没有其他成员了,就用这个功能启用
....
/var/spool/mail
/etc/passwd :存储系统中 所有用户的基本信息
/etc/shadow :保存 用户密码
/etc/group :储存 用户组信息
/etc/gshadow: 保存 组的密码 信息
/etc/skel :用户家目录下的相关隐藏文件
/etc/default/useradd :创建 用户的相关信息
/etc/login.defs:
/var/spool/mail:
/etc/skel :用户家目录下的相关隐藏文件
当创建一个账号,就会从这个目录将这些文件拷贝到用户的家目录里面
这个普通账号redhat中有三个文件一个目录,来自于/etc/skel
如果想给某些新创建的用户发布一些文件,就可把文件放到/etc/skel中去,当用户创建完成后,即可在该账号的家目录下看见这些文件
/etc/default/useradd :创建 用户的相关信息
里面有些参数在使用useradd创建用户的时候需要遵守的规则
组
家目录所在地
账号有限期
过期时间
默认shell
默认从哪里拷文件
要不要创建CREATE_MAIL_SPOOL
1.5 权限管理
权限管理
标准权限管理
文件 目录
r 可以读取 列出目录
w 可以修改 创建删除目录中的文件
x 可执行 可切换
chmod(修改权限) u g o a
+ - =
扩展权限
文件访问控制列表
setfacl
getfacl
特殊权限
suid 实现目标可执行程序在运行之后形成的进程的所有者为可执行程序的所有者,而不是发起者
sgid 实现目录中创建的文件默认所属组为目录所属组
sticky 实现目录中的文件只有创建者可以删除
权限掩码(可以通过修改它来改变所创建的文件或目录的默认权限属性)
umask查看默认权限:
0022
1234
1(0):特殊权限的权限掩码
234(022):标准权限的权限掩码
文件属性
i a
chattr
lsattr
文件所有者和所属组
chown
chgrp
文件的访问允许权限共有9种,分别是:rwxrwxrwx
它们分别代表:用户读 用户写 用户执行 组读 组写 组执行 其它读 其它写 其它执行
chmod 命令是用于给文件或目录设置权限
如果是目录,我们需要使用 -R 选项,表示递归修改指定目录下所有文件及其子目录的权限,如果是文件这个选项可以不用指定。使用这个命令我们可以使用 rwx 或者数字来表示权限,还可以通过 u、g、o、a 来表示对那个部分设置权限。
chown 命令是用于给文件或目录修改所属者和所属组权限
如果只修改所属者则使用 chown新所属者 文件或目录… ,如果只修改所属组则使用 chown :新所属组 文件或目录…`。
u 表示所属者 ueser
g 表示所属组 group
o 表示其他用户 other
a 表示(u+g+o) all
普通文件起始创建的权限:0666
目录文件起始创建的权限:0777
1.6 存储管理
存储管理
标准的存储管理
主分区 编号:1-4
扩展分区(不能直接使用)
逻辑分区 5....
硬盘sata sda sda1 sda2... sdb sdc...
硬盘nvme nvme0n1 nvme0n1p1... nvme0n1p2 nvme0n2...
光盘sr0
逻辑卷管理
交换空间管理
自动挂载
1.6.1 标准分区管理实验:
建立分区:fdisk
查看磁盘信息: lsblk
分区格式化: mkfs
查看分区 id 号: blkid
分区挂载: mount
卸载:umount
添加磁盘:
SATA接口:
NVME接口:
将虚拟磁盘存储为单个文件
创建分区命令:
fdisk /dev/sda
# 查看硬盘 sda、nvme0n2
[root@localhost ~]# ll /dev/sda*
brw-rw----. 1 root disk 8, 0 Oct 15 10:25 /dev/sda
[root@localhost ~]# ll /dev/nvme0n2*
brw-rw----. 1 root disk 259, 3 Oct 15 10:25 /dev/nvme0n2
[root@localhost ~]# fdisk -l
Disk /dev/nvme0n1: 50 GiB, 53687091200 bytes, 104857600 sectors
Disk model: VMware Virtual NVMe Disk
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x73c546dd
Device Boot Start End Sectors Size Id Type
/dev/nvme0n1p1 * 2048 2099199 2097152 1G 83 Linux
/dev/nvme0n1p2 2099200 104857599 102758400 49G 8e Linux LVM
Disk /dev/nvme0n2: 20 GiB, 21474836480 bytes, 41943040 sectors
Disk model: VMware Virtual NVMe Disk
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 sectors
Disk model: VMware Virtual S
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/mapper/rhel-root: 44.17 GiB, 47429189632 bytes, 92635136 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/mapper/rhel-swap: 4.82 GiB, 5179965440 bytes, 10117120 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
[root@localhost ~]# ll /dev/sda
brw-rw----. 1 root disk 8, 0 Oct 15 10:25 /dev/sda
# 对硬盘sda 建立分区
[root@localhost ~]# fdisk /dev/sda
Welcome to fdisk (util-linux 2.37.4).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0xf3762818.
Command (m for help): n # 建立新的分区 sda2
Partition type
p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
Select (default p): p #输入p
Partition number (1-4, default 1): #回车
First sector (2048-41943039, default 2048): #回车
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-41943039, default 41943039): +10G #输入分区大小
Created a new partition 1 of type 'Linux' and of size 10 GiB.
Command (m for help): n 再次新建分区
Partition type
p primary (1 primary, 0 extended, 3 free)
e extended (container for logical partitions)
Select (default p): e # 新建逻辑分区
# 主分区编号:1-4
#逻辑分区编号:5...
Partition number (2-4, default 2):
First sector (20973568-41943039, default 20973568):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (20973568-41943039, default 41943039): +2G
Created a new partition 2 of type 'Extended' and of size 2 GiB.
Command (m for help): n # 建立新的分区 sda3
Partition type
p primary (1 primary, 1 extended, 2 free)
l logical (numbered from 5)
Select (default p): p
Partition number (3,4, default 3):
First sector (25167872-41943039, default 25167872):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (25167872-41943039, default 41943039): +5G
Created a new partition 3 of type 'Linux' and of size 5 GiB.
Command (m for help): p #打印磁盘空间
Disk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 sectors
Disk model: VMware Virtual S
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xf3762818
Device Boot Start End Sectors Size Id Type
/dev/sda1 2048 20973567 20971520 10G 83 Linux #主分区
/dev/sda2 20973568 25167871 4194304 2G 5 Extended #逻辑分区
/dev/sda3 25167872 35653631 10485760 5G 83 Linux #主分区
Command (m for help): w #保存退出
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
[root@localhost ~]# ll /dev/sd*
brw-rw----. 1 root disk 8, 0 Oct 15 10:30 /dev/sda
brw-rw----. 1 root disk 8, 1 Oct 15 10:30 /dev/sda1
brw-rw----. 1 root disk 8, 2 Oct 15 10:30 /dev/sda2
brw-rw----. 1 root disk 8, 3 Oct 15 10:30 /dev/sda3
# 格式化
[root@localhost ~]# mkfs.xfs /dev/sda1
meta-data=/dev/sda1 isize=512 agcount=4, agsize=655360 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1 bigtime=1 inobtcount=1 nrext64=0
data = bsize=4096 blocks=2621440, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=16384, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@localhost ~]# mkfs.ext4 /dev/sda3
mke2fs 1.46.5 (30-Dec-2021)
Creating filesystem with 1310720 4k blocks and 327680 inodes
Filesystem UUID: de02aadf-0565-4872-8e2f-65dd34c21952
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736
Allocating group tables: done
Writing inode tables: done
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done
[root@localhost ~]# mkdir /xfs
[root@localhost ~]# mkdir /ext4
# 挂载
[root@localhost ~]# mount /dev/sda1 /xfs
[root@localhost ~]# mount /dev/sda3 /ext4
分区挂载实例:
# 将 /dev/sda1 设备挂载到 /guazai1 目录
[root@bogon ~]# mount /dev/sda1 /guazai1
1.6.2 逻辑卷管理实验:
逻辑卷由以下几个部分组成:
- 物理设备,一般指的是系统存储设备,如:/dev/sda1、/dev/sda2等
- 物理卷(physical volume, PV),它是由多个分区或整个硬盘组成
- 卷组(Volume Group),简称 VG,它可以看成单独的逻辑磁盘,一个卷组中至少包括一个 PV,
- 在卷组创建好后,可以动态添加 PV 到卷组中。
- 逻辑卷(Logical Volume),简称 LV,相当于物理分区,它是建立在卷组之上。
[root@localhost ~]# umount /xfs
[root@localhost ~]# umount /ext4
[root@localhost ~]# ll /dev/sd*
brw-rw----. 1 root disk 8, 0 Oct 16 14:21 /dev/sda
brw-rw----. 1 root disk 8, 1 Oct 16 14:21 /dev/sda1
brw-rw----. 1 root disk 8, 2 Oct 16 14:21 /dev/sda2
brw-rw----. 1 root disk 8, 3 Oct 16 14:21 /dev/sda3
[root@localhost ~]# fdisk /dev/sda
Welcome to fdisk (util-linux 2.37.4).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): p
Disk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 sectors
Disk model: VMware Virtual S
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xf3762818
Device Boot Start End Sectors Size Id Type
/dev/sda1 2048 20973567 20971520 10G 83 Linux
/dev/sda2 20973568 25167871 4194304 2G 5 Extended
/dev/sda3 25167872 35653631 10485760 5G 83 Linux
Command (m for help): d # 删除三个分区sda1、sda2、sda3
Partition number (1-3, default 3):
Partition 3 has been deleted.
Command (m for help): d
Partition number (1,2, default 2):
Partition 2 has been deleted.
Command (m for help): d
Selected partition 1
Partition 1 has been deleted.
Command (m for help): p
Disk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 sectors
Disk model: VMware Virtual S
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xf3762818
Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
[root@localhost ~]# ll /dev/sd*
brw-rw----. 1 root disk 8, 0 Oct 16 14:28 /dev/sda
# 两块磁盘可使用
[root@localhost ~]# ll /dev/sda*
brw-rw----. 1 root disk 8, 0 Oct 16 14:28 /dev/sda
[root@localhost ~]# ll /dev/nvme0n2
brw-rw----. 1 root disk 259, 3 Oct 16 14:21 /dev/nvme0n2
# 创建一个vg(卷组),vgreate、vgtest作为卷组名称
[root@localhost ~]# vgcreate vgtest /dev/sda /dev/nvme0n2
WARNING: dos signature detected on /dev/sda at offset 510. Wipe it? [y/n]: y #在磁盘上发现一些东西,是否清理
Wiping dos signature on /dev/sda.
Physical volume "/dev/sda" successfully created.
Physical volume "/dev/nvme0n2" successfully created.
Volume group "vgtest" successfully created # 创建成功
[root@localhost ~]# lvcreate -n lvtest -L 30G vgtest # 名称lvtest,大小30G,使用vgtest这个卷组
WARNING: xfs signature detected on /dev/vgtest/lvtest at offset 0. Wipe it? [y/n]: y
Wiping xfs signature on /dev/vgtest/lvtest.
Logical volume "lvtest" created.
[root@localhost ~]# lvs #查看lv
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root rhel -wi-ao---- 44.17g
swap rhel -wi-ao---- 4.82g
lvtest vgtest -wi-a----- 30.00g ##新创建
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
rhel 1 2 0 wz--n- <49.00g 0
vgtest 2 1 0 wz--n- 39.99g 9.99g ##新创建
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/nvme0n1p2 rhel lvm2 a-- <49.00g 0
/dev/nvme0n2 vgtest lvm2 a-- <20.00g 9.99g
/dev/sda vgtest lvm2 a-- <20.00g 0 ##新创建
[root@localhost ~]# mkfs.xfs /dev/mapper/vgtest-lvtest #格式化
meta-data=/dev/mapper/vgtest-lvtest isize=512 agcount=4, agsize=1966080 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1 bigtime=1 inobtcount=1 nrext64=0
data = bsize=4096 blocks=7864320, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=16384, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@localhost ~]# mkdir /lvm
[root@localhost ~]# mount /dev/mapper/vgtest-lvtest /lvm #挂载
[root@localhost ~]# df -h /lvm
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/rhel-root 45G 4.7G 40G 11% /
1.6.3 交换空间管理实验
[root@localhost ~]# umount /lvm
umount: /lvm: not mounted.
[root@localhost ~]# lvremove /dev/vgtest/lvtest
Volume group "vgtest" not found
Cannot process volume group vgtest
[root@localhost ~]# vgremove vgtest
Volume group "vgtest" not found
Cannot process volume group vgtest
[root@localhost ~]# pvremove /dev/sda
Cannot use /dev/sda: device is not in devices file
[root@localhost ~]# pvremove /dev/nvme0n2
Cannot use /dev/nvme0n2: device is not in devices file
[root@localhost ~]# vgcreate vgswap /dev/sda /dev/nvme0n2
Cannot use /dev/sda: device is partitioned
Command requires all devices to be found.
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
rhel 1 2 0 wz--n- <49.00g 0
[root@localhost ~]# lvreate -n lvswap -L 30G vgswap
bash: lvreate: command not found...
Failed to search for file: /mnt/BaseOS was not found
[root@localhost ~]# mkswap /dev/mapper/vgswap-lvswap
mkswap: cannot open /dev/mapper/vgswap-lvswap: No such file or directory
[root@localhost ~]# free -m
total used free shared buff/cache available
Mem: 9492 1509 7514 21 741 7982
Swap: 4939 0 4939
[root@localhost ~]# swapon -s
Filename Type Size Used Priority
/dev/dm-1 partition 5058556 0 -2
[root@localhost ~]# swapon /dev/mapper/vgswap-lvswap
swapon: cannot open /dev/mapper/vgswap-lvswap: No such file or directory
[root@localhost ~]# swapon -s
Filename Type Size Used Priority
/dev/dm-1 partition 5058556 0 -2
[root@localhost ~]# free -m
total used free shared buff/cache available
Mem: 9492 1510 7513 21 741 7981
Swap: 4939 0 4939
[root@localhost ~]# blkid
/dev/mapper/rhel-swap: UUID="ef4e9ee5-c40b-4cc7-a08e-f1e8e92f1d0b" TYPE="swap"
/dev/nvme0n1p1: UUID="3b867212-e739-4c55-9edb-07a4c6133743" TYPE="xfs" PARTUUID="73c546dd-01"
/dev/nvme0n1p2: UUID="MHxLRQ-Iyzk-5di3-AMT0-gYYU-kKbb-g8DeFQ" TYPE="LVM2_member" PARTUUID="73c546dd-02"
/dev/sr0: UUID="2023-10-25-09-17-25-00" LABEL="RHEL-9-3-0-BaseOS-x86_64" TYPE="iso9660" PTUUID="ece57f7f" PTTYPE="dos"
/dev/mapper/rhel-root: UUID="4274fde4-921f-4120-8d07-feb52d4e3503" TYPE="xfs"
/dev/sda2: PARTUUID="c130813b-02"
/dev/sda1: PARTUUID="c130813b-01"
[root@localhost ~]# vim etc/fstab
[root@localhost ~]# reboot
[root@localhost ~]# Connection closing...Socket close.
Connection closed by foreign host.
Disconnected from remote host(192.168.30.128:22) at 16:51:07.
Type `help' to learn how to use Xshell prompt.
[C:\~]$ ssh root@192.168.30.128
Connecting to 192.168.30.128:22...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.
Activate the web console with: systemctl enable --now cockpit.socket
Register this system with Red Hat Insights: insights-client --register
Create an account or view all your systems at https://red.ht/insights-dashboard
Last login: Sun Oct 13 16:06:09 2024 from 192.168.30.1
[root@localhost ~]# swapon -s
Filename Type Size Used Priority
/dev/dm-1 partition 5058556 0 -2
[root@localhost ~]# free -m
total used free shared buff/cache available
Mem: 9492 1018 8223 15 513 8474
Swap: 4939 0 4939
1.7 软件管理
软件管理
rpm(直接启用指定管理安装包)
找到安装包
安装、卸载 rpm -i:install, -e:erase擦除
dnf
源码安装
在 Linux 中安装软件分为以下三种方式:
- rpm包安装
- yum/dnf安装
- 源码安装
1.7.1 rpm管理实验
找到安装包
//根下mnt
[root@localhost ~]# ll /mnt
total 0
drwxr-xr-x. 2 root root 6 Oct 12 14:08 hgfs
[root@localhost ~]# mount /dev/sr0 /mnt #将 sr0 挂载到/mnt,即可在mnt目录下看到如下内容
mount: /mnt: WARNING: source write-protected, mounted read-only.
[root@localhost ~]# ll /mnt
total 44
drwxr-xr-x. 1 root root 2048 Oct 25 2023 AppStream ##所有rpm包所在目录
drwxr-xr-x. 1 root root 2048 Oct 25 2023 BaseOS ##所有rpm包
drwxrwxr-x. 1 root root 2048 Oct 25 2023 EFI
-r--r--r--. 1 root root 8154 Oct 25 2023 EULA
-r--r--r--. 1 root root 1455 Oct 25 2023 extra_files.json
-r--r--r--. 1 root root 18092 Oct 25 2023 GPL
drwxrwxr-x. 1 root root 2048 Oct 25 2023 images
drwxrwxr-x. 1 root root 2048 Oct 25 2023 isolinux
-r--r--r--. 1 root root 103 Oct 25 2023 media.repo
-r--r--r--. 1 root root 1669 Oct 25 2023 RPM-GPG-KEY-redhat-beta
-r--r--r--. 1 root root 3682 Oct 25 2023 RPM-GPG-KEY-redhat-release
[root@localhost ~]# mkdir /rpm //根目录底下创建一个rpm的目录
//将/mnt底下的/AppStream/、/BaseOS/,拷贝到/rpm/目录下
[root@localhost ~]# cp /mnt/AppStream/ /rpm/ -r
[root@localhost ~]# cp /mnt/BaseOS/ /rpm/ -r
//将rpm目录下的/AppStream、/BaseOS作为仓库,供后续的dnf使用
//查看是否拷贝过来了
[root@localhost ~]# ll /rpm
total 0
drwxr-xr-x. 3 root root 22 Oct 16 15:07 AppStream
drwxr-xr-x. 4 root root 38 Oct 16 15:04 BaseOS
[root@localhost ~]# tree /rpm
/rpm
├── AppStream
│ ├── Packages
│ │ ├── 389-ds-base-2.3.6-3.el9_3.x86_64.rpm
│ │ ├── 389-ds-base-libs-2.3.6-3.el9_3.x86_64.rpm
//.......后续所展示的为软件包
//切换用户,关注一个叫 Packages 的目录,这个目录里面有大量的软件包
[root@localhost ~]# cd /rpm/BaseOS/
[root@localhost BaseOS]# ll
total 92
drwxr-xr-x. 2 root root 61440 Oct 16 15:04 Packages ####
drwxr-xr-x. 2 root root 4096 Oct 16 15:04 repodata
........
[root@localhost BaseOS]# cd Packages/
[root@localhost Packages]# ll
total 1310536
-r--r--r--. 1 root root 84797 Oct 16 15:04 accel-config-3.5.3-2.el9.i686.rpm
-r--r--r--. 1 root root 81657 Oct 16 15:04 accel-config-3.5.3-2.el9.x86_64.rpm
安装、卸载
//通过rpm命令安装软件包zsh-5.8-9.el9.x86_64.rpm
[root@localhost Packages]# rpm -i zsh-5.8-9.el9.x86_64.rpm
warning: zsh-5.8-9.el9.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
[root@localhost Packages]# rpm -qa | grep zsh
zsh-5.8-9.el9.x86_64
//删除安装包
[root@localhost Packages]# rpm -e zsh
[root@localhost Packages]# rpm -qa | grep zsh
1.7.2 仓库管理实验
紧接上续实验
//查看是否拷贝完成
[root@localhost Packages]# cd
[root@localhost ~]# ll /rpm/BaseOS/Packages/ | wc -l
1157
[root@localhost ~]# ll /rpm/AppStream/Packages/ | wc -l
5658
本地仓库
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ll
total 8
-rw-r--r--. 1 root root 358 Oct 16 15:42 redhat.repo
-rw-r--r--. 1 root root 104 Oct 16 15:52 rpm.bendi.repo
[root@localhost yum.repos.d]# rm -rf *
[root@localhost yum.repos.d]# cd
//安装一个软件包
[root@localhost ~]# dnf install httpd -y
Updating Subscription Management repositories.
Unable to read consumer identity
This system is not registered with an entitlement server. You can use subscription-manager to register.
Error: There are no enabled repositories in "/etc/yum.repos.d", "/etc/yum/repos.d", "/etc/distro.repos.d".
//表示这几个目录底下没有找到对应的启用的仓库
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ll
total 4
-rw-r--r--. 1 root root 358 Oct 16 16:01 redhat.repo//redhat.repo表示仓库的文件名的格式,即.repo结尾
[root@localhost yum.repos.d]# vim redhat.repo //其中内容表示,是基于认证的仓库,是由红帽的版本管理器生成的
//自己创建仓库的文件 bendi.repo
[root@localhost yum.repos.d]# vim bendi.repo
//###
[baseos]
name=baseos
baseurl=/rpm/BaseOS
gpgcheck=0
[appstream]
name=appstream
baseurl=/rpm/AppStream
gpgcheck=0
//###
//dnf安装
[root@localhost yum.repos.d]# ll
total 8
-rw-r--r--. 1 root root 113 Oct 16 16:04 bendi.repo
-rw-r--r--. 1 root root 358 Oct 16 16:01 redhat.repo
[root@localhost yum.repos.d]# cd
[root@localhost ~]# dnf install httpd -y
Updating Subscription Management repositories.
Unable to read consumer identity
This system is not registered with an entitlement server. You can use subscription-manager to register.
baseos 30 MB/s | 2.0 MB 00:00
appstream 67 MB/s | 6.5 MB 00:00
Dependencies resolved.
======================================================================================================
Package Architecture Version Repository Size
======================================================================================================
Installing:
httpd /软件包名称/ x86_64 /架构信息/ 2.4.57-5.el9 /具体版本/ appstream 52 k
Installing dependencies: /从这个仓库安装/
apr x86_64 1.7.0-11.el9 appstream 127 k
apr-util x86_64 1.6.1-23.el9 appstream 97 k
apr-util-bdb x86_64 1.6.1-23.el9 appstream 14 k
httpd-core x86_64 2.4.57-5.el9 appstream 1.5 M
httpd-filesystem noarch 2.4.57-5.el9 appstream 16 k
httpd-tools x86_64 2.4.57-5.el9 appstream 87 k
redhat-logos-httpd noarch 90.4-2.el9 appstream 18 k
Installing weak dependencies:
apr-util-openssl x86_64 1.6.1-23.el9 appstream 17 k
mod_http2 x86_64 1.15.19-5.el9 appstream 152 k
mod_lua x86_64 2.4.57-5.el9 appstream 62 k
Transaction Summary
======================================================================================================
Install 11 Packages
Total size: 2.1 M
Installed size: 6.0 M
Downloading Packages:
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : apr-1.7.0-11.el9.x86_64 1/11
Installing : apr-util-bdb-1.6.1-23.el9.x86_64 2/11
Installing : apr-util-openssl-1.6.1-23.el9.x86_64 3/11
Installing : apr-util-1.6.1-23.el9.x86_64 4/11
Installing : httpd-tools-2.4.57-5.el9.x86_64 5/11
Installing : redhat-logos-httpd-90.4-2.el9.noarch 6/11
Running scriptlet: httpd-filesystem-2.4.57-5.el9.noarch 7/11
Installing : httpd-filesystem-2.4.57-5.el9.noarch 7/11
Installing : httpd-core-2.4.57-5.el9.x86_64 8/11
Installing : mod_lua-2.4.57-5.el9.x86_64 9/11
Installing : mod_http2-1.15.19-5.el9.x86_64 10/11
Installing : httpd-2.4.57-5.el9.x86_64 11/11
Running scriptlet: httpd-2.4.57-5.el9.x86_64 11/11
Verifying : apr-1.7.0-11.el9.x86_64 1/11
Verifying : apr-util-1.6.1-23.el9.x86_64 2/11
Verifying : apr-util-bdb-1.6.1-23.el9.x86_64 3/11
Verifying : apr-util-openssl-1.6.1-23.el9.x86_64 4/11
Verifying : httpd-2.4.57-5.el9.x86_64 5/11
Verifying : httpd-core-2.4.57-5.el9.x86_64 6/11
Verifying : httpd-filesystem-2.4.57-5.el9.noarch 7/11
Verifying : httpd-tools-2.4.57-5.el9.x86_64 8/11
Verifying : mod_http2-1.15.19-5.el9.x86_64 9/11
Verifying : mod_lua-2.4.57-5.el9.x86_64 10/11
Verifying : redhat-logos-httpd-90.4-2.el9.noarch 11/11
Installed products updated.
Installed:
apr-1.7.0-11.el9.x86_64 apr-util-1.6.1-23.el9.x86_64
apr-util-bdb-1.6.1-23.el9.x86_64 apr-util-openssl-1.6.1-23.el9.x86_64
httpd-2.4.57-5.el9.x86_64 httpd-core-2.4.57-5.el9.x86_64
httpd-filesystem-2.4.57-5.el9.noarch httpd-tools-2.4.57-5.el9.x86_64
mod_http2-1.15.19-5.el9.x86_64 mod_lua-2.4.57-5.el9.x86_64
redhat-logos-httpd-90.4-2.el9.noarch
Complete!
[root@localhost ~]# cat /etc/yum.repos.d/bendi.repo
[baseos]
name=baseos
baseurl=/rpm/BaseOS
gpgcheck=0
[appstream]
name=appstream
baseurl=/rpm/AppStream
gpgcheck=0
软件包要放到根下的rpm这个目录下面,记得拷贝过去
[root@localhost ~]# cp /etc/yum.repos.d/bendi.repo/ /rpm/ -r
vim bendi.repo
[baseos]
name=baseos
baseurl=http://47.108.86.156/rhel9.0/x86_64/dvd/Base0S/
gpgcheck=0
[appstream]
name=appstream
baseurl=http://47.108.86.156/rhel9.0/x86_64/dvd/AppStream
gpgcheck=0
网络仓库
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ll
total 8
-rw-r--r--. 1 root root 113 Oct 16 16:04 bendi.repo
-rw-r--r--. 1 root root 358 Oct 16 16:01 redhat.repo
[root@localhost yum.repos.d]# rm -rf bendi.repo #删除本地仓库
[root@localhost yum.repos.d]# vim wangluo.repo
[root@localhost yum.repos.d]# cat wangluo.repo
[baseos]
name=baseos
baseurl=http://47.108.86.156/rhel9.0/x86_64/dvd/BaseOS/
gpgcheck=0
[appstream]
name=appstream
baseurl=http://47.108.86.156/rhel9.0/x86_64/dvd/AppStream
gpgcheck=0
[root@localhost yum.repos.d]# cd
[root@localhost ~]# dnf repolist #查看当前仓库
Updating Subscription Management repositories.
Unable to read consumer identity
This system is not registered with an entitlement server. You can use subscription-manager to register.
repo id repo name
appstream appstream
baseos baseos
#安装软件包
[root@localhost ~]# dnf install vsftpd -y
Updating Subscription Management repositories.
Unable to read consumer identity
This system is not registered with an entitlement server. You can use subscription-manager to register.
baseos 909 kB/s | 2.0 MB 00:02
appstream 686 kB/s | 6.5 MB 00:09
Last metadata expiration check: 0:00:01 ago on Wed 16 Oct 2024 04:36:10 PM CST.
Dependencies resolved.
======================================================================================================
Package Architecture Version Repository Size
======================================================================================================
Installing:
vsftpd x86_64 3.0.5-5.el9 appstream 172 k
Transaction Summary
======================================================================================================
Install 1 Package
Total download size: 172 k
Installed size: 347 k
Downloading Packages:
vsftpd-3.0.5-5.el9.x86_64.rpm 493 kB/s | 172 kB 00:00
------------------------------------------------------------------------------------------------------
Total 491 kB/s | 172 kB 00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : vsftpd-3.0.5-5.el9.x86_64 1/1
Running scriptlet: vsftpd-3.0.5-5.el9.x86_64 1/1
Verifying : vsftpd-3.0.5-5.el9.x86_64 1/1
Installed products updated.
Installed:
vsftpd-3.0.5-5.el9.x86_64
Complete!
[root@localhost ~]#
vim wangluo.repo
[baseos]
name=baseos
baseurl=http://47.108.86.156/rhel9.0/x86_64/dvd/BaseOS/
gpgcheck=0
[appstream]
name=appstream
baseurl=http://47.108.86.156/rhel9.0/x86_64/dvd/AppStream
gpgcheck=0
mount /dev/sro/mnt 挂载 /mnt 软件
mkdir /rpm 创建目录
cp /mnt/Appstream//rpm/-r 复制镜像中的软件目录
cp /mnt/BaseOS//rpm/-r 复制镜像中的软件目录 -r:递归
cd /etc/yum.repos.d/ 切换目录