您的位置:首页 > Web前端

新手指南:在 Ubuntu 和 Fedora 上安装软件包

2015-08-17 10:00 603 查看
新进入 Linux 世界的朋友们,也许你已经下载好了 Linux 的安装 ISO,并且安装好了你的 Linux ,那么接下来,你也许希望安装一些 Linux 上用的软件。开始你可能会使用图形界面的软件中心来安装,有时候也需要使用命令行来安装,或者甚至需要自己去编译一个二进制出来——这是多么神奇的一件事啊。

那么我们今天就讲一讲如何在 Linux 上安装软件包。

本文将从 GUI 软件中心包管理器在线仓库安装本地安装源码安装 一一为你讲解有关安装软件包需要注意的事项。



本文环境

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 一样通过点击几个按钮,轻松实现软件包安装。下图为打开软件中心之后的图,左边是一些分类,下面则是一些推荐的软件包。



点击已安装可以查看安装在本机的软件包,并且可以在此管理它们,如图选中 Firefox 并点击卸载,此时会提示你输入密码,输入完成且正确就会卸载你所选的程序。



接下来在搜索框搜索
wget
你可以看到如图所示的东西,并且只需点击安装并正确输入密码即可。



Fedora 软件中心

点开如图所示的图标就可以打开 Fedora 的软件中心。



打开后界面如图,分类在最下面



点开上图的扫雷,显示如下,点击 安装 ,静候即可



现在转到 已安装 ,我们可以看到刚刚安装的扫雷,点击 移除 ,就可以删除了。



如果你遇到下图,只需要输入你的密码即可。



使用包管理器安装

Ubuntu 使用 apt-get 从软件仓库中安装

这里使用的是上次虚拟机安装的环境,因此很干净什么都没有,我们先看看
apt-get
命令

$ apt-get --help
apt 1.0.9.7ubuntu4,用于 amd64 构架,编译于 Apr  7 2015 14:42:59
用法: apt-get [选项] 命令
  apt-get [选项] install|remove 软件包1 [软件包2 ...]
  apt-get [选项] source 软件包1 [软件包2 ...]

  apt-get 是一个用于下载和安装软件包的简易命令行界面。
  最常用命令是 update 和 install。

  命令:
    update - 取回更新的软件包列表信息
    upgrade - 进行一次升级
    install - 安装新的软件包(注:软件包名称是 libc6 而非 libc6.deb)
    remove - 卸载软件包
    autoremove - 卸载所有自动安装且不再使用的软件包
    purge - 卸载并清除软件包的配置
    source - 下载源码包文件
    build-dep - 为源码包配置所需的编译依赖关系
    dist-upgrade - 发布版升级,见 apt-get(8)
    dselect-upgrade - 根据 dselect 的选择来进行升级
    clean - 删除所有已下载的包文件
    autoclean - 删除已下载的旧包文件
    check - 核对以确认系统的依赖关系的完整性
    changelog - 下载指定软件包,并显示其changelog
    download - 下载指定的二进制包到当前目录

在对
apt-get
命令有了基本的了解后,我们接下来要换源,将源换成国内的,有 阿里云 以及 网易 的镜像站。

阿里云镜像配置请参考这里

网易镜像配置请参考这里

一般来说我们只需将
/etc/apt/sources.list
里面的
xxx.xxx.com
换成
mirrors.aliyun.com
mirrors.163.com
即可,其余无需改动。

改动源后,我们先更新源

$ sudo apt-get update

升级所有软件包

$ sudo apt-get upgrade

安装命令

$ sudo apt-get install packagename

卸载命令

$ sudo apt-get remove packagename

接下来安装
wget


$ sudo apt-get install wget

顺利安装后应该会出现如下提示

$ sudo apt-get install wget
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
下列【新】软件包将被安装:
  wget
升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 196 个软件包未被升级。
需要下载 282 kB 的软件包。
解压缩后会消耗掉 700 kB 的额外空间。
获取:1 http://cn.archive.ubuntu.com/ubuntu/ vivid/main wget amd64 1.16.1-1ubuntu1 [282 kB]
下载 282 kB,耗时 0秒 (517 kB/s)
正在选中未选择的软件包 wget。
(正在读取数据库 ... 系统当前共安装有 174852 个文件和目录。)
正准备解包 .../wget_1.16.1-1ubuntu1_amd64.deb  ...
正在解包 wget (1.16.1-1ubuntu1) ...
正在处理用于 install-info (5.2.0.dfsg.1-6) 的触发器 ...
正在处理用于 man-db (2.7.0.2-5) 的触发器 ...
正在设置 wget (1.16.1-1ubuntu1) ...
linuxcn@linuxcn-VirtualBox:~$

接下来要卸载
wget


$ sudo apt-get remove wget

Fedora 使用 dnf 从软件仓库中安装

配置源,将源换成国内的提升下载速度。

备份

