如何装软件?

刚入Linux,很多人会发现一个重大问题——怎么装软件?

软件中心

Windows 8 终于想到“软件中心”这个功能,虽然这个中心里没有多少有用的软件……

Windows 8 是 2012 年发布的,而 Linux 和 Mac 早就有“软件中心”这个东西了,并且里面有很多用得到的软件。

如果系统没有软件中心,怎么办?往下看。

软件包管理器(图形界面)

很多时候,别人都是告诉你安装什么什么“软件包”而不是软件。

其实大多数 Linux 都是拿“软件包”堆出来的。可以这样说,操作系统好比一件工业产品,一个软件包就好比一个零件。只不过考虑到新手不熟悉这些概念,所以就用“软件中心”把这些概念隐藏起来了。

有的时候我们就是想了解一些详细的信息,所以这时候就需要“软件包管理器”了。

由于 Linux 版本太多,用的软件包管理器也就乱七八糟。所以只能介绍两大类主流系统的,至于其他系统的管理器——谷歌或百度会告诉你。

  • Ubuntu 系列系统主要有两个:一个叫新立得软件包管理器(synaptic),另外一个叫 aptitude。很明显新立得更友好一些(当然 aptitude 也不错),因为 aptitude 是在黑窗口命令行里操作的。
  • Fedora/CentOS 的叫 yumex。

一个软件需要几个组件,而那些组件又需要另外一些组件……这就是软件包的依存关系,和产品组装有点类似。所以新手可能会被那些列表吓到,以为是 360 举家来袭。事实上 360 还没严重到让你猝不及防的程度,所以不必害怕。

软件包管理器(命令行)

不是每个系统都会给你预备一个方便的 App Store,因为他们可能觉得你是高手,不屑于用这种东西。所以有时候还是要敲命令的。

敲命令看起来挺吓人,其实就一句话。假如我要装一个软件包名为vim的软件,那么命令就是——

sudo apt-get install vim

这是 Ubuntu 系列系统的。如果敲完提示 apt-get 不存在,那你就应该试试 yum(Fedora/CentOS),或者到网上查查到底应该用什么命令。

新立得软件包管理器叫 synaptic。如果你有 apt-get,那么可以

sudo apt-get install synaptic

毕竟对于新手来说点鼠标比敲命令方便。高手感觉正好相反。

如果想卸载,直接

sudo apt-get remove vim

换 yum 则是

sudo yum erase vim

[% callout style=warning %]

新手务必注意

卸载软件没有任何限制,也就是说,你甚至可以直接把系统关键组件通通删干净。所以卸载之前务必确认所要删除的东西,一旦卸载列表占了大半屏幕,就应该停下来,仔细检查这些东西到底是不是系统关键组件。

[% endcallout %]

如果想做其他事情,apt-get –help,慢慢看帮助吧。

软件源

装软件的时候要联网,不要欠网费,因为系统要到有关单位去下载软件包,回来之后再给你安装。

[% callout %]

备注

不是说什么时候都要联网。比方说你事先把软件包下载好了,或者知道dpkg或rpm命令。

[% endcallout %]

这些有关单位不是新闻联播里面那些能上天下地入海的单位,而是一堆事先把软件包保存好的网站。这些网站就是软件源。

因为很多软件源是外国的,都要经过中国那个神奇的、越来越高的你懂得的东西,所以(不一定有因果关系吧……)有时候下载速度会很慢。因此,有时候你需要手动更换一下软件源。

那么软件源怎么更换呢?不同系统不一样,你得问问谷歌。总之,都是修改有关文件,把外国网址换成中国网址。这就是换软件源。

对于 apt-get,换完之后需要做一点事情。刚装好的系统也要做一下:

sudo apt-get update

换完之后除了网速不一样,其他方面几乎完全相同。

那么国内的软件源会不会像某些公司那样随便捆绑呢?当然不会了,因为光从技术上讲就是费力不讨好的事儿……

软件装哪儿去了

在 Windows 里安装软件,总会问你装到哪儿。出于节省系统盘空间、提高系统速度,很多人会把路径改成别的盘……

也就 Windows 有这茬。那么 Linux 的软件到底都装哪儿去了?

答案:被拆散然后被吹得满地都是。比如可执行文件被吹到 /usr/bin,库文件是 /usr/lib,资源文件(图片音乐什么的)到了 /usr/share……

那么,安装时候弄得这么零散,卸载时候能卸载干净吗?

答案:软件包是官方和社区维护的,即使想让它卸不干净,也会有人维护成可以卸干净的。因此没有什么可担心的。

[% callout %]

当然 Linux 也有例外

Qt 是一个典型的有安装向导的软件。而且由于权限原因,你没准不能直接双击安装运行。最常见的情况就是去终端给文件加个可执行权限,并且用 sudo 运行,然后才能顺利装上。

[% endcallout %]

新系统必备

  • flashplugin-installer:浏览器 Flash 插件。虽然 Adobe 有点想放弃 Linux,不过插件目前至少还能用。
  • ubuntu-restricted-addons:主要是一些因版权原因不能预装的软件,如音乐、视频的解码器。
  • ttf-mscorefonts-installer:微软字体。同样由于版权原因,不能预装。
  • samba:和 Windows 系统共享文件。SMB 协议速度和稳定性不如 FTP、HTTP,因此会架 FTP 或 HTTP 服务器的可以无视。
  • 解压软件:unace unrar zip unzip p7zip-full p7zip-rar sharutils rar uudeview mpack lha arj cabextract file-roller

    稍稍提示一下,sudo apt-get install 后面可以跟一串软件包的名字,软件包之间空格隔开。很多 Unix/Linux 命令都可以这样。

  • playonlinux gnome-exe-thumbnailer:其实就是 Wine(在 Linux 上运行 Windows 程序)。
  • synaptic/aptitude:你不觉得软件中心难用吗?

源码安装

Linux 就是自由开放。那些软件也跟着贯彻 GNU 精神,所以很多软件可以直接把程序代码搞到手。

以下几种情况你会考虑到源码安装:

  1. 我要最新版本的软件!
  2. 我要对软件进行修改!
  3. 软件包管理器找不到这个软件,但是我有程序代码!
  4. 我要完成操作系统老师布置的作业!

源码安装的套路都是一样的:

  1. 把代码下载下来,找个解压缩软件解压。
  2. 看看程序用什么语言写的,确认 binutils 和编译器什么的装没装好。
  3. 有没有特殊要求(编译参数)。如果不需要,敲命令就可以肆无忌惮了。
  4. 在终端里 cd 到代码的目录,进行三部曲:

     ./configure
     make
     make install
    

源码安装经常在半路发生错误。幸运的是,多数情况都只是 C 语言缺头文件——这时候你需要到网上搜一搜这些头文件是哪部分的,是哪个软件包带的,然后用 apt-get 之类软件包管理器补上,然后重新 make。

QQ

QQ 是 Linux 用户的眼中钉。因为

  1. 用以上提到的任何方法都无法安装 QQ,
  2. 因为 QQ 根本不开发 Linux 版本,
  3. 而且 QQ 不容忍那些模拟 QQ 协议的客户端,基本没有替代品,
  4. 最关键的是,在中国,人们不是用 QQ 就是用微信,你和程序猿朋友一般都能躲开,但是你的男朋友和女朋友肯定不会放弃 QQ、微信。

特事特办,这里有一个有关 Linux 里面跑 QQ 的简介。当然没有人保证它好用,毕竟腾讯官方是拒绝的。