安裝軟體
ouyangxx發表於2024-11-23
一、包管理
- 包管理系統利用一個資料庫來記錄各種相關內容
- 系統上安裝了什麼軟體包
- 每個包安裝了什麼檔案
- 每個已安裝軟體包的版本
- 包管理系統會檢測依賴關係,並在安裝需要的包之前,先安裝好所依賴的軟體包
- 基於Debian的發行版使用
dpkg
命令與包管理系統互動,基於Red Hat的發行版使用rpm
命令
二、基於Debian系統
- dpkg是底層的包管理工具,
apt
是基於dpkg
的高階工具。
- 更新包管理器的源列表
apt update
- 作用:同步系統中的軟體源列表,確保從伺服器獲取最新的軟體包資訊。
- 執行時不會真正安裝或更新軟體,只更新包索引。
- 升級所有包
apt upgrade
- 更新所有已安裝的軟體包到當前源中最新版本,但不移除現有軟體或安裝新軟體。
- 完整升級
apt full-upgrade
,除了升級包,還會根據需要移除或安裝其他依賴。
- 搜尋軟體包
apt search 包名
- 安裝軟體
apt install 包名
- 安裝指定的軟體包,並處理相關依賴。
- 安裝指定版本
apt install <包名>=<版本號>
- 普通解除安裝
apt remove 包名
- 刪除軟體本身,但保留配置檔案和資料。
- 完全解除安裝:
apt purge <包名>
- 列出可用的包
apt list
- 列出指定的包
apt list 包名
- 列出已安裝的軟體
apt list --installed
- 列出可升級的軟體
apt list --upgradable
- 顯示詳細包資訊
apt show 包名
- 刪除不需要的依賴
apt autoremove
三、基於Red Hat的系統
rpm
是底層的包管理工具,yum
等是基於rpm
的高階工具。
3.1 yum使用
- 列出已安裝包
yum list installed
- 列出某個包的具體資訊
yum list 包名
- 檢視包是否安裝
yum list installed 包名
- 找出系統上的某個特定檔案屬於哪個軟體包
yum provides file_name
- yum會分別查詢三個倉庫:base、updates和installed,然後尋找匹配項。
- 安裝軟體
yum install 包名
- 手動下載rpm安裝檔案並用yum安裝
yum localinstall 包名.rpm
- 列出所有已安裝包的可用更新
yum update 包名
- 只刪除軟體包但是保留配置檔案和資料檔案
yum remove 包名
- 損壞的包依賴關係:在安裝多個軟體包時,某個包的依賴關係可能會被另一個包的安裝覆蓋。
- 第一種方法:先
yum clean all
,然後yum update
,有時,是檔案放錯了位置。
- 第二種方法:
yum deplist 包名
檢視指定包依賴關係。透過這條命令,可以瞭解一個軟體包在安裝時需要的其他庫或工具,以及哪些軟體包可以提供這些功能。
- 第三種方法:
yum update --skip-broken
,這可能救不了損壞的包,但是可以更新其他的包
四、從原始碼安裝包
- 先下載包,通常是
包.tar.gz
- 解壓包
tar -zxvf 包.tar.gz
- 然後cd進入解壓後的目錄
- 其中通常有README檔案,通常會介紹軟體安裝的操作
./configure
,檢查依賴
- 使用make命令構建各種二進位制檔案
- make命令會編譯原始碼,然後連結器會為這個包建立最終的可執行檔案
- 然後使用
make install
,這個命令的作用是將當前生成的各種二進位制檔案複製一份到/usr/bin
中,又因為/usr/bin
通常是在PATH
中的,所以在任何路徑下,都可以直接使用可執行程式了。
- 使用這個命令後,就可以把當前的資料夾刪除了
- 不使用這個命令也ok,但是每次使用命令時,都要帶上路徑才能使用(因為不在
PATH
環境變數中)。