分类 技术 下的文章

大多数 Linux 系统管理员需要做的事情都可以在 GNU coreutils 或 util-linux 中找到。

许多 Linux 系统管理员最基本和常用的工具主要包括在两套实用程序中:GNU 核心实用程序(coreutils)和 util-linux。它们的基本功能允许系统管理员执行许多管理 Linux 系统的任务,包括管理和操作文本文件、目录、数据流、存储介质、进程控制、文件系统等等。

这些工具是不可缺少的,因为没有它们,就不可能在 Unix 或 Linux 计算机上完成任何有用的工作。鉴于它们的重要性,让我们来研究一下它们。

GNU coreutils

要了解 GNU 核心实用程序的起源,我们需要乘坐时光机进行一次短暂的旅行,回到贝尔实验室的 Unix 早期。编写 Unix 是为了让 Ken Thompson、Dennis Ritchie、Doug McIlroy 和 Joe Ossanna 可以继续他们在大型多任务和多用户计算机项目 Multics 上的工作:开发一个叫做《太空旅行》游戏的小东西。正如今天一样,推动计算技术发展的似乎总是游戏玩家。这个新的操作系统比 Multics(LCTT 译注:multi- 字头的意思是多数的)的局限性更大,因为一次只能有两个用户登录,所以被称为 Unics(LCTT 译注:uni- 字头的意思是单独的)。后来这个名字被改成了 Unix。

随着时间的推移,Unix 取得了如此巨大的成功,开始贝尔实验室基本上是将其赠送给大学,后来送给公司也只是收取介质和运输的费用。在那个年代,系统级的软件是在组织和程序员之间共享的,因为在系统管理这个层面,他们努力实现的是共同的目标。

最终,AT&T 公司的老板们决定,他们应该在 Unix 上赚钱,并开始使用限制更多的、昂贵的许可证。这发生在软件变得更加专有、受限和封闭的时期,从那时起,与其他用户和组织共享软件变得不可能。

有些人不喜欢这种情况,于是用自由软件来对抗。Richard M. Stallman(RMS),他带领着一群“反叛者”试图编写一个开放的、自由的可用操作系统,他们称之为 GNU 操作系统。这群人创建了 GNU 实用程序,但并没有产生一个可行的内核。

当 Linus Torvalds 开始编写和编译 Linux 内核时,他需要一套非常基本的系统实用程序来开始执行一些稍微有用的工作。内核并不提供命令或任何类型的命令 shell,比如 Bash,它本身是没有任何用处的,因此,Linus 使用了免费提供的 GNU 核心实用程序,并为 Linux 重新编译了它们。这让他拥有了一个完整的、即便是相当基本的操作系统。

你可以通过在终端命令行中输入命令 info coreutils 来了解 GNU 核心实用程序的全部内容。下面的核心实用程序列表就是这个信息页面的一部分。这些实用程序按功能进行了分组,以方便查找;在终端中,选择你想了解更多信息的组,然后按回车键。

* Output of entire files::       cat tac nl od base32 base64
* Formatting file contents::     fmt pr fold
* Output of parts of files::     head tail split csplit
* Summarizing files::            wc sum cksum b2sum md5sum sha1sum sha2
* Operating on sorted files::    sort shuf uniq comm ptx tsort
* Operating on fields::          cut paste join
* Operating on characters::      tr expand unexpand
* Directory listing::            ls dir vdir dircolors
* Basic operations::             cp dd install mv rm shred
* Special file types::           mkdir rmdir unlink mkfifo mknod ln link readlink
* Changing file attributes::     chgrp chmod chown touch
* Disk usage::                   df du stat sync truncate
* Printing text::                echo printf yes
* Conditions::                   false true test expr
* Redirection::                  tee
* File name manipulation::       dirname basename pathchk mktemp realpath
* Working context::              pwd stty printenv tty
* User information::             id logname whoami groups users who
* System context::               date arch nproc uname hostname hostid uptime
* SELinux context::              chcon runcon
* Modified command invocation::  chroot env nice nohup stdbuf timeout
* Process control::              kill
* Delaying::                     sleep
* Numeric operations::           factor numfmt seq