$ cd /etc/repo
$ sudo mv /etc/yum.repos.d/fedora.repo /etc/yum.repos.d/fedora.repo.backup
$ sudo mv /etc/yum.repos.d/fedora-updates.repo /etc/yum.repos.d/fedora-updates.repo.backup

下载网易源配置文件(网易与阿里云二者选一即可)

$ sudo wget http://mirrors.163.com/.help/fedora-163.repo $ sudo wget http://mirrors.163.com/.help/fedora-updates-163.repo[/code] 下载阿里云源配置文件(网易与阿里云二者选一即可)

$ sudo wget -O /etc/yum.repos.d/fedora.repo http://mirrors.aliyun.com/repo/fedora.repo $ sudo wget -O /etc/yum.repos.d/fedora-updates.repo http://mirrors.aliyun.com/repo/fedora-updates.repo[/code] 清除旧缓存并生成新缓存

$ sudo dnf clean
$ sudo dnf makecache

获取
dnf
帮助

$ dnf -h

安装包

$ sudo dnf install packagename

卸载包

$ sudo dnf remove packagename

安装
wget


$ sudo dnf install wget

卸载
wget


$ sudo dnf remove wget

安装本地二进制包

Ubuntu 使用 dpkg 安装本地 deb 包

有时我们会从网上下载到
filename.deb
这种二进制包,并且这种包一般只允许 Debian 系的系统安装,这样的包我们可以通过
dpkg
命令来安装。

先了解一下
dpkg
命令

$ dpkg --help
用法:dpkg [<选项> ...] <命令>

命令:
  -i|--install       <.deb 文件名> ... | -R|--recursive <目录> ...
  --unpack           <.deb 文件名> ... | -R|--recursive <目录> ...
  -A|--record-avail  <.deb 文件名> ... | -R|--recursive <目录> ...
  --configure        <软件包名> ... | -a|--pending
  --triggers-only    <软件包名> ... | -a|--pending
  -r|--remove        <软件包名> ... | -a|--pending
  -P|--purge         <软件包名> ... | -a|--pending
  -V|--verify <软件包名> ...       检查包的完整性。

  -?, --help                       显示本帮助信息。
     --version                    显示版本信息。

安装命令

$ sudo dpkg -i filename.deb

卸载命令

$ sudo dpkg -r packagename

此处仍以
wget
为例,先用
apt-get download wget
下载一个
deb
包到当前目录,笔者下载的为
wget_1.16.1-1ubuntu1_amd64.deb


dpkg
安装
wget


$ sudo dpkg -i ./wget_1.16.1-1ubuntu1_amd64.deb 
正在选中未选择的软件包 wget。
(正在读取数据库 ... 系统当前共安装有 174852 个文件和目录。)
正准备解包 .../wget_1.16.1-1ubuntu1_amd64.deb  ...
正在解包 wget (1.16.1-1ubuntu1) ...
正在设置 wget (1.16.1-1ubuntu1) ...
正在处理用于 install-info (5.2.0.dfsg.1-6) 的触发器 ...
正在处理用于 man-db (2.7.0.2-5) 的触发器 ...

注意:上面的参数
-i
表明安装,后接要安装的 deb 包。

Tips:用
Tab
键可以进行命令和文件名的补全。

卸载可以用
apt-get


$ sudo apt-get remove packagename

Fedora 使用 rpm 安装本地 rpm 包

同样地,我们也可能下载到
filename.rpm
这样的二进制软件包,此时我们可以用
rpm
命令安装。

获取帮助

$ rpm --help

此处笔者就下一个
wget
的 rpm 包作示例

$ dnf download wget      # 得到名为 wget-1.16.3-1.fcxx.x86_64.rpm 的二进制软件包

rpm
安装命令

$ sudo rpm -i filename.rpm   # -i 为安装参数

$ sudo rpm -i ./wget-1.16.3-1.fcxx.x86_64.rpm

从源码编译安装

有些时候我们会发现有的软件包并没有包含在软件仓库中,也没有可用的二进制包,这时候我们可以尝试从源码编译安装,我在此处仍以
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.

错误提示说,给定的
SSL
gnutls
但是却不可用(因为没有安装),因此我们安装并指定
openssl
wget
SSL


$ 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 安装软件包的一些方法, Ubuntu 部分较详细,限于篇幅原因 Fedora 只列举了相应的 安装卸载 命令,但可通过
man
dnf -h
rpm --help
获取帮助,此处不再赘述。而从源码编译安装,则展示了一个遇到问题,解决问题的过程,由于编译
wget
较简单,此处也未遇到特别难处理的问题,但这清晰的展示了一个编译安装的过程,遇到错误,我们不要害怕,而要认真阅读给出的错误信息,借此搜索,提问,寻求解答。另外 Linux 下遇到问题首先要自己善于去搜索,提问,解决问题得到答案并归纳总结,不然是很难学到知识的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: