目錄
Linux中安裝軟件可不像Windows那樣只需要我同意xxx, 我接受xxx, 然後一直下一步就ok了
Linux中主要有三種安裝方式: 源碼安裝, rpm和yum
注: 本文測試於Centos 7中
注: 當不是root用戶進行安裝/卸載/升級操作時, 會提示權限不夠, 我們只需在命令前面加上 sudo 獲取到root的權限(會提示輸入
root用戶的密碼), 密碼輸入正確則繼續安裝/卸載/升級
源碼安裝
顧名思義, 就是根據軟件的源代碼, 在本機上自己編譯後安裝. 大多軟件可以直接在官網上下源碼包, 然後解壓. 源碼安裝步驟繁瑣,
尤其對一些較大型的軟件來說更是繁瑣易出錯. 缺乏依賴關係, 後續升級麻煩. 對新手來說實在是不友好. (我就是個小白, 哈哈, 所
以我用的yum安裝). 但源碼安裝也有其他兩種不可比擬的優點. 如, 兼容性好, 因爲都在各自的機器上編譯. 更加靈活, 大佬甚至可
以修改原碼來達到某些功能需求.
實例:
安裝一個tree, 由於我的Centos中本來就有tree, 在安裝之前, 我先刪除了tree
//先刪除tree
yum remove tree
//下載tree的源碼包
wget http://mama.indstate.edu/users/ice/tree/src/tree-1.7.0.tgz
//解壓
tar -xzvf tree-1.7.0.tgz
//cd進入tree-1.7.0/
cd tree-1.7.0/
//make 編譯
make
//make install 安裝
make install
安裝
wget http://mama.indstate.edu/users/ice/tree/src/tree-1.7.0.tgz
tar -xzvf tree-1.7.0.tgz
cd tree-1.7.0/
make
sudo make install
安裝完成後, 應清除編譯過程中產生的臨時文件和配置過程中產生的文件
make clean
make distclean
刪除
make uninstall
rpm
rpm包時編譯好的二進制包, 對於一個rpm包來說, 其名字用 "-" 和 " . " 分隔開, 命名格式爲: 包名-版本-發行號.平臺.rpm 當平臺位
置處是noarch, 則說明與平臺兼容.
rpm是用來安裝本地已存在的rpm包的,需手動安裝依賴關係,,如果某個rpm是自己修改編譯的,那麼只能用rpm安裝。
優點 : 比源碼安裝快,
缺點 :
rpm -i 安裝包文件
rpm -iv 安裝包文件(顯示安裝詳情)
rpm -ivh 安裝包文件(顯示安裝詳情及進度)
rpm -U 升級包文件
rpm -Uvh 升級包文件(顯示升級詳情及進度)
rpm -e 需要卸載的軟件包
PS:如果其他程序依賴要卸載的這個包,系統則會提示不能刪除,
若需要強制刪除加上選項--nodeps, 但這樣可能會導致依賴於它的軟件不能運行。
rpm -qa 查看已安裝(可以配合grep使用)
獲取rpm包的方式
1. pkgs.org : http://pkgs.org/
輸入要安裝的包的名字,如tree,然後在搜索結果中找到對應的發行版即可, 然後可以點查看具體信息, 複製下載鏈接在Linux中
用命令 wget http://ftp5.gwdg.de/pub/linux/archlinux/community/os/x86_64//firefox-tree-style-tab-3.2.5-1-any.pkg.tar.xz 或者下載
文件到Windows, 再傳輸到Linux機器中, 如下圖 :
2. 利用yum也可以獲取到軟件的rpm包
我們把剛剛安好的tree再刪掉, 再執行下面的命令
sudo yum install tree
會出現上面這個提示, y是確認安裝, N是取消安裝, d是下載不安裝, 輸入d, 就得到了下載好的tree的 rpm包. 緩存的文件的路徑爲
/var/cache/yum/x86_64/7/ 用 find -name *.rpm | grep tree 就能找到, 如下圖:
用yum獲得rpm包還可以直接更改配置文件, 指向下面命令
vim /etc/yum.conf 注意, 如果不是root用戶, 前面要加上root, 否則可能會出現權限不夠無法修改. 打開如下
\
將圈出來的改爲 keepcache=1, 則yum在以後安裝軟件時都會保存rpm包在 /var/cache/yum/x86_64/7/ 下, 還是推薦第一種方法,
第二種畢竟不靈活
找到了rpm包, 就可以用rpm安裝了
yum
yum單獨寫在了另一篇博客中 :
戳鏈接( ̄︶ ̄)↗ : https://blog.csdn.net/qq_41071068/article/details/102825628