通常 Linux 上的软件安装有四种方式:
- 在线安装
- 从磁盘安装 deb 软件包
- 从二进制软件包安装
- 从源代码编译安装
查看端口的使用情况
lsof查看所有端口的进程-i:端口号查看指定端口号的进程
apt 在线安装
不同的 linux 发行版,在线安装方式会有一些差异【使用的命令,包管理工具 ……】
[!quote] apt
apt 是 Debian 及其派生发行版的软件包管理器,可以自动下载,配置,安装二进制,或者源代码格式的软件包
现在 apt 已经可以安装在支持 rpm 的系统,管理 rpm 包了
[!quote] rpm rpm 是 Red Hat 及其衍生版本【CentOS,Fedora】的包管理工具
更新软件源
我们会在使用 `apt-get` 来安装软件之前,先使用 `sudo apt-get update` 来更新软件源列表
bash
sudo apt-get update
sudo apt-get install 软件- 执行
sudo apt-get update的时候,你的电脑【超市】就会查看所有的软件源【供货商】有没有新的软件【商品】 - 如果不执行这个命令,可能软件源里有新软件了,可是你的电脑不知道
- 所以每次你想要安装新的软件,或者你的电脑有大的改动【更换了软件源……】,你都需要运行
sudo apt-get update来更新你的软件源列表
下载安装
sudo apt-get install 软件包名-y在后续安装过程中,如果出现询问是否安装时自动回答 " 是 "--reinstall重新安装软件包-q静默安装-d只下载,不安装-f修复损坏的依赖关系【用于在dpkg安装依赖失败时】
bash
sudo apt-get --reinstall -y install 软件包名如果在安装软件之后,无法使用 `Tab` 键补全这个命令,可以执行 `source ~/.zshrc` 【在当前 shell 中重新加载并执行 `.zshrc` 文件中的命令】
升级
不解决依赖问题
`sudo apt-get upgrade` 会尽量避免升级那些会引发依赖问题的软件包【如果升级一个软件包需要升级,或删除其他的软件包,那么就不会升级这个软件包
sudo apt-get upgrade升级已安装的可更新的所有软件包
解决依赖问题
`dist-upgrade` 有一定的危险性
sudo apt-get dist-upgrade如果某个已安装的软件包的新版本需要更改依赖关系,dist-upgrade将处理这种依赖关系
卸载软件
mermaid
graph LR
C[apt-get remove] --> D[删除软件,保留配置文件和被依赖的软件包]
E[apt-get purge] --> F[删除软件和配置文件,保留被依赖的软件包]
G[apt-get autoremove] --> H[删除不再需要的被依赖的软件包]不完全卸载
sudo apt-get remove 软件包名删除软件,不移除软件的配置文件,不移除跟该软件有依赖关系的软件包
完全卸载
sudo apt-get purge 软件包名删除软件,移除配置文件,不移除跟该软件有依赖关系的软件包
卸载不再需要的软件包
sudo apt-get autoremove卸载之前被其他软件依赖,但现在不再被使用的软件包
清除安装文件
`/var/cache/apt/archives/` 下存放了所有已下载的软件包安装文件,这些文件在安装,升级完成后,就没有用处了,可以使用 `apt-get clean` 清理硬盘空间
apt-get clean移除在/var/cache/apt/archives/下的所有的软件包apt-get autoclean只移除不再需要的旧版本的软件包文件
搜索软件包
`apt-cache` 是对本地数据进行相关操作的工具
sudo apt-cache search softname1 softname2 softname3……确认软件源中搜索有没有某个软件可用,不是搜索已安装的软件包
| 参数 | 说明 |
|---|---|
-s | 模拟安装 |
--install-suggests | 同时安装 APT 给出的建议安装的软件包 |
dpkg 本地安装
[!quote]
dpkg【debian package】dpkg是 Debian 软件包管理器的基础,与 rpm 十分相似,同样被用于安装,卸载,供给.deb 软件包相关的信息
dpkg从本地磁盘安装.deb 软件包-i安装指定.deb 包【安装时不会自动下载依赖的软件包】-I显示deb包文件的信息【依赖的其他软件包 ……】-L查看已安装软件包的目录信息-R后面加上目录名,用于安装该目录下的所有 deb 安装包-r移除某个已安装的软件包-s显示已安装软件的信息-S搜索已安装的软件包
bash
sudo apt-get update
# 只下载,不安装
sudo apt-get -d install -y emacs
cp /var/cache/apt/archives/emacs24_24.5+1-6ubuntu1.1_amd64.deb ~
cd ~
# 安装之前参看deb包的信息,发现有依赖其他软件包
sudo dpkg -I emacs24_24.5+1-6ubuntu1.1_amd64.deb
# 使用dpkg安装
sudo dpkg -i emacs24_24.5+1-6ubuntu1.1_amd64.deb
# 出现依赖问题 ……
# 使用 apt-get 解决
sudo apt-get update
sudo apt-get -f -y install
# 安装成功,运行
emacs24二进制软件包
- 从网络上下载的二进制包解压后放到合适的目录
- 从网络上下载一个二进制包【通常包含了预编译的软件,和其他必要文件的压缩包】
- 下载完成后,将压缩包解压,并将解压后的文件放到 Linux 系统的一个合适的目录中
- 将包含可执行的主程序文件的目录添加进
PATH环境变量- 找到解压后包中的可执行文件
- 将这个主程序文件所在的目录添加到
PATH环境变量中