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.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+ - =扩展权限文件访问控制列表setfaclgetfacl特殊权限suid 实现目标可执行程序在运行之后形成的进程的所有者为可执行程序的所有者,而不是发起者sgid 实现目录中创建的文件默认所属组为目标所属组sticky 实现目录中的文件只有创建者可以删除权限掩码umask002212341:特殊权限的权限掩码234:标准权限的权限掩码文件属性i achattrlsattr文件所有者和所属组chownchgrp
存储管理标准的存储管理主分区 1-4扩展分区逻辑分区 5....硬盘sata sda sda1 sda2 sdb sdc硬盘nvme nvme0n1 nvme0n1p1 nvme0n1p2 nvme0n2光盘sr0逻辑卷管理 交换空间管理自动挂载
软件管理服务进程
网络管理
1.1 系统安装
1.1.1 安装虚拟机
创建一个虚拟机,密码:redhat
1.1.2 第一个快照
关机命令:
systemctl poweroff
1.1.3 第二个快照
vi编辑器
在 windows 中我们有记事本,word 等可视化的文本编辑工具可以使用,但在 Linux 中给我们内置的就只有 vi 编辑器,它的作用就类似于 windows 中的记事本。
使用 vim 来进行文件的编辑(包括创建、修改)。
在Vim编辑器中设置了三种模式:命令模式、末行模式 和 编辑模式
命令模式:
这是 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 看网关网卡
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/var/spool/mail
1.5 权限管理
权限管理标准权限管理文件 目录r 可以读取 列出目录w 可以修改 创建删除目录中的文件x 可执行 可切换chmod(修改权限) u g o a+ - =扩展权限文件访问控制列表setfaclgetfacl特殊权限suid 实现目标可执行程序在运行之后形成的进程的所有者为可执行程序的所有者,而不是发起者sgid 实现目录中创建的文件默认所属组为目标所属组sticky 实现目录中的文件只有创建者可以删除权限掩码umask002212341:特殊权限的权限掩码234:标准权限的权限掩码
chmod 命令是用于给文件或目录设置权限,如果是目录,我们需要使用 -R 选项,如果是文件这个选项可以不用指定。使用这个命令我们可以使用 rwx 或者数字来表示权限,还可以通过 u、g、o、a 来表示对那个部分设置权限。
1.6 存储管理
存储管理标准的存储管理主分区 1-4扩展分区逻辑分区 5....硬盘sata sda sda1 sda2 sdb sdc硬盘nvme nvme0n1 nvme0n1p1 nvme0n1p2 nvme0n2光盘sr0逻辑卷管理 交换空间管理自动挂载
1.6.1 标准分区管理实验:
查看磁盘信息: lsblk
分区格式化: mkfs
查看分区 id 号: blkid
分区挂载: mount
卸载:umount
分区挂载实例:
# 将 /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 ~]# ll /dev/sda*
brw-rw----. 1 root disk 8, 0 Oct 13 16:27 /dev/sda
brw-rw----. 1 root disk 8, 1 Oct 13 16:27 /dev/sda1
brw-rw----. 1 root disk 8, 2 Oct 13 16:27 /dev/sda2
[root@localhost ~]# ll /dev/nvme0n2
brw-rw----. 1 root disk 259, 3 Oct 13 16:05 /dev/nvme0n2
[root@localhost ~]# vgcreate vgtest /dev/sda /dev/nvme0n2Cannot use /dev/sda: device is partitionedCommand requires all devices to be found.
[root@localhost ~]# lvcreate -n lvtest -L 30G vgtestVolume group "vgtest" not foundCannot process volume group vgtest
[root@localhost ~]# lvsLV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convertroot rhel -wi-ao---- 44.17g swap rhel -wi-ao---- 4.82g
[root@localhost ~]# vgsVG #PV #LV #SN Attr VSize VFreerhel 1 2 0 wz--n- <49.00g 0
[root@localhost ~]# pvsPV VG Fmt Attr PSize PFree/dev/nvme0n1p2 rhel lvm2 a-- <49.00g 0
[root@localhost ~]# mkfs.xfs /dev/mapper/vgtest-lvtest
Error accessing specified device /dev/mapper/vgtest-lvtest: No such file or directory
Usage: mkfs.xfs
/* blocksize */ [-b size=num]
/* config file */ [-c options=xxx]
/* metadata */ [-m crc=0|1,finobt=0|1,uuid=xxx,rmapbt=0|1,reflink=0|1,inobtcount=0|1,bigtime=0|1]
/* data subvol */ [-d agcount=n,agsize=n,file,name=xxx,size=num,(sunit=value,swidth=value|su=num,sw=num|noalign),sectsize=num
/* force overwrite */ [-f]
/* inode size */ [-i perblock=n|size=num,maxpct=n,attr=0|1|2,projid32bit=0|1,sparse=0|1,nrext64=0|1]
/* no discard */ [-K]
/* log subvol */ [-l agnum=n,internal,size=num,logdev=xxx,version=nsunit=value|su=num,sectsize=num,lazy-count=0|1]
/* label */ [-L label (maximum 12 characters)]
/* naming */ [-n size=num,version=2|ci,ftype=0|1]
/* no-op info only */ [-N]
/* prototype file */ [-p fname]
/* quiet */ [-q]
/* realtime subvol */ [-r extsize=num,size=num,rtdev=xxx]
/* sectorsize */ [-s size=num]
/* version */ [-V]devicename
<devicename> is required unless -d name=xxx is given.
<num> is xxx (bytes), xxxs (sectors), xxxb (fs blocks), xxxk (xxx KiB),xxxm (xxx MiB), xxxg (xxx GiB), xxxt (xxx TiB) or xxxp (xxx PiB).
<value> is xxx (512 byte blocks).
[root@localhost ~]# mkdir /lvm
[root@localhost ~]# mount /dev/mapper/vgtest-lvtest /lvm
mount: /lvm: special device /dev/mapper/vgtest-lvtest does not exist.
[root@localhost ~]# df -f /lvm
1.6.3 交换空间管理实验
[root@localhost ~]# umount /lvm
umount: /lvm: not mounted.
[root@localhost ~]# lvremove /dev/vgtest/lvtestVolume group "vgtest" not foundCannot process volume group vgtest
[root@localhost ~]# vgremove vgtestVolume group "vgtest" not foundCannot process volume group vgtest
[root@localhost ~]# pvremove /dev/sdaCannot use /dev/sda: device is not in devices file
[root@localhost ~]# pvremove /dev/nvme0n2Cannot use /dev/nvme0n2: device is not in devices file
[root@localhost ~]# vgcreate vgswap /dev/sda /dev/nvme0n2Cannot use /dev/sda: device is partitionedCommand requires all devices to be found.
[root@localhost ~]# vgsVG #PV #LV #SN Attr VSize VFreerhel 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 -mtotal 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 -mtotal 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.128Connecting 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.socketRegister 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 -mtotal used free shared buff/cache available
Mem: 9492 1018 8223 15 513 8474
Swap: 4939 0 4939
1.7 软件管理
在 Linux 中安装软件分为以下三种方式:
- 源码安装
- rpm包安装
- yum/dnf安装
vim redhat.repo
在这里插入代码片
vim bendi.repo
name=baseos
baseurl=/rpm/BaseOS
gpgcheck=0
[appstream]
name=appstream
baseurl=/rpm/AppStream
gpgcheck=o
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/ 切换目录