Linux 中的软件,可以粗略分为三部分:
/usr/local
中)/etc
中)如果需要直接通过输入命令执行,需要在 /usr/bin
或 /usr/sbin
创建链接,指向可执行文件;或者是把可执行文件所在路径添加到 PATH
中。
软件所需的依赖项需要另外安装,并正确链接。
传统方式安装软件,需要把这几部分有序摆放,并需处理好依赖关系。
软件包搭配包管理器,能够自动安装软件,相当于 Windows 中的安装程序。
不同发行版的 Linux 有不同的包管理器。
作用:方便组织、安装软件包,自动配置好依赖、路径、配置等,方便下载。
在公司内网等网络环境下,要自行配置软件源;包管理器从软件源获取软件列表,需手动更新软件列表和软件。
包管理器一般需要 root 用户权限。
apt
(Advanced Packaging Tool)软件源列表:/etc/apt/sources.list
deb http://mirrors.fsc.efoxconn.com/apt focal main restricted
deb http://mirrors.fsc.efoxconn.com/apt focal-updates main restricted
deb http://mirrors.fsc.efoxconn.com/apt focal universe
deb http://mirrors.fsc.efoxconn.com/apt focal-updates universe
deb http://mirrors.fsc.efoxconn.com/apt focal multiverse
deb http://mirrors.fsc.efoxconn.com/apt focal-updates multiverse
deb http://mirrors.fsc.efoxconn.com/apt focal-security main restricted
deb http://mirrors.fsc.efoxconn.com/apt focal-security universe
deb http://mirrors.fsc.efoxconn.com/apt focal-security multiverse
......
deb http://mirrors.fsc.efoxconn.com/apt focal-security multiverse
# deb-src http://mirrors.fsc.efoxconn.com/apt focal-security multiverse
# deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable
# deb-src [arch=amd64] https://download.docker.com/linux/ubuntu focal stable
配置好软件源后需要更新;平常也可以定期更新。
sudo apt update
Hit:1 http://mirrors.fsc.efoxconn.com/apt focal InRelease
Get:2 http://mirrors.fsc.efoxconn.com/apt focal-updates InRelease [114 kB]
Get:3 http://mirrors.fsc.efoxconn.com/apt focal-backports InRelease [108 kB]
......
Fetched 5,711 kB in 6s (1,006 kB/s)
Reading package lists... Done
Building dependency tree
Reading state information... Done
28 packages can be upgraded. Run 'apt list --upgradable' to see them.
安装 / 更新软件包:
sudo apt install 软件包名
卸载软件包:
sudo apt remove 软件包名
移除软件包及配置文件:
sudo apt purge 软件包名
可以同时操作多个软件包。
查找软件包:
apt search 软件包名或者一部分
查看软件包信息:
sudo apt show 软件包名
更新全部软件包:
sudo apt upgrade
dpkg
(Debian Package)安装(扩展名一般是 .deb
):
sudo dpkg –i 软件包路径
需自行解决依赖问题,修复依赖关系:
sudo apt-get install -f
卸载:
sudo dpkg –r 软件包名
yum
(Yellow dog Updater, Modified)软件源列表目录:/etc/yum.repos.d/
ding@ding-server:~$ ls /etc/yum.repos.d/
CentOS-Base.repo epel-apache-maven.repo.bak
CentOS-Base.repo.bak epel-testing.repo
...
软件源列表一例:/etc/yum.repos.d/CentOS-Base.repo
:
[base]
name=CentOS-$releasever - Base
baseurl=http://mirrors.fsc.efoxconn.com/yum7/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
[updates]
name=CentOS-$releasever - Updates
baseurl=http://mirrors.fsc.efoxconn.com/yum7/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
[extras]
name=CentOS-$releasever - Extras
baseurl=http://mirrors.fsc.efoxconn.com/yum7/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
[centosplus]
name=CentOS-$releasever - Plus
baseurl=http://mirrors.fsc.efoxconn.com/yum7/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
清理缓存:
sudo yum clear all
将软件包信息缓存至本地:
sudo yum makecache
更新软件包:
sudo yum update [软件包名]
安装软件包:
sudo yum install 软件包名
卸载软件包:
sudo yum remove 软件包名
可以同时操作多个软件包。
查找软件包:
sudo yum list 软件包名或者一部分
rpm
(Redhat Package Manager)安装软件包(扩展名一般是 .rpm
):
sudo rpm -ivh 软件包路径(也可以是 URL)
卸载软件包
sudo rpm -e 软件包名
可以同时操作多个软件包。
需自行解决依赖问题。
如需要了解从二进制文件、源码安装、切换版本等知识,请参阅 软件安装进阶。