searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

Linux之软件安装apt-get-天翼云

2026-07-08 14:58:44
0
0

一、apt-get到底是什么?为什么要装它?

apt-get是Debian及其衍生发行版(Ubuntu、Deepin、Linux Mint等)中最核心的命令行包管理工具。它的工作原理并不复杂:从远程软件仓库(Repository)拉取.deb格式的软件包,自动处理依赖关系,然后完成安装、升级或卸载。

说白了,它就是Linux世界里的"应用商店后台引擎"。

在天翼云上创建一台Ubuntu或Debian系统的云主机后,你会发现系统默认已经内置了apt-get。但在一些最小化安装的镜像容器环境中,apt-get可能缺失或损坏。这时候,你就需要手动安装或修复它。


二、在天翼云服务器上安装apt-get的完整步骤

如果你的系统提示 apt-get: command not found,别慌,按下面的步骤来:

第一步:确认你的发行版

先执行以下命令查看系统信息:

bash
cat /etc/os-release

如果输出中包含 Debian 或 Ubuntu 字样,说明你的系统确实是Debian系,只是apt组件缺失。如果显示的是 CentOSFedoraAlpine,那你用的根本不是apt-get体系,请直接换用 yumdnf 或 apk

第二步:更新系统(如果还能用其他工具)

如果系统里还有 dpkg 命令,可以先尝试:

bash
dpkg --get-selections | grep apt

查看apt相关包是否存在。如果存在但损坏,执行:

bash
sudo dpkg --configure -a
sudo apt-get -f install

-f 参数的意思是"fix broken",专门用来修复损坏的依赖关系。

第三步:手动安装apt-get(终极方案)

如果上述方法都不行,说明APT工具链已经完全缺失。此时需要手动下载.deb包来恢复:

  1. 先用 wget 或 curl 下载apt核心包(以Ubuntu 20.04为例):
bash
wget http://archive.ubuntu.com/ubuntu/pool/main/a/apt/apt_2.0.6_amd64.deb
  1. 用dpkg安装:
bash
sudo dpkg -i apt_2.0.6_amd64.deb
  1. 安装完成后,修复依赖:
bash
sudo apt-get -f install
sudo apt-get update

到这一步,apt-get就彻底复活了。


三、apt-get核心命令:开发工程师必须烂熟于心的操作

装好了apt-get,接下来才是真正的主菜。以下是我在天翼云上日常运维中使用频率最高的命令

1. 更新软件源(每次安装前必做!)

bash
sudo apt-get update

这条命令会从 /etc/apt/sources.list 中配置的镜像源下载最新的软件包列表。不执行这一步就直接安装,大概率会遇到依赖错误或装到过期版本。

在天翼云上,强烈建议把源换成国内镜像(如中科大源、网易源),否则从国外源下载速度会慢到让你怀疑人生。

2. 安装软件

bash
sudo apt-get install package_name

例如安装vim:

bash
sudo apt-get install vim

如果要同时装多个包:

bash
sudo apt-get install curl wget git

实用技巧: 加上 -y 参数可以跳过确认提示,适合写脚本时使用:

bash
sudo apt-get install -y nginx

3. 升级已安装的软件

bash
sudo apt-get upgrade          # 升级所有已安装的包
sudo apt-get dist-upgrade     # 升级整个系统(慎用!)

dist-upgrade 会智能处理依赖关系的变化,但也可能因为"太智能"而删掉你正在用的服务。我的建议是:普通升级用 upgrade,大版本跨跃才考虑 dist-upgrade

4. 卸载软件

bash
sudo apt-get remove package_name        # 卸载包,保留配置文件
sudo apt-get purge package_name         # 卸载包,连配置文件一起删
sudo apt-get autoremove                 # 清理不再需要的依赖包

5. 搜索和查询

不知道包名?先搜:

bash
apt-cache search keyword

想看某个包的详细信息:

bash
apt-cache show package_name

查看某个包依赖哪些其他包:

bash
apt-cache depends package_name

6. 清理缓存(释放磁盘空间)

天翼云的系统盘通常不大,定期清理很有必要:

bash
sudo apt-get clean        # 删除所有已下载的.deb文件
sudo apt-get autoclean    # 只删除过期的.deb文件
sudo apt-get autoremove   # 删除孤儿依赖包

四、apt-get常见报错及解决方案

在天翼云上实操时,我踩过最多的坑就是依赖关系不满足

错误现象:

 
The following packages have unmet dependencies:
xxx : Depends: yyy (>= 1.2.3) but 1.0.0 is installed

解决方案(按优先级排列):

