From 1bfff635fcd32d22ffdc1a8bfffd61756d75b352 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sun, 26 Apr 2020 15:54:18 +0800 Subject: [PATCH 1/6] PRF @robsean --- ... make a Halloween lantern with Inkscape.md | 153 +++++++----------- 1 file changed, 60 insertions(+), 93 deletions(-) diff --git a/translated/tech/20191014 How to make a Halloween lantern with Inkscape.md b/translated/tech/20191014 How to make a Halloween lantern with Inkscape.md index 5e1424ed02..04307ec7bc 100644 --- a/translated/tech/20191014 How to make a Halloween lantern with Inkscape.md +++ b/translated/tech/20191014 How to make a Halloween lantern with Inkscape.md @@ -1,6 +1,6 @@ [#]: collector: (lujun9972) [#]: translator: (robsean) -[#]: reviewer: ( ) +[#]: reviewer: (wxy) [#]: publisher: ( ) [#]: url: ( ) [#]: subject: (How to make a Halloween lantern with Inkscape) @@ -9,152 +9,119 @@ 如何使用 Inkscape 制作万圣节灯笼 ====== -使用开源软件为你最喜欢的万圣节灯笼制作一个有趣和怪异的装饰品。 + +> 使用开源软件为你最喜欢的万圣节鬼屋制作一个有趣和怪异的装饰品。 + ![万圣节 - 背光飞行的蝙蝠][1] -闹鬼的季节快到了!今年,使用开源软件装饰一个独一无二的万圣节灯笼! +使用开源软件装饰一个独一无二的万圣节灯笼! -灯笼的一部分结构体是不透明的,以阻挡内部的光线。灯笼之所以成为灯笼,是因为其去掉了一些东西 :从结构体上切下的窗户,这样光线就可以射出。虽然照明不实用,但是一个有着怪异形状窗户和隐藏暗色轮廓的灯笼却可以令人兴奋,并创造出很多乐趣。 +通常,灯笼的一部分结构体是不透明的,以阻挡内部的光线。灯笼之所以成为灯笼,是因为其去掉了一些东西 :从结构体上切开的窗口,这样光线就可以射出。虽然对于照明来说不实用,但是一个有着怪异形状窗口和隐藏暗色轮廓的灯笼却可以令人兴奋,并创造出很多乐趣。 -这篇演示如何使用 [Inkscape][2] 创建你自己的灯笼。如果还没有 Inkscape ,在 Linux 上,你可以从软件包存储库中安装它,在 MacOS 和 Windows 上,你可以从[Inkscape 网站][3] 上下载它. +这篇演示如何使用 [Inkscape][2] 创建你自己的灯笼。如果还没有 Inkscape ,在 Linux 上,你可以从软件库中安装它,在 MacOS 和 Windows 上,你可以从[Inkscape 网站][3] 上下载它. ### 使用材料 - * 模板 ([A4][4] 或 [Letter][5] 大小) - * 卡片纸 (黑色是传统色) - * 描图纸 (可选) - * 裁纸刀,尺子, 切割垫板 (可使用工艺切割机/激光切割机代替) + * 模板([A4][4] 或[信纸][5]大小) + * 卡片纸(黑色是传统色) + * 描图纸(可选) + * 裁纸刀、尺子、切割垫板(可使用工艺切割机/激光切割机代替) * 工艺胶 * LED 茶灯"蜡烛" -_安全注意事项:_ 这个项目只使用电池操作的蜡烛。 - - +安全注意事项:这个项目只使用电池操作的蜡烛。 ### 理解模板 -首先,从什么的链接下载你所在区域 (A4 或 Letter) 的合适的模板,然后在 Inkscape 中打开它。 +首先,从上面的链接下载你所在区域(A4 或信纸)的合适的模板,然后在 Inkscape 中打开它。 -* * * +![灯笼模板荧光屏][6] -* * * +灰白色的棋盘格背景是透明的(从技术角度来说,它是 alpha 通道。) -* * * +黑色基板构成了灯笼。现在,没有窗口可以让光线穿过;灯笼有一个非镂空的黑色基板。你将在 Inkscape 中使用**并集**和**差集**选项来数字化的设计窗口。 -**![灯笼模板荧光屏][6]** - -灰白色的棋盘格背景是透明的(从技术角度来说,它是 _alpha 通道_。) - -黑色基板构成了灯笼。现在,没有窗口可以让光线穿过;灯笼有一个非镂空的黑色基板。你将在 Inkscape 中使用 **并集** 和 **差集** 选项来数字化的设计窗户。 - -蓝色虚线表示折线。橙色实线表示参考线。采光窗户不应该放在橙色盒子的外面。 +蓝色虚线表示折线。橙色实线表示参考线。采光窗口不应该放在橙色盒子的外面。 模板的左侧是你可以在你设计中使用的一些预先制作好的对象。 -### 来创建一个窗户或形状 +### 创建一个窗口或形状 - 1. 创建一个看起来像你想要的窗口样式的对象。可以使用 Inkscape 左侧工具栏中的一些形状工具来创建对象。此外,你可以下载 Creative Commons- 或 Public Domain-licensed 剪贴画,并导入 PNG 文件到你的项目中。 - 2. 当你对对象满意时,在顶部菜单中选择 **路径 > 对象转化成路径** 将其转换为一个 **路径** (而不是一个 **形状** ,Inkscape 视其为两个不同的目标)。 +1. 创建一个看起来像你想要的窗口样式的对象。可以使用 Inkscape 左侧工具栏中的一些形状工具来创建对象。此外,你可以下载共创或公共领域的剪贴画,并导入 PNG 文件到你的项目中。 +2. 当你对对象的形状满意时,在顶部菜单中选择“路径” -> “对象转化成路径” 将其转换为一个路径(而不是一个形状,Inkscape 视其为两种不同的对象)。 + ![对象到路径 菜单][7] +3. 在基板形状的上面放置对象。 +4. 选择对象和黑色基板。通过先单击一个,并按住 `Shift` 按键,再选择另一个来完成。 +5. 从顶部菜单选择“路径” -> “差集” 来从基板的对象中移除形状。这将创建灯笼中的一个窗口。 -![对象到路径菜单][7] + ![路径 > 差集 菜单][8] - 3. 在基板形状的上面放置目标。 - 4. 选择目标和黑色基板。通过先单击一个,并按住 Shift 按键,再选择另一个来完成。 - 5. 从顶部菜单选择 **路径 > 差集** 来从基板的对象中移除形状。这将创建灯笼中的一个窗户。 +### 添加对象到窗口中 +在制作了一个窗口后,你可以添加对象到其中来创建一个场景。 +提示: -![路径 > 差集 菜单][8] +* 所有的对象,包括文本,必须连接到灯笼的基板,否则,在切割后会掉落下来,并留下一片空白。 +* 避免小而复杂的细微之处。即使使用激光切割机或工艺切割机等机器,也很难切割这些细微之处。 -### 添加一个对象到一个窗户中 - -在制作一个窗户后,你可以添加对象到其中来创建一个景色绘画。 - -**提示:** - - * 所有的对象,包括文本,必须连接到灯笼的基板,否则,在切割后会掉落下来,并留下一片空白区。 - * 避免小而复杂的细微之处。即使使用激光切割机或工艺切割机等机器,也很难切割这些细微之处。 - - - 1. 创建或导入一个对象。 - 2. 放置对象到窗口内,以便它至少接触基板的两侧。 - 3. 选择对象后,从顶部菜单选择 **连接 > 对象转化成路径** 。 - - - -![对象到路径 菜单][9] - - 4. 选择对象和黑色基板,通过在按住 Shift 按键的同时单击每一个来完成。 - 5. 选择 **路径 > 并集** 来使对象和基板合二为一。 +1. 创建或导入一个对象。 +2. 放置对象到窗口内,以便它至少接触基板的两侧。 +3. 选择对象后,从顶部菜单选择“连接” -> “对象转化成路径”。 + ![对象到路径 菜单][9] +4. 选择对象和黑色基板,通过在按住 `Shift` 按键的同时单击每一个来完成。 +5. 选择“路径” -> “并集”来使对象和基板合二为一。 ### 添加文本 -文本可以从创建一个窗户的基板上剪下来(就像我对星星所做的那样),或者也可以添加到一个窗户上(它在独挡来自灯笼内部的光线)。如果你正在创建一个窗户,只需要执行下面的步骤1和步骤2,然后使用 **差集** 来从基板层移除文本。 +文本既可以从基板剪出文字来创建一个窗口(就像我对星星所做的那样),或者也可以添加到一个窗口上(它可以阻挡来自灯笼内部的光线)。如果你要创建一个窗口,只需要执行下面的步骤 1 和步骤 2,然后使用“差集”来从基板移除文本。 - 1. 从左侧边栏中选择文本工具来创建文本。粗体字体效果最好。 +1. 从左侧边栏中选择文本工具来创建文本。粗体字体效果最好。 -![文本工具][10] + ![文本工具][10] - 2. 选择你的文本,然后从顶部菜单选择 **路径 > 对象转化成路径** 。这将转换文本对象为一个路径。注意,这个步骤意味着你将不能再编辑该文本,所以,_只有当_ 你确定你拥有想要的单词后,执行这个步骤。 +2. 选择你的文本,然后从顶部菜单选择“路径” -> “对象转化成路径”。这将转换文本对象为一个路径。注意,这个步骤意味着你将不能再编辑该文本,所以,*只有当*你确定你拥有想要的单词后,执行这个步骤。 +3. 在你转换文本后,你可以按键盘上的 `F2` 来激活节点编辑器工具,当选择使用这个工具时,可以清楚地显示文本的节点。 - 3. 在你转换文本后,你可以按键盘上的 **F2** 来激活 **节点编辑器** 工具,当选择使用这个工具时,可以清楚地显示文本的节点。 + ![选中的文本使用节点编辑器][11] +4. 取消文本分组。 +5. 调整每个字母,以便使其与相邻字母或基板稍微重叠。 + ![重叠文本][12] +6. 为将所有的字母彼此连接,并连接到基板,重新选择所有文本和基板,然后选择“路径” -> “并集”。 -![选中的文本使用节点编辑器][11] - - 4. 取消文本分组。 - 5. 调整每个字母,以便使其与相邻字母或基板稍微重叠。 - - - -![重叠文本][12] - - 6. 为将所有的字母彼此连接并连接到基板,重新选择所有文本和基板,然后选择 **路径 > 并集**。 - -![使用 路径 > 并集 连接字母和基板][13] - - - + ![使用 路径 > 并集 连接字母和基板][13] ### 准备打印 下面是手工切割灯笼的说明。如果使用激光切割机或工艺切割机,遵循硬件所需要的技巧来准备好你的文件。 - 1. 在 **图层** 面板中,单击 **安全** 图层旁边的**眼睛** 图标来隐藏安全线。如果你看不到图层面板,通过顶部菜单选择 **图层 > 图层** 来显示它。 - 2. 选择黑色基板。在 **填充和笔划** 面板中,设置填充为 **X** (意味着 _不填充_),设置 **笔划** 为纯黑色(对于巫法的粉丝来说是 #000000ff )。 +1. 在“图层”面板中,单击“安全”图层旁边的“眼睛”图标来隐藏安全线。如果你看不到图层面板,通过顶部菜单选择“图层” -> “图层”来显示它。 +2. 选择黑色基板。在“填充和笔划”面板中,设置填充为“X”(意味着*不填充*),设置“笔划”为纯黑色(对于喜欢十六进制的粉丝来说是 `#000000ff` )。 + ![设置填充和笔划][14] +3. 使用“文件” -> “打印”来打印你的图案。 +4. 使用一把工艺刀和直尺,小心地绕着每一条黑线切割。在蓝色虚线上轻划,然后折叠。 -![设置填充和笔划][14] + ![裁剪灯笼][15] - 3. 使用 **文件 > 打印** 来打印你的图案样本。 +5. 要完成窗口的制作,剪切描图纸为每个窗口的大小,然后粘贴它到灯笼的内侧。 - 4. 使用一把工艺刀和直尺,小心地绕着每一条黑线切割。在蓝色虚线上轻划,然后折叠。 + ![添加描图纸][16] -![裁剪灯笼][15] +6. 在折条处把灯笼的边粘在一起。 +7. 接通电池供电的 LED 蜡烛,并放置它到你灯笼中。 - 5. 为完成窗户的制作,剪切摹图纸到每个窗户的大小,然后粘贴它到灯笼的内侧。 + ![完成灯笼][17] -![添加摹图纸][16] - - 6. 在折条处把灯笼的粘在一起。 - - 7. 接通电池供电的 LED 蜡烛,并放置它到你灯笼中。 - - - - -![完成灯笼][17] - -现在你的灯笼已经完成并准备好照亮你的诡异的装饰品。万圣节快乐! - -如何使用 Inkscape,GIMP 制作万圣节瓶子标签和家用物品。 +现在你的灯笼已经完成了,准备好点亮你的鬼屋了。 -------------------------------------------------------------------------------- @@ -163,7 +130,7 @@ via: https://opensource.com/article/19/10/how-make-halloween-lantern-inkscape 作者:[Jess Weichler][a] 选题:[lujun9972][b] 译者:[robsean](https://github.com/robsean) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From 1b5d2b8327d8a4d52b0af612b038bfb4b785aa14 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sun, 26 Apr 2020 15:57:50 +0800 Subject: [PATCH 2/6] PUB @robsean https://linux.cn/article-12152-1.html --- .../20191014 How to make a Halloween lantern with Inkscape.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename {translated/tech => published}/20191014 How to make a Halloween lantern with Inkscape.md (99%) diff --git a/translated/tech/20191014 How to make a Halloween lantern with Inkscape.md b/published/20191014 How to make a Halloween lantern with Inkscape.md similarity index 99% rename from translated/tech/20191014 How to make a Halloween lantern with Inkscape.md rename to published/20191014 How to make a Halloween lantern with Inkscape.md index 04307ec7bc..1cd31042d1 100644 --- a/translated/tech/20191014 How to make a Halloween lantern with Inkscape.md +++ b/published/20191014 How to make a Halloween lantern with Inkscape.md @@ -1,8 +1,8 @@ [#]: collector: (lujun9972) [#]: translator: (robsean) [#]: reviewer: (wxy) -[#]: publisher: ( ) -[#]: url: ( ) +[#]: publisher: (wxy) +[#]: url: (https://linux.cn/article-12152-1.html) [#]: subject: (How to make a Halloween lantern with Inkscape) [#]: via: (https://opensource.com/article/19/10/how-make-halloween-lantern-inkscape) [#]: author: (Jess Weichler https://opensource.com/users/cyanide-cupcake) From 153dc460dcfd8652dd04b55e32bbac1c87d4cac9 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sun, 26 Apr 2020 21:51:19 +0800 Subject: [PATCH 3/6] PRF @wxy --- .../tech/20190712 What is Silverblue.md | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/translated/tech/20190712 What is Silverblue.md b/translated/tech/20190712 What is Silverblue.md index afc855d820..23a8d72753 100644 --- a/translated/tech/20190712 What is Silverblue.md +++ b/translated/tech/20190712 What is Silverblue.md @@ -1,54 +1,54 @@ [#]: collector: (lujun9972) [#]: translator: (wxy) -[#]: reviewer: ( ) +[#]: reviewer: (wxy) [#]: publisher: ( ) [#]: url: ( ) [#]: subject: (What is Silverblue?) [#]: via: (https://fedoramagazine.org/what-is-silverblue/) [#]: author: (Tomáš Popela https://fedoramagazine.org/author/tpopela/) -何谓 Silverblue? +Silverblue 是什么? ====== ![][1] Fedora Silverblue 在 Fedora 世界内外越来越受欢迎。因此,根据社区的反馈,以下是关于这个项目的一些有趣问题的答案。如果你有任何其他与 Silverblue 相关的问题,请在评论区留言,我们会在未来的文章中回答。 -### 何谓 Silverblue? +### Silverblue 是什么? Silverblue 是新一代桌面操作系统的代号,之前被称为 Atomic Workstation。该操作系统是通过利用 [rpm-ostree 项目][2]创建的映像来交付的。这种系统的主要优点是速度、安全性、原子更新和不变性。 -### “Silverblue”到底是什么意思? +### “Silverblue” 到底是什么意思? “Team Silverblue” 或简称 “Silverblue”,没有任何隐藏的含义。该项目以前被称为 Atomic Workstation,大约两个月后更名时选中了这个名字。在这个过程中,审查过 150 多个单词或单词组合。最终选择了 “Silverblue”,因为它有一个可用的域名以及社交网络账号。人们可以把它看成是 Fedora 的蓝色品牌的一个新的品牌形象,可以用在诸如“加油,Silverblue 团队!”或“想加入该团队,改进 Silverblue 吗?”这样的短语中。 ### 何谓 ostree? -[OSTree 或 libostree 是一个项目][3],它结合了一个类似 Git 的提交和下载可引导文件系统树的模型,以及用于部署它们和管理引导加载程序配置的层。OSTree 被 rpm-ostree 所使用,这是 Silverblue 使用的一个基于包/镜像的混合系统。它原子化地复制了一个基础操作系统,并允许用户在需要时在基础操作系统之上 "分层 "传统的 RPM。 +[OSTree(或 libostree)是一个项目][3],它结合了一个类似 Git 的提交和下载可引导文件系统树的模型,以及用于部署它们和管理引导加载程序配置的层。OSTree 由 rpm-ostree 使用,这是 Silverblue 使用的一个基于包/镜像的混合系统。它原子化地复制了一个基础操作系统,并允许用户在需要时在基础操作系统之上“层叠”传统的 RPM。 ### 为何使用 Silverblue? 因为它可以让你专注于你的工作,而不是你正在运行的操作系统。因为系统的更新是原子式的,所以它更稳健。你唯一需要做的事情就是重新启动到新的镜像中。此外,如果当前启动的镜像有什么问题,你可以很容易地重启/回滚到之前可以工作的镜像,如果有的话。如果没有,你可以使用 `ostree` 命令下载并启动过去生成的任何其他镜像。 -另一个好处是可以在不同的分支(或者用旧的语境说就是 Fedora 版本)之间轻松切换。你可以轻松地尝试 [Rawhide][4] 或 [updates-testing][5] 分支,然后返回到包含当前稳定版本的分支。另外,如果你想尝试一些新奇的东西,也可以考虑试试 Silverblue。 +另一个好处是可以在不同的分支(或者用旧的语境说就是不同的 Fedora 风味版本)之间轻松切换。你可以轻松地尝试 [Rawhide][4] 或 [updates-testing][5] 分支,然后返回到包含当前稳定版本的分支。另外,如果你想尝试一些新奇的东西,也可以考虑试试 Silverblue。 ### 不可变的操作系统有什么好处? 其中一个主要的好处是安全。基础操作系统是以只读的形式挂载的,因此不能被恶意软件修改。唯一可以改变系统的方法是通过 `rpm-ostree` 实用程序。 -另一个好处是健壮性。普通用户几乎不可能在不小心或无意中删除了一些系统库后,让操作系统恢复到不启动或无法正常工作的状态。试着想想你过去的这些经历,就可以明白 Silverblue 如何帮助你。 +另一个好处是健壮性。普通用户几乎不可能在不小心或无意中删除了一些系统库后,导致操作系统回到不启动或无法正常工作的状态。试着想想你过去的这些经历,就可以明白 Silverblue 可以如何帮助你。 ### 如何在 Silverblue 中管理应用程序和包? -对于图形化用户界面的应用程序,建议使用 [Flatpak][6],如果应用程序是以 Flatpak 的形式提供的话。用户可以选择来自 Fedora 的 Flatpak,和从 Fedora 包及 Fedora 自己的基础架构中构建的 Flatpak,或者目前有更广泛的交付的 Flathub。用户可以通过已经支持 Fedora Silverblue 的 GNOME “软件”轻松安装它们。 +对于图形化用户界面的应用程序,建议使用 [Flatpak][6] —— 如果应用程序是以 Flatpak 的形式提供的话。用户可以选择来自 Fedora 的 Flatpak,和从 Fedora 包及 Fedora 自己的基础架构中构建的 Flatpak,或者是目前有更广泛的交付品的 Flathub。用户可以通过已经支持 Fedora Silverblue 的 GNOME “软件”轻松安装它们。 -用户首先发现的一件事就是操作系统中没有预装 `dnf`。主要原因是它不能在 Silverblue 上工作 —— 它的部分功能被 `rpm-ostree` 命令所取代。用户可以通过使用 `rpm-ostree install PACKAGE` 来层叠传统的软件包。但只有在没有其他方法的情况下,才应该使用这种方式。这是因为从存储库中提取新的系统镜像时,每次更改系统镜像时都必须重新构建系统镜像,以容纳分层的包或从基础操作系统中删除或替换为其他版本的包。 +用户首先发现的一件事就是操作系统中没有预装 `dnf`。主要原因是它不能在 Silverblue 上工作 —— 它的部分功能被 `rpm-ostree` 命令所取代。用户可以通过使用 `rpm-ostree install PACKAGE` 来层叠传统的软件包。但只有在没有其他方法的情况下,才应该使用这种方式。这是因为从存储库中提取新的系统镜像时,每次更改系统镜像时都必须重新构建系统镜像,以容纳层叠的包或从基础操作系统中删除及替换为其他版本的包。 -Fedora Silverblue 自带的默认 GUI 应用程序集是基础操作系统的一部分。团队正在努力将它们移植到 Flatpak 上,这样它们就可以通过这种方式分发。其中一个好处是,基础操作系统将变得更小,更容易维护和测试,用户可以更容易修改他们的默认安装环境。如果你想看一下它是怎么做的,或者有什么帮助,可以看看官方的 [文档][7]。 +Fedora Silverblue 自带的默认 GUI 应用程序集是基础操作系统的一部分。团队正在努力将它们移植到 Flatpak 上,这样它们就可以通过这种方式分发。其中一个好处是,基础操作系统将变得更小,更容易维护和测试,用户可以更容易修改他们的默认安装环境。如果你想看一下它是怎么做的,或者有什么帮助,可以看看官方的[文档][7]。 ### 什么是 Toolbox? -[Toolbox][8] 是一个让普通用户可以轻松使用容器的项目。它通过使用 podman 的无 root 容器来实现。Toolbox 可以让你在常规的 Fedora 安装中轻松、快速地创建一个容器,你可以在这个容器上折腾或开发,而与你的操作系统分离。 +[Toolbox][8] 是一个让普通用户可以轻松使用容器的项目。它通过使用 podman 的无 root 容器环境来实现。Toolbox 可以让你在常规的 Fedora 环境中轻松、快速地创建一个容器,你可以在这个容器上折腾或开发,而与你的操作系统分离。 ### Silverblue 有路线图吗? @@ -60,15 +60,15 @@ Fedora Silverblue 自带的默认 GUI 应用程序集是基础操作系统的一 ### 不可变操作系统的未来前景如何? -从我们的角度来看,桌面的未来涉及到了不可变的操作系统。这对用户来说是最安全的,Android、ChromeOS、ChromeOS、最近的 macOS Catalina 全都在底层采用了这种方式。而对于 Linux 桌面来说,一些第三方软件期望写到操作系统的问题还是存在的。HP 打印机驱动程序就是一个很好的例子。 +从我们的角度来看,桌面的未来会走向到不可变的操作系统。这对用户来说是最安全的,Android、ChromeOS、ChromeOS、最近的 macOS Catalina 全都在底层采用了这种方式。而对于 Linux 桌面来说,一些第三方软件期望写到操作系统的问题还是存在的。HP 打印机驱动程序就是一个很好的例子。 另一个问题是系统中的部分软件如何分发和安装。字体就是一个很好的例子。目前在 Fedora 中,它们是以 RPM 包的形式分发的。如果你想使用它们,你必须层叠它们,然后重新启动到新创建的包含它们的镜像中。 ### 标准版 Workstation 的前景如何? -Silverblue 有可能会取代普通的Workstation版本。但 Silverblue 要提供与Workstation版本相同的功能和用户体验,还有很长的路要走。在此期间,这两款桌面产品将同时推出。 +Silverblue 有可能会取代普通的 Workstation 版本。但 Silverblue 要提供与 Workstation 版本相同的功能和用户体验还有很长的路要走。在此期间,这两款桌面产品将同时推出。 -### Atomic Workstation或 Fedora CoreOS 与这些有什么关系? +### Atomic Workstation 或 Fedora CoreOS 与这些有什么关系? Atomic Workstation 是在更名为 Fedora Silverblue 之前的项目名称。 @@ -81,7 +81,7 @@ via: https://fedoramagazine.org/what-is-silverblue/ 作者:[Tomáš Popela][a] 选题:[lujun9972][b] 译者:[wxy](https://github.com/wxy) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From 31249e073987fa7e7b490fbbd5d311b40dc0a82a Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sun, 26 Apr 2020 21:51:54 +0800 Subject: [PATCH 4/6] PUB @wxy https://linux.cn/article-12153-1.html --- {translated/tech => published}/20190712 What is Silverblue.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename {translated/tech => published}/20190712 What is Silverblue.md (99%) diff --git a/translated/tech/20190712 What is Silverblue.md b/published/20190712 What is Silverblue.md similarity index 99% rename from translated/tech/20190712 What is Silverblue.md rename to published/20190712 What is Silverblue.md index 23a8d72753..7437135b98 100644 --- a/translated/tech/20190712 What is Silverblue.md +++ b/published/20190712 What is Silverblue.md @@ -1,8 +1,8 @@ [#]: collector: (lujun9972) [#]: translator: (wxy) [#]: reviewer: (wxy) -[#]: publisher: ( ) -[#]: url: ( ) +[#]: publisher: (wxy) +[#]: url: (https://linux.cn/article-12153-1.html) [#]: subject: (What is Silverblue?) [#]: via: (https://fedoramagazine.org/what-is-silverblue/) [#]: author: (Tomáš Popela https://fedoramagazine.org/author/tpopela/) From 01fe66eb425378770252dd01ef695ab78f963f3c Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sun, 26 Apr 2020 22:17:46 +0800 Subject: [PATCH 5/6] APL --- ...ifference Between DNF and YUM, Why is Yum Replaced by DNF.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20191220 The Difference Between DNF and YUM, Why is Yum Replaced by DNF.md b/sources/tech/20191220 The Difference Between DNF and YUM, Why is Yum Replaced by DNF.md index 01d6522274..63e2443760 100644 --- a/sources/tech/20191220 The Difference Between DNF and YUM, Why is Yum Replaced by DNF.md +++ b/sources/tech/20191220 The Difference Between DNF and YUM, Why is Yum Replaced by DNF.md @@ -1,5 +1,5 @@ [#]: collector: (lujun9972) -[#]: translator: ( ) +[#]: translator: (wxy) [#]: reviewer: ( ) [#]: publisher: ( ) [#]: url: ( ) From 36d5a4074652b64a4dc35728a1814c99088c5ebb Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sun, 26 Apr 2020 23:02:41 +0800 Subject: [PATCH 6/6] TSL --- ...DNF and YUM, Why is Yum Replaced by DNF.md | 77 ------------------- ...DNF and YUM, Why is Yum Replaced by DNF.md | 66 ++++++++++++++++ 2 files changed, 66 insertions(+), 77 deletions(-) delete mode 100644 sources/tech/20191220 The Difference Between DNF and YUM, Why is Yum Replaced by DNF.md create mode 100644 translated/tech/20191220 The Difference Between DNF and YUM, Why is Yum Replaced by DNF.md diff --git a/sources/tech/20191220 The Difference Between DNF and YUM, Why is Yum Replaced by DNF.md b/sources/tech/20191220 The Difference Between DNF and YUM, Why is Yum Replaced by DNF.md deleted file mode 100644 index 63e2443760..0000000000 --- a/sources/tech/20191220 The Difference Between DNF and YUM, Why is Yum Replaced by DNF.md +++ /dev/null @@ -1,77 +0,0 @@ -[#]: collector: (lujun9972) -[#]: translator: (wxy) -[#]: reviewer: ( ) -[#]: publisher: ( ) -[#]: url: ( ) -[#]: subject: (The Difference Between DNF and YUM, Why is Yum Replaced by DNF?) -[#]: via: (https://www.2daygeek.com/comparison-difference-between-dnf-vs-yum/) -[#]: author: (Magesh Maruthamuthu https://www.2daygeek.com/author/magesh/) - -The Difference Between DNF and YUM, Why is Yum Replaced by DNF? -====== - -**[Yum Package Manager][1]** has been replaced by **[DNF Package Manager][2]** since many long-standing issues in Yum remain unresolved. - -These problems include poor performance, excessive memory usage, slowdown for dependency resolution. - -DNF uses “libsolv” for dependency resolution, developed and maintained by SUSE to improve performance. - -It was written mostly in python, and it has its own way of coping with dependency resolution. - -Its API is not fully documented, and its extension system only allows Python plugins. - -Yum is a front-end tool for rpm that manages dependencies and repositories, and then uses RPM to install, download, and remove packages. - -Why would they want to build a new tool instead of fixing existing problems? - -Ales Kozamblak explained that the fixing was not technically feasible and that the yum team was not ready to accept the changes immediately. - -Also, the big challenge is that there are 56K lines for yum, but only 29K lines for DNF. - -So there is no way to fix it, except the fork. - -However yum was working fine. - -S.No | DNF (Dandified YUM) | YUM (Yellowdog Updater, Modified) ----|---|--- -1 | DNF uses libsolv for dependency resolution, developed and maintained by SUSE. | YUM uses the public API for dependency resolution -2 | API is fully documented | API is not fully documented -3 | It is written in C, C++, Python | It is written only in Python -4 | DNF is currently used in Fedora, Red Hat Enterprise Linux 8 (RHEL), CentOS 8, OEL 8 and Mageia 6/7. | YUM is currently used in Red Hat Enterprise Linux 6/7 (RHEL), CentOS 6/7, OEL 6/7. -5 | DNf supports various extensions | Yum supports only Python based extension -6 | The API is well documented so it's easy to create new features | It is very difficult to create new features because the API is not properly documented. -7 | The DNF uses less memory when synchronizing the metadata of the repositories. | The YUM uses excessive memory when synchronizing the metadata of the repositories. -8 | DNF uses a satisfiability algorithm to solve dependency resolution (It's using a dictionary approach to store and retrieve package and dependency information). | Yum dependency resolution gets sluggish due to public API. -9 | All performance is good in terms of memory usage and dependency resolution of repository metadata. | Over all performance is poor in terms of many factors. -10 | DNF Update: If a package contains irrelevant dependencies during a DNF update process, the package will not be updated. | YUM will update a package without verifying this. -11 | If the enabled repository does not respond, dnf will skip it and continue the transaction with the available repositories. | If a repository is not available, YUM will stop immediately. -12 | dnf update and dnf upgrade equals. | It's different in yum -13 | The dependencies on package installation are not updated | Yum offered an option for this behavior -14 | Clean Up Package Removal: When removing a package, dnf automatically removes any dependency packages not explicitly installed by the user. | Yum didn’t do this -15 | Repo Cache Update Schedule: By default, ten minutes after the system boots, updates to configured repositories are checked by dnf hourly. This action is controlled by the system timer unit named "/usr/lib/systemd/system/dnf-makecache.timer". | Yum do this too. -16 | Kernel packages are not protected by dnf. Unlike Yum, you can delete all kernel packages, including one that runs. | Yum will not allow you to remove the running kernel -17 | libsolv: for solving packages and reading repositories. - -hawkey: hawkey, library providing simplified C and Python API to libsolv. - -librepo: library providing C and Python (libcURL like) API for downloading linux repository metadata and packages. - -libcomps: Libcomps is alternative for yum.comps library. It’s written in pure C as library and there’s bindings for python2 and python3 | Yum does not use separate libraries to perform this function. -18 | DNF contains 29k lines of code | Yum contains 56k lines of code -19 | DNF was developed by Ales Kozumplik | YUM was developed by Zdenek Pavlas, Jan Silhan and team members - --------------------------------------------------------------------------------- - -via: https://www.2daygeek.com/comparison-difference-between-dnf-vs-yum/ - -作者:[Magesh Maruthamuthu][a] -选题:[lujun9972][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://www.2daygeek.com/author/magesh/ -[b]: https://github.com/lujun9972 -[1]: https://www.2daygeek.com/yum-command-examples-manage-packages-rhel-centos-systems/ -[2]: https://www.2daygeek.com/linux-dnf-command-examples-manage-packages-fedora-centos-rhel-systems/ diff --git a/translated/tech/20191220 The Difference Between DNF and YUM, Why is Yum Replaced by DNF.md b/translated/tech/20191220 The Difference Between DNF and YUM, Why is Yum Replaced by DNF.md new file mode 100644 index 0000000000..f73a3e180b --- /dev/null +++ b/translated/tech/20191220 The Difference Between DNF and YUM, Why is Yum Replaced by DNF.md @@ -0,0 +1,66 @@ +[#]: collector: (lujun9972) +[#]: translator: (wxy) +[#]: reviewer: ( ) +[#]: publisher: ( ) +[#]: url: ( ) +[#]: subject: (The Difference Between DNF and YUM, Why is Yum Replaced by DNF?) +[#]: via: (https://www.2daygeek.com/comparison-difference-between-dnf-vs-yum/) +[#]: author: (Magesh Maruthamuthu https://www.2daygeek.com/author/magesh/) + +DNF 和 YUM 的区别,为什么 YUM 会被 DNF 取代? +====== + +由于 Yum 中许多长期存在的问题仍未得到解决,因此 [Yum 包管理器][1]已被 [DNF 包管理器][2]取代。这些问题包括性能差、内存占用过多、依赖解析速度变慢等。 + +DNF 使用 `libsolv` 进行依赖解析,由 SUSE 开发和维护,旨在提高性能。DNF 主要是用 Python 编写的,它有自己的应对依赖解析的方法。 + +Yum 是 RPM 的前端工具,它管理依赖关系和资源库,然后使用 RPM 来安装、下载和删除包。它的 API 没有完整的文档,它的扩展系统只允许 Python 插件。 + +为什么他们要建立一个新的工具,而不是修复现有的问题呢? + +Ales Kozamblak 解释说,这个修复在技术上是不可行的,而且 Yum 团队还没有准备好立即接受修改。 + +另外,最大的挑战是,Yum 有 56000 行代码,但 DNF 只有 29000 行代码。 + +所以除了分叉,没有办法解决。 + +不过 Yum 的运行情况还算可以。 + + +编号 | DNF(Dandified YUM) | YUM(Yellowdog Updater, Modified) +---|---|--- +1 | DNF 使用 libsolv 来解析依赖关系,由 SUSE 开发和维护 | YUM 使用公开的 API 来解析依赖关系 +2 | API 有完整的文档 | API 没有完整的文档 +3 | 由 C、C++、Python 编写的 | 只用 Python 编写 +4 | DNF 目前在 Fedora、RHEL 8、CentOS 8、OEL 8 和 Mageia 6/7 中使用 | YUM 目前在 RHEL 6/7、CentOS 6/7、OEL 6/7 中使用 +5 | DNf 支持各种扩展 | Yum 只支持基于 Python 的扩展 +6 | API 有良好的文档,因此很容易创建新的功能 | 因为 API 没有正确的文档化,所以创建新功能非常困难 +7 | DNF 在同步存储库的元数据时,使用的内存较少 | 在同步存储库的元数据时,YUM 使用了过多的内存 +8 | DNF 使用满足性算法来解决依赖关系解析(它是用字典的方法来存储和检索包和依赖信息)| 由于使用公开 API 的原因,Yum 依赖性解析变得迟钝 +9 | 从内存使用量和版本库元数据的依赖性解析来看,性能都不错 | 总的来说,在很多因素的影响下,表现不佳 +10 | DNF 更新:在 DNF 更新过程中,如果包中包含不相关的依赖,则不会更新 | YUM 将在没有验证的情况下更新软件包 +11 | 如果启用的存储库没有响应,DNF 将跳过它,并继续使用可用的存储库出来事务 | 如果有存储库不可用,YUM 会立即停止 +12 | `dnf update` 和 `dnf upgrade` 是等价的 | 在 Yum 中则不同 +13 | 安装包的依赖关系不更新 | Yum 为这种行为提供了一个选项 +14 | 清理删除的包:当删除一个包时,DNF 会自动删除任何没有被用户明确安装的依赖包 | Yum 不会这样做 +15 | 存储库缓存更新计划:默认情况下,系统启动后 10 分钟后,DNF 每小时检查一次对配置的存储库的更新。这个动作由系统定时器单元 `/usr/lib/systemd/system/system/dnf-makecache.timer` 控制 | Yum 也会这样做 +16 | 内核包不受 DNF 保护。不像 Yum,你可以删除所有的内核包,包括运行中的内核包 | Yum 不允许你删除运行中的内核 +17 | libsolv:用于解包和读取资源库。hawkey: 为 libsolv 提供简化的 C 和 Python API 库。librepo: 提供 C 和 Python(类似 libcURL)API 的库,用于下载 Linux 存储库元数据和软件包。libcomps: 是 yum.comps 库的替代品。它是用纯 C 语言编写的库,有 Python 2 和 Python 3 的绑定。| Yum 不使用单独的库来执行这些功能 +18 | DNF 包含 29000 行代码 | Yum 包含 56000 行代码 +19 | DNF 由 Ales Kozumplik 开发 | YUM 由 Zdenek Pavlas、Jan Silhan 和团队成员开发 + +-------------------------------------------------------------------------------- + +via: https://www.2daygeek.com/comparison-difference-between-dnf-vs-yum/ + +作者:[Magesh Maruthamuthu][a] +选题:[lujun9972][b] +译者:[wxy](https://github.com/wxy) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://www.2daygeek.com/author/magesh/ +[b]: https://github.com/lujun9972 +[1]: https://www.2daygeek.com/yum-command-examples-manage-packages-rhel-centos-systems/ +[2]: https://www.2daygeek.com/linux-dnf-command-examples-manage-packages-fedora-centos-rhel-systems/