乐于分享
好东西不私藏

【第16期】装软件装到崩溃?这份Linux全发行版软件安装指南,让你10分钟搞定所有环境配置

【第16期】装软件装到崩溃?这份Linux全发行版软件安装指南,让你10分钟搞定所有环境配置

大家好,我是运维老张。

说实话,我在刚接触Linux那会儿,装个软件能折腾一整天。记得有一次,公司新来了台CentOS服务器,我要装个Nginx,结果yum install nginx提示找不到包,折腾了半天才发现是源没配好。后来换Ubuntu,又发现命令全变了,apt-getapt傻傻分不清楚。

这些年带了不少新人,发现大家在软件安装这块踩的坑都差不多:

• 软件源在国外,下载速度只有几KB,装个GCC要等半小时

• 不知道自己的系统该用apt还是yum还是dnf

• 源码编译安装总报错,./configure提示缺这个缺那个

• 装完软件找不到配置文件,不知道装到哪去了

今天这篇文章,我把这些年攒下来的经验一次性分享给你。不管你是用Ubuntu、CentOS、Fedora还是Arch,看完这篇都能找到对应的解决方案。

一、先搞清楚:你的系统属于哪个”家族”

Linux发行版虽然多,但软件包管理这块,基本上就分三大派系:

1. Debian系:apt/apt-get 当家

这个家族包括:

• Debian(老祖宗)

• Ubuntu(最流行的桌面版)

• Linux Mint(基于Ubuntu,更适合新手)

• Deepin(国产,界面漂亮)

• Kali Linux(安全测试专用)

这些系统的软件包格式是.deb,管理工具主要是apt或者apt-get

2. Red Hat系:yum/dnf 说了算

这个家族包括:

• RHEL(Red Hat Enterprise Linux,企业级)

• CentOS(RHEL的免费版,现在转向CentOS Stream)

• Fedora(Red Hat的试验田,新功能先在这里测试)

• AlmaLinux、Rocky Linux(CentOS的替代品)

这些系统的软件包格式是.rpm,管理工具主要是yum(老版本)或dnf(新版本)。

3. Arch系:pacman 独领风骚

这个家族包括:

• Arch Linux(滚动更新,永远最新)

• Manjaro(基于Arch,对新手更友好)

• EndeavourOS(另一个Arch衍生版)

Arch用pacman作为包管理器,命令简洁高效。

💡 快速判断命令:不确定自己系统用啥?执行cat /etc/os-release看看ID字段就知道了。


二、Debian/Ubuntu系列:apt命令详解

我用Ubuntu比较多,先从apt开始讲。

1. 基础命令速查表

# 更新软件源列表(相当于刷新商店商品目录)
sudo apt update

# 升级已安装的软件包
sudo apt upgrade

# 安装软件
sudo apt install 软件名

# 卸载软件(保留配置文件)
sudo apt remove 软件名

# 彻底卸载(删除配置文件)
sudo apt purge 软件名

# 自动清理不需要的依赖
sudo apt autoremove

# 搜索软件包
apt search 关键词

# 查看软件包信息
apt show 软件名

2. apt 和 apt-get 的区别

很多新手困惑:到底用apt还是apt-get

简单说,apt是新版,apt-get是老版。现在推荐用apt,因为它:

• 命令更短,好记

• 有进度条,看着舒服

• 输出信息更友好

但有些脚本里还会用apt-get,因为它更稳定,适合自动化。日常手动操作,用apt就够了。

3. 实战:安装Nginx并启动

# 先更新源
sudo apt update

# 安装Nginx
sudo apt install nginx -y

# 查看安装状态
systemctl status nginx

# 启动Nginx
sudo systemctl start nginx

# 设置开机自启
sudo systemctl enable nginx

三、CentOS/RHEL/Fedora系列:yum和dnf

Red Hat系的包管理稍微复杂点,因为有个版本过渡的问题。

1. CentOS 7及以前:用yum

# 更新软件源缓存
sudo yum makecache

# 安装软件
sudo yum install 软件名

# 卸载软件
sudo yum remove 软件名

# 搜索软件
yum search 关键词

