redhatcsa学习笔记--题目+答案

一、semanage命令

semanage命令 – 查询与修改安全上下文

semanage命令来自英文词组“SELinux manage”的缩写,其功能是用于查询与修改安全上下文。semanage的功能类似于chcon命令,它们都可以用于设置文件的SELinux安全上下文策略,而semanage命令功能更强大一些,还能够对系统端口、进程等SELinux域策略进行查询和修改,因此更推荐使用。

*设置过后需要使用restorecon命令让新设置的安全上下文值立即生效。

语法格式:semanage [参数] [对象]

-a增加
-d删除
-l查询
-m修改

对指定目录下文件添加新的SELinux安全上下文值

[root@node1 ~]# semanage fcontext -m -t httpd_sys_content_t /var/www/html/file1

查询指定服务所对应的SELinux域允许端口列表

[root@node1 ~]# semanage fcontext -l

image-20240413151158651

对指定服务所对应的SELinux域允许端口列表添加新的值:

[root@node1 ~]# semanage port -a -t http_port_t -p tcp 82 

image-20240413150933772

restorecon恢复文件安全上下文

restorecon命令来自英文词组“restore config”的缩写,其功能是用于恢复文件安全上下文。安全上下文是SELinux安全子系统中重要的安全控制策略,在Linux系统中一切都是文件,而SELinux安全子系统中则一切皆对象,所有的文件、系统端口和进程都具备安全上下文策略。

语法格式:restorecon [参数] 文件或目录名
常用参数:

-R递归处理所有子文件
-v显示执行过程详细信息

参考示例

[root@node1 ~]# restorecon -Rv /var/www/html

对指定的文件进行恢复操作,并显示过程信息:

[root@linuxcool ~]# restorecon -v /Dir/File.txt

对指定的目录进行恢复操作:

[root@linuxcool ~]# restorecon -R /Dir

firewall-cmd命令 – 防火墙策略管理工具

firewall-cmd命令的功能是管理防火墙策略,是firewalld服务的配置工具。使用firewall-cmd命令修改的防火墙策略会立即生效,但重启后失效,因此在使用时推荐加上permanent参数。

语法格式:firewall-cmd 参数 对象

参数含义
–add-service设置允许的服务
–add-port设置允许的端口
–permanent将策略写入永久生效表
–reload立即加载永久生效策略,不重启服务

3. 调试SELinux

  • 非标准****端口 82 上运行的 Web 服务器在提供内容时遇到问题。根据需要调试并解决问题,使其满足以下条件:
  • 系统上的 Web 服务器能够提供 /var/www/html 中所有现有的 HTML ⽂件(注:不要删除或以其他方式改动现有的⽂件内容)
  • Web 服务器在端口 82 上提供此内容 Web 服务器在系统启动时自动启动
  • 确保SELinux机制运行在Enforcing模式
[root@node1 ~]# yum provides "*/semanage"  
[root@node1 ~]# yum -y install policycoreutils-python-utils 
[root@node1 ~]# semanage fcontext -m -t httpd_sys_content_t /var/www/html/file1
[root@node1 ~]# semanage port -a -t http_port_t -p tcp 82 
[root@node1 ~]# restorecon -Rv /var/www/html
# 也可以使用man semanage port,然后/EXAMPLE 
[root@node1 ~]# firewall-cmd --permanent --add-service=http 
[root@node1 ~]# firewall-cmd --permanent --add-port=82/tcp
[root@node1 ~]# firewall-cmd --reload
[root@node1 ~]# systemctl restart httpd 
[root@node1 ~]# systemctl enable --now httpd 
# 验证,出现源码即正确(必做操作)
[root@node1 ~]# curl http://node1.domain250.example.com:82/file1
[root@node1 ~]# curl http://node1.domain250.example.com:82/file2
[root@node1 ~]# curl http://node1.domain250.example.com:82/file3

***至于为什么只需要修改File1,因为只有File1的SELinux的上下文与另外两个不一致,可以通过ll -Z查看

4、创建用户帐户

创建下列用户、组和组成员资格:

  • 名为 sysmgrs 的组
  • 用户 natasha ,作为次要组从属于 sysmgrs
  • 用户 harry ,作为次要组还从属于 sysmgrs
  • 用户 sarah ,无权访问系统上的 交互式 shell 且不是 sysmgrs 的成员
  • natasha 、 harry 和 sarah 的密码应当都是 flectrag
[root@node1 ~]# groupadd sysmgrs 
[root@node1 ~]# useradd -G sysmgrs natasha 
[root@node1 ~]# useradd -G sysmgrs harry 
[root@node1 ~]# useradd -s /bin/false sarah 
[root@node1 ~]# echo flectrag |passwd --stdin natasha 
[root@node1 ~]# echo flectrag |passwd --stdin harry 
[root@node1 ~]# echo flectrag |passwd --stdin sarah

