3-安装软件

本文简要介绍一下如何在Linux中安装软件。

使用apt-get

更新软件源列表

在安装软件前,得先用sudo apt-get update来更新软件源列表。这个命令会访问软件源列表里的每个网址,更新软件源列表并保存在本地。

安装软件

更新完软件源列表后,使用sudo apt-get install <软件名>即可安装软件。它的原理如下:

  • 根据本地存储的软件源列表找到要安装的软件;
  • 进行软件包依赖关系检查,找到该软件依赖的所有软件包;
  • 从软件源所指的镜像网站中下载相关软件包;
  • 解压软件包,并自动完成应用程序的安装和相关配置。

更新软件

使用sudo apt-get upgrade会进行本地软件的更新,它将所有本地软件版本和软件源列表里的软件版本对比,有更新的就会更新。

卸载软件

使用sudo apt-get remove <软件名>可以卸载目标软件。

使用软件包

软件包安装相对使用apt-get还是比较繁琐的,但有时候软件源缺乏想安装的软件,就得自己找软件包安装了。

常用的软件包有两种格式:.tar包和.rpm包/.deb包。

使用tar包

.tar包是一种压缩文件,它可以打包各种文件,比如软件源码等文件,但不会处理软件包之间的依赖关系。

可以用tar -zcvf 压缩包名称.tar.gz 被压缩文件名tar -jcvf 压缩包名称.tar.bz2 被压缩文件名压缩指定文件。

可以用tar -zxvf 压缩包名称.tar.gztar -jxvf 压缩包名称.tar.bz2解压指定压缩包。

来看看tar的原理:给每个文件生成一个.gz/.bz2的压缩文件,然后将这些压缩文件打包在一个压缩包中。

然后看看它参数的意义:

  • -z/-j表示tar先用gzip还是bzip2来给每个文件生成对应格式的压缩包
  • -c表示压缩,-x表示解压
  • -v表示压缩/解压缩时显示操作的文件
  • -f表示它后面就是压缩文件名,也就是说-f必须放在参数最后。

使用rpm/deb包

.rpm包/.deb包相当于windows的安装文件(.msi),可以自动处理软件包的依赖关系。所以安装软件一般用的都是.rpm包/.deb包。

.rpm包和.deb包的区别如下:

  • rpm包主要用于redhat及分支如redhat,centos,Fedora等;
  • 而deb包主要用于debian及分支如debian,ubuntu等。

使用软件源码

可以下载软件源码,然后对它进行编译。这种方式虽然有点麻烦,但很灵活,可以先魔改软件源码,然后编译生成自定义的软件。

参考资料

  • Linux系统编程 - 飘零的落花
  • Linux基础课 - Acwing