PPA in Ubuntu

在使用Ubuntu Server时,很多时候都无法通过apt-get来安装我们需要的软件,或软件的最新版本。Google后会发现有其它的多种安装方式,其中就有deb包安装,二进制安装,源码安装,有时还会有添加PPA的方式安装。当然最便捷的就是最后一种了。

什么是PPA呢?

PPA,(Personal Package Archives),也就是个人软件包集。有点像Mac OSX 里的Homebrew,但不同的是brew里提供的大多是源码安装,而PPA里都是二进制的安装文件,最后PPA仍然是通过apt-get来进行安装。

理论上,任何人都可以在任何地方发布PPA,但Canonical(Ubuntu的母公司)提供了一个更为通用的发布平台Launchpad https://launchpad.net/ 注册过网站之后,就可以发布自己的安装包了。

添加移除PPA源

1
2
3
4
# 通过PPA添加新的Source
$ sudo add-apt-repository ppa:user/ppa-name
# 示例
$ sudo add-apt-repository ppa:nginx/stable

添加新的源之后,记得要update

1
$ sudo apt-get update

移除某个PPA源

1
2
3
$ sudo add-apt-repository --remove ppa:someppa/ppa
# 示例
$ sudo add-apt-repository --remove ppa:nginx/stable

安装软件

在添加完源之后,就可以用apt-get install安装该源里所包含的软件了。

1
2
3
4
5
6
$ sudo apt-get install name

# MySQL 5.6:的完整示例
$ sudo add-apt-repository -y ppa:ondrej/mysql-5.6
$ sudo apt-get update
$ sudo apt-get -y install mysql-client-5.6 mysql-server-5.6

安装完成之后,可以通过 whereis 来查看具体安装位置

1
2
$ whereis mysql
# mysql: /usr/bin/mysql /etc/mysql /usr/lib/mysql /usr/share/mysql /usr/share/man/man1/mysql.1.gz

如果要删除软件,其实和PPA已经没有关系了,是apt-get工具的正常操作

1
$ sudo apt-get remove mysql-5.6

常用软件包的PPA

QA

多个版本怎么办

一般情况下多个版本会在程序上用版本号分开的,例如mysql-5.5, mysql-5.6,相当于两个软件,不会冲突。

如何升级

通过apt-get update可以更新到该PPA里的软件包最新的信息。然后用apt-get upgrade来升级指定版本即可。