Appearance
第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
- 功能:搜索软件包
- 格式:
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
- 功能:搜索软件包
- 格式:
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/RHELnano:简单易用的文本编辑器
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/RHELcurl:网络请求工具
bash$ sudo apt install curl # Ubuntu/Debian $ sudo yum install curl # CentOS/RHELnet-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/RHELunzip:解压缩工具
bash$ sudo apt install unzip # Ubuntu/Debian $ sudo yum install unzip # CentOS/RHELgit:版本控制工具
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/目录下的配置文件
- Ubuntu/Debian:编辑
依赖问题
apt系统:
bash$ sudo apt --fix-broken installyum系统:
bash$ sudo yum clean all $ sudo yum makecache
权限问题
- 确保使用
sudo命令获取管理员权限:bash$ sudo apt install 软件包名
软件包不存在
- 检查软件包名称是否正确
- 尝试更新软件包列表后再安装:bash
$ sudo apt update $ sudo apt install 软件包名
系统版本问题
- 确保软件包与系统版本兼容
- 对于较旧的系统,可能需要添加额外的软件源
实战练习:软件包管理
更新软件包列表:
bash$ sudo apt update # Ubuntu/Debian $ sudo yum update # CentOS/RHEL安装常用软件:
bash$ sudo apt install vim wget curl net-tools # Ubuntu/Debian $ sudo yum install vim wget curl net-tools # CentOS/RHEL查看已安装的软件:
bash$ dpkg -l # Ubuntu/Debian $ yum list installed # CentOS/RHEL搜索软件包:
bash$ apt search nginx # Ubuntu/Debian $ yum search nginx # CentOS/RHEL卸载软件:
bash$ sudo apt remove vim # Ubuntu/Debian $ sudo yum remove vim # CentOS/RHEL清理不再需要的依赖:
bash$ sudo apt autoremove # Ubuntu/Debian $ sudo yum autoremove # CentOS/RHEL
通过学习软件包管理,你将能够轻松安装、更新和卸载Linux系统中的软件,为后续的学习和使用打下基础。
