轉載於: http://blog.csdn.net/zolalad/article/details/11368879
Linux下軟件的安裝與卸載
第一章 linux下安裝軟件,如何知道軟件安裝位置
注:一般的軟件的默認安裝目錄在/usr/local或者/opt里,可以到那里去找找.
指令名稱:whereis
功能介紹:在特定目錄中查找符合條件的文件。這些文件的烈性應屬於原始代碼,二進制文件,或是幫助文件。
語法格式:whereis [-bfmsu][-B <目錄>...][-M <目錄>...][-S <目錄>...][文件...]
常用參數說明:
-b 只查找二進制文件。
-B <目錄> 只在設置的目錄下查找二進制文件。
-f 不顯示文件名前的路徑名稱。
-m 只查找說明文件。
-M <目錄> 只在設置的目錄下查找說明文件。
-s 只查找原始代碼文件。
-S <目錄> 只在設置的目錄下查找原始代碼文件。
-u 查找不包含指定類型的文件。
應用:#whereis 軟件名 -->查看軟件安裝路徑
#which 軟件名 -->軟件軟件的運行路徑
首先要確定是通過包管理器安裝的還是通過源代碼安裝的。
一、通過rpm包管理器安裝的軟件:
1、rpm包
可以用命令:
#rpm –ql 包名 如 rpm -ql gcc 來查看gcc的文件都安裝到哪里去了
#rpm -qa | grep 包名 來查看有沒有安裝這個包 ,
#rpm -qa 查看全部已經安裝的包名
2、deb包
可以用命令:
#dpkg -L 包名 查看如 dpkg -L gcc 來查看gcc的文件。
#dpkg -l | grep 包名 來查看有沒有安裝某個包 ,
# dpkg -l 是查看全部包的
二、通過源代碼安裝的軟件:
1、如果是通過源代碼安裝的話 ,在源代碼的configure的時候會有參數讓你指定安裝目錄,具體體現在Makefile文件的install目標(也可能會是*install* 目標,*代表任意字符)里。例如如下Makefile文件的install目標:
install-binPROGRAMS: $(bin_PROGRAMS)
@$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(bindir)
@list='$(bin_PROGRAMS)'; for p in
echo " $(INSTALL_PROGRAM)
$(INSTALL_PROGRAM)
else :; fi; \
done
是一個腳本,把可執行文件復制到$bindir這個變量所代表的目錄下,在Makefile前面的代碼中這個變量會有定義,在我這里是定義了
prefix = /usr/local
exec_prefix = ${prefix}
bindir = ${exec_prefix}/bin
也就是 /usr/local/bin下面。
2、最后,如果已經安裝好的,也可以直接調用,要看它的路徑很好搞定
例如我用gcc這個命令,我要看gcc這個命令的目錄位置,可以用如下命令查詢
[wade@mycentos ~]$ whereis gcc
gcc: /usr/bin/gcc /usr/lib/gcc /usr/libexec/gcc /usr/share/man/man1/gcc.1.gz
一個whereis命令就查詢到位置了。
第二章Linux系統下軟件的安裝與卸載管理
我分下面三個部分來講linux中的軟件管理,前二個部分是基本介紹,也是重點,讓大家明白linux的不同的管理軟件的方法。在實際用中,推薦大家多使用apt-get和yum.那是相當的方便。
Windows下安裝軟件時,只需運行軟件的安裝程序(setup、install等)或者用zip等解壓縮軟件解開即可安裝,運行反安裝程序(uninstall、unware、"卸載"等)就能將軟件清除干凈,完全圖形化的操作界面,簡單到只要用鼠標一直點擊"下一步"就可以了。Linux系統好象就不一樣了,很多的初學者都抱怨在Linux下安裝和卸載軟件非常地困難,沒有像使用Windows時那么直觀。其實在Linux下安裝和卸載軟件也非常簡單,同樣也有安裝向導或解壓安裝的方式,不相同的只不過是除了二進制形式的軟件分發外,還有許許多多以源代碼形式分發的軟件包。
下面就來詳細地講一講這些軟件的安裝與卸載:
一、二進制分發軟件包的安裝與卸載
Linux軟件的二進制分發是指事先已經編譯好二進制形式的軟件包的發布形式,其優點是安裝使用容易,缺點則是缺乏靈活性,如果該軟件包是為特定的硬件平台編譯的,那它就不能在另外的平台或環境下正確執行。
1、*.rpm形式的二進制軟件包
首先進入軟件所在目錄
安裝:rpm -ivh *.rpm
卸載:rpm -e packgename
實例:
1、找到相應的軟件包,比如soft.version.rpm,下載到本機某個目錄;
2、打開一個終端,在非超級管理員終端使用命令:su – 轉換成root用戶;
3、cd soft.version.rpm所在的目錄;
4、輸入rpm -ivh soft.version.rpm
說明:RPM(RedHat PackgeManager)是RedHat公司出的軟件包管理器,使用它可以很容易地對rpm形式的軟件包進行安裝、升級、卸載、驗證、查詢等操作,安裝簡單,而卸載時也可以將軟件安裝在多處目錄中的文件刪除干凈,因此推薦初學者盡可能使用rpm形式的軟件包。rpm的參數中-i是安裝,-v是校驗,-h是用散列符顯示安裝進度,*.rpm是軟件包的文件名(這里的*.rpm特指*.src.rpm以外的以.rpm為后綴的文件);參數-e是刪除軟件包,packgename是軟件包名,與軟件包的文件名有所區別,它往往是文件名中位於版本號前面的字符串,例如apache-3.1.12-i386.rpm和apache-devel-3.1.12-i386.rpm是軟件包文件名,它們的軟件包名稱分別是apache和apache-devel.更多的rpm參數請自行參看手冊頁:man rpm.
如果你不喜歡在字符界面下安裝或卸載這些軟件包,完全可以在X-Window下使用圖形界面的軟件包管理程序。現在這些做的非常好了。
2、*.tar.gz/*.tgz、*.bz2形式的二進制軟件包
安裝:tar zxvf *.tar.gz 或 tar yxvf *.bz2
卸載:手動刪除
說明:*.tar.gz/*.bz2形式的二進制軟件包是用tar工具來打包、用gzip/bzip2壓縮的,安裝時直接解包即可。對於解壓后只有單一目錄的軟件,卸載時用命令"rm –rf 軟件目錄名";如果解壓后文件分散在多處目錄中,則必須一一手動刪除(稍麻煩),想知道解壓時向系統中安裝了哪些文件,可以用命令"tar ztvf *.tar.gz"/"tar ytvf *.bz2"獲取清單。tar的參數z是調用gzip解壓,x是解包,v是校驗,f是顯示結果,y是調用bzip2解壓,t是列出包的文件清單。更多的參數請參看手冊頁:man tar.
注:如果你更喜歡圖形界面的操作,可以到Ubuntu上看看他的包管理,超級方便。
3、*.tgz形式的二進制軟件包
解壓:tar -zxvf soft.tgz
切換到當前解壓后目錄:cd soft (ps: Linux的shell下按TAB鍵可以直接自動補全文件名)
安裝:#./soft-*-*-installer
卸載:手動刪除安裝所在的文件夾
示例:安裝myeclipse-8.0.0-linux-gtk-x86.tgz
解壓:#tar -zxvf myeclipse-8.0.0-linux-gtk-x86.tgz
解壓切換到當前安裝目錄:cd myeclipse-8.0.0-linux-gtk-x86
安裝:#./myeclipse-8-stable-installer
3、提供安裝程序的軟件包
這類軟件包已經提供了安裝腳本或二進制的安裝向導程序(setup、install、install.sh等),只需運行它就可以完成軟件的安裝;而卸載時也相應地提供了反安裝的腳本或程序。例如SUN公司的StarOffice辦公軟件套件就使用名為setup的安裝程序,而且在軟件安裝后提供反安裝的功能,目前這種類型的軟件包還比較少,因其安裝與卸載的方式與Windows軟件一樣,所以就無需多講了。
二、源代碼分發軟件包的安裝與卸載
Linux軟件的源代碼分發是指提供了該軟件所有程序源代碼的發布形式,需要用戶自己編譯成可執行的二進制代碼並進行安裝,其優點是配置靈活,可以隨意去掉或保留某些功能/模塊,適應多種硬件/操作系統平台及編譯環境,缺點是難度較大,一般不適合初學者使用。
1、*.src.rpm形式的源代碼軟件包
安裝:rpm -rebuild *.src.rpm
cd /usr/src/dist/RPMS
rpm -ivh *.rpm
卸載:rpm -e packgename
說明:rpm -rebuild *.src.rpm命令將源代碼編譯並在/usr/src/dist/RPMS下生成二進制的rpm包,然后再安裝該二進制包即可。packgename如前所述。
2、tar.gz源代碼包安裝方式:
1、找到相應的軟件包,比如soft.tar.gz,下載到本機某個目錄;
2、打開一個終端,使用命令:su –轉換成root用戶;
3、cd soft.tar.gz所在的目錄;
4、tar -xzvf soft.tar.gz //一般會生成一個soft目錄
5、cd soft
6、./configure --prefix=/usr/local/soft(指定安裝目錄)
7、make
8、make install
卸載:用cd 命令進入編譯后的軟件目錄,即安裝時的目錄
執行反安裝命令:make uninstall或 手動刪除
3. tar.bz2源代碼包安裝方式:
1、找到相應的軟件包,比如soft.tar.bz2,下載到本機某個目錄;
2、打開一個終端,su -成root用戶;
3、cd soft.tar.bz2所在的目錄;
4、tar -xjvf soft.tar.bz2 //一般會生成一個soft目錄
5、cd soft
6、./configure --prefix=/usr/local/soft(指定安裝目錄)
7、make
8、make install
卸載:用cd 命令進入編譯后的軟件目錄,即安裝時的目錄
執行反安裝命令:make uninstall或 手動刪除
說明:建議解壓后先閱讀說明文件,可以了解安裝有哪些需求,有必要時還需改動編譯配置。有些軟件包的源代碼在編譯安裝后可以用make install命令來進行卸載,如果不提供此功能,則軟件的卸載必須手動刪除。由於軟件可能將文件分散地安裝在系統的多個目錄中,往往很難把它刪除干凈,那你應該在編譯前進行配置,指定軟件將要安裝到目標路徑:./configure --prefix=目錄名,這樣可以使用"rm –rf 軟件目錄名"命令來進行干凈徹底的卸載。與其它安裝方式相比,需要用戶自己編譯安裝是最麻煩的,其實我個人認為,以后會越來越少人用這種方法。因為現在的硬件發展到沒有必要多這少量的性能,來浪費這么多時間。
安裝目錄:注意make install命令過程中的安裝目錄,或者閱讀安裝目錄里面的readme文件,當然最好的辦法是在安裝的過程中指定安裝目錄,即在./configure命令后面加參數--prefix=/**,如:./configure --prefix=/usr/local/soft,即把軟件裝在/usr/local/路徑的soft這個目錄里。
三、bin文檔安裝:
假如您下載到的軟件名是soft.bin,一般情況下是個可執行文檔,安裝方法如下:
1、 打開一個終端,su -成root用戶;
2、 用CD 命令進入源代碼壓縮包所在的目錄
3、 chmod x soft.bin
4、./soft.bin //運行這個命令就能夠安裝軟件了,並且此軟件被安裝在了:源代碼壓縮包所在的目錄/soft中!
===如何卸載:把安裝時中選擇的安裝目錄刪除就OK,
===執行安裝過程中可以指定,類似於windows下安裝。
示例:欲將jdk安裝到指定目錄/usr/Java下
說明:1.CentOS默認情況下,會安裝OpenOffice之類的軟件,這些軟件需要Java的支持,默認會安裝JDK的環境,若需要特定的Java環境,最好將默認的JDK徹底刪除;
2.查看默認的JDK命令:java -version
3.但是如果先刪除默認再裝新的JDK,則與之相關的軟件比如openoffice等也會隨之刪除,所以,先裝新的jdk再卸系統默認自帶的jdk。
***卸載系統自帶原JDK的方法示例:(注意,此操作應該在新jdk安裝完畢后再執行)
終端輸入,查看gcj的版本號:rpm -qa|grep jdk
得到結果:
jdk-1.7.0_04-fcs.x86_64
java-1.6.0-openjdk-1.6.0.0-1.49.1.11.4.el6_3.x86_64
終端輸入,卸載:yum -y remove Java java-1.6.0-openjdk-1.6.0.0-1.49.1.11.4.el6_3.x86_64
等待系統自動卸載,最終終端顯示 Complete,卸載完成
首先,在/usr下新建java文件夾,將安裝包放在/usr/java目錄下
然后進入此目錄(根據安裝包的不同選擇①或②兩種安裝方式之一)
①jdk-1_6_0_14-linux-i586-rpm.bin文件安裝
# chmod 777 jdk-1_6_0_14-linux-i586-rpm.bin ←修改為可執行
# ./jdk-1_6_0_14-linux-i586-rpm.bin ←選擇yes同意上面的協議
# rpm -ivh jdk-1_6_0_14-linux-i586.rpm ←選擇yes直到安裝完畢
②jdk-1_6_0_14-linux-i586.bin文件安裝
# chmod a+x jdk-1_6_0_14-linux-i586.bin ←使當前用戶擁有執行權限
# ./jdk-1_6_0_14-linux-i586.bin ←這時會顯示出JDK的安裝許可協議,按空格翻頁,最后程序會問你是不是同意上面的協議,當然同意啦,輸入“yes”之后開始解壓JDK到當前目錄。此時屏幕上會顯示解壓的進度,直到安裝完畢。
最后為jdk配置環境變量
<1># vi /etc/profile
<2>在最后加入以下幾行:注意,在linux系統中,環境變量配置的分隔符不能用;(分號),要用:(冒號)
# set java environment
export JAVA_HOME=/usr/program/jdk1.6.0_13
export JRE_HOME=/usr/program/jdk1.6.0_13/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
<3>在vi編輯器增加以上內容后保存退出,並執行以下命令使配置生效!
#chmod +x /etc/profile ;增加執行權限
#source /etc/profile; 使配置生效
配置完畢后,在命令行中輸入:java -version,如出現下列信息說明java環境安裝成功。
java version "1.6.0_13"
Java(TM) SE Runtime Environment (build 1.6.0_13-b03)
Java HotSpot(TM) Server VM (build 16.3-b01, mixed mode)
完成以上,我們就在CentOS系統中完成了JDK的安裝以及配置。
卸載自己安裝的jdk的方法:把安裝時中選擇的安裝目錄刪除就OK命令:#rm –rf jdk-1.6.0_13命令即可刪除JDK,別忘了把配置文件/etc/profile的相關配置也刪除!!!
四、無需安裝的軟件:
有些軟件,比如lumaqq,是無需安裝的,自帶jre解壓縮后可直接運行。假設下載的是lumaqq.tar.gz,使用方法如下:
1、打開一個終端,su -成root用戶;
2、tar -xzvf lumaqq.tar.gz //這一步會生成一個叫LumaQQ的目錄
3、cd LumaQQ
4、chmod x lumaqq //配置lumaqq這個程式文檔為可運行
5、此時就能夠運行lumaqq了,用命令./lumaqq即可,但每次運行要輸入全路徑或轉換到剛才生成的LumaQQ目錄里
6、為了確保不配置路徑就能夠用,您能夠在/bin目錄下建立一個lumaqq的鏈接, 用命令ln -s lumaqq /bin/ 即可,以后任何時候打開一個終端輸入lumaqq就能夠 啟動QQ聊天軟件了
7、 假如您要想lumaqq有個菜單項,使用菜單編輯工具,比如Alacarte Menu Editor,找到上面生成的LumaQQ目錄里的lumaqq配置一個菜單項就能夠了,當然您 也能夠直接到 /usr/share/applications目錄,按照里面其他*.desktop文檔的格式生成一個自己的desktop文檔即可。
五、使用yum和apt-get.軟件管理方法的升級。
看過上面的介紹。大家一定會感覺,太麻煩了,下面這個是先進的linux才有的功能,這個實在太方便了,比windows還要方便,要是你用過Ubuntu的apt-get你會感覺爽極了的。那個方便。
1.我們來先講Redhat的yum這種高級的包管理。
1).用YUM安裝刪除軟件
注:Yum( Yellow dog Updater, Modified)是一個在Fedora和RedHat以及SUSE中的Shell前端軟件包管理器。基於RPM包管理,能夠從指定的服務器自動下載RPM包並且安裝,可以自動處理依賴性關系,並且一次安裝所有依賴的軟體包,無須繁瑣地一次次下載、安裝。
在系統中添加刪除軟件是常事,yum同樣可以勝任這一任務,只要軟件是rpm安裝的。安裝的命令是,yum install xxx,yum會查詢數據庫,有無這一軟件包,如果有,則檢查其依賴沖突關系,如果沒有依賴沖突,那么最好,下載安裝;如果有,則會給出提示,詢問是否要同時安裝依賴,或刪除沖突的包,你可以自己作出判斷。刪除的命令是,yum remove xxx,同安裝一樣,yum也會查詢數據庫,給出解決依賴關系的提示。
用YUM安裝軟件包
命令:yum install xxx
用YUM刪除軟件包
命令:yum remove xxx
2).用YUM查詢軟件信息
我們常會碰到這樣的情況,想要安裝一個軟件,只知道它和某方面有關,但又不能確切知道它的名字。這時yum的查詢功能就起作用了。你可以用 yum search keyword這樣的命令來進行搜索,比如我們要則安裝一個Instant Messenger,但又不知到底有哪些,這時不妨用yum search messenger這樣的指令進行搜索,yum會搜索所有可用rpm的描述,列出所有描述中和messeger有關的rpm包,於是我們可能得到gaim,kopete等等,並從中選擇。有時我們還會碰到安裝了一個包,但又不知道其用途,我們可以用yum info packagename這個指令來獲取信息。
使用YUM查找軟件包
命令:yum search
列出所有可安裝的軟件包
命令:yum list
列出所有可更新的軟件包
命令:yum list updates
列出所有已安裝的軟件包
命令:yum list installed
列出所有已安裝但不在 Yum Repository 內的軟件包
命令:yum list extras
列出所指定的軟件包
命令:yum list
2.講講Ubuntu中的高級包管理方法apt-get
除了apt的便捷以外,apt-get的一大好處是極大地減小了所謂依賴關系惡夢的發生幾率(dependency hell),即使是陷入了dependency hell,apt-get也提供了很好的援助手段,幫你逃出魔窟。通常 apt-get 都和網上的壓縮包一起出沒,從互聯網上下載或是安裝。全世界有超過200個 debian 官方鏡像,還有繁多的非官方軟件包提供網站。你所使用的基於Debian的發布版不同,你所使用的軟件倉庫可能需要手工選擇或是可以自動設置。你能從Debian官方網站得到完整的鏡像列表。而很多非官方網站提供各種特殊用途的非官方軟件包,當然,使用非官方軟件包會有更多風險了。軟件包都是為某一個基本的Debian發布版所准備的(從unstable到stable),並且划分到不同類別中(如 main contrib nonfree),這個是依據 debian 自由軟件綱領而划分的(也就是常說的dfsg),因為美國限制加密軟件出口,還有一個non-us類別。
apt方式安裝:
1、打開一個終端,su -成root用戶;
2、apt-cache search soft 注:soft是您要找的軟件的名稱或相關信息
3、假如2中找到了軟件soft.version,則用apt-get install soft.version命令安
裝軟件 注:只要您能夠上網,只需要用apt-cache search查找軟件,用apt-get
install軟件
常用的APT命令參數
apt-cache search package 搜索包
apt-cache show package 獲取包的相關信息,如說明、大小、版本等
sudo apt-get install package 安裝包
sudo apt-get install package - - reinstall 重新安裝包
sudo apt-get -f install 修復安裝"-f = --fix-missing"
sudo apt-get remove package 刪除包
sudo apt-get remove package - - purge 刪除包,包括刪除配置文件等
sudo apt-get update 更新源sudo apt-get upgrade 更新已安裝的包
sudo apt-get dist-upgrade 升級系統
sudo apt-get dselect-upgrade 使用 dselect 升級
apt-cache depends package 了解使用依賴
apt-cache rdepends package 是查看該包被哪些包依賴
sudo apt-get build-dep package 安裝相關的編譯環境
apt-get source package 下載該包的源代碼
sudo apt-get clean && sudo apt-get autoclean 清理無用的包
sudo apt-get check 檢查是否有損壞的依賴
參考鏈接:http://soft.chinabyte.com/os/85/12332085.shtml
六、安裝完軟件后如何執行。 安裝完軟件后可以有好多種方法執行軟件:
A、有些軟件安裝后會自動在應用程序列表里加上快捷鍵,和windows一樣,到那里找就行了。
B、 如果在應用程序列表里找不到的話,可以直接在/開始/運行命令里輸入命令:啟動命令一般就是軟件名,如firefox,realplay,xmms等
C、可以打開一個shell終端,輸入軟件名,和在“運行命令”里一樣。如果不知道命令全程的話,可以輸入開頭的字母,然后按tab鍵查找,系統會自動顯示以輸入字母開頭的所有命令/
D、你也可以直接到安裝目錄下運行啟動文件,Linux下的可執行圖標和shell終端圖標很像
E、到/usr/bin目錄里找安裝的軟件啟動文件執行命令。Linux系統把所有可執行的文件命令在/usr/bin目錄里都作了啟動連接,你可以去那個目錄尋找你安裝的文件的啟動命令,雙擊啟動。