5、配置 cron 作业

以用户 harry 身份,每隔1分钟运行执行/usr/bin/echo hello

以用户 harry 身份,每天14:23分执行/usr/bin/echo hello

#cron总计有5个表达式,也就是5*
从左到右,分别代表:分、时、日、月、周
如果是每隔2分钟,例如:
*/2 * * * * 
其他同理,考试正常替换即可

[root@node1 ~]# systemctl status crond        #查看状态 
[root@node1 ~]# systemctl enable crond        #设置开机自启
[root@node1 ~]# crontab -e -u harry           #写入计划任务
*/1 * * * * /usr/bin/echo hello
23 14 * * * /usr/bin/echo hello

# 检查 
[root@node1 ~]# crontab -l -u harry

二、systemctl命令 – 管理系统服务

systemctl 参数 动作 服务名

常用参数:

-a显示所有单位-q静默执行模式
-f覆盖任何冲突的符号链接-r显示本地容器的单位
-H设置要连接的主机名-s设置要发送的进程信号
-M设置要连接的容器名-t设置单元类型
-n设置要显示的日志行数–help显示帮助信息
-o设置要显示的日志格式–version显示版本信息

常用动作

start启动服务disable取消服务开机自启
stop停止服务status查看服务状态
restart重启服务list显示所有已启动服务
enable设置服务开机自启

三、隐藏权限

chmod 2770,前面2是隐藏权限是sgid,代表给目录设置rwx rwxs - - -权限,
隐藏权限:SUID(4)、SGID(2)、SBIT(1)
rws(1、所有者)rws(2、所属组)rwt(3、其他用户)
1:即使不是文件所有者也可以暂时拥有文件所有者的权利
2、在拥有这个属性的目录内创建的东西,所属组都属于这个目录的所属组,不属于创建人本身。
3、在拥有这个属性的目录内创建的东西,除了root和创建者本身,谁都不能删
在chmod时,隐藏权限写在第一位。

6、创建协作****目录

创建具有以下特征的协作⽬录 /home/managers :

  • /home/managers 的组⽤权是 sysmgrs
  • 目录应当可被 sysmgrs 的成员读取、写⼊和访问,但任何其他用户不具这些权限。(当然,root 用户有权访问系统上的所有⽂件和目录)
  • /home/managers 中创建的⽂件⾃动将组所有权设置到 sysmgrs 组
[root@node1 ~]# mkdir /home/managers 
[root@node1 ~]# chgrp sysmgrs /home/managers 
[root@node1 ~]# chmod 2770 /home/managers

# 检查
[root@node1 ~]# ll -Z /home

四、NTP

NTP(Network Time Protocol)网络时间协议基于UDP,用于网络时间同步的协议,使网络中的计算机时钟同步到UTC(世界统一时间),再配合各个时区的偏移调整就能实现精准同步对时功能。在Linux系统中,该NTP协议由运行在用户空间中的守护程序实现。

配置文件

/etc/chrony.conf

# 配置NTP服务器 server 0.centos.pool.ntp.org iburst

7、配置 NTP

  • 配置您的系统,使其成为 materials.example.com NTP 客户端。(注: materials.example.com classroom.example.com DNS 别名)
[root@node1 ~]# yum -y install chrony         #如果没有安装,就安装一下
[root@node1 ~]# vim /etc/chrony.conf 
server materials.example.com iburst 
[root@node1 ~]# systemctl restart chronyd 
[root@node1 ~]# systemctl enable chronyd

# 检查
[root@node1 ~]# date -s "1982-1-1"  
[root@node1 ~]# systemctl restart chronyd  
# 隔3-5秒执行,太快了时间不会同步
[root@node1 ~]# date

五、自动挂载autofs

描述(DESCRIPTION)

当机器启动自动挂载器时, autofs(8) 脚本就会查寻 auto.master 这个主映射文件。文件中的每行分别指明,一个挂载点以及与对应的需要被挂载的文件系统。通过key来控制对其它映射文件的读取。

格式(FORMAT)

这个文件分为三个区域,以空格或制表符分隔。以“#”开头的行代表注释。第一块区域定义了mount point 。第二块定义了与mount point相关的映射文件,这一区域的内容以这种形式 maptype:mapname 出现, maptype 是系统支持的映射类型中的一种 (file, program, yp, nisplus, hesiod, userdir, ldap), mapname 是映射文件的文件名。第三块区域是可选的,它包含了其它你想使用的其它选项。这些选项可以叠加,这一点跟 SunOS中自动挂载器(automounter)的执行方式不同。

有关第三块区域中具体的可用选项,以及非主映射文件的格式可以看一下 autofs(5).

范例(EXAMPLE)

/home /etc/auto.home

/misc /etc/auto.misc

/mnt yp:mnt.map