方案一:修复依赖(最常用)

bash
sudo apt-get -f install

90%的依赖问题,这一条命令就能搞定。

方案二:更新源后重试

bash
sudo apt-get update
sudo apt-get -f install

很多时候依赖不满足只是因为源里的版本更新了,本地信息过期了。

方案三:强制安装指定版本

bash
sudo apt-get install package_name=1.2.3

方案四:检查是否有包被hold住

bash
dpkg --get-selections | grep hold

如果有包被锁定,解除锁定:

bash
echo "package_name install" | sudo dpkg --set-selections

五、apt-get vs apt:开发工程师该用哪个?

从Ubuntu 16.04开始,系统推荐使用 apt 命令替代 apt-get。两者的区别:

特性 apt-get apt
交互性 弱,适合脚本 强,有进度条
推荐场景 Shell脚本、自动化运维 日常手动操作
版本 更底层、更稳定 封装层,功能更友好

我的习惯是:写脚本用 apt-get,日常操作用 apt 比如:

bash
apt install nginx        # 日常用这个,有进度条看着爽
apt-get install -y nginx # 脚本里用这个,安静不啰嗦

六、在天翼云上使用apt-get的最佳实践

基于我在天翼云上多年的实操经验,总结几条铁律:

  1. 先update,再install——这是铁律,违反必出错。
  2. 镜像源一定要换国内的——天翼云的内网带宽虽然不错,但跨境拉取软件包依然慢,换成国内源能提速5-10倍。
  3. 不要轻易用dist-upgrade——尤其是生产环境,一个不小心可能把数据库服务给升没了。
  4. 定期clean和autoremove——系统盘空间有限,别让缓存吃满磁盘。
  5. 重要操作前备份 /var/lib/dpkg/status——这个文件是APT的"账本",一旦损坏,apt-get会进入假死状态,修复起来非常痛苦。

结语

apt-get看似只是一条命令,实则是整个Debian系生态的基石。在天翼云上运维Linux服务器,无论是部署Web服务、搭建开发环境,还是管理数据库,都绕不开它。把上面这些命令和排错技巧吃透,你在天翼云上的Linux运维效率至少翻一倍。

0条评论
作者已关闭评论
窝补药上班啊
1449文章数
7粉丝数
窝补药上班啊
1449 文章 | 7 粉丝
原创

Linux之软件安装apt-get-天翼云

2026-07-08 14:58:44
0
0

一、apt-get到底是什么?为什么要装它?

apt-get是Debian及其衍生发行版(Ubuntu、Deepin、Linux Mint等)中最核心的命令行包管理工具。它的工作原理并不复杂:从远程软件仓库(Repository)拉取.deb格式的软件包,自动处理依赖关系,然后完成安装、升级或卸载。

说白了,它就是Linux世界里的"应用商店后台引擎"。

在天翼云上创建一台Ubuntu或Debian系统的云主机后,你会发现系统默认已经内置了apt-get。但在一些最小化安装的镜像容器环境中,apt-get可能缺失或损坏。这时候,你就需要手动安装或修复它。


二、在天翼云服务器上安装apt-get的完整步骤

如果你的系统提示 apt-get: command not found,别慌,按下面的步骤来:

第一步:确认你的发行版

先执行以下命令查看系统信息:

bash
cat /etc/os-release

如果输出中包含 Debian 或 Ubuntu 字样,说明你的系统确实是Debian系,只是apt组件缺失。如果显示的是 CentOSFedoraAlpine,那你用的根本不是apt-get体系,请直接换用 yumdnf 或 apk

第二步:更新系统(如果还能用其他工具)

如果系统里还有 dpkg 命令,可以先尝试:

bash
dpkg --get-selections | grep apt

查看apt相关包是否存在。如果存在但损坏,执行:

bash
sudo dpkg --configure -a
sudo apt-get -f install

-f 参数的意思是"fix broken",专门用来修复损坏的依赖关系。

第三步:手动安装apt-get(终极方案)

如果上述方法都不行,说明APT工具链已经完全缺失。此时需要手动下载.deb包来恢复:

  1. 先用 wget 或 curl 下载apt核心包(以Ubuntu 20.04为例):
bash
wget http://archive.ubuntu.com/ubuntu/pool/main/a/apt/apt_2.0.6_amd64.deb
  1. 用dpkg安装:
bash
sudo dpkg -i apt_2.0.6_amd64.deb
  1. 安装完成后,修复依赖:
bash
sudo apt-get -f install
sudo apt-get update

到这一步,apt-get就彻底复活了。


