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

news2024/12/23 23:00:09

一、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.coloradmin.cn/o/1611865.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【火猫TV】NBA:汤普森不肯低头,库汤追组合几乎解体,他想留下只有一个办法

随着西部附加赛结束&#xff0c;拥有辉煌历史的勇士队彻底结束了自己本赛季的征程&#xff0c;面对国王队勇士被对手死死压制&#xff0c;除了库里之外其他球员都没有发挥出应有的水平。尤其是曾经的关键先生克莱汤普森&#xff0c;在比赛中竟然贡献了10投0中的尴尬数据&#x…

【nvm最新解决方案】Node.js v16.20.2 is not yet released or available

【nvm最新解决方案】Node.js v16.20.2 is not yet released or available 解决办法&#xff1a;下载想安装的node压缩包&#xff0c;放入nvm对应目录。 2024年最新node压缩包地址&#xff1a;https://nodejs.org/dist/ 1、选择对应的node版本&#xff1a;例如&#xff0c;我选的…

Spring AOP(面向切面编程)

1.Spring AOP 简介 1.1 AOP概述 AOP 为 Aspect Oriented Programming 的缩写&#xff0c;意思为面向切面编程, 是通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP 是 OOP 的延续&#xff0c;是Spring框架中的一个重要内容&#xff0c;是函数式编程的一…

亚信安全数据安全运营平台DSOP新版本发布 注入AI研判升维

在当今快速发展的数字经济时代&#xff0c;企业对于数据的依赖日益加深&#xff0c;数据安全已成为企业的生命线。亚信安全推出数据安全运营平台DSOP全新版本&#xff0c;正是为满足企业对数据安全的高度需求而设计。这款平台以其卓越的能力和技术优势&#xff0c;为企业的数据…

链表基础4——带头双向循环链表

什么是带头双向循环链表 我们直接看图片 定义结点类型 typedef int LTDataType;//存储的数据类型typedef struct ListNode {LTDataType data;//数据域struct ListNode* prev;//前驱指针struct ListNode* next;//后继指针 }ListNode;链表的初始化 //创建一个新结点 ListNod…

Java 非对称加密RSA应用实现

1.RSA介绍 RSA算法是一种非对称加密算法&#xff0c;与对称加密算法不同的是,RSA算法有两个不同的密钥&#xff0c;一个是公钥&#xff0c;一个是私钥。 RSA公开密钥密码体制是一种使用不同的加密密钥与解密密钥&#xff0c;“由已知加密密钥推导出解密密钥在计算上是不可行的…

王者荣耀快速提升等级

1、为什么要提升等级 等级越高&#xff0c;解锁的玩法越多 等级越高&#xff0c;解锁的铭文数量越多&#xff0c;铭文能提升英雄的技能属性 2、如何快速提升等级 通过快速赛、排位赛、人机赛等均可以获取经验值 通过经验翻倍卡&#xff0c;可以快速获取经验值 3、经验卡翻倍…

YOLOv8水稻病害检测系统(python代码,可以通过图片、视频或者摄像头三种路径进行检测)

1.效果视频&#xff1a;最新最全面的水稻病害检测创作&#xff08;yolov8模型&#xff0c;稻瘟病、纹枯病、褐斑病、枯心病、霜霉病、水稻细菌性条纹斑病、稻苞虫等病害。&#xff09;_哔哩哔哩_bilibili 2.数据集介绍 水稻叶病害数据集&#xff08;目标检测&#xff0c;yolo…

信道的题目

调制信道分为恒参信道和随参信道。恒参信道举例&#xff1a;各种有线信道&#xff1b;中长波地波传播、卫星中继。随参信道举例&#xff1a;短波电离层反射信道、各种散射信道、移动通信信道。狭义信道分为有线信道和无线信道。广义信道包含调制信道和编码信道。调制信道中不包…

RK3568 android11 修改关机弹窗界面

需要修改关机弹窗界面&#xff0c;当前界面我已经按照客户需求去掉emergency 但是客户需要按其他区域可以实现返回&#xff0c;也就是点击黑色背景取消dialog 嗑代码发现黑色布局为&#xff1a; <node index"0" text"" resource-id"com.android.…