主映射文件生成了三个挂载点 /home/misc, 以及 /mnt。 所有对 /home 的访问请求将被发送至 /etc/auto.home 映射文件做进一步的处理。所有对 /misc 的访问请求将被发送至 /etc/auto.misc 映射文件做进一步的处理,而所有对 /mnt 的访问请求将会查寻NIS上的 mnt.map 映射文件。

8、配置 autofs

配置 autofs ,以按照如下所述自动挂载远程用户的主目录:

  • materials.example.com ( 172.25.254.254 ) NFS导出 /rhome 到您的系统。此文件系统包含为用户 remoteuser1 预配置的主目录
  • remoteuser1 的主目录是 materials.example.com:/rhome/remoteuser1
  • remoteuser1 的主目录应自动挂载到本地 /rhome 下的 /rhome/remoteuser1
  • 主目录必须可供其用户 写⼊
  • remoteuser1 的密码是 flectrag
# 暂时记做法,环境暂时没做出来
[root@node1 ~]# yum -y install nfs-utils 
[root@node1 ~]# yum -y install autofs 
**auto.master的/rhome /etc/auto.rhome这一行,/rhome后面是一个空格,不要用tab或者打多空格
[root@node1 ~]# vim /etc/auto.master 
/rhome /etc/auto.rhome 
[root@node1 ~]# vim /etc/auto.rhome 
remoteuser1 -rw materials.example.com:/rhome/remoteuser1
[root@node1 ~]# systemctl enable --now autofs            #设置开机自启并现在启动

# 检查 
[root@node1 ~]# ll /rhome/ 
[root@node1 ~]# ssh remoteuser1@localhost 
remoteuser1@localhost\'s password: `flectrag` 
$ pwd 
/rhome/remoteuser1 
$ touch my.file 
$ mount | grep rhome 
... 
materials.example.com:/rhome/remoteuser1 on /rhome/remoteuser1 type nfs4 
(`rw`,relatime,vers=4.2,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,timeo=600,r 
etrans=2,sec=sys,clientaddr=172.25.250.100,local_lock=none,addr=172.25.254.254)

六、find命令

find命令 – 根据路径和条件搜索指定文件

语法格式:find 路径 条件 文件名

常用参数:

-name匹配文件名-nouser匹配无所属主的文件
-perm匹配文件权限-nogroup匹配无所属组的文件
-user匹配文件所属主-newer匹配比指定文件更新的文件
-group匹配文件所属组-type匹配文件类型
-mtime匹配最后修改文件内容时间-size匹配文件大小
-exec…… {};进一步处理搜索结果

9. 配置用户帐户

  • 配置用户 manalo ,其用户 ID 为 3533 。此用户的密码应当为 flectrag 。
[root@node1 ~]# useradd -u 3533 manalo                    #创建用户指定uid为3533
[root@node1 ~]# echo flectrag | passwd --stdin manalo     #设置密码

tail -1 /etc/passwd #查看

10、查找文件

  • 查找属于 jacques 用户所属文件,并拷贝到/root/findfiles 目录
[root@node1 ~]# mkdir /root/findfiles 
[root@node1 ~]# find / -user jacques 
[root@node1 ~]# find / -user jacques -exec cp -a {} /root/findfiles \;     #查找所属主和组是jacques的文件

# 检查
[root@node1 ~]# ll /root/findfiles/

11、查找字符串

  • 查找文件 /usr/share/xml/iso-codes/iso_639_3.xml 中包含字符串ng 的所有行。将所有这些行的副本按原始顺序放在文件 /root/list 中。
  • /root/list 不得包含空行且所有行必须是 /usr/share/xml/iso-codes/iso_639_3.xml 中原始行的确切副本。
[root@node1 ~]# grep ng /usr/share/xml/iso-codes/iso_639_3.xml 
[root@node1 ~]# grep ng /usr/share/xml/iso-codes/iso_639_3.xml > /root/list    #查找并重定向写入

# 检查 
[root@node1 ~]# cat /root/list

12、创建存档

  • 创建一个名为/root/backup.tar.bz2的tar存档,其应包含/usr/local的tar存档,其应包含/usr/local的内容。该tar存档使用bzip2进行压缩。
***此题练习建议最后做,因为文件数量多一个或者少一个都会导致评分错误,考试不用

[root@node1 ~]# yum -y install bzip2
[root@node1 ~]# tar -cvjf /root/backup.tar.bz2 /usr/local
# 另外一个格式tar
[root@node1 ~]# tar -cvzf /root/backup.tar.gz /usr/local

# 验证
[root@node1 ~]# file /root/backup.tar.bz

七、podman

Podman 是一个开源的容器运行时项目,可在大多数 Linux 平台上使用。Podman 提供与 Docker 非常相似的功能。正如前面提到的那样,它不需要在你的系统上运行任何守护进程,并且它也可以在没有 root 权限的情况下运行。

