本文環(huán)境
Ubuntu 15.04 64-bit
Fedora 22 64-bit
安裝目標(biāo)
wget 它是一個(gè)用于從網(wǎng)絡(luò)上下載文件的簡(jiǎn)單自由軟件,在下文我們也會(huì)用到 wget 進(jìn)行下載某些文件。
相關(guān)概念
源 :我們安裝程序可以從 遠(yuǎn)程倉(cāng)庫(kù) 或 本地倉(cāng)庫(kù) 獲取,這個(gè) 倉(cāng)庫(kù) 就是我們程序的來(lái)源,因此可以稱為 源 。
包管理器 :顧名思義 包管理器 是用來(lái)管理軟件包的,用這個(gè)工具我們可以輕松的從倉(cāng)庫(kù)中安裝、卸載程序。不同的發(fā)行版有不同的包管理器,Ubuntu 使用 apt-get 而 Fedora 22使用 dnf。
源碼 : 程序的原始代碼,未經(jīng)過(guò)編譯,通過(guò)編譯源碼也可以生成程序。
圖形界面的軟件中心
Ubuntu 軟件中心
當(dāng)我們處于圖形界面( GUI :Graphical User Interface) 時(shí),Ubuntu 為我們提供了一個(gè)圖形界面的安裝工具,稱為 Ubuntu 軟件中心,通過(guò)這個(gè)軟件中心,我們可以像 Windows 一樣通過(guò)點(diǎn)擊幾個(gè)按鈕,輕松實(shí)現(xiàn)軟件包安裝。下圖為打開(kāi)軟件中心之后的圖,左邊是一些分類,下面則是一些推薦的軟件包。
點(diǎn)擊已安裝可以查看安裝在本機(jī)的軟件包,并且可以在此管理它們,如圖選中 Firefox 并點(diǎn)擊卸載,此時(shí)會(huì)提示你輸入密碼,輸入完成且正確就會(huì)卸載你所選的程序。
接下來(lái)在搜索框搜索 wget 你可以看到如圖所示的東西,并且只需點(diǎn)擊安裝并正確輸入密碼即可。
Fedora 軟件中心
點(diǎn)開(kāi)如圖所示的圖標(biāo)就可以打開(kāi) Fedora 的軟件中心。
打開(kāi)后界面如圖,分類在最下面
點(diǎn)開(kāi)上圖的掃雷,顯示如下,點(diǎn)擊 安裝 ,靜候即可
現(xiàn)在轉(zhuǎn)到 已安裝 ,我們可以看到剛剛安裝的掃雷,點(diǎn)擊 移除 ,就可以刪除了。
如果你遇到下圖,只需要輸入你的密碼即可。
從源碼編譯安裝
有些時(shí)候我們會(huì)發(fā)現(xiàn)有的軟件包并沒(méi)有包含在軟件倉(cāng)庫(kù)中,也沒(méi)有可用的二進(jìn)制包,這時(shí)候我們可以嘗試從源碼編譯安裝,我在此處仍以wget 為例,示范如何編譯,并解決編譯遇到的問(wèn)題
以下環(huán)境為 Ubuntu 15.04
$ mkdir buildwget #構(gòu)建目錄
$ cd buildwget
$ wget http://ftp.gnu.org/gnu/wget/wget-1.16.tar.xz #下載源碼包
$ sudo apt-get remove wget #為了后面的測(cè)試,先把 wget 卸載了
$ xz -d wget-1.16.tar.xz #解壓 xz 文件
$ tar -xvf wget-1.16.tar #解檔 tar 文件
$ cd wget-1.16
$ ls #列出文件
ABOUT-NLS ChangeLog.README GNUmakefile maint.mk po util
aclocal.m4 configure INSTALL Makefile.am README
AUTHORS configure.ac lib Makefile.in src
build-aux COPYING m4 msdos testenv
ChangeLog doc MAILING-LIST NEWS tests
上面的文件就是我們將要編譯的源文件,其中有個(gè)特別要注意的就是 INSTALL,我們要養(yǎng)成一個(gè)習(xí)慣,多看 INSTALL 文件,這個(gè)文件會(huì)告訴我們?cè)趺淳幾g,編譯時(shí)需要注意什么?但由于此處的編譯較簡(jiǎn)單,所以 INSTALL 也沒(méi)有提到什么特別重要的事情。
按照 INSTALL 我們先執(zhí)行 ./configure
$ ./configure
如果出現(xiàn)如下的錯(cuò)誤
configure: error: --with-ssl=gnutls was given, but GNUTLS is not available.
錯(cuò)誤提示說(shuō),給定的 SSL 是 gnutls 但是卻不可用(因?yàn)闆](méi)有安裝),因此我們安裝并指定 openssl 為 wget 的 SSL 。
$ sudo apt-get install openssl
$ sudo apt-get install libssl-dev
$ ./configure --with-ssl=openssl
如果沒(méi)有問(wèn)題,執(zhí)行完后應(yīng)該顯示如下
configure: Summary of build options:
Version: 1.16
Host OS: linux-gnu
Install prefix: /usr/local
Compiler: gcc
CFlags: -g -O2
LDFlags:
Libs: -lssl -lcrypto -ldl -lz
SSL: openssl
Zlib: yes
PSL: no
Digest: yes
NTLM: yes
OPIE: yes
Debugging: yes
然后進(jìn)行編譯
$ make
會(huì)輸出很多編譯信息,不要擔(dān)心,如果最后沒(méi)有報(bào)錯(cuò)而停止,則編譯成功,接下來(lái)進(jìn)行安裝
$ sudo make install
試試是不是 wget 命令又出來(lái)了?源碼安裝遇到問(wèn)題,我們要善于搜索,提問(wèn)和解決,根據(jù)報(bào)錯(cuò)內(nèi)容進(jìn)行相應(yīng)的編譯調(diào)整,缺少的依賴裝上,一般就可以成功。