这个列表里有 102 个实用程序。它涵盖了在 Unix 或 Linux 主机上执行基本任务所需的许多功能。但是,很多基本的实用程序都缺失了,例如,mountumount 命令不在这个列表中。这些命令和其他许多不在 GNU 核心实用程序中的命令可以在 util-linux 中找到。

util-linux

util-linix 实用程序包中包含了许多系统管理员常用的其它命令。这些实用程序是由 Linux 内核组织发布的,这 107 条命令中几乎每一个都来自原本是三个单独的集合 —— fileutils、shellutils 和 textutils,2003 年它们被合并成一个包:util-linux。

agetty          fsck.minix      mkfs.bfs        setpriv 
blkdiscard      fsfreeze        mkfs.cramfs     setsid 
blkid           fstab           mkfs.minix      setterm 
blockdev        fstrim          mkswap          sfdisk 
cal             getopt          more            su 
cfdisk          hexdump         mount           sulogin 
chcpu           hwclock         mountpoint      swaplabel 
chfn            ionice          namei           swapoff 
chrt            ipcmk           newgrp          swapon 
chsh            ipcrm           nologin         switch_root 
colcrt          ipcs            nsenter         tailf 
col             isosize         partx           taskset 
colrm           kill            pg              tunelp 
column          last            pivot_root      ul 
ctrlaltdel      ldattach        prlimit         umount 
ddpart          line            raw             unshare 
delpart         logger          readprofile     utmpdump 
dmesg           login           rename          uuidd 
eject           look            renice          uuidgen 
fallocate       losetup         reset           vipw 
fdformat        lsblk           resizepart      wall 
fdisk           lscpu           rev             wdctl 
findfs          lslocks         RTC Alarm       whereis 
findmnt         lslogins        runuser         wipefs 
flock           mcookie         script          write 
fsck            mesg            scriptreplay    zramctl 
fsck.cramfs     mkfs            setarch

这些实用程序中的一些已经被淘汰了,很可能在未来的某个时候会从集合中被踢出去。你应该看看维基百科的 util-linux 页面来了解其中许多实用程序的信息,而 man 页面也提供了关于这些命令的详细信息。

总结

这两个 Linux 实用程序的集合,GNU 核心实用程序和 util-linux,共同提供了管理 Linux 系统所需的基本实用程序。在研究这篇文章的过程中,我发现了几个有趣的实用程序,这些实用程序是我从不知道的。这些命令中的很多都是很少需要的,但当你需要的时候,它们是不可缺少的。

在这两个集合里,有 200 多个 Linux 实用工具。虽然 Linux 的命令还有很多,但这些都是管理一个典型的 Linux 主机的基本功能所需要的。


via: https://opensource.com/article/18/4/gnu-core-utilities

作者: David Both 选题者: lujun9972 译者: wxy 校对: wxy

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

在过去 50 年中,我们所了解的互联网没有什么变化,全球的网民使用他们的设备从遍布在世界各地的服务器上检索数据。

一群专业的技术专家想改变现状,使互联网变成人们可以连接和直接分享信息的地方,而不是依赖一个中心服务器(去中心化)。

我们已经在 It’s FOSS 讨论过很多这样的去中心化的服务。YouTube 竞品:LBRYTwitter 竞品:Mastodon 是其中的两个例子。

今天我将要介绍另一个这样的产品,名为 Beaker 浏览器,它的设计目标是浏览对等 Web。

Beaker Browser

“对等 Web” 是什么?

根据 Beaker 浏览器的开发者之一的描述,“对等 Web 是一项实验性的技术 ……旨在提高我们掌控 Web 的能力。”

还有,他们说对等 Web 有三个主要原则:任何一点都可以成为服务器;多台计算机可以为同一个网站提供服务;没有后端。

