Abhishek Prakash 发布的文章

自从我们报道将 Signal 作为即时通讯软件的理想选择以来,已经过去一年多了。虽然具有隐私意识的人和静态技术的人已经意识到了这个了不起的软件的存在,与此同时,在最近的 WhatsApp 隐私政策更新之后,Signal 更是得到了很多人的褒奖。

无论什么原因,如果你对 Signal 一无所知,想知道是否能在桌面上使用 Signal,那么答案是肯定的。你可以在 Linux、Windows 和 macOS 系统以及智能手机上安装 Signal。

Signal Messenger on Pop OS Linux distribution

我不打算强调 Signal 的功能,因为你可能已经有所了解。我只想向你展示在 Linux 桌面上安装 Signal 的不同方法:

  • 用 Snap 包在 Liunx 上安装 Signal(Snap 应用程序需要更长的时间来加载,但可以获得自动更新和轻松的安装)
  • 用 apt 包在基于 Debian 和 Ubuntu 的发行版上安装 Signal(添加软件库需要额外的操作,但已安装的应用程序会自动更新)
  • 用 AUR 在 Arch 和 Manjaro Linux 上安装 Signal
  • 用 Flatpak 包在 Fedora 等 Linux 系统上安装 Signal

你可以基于你的发行版和偏好来选择这些安装方法的其中一种:

方法 1:用 Snap 包在 Linux 上安装 Signal

如果你正在使用 Ubuntu,你可以在软件中心找到 Signal 桌面版程序的 Snap 格式的软件包。

或者,你可以在任何 有 Snap 包支持功能的 Linux 发行版使用 Snap 命令 安装 Signal。

sudo snap install signal-desktop

你可以使用 snap remove 命令或者从软件中心删除它。

有些人不喜欢 Snap 包是因为它们启动时间太长。好消息是你能够使用 apt 命令来安装 Signal。下一节我们讨论它。

方法 2:通过 apt 在基于 Debian 和 Ubuntu 的发行版上安装 Signal(使用官方 Signal 仓库)

这里是你在 Debian、Ubuntu、Linux Mint、elementary OS 和基于 Debian/Ubuntu 的其他发行版中安装 Signal 必须遵循的步骤。你可以 复制这些命令并将其粘贴到终端

第一件事是得到官方 Signal 仓库的 GPG 密钥,并且把它加入到你的 APT 包管理器可信任的密钥中。

wget -O- https://updates.signal.org/desktop/apt/keys.asc | sudo apt-key add -

密钥添加之后,你可以将仓库安全的添加的你的系统中。不要因为仓库名称使用了 xenial 就惊慌失措。它可以在 Ubuntu 18.04、20.04 和更新的版本以及 Debian、Mint 等系统中工作。

echo "deb [arch=amd64] https://updates.signal.org/desktop/apt xenial main" | sudo tee -a /etc/apt/sources.list.d/signal-xenial.list

借助 Linux 的 tee 命令,在 /etc/apt/sources.list.d 目录下你将会有一个叫做 signal-xenial.list 的新文件。这个新文件有 Signal 仓库信息即 deb [arch=amd64] https://updates.signal.org/desktop/apt xenial main

既然你已经添加了仓库,那么来更新缓存并安装 Signal 桌面程序吧:

sudo apt update && sudo apt install signal-desktop

一旦安装成功,在程序菜单找到 Signal 然后启动它。

由于你已经添加了仓库,你安装的 Signal 程序将会伴随系统日常更新而自动更新。

享受在 Linux 桌面上使用 Signal 加密通讯的乐趣吧。

删除 Signal

如果我不分享给你删除的步骤,那么指南是不完整的。让我们看一下。

首先,删除该程序:

sudo apt remove signal-desktop

你可以留下它,也可以从系统中删除 Signal 仓库。对你来说是都是可以的。仓库继续在系统里的话,你可以轻松的再次安装 Signal。如果你删除了仓库的话,你得按照之前的步骤再次重新添加仓库。