三、apt-get核心命令:开发工程师必须烂熟于心的操作

装好了apt-get,接下来才是真正的主菜。以下是我在天翼云上日常运维中使用频率最高的命令

1. 更新软件源(每次安装前必做!)

bash
sudo apt-get update

这条命令会从 /etc/apt/sources.list 中配置的镜像源下载最新的软件包列表。不执行这一步就直接安装,大概率会遇到依赖错误或装到过期版本。

在天翼云上,强烈建议把源换成国内镜像(如中科大源、网易源),否则从国外源下载速度会慢到让你怀疑人生。

2. 安装软件

bash
sudo apt-get install package_name

例如安装vim:

bash
sudo apt-get install vim

如果要同时装多个包:

bash
sudo apt-get install curl wget git

实用技巧: 加上 -y 参数可以跳过确认提示,适合写脚本时使用:

bash
sudo apt-get install -y nginx

3. 升级已安装的软件

bash
sudo apt-get upgrade          # 升级所有已安装的包
sudo apt-get dist-upgrade     # 升级整个系统(慎用!)

dist-upgrade 会智能处理依赖关系的变化,但也可能因为"太智能"而删掉你正在用的服务。我的建议是:普通升级用 upgrade,大版本跨跃才考虑 dist-upgrade

4. 卸载软件

bash
sudo apt-get remove package_name        # 卸载包,保留配置文件
sudo apt-get purge package_name         # 卸载包,连配置文件一起删
sudo apt-get autoremove                 # 清理不再需要的依赖包

5. 搜索和查询

不知道包名?先搜:

bash
apt-cache search keyword

想看某个包的详细信息:

bash
apt-cache show package_name

查看某个包依赖哪些其他包:

bash
apt-cache depends package_name

6. 清理缓存(释放磁盘空间)

天翼云的系统盘通常不大,定期清理很有必要:

bash
sudo apt-get clean        # 删除所有已下载的.deb文件
sudo apt-get autoclean    # 只删除过期的.deb文件
sudo apt-get autoremove   # 删除孤儿依赖包

四、apt-get常见报错及解决方案

在天翼云上实操时,我踩过最多的坑就是依赖关系不满足

错误现象:

 
The following packages have unmet dependencies:
xxx : Depends: yyy (>= 1.2.3) but 1.0.0 is installed

解决方案(按优先级排列):

方案一:修复依赖(最常用)

bash
sudo apt-get -f install

90%的依赖问题,这一条命令就能搞定。

方案二:更新源后重试

bash
sudo apt-get update
sudo apt-get -f install

很多时候依赖不满足只是因为源里的版本更新了,本地信息过期了。

方案三:强制安装指定版本

bash
sudo apt-get install package_name=1.2.3

方案四:检查是否有包被hold住

bash
dpkg --get-selections | grep hold

如果有包被锁定,解除锁定:

bash
echo "package_name install" | sudo dpkg --set-selections

五、apt-get vs apt:开发工程师该用哪个?

从Ubuntu 16.04开始,系统推荐使用 apt 命令替代 apt-get。两者的区别:

特性 apt-get apt
交互性 弱,适合脚本 强,有进度条
推荐场景 Shell脚本、自动化运维 日常手动操作
版本 更底层、更稳定 封装层,功能更友好

我的习惯是:写脚本用 apt-get,日常操作用 apt 比如:

bash
apt install nginx        # 日常用这个,有进度条看着爽
apt-get install -y nginx # 脚本里用这个,安静不啰嗦

六、在天翼云上使用apt-get的最佳实践

基于我在天翼云上多年的实操经验,总结几条铁律:

  1. 先update,再install——这是铁律,违反必出错。
  2. 镜像源一定要换国内的——天翼云的内网带宽虽然不错,但跨境拉取软件包依然慢,换成国内源能提速5-10倍。
  3. 不要轻易用dist-upgrade——尤其是生产环境,一个不小心可能把数据库服务给升没了。
  4. 定期clean和autoremove——系统盘空间有限,别让缓存吃满磁盘。
  5. 重要操作前备份 /var/lib/dpkg/status——这个文件是APT的"账本",一旦损坏,apt-get会进入假死状态,修复起来非常痛苦。

结语

apt-get看似只是一条命令,实则是整个Debian系生态的基石。在天翼云上运维Linux服务器,无论是部署Web服务、搭建开发环境,还是管理数据库,都绕不开它。把上面这些命令和排错技巧吃透,你在天翼云上的Linux运维效率至少翻一倍。

文章来自个人专栏
文章 | 订阅
0条评论
作者已关闭评论
作者已关闭评论
0
0