Linux包管理基础
Linux包管理基础
包管理器概述
Linux使用包管理器来安装、更新和删除软件包。不同的发行版使用不同的包管理器。
Debian/Ubuntu - APT
基本操作
# 更新包索引
sudo apt update
# 安装软件包
sudo apt install nginx
# 安装多个包
sudo apt install nginx mysql-server php-fpm
# 升级软件包
sudo apt upgrade
# 升级所有包
sudo apt full-upgrade
# 删除软件包
sudo apt remove nginx
# 删除包及其配置
sudo apt purge nginx
# 清理依赖
sudo apt autoremove
搜索和信息
# 搜索包
apt search nginx
# 查看包信息
apt show nginx
# 查看已安装的包
dpkg -l | grep nginx
# 查看包安装的文件
dpkg -L nginx
# 查看文件属于哪个包
dpkg -S /usr/sbin/nginx
软件源管理
# 查看软件源
cat /etc/apt/sources.list
# 添加PPA
sudo add-apt-repository ppa:nginx/stable
sudo apt update
CentOS/RHEL - YUM/DNF
基本操作
# 安装软件包
sudo yum install nginx
# 升级软件包
sudo yum update
# 删除软件包
sudo yum remove nginx
# 搜索包
yum search nginx
# 查看包信息
yum info nginx
# 查看已安装的包
rpm -qa | grep nginx
仓库管理
# 添加仓库
sudo yum install epel-release
# 查看启用的仓库
yum repolist
# 清理缓存
yum clean all
DNF(CentOS 8+)
DNF是YUM的下一代版本:
# 基本操作与YUM类似
sudo dnf install nginx
sudo dnf update
sudo dnf remove nginx
软件包类型
源码包
# 下载源码
wget http://example.com/software-1.0.tar.gz
# 解压
tar -xzf software-1.0.tar.gz
cd software-1.0
# 编译安装
./configure --prefix=/usr/local/software
make
sudo make install
实践:安装Web服务器环境
#!/bin/bash
# Debian/Ubuntu
# 更新系统
sudo apt update
sudo apt upgrade -y
# 安装Nginx
sudo apt install nginx -y
sudo systemctl enable nginx
# 安装MySQL
sudo apt install mysql-server -y
sudo systemctl enable mysql
# 安装PHP
sudo apt install php-fpm php-mysql -y
# 配置Nginx使用PHP
cat > /etc/nginx/sites-available/default << 'EOF'
server {
listen 80;
root /var/www/html;
index index.php index.html;
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php*-fpm.sock;
}
}
EOF
sudo systemctl restart nginx
软件包依赖管理
# 查看依赖关系
apt-cache depends nginx
# 查看依赖谁
apt-cache rdepends nginx
# 强制安装(不推荐)
dpkg --force-depends -i package.deb
总结
包管理是Linux系统管理的基础。熟练使用包管理器,可以高效地管理软件的安装、更新和维护。