如果你也想同时删除掉 Signal 仓库,你可以选择图形化方法,通过“软件和更新”工具,在那里删除它。

或者,你可以用 rm 命令来删除这个文件:

rm -i /etc/apt/sources.list.d/signal-xenial.list

方法 3:用 AUR 在 Arch 和 Manjaro Linux 上安装 Signal

通过 AUR基于 Arch 的 Linux 发行版 上安装 Signal 是有效的。如果你在 Manjaro 上使用 Pamac 并且启用了 AUR,在包管理器里你可以找到 Signal。

否则,你可以经常 使用 AUR 辅助工具

sudo yay -Ss <package-name>

我相信你能够在相似的功能中删除 Signal。

方法 4:用 Flatpak 包在 Fedora 等 Linux 系统上安装 Signal

Signal 没有 RPM 的安装文件。然而,Flatpak 包是有的,你可以在 Fedora 上用它来安装 Signal。

flatpak install flathub org.signal.Signal

一旦安装成功,你可以从菜单中运行它,或者在终端中输入以下命令:

flatpak run org.signal.Signal

Signal 和 Telegram 是抛弃掉 WhatsApp 的两个主流而可行的选择。这两个软件都提供原生的 Linux 桌面程序。


via: https://itsfoss.com/install-signal-ubuntu/

作者:Abhishek Prakash 选题:lujun9972 译者:hwlife 校对:wxy

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

这篇详细的教程一步一步地向你展示 如何双启动 Fedora Linux 和 Windows 10,附有适当的截图。

双启动 Linux 和 Windows 是一种完全享受这两款操作系统的流行方式。你可以在同一个硬件系统上安装 Linux 和 Windows 两款系统,并在你启动你的硬件系统时选择使用哪款操作系统。

On the grub screen, you can select the operating system

如果你有一个已经安装 Windows 的系统,你将在这篇教程中学习如何在 Windows 的旁侧安装 Fedora 。

在 Windows 的旁侧安装 Fedora

这篇教程是在一款已经安装 Windows,采用 GPT 分区和 UEFI 启动的硬件系统的基础上执行的。它应该也适用于其它的带有 MBR 分区和传统 BIOS 的硬件系统,但是我不能确认这一点。

注意:如果你的 Windows 系统使用 BitLocker 加密,在你安装 Fedora 前禁用它会是一个好主意。

必要条件

这里是你需要遵循这篇教程的东西:

  • 一个已预装 Windows 的系统
  • 良好的互联网连接速度
  • 一个至少 4 GB 大小的 USB 接口设备(U 盘)
  • 可选: 用于备份你的 Windows 现有数据的外部 USB 磁盘。
  • 可选: Windows 恢复或可启动磁盘(如果你偶遇一些严重的启动问题,你可以修复它)。

让我们看看步骤。

步骤 1: 制作 Windows 系统的数据备份 [可选]

备份总会是一个好主意。因为你将要处理磁盘分区。在一些罕见的不幸情况下,假设你出错并删除了错误的分区,你将丢失你的数据。

最简单的方法是将文档、视频、音乐、图片和其它的文件夹中的数据复制到一块外部 USB 磁盘中。你可以使用一个外部的机械硬盘(传输速度较慢,但是价格较便宜)或固态硬盘(传输速度较快,但是价格较昂贵),并将重要的文件和文件夹复制到其中。

步骤 2: 为 Fedora 的安装准备一些可用的空间

你需要创建一个分区,你将在其中安装 Fedora 。如果你只有一个 C 驱动器,缩小它的分区。如果你有 D、E 或 F 等多个驱动器,确保你可以移动这些驱动器中的数据到一些其它的分区中,删除或缩小其中的一个驱动器。超过 40 GB 的驱动器分区都能有足够的空间来安装安装 Fedora 。

在 Windows 的菜单中,搜索 “磁盘分区” 并转到 “创建并格式化磁盘分区”。

在磁盘管理工具中,右键单件你想要分区的驱动器,并选择 “缩小卷”。

