Linux中國

新手指南:在 Ubuntu 和 Fedora 上安裝軟體包

本文環境

  • Ubuntu 15.04 64-bit
  • Fedora 22 64-bit

安裝目標

  • wget 它是一個用於從網路上下載文件的簡單自由軟體,在下文我們也會用到 wget 進行下載某些文件。

相關概念

  • :我們安裝程序可以從 遠程倉庫本地倉庫 獲取,這個 倉庫 就是我們程序的來源,因此可以稱為
  • 包管理器 :顧名思義 包管理器 是用來管理軟體包的,用這個工具我們可以輕鬆的從倉庫中安裝、卸載程序。不同的發行版有不同的包管理器,Ubuntu 使用 apt-get 而 Fedora 22使用 dnf
  • 源碼 : 程序的原始代碼,未經過編譯,通過編譯源碼也可以生成程序。

圖形界面的軟體中心

Ubuntu 軟體中心

當我們處於圖形界面( GUI :Graphical User Interface) 時,Ubuntu 為我們提供了一個圖形界面的安裝工具,稱為 Ubuntu 軟體中心,通過這個軟體中心,我們可以像 Windows 一樣通過點擊幾個按鈕,輕鬆實現軟體包安裝。下圖為打開軟體中心之後的圖,左邊是一些分類,下面則是一些推薦的軟體包。

Ubunutu 軟體中心

點擊已安裝可以查看安裝在本機的軟體包,並且可以在此管理它們,如圖選中 Firefox 並點擊卸載,此時會提示你輸入密碼,輸入完成且正確就會卸載你所選的程序。

已安裝

接下來在搜索框搜索 wget 你可以看到如圖所示的東西,並且只需點擊安裝並正確輸入密碼即可。

安裝新程序

Fedora 軟體中心

點開如圖所示的圖標就可以打開 Fedora 的軟體中心。

Fedora 軟體中心

打開後界面如圖,分類在最下面

軟體中心

點開上圖的掃雷,顯示如下,點擊 安裝 ,靜候即可

安裝新程序

現在轉到 已安裝 ,我們可以看到剛剛安裝的掃雷,點擊 移除 ,就可以刪除了。

移除程序

如果你遇到下圖,只需要輸入你的密碼即可。

認證

使用包管理器安裝

1.換源

發行版 換源方法
Ubuntu 阿里雲鏡像配置請參考這裡
USTC鏡像配置請參考這裡
Fedora 阿里雲鏡像配置請參考這裡
USTC鏡像配置請參考這裡

換源是為了提升下載速度,上文的概念已經提到了,我們安裝軟體是從遠程倉庫下載安裝的,自然這個遠程倉庫的網路連通必須要好,並且下載速度要可觀。

2.更新源

更換了源的文件後,還需要更新本地資料庫信息,以便與遠程倉庫信息一致。

發行版 包管理工具 參數 示例 解釋
Ubuntu apt-get update sudo apt-get update 取回更新的軟體包列表信息
Fedora dnf check-update sudo dnf check-update 取回更新的軟體包列表信息

3.安裝軟體

發行版 包管理工具 類型 參數 示例 解釋
Ubuntu apt-get 遠程倉庫 install sudo apt-get install packagename 安裝軟體包
Fedora dnf 遠程倉庫 install sudo dnf install packagename 安裝軟體包
Ubuntu dpkg 本地deb包 -i sudo dpkg -i filename.deb 安裝本地二進位deb包
Fedora rpm 本地rpm包 -i sudo rpm -i filename.rpm 安裝本地二進位rpm包

4.卸載軟體包

發行版 包管理工具 參數 示例 解釋
Ubuntu apt-get remove sudo apt-get remove packagename 卸載軟體包
Fedora dnf remove sudo dnf remove packagename 卸載軟體包
Ubuntu dpkg -r sudo dpkg -r packagename 卸載軟體包

5.升級所有軟體包

發行版 包管理工具 參數 示例 解釋
Ubuntu apt-get upgrade sudo apt-get upgrade 升級所有軟體包
Fedora dnf upgrade sudo dnf upgrade 升級所有軟體包

6.其它參數

發行版 包管理工具 參數 示例 解釋
Ubuntu apt-get purge sudo apt-get purge packagename 卸載並清除軟體包的配置
source apt-get source packagename 下載源碼包文件
clean sudo apt-get clean 刪除所有已下載的包文件
download apt-get download packagename 下載指定的二進位包到當前目錄
--help apt-get --help 獲取幫助
Fedora dnf clean sudo dnf clean 清除舊緩存
makecache sudo dnf makecache 生成新緩存
-h dnf -h 獲取幫助

從源碼編譯安裝

有些時候我們會發現有的軟體包並沒有包含在軟體倉庫中,也沒有可用的二進位包,這時候我們可以嘗試從源碼編譯安裝,我在此處仍以wget 為例,示範如何編譯,並解決編譯遇到的問題

以下環境為 Ubuntu 15.04

$ mkdir buildwget #構建目錄
$ cd buildwget
$ wget http://ftp.gnu.org/gnu/wget/wget-1.16.tar.xz         #下載源碼包
$ sudo apt-get remove wget  #為了後面的測試,先把 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

上面的文件就是我們將要編譯的源文件,其中有個特別要注意的就是 INSTALL,我們要養成一個習慣,多看 INSTALL 文件,這個文件會告訴我們怎麼編譯,編譯時需要注意什麼?但由於此處的編譯較簡單,所以 INSTALL 也沒有提到什麼特別重要的事情。

按照 INSTALL 我們先執行 ./configure

$ ./configure

如果出現如下的錯誤

configure: error: --with-ssl=gnutls was given, but GNUTLS is not available.

錯誤提示說,給定的 SSLgnutls 但是卻不可用(因為沒有安裝),因此我們安裝並指定 opensslwgetSSL

$ sudo apt-get install openssl 
$ sudo apt-get install libssl-dev
$ ./configure --with-ssl=openssl

如果沒有問題,執行完後應該顯示如下

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

然後進行編譯

$ make

會輸出很多編譯信息,不要擔心,如果最後沒有報錯而停止,則編譯成功,接下來進行安裝

$ sudo make install

試試是不是 wget 命令又出來了?源碼安裝遇到問題,我們要善於搜索,提問和解決,根據報錯內容進行相應的編譯調整,缺少的依賴裝上,一般就可以成功。

總結

本文主要為新手講解了 UbuntuFedora 安裝軟體包的一些方法, 相較之前的版本,本次更改由繁化簡,並且以表格的形式給出參數和命令,要熟練和體會這些命令到底是幹嘛的,還必須親自敲一敲,去理解這個命令的作用。從源碼編譯安裝,則展示了一個遇到問題,解決問題的過程,由於編譯 wget 較簡單,此處也未遇到特別難處理的問題,但這清晰的展示了一個編譯安裝的過程,遇到錯誤,我們不要害怕,而要認真閱讀給出的錯誤信息,藉此搜索,提問,尋求解答。另外 Linux 下遇到問題首先要自己善於去搜索,提問,解決問題得到答案並歸納總結,不然是很難學到知識的。


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國