1. 程式人生 > >linux安裝軟體總結

linux安裝軟體總結

可以參考
http://www.cnblogs.com/hfdp/p/9314452.html

文章目錄

yum命令

將所有軟體包放到官方伺服器上,當進行yum線上安裝時,可以自動解決依賴性問題。(rpm缺點:安裝過程中,rpm包依賴性太強)。

查詢
yun list --查詢所有可用軟體包列表
yum search 關鍵字 --搜尋伺服器上所有和關鍵字相關的包
安裝
yum -y install 包名 (-y 自動回答yes)
yum安裝只寫包名即可! eg:yum -y install gcc --c語言編譯器
升級/解除安裝
升級:
yum -y update 包名
-update:升級;
-y:自動回答yes;
解除安裝:yum -y remove 包名
-remove:解除安裝;
-y:自動回答yes;

比如

yum -y install make php 

可以同時安裝一堆軟體,自動下載

rpm命令

RPM是RedHat Package Manager(RedHat軟體包管理工具)類似Windows裡面的“新增/刪除程式”
-ivh:安裝顯示安裝進度–install–verbose–hash
-Uvh:升級軟體包–Update;
-qpl:列出RPM軟體包內的檔案資訊[Query Package list];
-qpi:列出RPM軟體包的描述資訊[Query Package install package(s)];
-qf:查詢指定檔案屬於哪個RPM軟體包[Query File];
-Va:校驗所有的RPM軟體包,查詢丟失的檔案[View Lost];
-e:刪除包

rpm -q samba //查詢程式是否安裝
rpm -ivh /media/cdrom/RedHat/RPMS/samba-..-.E.i.rpm //按路徑安裝並顯示進度
rpm -ivh --relocate /=/opt/gaim gaim-..-.fc.i.rpm //指定安裝目錄
rpm -ivh --test gaim-..-.fc.i.rpm    //用來檢查依賴關係;並不是真正的安裝;
rpm -Uvh --oldpackage gaim-..-.fc.i.rpm //新版本降級為舊版本
rpm -qa | grep httpd      #[搜尋指定rpm包是否安裝]--all搜尋*httpd*
rpm -ql httpd         #[搜尋rpm包]--list所有檔案安裝目錄
rpm -qpi Linux-.-.i.rpm #[檢視rpm包]--query--package--install package資訊
rpm -qpf Linux-.-.i.rpm #[檢視rpm包]--file
rpm -qpR file.rpm       #[檢視包]依賴關係
rpmcpio file.rpm |cpio -div #[抽出檔案]
rpm -ivh file.rpm  #[安裝新的rpm]--install--verbose--hash
rpm -ivh
rpm -Uvh file.rpm #[升級一個rpm]--upgrade
rpm -e file.rpm  #[刪除一個rpm包]--erase

常用引數:

Install/Upgrade/Erase options:

-i, --install install package(s)
-v, --verbose provide more detailed output
-h, --hash print hash marks as package installs (good with -v)
-e, --erase erase (uninstall) package
-U, --upgrade=+ upgrade package(s)
--replacepkge 無論軟體包是否已被安裝,都強行安裝軟體包
–test 安裝測試,並不實際安裝
–nodeps 忽略軟體包的依賴關係強行安裝
–force 忽略軟體包及檔案的衝突
Query options (with -q or --query):
-a, --all query/verify all packages
-p, --package query/verify a package file
-l, --list list files in package
-d, --docfiles list all documentation files
-f, --file query/verify package(s) owning file

RPM原始碼包裝安裝

.src.rpm結尾的檔案,這些檔案是由軟體的原始碼包裝而成的,使用者要安裝這類RPM軟體包,必須使用命令:

rpm --recompile vim-4.6-4.src.rpm #這個命令會把原始碼解包並編譯、安裝它,如果使用者使用命令:
rpm --rebuild vim-4.6-4.src.rpm  #在安裝完成後,還會把編譯生成的可執行檔案重新包裝成i386.rpm的RPM軟體包。

rpm
比如

rpm -ivh zabbix-agent-3.4.9-1.el7.x86_64.rpm

configure make install

使用該方法要先安裝gcc

./configure,make,make install的作用
1、configure,configure是一個shell指令碼,它可以自動設定源程式以符合各種不同平臺上Unix系統的特性
這一步一般用來生成 Makefile,為下一步的編譯做準備,
你可以通過在 configure 後加上引數來對安裝進行控制,比如程式碼:./configure –prefix=/usr
意思是將該軟體安裝在 /usr 下面,執行檔案就會安裝在 /usr/bin
(而不是預設的 /usr/local/bin),資原始檔就會安裝在 /usr/share(而不是預設的/usr/local/share)。
2、make,這一步就是編譯,大多數的原始碼包都經過這一步進行編譯
(當然有些perl或Python編寫的軟體需要呼叫perl或python來進行編譯)。
如果 在 make 過程中出現 error ,你就要記下錯誤程式碼(注意不僅僅是最後一行),
然後你可以向開發者提交 bugreport(一般在 INSTALL 裡有提交地址),
或者你的系統少了一些依賴庫等,這些需要自己仔細研究錯誤程式碼。
3、make insatll這條命令來進行安裝
make clean:清除編譯產生的可執行檔案及目標檔案(object file,*.o)。
其實./configure、make、make install這三個命令,
我們可以用&&來把命令連線起來執行,表示當前一條命令正常結束後,
後面的命令才會執行,這個辦法很好,既節省時間,又可以防止發生錯誤。例:
./configure && make && make install

安裝方式

1.首先,將安裝檔案拷貝至你的目錄中。例如,如果你是以root身份登入上的,就將軟體拷貝至/root中。

#cp xxx.tar.gz /root

2 .由於該檔案是被壓縮並打包的,應對其解壓縮。命令為:

#tar xvzf filename.tar.gz如果是filename.tar.bz2格式的,應該是tarjxvf filename.tar.bz2來解壓

執行該命令後,安裝檔案按路徑,解壓縮在當前目錄下。用ls命令可以看到解壓縮後的檔案。通常在解壓縮後產生的檔案中,有“Install”的檔案。該檔案為純文字檔案,詳細講述了該軟體包的安裝方法。

4.執行解壓縮後產生的一個名為configure的可執行指令碼程式。它是用於檢查系統是否有編譯時所需的庫,以及庫的版本是否滿足編譯的需要等安裝所需要的系統資訊。為隨後的編譯工作做準備。命令為:#./configure

如果您想把軟體安裝到指定目錄,應該用#./configure–prefix=/您自己指定的目錄,比如我想把一個mlterm安裝到/opt/mlterm目錄中,應該如下輸入

#./configure–prefix=/opt/mlterm

5.檢查通過後,將生成用於編譯的MakeFile檔案。此時,可以開始進行編譯了。編譯的過程視軟體的規模和計算機效能的不同,所耗費的時間也不同。命令為:#make。

6.成功編譯後,鍵入如下的命令開始安裝:

#make install

7.安裝完畢,應清除編譯過程中產生的臨時檔案和配置過程中產生的檔案。鍵入如下命令:

#make clean

#make distclean

至此,軟體的安裝結束。

configure引數
https://blog.csdn.net/a746742897/article/details/52293614
with 是依賴那些軟體
prefix 是安裝的位置
enable 是安裝的軟體有幾個分支,可以選擇其中一個或幾個安裝
比如

./configure --prefix=/home --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2 --with-openipmi --with-unixodbc
make
make install