安裝軟體

ouyangxx發表於2024-11-23

一、包管理

  1. 包管理系統利用一個資料庫來記錄各種相關內容
    • 系統上安裝了什麼軟體包
    • 每個包安裝了什麼檔案
    • 每個已安裝軟體包的版本
  2. 包管理系統會檢測依賴關係,並在安裝需要的包之前,先安裝好所依賴的軟體包
  3. 基於Debian的發行版使用dpkg命令與包管理系統互動,基於Red Hat的發行版使用rpm命令

二、基於Debian系統

  1. dpkg是底層的包管理工具,apt是基於dpkg的高階工具。
  2. 更新包管理器的源列表apt update
    • 作用:同步系統中的軟體源列表,確保從伺服器獲取最新的軟體包資訊。
    • 執行時不會真正安裝或更新軟體,只更新包索引
  3. 升級所有包apt upgrade
    • 更新所有已安裝的軟體包到當前源中最新版本,但不移除現有軟體或安裝新軟體。
  4. 完整升級apt full-upgrade,除了升級包,還會根據需要移除或安裝其他依賴。
  5. 搜尋軟體包apt search 包名
  6. 安裝軟體apt install 包名
    • 安裝指定的軟體包,並處理相關依賴。
    • 安裝指定版本apt install <包名>=<版本號>
  7. 普通解除安裝apt remove 包名
    • 刪除軟體本身,但保留配置檔案和資料。
    • 完全解除安裝:apt purge <包名>
  8. 列出可用的包apt list
    • 列出指定的包apt list 包名
    • 列出已安裝的軟體apt list --installed
    • 列出可升級的軟體apt list --upgradable
  9. 顯示詳細包資訊apt show 包名
  10. 刪除不需要的依賴apt autoremove

三、基於Red Hat的系統

  1. rpm是底層的包管理工具,yum等是基於rpm的高階工具。

3.1 yum使用

  1. 列出已安裝包yum list installed
    • 列出某個包的具體資訊yum list 包名
    • 檢視包是否安裝yum list installed 包名
  2. 找出系統上的某個特定檔案屬於哪個軟體包yum provides file_name
    • yum會分別查詢三個倉庫:base、updates和installed,然後尋找匹配項。
  3. 安裝軟體yum install 包名
    • 手動下載rpm安裝檔案並用yum安裝yum localinstall 包名.rpm
  4. 列出所有已安裝包的可用更新yum update 包名
    • 對更新列表中的所有包進行更新yum update
  5. 只刪除軟體包但是保留配置檔案和資料檔案yum remove 包名
    • 要刪除軟體和相關的檔案yum erase 包名
  6. 損壞的包依賴關係:在安裝多個軟體包時,某個包的依賴關係可能會被另一個包的安裝覆蓋。
    • 第一種方法:先yum clean all,然後yum update,有時,是檔案放錯了位置。
    • 第二種方法:yum deplist 包名檢視指定包依賴關係。透過這條命令,可以瞭解一個軟體包在安裝時需要的其他庫或工具,以及哪些軟體包可以提供這些功能。
    • 第三種方法:yum update --skip-broken,這可能救不了損壞的包,但是可以更新其他的包

四、從原始碼安裝包

  1. 先下載包,通常是包.tar.gz
  2. 解壓包tar -zxvf 包.tar.gz
  3. 然後cd進入解壓後的目錄
  4. 其中通常有README檔案,通常會介紹軟體安裝的操作
  5. ./configure,檢查依賴
  6. 使用make命令構建各種二進位制檔案
    • make命令會編譯原始碼,然後連結器會為這個包建立最終的可執行檔案
  7. 然後使用make install,這個命令的作用是將當前生成的各種二進位制檔案複製一份到/usr/bin中,又因為/usr/bin通常是在PATH中的,所以在任何路徑下,都可以直接使用可執行程式了。
    • 使用這個命令後,就可以把當前的資料夾刪除了
    • 不使用這個命令也ok,但是每次使用命令時,都要帶上路徑才能使用(因為不在PATH環境變數中)。

相關文章