如果你只有一个像这样的分区,你需要为 Linux 腾出一些可用的空间。如果你有一些空间相当大的分区,请使用除 C 驱动器分区外的分区,因为它会擦除数据。

步骤 3: 在 Windows 中制作一个 Fedora 的临场 USB

现在,这个步骤可以通过不同的方法来完成。你可以下载 ISO 并使用 Etcher 或 Rufus 或一些其它的工具来将 ISO 镜像写入 USB 磁盘。

不过,Fedora 提供了一个用于下载 ISO 镜像和制作 临场 USB Live USB 的专用工具。我将在这篇教程中使用它。Fedora 团队在创建这个工具时付出了很多艰难的努力,因此为什么不使用它呢。

但是,首先, 插入 USB 接口设备。现在,转到 Fedora 的下载页面:

你将看到针对 Windows 版本的下载 “Fedora Media Writer” 工具的选项。

它将下载一个 exe 文件。在下载完成后,转到你所下载到的文件夹,并双击 FedoraMediaWriter.exe 文件来安装 “Fedora Media Writer” 工具。只需要重复点击 “ 下一步 next

在安装完成后,运行 “Fedora Media Writer” 工具。但是在此之前,确保你已经插入 USB 设备

它将给予你安装各种 Fedora 版本的选项。针对桌面机,选择 工作站 Workstation 版本。

在接下来的屏幕中,你将会得到一个创建临场 USB 的选项。当你点击这个按钮时,它将开始下载 ISO 文件。它也将识别出你所插入的 USB 接口设备。

你需要良好的互联网访问速度来在一段时间内顺畅地下载 2GB 大小的 ISO 文件。

在下载 ISO 后,它会自动地对其进行检验,并给予你将 ISO 镜像写入到 USB 磁盘的选项,例如,创建临场 USB 。点击 “ 写入到磁盘 Write to Disk ” 按钮。

它将花费几分钟来完成安装过程。它显示 “ 完成 Finished ” 信息后,你可以关闭 “Fedora Media Writer” 工具了。

很好!现在你已经准备好了 Fedora 临场 USB 。现在是时候使用它来安装带有图形用户界面的 Fedora 了。

步骤 4: 从临场 USB 启动并安装 Fedora

一些系统不允许你在使用安全启动的情形下从临场 USB 启动。如果你是这种情况的话,请 禁用安全启动

在处于显示硬件系统制造商徽标的屏幕期间,按下 F2F10F12 按键。如果你不确定是哪个按键,你可以逐个尝试。但是,你要 快速地 按下按键 ,否则它将会启动到操作系统之中。

不同品牌计算机的按键是不同的。一些计算机甚至可能使用 EscDel 按键来完成此目的。

Quickly press F2, F10 or F12 keys at the screen showing your system manufacturer’s logo

在一些罕见的情况下,你可能需要 在 Windows 中访问 UEFI 启动设置

在 BIOS 设置中,通常,你应该会看到像这样的屏幕。在这里,你可以使用箭头按键来向下移动到 USB 选项,并按下回车键来从 USB 启动。请注意,在不同的系统中,这一屏幕可能会看起来有所不同。

如果一切顺利,你应该会看到像下面的一个屏幕。选择第一个选项 “ 启动 Fedora 工作站 Start Fedora Workstation ”:

在数秒后,你应该会启动到 Fedora 临场会话期间,并会看到尝试或安装它的选项。选择 “ 安装到硬盘 Install to Hard Drive ” 。

它会要求选择安装过程的语言选项。

接下来的屏幕是很重要的。如果你已经在 “步骤 2” 中创建了可用的空间,你应该能够点击 “ 开始安装 Begin Installation ” 。如果你在“ 系统 SYSTEM ”下的磁盘图标上看到一个感叹号,单击它,并查看你能够在这里使用哪种磁盘配置。

如果你有多个磁盘,你可以为 Fedora 选择使用哪个磁盘。

选择磁盘,并点击“ 完成 Done ” 。现在,你应该会看到一条警告信息。在我的实例中,我没有在 “步骤 2” 中创建可用的空间,因此它会抱怨这里没有足够的可用的空间来安装 Fedora 。

