
1. 为什么我要整理这份 Linux 软件清单用了十几年 Linux从最早在宿舍里折腾双系统把引导搞崩到后来在服务器上敲命令讨生活再到现在带着团队做嵌入式开发我装过的发行版少说也有几十个。每次换新机器或者给同事配环境总会被问同一个问题“Linux 上到底该装哪些软件”网上搜出来的清单要么太老要么全是命令行工具堆砌要么就是复制粘贴的“100 个必装软件”标题党点进去一半链接都失效了。所以这篇东西不是那种“最全清单”我更愿意把它叫做一份按使用场景分类的实战软件汇总。它覆盖了日常办公、开发调试、系统运维、影音娱乐、虚拟机与容器这几个主要方向每个软件我都会说清楚它是干什么的、为什么选它、装完之后怎么快速上手以及我自己踩过哪些坑。不管你是刚装完 Ubuntu 的新手还是用了几年想查漏补缺的老手应该都能从里面找到点有用的东西。需要提前说明的是Linux 生态里“最好用”永远是个相对概念。同一个需求往往有五六种方案我选的标准是维护活跃、社区文档齐全、安装配置不折腾、在主流发行版上表现稳定。如果你用的是 Arch 或者 Gentoo很多软件可能已经在官方仓库里了直接 pacman 或 emerge 就行如果是 Ubuntu/Debian 系我会尽量给出 apt 的安装方式CentOS/RHEL 系则用 dnf 或 yum。命令我会写清楚但具体包名可能因版本略有差异遇到问题先apt search或dnf search一下这是基本功。另外这份清单里我会刻意避开那些“看起来很美但实际用起来一堆坑”的软件。比如某些国产办公套件的 Linux 版界面是有了但字体渲染和文档兼容性经常出问题我会在对应章节里说明替代方案。还有那些需要复杂配置才能跑起来的工具我也会标注清楚门槛在哪里免得你装到一半卡住。2. 日常办公与系统基础软件2.1 输入法与中文环境配置刚装完系统第一件事就是搞定中文输入。Linux 下输入法框架主要有 Fcitx5 和 IBus 两套我实测下来 Fcitx5 在大多数桌面环境里表现更稳词库和候选词排序也更符合国人习惯。安装命令因发行版而异Ubuntu 下大致是这样sudo apt install fcitx5 fcitx5-chinese-addons fcitx5-frontend-gtk3 fcitx5-frontend-qt5装完之后需要在“语言支持”里把输入法框架切换成 fcitx5然后注销重新登录。这里有个坑如果系统语言是英文Fcitx5 的配置界面可能显示不全建议先把区域设置里的语言加上中文但不必把整个系统界面切成中文。配置好后用CtrlSpace切换输入法如果没反应检查一下~/.pam_environment或/etc/environment里有没有正确设置GTK_IM_MODULE、QT_IM_MODULE和XMODIFIERS这三个变量。注意Wayland 会话下 Fcitx5 的兼容性比 X11 稍差如果遇到输入框不跟随光标的问题可以临时切换到 X11 会话试试。这不是 Fcitx5 的锅是 Wayland 输入法协议还在完善中。2.2 办公套件与文档处理LibreOffice 是绕不开的选择它几乎在所有主流发行版的仓库里都有。Writer 对应 WordCalc 对应 ExcelImpress 对应 PPT。日常写文档、做表格完全够用但如果你经常要和别人交换复杂排版的 docx 文件可能会遇到格式错乱。我的经验是尽量用 ODF 格式保存导出 PDF 给别人看需要协作编辑时再另存为 docx。如果对 MS Office 兼容性要求极高可以考虑 WPS Office 的 Linux 版它的界面更接近 Office但要注意它默认会上传一些使用数据介意的话在设置里关掉。对于 Markdown 写作Typora 曾经是首选但后来收费了。现在我用 Obsidian 做知识管理用 VS Code 写技术文档偶尔用 Marktext 做快速预览。Obsidian 的好处是本地存储、双链笔记、插件生态丰富而且 Linux 版和 Windows/macOS 版功能一致。安装方式推荐用 AppImage下载后chmod x直接运行不污染系统目录。2.3 截图与录屏工具Flameshot 是我用过最顺手的截图工具支持区域截图、标注、模糊、上传图床。安装后记得在桌面环境的快捷键设置里绑定flameshot gui到PrtSc键。它的标注功能很全箭头、矩形、文字、高亮都有而且可以直接复制到剪贴板。录屏方面OBS Studio 是专业级选择但配置略复杂如果只是简单录个屏GNOME 桌面自带CtrlAltShiftR录屏KDE 下可以用 Spectacle 的录屏功能。命令行工具ffmpeg也能录屏适合脚本化场景ffmpeg -f x11grab -video_size 1920x1080 -framerate 30 -i :0.0 -c:v libx264 -preset ultrafast output.mp4这个命令在 X11 下直接可用Wayland 下需要换成pipewire相关的参数稍微麻烦一点。2.4 压缩与解压的乱码问题Linux 下解压 Windows 传来的 zip 文件经常遇到中文乱码这是因为 Windows 用 GBK 编码而 Linux 默认 UTF-8。解决办法是用unzip的-O参数指定编码unzip -O GBK filename.zip如果unzip不支持-O可以装p7zip配合convmv转换文件名编码。7z 格式用7z x filename.7z解压如果提示命令不存在装p7zip-full包。tar.gz 和 tar.bz2 用tar -xzvf和tar -xjvf这个应该没人不知道。rar 格式需要unrar但它是非自由软件有些发行版默认仓库里没有需要手动添加源。3. 开发环境与工具链3.1 终端与 Shell 增强默认的 bash 够用但如果你每天要在终端里待几个小时zsh 加 oh-my-zsh 能显著提升效率。安装很简单sudo apt install zsh sh -c $(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)装完之后把默认 shell 改成 zshchsh -s $(which zsh)。oh-my-zsh 的主题里我推荐agnoster或powerlevel10k后者配置更灵活但需要装 Nerd Fonts 字体才能正常显示图标。终端模拟器方面GNOME Terminal 中规中矩Konsole 功能更丰富但如果你追求极致性能和分屏可以试试 Alacritty 或 Kitty。Alacritty 用 GPU 渲染滚动和输入延迟极低但配置全靠 YAML 文件没有图形界面。提示改默认 shell 之前确认 zsh 的路径在/etc/shells文件里否则chsh会报错。另外如果 zsh 配置出错导致无法登录可以用bash --login临时进入 bash 修复。3.2 编辑器与 IDEVS Code 现在是跨平台开发的标配Linux 版通过微软官方源安装最省心sudo apt install software-properties-common apt-transport-https wget wget -q https://packages.microsoft.com/keys/microsoft.asc -O- | sudo apt-key add - sudo add-apt-repository deb [archamd64] https://packages.microsoft.com/repos/vscode stable main sudo apt install code如果你做 C/C 开发CLion 和 Qt Creator 都是好选择。Qt Creator 对嵌入式 Linux 开发特别友好交叉编译配置直观。Python 开发用 PyCharm 社区版免费或者直接用 VS Code 加 Python 插件。Java 开发的话IntelliJ IDEA 社区版够用但 Spring Boot 项目建议用 Ultimate 版不过要收费。Vim 和 Neovim 是另一条路线。如果你愿意花时间配置Neovim 加 LazyVim 或 NvChad 能变成非常强大的 IDE。我自己的配置是 Neovim coc.nvim telescope日常写脚本和改配置文件足够了。但如果你不熟悉 Vim 的模态编辑建议先用 VS Code 的 Vim 插件过渡。3.3 版本控制与容器工具Git 是必装的装完第一件事是配置用户名和邮箱git config --global user.name Your Name git config --global user.email youexample.com建议再配一下git config --global core.editor vim和git config --global pull.rebase true避免每次 pull 都产生多余的 merge commit。Git 的图形化工具推荐 GitKraken 或 Sublime Merge但命令行用熟了其实不需要。Docker 在 Linux 上的安装比 Windows 简单得多官方脚本一行搞定curl -fsSL https://get.docker.com | sh sudo usermod -aG docker $USER最后一行是把当前用户加入 docker 组这样不用每次敲 sudo。但要注意加入 docker 组等于给了用户 root 权限因为 docker 可以挂载任意目录。生产环境要谨慎个人开发机无所谓。装完注销重新登录然后docker run hello-world验证。Docker Compose 现在集成在 docker 命令里了用docker compose而不是docker-compose。3.4 嵌入式开发相关做嵌入式 Linux 开发的话交叉编译工具链是核心。ARM 平台常用gcc-arm-linux-gnueabihf和gcc-aarch64-linux-gnuUbuntu 仓库里直接 apt 安装。调试用 OpenOCD 加 GDB配合 J-Link 或 ST-Link 调试器。串口工具推荐minicom或picocom后者更轻量picocom -b 115200 /dev/ttyUSB0退出是CtrlA然后CtrlX。如果串口设备权限不够把自己加入dialout组sudo usermod -aG dialout $USER。另外iperf3是测网络性能的利器嵌入式设备上跑服务端PC 上跑客户端能快速定位网络瓶颈。4. 系统运维与故障排查4.1 系统监控与性能分析htop比top好看也好用但更强大的工具是btop和glances。btop 的界面炫酷支持鼠标操作能看 CPU、内存、磁盘、网络、进程的实时状态。安装sudo apt install btop。glances 则更适合远程监控可以以 Web 模式运行在浏览器里看服务器状态。磁盘分析用ncdu它会扫描目录并给出每个子目录的占用大小比du -sh *直观得多。网络排查用nethogs看每个进程的带宽占用用iftop看连接级别的流量。ss命令替代了老旧的netstat查端口占用ss -tulnp | grep 8080。注意ncdu扫描大目录时会消耗较多 I/O生产服务器上避开业务高峰期使用。如果只是想快速看哪个目录大可以用du -h --max-depth1 /path | sort -hr。4.2 日志查看与文本处理journalctl是 systemd 系统的日志入口。查某个服务的日志journalctl -u nginx -f-f是实时跟随。查本次启动的日志journalctl -b。如果日志太多可以按时间过滤journalctl --since 2024-01-01 --until 2024-01-02。文本处理三剑客 grep、sed、awk 是运维基本功。比如统计 Nginx 访问日志里访问量前十的 IPawk {print $1} access.log | sort | uniq -c | sort -rn | head -10这个命令拆开看awk 取第一列sort 排序uniq -c 计数sort -rn 按数字倒序head 取前十。类似的组合能解决大部分日志分析需求。如果日志是 JSON 格式用jq处理更方便cat log.json | jq .level。4.3 备份与系统迁移rsync是文件同步的瑞士军刀本地和远程都支持。常用参数-avz --delete-a保留权限和时间戳-v显示详情-z压缩传输--delete删除目标端多余文件。远程同步rsync -avz /local/path userremote:/remote/path。系统级备份可以用timeshift它基于 rsync 或 btrfs 快照能创建系统还原点。如果你想把整个系统迁移到新硬盘dd命令可以克隆磁盘dd if/dev/sda of/dev/sdb bs4M statusprogress。但 dd 是块级复制目标盘必须大于等于源盘而且会复制所有分区和引导记录。更灵活的方式是用clonezilla再生龙它支持分区级克隆和网络还原。提示用 dd 克隆系统盘之前确保目标盘没有重要数据因为 dd 会直接覆盖。另外如果源盘和目标盘大小不一致克隆后可能需要用gparted调整分区大小。4.4 用户与权限管理Linux 的用户和权限体系是面试必考也是日常运维最容易出问题的地方。新建用户sudo useradd -m -s /bin/bash username-m创建家目录-s指定 shell。然后sudo passwd username设密码。把用户加入 sudo 组sudo usermod -aG sudo username。文件权限用chmod和chown。数字表示法里r4w2x1所以 755 是 rwxr-xr-x644 是 rw-r--r--。特殊权限位有 SUID、SGID、Sticky Bit面试常问。SUID 让普通用户以文件所有者权限执行比如passwd命令就有 SUID。查找系统里所有 SUID 文件find / -perm -4000 -type f 2/dev/null这个命令也常用于安全排查。5. 影音娱乐与日常工具5.1 视频播放与解码VLC 是万能播放器几乎所有格式都能播。但 Linux 下更推荐 MPV它轻量、启动快、画质好配合mpv.conf配置文件能实现硬件解码和画质增强。安装sudo apt install mpv。基本用法mpv video.mp4快捷键和 VLC 类似空格暂停方向键快进快退。如果遇到某些视频无法播放可能是缺少解码器。Ubuntu 下装ubuntu-restricted-extras包包含 MP3、MP4、H.264 等专利格式的解码器。但要注意这个包会安装微软核心字体介意的话可以单独装libavcodec-extra。5.2 音乐与播客音乐播放器我推荐Audacious它支持 Winamp 皮肤插件丰富资源占用低。播客用gPodder能订阅、下载、同步播放进度。如果你有本地音乐库Rhythmbox或Strawberry管理起来更方便支持按专辑、艺术家、流派分类。在线音乐方面Spotify 有官方 Linux 客户端通过 snap 或 apt 安装。国内的音乐平台大多没有 Linux 原生客户端只能用网页版。如果一定要用桌面客户端可以试试Electron打包的第三方版本但稳定性和安全性存疑我不太推荐。5.3 虚拟机与兼容层VirtualBox 是最容易上手的虚拟机方案图形界面完善支持 USB 直通和共享文件夹。安装sudo apt install virtualbox virtualbox-ext-pack。但 VirtualBox 的性能一般如果你需要跑 Windows 虚拟机做开发VMware Workstation Player 性能更好个人使用免费。Wine 是运行 Windows 程序的兼容层但配置复杂不同程序表现差异大。更省心的方案是Bottles它把 Wine 的前缀管理、依赖安装、DXVK 配置都图形化了。Steam 的 Proton 基于 Wine 和 DXVK让 Linux 能玩很多 Windows 游戏配合ProtonDB网站查兼容性体验相当不错。注意虚拟机里装 Linux 时如果遇到蓝屏或启动卡死多半是虚拟化技术没开。在 BIOS 里启用 Intel VT-x 或 AMD-V然后在虚拟机设置里勾选“启用 VT-x/AMD-V”。另外分配内存不要超过宿主机物理内存的一半否则宿主机本身会卡。5.4 截图、录屏与直播前面提过 Flameshot 和 OBS这里补充一个Peek专门用来录 GIF做教程演示特别方便。安装sudo apt install peek。它的界面极简选好区域点录制停止后直接保存为 GIF 或 MP4。直播推流用 OBS配置好推流地址和串流密钥就行Linux 下采集窗口和游戏画面都没问题。6. 常见问题与避坑经验6.1 软件安装方式怎么选Linux 下装软件有好几种途径发行版官方仓库、PPA、Snap、Flatpak、AppImage、源码编译。我的优先级是官方仓库 Flatpak AppImage Snap PPA 源码编译。官方仓库最稳定依赖自动处理。Flatpak 沙箱隔离不污染系统但首次运行下载量大。AppImage 免安装适合便携软件。Snap 启动慢但自动更新省心。PPA 是 Ubuntu 特有的第三方源质量参差不齐加之前先看看维护者是否活跃。源码编译最灵活也最容易出问题除非仓库里没有或者版本太老否则不推荐。6.2 依赖冲突与包管理Debian 系用 aptRedHat 系用 dnfArch 系用 pacman。跨发行版装包时包名可能不同比如python3-dev在 Fedora 上叫python3-devel。遇到依赖冲突先apt update刷新索引再apt --fix-broken install修复。如果某个包死活装不上用aptitude看依赖树它给出的解决方案通常比 apt 更合理。提示不要随便apt upgrade整个系统尤其是生产环境。内核升级可能导致驱动不兼容桌面环境升级可能引入新 bug。建议只升级安全补丁sudo apt upgrade --security。6.3 显卡驱动与显示问题NVIDIA 显卡在 Linux 下是老大难。Ubuntu 的“附加驱动”工具能自动推荐驱动版本但有时候推荐的不是最优的。我的经验是桌面用户选nvidia-driver-xxx专有驱动服务器用户如果不用 CUDA 就选开源nouveau。装完驱动后如果进不了图形界面在 GRUB 里加nomodeset参数临时进入然后重装驱动。AMD 显卡开源驱动amdgpu已经很好用了基本开箱即用。Intel 核显也没问题。多显示器配置用xrandr命令行或者桌面环境自带的显示设置。如果外接显示器没信号先xrandr --listmonitors看有没有识别到没有的话检查线缆和接口。6.4 系统启动与引导修复GRUB 引导损坏是常见故障尤其是双系统用户。修复方法用 Live USB 启动挂载原系统根分区chroot进去然后grub-install和update-grub。具体步骤sudo mount /dev/sdaX /mnt sudo mount /dev/sdaY /mnt/boot/efi # 如果是 UEFI sudo chroot /mnt grub-install /dev/sda update-grub exit sudo reboot如果 GRUB 界面都出不来可能是引导顺序问题进 BIOS 把系统盘调到第一位。UEFI 系统还要检查/boot/efi分区是否存在且格式为 FAT32。6.5 常见问题速查表问题现象可能原因排查命令解决方法终端中文乱码locale 未配置locale安装language-pack-zh-hans设置LANGzh_CN.UTF-8解压 zip 乱码编码不匹配file filename.zipunzip -O GBK或unzip -O CP936磁盘满但找不到大文件已删除文件被进程占用lsof L1重启对应进程或kill -9网络通但 DNS 解析失败resolv.conf 被覆盖cat /etc/resolv.conf用systemd-resolved或NetworkManager管理软件包依赖冲突源混用或版本不匹配apt-cache policy pkgaptitude install或清理第三方源虚拟机启动蓝屏虚拟化未开启egrep -c (vmxsvm) /proc/cpuinfo输入法不跟随光标Wayland 兼容性echo $XDG_SESSION_TYPE切换到 X11 会话外接显示器无信号驱动或接口问题xrandr --listmonitors检查线缆重装显卡驱动6.6 几个我踩过的坑第一个坑不要随便改/etc/fstab。我曾经为了自动挂载 NTFS 分区手写 fstab 条目结果 UUID 写错系统启动直接进 emergency mode。后来学乖了用blkid查 UUID改完 fstab 先mount -a测试确认无误再重启。第二个坑rm -rf之前先ls。这个不用多解释删库跑路的段子都听过。我的习惯是执行危险命令前先把命令里的rm换成echo确认路径对了再改回来。第三个坑不要用 root 跑图形程序。有些教程让你sudo gedit改配置文件这会导致家目录下的配置文件所有者变成 root下次普通用户启动程序时无法写入。正确做法是用sudo -H或者直接用命令行编辑器sudo vim。第四个坑Snap 版软件和 apt 版混用。比如你 apt 装了 Firefox又 snap 装了 Firefox两个版本会打架。Ubuntu 现在默认推 snap 版 Firefox如果你想要 apt 版需要手动添加 Mozilla 的 PPA。7. 一些个人体会这份清单我断断续续整理了两周删掉了一些已经不维护的软件也加了一些最近才开始用的新工具。Linux 软件生态就是这样变化快但核心的那批工具十年如一日地稳定。我到现在还在用vim、rsync、grep、awk这些上世纪诞生的工具在可预见的未来也不会被淘汰。如果你刚接触 Linux我的建议是先装好输入法、浏览器、终端、编辑器这四样其他的用到再装。不要一上来就照着清单全装一遍那样只会让系统臃肿而且你根本记不住哪个软件是干什么的。等你在日常使用中遇到具体需求了再回来查对应的章节这样学得扎实。最后分享一个我常用的技巧用alias给常用命令起短名。比如alias llls -alF、alias gsgit status、alias dcdocker compose。把这些写进~/.bashrc或~/.zshrc每天能省下不少敲键盘的时间。如果你有多个机器可以把配置文件放到 Git 仓库里新机器 clone 下来直接软链接过去环境瞬间就配好了。