第六篇:linux之解压缩、软件管理

2021/8/7 7:07:51

本文主要是介绍第六篇:linux之解压缩、软件管理,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

第六篇:linux之解压缩、软件管理

目录
  • 第六篇:linux之解压缩、软件管理
    • 一、解压和压缩
      • 1、window压缩包与linux压缩包能否互通?
      • 2、linux下压缩包的类型
      • 3、打包与压缩
    • 二、软件管理
      • 1、rpm
        • 1、什么是rpm?
        • 2、rpm包名组成部分
        • 3、如何获取rpm包?
        • 4、linux中处理rpm的安装软件,还有那些安装软件方式?
        • 5、rpm包如何安装?
        • 6、如何查询已安装好的rpm包?
      • 2、yum
        • 1、什么是yum?
        • 2、yum源是什么?
        • 3、yun源配置

一、解压和压缩

1、window压缩包与linux压缩包能否互通?

在windows系统下,接触做多的压缩格式便是rar或zip,但在linux上使用最多的压缩格式是zip和tar.gz。linux不支持rar格式,所以,互通选择zip格式即可。

2、linux下压缩包的类型

格式 压缩工具
.zip zip压缩工具
.gz gzip压缩工具,只能压缩文件,会删除源文件(通常配合tar使用)
.bz2 bzip2压缩文件,只能压缩文件,会删除源文件(通常配合tar使用)
.tar.gz 先使用tar命令归档打包,然后使用gzip进行压缩
.tar.bz2 先使用tar命令归档打包,然后使用bzip进行压缩

3、打包与压缩

"""gzip的使用"""
yum install gzip -y  # 只能压缩一个文件,也不能压缩文件夹
gzip test.txt  # 对文件进行压缩【会将源文件删除】
zcat test.txt.gz  # 查看压缩后的文件【可直接显示压缩文件中的内容】
gzip -d test.txt.gz  # 解压压缩后的文件
# 用处
cd /etc/yum.repos.d/
比如说,我们可以将此目录下的文件全部进行压缩,可以自定义源,更好的进行处理

"""zip的使用"""
yum install zip unzip -y  # 文件和文件夹均可压缩【文件夹-r】
zip a.zip test.txt  # 将test.txt压缩成a.zip格式【不会删除原来的文件】
zip -r home.zip /home/  # 文件夹压缩
zip -T filename.zip  # 查看此zip压缩包是否完整
unzip home.zip  # 解压
unzip -l  home.zip # 不解压,查看压缩包中的内容
unzip home.zip  -d /opt/   # 把当前路径下的home.zip 解压到opt目录下

"""tar的使用"""
yum intall tar -y
# 可以同时压缩目录和文件,也支持跨文件夹压缩
tar -czf aa.tar.gz test1.txt test2.txt  # 将test1.txt和test2.txt文件压缩到aa.tar.gz
tar -xf aa.tar.gz  # 解压xx.tar.gz压缩包
tar czf etc.tar.gz --exclude=etc/services etc/  # 排除文件
tar xf /etc/local.tar.gz  -C /tmp  # -C指定解压到哪个路径

c  # 创建新的归档文件
x  # 对归档文件解包
t  # 列出归档文件里的内容列表
v  # 输入命令归档或解包的过程
f  # 指定包文件名【多参数f写到最后面】
z  # 使用gzip压缩归档后的文件(.tar.gz)
j  # 使用bzip2压缩归档后的文件(.tar.bz2)
J  # 使用xz压缩归档后的文件(.tar.xz)
C  # 指定解压目录位置
X  # 排除多个文件(写入需要排除的文件名称)
h  # 打包软链接

czf  # 打包tar.gz格式
cjf  # 打包tar.bz格式
cJf  # 打包tar.xz格式
zxf  # 解压tar.gz格式
jxf  # 解压tar.bz格式
xf   # 自动选择解压模式
tf   # 查看压缩包内容

二、软件管理

1、rpm

1、什么是rpm?

RPM全称是(RedHat Package Manager),是由红毛开发用于软件包的安装升级卸载与查询。