我点击 “ 回收空间 Reclaim space ” ,并缩小在这里的 Windows 分区。

在这以后,将出现 “ 开始安装 Begin Installation ” 选项,开启安装过程。

现在,它只是一个需要耐心等待的游戏了。将花费数分钟来提取文件并安装它们。

当过程完成后,你将看到 “ 结束安装 Finish Installation ” 按钮,点击它。

你将回到 Fedora 临场会话期间。单击右上角的下拉菜单并选择 “ 重新启动 Restart ” 。

现在,当系统启动时,你应该会看到带有启动到 Fedora 和 Windows 选项的 Grub 启动器

步骤 5: 完成 Fedora 安装

至此你几乎完成了安装。你注意到 Fedora 没有要求你输入用户名和密码了吗?很多发行版(像 Ubuntu )在安装期间会要求你创建一个管理用户。作为另一种方式,Fedora 会在你第一次登录到所安装的系统时给予你这个选项。

当你第一次登录时,它会运行一次设置,并创建用户名和密码来作为这次初始化设置的一部分。

在你完成后,你已经用上 Fedora Linux 了。

就这样,你可以在同一个硬件系统上以双启动的模式来享受 Fedora Linux 和 Windows 。

如果你在学习这篇教程时有一些问题或者你正在面对一些重大难题,请在评论系统中告诉我。


via: https://itsfoss.com/dual-boot-fedora-windows/

作者:Abhishek Prakash 选题:lujun9972 译者:robsean 校对:wxy

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

不再使用某个应用程序了?删除它吧。

卸载不再使用的应用是 最简单释放磁盘空间的方法 ,而且可以使系统保持整洁。

在此篇入门教程中,我会介绍几种不同在 Ubuntu 上卸载应用程序的方法。

在 Ubuntu 中有几种方法 安装应用 ,同意也有以下几种方法卸载应用:

  • 从 Ubuntu 软件中心 Software Center 卸载应用(桌面用户)
  • apt remove 命令卸载应用
  • 用命令行中删除 Snap 应用(中级到高级用户)

让我们来一个一个了解这些方法。

方法 1:用 Ubuntu 软件中心卸载应用

在左侧栏或者菜单中找到 Ubuntu 软件中心 Software Center ,打开它。

已安装 Installed 栏中列出了已安装的应用。

如果你要找的应用不在 已安装 Installed 栏中,可以使用搜索查找应用。

打开已经安装的应用,有一个 移除 Remove 选项,点击它。

这会请求输入账户密码,输入后应用会在几秒内删除。

方法2: Ubuntu 命令行卸载应用

安装应用时使用 apt-get install 或者 apt install 。 卸载应用时使用 apt-get remove 或者 apt remove ,而不是 apt-get uninstall

按照以下方式使用命令:

sudo apt remove program_name

执行此操作会请求你的账户密码。当输入密码时,屏幕上不会有提示。输入完后按下回车。

待删除的应用不会立刻被删除。你需要确认。当询问你的确认时,请输入回车或者按下 Y

请在命令行中输入准确的包的名字,不然会出现 “不能找到软件包的错误” 错误 。

不要担心记不住具体的应用名字,你可以使用超级有用的 Tab 补全应用名称。 Tab 是你必须知道的 Linux 命令行技巧 之一。

你只需要输入想要卸载应用的前几个字母,然后按下 tab ,会提示以这几个字母开头的已安装应用程序。

找到要卸载的应用名称,输入完整的应用名称然后卸载。

如果不知道具体的应用名称或者开头字母,你可以 列出 Ubuntu 中所有已安装的包 ,然后查找符合你记忆的应用名称。

比如,下图的命令会列出所有已安装的应用名称中包含 ‘my’ 的应用,不仅仅是以 ‘my’ 开头的应用。

apt list --installed | grep -i my

这非常酷炫对不对?在 Ubuntu 中使用卸载命令时请注意应用名。

补充:使用 apt purge 卸载应用(进阶用户)