Podman 可以管理和运行任何符合 OCI(Open Container Initiative)规范的容器和容器镜像。Podman 提供了一个与 Docker 兼容的命令行前端来管理 Docker 镜像。

podman容器管理工具

容器

podman run           创建并启动容器
podman start       #启动容器
podman ps          #查看容器
podman stop        #终止容器
podman restart     #重启容器
podman attach      #进入容器

镜像

podman images             #列出镜像
podman build              #构建镜像
podman run                #运行镜像

14 将容器配置为服务

1 ## 准备相关的映射目录
sudo mkdir /opt/{file,progress}
ll -h /opt
sudo chown wallah.wallah /opt/{file,progress}  # 修改文件属主和属组

2 ## 创建systemd服务文件
mkdir -p ~/.config/systemd/user		# 在.config目录下创建systemd/use,目录
cd ~/.config/systemd/user		# 进入创建好的user目录


3 ## 启动容器并映射目录
podman run -d --name ascii2pdf -v /opt/file:/dir1:Z -v /opt/progress:/dir2:Z pdf 
#列出运行的容器
podman ps -a
# 将容器ascii2pdf加入到ascii2pdf的管理范围
podman generate systemd -n ascii2pdf -f --new 
#在 podman 中,通过下面的命令,将某个容器加入到 systemd 的管理范围
podman generate systemd
--name  容器的名字
--files|-f  会直接在当前目录生成文件
--new   sto终止容器后,直接删除容器,没有new的话,执行podman ps -a的时候还会看到容器
ls  #查看user目录下的文件
podman stop ascii2pdf
podman rm ascii2pdf
podman ps -a
systemctl --user daemon-reload  # 重新加载 systemd 程序的配置文件,生效

4 ## 启用并启动container-ascii2pdf服务
systemctl --user enable --now container-ascii2pdf 
systemctl --user status container-ascii2pdf
podman ps

5 ## 确保wallah用户的服务在系统启动时启动
loginctl enable-linger $USER # 用户退出登录后,属于该用户的后台服务会被终止。启用用户的逗留状态
loginctl show-user wallah    # 列出当前用户的登录信息

6 ## 检查,测试容器是否开机⾃启(必做操作)
[wallah@node1 ~]# exit 
[root@node1 ~]# reboot 
[root@node1 ~]# ssh wallah@node1 
[wallah@node1 ~]# podman ps
    

# 查看镜像
[root@localhost ~]# podman images
REPOSITORY                  TAG      IMAGE ID       CREATED       SIZE
docker.io/library/httpd     latest   ea28e1b82f31   11 days ago   148 MB

# 列出运行的容器
[root@localhost ~]# podman ps
CONTAINER ID  IMAGE                             COMMAND           CREATED             STATUS                 PORTS  NAMES
0492e405b9ec  docker.io/library/httpd:latest    httpd-foreground  About a minute ago  U

15 添加sudo免密操作

允许 sysmgrs 组成员sudo时不需要密码

[root@node1 ~]# visudo
... 
# %wheel ALL=(ALL) NOPASSWD: ALL
%sysmgrs ALL=(ALL) NOPASSWD: ALL

# 检查(必做操作)
[root@node1 ~]# su - natasha 
[natasha@node1 ~]# sudo cat /etc/shadow

八、附加题

16. 创建共享目录

创建具有以下特点的共用目录:

  • /home/test 的所有组是admins
  • 此目录能被admins 组的成员读取、写入和访问,除root 外其他用户没有这些权限
  • 在此目录下创建的文件,其组的所有权自动设置为admins 组
# 创建组:
[root@node1 ~]# groupadd admins
# 创建目录:
[root@node1 ~]# mkdir /home/test 
# 设置组:
[root@node1 ~]# chgrp admins /home/test
# 设置权限:
[root@node1 ~]# chmod 2770 /home/test 

# 验证
[root@node1 ~]# ls -ld /home/test 
drwxrws--- root admins /home/test

17. 设置默认密码策略

  • 为新创建的用户设置密码策略,要求创建用户时,密码默认25天后过期
/etc/login.defs

18. 创建系统用于监控的脚本

  • 创建一个名为systeminfo 的脚本
  • 该脚本放置在/usr/local/bin 下
  • 该脚本用于获取当前系统进程的信息,要求按照顺序输出进程的所有者,进程的PID, 进程消耗的虚拟内存,实际内存,以及CPU的百分比,并其中以cpu 的百分比进行排序,消耗CPU 最多的进程在最后显示
[root@node1 ~]# vim /usr/local/bin/systeminfo
#!/bin/bash
ps -xao user,pid,vsz,rss,%cpu --sort=pcpu
sort写法:
/#!/bin/bash
ps -xao user,pid,vsz,rss,%cpu|sort -fnk 5

验证
[root@node1 ~]# chmod +x /usr/local/bin/systeminfo
[root@node1 ~]# systeminfo

