讲解

Linux 装软件不像 Windows 那样去网站下安装包,而是用「包管理器」——它维护一个软件仓库索引,你点名要什么,它负责下载、安装、处理依赖、以后还能统一升级。Debian/Ubuntu 系用 apt,CentOS/Fedora 系用 dnf(老的叫 yum),Arch 用 pacman,macOS 的等价物是 Homebrew(brew)。概念相通,命令大同小异。

apt 的日常四件事:sudo apt update 刷新软件索引(不是升级软件,只是更新「菜单」,装东西前都应该先跑);sudo apt install 包名 安装;sudo apt remove 包名 卸载(保留配置),sudo apt purge 包名 连配置一起清;apt search 关键词 搜索、apt show 包名 看详情。批量升级系统里所有软件是 sudo apt upgrade。

两个进阶概念了解一下:PPA 是第三方软件源,能装到官方仓库没有的版本,但等于信任了源的主人,别乱加; snap 和 flatpak 是跨发行版的打包格式,Ubuntu 上常遇到,理念是把依赖打包在一起避免冲突,代价是体积大。日常服务器管理,官方仓库 + apt 四件套已经足够。

示例

先检测一下当前系统上有哪些包管理器:

# 逐个探测常见包管理器是否存在
for pm in apt-get dnf yum pacman brew; do
  if command -v "$pm" > /dev/null 2>&1; then
    echo "检测到包管理器:$pm"
  fi
done
echo "提示:Linux 服务器上通常能看到 apt-get 或 dnf,macOS 上是 brew"

apt 需要 Debian/Ubuntu 系统和管理员权限,以下仅作演示:

# 仅示意:标准安装流程——先刷新索引,再安装
sudo apt update
sudo apt install -y nginx

# 仅示意:搜索与查看详情(不需要 sudo)
apt search "http server"
apt show nginx

# 仅示意:卸载(remove 留配置,purge 全清),以及升级全部软件
sudo apt remove nginx
sudo apt upgrade

常见坑

  • 装之前不 update:索引过期会装到旧版本甚至报 404。养成 apt update && apt install 连写的习惯。
  • remove 以为删干净了:配置文件还在 /etc 里,想彻底清用 purge;不小心 purge 了配置则无法恢复。
  • 无脑加 PPA/第三方源:每个第三方源都是一份信任,被投毒的源可以给你装任何东西。
  • 把 brew 当 Linux 用:brew 是 macOS 社区方案,命令对应关系是 brew install / brew uninstall / brew update && brew upgrade,别在教程里张冠李戴。

小结

包管理器统一负责装、卸、升级和依赖;apt 四件套是 update、install、remove、search。至此单机常用命令已齐,下一节进入 shell 自身:环境变量。