从这些原则中你可以看出,对等 Web 的思想与 BitTorrent 很像,文件由多个对端做种,这些对端共同承担带宽负载。这减少了一个用户需要提供给他们的网站的总带宽。

Beaker Browser Settings

对等 Web 另一个重要的方面是创作者对于他们自己的想法的控制能力。当今年代,平台都是由庞大的组织控制的,往往拿你的数据为他们所用。Beaker 把数据的控制能力返还给了内容创造者。

使用 Beaker 浏览去中心化的 web

Beaker 浏览器 是在 2016 年被创建的。该项目(及其周边技术)由蓝链实验室的三人团队创建。Beaker 浏览器使用 Dat 协议在计算机之间共享数据。使用 Dat 协议的网站以 dat:// 而不是 http:// 开头。

Dat 协议的优势如下:

  • 快速 – 档案能立即从多个源同步。
  • 安全 – 所有的更新都是有签名和经过完整性检查的。
  • 灵活 – 可以在不修改档案 URL 的情况下迁移主机。
  • 版本控制 – 每次修改都被写到只能追加的版本日志中。
  • 去中心化 – 任何设备都可以作为承载档案的主机。

Beaker Browser Seeding

Beaker 浏览器本质上是阉割版的 Chromium,原生支持 dat:// 地址,也可以访问普通的 http:// 站点。

每次访问一个 dat 站点,在你请求时该站点的内容才会下载到你的计算机。例如,在一个站点上的 about 页面中有一张 Linux Torvalds 的图片,只有在你浏览到该站点的这个页面时,才会下载这张图片。

此外,当你浏览一个 dat 网站时,“你会短暂性的重新上传或做种你从该网站上下载的所有文件。”你也可以选择为网站(主动)做种来帮助创造者。

Beaker Browser Menu

由于 Beaker 的志向就是创建一个更开放的网络,因此你可以很容易地查看任何网站的源码。不像在大多数浏览器上你只能看到当前浏览的页面的源码那样,使用 Beaker 你能以类似 GitHub 的视图查看整个站点的结构。你甚至可以复刻这个站点,并托管你自己的版本。

除了浏览基于 dat 的网站外,你还可以创建自己的站点。在 Beaker 浏览器的菜单里,有创建新网站或空项目的选项。如果你选择了创建一个新网站,Beaker 会搭建一个小的演示站点,你可以使用浏览器里自带的编辑器来编辑。

然而,如果你像我一样更喜欢用 Markdown,你可以选择创建一个空项目。Beaker 会创建一个站点的结构,赋给它一个 dat:// 地址。你只需要创建一个 index.md 文件后就行了。这有个简短教程,你可以看到更多信息。你也可以用创建空项目的方式搭建一个 web 应用。

Beaker Browser Website Template

由于 Beaker 的角色是个 Web 服务器和站点做种者,当你关闭它或关机后你的站点就不可用了。幸运的是,你不必一直开着你的计算机或浏览器。你也可以使用名为 Hashbase 的做种服务或者你可以搭建一个 homebase 做种服务器。

虽然 Beaker 适用于 Linux、Windows 和 macOS,但是在使用 Beaker 之前,还是要查阅下各平台的教程

Beaker 浏览器不是大众可用的,但它有这个意图

当第一次接触到时,我对 Beaker 浏览器有极高的热情。(但是)如它现在的名字一样(烧杯),Beaker 浏览器仍是非常实验性的。我尝试浏览过的很多 dat 站点还不可用,因为用户并没有为站点做种。当站点恢复可用时 Beaker 确实可以选择通知你。

Beaker Browser No Peer

另一个问题是,Beaker 是真正阉割版的 Chromium。它不能安装扩展或主题。你只能使用白色主题和极少的工具集。我不会把 Beaker 浏览器作为常用浏览器,而且能访问 dat 网站并不是把它留在系统上的充分条件。

我曾经寻找一个能支持 dat:// 协议的 Firefox 扩展。我确实找到了这样一款扩展,但它需要安装一系列其他的软件。相比而言,安装 Beaker 比安装那些软件容易点。