ps -xao解释:
x 显示没有控制终端的进程,同时显示各个命令的具体路径
a 显示一个终端的所有进程,除了会话引线
o 用户自定义格式

19. 创建查找文件的的脚本

创建脚本

  • 创建一个名为myresearch的脚本
  • 该脚本放置在/usr/local/bin下
  • 该脚本用来查找/usr下所有下雨10M且具有修改组ID权限的文件,将这些文件放置于/root/myfiles下
mkdir /root/myfiles
vim /usr/local/bin/myresearch
#!/bin/bash
find /usr -type f -and -size -10M -and -perm -2000 -exec cp -a {} /root/myfiles \;
:wq
chmod +x /usr/local/bin/myresearch
bash /usr/local/bin/myresearch
ll -h /root/myfiles

脚本说明:
(#!/bin/bash):"#!"是一个约定的标记,用来告诉系统该用什么编译器执行这个脚本,/bin/bash:也就是说使用默认Shell 。 
在这里需要用到for循环对查找到的GID(组id)进行遍历处理。 
(awk -F':' '{print $3}' /etc/group):"awk"用来对文本进行分割处理;"-F"指定一个分隔符,":"使用:(引号)来分隔文本内容;"{print $3}":执行打印语句,打印出 
第三列的内容。 

20、设置用户默认创建文件UMASK

  • 用户natasha默认创建文件权限为r–r–r–默认创建的目录为r-xr-xr-x
# su - natasha 
把umask写进用户家目录下的bashrc 
echo 'umask 222'>>.bashrc
source .bashrc

命令说明 
umask用于控制用户的默认创建权限 c
umask 第一位是特殊权限默认为0加不加都行,没需求只用输三位,第二位属主权限,第三位组权限,第四位其他人权限

21、配置一个应用

  • 配置一个应用rhcsa
  • 这个应用以 natasha 身份运行时,会显示一个字符串This is a rhcsa
 su - natasha
 vim .bashrc
 alias rhcsa='ehco This is a rhcsa'
 source .bashrc
 rhcsa

九、配置node2

22. 设置 root 密码

  • 将 node2 的 root 密码设置为 flectrag 。您需要获得系统访问权限才能进行此操作
点了重启按钮后,一直按字母e键,进去救援模式,在linux行的最后写上rw rd.break  然后按ctrl+x
# chroot /sysroot 
# echo flectrag | passwd --stdin root 
# touch /.autorelabel  
# sync 
# exit 
# reboot

23、配置您的系统以使用默认存储库

  • YUM 存储库已可以从
  • http://content/rhel9.0/x86_64/dvd/BaseOS
  • http://content/rhel9.0/x86_64/dvd/AppStream
  • 使用配置您的系统,以将这些位置用作默认存储库
方法一: 
[root@node2 ~]# scp root@node1:/etc/yum.repos.d/rhcsa.repo /etc/yum.repos.d/

方法二:
[root@node2 ~]# vim /etc/yum.repos.d/rhcsa.repo 
[Base] 
name=Base 
baseurl=http://content/rhel9.0/x86_64/dvd/BaseOS 
enabled=1 
gpgcheck=no 
[App] 
name=App 
baseurl=http://content/rhel9.0/x86_64/dvd/AppStream 
enabled=1 
gpgcheck=no

# 检查
[root@node2 ~]# yum repoinfo  
[root@node2 ~]# yum -y install ftp    

**如果考试是DNF存储库,命令前部分更换为dnf即可
[root@node2 ~]# dnf -y install vsftpd

十、lvm逻辑卷

24. 调整逻辑卷大小

  • 逻辑卷 vo 及其文件系统的大小调整到 230 MiB。确保文件系统内容保持不变。注:分区大小很少与请求的大小完全相同,因此可以接受范围为 213MiB到 243 MiB 的大小

    做题步骤
    1.查看lv大小
    
    2.扩大lv大小到230M
    
    3.blkid显示块设备信息
    (“block ID”功能是用于显示块设备信息。blkid命令能够查看Linux系统中全部的块设备信息,也就是我们俗称的硬盘或光盘设备,并可以依据块设备名称、文件系统类型、LABEL、UUID等项目进行信息检索。)
    
    4.resize2fs命令 – 同步文件系统容量到内核
    (resize2fs命令来自英文词组resize to filesystem的缩写,其功能是同步文件系统容量到内核。如对EXT3、EXT4、XFS等设备卷容量进行了调整,则需要使用resize2fs命令同步信息到系统内核。)
    
    5.检查
    (df命令:显示系统上磁盘空间的使用量情况
    -h:以更易读的方式显示)
    

25. 添加交换分区

  • 向您的系统添加⼀个额外的交换分区 512MiB 。交换分区应在系统 启动时自动挂载 。不要删除或以任何方式改动系统上的任何现有交换分区。

    #做题步骤
    1.lsblk命令 – 查看系统的磁盘使用情况
    语法格式:lsblk 参数
    lsblk命令来自英文词组list block devices的缩写,其功能是查看系统的磁盘使用情况。
    
    2.fdisk命令 - 管理磁盘分区
    语法格式:fdisk 参数 设备名
    fdisk /dev/vdb
    fdisk的意思是固定磁盘(fixed disk)或格式化磁盘(format disk),该命令的功能是管理磁盘的分区信息。 
    fdisk命令可以用来对磁盘进行分区操作,用户可以根据实际情况对磁盘进行合理划分,这样后期挂载和使用时会方便很多。
    Last sector, +/-sectors or +/-size{K,M,G,T,P} (1026048-20971519, default 20971519): +512M 
    
    3.建立和设置SWAP交换分区
    mkswap命令用于在一个文件或者设备上建立交换分区。在建立完之后要使用sawpon命令开始使用这个交换区。一般都将整个文件或者设备作为交换区。
    
    mkswap /dev/vdb3
    
    4.修改系统的静态挂载文件/etc/fstab
    /etc/fstab
    # <file system>  <dir>   <type>    <options>      <dump> <pass>
    tmpfs           /tmp      tmpfs    nodev,nosuid     0      0
    其中:
    <file systems> - 要挂载的分区或存储设备
    <dir> - <file systems>的挂载位置
    <type> - 要挂载设备或是分区的文件系统类型,支持许多种不同的文件系统:swap、auto<options> - 挂载时使用的参数,defaults - 使用文件系统的默认挂载参数
    <dump> dump工具通过它决定何时作备份,0 表示忽略,1 则进行备份
    <pass> - fsck读取<pass>的数值来决定需要检查的文件系统的检查顺序。0:设备不会被fsck所检查。
    vim /etc/fstab ==> /dev/vdb3 swap swap defaults 0 0
    
    5.激活Linux系统中的交换空间,,但要想永久生效还是需要将挂载信息写入到/etc/fstab文件
    
    swapon -a  立刻激活所有“/etc/fstab”文件中的交换分区
    swapon
    

26. 创建逻辑卷

物理卷(Physical Volume,PV):就是指硬盘分区(C盘、D盘),分区可以是整个硬盘或已创建的软RAID,是物理存在的。

卷组(Volume Group,VG):是由一个或多个物理卷所组成的存储池,在卷组上能创建一个或多个逻辑卷。

逻辑卷(Logical Volume,LV):它建立在卷组之上,是一个标准的块设备,在逻辑卷之上可以建立文件系统。

如果把PV比作地球的一个板块,VG则是一个地球,因为地球是由多个板块组成的,那么在地球上划分一个区域并标记为亚洲,则亚洲就相当于一个LV。

一般流程:
1.创建逻辑卷
创建换组之前都需要先创建物理卷,可以对一个磁盘创建,也可以一次创建多个,以空格隔开
# pvcreate /dev/ram0 /dev/ram1
  Physical volume "/dev/ram0" successfully created
  Physical volume "/dev/ram1" successfully created
  
2.创建卷组 - 选用需要的物理卷来创建
# vgcreate TEST /dev/ram0 /dev/ram1
  Volume group "TEST" successfully created
3.创建成功后,可以使用vgdisplay命令来查看卷组
# vgdisplay TEST
  --- Volume group ---
  VG Name               TEST
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               24.00 MiB
  PE Size               4.00 MiB
  Total PE              6
  Alloc PE / Size       0 / 0   
  Free  PE / Size       6 / 24.00 MiB
  VG UUID               zejODC-HyXC-iD5p-5bUI-cKx3-BX8j-SMz50P

4.最后创建逻辑卷,就是从卷组中划出一部分或者全部,来创建一个逻辑卷 

# lvcreate -l 6 -n test_lv TEST	#从TEST卷组中划分出一个大小为24M,名为test_lv的逻辑卷
  Logical volume "test_lv" created.  
 
# lvcreate -L 24M -n test_lv TEST #从TEST卷组中划分出一个大小为24M,名为test_lv的逻辑卷
  Logical volume "test_lv" created.  

-l 是按PE的数量计算大小
-L 是按照Size的大小划分
-n 是要创建的逻辑卷的名称
最后,要指定,从哪个卷组中划分

题目:

  • 逻辑卷取名为qa ,属于 qagroup 卷组,大小为 60 个扩展块

  • qagroup卷组中逻辑卷的扩展块大小应当为 16 MiB

  • 使⽤ vfat 文件系统格式化新逻辑卷。该逻辑卷应在系统启动时自动挂载到 /mnt/qa

    # 创建卷组qagroup,设置扩展块大小为16M
    # 创建逻辑卷qa,并属于qagroup卷组,大小为60个扩展块
    # vfat格式化新的逻辑卷,并将逻辑卷永久挂在到/mnt/qa下
    
    1.lsblk – 查看系统的磁盘使用情况
    
    2.fdisk /dev/vdb - 管理磁盘分区
    	+ Command (m for help): n    //添加新分区
    	+ Partition number (2-4, default 2): 回车
    	+ First sector (1026048-20971519, default 1026048): 回车
    	+ Last sector, +/-sectors or +/-size{K,M,G,T,P} (1026048-20971519, default 	     20971519): +1200M 分区大小,必须大于总大小,不可以刚好等于
    	+ Command (m for help): w    //保存退出
    
    3.创建卷组
    语法:vgcreate 参数 卷组名 设备名
    vgcreate -s 16M qagroup /dev/vdb4
    
    4.创建逻辑卷
    语法:lvcreate 参数 逻辑卷 [卷组名]
    lvcreate -l 60 -n qa qagroup
    
    5.mkfs命令 – 对设备进行格式化文件系统操作
    (安装dosfstools,包含mkfs.vfat工具)
    yum provides */mkfs.vfat
    yum install
    mkfs.vfat /dev/qagroup/qa #格式化新的逻辑卷 
    
    6.自动挂载
    mkdir /mnt/qa 
    vim /etc/fstab ==> /dev/qagroup/qa /mnt/qa vfat defaults 0 0
    mount -a      # 挂载/etc/fstab文件中所有已定义的设备文件
    
    

27. 配置系统调优

  • 为您的系统选择建议的 tuned 配置集并将它设为默认设置。
yum -y install tuned			# 安装tuned配置集
systemctl enable tuned			# 设置开机自启tund配置集
systemctl restart tuned			# 重启tuned
tuned-adm active 				# 查看现在生效的调优策略
tuned-adm recommend				# 查看tuned目前推荐使用的策略
tuned-adm profile virtual-guest	# 修改调优方案,使用新的调优策略

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/561099.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux内核之文件系统访问:目录项、inode、物理磁盘访问关系(五十五)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…

(2022级)成都工业学院数据库原理及应用实验六: SQL DML(增、删、改)

写在前面 1、基于2022级软件工程/计算机科学与技术实验指导书 2、成品仅提供参考 3、如果成品不满足你的要求&#xff0c;请寻求其他的途径 运行环境 window11家庭版 Navicat Premium 16 Mysql 8.0.36 实验要求 在实验三的基础上完成下列查询&#xff1a; 1、在科室表…

C++ 速成

C 概述 c 融合了3中不同的编程方式&#xff1a; C语言代表的过程性语言C 在C语言基础上添加的类代表的面向对象语言C 模板支持的泛型编程 C 标准 一种描述C 的一些语法规则的代码准则 C11 C 应用 游戏 C 效率是一个很重要的原因&#xff0c;绝大部分游戏殷勤都是C写的 网…

【Java网络编程】网络编程中的基本概念及实现UDP、TCP客户端服务器程序

目录 一、什么是网络编程&#xff1f; 二、网络编程中的基本概念 1. 客户端和服务器 2. 请求和响应 三、Socket套接字 UDP数据报套接字编程 1. DatagramSocket 2. DatagramPacket 3. UDP回显客户端服务器程序 4. UDP字典客户端服务器程序 TCP流套接字编程 1. Serve…

论文笔记:Large Language Model for Participatory Urban Planning

202402 arxiv 大模型城市规划 引入了一个基于LLM的多代理协作框架&#xff0c;模拟规划师和数千名具有不同特征和背景的居民&#xff0c;用于参与式城市规划——>生成考虑居民多样化需求的城市区域土地利用规划为了提高讨论的效率&#xff0c;论文采用了鱼缸讨论机制&#…

政安晨:【Keras机器学习示例演绎】(五)—— 利用视觉变换器进行物体检测

目录 导言 导入和设置 准备数据集 实施多层感知器&#xff08;MLP&#xff09; 实施补丁创建层 显示输入图像的补丁 实施补丁编码层 构建 ViT 模型 运行实验 评估模型 政安晨的个人主页&#xff1a;政安晨 欢迎 &#x1f44d;点赞✍评论⭐收藏 收录专栏: TensorFlow与…

接口测试相关

接口测试&#xff0c;接口 接口是数据交互的入口和出口 接口是一套规范和标准 统一设计标准 前后端相对独立 扩展型灵活 接口文档。 接口测试 接口测试环境&#xff0c;运行程序&#xff0c;自己搭建环境 接口测试插件 谷歌postman 火狐 restclient java测试工具为j…

路由器热备份

HSRP HSRP&#xff08;Hot Standby Routing Protocol&#xff09;热备份路由选择协议 HSRP是思科私有的协议&#xff0c;HSRP起到一个双网关热备份的一个目的&#xff0c;不考虑线路问题针对设备而言&#xff0c;一个设备挂了还有另外一台设备&#xff0c;所以双网关也叫双机…

paddlepaddle-gpu安装

背景 之前安装paddlepaddle-gpu遇到各种问题&#xff0c;安装不成功&#xff0c;之前使用了wsldocker的方式&#xff0c;可查看我之前博客&#xff1a;记录paddlepaddle-gpu安装&#xff0c;这要会导致我整个开发流程比较割裂 cuda版本 强烈推荐cuda11.8&#xff0c;paddlep…

硬件工程中的RMA是什么意思?

RMA是Return Material Authorization的英文缩写&#xff0c;即退料审查。是处理用户不良产品退货、换货的主要流程。 当用户所使用某产品或部件不能正常工作时&#xff0c;将发起一个RMA流程&#xff0c;首先用户必须填写RMA申请单&#xff0c;然后RMA的处理人员将对该RMA申请…

【文章复现】基于主从博弈的社区综合能源系统分布式协同 优化运行策略

随着能源市场由传统的垂直一体式结构向交互竞争型 结构转变&#xff0c;社区综合能源系统的分布式特征愈发明显&#xff0c;传统 的集中优化方法难以揭示多主体间的交互行为。该文提出一 种基于主从博弈的社区综合能源系统分布式协同优化运行 策略&#xff0c;将综合能源销售商…

墨子web3实时周报

蚂蚁集团Web3研发进展与布局 国内Web3赛道的领军企业——蚂蚁集团&#xff0c;凭借其在前沿科技领域的深耕不辍&#xff0c;已在Web3技术研发疆域缔造了卓越战绩。特别是在引领行业革新的关键时刻&#xff0c;集团于今年四月末震撼推出了颠覆性的Web3全套解决方案&#xff0c;…

苍穹外卖day1--开发环境搭建

整体结构 前端&#xff1a;管理端&#xff08;Web&#xff09; 用户端&#xff08;小程序&#xff09; 后端&#xff1a;后端服务&#xff08;Java&#xff09; 前端工程基于ngnix运行 启动nginx&#xff1a;双击nginx.exe即可启动nginx服务&#xff0c;访问端口号为80 后端…

ZStack教育云计算解决方案入选高质量数字化转型技术解决方案集

近日&#xff0c;中国信通院“铸基计划”《高质量数字化转型技术解决方案&#xff08;2023年度&#xff09;》&#xff08;以下简称“方案集”&#xff09;发布&#xff0c;云轴科技ZStack智慧教育云计算解决方案入选《高质量数字化转型技术解决方案集》。 为促进数字化转型相…

GPT-3.5和GPT-Plus的区别

GPT-3.5和GPT-Plus都是OpenAI开发的大型语言模型,但它们之间有一些区别: GPT-3.5就是大家熟知的ChatGPT GPT-Plus 是Open AI 的更强的AI模型GPT-4版本。两者区别是&#xff1a; 模型规模:GPT-Plus是GPT-3的一个更大版本,参数量更多。而GPT-3.5是GPT-3的一个优化版本,在参数量…

SpringCloud 基础配置

1.SpringCloud配置 目前是2024了,笔者也是开始学习SpringCloud 下面是给大家总结的微服务需要的各种依赖的版本 首先我们说一个重点强调 约定 > 配置 > 编码 千万不要一把梭,上来就是干代码,千万记得配置一定得对 2.微服务工程Base构建 首先我们创建父工程 创建出来直接把…

Python 面向对象——1.基本概念

本章学习链接如下&#xff1a; 基本概念与语法 类&#xff08;Class&#xff09;&#xff1a;定义了一组对象共有的属性和方法的蓝图。类是创建对象的模板。 对象&#xff08;Object&#xff09;&#xff1a;类的实例。对象包含实际的数据和操作数据的方法。 属性&#xff0…

论文笔记:UrbanGPT: Spatio-Temporal Large Language Models

1 intro 时空预测的目标是预测并洞察城市环境随时间和空间不断变化的动态。其目的是预见城市生活多个方面的未来模式、趋势和事件&#xff0c;包括交通、人口流动和犯罪率。虽然已有许多努力致力于开发神经网络技术&#xff0c;以准确预测时空数据&#xff0c;但重要的是要注意…

展开说说:Android Fragment完全解析-卷一

1、是什么 Fragment 中文意思是碎片&#xff0c;Android 3.0推出的一个系统组件&#xff0c;主打一个在应用界面中可模块化又可重复使用。 Fragment 它很独立&#xff0c;它可以定义和管理自己的布局&#xff0c;具有自己的生命周期&#xff0c;并且可以处理自己的输入事件。…

iOS重签名-超详细,附排错

文章目录 重签名步骤步骤 1: 准备必要的材料步骤 2: 解压 .ipa 文件步骤3:将 Provisioning Profile 复制到 Payload 目录步骤 4: 移除原来的签名步骤 5: 使用新的证书和 Provisioning Profile 进行重签名步骤 6: 重新打包 .ipa 文件步骤 7: 安装和测试得到provisioning file和…
最新文章