一、yum、apt-get概述
yum 、apt-get是在我们接触linux的时候常见的几种下载方式。
全称 | 应用系统与工具 | |
RPM |
|
|
DPKG |
|
|
apt-get与yum是同一层次的工具。
yum命令运作rpm安装包,该命令在 RedHat系列比如 Centos等发行版的Linux系统上自带,
apt-get命令运作deb安装包,在Debian、Ubuntu等发行版上自带。
二、不推荐在Ubuntu用yum安装
这一点的核心思想是不推荐Ubuntu安装yum。因为apt和yum源代码仓库不一样,如果yum安装了与apt重名软件包,这样可能会造成和ubuntu冲突。
- 经历:
以下例子是自带apt命令的ubuntu14.04,没安装yum命令时使用yum命令进行安装openssl。将会遇到如下问题。
所以上图我在root权限下执行
apt-get install yum
apt安装yum后,执行yum安装命令
yum install openssl-devel -y
得到反馈:repolist:0没有已启用的仓库。
最后查阅资料,发现会造成冲突,停止操作。
https://zhidao.baidu.com/question/1178310982181858059.html最后,搜索到了Ubuntu安装openssl命令,绕了一个大弯解决问题。
3、Ubuntu离线安装与其他操作
- 3.1命令操作
上述都是用命令在线下载代码仓库里的软件。有时候我们会使用下载好的的deb文件、即离线安装。
离线下载:当你有现成的deb。如果要安装现成的这两种包的话,安装deb包的命令是“dpkg -参数”。
- 在Ubuntu中也可以在deb包上双击安装;或者右键-使用软件中心打开安装。
- 在deb包路径下的终端采用
卸载安装包则是使用-r或--recursive,必须指定目录代替包文件
sudo dpkg -r xxx
卸载软件包依然会留有配置文件在系统中
- sudo dpkg -r xxx.deb
清除软件包,才会彻底删除配置文件
- sudo dpkg -i xxx.deb
- sudo dpkg -p xxx.deb
- 其他命令
查询已装软件包
查询
- sudo dpkg -l xxx.deb
详细查询
- sudo dpkg -s xxx.deb
显示软件包文件相关信息
- sudo dpkg -I xxx.deb
列出软件包文件中的文件信息
- sudo dpkg -c xxx.deb
列出已安装软件包中的文件信息
- sudo dpkg -L xxx.deb
- sudo dpkg -s xxx.deb
- 3.2DPKG安装软件包的过程步骤
(1)导出新软件包的控制文件
(2) 如果相同软件包的另一个版本在新软件包安装前已经被安装,则执行就软件包的prerm脚本程序。
(3)运行由软件包提供的postinst脚本程序
(4)解压新文件同时备份旧文件,以便遇到问题时方便修复。
(5)如果另一个版本的同一个软件包在新软件包安装前已经安装,则执行旧软件包中的postrm脚本程序。
执行postrm脚本后会执行新软件包中的preint脚本,因为载入新文件的同时移除了旧文件。
(6)配置软件包
- 3.3DPKG卸载软件包的过程步骤
(1)如果存在prerm脚本程序,先运行prerm脚本程序。
(2)保留配置文件,删除其他的全部文件。
(3)删除/var/lib/dpkg/info目录下软件包的所有配置文件,保留postrm和list文件。
(4)在dpkg数据库中将软件状态修改为删除状态。
- 3.4DPKG清除软件包的过程步骤
(1)删除所有的文件。
(2)如果存在prerm脚本程序,运行postrm脚本。
(3)删除保留的两个文件postrm和list文件,从系统中解除postfix.postrm和postfix.files。
(4)在dpkg数据库中将软件包标记为未安装。
卸载与清除命令使用下面命令,无法从输出上观察两种方式的去呗
dpkg -l xxx.deb