就如它现在的名字一样,Beaker 不适合我。也许在将来更多的人使用 Beaker 或者其他浏览器支持 dat 协议。那时会很有趣。目前而言,聊胜于无。

在使用 Beaker 的时间里,我用内建的工具创建了一个网站。不要担心,我已经为它做种了。

Beaker Bowser Site Source

你怎么看 Beaker 浏览器?你怎么看对等 Web?请尽情在下面评论。

如果你觉得本文有意思,请花点时间把它分享到社交媒体,Hacker News 或 Reddit


via: https://itsfoss.com/beaker-browser/

作者:John Paul 选题:lujun9972 译者:lxbwolf 校对:wxy

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

Fedora 32 Workstation 是我们免费的领先操作系统的最新版本。你现在可以从官方网站下载它。Fedora 32 Workstation 中有几个新的且值得注意的变化。请阅读下面的详情。

GNOME 3.36

Fedora 32 Workstation 包含了适合所有用户的 GNOME 桌面环境的最新版本。Fedora 32 Workstation 中的 GNOME 3.36 包含了许多更新和改进,包括:

重新设计的锁屏界面

Fedora 32 中的锁屏是一种全新的体验。新设计消除了以前版本中使用的“窗口阴影”,并着重于易用性和速度。

Unlock screen in Fedora 32

新的扩展程序

Fedora 32 有新的“扩展”应用,它可轻松管理你的 GNOME 扩展。过去,扩展是使用“软件”和/或“调整工具”来安装、配置和启用的。

The new Extensions application in Fedora 32

请注意,默认情况下,Fedora 32 上未安装这个“扩展”应用。需要使用“软件”进行搜索和安装,或在终端中使用以下命令:

sudo dnf install gnome-extensions-app

重新组织的设置应用

敏锐的 Fedora 用户会注意到“设置”应用已重新组织。设置类别的结构更加扁平,因此可以一次看到更多设置。

此外,“关于”中现在有有关系统的更多信息,包括正在运行的窗口系统(例如 Wayland)。

The reorganized settings application in Fedora 32

重新设计的通知/日历弹出框

单击桌面顶部的“日期和时间”可切换“通知/日历”弹出窗口,其中有许多小的样式调整项。此外,弹出窗口现在有“请勿打扰”开关,可快速禁用所有通知。这在希望只显示屏幕而不显示个人通知时很有用。

The new Notification / Calendar popover in Fedora 32

重新设计的时钟应用

Fedora 32 完全重新设计了时钟。该设计在较小的窗口中效果更好。

The Clocks application in Fedora 32

GNOME 3.36 还提供了许多其他功能和增强。有关更多信息,请查看 GNOME 3.36 的发布说明

改进的内存不足处理

以前,如果系统内存不足,那么可能会遇到大量使用交换(也称为 交换抖动))–有时会导致 Workstation UI 变慢或在一段时间内无响应。Fedora 32 Workstation 现在默认启用 EarlyOOM。EarlyOOM 可以让用户在低内存的情况下,存在大量使用交换的情况下,更快速地恢复和恢复对系统的控制。


via: https://fedoramagazine.org/whats-new-fedora-32-workstation/

作者:Ryan Lerch 选题:lujun9972 译者:geekpi 校对:wxy

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

使用开源路由协议栈 Quagga,使你的 Linux 系统成为一台路由器。

网络路由协议分为两大类:内部网关协议和外部网关协议。路由器使用内部网关协议在单个自治系统内共享信息。如果你用的是 Linux,则可以通过开源(GPLv2)路由协议栈 Quagga 使其表现得像一台路由器。

Quagga 是什么?

Quagga 是一个路由软件包),并且是 GNU Zebra 的一个分支。它为类 Unix 平台提供了所有主流路由协议的实现,例如开放最短路径优先(OSPF),路由信息协议(RIP),边界网关协议(BGP)和中间系统到中间系统协议(IS-IS)。