2、rpm包名组成部分

3、如何获取rpm包?

我们可以在linux中执行mount /dev/cdrom /mnt【将光盘挂载到/mnt文件夹下】,此时便可以在/mnt/Packages目录下看到很多的rpm包文件。

4、linux中处理rpm的安装软件,还有那些安装软件方式?

分类 安装 版本
rpm包 预先编译打包,安装简单 软件版本偏低
源码包 手动编辑打包,安装繁琐 软件版本随意
二进制包 解压即可使用,安装简单 不能修改源码
-源码安装-->官网下源码--》编译安装---》最新
-rpm包,预先编译打包,安装简单,yum安装,本质就是rmp安装--》稍微老一些
-二进制包:绿色包

5、rpm包如何安装?

以下为rpm命令进行安装的软件的常用参数。

选项 描述
-i 安装rpm
-v 显示安装详细信息
-h 显示安装rpm进度
--force 强制重新安装
--nodeps 忽略依赖关系
"""rpm包安装"""
# 安装rpm的软件
rpm -ivh /mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm  
或者 
cd /mnt/Packages/  # 在软件所在目录下可以不指定绝对路径
rpm -ivh tree-1.6.0-10.el7.x86_64.rpm

# 如果软件包存在,强制再次安装
rpm -ivh --force /mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm

# 安装samba服务需要依赖其它组件,使用--nodeps可重新强制安装
rpm -ivh --nodeps /mnt/Packages/samba-4.8.3-4.el7.x86_64.rpm

6、如何查询已安装好的rpm包?

选项 描述
rpm -q 查看指定软件包是否安装
rpm -qa 查看系统中已安装的所有rpm软件包列表
rpm -qi 查看指定软件的详细信息
rpm -ql 查询指定软件包所安装的目录、文件列表
rpm -qc 查询指定软件包的配置文件
rpm -qf 查询文件或目录属于哪个rpm软件
rpm -qip 查询未安装的rpm包详细信息
rpm -qlp 查询安装的软件包会产生哪些文件
"""查询rpm包"""
# 查询tree这个rpm包是否安装
rpm -q tree  # 类似于 rpm -qa |grep tree
rpm -qa |grep tr  # 列出所有安装的软件
rpm -qi tree  # 查看指定软件的详细信息
rpm -ql tree   # 查询指定软件包所安装的目录、文件列表
...
rpm -qf /etc/pam.d/vsftpd  # 查看配置文件属于哪个软件
rpm -qlp tree-1.6.0-10.el7.x86_64.rpm  # 查看该软件包安装后会释放哪些文件

"""使用远程地址安装rpm包"""
rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/7/x86_64/zabbix-agent-3.0.8-2.el7.x86_64.rpm
    
"""升级软件"""
rpm -Uivh  # 升级软件需要用U【加U即可】 

"""卸载rpm包"""
rpm -e tree  

2、yum

1、什么是yum?

yum是RedHat以及centos中软件包管理器,能够通过联网下载.rpm包并且安装,可以自动处理依赖性关系,无需繁琐的一次次的进行下载、安装。

2、yum源是什么?

要想成功使用yum工具安装更新软件或系统,就需要有一个包含各种rpm软件包的repository(软件仓库),这个仓库我们习惯称为yum源(可以是本地源、网络源)。

3、yun源配置

我们可以是用cd /etc/yum.repos.d/路径下,查看yum源,即为.repo文件。【默认配置的源可能缺少软件,需要我们手动进行源配置】

"""如何更换阿里云的源?"""
# 将ttps://mirrors.aliyun.com/repo/Centos-7.repo下载到/etc/yum.repos.d/下,替换掉CentOS-Base.repo
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
    
"""扩展源:epel扩展源"""
# 下载epel-7.repo到/etc/yum.repos.d/下,如此就可以下载默认源中没有的软件,如【nginx】
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
    
"""补充"""
systemctl start nginx  # 启动程序
systemctl restart nginx  # 重启程序
systemctl stop firewalld.service  # 关闭防火墙


这篇关于第六篇:linux之解压缩、软件管理的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程