第六篇:linux之解压缩、软件管理
第六篇:linux之解压缩、软件管理
目录
一、解压和压缩
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、yum源配置
我们可以是用cd /etc/yum.repos.d/
路径下,查看yum源,即为.repo
文件。【默认配置的源可能缺少软件,需要我们手动进行源配置】
"""如何更换阿里云的源?"""
# 将https://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
"""python也可以使用yum安装(在阿里云的拓展源中)"""
yum install python36
"""补充"""
systemctl start nginx # 启动程序
systemctl restart nginx # 重启程序
systemctl stop firewalld.service # 关闭防火墙
3、源码安装
1、源码包是什么?
源码包指的是开发者编写好的程序源代码,但没有将其编译为一个能正常使用的工具。
2、为什么学习源码包?
部分软件官方不提供yum安装,同时源码可以安装是最新版本的。
3、源码包优缺点?
- 可以自行修改源代码
- 可以定制需要的相关功能
- 新版软件优先更新源码
- 相对于yum安装软件会复杂很多
4、使用方式
"""向服务器传递文件的几种方式"""
1 wget + 网络地址 # 直接下载tar.gz包
2 下载到windows上,使用rz上传到linux上 # 也是tar.gz包
3 xftp软件来传
4 scp nginx-1.18.0.tar.gz root@101.133.225.166:/home/yangyi1 # 网络拷贝【从windows上传到linux上】
"""举例:源码安装nginx"""
1、下载tar.gz包
[root@yangyi ~]# wget http://nginx.org/download/nginx-1.15.12.tar.gz
2、进行解压,并进入相应目录下
[root@yangyi ~]# tar -xf nginx-1.15.12.tar.gz
[root@yangyi ~]# cd nginx-1.15.12/
3、安装相关依赖【如果没有,则会报错】
yum install -y pcre-devel gcc gcc-c++ make zlib-devel openssl-devel
4、通过configure,生成配置信息,配置相关的选项,安装路径,并生成Makefile,软件安装的信息
[root@yangyi nginx-1.15.12]# ./configure --help # 可执行文件可以--help查看相关帮助
[root@yangyi nginx-1.15.12]# ./configure --prefix=/usr/local/nginx
[root@yangyi nginx-1.15.12]# echo $? # 检查上一个命令是否执行成功
5、将Makefile文件编译成可执行二进制程序,此时/usr/local/nginx可执行文件还不存在,需要执行make install才能copy过去
[root@yangyi nginx-1.15.12]# make
6、将二进制文件拷贝到对应的目录中
[root@yangyi nginx-1.15.12]# make install
7、我们进入/usr/local/nginx/下,可以看到相关目录
- conf: 配置文件
- html: 静态文件存放路径,index.html
- logs: 日志
- sbin: 可执行文件
8、命令
[root@yangyi sbin] ./nginx # 启动
[root@yangyi sbin] nginx -s reload # 重新加载,修改配置文件
[root@yangyi sbin] nginx -s restart # 重启
[root@yangyi sbin] nginx -s stop # 停止
9、在任意路径敲nginx都能执行【三种方式】
1)建立软链接 ln -s /usr/local/nginx/sbin/nginx /sbin/nginx
2)把/usr/loacl/nginx/sbin/路径加入环境变量
3)想使用systemctl管理(制作成系统服务)
"""安装其它软件的源码,步骤类似,如python3"""