在Linux系统安装完成之后,系统会有一些自带的软件可以使用,但是我们使用的时候要手动安装软件来搭建开发环境,本篇就来扯一扯如何安装软件、卸载软件、更新软件以及更换源~
一、软件包、包管理器、软件源
1.软件包
众所周知,在Windows下安装一个软件,首先需要下载软件安装包,然后执行安装包中的安装程序(setup.exe
),因为软件安装包中已经包含了安装软件所需要的各种信息,比如安装位置,版本信息,依赖关系,安装和卸载需要执行的命令等等,所以安装程序会自动帮我们完成软件的安装工作,比如下图是Matlab的安装包:
Linux也是如此,一些软件直接使用压缩包来分发,安装时候直接解压,然后配置环境变量即可。
2. 包管理器和软件源
相比windows在网络上到处找安装包,Linux发行版通常都具有统一的软件包管理器,debian/ubuntu系列使用的是apt,redhat系列使用的是yum。
包管理器所管理的软件包具有一定格式,不再是随心所欲的任何压缩格式,apt使用的是.deb软件包,yum使用的是.rpm软件包。
这些统一格式的软件包放到网络上一个统一的位置处,称为软件源,包管理器直接从软件源搜索并拉取即可,除了官方之外,还有一些国内常用的镜像源:
二、apt包管理器的使用
本文我以ubuntu 18.04为例。
1. 换源
(1)阿里源
vim /etc/apt/sources.list
删除原有文件内容,更换为阿里源(文件内容以官方最新为准):
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
保存退出,更新软件:
sudo apt-get update
2. apt-get常用命令
参考博客:【Linux】- apt-get命令
(1)安装新的软件包
sudo apt-get install <软件包名称>
若安装过程中出错,可使用-f
参数进行修复安装。
(2)卸载已安装的软件包(保留配置文档)
sudo apt-get remove <软件包名称>
(3)卸载一个已安装的软件包(删除配置文档)
sudo apt-get remove --purge <软件包名称>
(4)删除软件包及其依赖的软件包(保留配置文档)
sudo apt-get autoremove <软件包名称>
(5)删除包及其依赖的软件包(删除配置文档)
sudo apt-get autoremove --purge <软件包名称>
(6)强行卸载(有风险)
dpkg --force-all --purge <软件包名称>
(7)更新软件源
sudo apt-get update
该命令会扫描 sources.list 文件中给定的软件源服务器,并为该服务器所具有软件包资源建立索引文件,存放在本地的/var/lib/apt/lists/目录中。 使用apt-get执行安装、更新操作时,都将依据这些索引文件,向软件源服务器申请资源。因此,在计算机设备空闲时,经常使用“apt-get update”命令刷新软件源,是一个好的习惯。
(8)升级系统中所有软件包
sudo apt-get upgrade
将系统中的所有软件包一次性升级到最新版本,可以很方便的完成在相同版本号的发行版中更新软件包。在依赖关系检查后,命令列出了目前所有需要升级的软件包,在得到用户确认后,便开始更新软件包的下载和安装。当然,apt- get upgrade命令会在最后以合理的次序,安装本次更新的软件包。
(9)清理无用的包
sudo apt-get clean && sudo apt-get autoclean
(10)检查是否有损坏的依赖
sudo apt-get check
3. apt-cache常用命令
(1)搜索包
# 搜索软件包
sudo apt-cache search <软件包名称>
(2)获取包的相关信息
sudo apt-cache show <软件包名称>
(3)了解使用依赖
sudo apt-cache depends <软件包名称>
(4)查看该软件包被哪些包依赖
sudo apt-cache rdepends <软件包名称>
4. apt-get相关文件目录
#文件的内容是软件包的描述信息, 该软件包括当前系统所使用的 ubunt 安装源中的所有软件包,其中包括当前系统中已安装的和未安装的软件包.
/var/lib/dpkg/available
#目录是在用 apt-get install 安装软件时,软件包的临时存放路径
/var/cache/apt/archives
#存放的是软件源站点
/etc/apt/sources.list
#使用apt-get update命令会从/etc/apt/sources.list中下载软件列表,并保存到该目录
/var/lib/apt/lists
5. ppa软件源
官方的软件源虽然全,但是安全起见,难免有些限制,一些第三方的软件想要加入官方软件源是非常难的,但是通过软件包文件直接安装的话,又不能很方便的维护和更新,所以就诞生了PPA软件源(Personal Package Archives),它是Ubuntu Launchpad网站提供的一项服务,允许个人用户作为apt源供其它用户下载和更新;
(1)添加PPA软件源
sudo add-apt-repository ppa:user/ppa-name
(2)删除PPA软件源的命令
sudo add-apt-repository --remove ppa:user/ppa-name
三、yum包管理器的使用
源汇总
腾讯源
Ubuntu 18.04:
deb http://mirrors.tencent.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.tencent.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.tencent.com/ubuntu/ bionic-updates main restricted universe multiverse
#deb http://mirrors.tencent.com/ubuntu/ bionic-proposed main restricted universe multiverse
#deb http://mirrors.tencent.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.tencent.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.tencent.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.tencent.com/ubuntu/ bionic-updates main restricted universe multiverse
#deb-src http://mirrors.tencent.com/ubuntu/ bionic-proposed main restricted universe multiverse
#deb-src http://mirrors.tencent.com/ubuntu/ bionic-backports main restricted universe multiverse
Ubuntu 20.04:
deb http://mirrors.tencent.com/ubuntu/ focal main restricted universe multiverse
deb http://mirrors.tencent.com/ubuntu/ focal-security main restricted universe multiverse
deb http://mirrors.tencent.com/ubuntu/ focal-updates main restricted universe multiverse
#deb http://mirrors.tencent.com/ubuntu/ focal-proposed main restricted universe multiverse
#deb http://mirrors.tencent.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.tencent.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.tencent.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.tencent.com/ubuntu/ focal-updates main restricted universe multiverse
#deb-src http://mirrors.tencent.com/ubuntu/ focal-proposed main restricted universe multiverse
#deb-src http://mirrors.tencent.com/ubuntu/ focal-backports main restricted universe multiverse
可以通过wget直接获取配置文件:
# 14.04
wget -O /etc/apt/sources.list https://mirrors.tencent.com/repo/ubuntu14_sources.list
# 16.04
wget -O /etc/apt/sources.list https://mirrors.tencent.com/repo/ubuntu16_sources.list
# 18.04
wget -O /etc/apt/sources.list https://mirrors.tencent.com/repo/ubuntu18_sources.list
# 20.04
wget -O /etc/apt/sources.list https://mirrors.tencent.com/repo/ubuntu20_sources.list