在 Debian 上添加 PPA 并安装软件包
最近一直在使用 WLinux。基于 Debian 的 WLinux 用起来感觉还是挺顺手的。但是和 Ubuntu 不一样的是,Debian 不能直接添加 PPA。不过通过一些操作,也可以在 Debian 上添加 PPA 的软件源 ,不过能不能安装和安装以后能不能跑起来就看脸了。
安装 apt-add-repository
在 WLinux 上没有 software-properties-common
,所以 apt-add-repository
和 add-apt-repository
指令都是不可用的,所以先安装相关的 package:
$ sudo apt update
$ sudo apt install software-properties-common
如果你的 Debian 是来自盘古开天辟地时期的,你需要安装的是
python-software-properties
。
添加 PPA 源
在 Debian 上使用 apt-add-repository
和在 Ubuntu 上是一样的。以 lazygit
为例:
$ sudo add-apt-repository ppa:lazygit-team/daily
接下来查看一下 /etc/apt/sources.list.d/
的目录结构,可以看到相关软件源已经添加进去了:
$ tree /etc/apt/sources.list.d/
/etc/apt/sources.list.d/
├── lazygit-team-ubuntu-daily-disco.list
├── lazygit-team-ubuntu-daily-disco.list.save
但是这个时候你还不能从 PPA 中安装软件包,因为 list 文件中的 codename 是 Debian 当前版本的 codename,大部分情况下 PPA 软件源中并没有对应的 Debian 的软件包,所以你应该修改 list 文件,将其中的 codename 改成你想要安装的对应的 Ubuntu 版本的 codename:
$ sudo sed -i 's/disco/bionic/g' /etc/apt/sources.list.d/lazygit-team-ubuntu-daily-disco.list
添加密钥
在 Ubuntu 上,使用 add-apt-repository
指令会自动在系统中添加对应的密钥,但是在 Debian 中不会。所以我们需要手动在系统中添加密钥。
在 PPA 软件源中的相关页面(以 lazygit 为例在 这里),找到 Technical details about this PPA
,可以看到当前软件源的 entries、Signing key 和 Fingerprint:
$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys THE_KEY
安装软件包
经过以上步骤以后,PPA 软件源才算正式添加到 Debian 之中,这个时候就可以安装对应的软件包了:
$ sudo apt update
$ sudo apt install lazygit -y
编译软件包
你也可以利用源码在 Debian 上重新编译软件包(这也是 Debian Wiki 中推荐的办法)。首先需要确保系统中已经安装了相关工具,如果没有,执行以下指令进行安装:
sudo apt install build-essential devscripts
当然你还需要确保对应 source.list
中的 deb-src
并没有被注释掉。接下来就可以编译对应的软件包了,以 lazygit 为例:
$ mkdir -p ~/build/lazygit
$ cd ~/build/lazygit
$ sudo apt source -t bionic --build lazygit
如果你在编译时遇到了依赖问题,可以手动安装终端输出的、编译时缺乏的依赖包。
编译成功以后,就可以使用 dpkg
进行安装:
$ sudo dpkg -i *.deb
当然,几乎所有 Debian 的软件包都可以在 Ubuntu 上安装,但是少数部分情况下 Ubuntu 的包不可以在 Debian 上安装。如果你足够勇敢的话(这是 Debian Wiki 中说的),你可以试着为 Debian 打个包。不过那就是另一个故事了。