# 查看软件信息
yum info 软件名

# 更新所有软件
sudo yum update

2. CentOS 8/RHEL 8/Fedora:用dnf

从CentOS 8开始,默认用dnf替代yum。不过别担心,命令几乎一模一样:

# dnf命令和yum几乎一样
sudo dnf install nginx
sudo dnf remove nginx
sudo dnf update

实际上,在CentOS 8上执行yum命令,底层调用的也是dnf,做了个兼容。

3. 一个坑:EPEL源

用CentOS的朋友可能遇到过这种情况:想装个软件,yum提示找不到包。

这是因为很多软件不在官方源里,需要装EPEL(Extra Packages for Enterprise Linux)源:

# CentOS 7
sudo yum install epel-release -y

# CentOS 8/Stream
sudo dnf install epel-release -y

装完EPEL,软件数量瞬间多了一大半,Nginx、Redis、Docker这些都能找到。

四、Arch Linux:pacman极简之道

Arch的包管理是我用过最爽的,命令简洁,没有废话。

# 同步软件源并更新系统
sudo pacman -Syu

# 安装软件
sudo pacman -S 软件名

# 卸载软件
sudo pacman -R 软件名

# 卸载软件及其依赖(更彻底)
sudo pacman -Rs 软件名

# 搜索软件
pacman -Ss 关键词

# 查询已安装软件
pacman -Q | grep 关键词

Arch还有一个神器叫AUR(Arch User Repository),里面有社区维护的大量软件。用yay这个工具可以方便地安装AUR软件:

# 安装yay(先装基础包)
sudo pacman -S –needed git base-devel
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si

# 用yay安装Chrome(官方源没有)
yay -S google-chrome

五、配置国内镜像源:让下载速度飞起来

这是我最想讲的部分。默认的官方源都在国外,国内访问速度感人,经常只有几KB/s。配置国内镜像源后,速度能提升到几MB/s甚至几十MB/s。

1. Ubuntu配置清华源

先备份原配置:

sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup

然后编辑sources.list:

sudo nano /etc/apt/sources.list

把里面的内容换成(以Ubuntu 22.04 jammy为例):

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse

# 以下安全更新使用官方源
deb http://security.ubuntu.com/ubuntu/ jammy-security main restricted universe multiverse
# deb-src http://security.ubuntu.com/ubuntu/ jammy-security main restricted universe multiverse

保存后执行:

sudo apt update
sudo apt upgrade

🚀 效果对比:我实测过,官方源下载速度约50KB/s,换清华源后能达到15MB/s,提升300倍!

2. CentOS配置阿里源

CentOS 7的配置:

# 备份
sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

# 下载阿里源
sudo wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

# 清除缓存并重建
sudo yum clean all
sudo yum makecache

CentOS 8/Stream的配置稍有不同,可以用清华源:

# 备份原有配置
sudo mkdir /etc/yum.repos.d/backup
sudo mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup/

# 下载清华源配置
sudo wget -O /etc/yum.repos.d/CentOS-Stream.repo https://mirrors.tuna.tsinghua.edu.cn/centos/centos8-stream.repo

# 重建缓存
sudo dnf clean all
sudo dnf makecache

3. Arch配置清华源

# 编辑镜像列表
sudo nano /etc/pacman.d/mirrorlist

# 把清华源放到最前面
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch

# 更新
sudo pacman -Syu

4. 国内主流镜像站推荐

清华大学:https://mirrors.tuna.tsinghua.edu.cn – 速度快,同步及时

阿里云:https://mirrors.aliyun.com – 节点多,稳定

中科大:https://mirrors.ustc.edu.cn – 老牌镜像站

华为云:https://repo.huaweicloud.com – 企业级稳定

腾讯云:https://mirrors.cloud.tencent.com – 速度快

六、源码编译安装:终极解决方案

有时候官方源里的软件版本太旧,或者需要特殊编译选项,这时候就得源码编译安装了。

1. 标准三步走

大部分开源软件都遵循GNU Autotools标准:

# 第一步:配置
./configure –prefix=/usr/local

# 第二步:编译
make

# 第三步:安装
sudo make install

