我当年的shell学习笔记:Ubuntu在线apt安装PPA、源的理解

(35) 2023-10-07 21:12

Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说我当年的shell学习笔记:Ubuntu在线apt安装PPA、源的理解,希望能够帮助你!!!。

我当年的shell学习笔记:Ubuntu在线apt安装PPA、源的理解_https://bianchenghao6.com/blog__第1张

在Ubuntu中,我经常需要通过apt在线安装命令安装各种应用软件。

在WINDOWS操作系统中,我们都习惯了这样的安装模式(以安装chrome为例):

  • (1)找到程序所在的网站:https://www.qq.com/
  • (2)下载可执行的安装程序,存到本地硬盘上。比如:QQ9.1.1.24953.exe
  • (3)再打开资源管理器,找到这个安装程序包
  • (4)双击进行安装的方式。

之后,可以把这个安装程序包"QQ9.1.1.24953.exe"一直存在硬盘上,以后如果重装操作系统再用,或者拷贝给别人安装。

这种方式,在Linux下,也可以继续延用。知名软件工具,相当一部分也提供DEB包供下载安装。但是呢,这个习惯,其实在Linux平台,应该改一下了。apt在线安装才是Linux平台应用软件安装的主要方式。当然,我们不能抬杠,如果某个工具软件只提供了DEB包安装方式,还是要采用上述传统安装方式的。

比如我们要安装一个简易画图程序:kolourPaint,执行:“sudo apt install kolourPaint”。

安装电影播放器:smplayer,执行:“sudo apt install smplayer”

我当年的shell学习笔记:Ubuntu在线apt安装PPA、源的理解_https://bianchenghao6.com/blog__第2张

大部分情况下,你只需要记住一个应用的名字,就可以用apt命令一把安装了。是不是特简单?

呕,NO。有些情况下,你将面临如下的安装命令。以安装VLC播放器为例,这三步是:

sudo add-apt-repository ppa:videolan/stable-daily 
sudo apt-get update
sudo apt-get install vlc 

源安装的基本步骤

  • sudo add-apt-repository <PPA_info> <- 此命令将 PPA 仓库添加到列表中。
  • sudo apt-get update <- 此命令更新可以在当前系统上安装的软件包列表。
  • sudo apt-get install <package_in_PPA> <- 此命令安装软件包。

这三个命令,顺序执行,是一般应用程序的”源安装“的基本步骤。

什么?你不是告诉我,只需记住一个名字就可以了吗?

是的,我是指大部分情况下。因为Ubuntu操作系统替大家把一些常用的源配置好了,你才能这么简单的使用。但是,总有一部分,你需要自已配置PPA的。

在线安装,apt命令一统江湖。可是,“源”是什么呢?“PPA”是啥?“APT”这个命令又是干啥子的?

我是个菜鸟,遇到这些个概念也很糊涂。但是,好在俺有个打破砂锅问到底的心,有着爱折腾的习惯。经过被头条、百度、google的众技术大神们好好教育一翻,再经过一段在ubuntu18中的一段折腾,终于弄懂了是怎么回事。

弄懂了是怎么回事后,感觉自已太low了。不过也觉得心里真想说的是:大神们啊,能不能对我这种菜鸟说话简单一点、通俗易懂一点!所以,我的这篇笔记就是在这种情况下记录汇总的。

ubuntu中源是什么?

“源”是软件包服务器的地址。

“软件包服务器”中存储了很多可以在ubuntu操作系统上运行的软件包

通过这些地址,ubuntu系统的APT命令可以找到工具软件的安装包。

因为服务器有很多,所以服务器的地址也有很多。所以,“源”的软件包服务器地址,往往也有很多。

我们知道,大家常用”sudo apt-get install 软件名”或“sudo apt install 软件名”之类的apt命令,在ubuntu操作系统安装各种软件。

比如说安装常用的一款简单画图软件gnome-paint。我们通常只需执行这一个shell安装命令“sudo apt-get install gnome-paint”就可以安装成功了。

你习惯认为这是应该的。实际上并不是这样的。你能成功安装,是因为你的ubuntu18中默认的“软件包服务器”中登记有这个软件名称、存储有这个工具包。

举个例子,假如你想安装google chrome浏览器软件,那么你如果简单的在终端中输入“sudo apt-get install google-chrome-stable”,门都没有。这是因为,默认情况下,你的ubuntu系统没有把包含google chrome这个软件包地址登记在“源”里面,此APT安装命令就没法完成。 想想也好理解,“源”链接地址指向的网站中并没有这个软件包,apt找不到这个包,怎么可能成功安装呢!

知道 了源是什么,接下来就顺理成章的要了解PPA了。

什么是Ubuntu PPA?

PPA是Personal Package Archives首字母简写。翻译为中文意思是:个人软件包文档。

注意,“个人软件包文档”可以分成两部分来看。“个人”+“软件包文档”。

“个人”说明这是你自已的,与它人无关。是你自已的,意味着存在你自已的ubuntu系统上,不会存在服务器上。“软件包文档”,说明不是软件工具,而是一个包的记录文档。

所以,再简单一点的说,可以理解PPA就是ubuntu系统上的“/etc/apt/sources.list ”文件。这个文件,它存的是包含软件包信息的网址。这些网址指向软件包所在的服务器。

