第六篇: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"""
posted @ 2021-08-06 17:51  YangYi215  阅读(202)  评论(0编辑  收藏  举报