【R语言】混合图:小提琴图+箱线图

{ggstatsplot} 是 {ggplot2} 包的扩展&#xff0c;用于创建图形&#xff0c;其中包含信息丰富的绘图本身中包含的统计测试的详细信息。在典型的探索性数据分析工作流程中&#xff0c;数据可视化和统计建模是两个不同的阶段&#xff1a;可视化通知建模&#xff0c;而建模又可以建…

janus架构学习

基础介绍 Janus 是由Meetecho设计和开发的开源、通用的基于SFU架构的WebRTC流媒体服务器&#xff0c;它支持在Linux的服务器或MacOS上的机器进行编译和安装。Janus 是使用C语言进行编写的&#xff0c;它的性能十分优秀。 架构 janus为sfu架构 模块结构图 模块说明 core模…

C# Solidworks二次开发:获取模型、组件、主体的表面积相关API详解

大家好&#xff0c;今天要介绍模型、组件、主体的表面积相关API。 下面是今天要介绍的API: &#xff08;1&#xff09;第一个为SurfaceArea Property (IMassProperty)&#xff0c;这个API的含义为获取此模型的表面积&#xff0c;下面是官方的具体解释&#xff1a; 其没有输入…

如何解决DDoS攻击?群联科技做出回答。

DDoS攻击&#xff08;分布式拒绝服务攻击&#xff09;是一种恶意利用多台傀儡机协同发起大规模网络流量&#xff0c;旨在压垮目标系统或网络资源&#xff0c;使其无法正常服务的网络攻击手段。由于现代计算机和网络性能的提升&#xff0c;单点发起的DoS攻击已难以奏效&#xff…

UML 介绍

前言 UML 简介。 文章目录 前言一、简介1、事务2、关系1&#xff09;依赖2&#xff09;关联聚合组合 3&#xff09;泛化4&#xff09;实现 二、类图三、对象图四、用例图五、交互图1、序列图&#xff08;顺序图&#xff09;2、通信图 六、状态图七、活动图八、构件图&#xff0…

探索设计模式的魅力:开启智慧之旅,AI与机器学习驱动的微服务设计模式探索

​&#x1f308; 个人主页&#xff1a;danci_ &#x1f525; 系列专栏&#xff1a;《设计模式》 &#x1f4aa;&#x1f3fb; 制定明确可量化的目标&#xff0c;坚持默默的做事。 ✨欢迎加入探索AI与机器学习驱动的微服务设计模式之旅✨ 亲爱的科技爱好者们&#xff0c;有没…

C#语法知识之运算符

3、运算符 目录 3、运算符1、算数运算符思考 秒转化时间 2、字符串拼接3、条件运算符4、逻辑运算符5、位运算符6、三目运算符思考 闰年 1、算数运算符 1、赋值符号 //把右侧的值赋给左侧的变量2、算数运算符 _ * / float f 1 / 2f; %3、算数运算符的优先级 //乘除余优先级高…

Python可视化数据分析-饼状图

一、前言 饼状图&#xff08;Pie Chart&#xff09;是一种常用的数据可视化图表&#xff0c;用于展示数据中各部分的占比关系。Python 中有多种库可以用于绘制饼状图&#xff0c;比较常用的包括 matplotlib、pyecharts和 plotly 等。 二、使用 matplotlib 绘制饼状图 import…

C++ 深入理解 继承

本篇文章将谈谈一下几个问题&#xff1a; 1.基类和派生类对象赋值转换 2.继承中的作用域 3.派生类的默认成员函数 4.复杂的菱形继承及菱形虚拟继承 5.其他 1.基类和派生类对象赋值转换 1.派生类对象 可以赋值给 基类的对象 / 基类的指针 / 基类的引用。这里有个形象的说法叫切…

MySQL-实验-单表、多表数据查询和嵌套查询

目录 0.简单子查询 &#xff08;1&#xff09;带比较运算符的子查询 &#xff08;2&#xff09;关键字子查询 1.多表查询 3.子查询 4.多表子查询 0.简单子查询 &#xff08;1&#xff09;带比较运算符的子查询 在右侧编辑器补充代码&#xff0c;查询大于所有平均年龄的员…