尽管 Quagga 实现了 IPv4 和 IPv6 的路由协议,但它并不是一个完整的路由器。一个真正的路由器不仅实现了所有路由协议,而且还有转发网络流量的能力。 Quagga 仅仅实现了路由协议栈,而转发网络流量的工作由 Linux 内核处理。

架构

Quagga 通过特定协议的守护程序实现不同的路由协议。守护程序名称与路由协议相同,加了字母“d”作为后缀。Zebra 是核心,也是与协议无关的守护进程,它为内核提供了一个抽象层,并通过 TCP 套接字向 Quagga 客户端提供 Zserv API。每个特定协议的守护程序负责运行相关的协议,并基于交换的信息来建立路由表。

 title=

环境

本教程通过 Quagga 实现的 OSPF 协议来配置动态路由。该环境包括两个名为 Alpha 和 Beta 的 CentOS 7.7 主机。两台主机共享访问 192.168.122.0/24 网络。

主机 Alpha:

IP:192.168.122.100/24 网关:192.168.122.1

主机 Beta:

IP:192.168.122.50/24 网关:192.168.122.1

安装软件包

首先,在两台主机上安装 Quagga 软件包。它存在于 CentOS 基础仓库中:

yum install quagga -y

启用 IP 转发

接下来,在两台主机上启用 IP 转发,因为它将由 Linux 内核来执行:

sysctl -w net.ipv4.ip_forward = 1
sysctl -p

配置

现在,进入 /etc/quagga 目录并为你的设置创建配置文件。你需要三个文件:

  • zebra.conf:Quagga 守护程序的配置文件,你可以在其中定义接口及其 IP 地址和 IP 转发
  • ospfd.conf:协议配置文件,你可以在其中定义将通过 OSPF 协议提供的网络
  • daemons:你将在其中指定需要运行的相关的协议守护程序

在主机 Alpha 上,

 [root@alpha]# cat /etc/quagga/zebra.conf
interface eth0
 ip address 192.168.122.100/24
 ipv6 nd suppress-ra
interface eth1
 ip address 10.12.13.1/24
 ipv6 nd suppress-ra
interface lo
ip forwarding
line vty

[root@alpha]# cat /etc/quagga/ospfd.conf
interface eth0
interface eth1
interface lo
router ospf
 network 192.168.122.0/24 area 0.0.0.0
 network 10.12.13.0/24 area 0.0.0.0
line vty

[root@alphaa ~]# cat /etc/quagga/daemons
zebra=yes
ospfd=yes

在主机 Beta 上,

[root@beta quagga]# cat zebra.conf
interface eth0
 ip address 192.168.122.50/24
 ipv6 nd suppress-ra
interface eth1
 ip address 10.10.10.1/24
 ipv6 nd suppress-ra
interface lo
ip forwarding
line vty

[root@beta quagga]# cat ospfd.conf
interface eth0
interface eth1
interface lo
router ospf
 network 192.168.122.0/24 area 0.0.0.0
 network 10.10.10.0/24 area 0.0.0.0
line vty

[root@beta ~]# cat /etc/quagga/daemons
zebra=yes
ospfd=yes

配置防火墙

要使用 OSPF 协议,必须允许它通过防火墙:

firewall-cmd --add-protocol=ospf –permanent

firewall-cmd –reload

现在,启动 zebraospfd 守护程序。

# systemctl start zebra
# systemctl start ospfd

用下面命令在两个主机上查看路由表:

[root@alpha ~]# ip route show  
default via 192.168.122.1 dev eth0 proto static metric 100
10.10.10.0/24 via 192.168.122.50 dev eth0 proto zebra metric 20
10.12.13.0/24 dev eth1 proto kernel scope link src 10.12.13.1
192.168.122.0/24 dev eth0 proto kernel scope link src 192.168.122.100 metric 100

你可以看到 Alpha 上的路由表包含通过 192.168.122.50 到达 10.10.10.0/24 的路由项,它是通过协议 zebra 获取的。同样,在主机 Beta 上,该表包含通过 192.168.122.100 到达网络 10.12.13.0/24 的路由项。

