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

LOCEZ 的头像

·

·

·

198,894 次阅读

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

Ubunutu 软件中心

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

已安装

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

安装新程序

Fedora 软件中心

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

Fedora 软件中心

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

软件中心

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

安装新程序

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

移除程序

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

认证

使用包管理器安装

1.换源

发行版换源方法
Ubuntu阿里云镜像配置请参考这里
USTC镜像配置请参考这里
Fedora阿里云镜像配置请参考这里
USTC镜像配置请参考这里

换源是为了提升下载速度,上文的概念已经提到了,我们安装软件是从远程仓库下载安装的,自然这个远程仓库的网络连通必须要好,并且下载速度要可观。

2.更新源

更换了源的文件后,还需要更新本地数据库信息,以便与远程仓库信息一致。

发行版包管理工具参数示例解释
Ubuntuapt-getremovesudo apt-get remove packagename卸载软件包
Fedoradnfremovesudo dnf remove packagename卸载软件包
Ubuntudpkg-rsudo dpkg -r packagename卸载软件包

5.升级所有软件包

发行版包管理工具参数示例解释
Ubuntuapt-getpurgesudo apt-get purge packagename卸载并清除软件包的配置
sourceapt-get source packagename下载源码包文件
cleansudo apt-get clean删除所有已下载的包文件
downloadapt-get download packagename下载指定的二进制包到当前目录
–helpapt-get –help获取帮助
Fedoradnfcleansudo dnf clean清除旧缓存
makecachesudo dnf makecache生成新缓存
-hdnf -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 下遇到问题首先要自己善于去搜索,提问,解决问题得到答案并归纳总结,不然是很难学到知识的。

21 条回复

  1. dadudeng [Opera 10.5|Android 4.1] 的头像
    dadudeng [Opera 10.5|Android 4.1]

    太好了,学习了

    来自淮安
  2. 大葱蘸酱就饼 [Chrome 44.0|Windows 8.1] 的头像
    大葱蘸酱就饼 [Chrome 44.0|Windows 8.1]

    学习了~

    来自北京
  3. yang.yusi [Firefox 43.0|Ubuntu] 的头像
    yang.yusi [Firefox 43.0|Ubuntu]

    很实用的东西,非常不错

    来自银川
  4. 来自上海的 Chrome 47.0|Windows 7 用户 的头像
    来自上海的 Chrome 47.0|Windows 7 用户

    写的非常棒!谢谢!

    来自上海
  5. ryt [Chrome 47.0|GNU/Linux] 的头像
    ryt [Chrome 47.0|GNU/Linux]

    很适合新手

    来自石家庄
  6. kashu [Chromium 47.0|Ubuntu] 的头像
    kashu [Chromium 47.0|Ubuntu]

    还是一些基础的技术教程类文章更受大家的欢迎……

    来自吉安
  7. 来自安徽合肥的 Internet Explorer 11.0|Windows 7 用户 的头像
    来自安徽合肥的 Internet Explorer 11.0|Windows 7 用户

    fedora22以前的版本用的是yum,现在换dnf了

    来自安庆
  8. 浩浩君 [Chrome 45.0|Windows 7] 的头像
    浩浩君 [Chrome 45.0|Windows 7]

    假装老司机,过来瞧瞧!

    来自九江
  9. 来自河南南阳的 Firefox 49.0|Ubuntu 用户 的头像
    来自河南南阳的 Firefox 49.0|Ubuntu 用户

    我就是看看我的id

    来自南阳
  10. linux [Chrome 54.0|Mac 10.11] 的头像
    linux [Chrome 54.0|Mac 10.11]

    你没 ID ……其实我知道你是想炫耀你的 Firefox 49.0  : -d

    来自北京
  11. 来自广东广州的 Firefox 45.0|Ubuntu 用户 的头像
    来自广东广州的 Firefox 45.0|Ubuntu 用户

    楼主,有地方不懂呢,能在之后教程解释下吗?
    configure: error: –with-ssl=gnutls was given, but GNUTLS is not available.
    错误提示说,给定的 SSL 是 gnutls 但是却不可用(因为没有安装),
    因此我们安装并指定 openssl 为 wget 的 SSL 。
    这个openssl跟之前那个错误是什么关系呢?还有后面那个libssl-dev

    然后又出现
    $ sudo apt-get install openssl
    $ sudo apt-get install libssl-dev

    来自广州
  12. 来自北京的 Chrome 55.0|Windows 10 用户 的头像
    来自北京的 Chrome 55.0|Windows 10 用户

    are you  NANYANG TOO

    来自北京
  13. 来自浙江杭州的 Chrome 48.0|Windows 7 用户 的头像
    来自浙江杭州的 Chrome 48.0|Windows 7 用户

    asdfdsds

    来自杭州
  14. 来自浙江杭州的 Chrome 57.0|Windows 7 用户 的头像
    来自浙江杭州的 Chrome 57.0|Windows 7 用户

    写的非常棒

    来自杭州
  15. 来自四川成都的 Chrome 58.0|GNU/Linux 用户 的头像
    来自四川成都的 Chrome 58.0|GNU/Linux 用户

    试试看

    来自成都
  16. tenBlackTea [Chrome 58.0|Windows 7] 的头像
    tenBlackTea [Chrome 58.0|Windows 7]

    写的很棒

    来自秦皇岛
  17. 张熙熙 [Internet Explorer 11.0|Windows 10] 的头像
    张熙熙 [Internet Explorer 11.0|Windows 10]

    是ubuntu还是fedora,这个问题,一直在纠结,但从未被解决。

    来自贵阳
  18. 张熙熙 [Firefox 54.0|Ubuntu] 的头像
    张熙熙 [Firefox 54.0|Ubuntu]

    值得一看,不错

    来自贵阳
  19. 来自湖北武汉的 Chromium 59.0|Ubuntu 用户 的头像
    来自湖北武汉的 Chromium 59.0|Ubuntu 用户

    不知道自己打id是什么

    来自武汉
  20. 来自贵州贵阳的 Microsoft Edge 15.15063|Windows 10 用户 的头像
    来自贵州贵阳的 Microsoft Edge 15.15063|Windows 10 用户

    我的id

    来自贵阳
  21. 来自湖北武汉的 Chrome 76.0|GNU/Linux 用户 的头像
    来自湖北武汉的 Chrome 76.0|GNU/Linux 用户

    我试了下,把我的安装的软件全部卸载了,害的我又重新装一边

    来自武汉

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注