当在 Ubuntu 中卸载应用时,应用程序会被卸载,但是会留下细小的、修改过的用户配置文件。这些文件是故意被留下的,因为当你再次安装同样的应用时,会使用这些遗留的配置文件。

如果你想完全卸载应用,你可以使用 apt purge 命令代替 apt remove 命令,或者在 apt remove 命令后再使用它。

sudo apt purge program_name

注意 apt purge 令不会删除保存在用户目录下的数据或者配置文件。

方法3: Ubuntu 中卸载 Snap 应用

前面的几种方式可用于使用 apt 命令、 软件中心 Software Center 或者直接使用 deb 文件安装的应用。

Ubuntu 也推出了一个名为 Snap 的包管理系统。在 软件中心 Software Center 中的大部分应用都是 Snap 包格式。

你可以使用 软件中心 Software Center 轻松地卸载这些应用,也可以使用命令行卸载。

列出所有已经安装的 Snap 包名字:

snap list

选择你想要卸载的应用,然后卸载,这不会要求你确认是否删除。

sudo snap remove package_name

妙招:用一个神奇的命令清理系统

到此你已经学会怎么卸载应用,现在使用一个简单的命令清理卸载残留,比如不再用到的依赖或 Linux 内核头文件。

在终端输入如下命令:

sudo apt autoremove

这条命令很安全,而且会释放几百 MB 的磁盘空间。

总结

本文一共介绍了三种卸载应用的方法,包括通过图形界面卸载、命令行卸载,以便你了解所有方式。

希望此篇教程对 Ubuntu 初学者有所帮助,欢迎提出问题和建议。


via: https://itsfoss.com/uninstall-programs-ubuntu/

作者:Abhishek Prakash 选题:lujun9972 译者:amagicowboy 校对:wxy

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

最受欢迎的 shell 是什么?我猜你会回答 bash 或者 zsh,没错,的确如此。

UNIX 和 Linux 系统上有许多可用的 shell,包括 Bash、Ksh、Zsh、Fish 等等。

最近,我碰到了另外一个 shell,它结合了 Python 和 bash,还蛮特别的。

Xonsh shell,为喜爱 Python 的 Linux 用户而打造

Xonsh 是一个使用 Python 编写的跨平台 shell 语言和命令提示符。

它结合了 Python 和 Bash shell,因此你可以在这个 shell 中直接运行 Python 命令(语句)。你甚至可以把 Python 命令和 shell 命令混合起来使用。

听起来不错吧?如果你是一个 Python 程序员的话,你应该会更加兴奋。

在 Linux 上安装 Xonsh shell

有多种方式可以在 Linux 系统上安装 Xonsh shell。

你可以使用软件包管理器安装它(主要的 Linux 发行版的仓库中都有 Xonsh shell)。

在 Ubuntu 和 Debian 上,你可以尝试运行:

sudo apt install xonsh

因为它本质上是一个 Python 应用,所以你总是可以使用 Pip 来安装(如果你的系统已经安装了的话)。或者,你也可以使用 Conda 来安装 Xonsh。同时,它还提供了 AppImage 格式和 Docker 镜像。

你可以自由选择你喜欢的安装方式。

Xonsh shell 初体验

如果你不熟悉 Linux 的“多 shell”概念和终端的相关知识,我推荐你阅读 我写的一篇终端入门的文章。这篇文章会帮助 Linux 新手弄清楚很多东西。

我在这里简单介绍一下。你的终端运行着一个默认的 shell(通常是 bash shell)。如果你在系统上安装了其他的 shell,你可以 轻松地切换这些 shell

要进入 Xonsh shell,只需运行一条命令:

xonsh

它会建议你运行一个设置向导,然后创建一个 Xonsh shell 的自定义 rc 配置文件。这是可选的,你也可以晚些时候再做。

一旦你开始使用它,你就立刻会感觉到一些不同。

当你开始输入一条命令时,Xonsh 会自动建议历史记录中的最后一条匹配命令。你可以按下右箭头键确认使用这条自动建议的命令。你也可以按下上、下箭头键来选择历史记录中的其他匹配命令。