[root@beta ~]# ip route show
default via 192.168.122.1 dev eth0 proto static metric 100
10.10.10.0/24 dev eth1 proto kernel scope link src 10.10.10.1
10.12.13.0/24 via 192.168.122.100 dev eth0 proto zebra metric 20
192.168.122.0/24 dev eth0 proto kernel scope link src 192.168.122.50 metric 100

结论

如你所见,环境和配置相对简单。要增加复杂性,你可以向路由器添加更多网络接口,以为更多网络提供路由。你也可以使用相同的方法来实现 BGP 和 RIP 协议。


via: https://opensource.com/article/20/4/quagga-linux

作者:M Umer 选题:lujun9972 译者:messon007 校对:wxy

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

此初学者教程讨论了在 Ubuntu 桌面上添加文件和文件夹时可能遇到的一些困难。

我认识一些习惯将所有重要/常用文件放在桌面上以便快速访问的人。

我不喜欢杂乱的桌面,但是我可以想象它实际上可能对某些人有所帮助。

在过去的几个版本中,很难在 Ubuntu 的默认 GNOME 桌面上添加文件。这并不是 Ubuntu 的错。

GNOME 的开发者认为,桌面上没有图标和文件的存身之地。当你可以在菜单中轻松搜索文件时,无需将文件放在桌面上。这在部分情况下是事实。

这就是为什么 GNOME 的文件管理器 Nautilus 的较新版本不能很好地支持桌面上的图标和文件的原因。

也就是说,在桌面上添加文件和文件夹并非没有可能。让我告诉你如何做。

在 Ubuntu 的桌面上添加文件和文件夹

我在本教程中使用的是 Ubuntu 20.04。对于其他 Ubuntu 版本,步骤可能会有所不同。

将文件和文件夹添加到“桌面文件夹”

如果打开文件管理器,你应该在左侧边栏或文件夹列表中看到一个名为“桌面”的条目。此文件夹(以某种方式)代表你的桌面。

Desktop folder can be used to add files to the desktop screen

你添加到此文件夹的所有内容都会反映在桌面上。

Anything added to the Desktop folder will be reflected on the desktop screen

如果你从“桌面文件夹”中删除文件,那么文件也会从桌面中删除。

将文件拖放到桌面不起作用

现在,如果你尝试从文件管理器往桌面上拖放文件,它会不起使用。这不是一个 bug,它是一个使很多人恼火的功能。

一种临时方案是打开两个文件管理器。在其中一个打开“桌面”文件夹,然后将文件拖放到该文件夹​​中,它们将被添加到桌面上。

我知道这并不理想,但是你没有太多选择。

你不能使用 Ctrl+C 和 Ctrl+V 在桌面上复制粘贴,请使用右键单击菜单

更恼人的是,你不能使用 Ctrl+V(著名的键盘快捷键)将文件粘贴到桌面上。

但是,你仍然可以使用右键单击,然后选择“粘贴”,将文件复制到桌面上。你甚至可以通过这种方式创建新文件夹。

Right click menu can be used for copy-pasting files to desktop

是否有意义?对我来说不是,但这就是 Ubuntu 20.04 的方式。

你无法使用 Delete 键删除文件和文件夹,请再次使用右键菜单

更糟糕的是,你无法使用 Delete 键或 Shift+Delete 键从桌面上删除文件。但是你仍然可以右键单击文件或文件夹,然后选择“移至回收站”来删除文件。

Delete files from desktop using right click

好了,你现在知道至少有一种方法可以在桌面上添加文件,但有一些限制。不幸的是,这还没有结束。

你无法在桌面上用名称搜索文件。通常,如果你开始输入 “abc”,那么以 “abc” 开头的文件会高亮显示。但是在这里不行。

我不知道为什么在桌面上添加文件受到了如此多的限制。值得庆幸的是,我不会经常使用它,否则我会感到非常沮丧。

