Linux系統(tǒng)中策橘,軟件通常以源代碼或者預編譯包的形式提供。
- 軟件源代碼需要編譯為二進制的機器代碼才能夠使用区匣,安裝比較耗時,不過您可以自行調節(jié)編譯選項蒋院,決定需要的功能或組件亏钩,或者針對硬件平臺作一些優(yōu)化莲绰。在Linux中,它不像Windows中軟件資源豐富姑丑,有的時候就需要將某個代碼修改钉蒲,以符合當前平臺。
- 預編譯的軟件包彻坛,通常是由軟件的發(fā)布者進行編譯顷啼,您只要將軟件拷貝到系統(tǒng)中就可以了〔耄考慮到預編譯軟件包的適用性钙蒙,預編譯軟件包通常不會針對某種硬件平臺優(yōu)化。它所包含的功能和組件也是通用的組合间驮。
Linux
安裝軟件大概的過程如下:
- 建立安裝目錄
- 拷貝類庫
- 拷貝可執(zhí)行程序
- 根據(jù)需要選擇性配置和啟動服務
-
Linux
下的/usr/bin
目錄相當于Windows
下的ProgramFile
目錄 -
Linux
下的動態(tài)庫后綴是.so
而Windows
下是.dll
安裝方式就按某種標準依次介紹(什么標準躬厌?朕喜歡的就是標準)。
一竞帽、源碼安裝
.tar.gz扛施,.tgz,.bz2形式軟件包的安裝
-
解壓:
tar zxvf *.tar.gz
tar xvfz *.tgz
tar xvfj *.tar.bz2
解壓后用ls命令可以看到解壓縮后的文件屹篓,通常在解壓縮后產生的文件中疙渣,有名為"INSTALL"的文件。該文件為純文本文件堆巧,詳細講述了該軟件包的安裝方法妄荔。
對于多數(shù)需要編譯的軟件,其安裝的方法大體相同谍肤。執(zhí)行解壓縮后產生的一個名為configure的可執(zhí)行腳本程序啦租。它是用于檢查系統(tǒng)是否有編譯時所需的庫,以及庫的版本是否滿足編譯的需要等安裝所需要的系統(tǒng)信息荒揣。為隨后的編譯工作做準備篷角。命令為:
./configure
其中--prefix選項是配置安裝目錄,如果不配置該選項系任,安裝后可執(zhí)行文件默認放在/usr /local/bin恳蹲,庫文件默認放在/usr/local/lib,配置文件默認放在/usr/local/etc赋除,其它的資源文件放在/usr /local/share阱缓,比較凌亂。
使用--prefix選項的另一個好處是方便卸載軟件或移植軟件举农;當某個安裝的軟件不再需要時荆针,只須簡單的刪除該安裝目錄,就可以把軟件卸載得干干凈凈;而移植軟件只需拷貝整個目錄到另外一個機器即可(相同的操作系統(tǒng)下)航背。-
如果檢查過程中喉悴,發(fā)現(xiàn)有錯誤,configure將給予提示玖媚,并停止檢查箕肃。你可以跟據(jù)提示對系統(tǒng)進行配置。再重新執(zhí)行該程序今魔。檢查通過后勺像,將生成用于編譯的MakeFile文件。此時错森,可以開始進行編譯了吟宦。編譯的過程視軟件的規(guī)模和計算機的性能的不同,所耗費的時間也不同涩维。命令為:
make
make原理是執(zhí)行一個叫(所生成的)Makefile文件里的指令殃姓,make的基本用處是自動根據(jù)makefile里的指令來編譯源文件。它還可以用來做比如安裝軟件瓦阐,卸載軟件等事情蜗侈,但前提是作者在makefile里寫了。
成功編譯后睡蟋,鍵入如下的命令開始安裝:
make install
-
安裝完畢踏幻,應清除編譯過程中產生的臨時文件和配置過程中產生的文件。鍵入如下命令:
make clean
薄湿、make distclean
叫倍。make clean
清除上次的make命令所產生的object文件(后綴為“.o”的文件)及可執(zhí)行文件。make distclean
類似make clean
豺瘤,但同時也將configure生成的文件全部刪除掉,包括Makefile听诸。
如果沒有configure文件坐求,那應該有Makefile文件。那就更簡單了晌梨,省的上面的麻煩事了桥嗤。
建議:
不要將源碼刪除,在卸載軟件的時候需要使用可能仔蝌。另外在./configure
的時候養(yǎng)成--prefix指定安裝目錄的好習慣泛领,在安裝的時候也可以選擇將安裝日志進行輸出。沒啥大用敛惊,卸載方便渊鞋。
二、apt
高級包裝工具(英語:Advanced Packaging Tools,縮寫為APT)是Debian及其派生發(fā)行版的軟件包管理器锡宋。APT可以自動下載儡湾,配置,安裝二進制或者源代碼格式的軟件包执俩,因此簡化了Unix系統(tǒng)上管理軟件的過程徐钠。APT最早被設計成dpkg的前端,用來處理deb格式的軟件包∫凼祝現(xiàn)在經過APT-RPM組織修改尝丐,APT已經可以安裝在支持RPM的系統(tǒng)管理RPM包。與紅帽中的yum工具非常類似衡奥。
apt-get
其實就是一個在線安裝軟件的工具摊崭,它的主要作用是:通過本地的 Linux 連接到網絡上的 apt 倉庫(源)來下載軟件并自動安裝。在國內訪問官方源速度較慢杰赛,一般安裝完系統(tǒng)首先會更新源呢簸。apt 鏡像站點地址列表是放在下列文件下的:
/etc/apt/sources.list
而apt 的下載的 deb 包會保存到這里
/var/cache/apt/archives
軟件包安裝完成后,這些deb安裝包基本上就沒有什么用處了.apt-get clean命令可以幫你刪除這些deb安裝包.
常用apt命令:
apt-get命令一般需要root權限執(zhí)行乏屯,所以一般跟著sudo命令例sudo apt-get xxxx
apt-get install packagename
——安裝一個新軟件包(還有一個aptitude軟件)
apt-get remove packagename
——卸載一個已安裝的軟件包(保留配置文件)
apt-get --purge remove packagename
——卸載一個已安裝的軟件包(刪除配置文件)
apt-get --force-all --purge packagename
——有些軟件很難卸載根时,而且還阻止了別的軟件的應用,就可以用這個辰晕,不過有點冒險蛤迎。
apt-get autoremove
——因為apt會把已裝或已卸的軟件都備份在硬盤上,所以如果需要空間的話含友,可以讓這個命令來刪除你已經刪掉的軟件替裆。
apt-get autoclean
——定期運行這個命令來清除那些已經卸載的軟件包的.deb文件。通過這種方式窘问,可以釋放大量的磁盤空間辆童。如果需求十分迫切,可以使用apt-get clean以釋放更多空間惠赫。這個命令會將已安裝軟件包裹的.deb文件一并刪除把鉴。
apt-get clean
——這個命令會把安裝的軟件的備份也刪除,不過這樣不會影響軟件的使用的儿咱。
apt-get upgrade
——更新所有已安裝的軟件包
apt-get dist-upgrade
——將系統(tǒng)升級到新版本
apt-cache search string
——在軟件包列表中搜索字符串
apt-cache showpkg pkgs
——顯示軟件包信息庭砍。
apt-cache stats
——查看庫里有多少軟件
apt-cache dumpavail
——打印可用軟件包列表。
apt-cache show pkgs
——顯示軟件包記錄混埠,類似于dpkg –print-avail怠缸。
apt-cache pkgnames
——打印軟件包列表中所有軟件包的名稱
(需要定期運行這一命令以確保您的軟件包列表是最新的)
簡單的說: dpkg只能安裝已經下載到本地機器上的deb包. apt-get能在線下載并安裝deb包,能更新系統(tǒng),
且還能自動處理包與包之間的依賴問題,這個是dpkg工具所不具備的。
三钳宪、yum
yum揭北,是Yellow dog Updater, Modified 的簡稱扳炬,是杜克大學為了提高RPM 軟件包安裝性而開發(fā)的一種軟件包管理器。
yum命令是在Fedora和RedHat以及SUSE中基于rpm的軟件包管理器罐呼,它可以使系統(tǒng)管理人員交互和自動化地更細與管理RPM軟件包鞠柄,能夠從指定的服務器自動下載RPM包并且安裝,可以自動處理依賴性關系嫉柴,并且一次安裝所有依賴的軟體包厌杜,無須繁瑣地一次次下載、安裝计螺。
yum提供了查找夯尽、安裝、刪除某一個登馒、一組甚至全部軟件包的命令匙握。使用和apt-get相似。
語法 yum(選項)(參數(shù))
選項
-h:顯示幫助信息陈轿;
-y:對所有的提問都回答“yes”圈纺;
-c:指定配置文件;
-q:安靜模式麦射;
-v:詳細模式蛾娶;
-d:設置調試等級(0-10);
-e:設置錯誤等級(0-10)潜秋;
-R:設置yum處理一個命令的最大等待時間蛔琅;
-C:完全從緩存中運行,而不去下載或者更新任何頭文件峻呛。
參數(shù)
install:安裝rpm軟件包罗售;
update:更新rpm軟件包;
check-update:檢查是否有可用的更新rpm軟件包钩述;
remove:刪除指定的rpm軟件包寨躁;
list:顯示軟件包的信息;
search:檢查軟件包的信息切距;
info:顯示指定的rpm軟件包的描述信息和概要信息朽缎;
clean:清理yum過期的緩存;
shell:進入yum的shell提示符谜悟;
resolvedep:顯示rpm軟件包的依賴關系;
localinstall:安裝本地的rpm軟件包北秽;
localupdate:顯示本地rpm軟件包進行更新葡幸;
deplist:顯示rpm軟件包的所有依賴關系。
四贺氓、deb
deb是 ubuntu 蔚叨、debian 的格式,是debian發(fā)行版的軟件包,ubuntu是基于debian 發(fā)行的 所以可以用。
dpkg 是Debian Package的簡寫,是為Debian 專門開發(fā)的套件管理系統(tǒng)蔑水,方便軟件的安裝邢锯、更新及移除。所有源自Debian的Linux發(fā)行版都使用dpkg搀别,例如Ubuntu等丹擎。
以下是一些 Dpkg 的普通用法:
dpkg -i <package.deb>
——安裝一個 Debian 軟件包,如你手動下載的文件歇父,(其中-i等價于--install)
dpkg -c <package.deb>
——列出<package.deb> 的內容中包含的文件結構(其中-c等價于--contents)
dpkg - I <package.deb>
——從<package.deb> 中提取包裹信息的詳細信息蒂培,包括軟件名稱、版本以及大小等(其中-I等價于--info)
dpkg -r <package>
——移除一個已安裝的包裹(軟件名稱可通過dpkg -I命令查看榜苫,其中-r等價于--remove)
dpkg -P <package>
——完全清除一個已安裝的包裹护戳。和 remove 不同的是,remove 只是刪掉數(shù)據(jù)和可執(zhí)行文件垂睬,purge 另外還刪除所有的配制文件媳荒。
dpkg -L <package>
——列出 <package> 安裝的軟件包安裝的所有文件(軟件名稱可通過dpkg -I命令查看,其中-L等價于--listfiles)
dpkg -l <package>
——查看<package>軟件包的信息(軟件名稱可通過dpkg -I命令查看驹饺,其中-l等價于--list)
dpkg -s <package>
——顯示已安裝包裹的詳細信息钳枕。同時請看 apt-cache 顯示 Debian 存檔中的包裹信息,以及 dpkg -I 來顯示從一個 .deb 文件中提取的包裹信息逻淌。(軟件名稱可通過dpkg -I命令查看么伯,其中-s等價于--status)
dpkg-reconfigure <package>
——重新配制一個已經安裝的包裹,如果它使用的是 debconf (debconf 為包裹安裝提供了一個統(tǒng)一的配制界面)卡儒。
注:dpkg命令無法自動解決依賴關系田柔。如果安裝的deb包存在依賴包,則應避免使用此命令骨望,或者按照依賴關系順序安裝依賴包硬爆。
五、rpm
rpm是 redhat 擎鸠、fedora缀磕、suse 的格式。全稱為Redhat PackageManager 劣光,是由Redhat 公司提出的袜蚕,用于管理Linux下軟件包的軟件。Linux 安裝時绢涡,除了幾個核心模塊以外牲剃,其余幾乎所有的模塊均通過RPM 完成安裝。
rpm -i <package.rpm>——安裝軟件
例:
rpm -i example.rpm 安裝 example.rpm 包雄可;
rpm -iv example.rpm 安裝 example.rpm 包并在安裝過程中顯示正在安裝的文件信息凿傅;
rpm -ivh example.rpm 安裝 example.rpm 包并在安裝過程中顯示正在安裝的文件信息及安裝進度缠犀;
rpm -q …——查詢軟件信息
a 查詢所有已經安裝的包以下兩個附加命令用于查詢安裝包的信息;
i 顯示安裝包的信息聪舒;
l 顯示安裝包中的所有文件被安裝到哪些目錄下辨液;
s 顯示安裝版中的所有文件狀態(tài)及被安裝到哪些目錄下;
以下兩個附加命令用于指定需要查詢的是安裝包還是已安裝后的文件箱残;
p 查詢的是安裝包的信息滔迈;
f 查詢的是已安裝的某文件信息;
例:
rpm -qa | grep tomcat4 查看 tomcat4 是否被安裝疚宇;
rpm -qip example.rpm 查看 example.rpm 安裝包的信息亡鼠;
rpm -qif /bin/df 查看/bin/df 文件所在安裝包的信息;
rpm -qlf /bin/df 查看/bin/df 文件所在安裝包中的各個文件分別被安裝到哪個目錄下敷待;
rpm -e ...
——需要卸載的安裝包
在卸載之前间涵,通常需要使用rpm -q …命令查出需要卸載的安裝包名稱。
例:
rpm -e tomcat4 卸載 tomcat4 軟件包
rpm -U <package.rpm>
——需要升級的包
例:
rpm -Uvh example.rpm 升級 example.rpm 軟件包
rpm -V ...
——需要驗證的包
例:
rpm -Vf /etc/tomcat4/tomcat4.conf
輸出信息類似如下:
S.5....T c /etc/tomcat4/tomcat4.conf
其中榜揖,S 表示文件大小修改過勾哩,T 表示文件日期修改過。更多的驗證信息請參考rpm 幫助文件:man rpm
注:RPM 的其他附加命令
--force 強制操作如強制安裝刪除等举哟;
--requires 顯示該包的依賴關系思劳;
--nodeps 忽略依賴關系并繼續(xù)操作;
此外還有一些安裝文件:
.bin/.run
還有一些軟件解壓后生成的文件夾內包含很多文件妨猩,一般文件夾內有install.sh潜叛、setup.py等安裝文件方式,此種方式類似windows的exe安裝方式壶硅。
這樣的軟件第一步授權可執(zhí)行威兜,第二步運行就可以了。
如有錯誤庐椒,歡迎指正椒舵。