Xonsh shell automatically suggests last matching command from the history as you type

不仅如此,它还支持交互式的 Tab 补全。当你开始输入命令,并按下 tab 键,它会显示一个类似于下拉式的交互式菜单。你可以在这个菜单中选择可用的命令。

Tab completion in Xonsh shell

你可以混合使用 Python 和 bash 命令,并且直接在 shell 中运行它们。

如果你对 终端定制 感兴趣,你可以花点时间和精力,根据自己的喜好来定制 Tab 补全、按键绑定和颜色样式。

它同时拥有一个叫做 Xontrib 的用户自定义插件系统,你可以使用这些插件来扩展 Xonsh shell 的功能。

如果你是一个终端爱好者,并渴望学习更多终端知识,你可以浏览它的 丰富的文档系统

最后

大多数用户坚持使用默认的 Bash shell,这很正常。有一些开发者和系统管理员会选择使用 Zsh,因为它有很多附加特性。而 Xonsh 完全聚焦在 Python 上,对于 Python 使用者来说,它或许具有吸引力。对于其余的人来说,Bash 已经足够好了。

你使用过 Xonsh 或者其他的 shell 吗?你用它来代替 Bash 的原因是什么呢?欢迎在评论区留言。


via: https://itsfoss.com/xonsh-shell/

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

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

现在,你已经成功地 在 Ubuntu 上安装 Google Chrome。毕竟,它是世界上最受欢迎的网页浏览器了。

但是,你可能会不喜欢 Google 的产品,因为它们对用户的信息进行追踪和数据挖掘。你决定选择 Ubuntu 上的其他网页浏览器,并且它或许是一个 非 Chromium 核心的浏览器

既然你已经不再使用 Google Chrome 了,那么,把它从 Ubuntu 系统中移除是一个明智的选择。

如何才能做到这一点呢?我来告诉你具体的步骤。

从 Ubuntu 中完全移除 Google Chrome

Illustration for removing Google Chrome from Ubuntu

你可能使用了图形界面的方式安装 Google Chrome,但不幸的是,你得使用命令行的方式来移除它,除非你选择 使用 Synaptic 软件包管理器

使用命令行来做这件事也不是很难。首先,按下 键盘上的 Ctrl+Alt+T 快捷键来打开一个终端

在终端中输入下面的命令:

sudo apt purge google-chrome-stable

此时它会向你索要一个密码,这个密码是你的用户账户密码,也就是你用来登录 Ubuntu 系统的密码。

当你输入密码的时候,屏幕上什么也不会显示。这是 Linux 系统的正常行为。继续输入密码,完成后按下回车键。

此时它会让你确认是否删除 Google Chrome,输入 Y 来确认,或者直接按下回车键也行。

Removing Google Chrome for Ubuntu

这个操作会从你的 Ubuntu Linux 系统中移除 Google Chrome,同时也会移除大多数相关的系统文件。

但是,你的个人设置文件仍然保留在用户主目录中。它包含了 Cookie、会话、书签和其他与你的账户相关的 Chrome 设置信息。当你下次安装 Google Chrome 时,这些文件可以被 Chrome 再次使用。

Google Chrome leftover settings in Ubuntu

如果你想要彻底地移除 Google Chrome,你可能会想要把这些文件也移除掉。那么,下面是你需要做的:

