Linux 軟體安裝兩大主流:原始碼編譯安裝與預編譯套件管理。理解核心邏輯,換發行版、換架構都能舉一反三。
tar -xzvf package.tar.gz(.tgz/.tar.gz)或 tar -xjvf package.tar.bz2(.tbz2)或 tar -xJvf package.tar.xz(.txz)。cd package-name → ls 看有無 configure、Makefile、CMakeLists.txt、meson.build、README/INSTALL。./configure --prefix=/usr/local → make → sudo make installmkdir build && cd build && cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local → make → sudo make installmeson setup build --prefix=/usr/local → ninja -C build → sudo ninja -C build installmake → sudo make install(需自行確認 PREFIX)。sudo ldconfig(安裝庫檔後必做)。which command、command --version、ldd $(which command) 檢查依賴。| 錯誤 | 原因 | 解決 |
|---|---|---|
gcc: command not found / g++: not found | 缺編譯器 | sudo apt install build-essential (Debian/Ubuntu) / sudo dnf install gcc gcc-c++ make (RHEL/Fedora) / sudo pacman -S base-devel (Arch) |
make: command not found | 缺 make | 同上安裝 build-essential / base-devel / development tools |
autoconf: not found / automake: not found | 缺自動化工具 | sudo apt install autoconf automake libtool 等 |
configure: error: Package requirements (xxx) not met | 缺依賴庫開發套件 | 安裝對應 -devel / -dev 套件,如 libssl-dev、zlib1g-dev、python3-dev;或設定 PKG_CONFIG_PATH |
fatal error: xxx.h: No such file | 缺標頭檔 | 同上,安裝開發套件 |
| 發行版系列 | 套件格式 | 管理工具 | 常用指令 |
|---|---|---|---|
| Debian/Ubuntu/Kali/Mint | .deb | APT / dpkg | apt update && apt install pkg / dpkg -i pkg.deb |
| RHEL/CentOS/Fedora/Rocky/Alma | .rpm | DNF / YUM / RPM | dnf install pkg / rpm -ivh pkg.rpm |
| openSUSE | .rpm | Zypper / RPM | zypper in pkg |
| Arch/Manjaro/EndeavourOS | .pkg.tar.zst | Pacman | pacman -S pkg |
| Gentoo | ebuild (源碼) | Portage | emerge pkg |
| Alpine | .apk | apk | apk add pkg |
rpm -ivh pkg.rpm(-i install, -v verbose, -h hash progress)rpm -Uvh pkg.rpm(不存在則安裝)rpm -e pkg-name(不帶 .rpm 後綴)rpm -qip pkg.rpm(未安裝檔案資訊)、rpm -qi pkg-name(已安裝資訊)rpm -qf /path/to/filerpm -qlp pkg.rpm / rpm -ql pkg-namerpm -V pkg-namednf install pkg.rpm / apt install ./pkg.deb / zypper in pkg.rpm 會**自動解析並安裝依賴**,單純 rpm -i / dpkg -i 會報依賴錯誤需手動逐一解決。
checkinstall / fpm 製作成套件管理,方便日後移除升級。掌握「編譯三部曲」與「套件管理器常用指令」,Linux 軟體安裝不再是攔路虎!