linux学习笔记(27)压缩软件归档软件;tar,gz,xz;Selinux

【1】tar

(1.1)基本语法

tar  选项  参数
-c  创建 
-f  指定文件名 
-x  解压缩、释放 
-P  保持原始路径 
-z  以gzip格式进行压缩  
-j  以bzip2的格式进行压缩
-J  以xz格式进行压缩
-t 查看压缩包里有什么文件

(1.2)基本案例 .tar

tar -cPf all.tar ./*.txt  # 压缩,-p 这里要写绝对路径,如果写相对路径,则解压时也是相对路径
tar -xPf /all.tar # 解压缩

# 注意 f 必须在最后,否则会报错

(1.3)解压到指定目录 tar -xf all.tar -C dir

注意,dir 必须要存在,否则报错。

[root@red ~]# tar -xf /all.tar -C test
[root@red ~]# ls test
123  1.txt  2.txt  3.txt  4.txt

(1.4)压缩方式   gzip(.gz)、bzip2(.bz2)、xz

碰到对应的格式,无论是压缩成这个格式、还是解压这种格式文件,都要加这个参数。

-z  以gzip格式进行压缩  
-j  以bzip2的格式进行压缩
-J  以xz格式进行压缩

正常情况下,xz格式效压缩率最高。

如果出现命令未找到的情况,需要额外安装一下

[root@red test]# tar -cjf bzip_all.tar.bz2 *.txt
/bin/sh: line 1: bzip2: command not found
tar: Child returned status 127
tar: Error is not recoverable: exiting now

yum install -y bzip2

Installed:
bzip2-1.0.8-8.el9.x86_64

Complete!
[root@red test]# tar -cjf bzip_all.tar.bz2 *.txt
[root@red test]# ls
123 1.txt 2.txt 3.txt 4.txt all.tar.gz bzip_all.tar.bz2
[root@red test]#

(1.5)查看压缩包里有什么文件 -t 

[root@red /]# tar -tf all.tar
./1.txt
./2.txt
./3.txt
./4.txt

[root@red test]# tar -tf all.tar.gz
1.txt
2.txt
3.txt
4.txt

【2】selinux

(2.1)查看与开启关闭

sestatus   #查看整体情况,是否启停
getenforce  # 查看 selinux 当前模式 Enforcing(严格模式) 为开启,Permissive(宽容模式)为临时关闭。
setenforce 0 # 临时设置为 Permissive 模式
setenforce 1 # 临时设置为 Enforcing 模式

关闭SELinxu命令(永久关闭)

$ vi /etc/selinux/config

将SELINUX=enforcing 改为 SELINUX=disabled , 设置后需要重启才能生效.

[root@CentOS7-Basic ~]# /usr/sbin/sestatus   #再次查看
SELinux status: disabled

(2.2)使用 semanage 命令管理 selinux

不记得 semanage 对应要安装什么包了,使用 yum provides semanage

[root@red test]# yum provides semanage
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.

Last metadata expiration check: 1:30:49 ago on Wed 19 Apr 2023 08:25:00 PM CST.
policycoreutils-python-utils-3.4-4.el9.noarch : SELinux policy core python utilities
Repo        : a
Matched from:
Filename    : /usr/sbin/semanage

[root@red test]# yum install -y policycoreutils-python-utils-3.4-4.el9.noarch
[root@red test]# yum install -y setroubleshoot-server   # 该软件可以定位、拍错很多selinux问题
 

(2.3)http 程序启动报错/排错

因为我们 httpd 修改了配置,是以 82 端口启动的,不是默认的 80,所以被selinux 拦截了。

  

 

less /var/log/messages,如下图,setroubleshoot-server 给了我们建议。

  

(2.4)semanager 使用,让selinux放行

根据 2.3 的查看,建议我们针对 httpd 使用命令 [ semanage port -a -t PORT_TYPE -p tcp 82]

我们先使用 semanage port -l |grep http  查看一下 http当前

  

 

我们再来看一下这个命令  [ semanage port -a -t PORT_TYPE -p tcp 82]

 -a 是追加(-d 是删除),-t 是类型,这里的 PORT_TYPE 是类型值,这里应该修改成上图中的 http_port_t

 -p 是协议及端口, tcp 是协议名 82 是端口名。

最终   semanage port -a -t http_port_t -p tcp 82

   

 

posted @ 2023-04-19 20:35  郭大侠1  阅读(318)  评论(0编辑  收藏  举报