linux操作系统4 软件包管理
知识内容:
1.软件包介绍
2.基本软件包安装
3.yum软件包管理
4.apt软件包管理
5.源码安装
一、软件包介绍
1.软件包分类
- 压缩包形式:类似.tar.gz结尾的文件(源码)
- rpm: rpm是RedHat package Manager的缩写,是一种软件包管理标准(文件后缀名为.rpm)
- deb:deb是Debian package的缩写,是Debian和Ubuntu系列发行版本上使用的软件包格式(文件后缀名为.deb)
注:Ubuntu中的软件包格式为.deb,默认不支持rpm包,若要安装rpm包,应使用alien工具(需自行安装)将.rpm转化成.deb
2.不同软件包对应的安装方式
- 压缩包:编译安装
- rpm:rpm命令、yum命令
- deb:dpkg命令、apt命令
二、基本软件包安装
1.deb软件包
(1)deb软件包介绍
deb软件包需要使用dpkg工具进行管理,dpkg本身就是一个底层的工具;而apt则是位于其上层的工具,用于从远程获取软件包以及处理复杂的软件包关系
(2)dpkg使用
1 dpkg -l 软件包名 查看软件包的简要信息
2 dpkg -s 软件包名 查看软件包的详细信息
3 dpkg -i 软件包名 安装软件包
4
5 卸载软件包
6 dpkg -r 软件包名 -> 保留配置文件
7 dpkg -p 软件包名 -> 删除配置文件
2.rpm软件包
(1)rpm文件名
rpm文件名分为5部分,依次是:
- name,表示这个rpm软件包的名称
- version,表示这个rpm软件包的版本编号
- release,表示这个rpm软件包的版本发布次数(修正号码)
- architectures,表示这个rpm软件包适用于哪些平台
- rpm,表示这个rpm软件包的文件扩展名
示例:
注:release最后一位如果是奇数表示软件包为测试版本,偶数表示为发行版本,例如最下面一行的zsh-4.3.11-4.el6.centos.2.x86_64.rpm为测试版本
(2)rpm软件包的安装与移除
rpm软件安装与移除工作中经常使用的选项:
- –i:安装(Install)软件。
- –U:升级(Upgrade)旧版本的软件。
- –e:移除/删除(Erase)软件。
- –v:显示详细的处理信息。
- –h:显示安装进度。卸载不能用
实例:
1 rpm -i 软件包名/网址 安装软件 2 rpm -ivh 软件包名 安装软件(显示详细信息及进度) 3 4 rpm -e 软件包名 卸载\删除软件
注:也可以使用wget命令从网址上下载安装包再使用rpm命令安装
(3)查看rpm软件包中的信息
常用的查询已安装的软件包信息的命令:
- rpm -q: 显示操作系统上安装的某个软件包
- rpm –qa:显示目前操作系统上安装的全部软件包,其中q是query(查询)的第1个字母,a是all(全部)的第1个字母
- rpm –qf 文件名:显示这个文件是由哪个软件包安装的,f是file(文件)的第1个字母。
- rpm –qi 软件包名:显示这个软件包的信息,i是information(信息)的第1个字母
- rpm –ql 软件包名:列出这个软件包中所包含的全部文件,其中l是list的第1个字母
实例:
1 rpm -q dhcp 显示已安装的dhcp 2 rpm –qa | grep dhcp 列出软件包名中包含dhcp的软件包的信息 3 rpm –qf /bin/tar 列出安装/bin/tar文件的软件包 4 rpm –qi tar-1.14-10.RHEL4 列出tar-1.14-10.RHEL4这个软件包的详细信息 5 rpm –ql tar p数据包 列出tar-1.14-10.RHEL4这个软件包中所包含的全部文件
(4)rpm安装软件的缺点
rpm包安装软件的时候不会自动解决软件之间的依赖关系,需要手动去下载依赖的软件包安装
3.run与bin二进制包软件包安装
run与bin二进制包安装方法类似,如下所示:
1 (1)为文件增加可执行属性 2 sudo chmod +x 文件名.run 3 4 (2)在终端中执行该文件 5 sudo ./文件名.run
如果要卸载用run安装包安装的软件,可以到安装目录中执行此uninstall脚本:
1 sudo ./uninstall
三、yum软件包管理
1.yum简介
yum的功能:yum是Yellow dog Updater, Modified的缩写,目的就是为了解决RPM的依赖关系的问题,方便使用者进行软件的安装、升级等等工作
2.yum配置
yum的配置一般有两种方式,一种是直接配置/etc目录下的yum.conf文件,另外一种是在/etc/yum.repos.d目录下增加.repo文件。
本地yum配置
1 # mount /dev/cdrom /mnt #挂载光盘到/mnt目录 2 # cd /etc/yum.repos.d/ 3 # ls 4 rhel-source.repo 5 # cp rhel-source.repo rhel.repo #拷贝一份配置文件 6 vi rhel.repo 7 #编辑配置文件如下: 8 [local] # 模块名称,须修改不能与其他.repo文件中的重名 9 name=local yum # 名称随便起 10 baseurl=file:///mnt # 指定rpm仓库的位置(也可以为网络地址,网络地址的写法示例:协议名(http or https)://域名(mirror.centos.org)/地址) 11 enabled=1 # 1开启该配置,0为关闭 12 gpgcheck=1 # 1为校对软件 13 14 # 安装软件: 15 # yum install vsftpd httpd #安装vsftpd及httpd服务
详细配置yum:https://blog.csdn.net/qq_27754983/article/details/73693061
3.yum常用操作
1 yum安装软件: 2 yum –y install 软件名 3 yum删除软件: 4 yum –y remove 软件名 5 6 yum安装组件: 7 yum –y groupinstall 组件名 8 yum删除组件: 9 yum –y groupremove 组件名 10 11 清除yum缓存: 12 yum clean all 13 yum查找软件包: 14 yum search
四、apt软件包管理
1.apt工具简介
apt是Debian Linux发行版中的软件包管理工具。所有基于Debian的发行版linux系统(例如Ubuntu)都使用这个包管理系统,
2.apt-get基本使用
(1)使用apt-cache命令查询软件包
1 apt-cache pkgnames 列出当前所有可用的软件包 2 apt-cache search httpd 查找使用参数(可以使用正则模糊匹配)定义的软件包并列出该包的相关信息 3 apt-cache show 软件包名 查看指定名称的软件包的详细信息 4 apt-cache depends 软件包名 查看软件包所依赖的软件包 5 apt-cache rdepends 软件包名 查看软件包被那些包所依赖 6 apt-cache showpkg 软件包名 查看软件包的依赖关系信息 7 apt-cache policy 软件包名 显示软件包的安装状态和版本信息
(2)使用apt-get命令操作软件包
1 apt-get update 获取最新的软件包列表 2 apt-get upgrade 更新当前系统所有已安装的软件包,并同时更新这些软件包所依赖的软件包 3 apt-get install 下载、安装软件包并自动解决依赖关系 4 apt-get remove 卸载指定的软件包 5 apt-get autoremove 自动卸载未使用的软件包 6 apt-get purge 卸载指定的软件包及其配置文件 7 apt-get source 下载软件包的源代码 8 apt-get clear 清理已下载的软件包 9 apt-get autoclean 删除已卸载的软件的软件包备份
五、源码安装
源码安装的步骤以python3.6安装为例,其他源码的安装方法和此类似
1 (1)下载python3.6源码 -> 使用wget命令 2 在python官网上找到链接: https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tar.xz 3 下载源码:https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tar.xz 4 5 (2)解压下好的源码 6 tar -xvf Python-3.6.5.tar.xz 7 8 (3)cd到刚解压的目录后,对源文件进行编译安装(./configure: 添加编译参数 make: 编译 make install: 安装) 9 cd Python-3.6.5 10 ./configure 11 make 12 make install 13 14 (4)给Python3起一个别名 15 alias python=python3