结合上面源的概念。其实,每一个“源”就是每一个软件包服务器的地址,就是存在“/etc/apt/sources.list ”一条记录。

OK,明白了吧,”源“就是软件包服务器的地址,”PPA“就是存储很多服务器地址的“/etc/apt/sources.list ”记录文件。

ubuntu为什么要用 PPA?

想想晕倒死windows操作系统,你要更新操作系统,windows自然也给你提供了更新的服务器地址。只不过这个服务器地址是微软自已的,你是不能改的。同时呢,WINDOWS是微软独有,记录个更新网址,随便一处记录就得了。所以,微软没有必要去向你公开一个类似的”sources.list“让你来改它。

运行在linux体系上的系统软件、工具包和文档程序,应该也不比windows平台上的少,那同样是浩如烟海的!ubuntu发行的时候不可能给你强加安装一切:一是你不需要这么多,二是不能强迫你,三是你的硬盘也塞不下。这是个最基本的大实话,对不对!

同时linux也就是开源的,很多运行在linux平台上的工具软件包也是开源的。所以谁都可以拷贝一份放在自家服务器上,供需要的人下载。也就是说,同样的软件包,我们有很多个下载服务器连接地址可以用。

还有啊,假设有人开发了一款软件,并希望 Ubuntu 将该软件包含在官方软件仓库中。在 Ubuntu 做出决定并将其包含在官方存软件仓库之前,还需要几个月的时间。怎么办?

所以ubuntu的发行者们就想了个办法:可以给你一个机制,让你自行、随时更新或安装你需要的文档程序包。这个机制基本上就是三个要素:

  • (1)给你一个PPA配置文件:“/etc/apt/sources.list ”
  • (2)你在“/etc/apt/sources.list ”中存下的每一条记录("源"的概念),就指向软件包服务器。(有的也称软件仓库)
  • (3)apt/apt-get,通过操纵”sources.list “中记录的一条条的”源“,找到相应包来安装。当然,实际当中没有这么简单。但做为一个只是想用ubuntu来取代WINDOWS干活的我,已经够了!
我当年的shell学习笔记:Ubuntu在线apt安装PPA、源的理解_https://bianchenghao6.com/blog__第3张

什么是源安装?

通过”apt/apt-get“命令来安装包的方式,就是”源安装“。

采用下载deb安装包来安装的方式,你先找到网址,然后下载安装包,再双击包或者用"dpkg"命令来一步步的安装。

源安装的方式就不是这样,只需要你指定包的“源”(服务器网址)和包名称,从下载到安装这一系列苦活、累活和脏活,”apt/apt-get“这个命令都替你干了。当然省心多了!

源安装的基本步骤

  • sudo add-apt-repository <PPA_info> <- 此命令将 PPA 仓库添加到列表中。
  • sudo apt-get update <- 此命令更新可以在当前系统上安装的软件包列表。
  • sudo apt-get install <package_in_PPA> <- 此命令安装软件包。

这三个命令,顺序执行,是一般源安装的基本步骤。

再以安装VLC播放器为例,这三步意思是:

sudo add-apt-repository ppa:videolan/stable-daily 【命令解释】这条命令是添加源
sudo apt-get update 【命令解释】更新系统源
sudo apt-get install vlc 【命令解释】安装VLC软件

apt/apt-get命令是干什么的?

apt-get,是一条 linux命令 ,适用于deb包管理式的操作系统,主要用于自动从互联网的软件仓库中搜索、安装、升级、 卸载 软件或操作系统。这个命令就不要多说了,需要了解的自行百度。

ubuntu更换源

Ubuntu系统自带的源很多都是国外的网址,国内用户在使用的时候网速比较慢。即便是国内的,有的快些,有的也很慢。如果太慢的源站点,一个软件的下载,或者是系统更新速度太慢,很容易失败。这种更新往往是十分痛苦的。所以我们安装好了ubuntu18之后,最好要更新一下源。下面的是阿里”源“的地址,经证实,速度是没有问题的。

#添加阿里源

deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

操作步骤:

  • (1)备份:cp /etc/apt/sources.list /etc/apt/sources.list.bak
  • (2)编辑:sudo gedit /etc/apt/sources.list,把前面的阿里”源“的地址都复制进去
  • (3)sudo apt-get update

后记:

 apt命令就是通过网络在线安装程序的。apt命令工作的原理,其实就是打开一个记录表格,这个表格上一条条记录着程序包所在的服务器地址,apt命令挨个去查询你要安装的包在不在。如果在的话,就下载安装。不在的话,提示找不到。(当然这个命令本身还比较复杂的,要处理包依赖、删除包等等之类的杂事。)

 本质上就是这么回事。老外们却玩出了什么源、PPA之类的概念。做技术久了,发现老外们特能忽悠人,往往把明白的事、简单的事,说的神乎其神。这些是国内工程师与国外工程师之间的一个不同。国外工程师往往把简单事情复杂化,摇拔高概念就是其中一个典型事例。国内工程师则反之,总希望把复杂的事情简单化,简单明了,不玩概念是本能信念。

我当年的shell学习笔记:Ubuntu在线apt安装PPA、源的理解_https://bianchenghao6.com/blog__第4张

今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

上一篇

已是最后文章

下一篇

已是最新文章

发表回复