切换到 .config 目录。 注意 config 前面有个点`,这是 Linux 隐藏文件和目录的方式

cd ~/.config

然后移除 google-chrome 目录:

rm -rf google-chrome

Removing the leftover Google Chrome settings from Ubuntu

你也可以仅使用一个命令 rm -rf ~/.config/google-chrome 来删除它。因为本教程面向的对象是完完全全的初学者,所以我把这个命令拆分为以上两个步骤来完成,这样可以减少由于拼写问题造成的可能错误。

小技巧

想要你的终端和截图里看起来一样漂亮吗?试试这些 终端定制小技巧

我希望这篇快速的入门技巧可以帮助你在 Ubuntu 上摆脱 Google Chrome。


via: https://itsfoss.com/uninstall-chrome-from-ubuntu/

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

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

Snap 软件包并不是每个人都喜欢的,但它们是 Ubuntu 生态系统中不可或缺的一部分。

它有其优点和缺点。其中一个缺点是,Snap 包通常体积较大,占用大量的磁盘空间。如果你的磁盘空间不够用,特别是在根分区上,这可能是一个问题。

让我分享一个巧妙的技巧,你可以用它来减少 Snap 包使用的磁盘空间。

清理旧的 Snap 包版本以释放磁盘空间

与 snap 有关的系统文件都存放在 /var/lib/snapd 目录下。根据你所安装的 Snap 包的数量,这个目录的大小可能在几 GB。不要只听我的一面之词。通过 使用 du 命令检查目录大小 来进行评估。

$ sudo du -sh /var/lib/snapd
5.4G    /var/lib/snapd

你也可以使用磁盘使用分析器这个 GUI 工具来查看 Ubuntu 的磁盘使用情况

Snap disk usage

这可真够多的,对吧?你可以在这里腾出一些磁盘空间。根据设计,Snap 至少会在你的系统上保留一个你所安装的软件包的旧版本。你可以通过使用 Snap 命令看到这种行为:

snap list --all

你应该看到同一个软件包被列了两次,而且版本和修订号都不同。

Snap keeps at least two versions of each package

为了释放磁盘空间,你可以删除额外的软件包版本。你怎么知道要删除哪一个呢?你可以看到,这些较旧的软件包被标记为“禁用”。

不要担心。你不需要手动操作。由于 Alan Pope 在 Snapcraft 团队工作时写的一个灵巧的 bash 脚本,有一种自动的方法可以做到。

我希望你知道 如何创建和运行 bash shell 脚本。基本上,创建一个名为 clean-snap.sh 的新文件,并在其中添加以下几行。

#!/bin/bash
# Removes old revisions of snaps
# CLOSE ALL SNAPS BEFORE RUNNING THIS
set -eu
snap list --all | awk '/disabled/{print $1, $3}' |
    while read snapname revision; do
        snap remove "$snapname" --revision="$revision"
    done

保存它并关闭编辑器。要运行这个脚本,把它放在你的主目录中,然后 在 Ubuntu 中打开终端,运行这个命令:

sudo bash clean-snap.sh

你可以看到,它开始删除旧版本的软件包。

Removing old snap package versions

如果你现在检查 Snap 使用的磁盘空间,你会发现现在的目录大小已经减少了。

$ sudo du -sh /var/lib/snapd
3.9G    /var/lib/snapd

如果这对你有用,你可以偶尔运行这个命令。

这个脚本是如何工作的?

如果你对这个脚本的作用感到好奇,让我来解释一下。

你已经看到了 snap list -all 命令的输出。它的输出被传递给 awk 命令。Awk 是一个强大的脚本工具。

awk '/disabled/{print $1, $3}' 部分在每一行中寻找字符串 disabled,如果找到它,它将提取第一列和第三列。

这个输出被进一步传递给 whileread 命令的组合。读取命令获取第一列的 Snap 包名和第三列的修订号变量。

然后,这些变量被用来运行 snap remove 命令,用 Snap 包名和它的修订号来删除。

只要发现有包含 disabled 字符串的行,就会运行 while 循环。

如果你对 shell 脚本略知一二,这一切就很容易理解了。如果你不熟悉,我们有一个 初学者的 bash 教程系列 给你。

你拿回了你的空间了吗?

你可能会看到一些论坛建议将 Snap 软件包的保留值设置为 2。

sudo snap set system refresh.retain=2

我认为现在不需要了。现在 Snap 的默认行为是为任何软件包保存两个版本。

总而言之,如果你的空间不够用,摆脱额外的软件包版本肯定是 释放 Ubuntu 磁盘空间的方法 之一。

如果这个教程帮助你释放了一些空间,请在评论区告诉我。


via: https://itsfoss.com/clean-snap-packages/

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

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