Linux常用命令–软件包管理
RPM
rpm是RedHat Package Manager的缩写,用于互联网打包和安装工具,生成有.rpm扩展名的文件。
查询
显示已安装
rpm -qa
查询是否安装
rpm -qa | grep 包名
或者
rpm -q 包名
如:
rpm -qa | grep firefox
或
rpm -q firefox
返回:
firefox-60.2.2-1.el7.centos.x86_64
这段文字代表的意思:
firefox: 软件包的名称
60.2.2-1: 版本号
el7.centos.x86_64: 使用操作系统
el7是Red Hat 7.x,CentOS 7.x和CloudLinux 7.x的下载。其他的如:el6、el8等以此类推。
x86_64:64位系统
假如是
- i386/i686表示32位系统(i686是i386的一个子集,仅对应P6及以上级别的CPU,i386则广泛适用于80386以上的各种CPU)
- noarch表示通用
查询软件包信息
rpm -qi 包名
,如:
rpm -qi firefox
查询软件包的文件
rpm -ql 包名
,如:
rpm -ql firefox
查询文件所属软件包
rpm -qf 路径
,如:
rpm -qf /etc/passwd
安装
rpm -ivh 软件包的路径
(
-i
安装;
-v
提示;
-h
进度条)
卸载
rpm -e 包名
假如提示有依赖关系的话,建议不要卸载,当然也可以带上
--nodeps
强制卸载。
YUM
yum是一个基于rpm的shell前端软件管理器,可以从指定服务器中下载rpm包并且安装,不再需要个rpm一样需要提前把包下载到本地,而且yum还能自动处理依赖关系。
查询
yum list | grep 包名
查询服务器是否有需要安装的软件 如:
yum list | grep firefox
yum list installed | grep 包名
查询本地是否已经安装 如:
yum list installed | grep firefox
安装、更新
yum install 包名
安装指定yum包, 如:
yum install firefox
yum update
全部更新
yum check-update
检查可更新的程序
yum update 包名
更新指定软件,如
yum updata firefox
卸载
yum remove 包名
删除指定的rpm软件包;如:
yum remove firefox
清除缓存
yum clean packages
清除缓存目录下的软件包
yum clean headers
清除缓存目录下的 headers
yum clean oldheaders
清除缓存目录下旧的 headers
APT
apt是apt advanced packaging tool简称,是Debian Linux发行版中的APT软件包管理工具。所有基于Debian的发行都使用这个包管理系统。deb包可以把一个应用的文件包在一起,大体就如同Windows上的安装文件。
安装
注意:通常在安装软件前,通常需要运行
sudo apt update
获取的最新的软件包列表,以确保您的软件包列表是最新的
sudo apt install 包名
卸载
sudo apt remove 包名
其他
sudo apt serch 包名
搜索应用程序
sudo apt show package
获取包信息
sudo apt source package
下载包的源代码到当前目录
sudo apt install package --reinstall
重新安装包
sudo apt upgrade
升级所有可升级的软件包
sudo apt full-upgrade
在升级软件包时自动处理依赖关系
sudo apt dist-upgrade
更新包,根据依赖关系的变化,添加包,删除包
sudo apt purge
删除包,包括配置文件等
sudo apt build-dep package
安装相关的编译环境,如:
sudo apt build-dep apache2
sudo apt autoremove
自动删除不需要的包
sudo apt depends package
了解使用该包的依赖包
修改源
由于一些linux发行版(如:Ubuntu)的apt源通常是外国的,所以导致安装或更新软件时很慢,通常我们需要修改镜像源地址。
一些常用的镜像源,点击查看
步骤:
- 备份源地址
cp /etc/apt/sources.list /etc/apt/sources.list.bak
- 修改文件
/etc/apt/sources.list
- 获取的最新的软件包列表
sudo apt update
我的github
我的博客
我的笔记