2. 一个完整的例子:编译安装Redis 7.0

# 1. 下载源码
wget https://download.redis.io/releases/redis-7.0.12.tar.gz

# 2. 解压
tar -xzf redis-7.0.12.tar.gz
cd redis-7.0.12

# 3. 编译(Redis不需要configure,直接make)
make

# 4. 安装到指定目录
sudo make PREFIX=/usr/local/redis install

# 5. 复制配置文件
sudo mkdir -p /usr/local/redis/etc
sudo cp redis.conf /usr/local/redis/etc/

# 6. 创建软链接方便使用
sudo ln -s /usr/local/redis/bin/redis-server /usr/local/bin/
sudo ln -s /usr/local/redis/bin/redis-cli /usr/local/bin/

3. 常见编译错误及解决

错误1:提示缺少gcc

configure: error: no acceptable C compiler found in $PATH

解决:

# Ubuntu/Debian
sudo apt install build-essential

# CentOS/RHEL
sudo yum groupinstall “Development Tools”

错误2:提示缺少某个库

error: openssl library not found

解决:安装对应的开发包

# Ubuntu
sudo apt install libssl-dev

# CentOS
sudo yum install openssl-devel

注意:Debian系的后缀是-dev,Red Hat系的后缀是-devel,这个区别经常让人搞混。

4. 编译安装的优缺点

优点:

• 可以安装最新版本

• 可以自定义编译选项

• 不依赖系统包管理器

缺点:

• 编译时间长

• 不会自动处理依赖

• 卸载麻烦(make uninstall不一定好用)

• 不会自动更新

⚠️ 建议:能用包管理器安装的,优先用包管理器。实在不行了再编译安装。

七、Linux新手必装软件推荐

最后,分享一些我每装新系统必装的软件。

1. 基础工具类

# Ubuntu/Debian
sudo apt install -y vim git curl wget htop tree net-tools

# CentOS
sudo yum install -y vim git curl wget htop tree net-tools

# Arch
sudo pacman -S vim git curl wget htop tree net-tools

这些工具的作用:

vim:编辑器,虽然难学但必会

git:版本控制,必备

curl/wget:下载工具

htop:比top更好看的进程监控

tree:以树形结构显示目录

net-tools:提供ifconfig、netstat等网络命令

2. 开发环境类

# 安装Python3和pip
sudo apt install python3 python3-pip

# 安装Node.js(推荐用nvm管理版本)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
nvm install node

# 安装Docker
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER

3. 效率工具类

# zsh + oh-my-zsh(比bash好用太多)
sudo apt install zsh
chsh -s $(which zsh)
sh -c “$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)”

# tmux(终端复用,断网也不怕)
sudo apt install tmux

# fzf(命令行模糊查找)
git clone –depth 1 https://github.com/junegunn/fzf.git ~/.fzf
~/.fzf/install

4. 运维监控类

# 系统监控
sudo apt install sysstat iotop iftop nethogs

# 日志查看
sudo apt install multitail

# 网络诊断
sudo apt install traceroute mtr-tiny nmap

八、总结与建议

写这篇文章的时候,我想起了自己刚学Linux时的窘境。那时候为了装个LAMP环境,折腾了整整两天。现在回头看,很多问题其实都是因为:

1. 不熟悉包管理器的使用

2. 没配置国内镜像源

3. 不知道EPEL这类扩展源的存在

4. 遇到报错就慌,不会看错误信息

希望这篇文章能帮到你。最后给几个建议:

1. 优先用包管理器:能用apt/yum/dnf装的,就别去官网下载安装包

2. 第一时间换国内源:装完系统先换源,省下来的时间够你看两集电视剧

3. 学会看错误信息:报错的时候别急着百度,先仔细看错误提示,很多时候答案就在里面

4. 做好笔记:把常用的命令和配置记下来,下次直接复制粘贴

如果你在实际操作中遇到问题,欢迎在评论区留言。我会尽量回复。

📌 下期预告:Linux用户和权限管理详解,带你彻底搞懂chmod、chown和sudo配置。

觉得有用的话,点个在看支持一下吧!

—— 运维老张,写于2026年5月