Skip to content

第8章:软件包管理

8.1 软件包管理简介

软件包类型

  • deb包:用于Debian、Ubuntu等基于Debian的发行版
  • rpm包:用于Red Hat、CentOS、Fedora等基于RPM的发行版
  • 源码包:需要编译安装的软件包
  • 二进制包:已经编译好的可执行文件

包管理器

  • Debian/Ubuntu:apt(Advanced Package Tool)
  • CentOS/RHEL:yum(Yellowdog Updater Modified)或 dnf(Dandified YUM)
  • Arch Linux:pacman
  • SUSE:zypper

8.2 Ubuntu/Debian系统:apt命令

apt update

  • 功能:更新软件包列表
  • 示例:
    bash
    $ sudo apt update

apt upgrade

  • 功能:升级已安装的软件包
  • 示例:
    bash
    $ sudo apt upgrade

apt install

  • 功能:安装软件包
  • 格式:sudo apt install 软件包名
  • 示例:
    bash
    $ sudo apt install vim
    $ sudo apt install nginx mysql-server

apt remove

  • 功能:卸载软件包(保留配置文件)
  • 格式:sudo apt remove 软件包名
  • 示例:
    bash
    $ sudo apt remove vim

apt purge

  • 功能:卸载软件包(删除配置文件)
  • 格式:sudo apt purge 软件包名
  • 示例:
    bash
    $ sudo apt purge vim

apt autoremove

  • 功能:自动删除不再需要的依赖包
  • 示例:
    bash
    $ sudo apt autoremove
  • 功能:搜索软件包
  • 格式:apt search 关键词
  • 示例:
    bash
    $ apt search web server

apt show

  • 功能:显示软件包详细信息
  • 格式:apt show 软件包名
  • 示例:
    bash
    $ apt show vim

8.3 CentOS/RHEL系统:yum命令

yum update

  • 功能:更新软件包
  • 示例:
    bash
    $ sudo yum update

yum install

  • 功能:安装软件包
  • 格式:sudo yum install 软件包名
  • 示例:
    bash
    $ sudo yum install vim
    $ sudo yum install nginx mysql-server

yum remove

  • 功能:卸载软件包
  • 格式:sudo yum remove 软件包名
  • 示例:
    bash
    $ sudo yum remove vim
  • 功能:搜索软件包
  • 格式:yum search 关键词
  • 示例:
    bash
    $ yum search web server

yum info

  • 功能:显示软件包详细信息
  • 格式:yum info 软件包名
  • 示例:
    bash
    $ yum info vim

yum list

  • 功能:列出已安装的软件包
  • 示例:
    bash
    $ yum list installed

dnf命令(CentOS 8+)

  • dnf是yum的继任者,用法类似:
    bash
    $ sudo dnf install vim
    $ sudo dnf update
    $ sudo dnf remove vim

8.4 新手常用软件安装

文本编辑器

  • vim:功能强大的文本编辑器

    bash
    $ sudo apt install vim  # Ubuntu/Debian
    $ sudo yum install vim  # CentOS/RHEL
  • nano:简单易用的文本编辑器

    bash
    $ sudo apt install nano  # Ubuntu/Debian
    $ sudo yum install nano  # CentOS/RHEL

网络工具

  • wget:下载工具

    bash
    $ sudo apt install wget  # Ubuntu/Debian
    $ sudo yum install wget  # CentOS/RHEL
  • curl:网络请求工具

    bash
    $ sudo apt install curl  # Ubuntu/Debian
    $ sudo yum install curl  # CentOS/RHEL
  • net-tools:网络工具包(包含ifconfig等命令)

    bash
    $ sudo apt install net-tools  # Ubuntu/Debian
    $ sudo yum install net-tools  # CentOS/RHEL

系统工具

  • htop:交互式进程查看器

    bash
    $ sudo apt install htop  # Ubuntu/Debian
    $ sudo yum install htop  # CentOS/RHEL
  • unzip:解压缩工具

    bash
    $ sudo apt install unzip  # Ubuntu/Debian
    $ sudo yum install unzip  # CentOS/RHEL
  • git:版本控制工具

    bash
    $ sudo apt install git  # Ubuntu/Debian
    $ sudo yum install git  # CentOS/RHEL

8.5 软件安装失败的常见解决方法

网络问题

  • 检查网络连接

    bash
    $ ping google.com
  • 更换软件源

    • Ubuntu/Debian:编辑 /etc/apt/sources.list 文件
    • CentOS/RHEL:编辑 /etc/yum.repos.d/ 目录下的配置文件

依赖问题

  • apt系统

    bash
    $ sudo apt --fix-broken install
  • yum系统

    bash
    $ sudo yum clean all
    $ sudo yum makecache

权限问题

  • 确保使用 sudo 命令获取管理员权限:
    bash
    $ sudo apt install 软件包名

软件包不存在

  • 检查软件包名称是否正确
  • 尝试更新软件包列表后再安装:
    bash
    $ sudo apt update
    $ sudo apt install 软件包名

系统版本问题

  • 确保软件包与系统版本兼容
  • 对于较旧的系统,可能需要添加额外的软件源

实战练习:软件包管理

  1. 更新软件包列表:

    bash
    $ sudo apt update  # Ubuntu/Debian
    $ sudo yum update  # CentOS/RHEL
  2. 安装常用软件:

    bash
    $ sudo apt install vim wget curl net-tools  # Ubuntu/Debian
    $ sudo yum install vim wget curl net-tools  # CentOS/RHEL
  3. 查看已安装的软件:

    bash
    $ dpkg -l  # Ubuntu/Debian
    $ yum list installed  # CentOS/RHEL
  4. 搜索软件包:

    bash
    $ apt search nginx  # Ubuntu/Debian
    $ yum search nginx  # CentOS/RHEL
  5. 卸载软件:

    bash
    $ sudo apt remove vim  # Ubuntu/Debian
    $ sudo yum remove vim  # CentOS/RHEL
  6. 清理不再需要的依赖:

    bash
    $ sudo apt autoremove  # Ubuntu/Debian
    $ sudo yum autoremove  # CentOS/RHEL

通过学习软件包管理,你将能够轻松安装、更新和卸载Linux系统中的软件,为后续的学习和使用打下基础。

© 2026 编程马·菜鸟教程 版权所有