如果有兴趣,你也可以阅读在 Ubuntu 桌面上添加应用快捷方式这篇文章。


via: https://itsfoss.com/add-files-on-desktop-ubuntu/

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

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

Fedora 32 已经发布。你可能想升级系统以获得 Fedora 中的最新功能。Fedora Workstation 有图形化的升级方法。另外,Fedora 提供了命令行方法,用于将 Fedora 31 升级到 Fedora 32。

升级前,请访问 Fedora 32 个常见 bug 的维基页面,查看是否存在可能影响升级的问题。尽管 Fedora 社区试图确保升级正常进行,但是无法为用户可能使用的每种软硬件组合提供保证。

将 Fedora 31 Workstation 升级到 Fedora 32

在新版本发布不久之后就会出现通知,告诉你有可用的升级。你可以单击该通知启动 “GNOME 软件”。或者,你可以从 GNOME Shell 中选择“软件”。

在 “GNOME 软件”中选择 更新 Updates 选项卡,你会看到一个页面通知你 Fedora 32 现在可用。

如果你在此页面看不到任何内容,请尝试使用左上方的重新加载按钮。发布后,所有系统可能都需要一段时间才能看到可用的升级。

选择 下载 Download 获取升级包。你可以继续做事直到下载完成。然后使用 “GNOME 软件”重启系统并应用升级。升级需要时间,因此你可能需要喝杯咖啡,稍后再回来。

使用命令行

如果你是从 Fedora 的先前版本升级的,那么你可能对 dnf upgrade 插件很熟悉。这个方法是推荐和受支持的从 Fedora 31 升级到 Fedora 32 的方法。使用此插件将使你轻松地升级到 Fedora 32。

1、更新软件并备份系统

在开始升级过程之前,请确保你有 Fedora 31 的最新软件。如果你安装了 模块化软件 modular software ,这尤为重要。dnf 和 “GNOME 软件”的最新版本对某些模块化流的升级过程进行了改进。要更新软件,请使用 “GNOME 软件” 或在终端中输入以下命令。

sudo dnf upgrade --refresh

此外,在继续操作之前,请确保备份系统。有关备份的帮助,请参阅 Fedora Magazine 上的备份系列

2、安装 DNF 插件

接下来,打开终端并输入以下命令安装插件:

sudo dnf install dnf-plugin-system-upgrade

3、使用 DNF 开始更新

现在,你的系统已更新、已备份、并且已安装 DNF 插件,你可以在终端中使用以下命令开始升级:

sudo dnf system-upgrade download --releasever=32

这个命令将开始在本地下载所有的升级包,为升级做准备。如果你在升级的时候因为没有更新的包、依赖关系破损或退役的包而出现问题,请在输入上述命令时添加 --allowerasing 标志。这将允许 DNF 移除可能阻碍系统升级的软件包。

4、重启并升级

当上一个命令完成了所有升级包的下载,你的系统就可以重新启动了。要将系统引导至升级过程,请在终端中输入以下命令:

sudo dnf system-upgrade reboot

此后,系统将重启。在许多版本之前,fedup 工具会在内核选择/启动页上创建一个新选项。使用 dnf-plugin-system-upgrade 包,你的系统会重启进入 Fedora 31 当前安装的内核;这个是正常的。在选择内核之后,你的系统会立即开始升级过程。

现在可能是喝杯咖啡休息的好时机!完成后,系统将重启,你将能够登录到新升级的 Fedora 32 系统。

解决升级问题

有时,升级系统时可能会出现意外问题。如果你遇到任何问题,请访问 DNF 系统升级文档,以获取有关故障排除的更多信息。

如果升级时遇到问题,并且系统上安装了第三方仓库,那么在升级时可能需要禁用这些仓库。对于 Fedora 不提供的仓库的支持,请联系仓库的提供者。


via: https://fedoramagazine.org/upgrading-fedora-31-to-fedora-32/

作者:Adam Šamalík 选题:lujun9972 译者:geekpi 校对:wxy

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