mirror of
https://github.com/LCTT/TranslateProject.git
synced 2025-01-25 23:11:02 +08:00
commit
9b0e45afe6
@ -0,0 +1,317 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: (stevenzdg988)
|
||||
[#]: reviewer: (wxy)
|
||||
[#]: publisher: (wxy)
|
||||
[#]: url: (https://linux.cn/article-13326-1.html)
|
||||
[#]: subject: (11 Linux Distributions You Can Rely on for Your Ancient 32-bit Computer)
|
||||
[#]: via: (https://itsfoss.com/32-bit-linux-distributions/)
|
||||
[#]: author: (Ankush Das https://itsfoss.com/author/ankush/)
|
||||
|
||||
14 种可以在古老的 32 位计算机上使用的 Linux 发行版
|
||||
======
|
||||
|
||||
如果你一直关注最新的 [Linux 发行版][1],那么你一定已经注意到,[大多数流行的 Linux 发行版][2] 已经终止了 32 位支持。Arch Linux、Ubuntu、Fedora,每一个都已经放弃了对这种较旧架构的支持。
|
||||
|
||||
但是,如果你拥有仍然需要再利用的老式硬件,或者想将其用于某些用途,该怎么办?不用担心,你的 32 位系统还有一些选择。
|
||||
|
||||
在本文中,我试图汇编一些最好的 Linux 发行版,这些发行版将在未来几年继续支持 32 位平台。
|
||||
|
||||
### 仍提供 32 位支持的最佳 Linux 发行版
|
||||
|
||||
![][3]
|
||||
|
||||
此列表与 [我们之前的支持旧笔记本电脑的 Linux 发行版列表][4] 略有不同。即使是 64 位计算机,如果是在 2010 年之前发布的,那么也可以认为它们是旧的。这就是为什么其中列出的一些建议包括现在仅支持 64 位版本的发行版的原因。
|
||||
|
||||
根据我的知识和认知,此处提供的信息是正确的,但是如果你发现有误,请在评论部分让我知道。
|
||||
|
||||
在继续之前,我认为你知道 [如何检查你拥有的是否是 32 位或 64 位计算机][5]。
|
||||
|
||||
#### 1、Debian
|
||||
|
||||
![图片来源: mrneilypops / Deviantart][6]
|
||||
|
||||
对于 32 位系统,[Debian][11] 是一个绝佳的选择,因为他们的最新的稳定版本仍然支持它。在撰写本文时,最新的稳定发行版 **Debian 10 “buster”** 提供了 32 位版本,并一直支持到 2024 年。
|
||||
|
||||
如果你是 Debian 的新手,值得一提的是,你可以在 [官方 Wiki][7] 上获得有关其所有内容的可靠文档。因此,上手应该不是问题。
|
||||
|
||||
你可以浏览 [可用的安装程序][8] 进行安装。但是,在开始之前,除了 [安装手册][10] 外,我建议你参考 [安装 Debian 之前要记住的事情][9] 列表。
|
||||
|
||||
最低系统要求:
|
||||
|
||||
- 512 MB 内存
|
||||
- 10 GB 磁盘空间
|
||||
- 1 GHz 处理器(奔腾 4 或同等水平)
|
||||
|
||||
#### 2、Slax
|
||||
|
||||
![][12]
|
||||
|
||||
如果你只是想快速启动设备以进行一些临时工作,[Slax][13] 是一个令人印象深刻的选择。
|
||||
|
||||
它基于 Debian,但它通过 USB 设备或 DVD 运行旨在成为一种便携且快速的选项。你可以从他们的网站免费下载 32 位 ISO 文件,或购买预装有 Slax 的可擦写 DVD 或加密的闪存盘。
|
||||
|
||||
当然,这并不是要取代传统的桌面操作系统。但是,是的,你确实获得了以 Debian 为基础的 32 位支持。
|
||||
|
||||
最低系统要求:
|
||||
|
||||
- 内存:128MB(离线使用)/ 512MB(用于网页浏览器使用)
|
||||
- CPU: i686 或更新版本
|
||||
|
||||
#### 3、AntiX
|
||||
|
||||
![图片来源: Opensourcefeed][14]
|
||||
|
||||
[AntiX][15] 是另一个令人印象深刻的基于 Debian 的发行版。AntiX 是众所周知的无 systemd 发行版,该发行版侧重于性能,是一个轻量级的系统。
|
||||
|
||||
它完全适合于所有老式的 32 位系统。它只需要低至 256 MB 内存和 2.7 GB 存储空间。不仅易于安装,而且用户体验也是针对新手和有经验的用户的。
|
||||
|
||||
你应该可以得到基于 Debian 的最新稳定分支的最新版本。
|
||||
|
||||
最低系统要求:
|
||||
|
||||
- 内存:256 MB 的内存
|
||||
- CPU:奔腾 3 系统
|
||||
- 磁盘空间:5GB 的驱动器空间
|
||||
|
||||
#### 4、openSUSE
|
||||
|
||||
![][16]
|
||||
|
||||
[openSUSE][18] 是一个独立的 Linux 发行版,也支持 32 位系统。实际上最新的常规版本(Leap)不提供 32 位镜像,但滚动发行版本(Tumbleweed)确实提供了 32 位镜像。
|
||||
|
||||
如果你是新手,那将是完全不同的体验。但是,我建议你仔细阅读 [为什么要使用 openSUSE 的原因][17]。
|
||||
|
||||
它主要面向开发人员和系统管理员,但也可以将其用作普通桌面用户。值得注意的是,openSUSE 不意味在老式硬件上运行,因此必须确保至少有 2 GB 内存、40+ GB 存储空间和双核处理器。
|
||||
|
||||
最低系统要求:
|
||||
- 奔腾 4 1.6 GHz 或更高的处理器
|
||||
- 1GB 物理内存
|
||||
- 5 GB 硬盘
|
||||
|
||||
#### 5、Emmabuntüs
|
||||
|
||||
![][19]
|
||||
|
||||
[Emmanbuntus][20] 是一个有趣的发行版,旨在通过 32 位支持来延长硬件的使用寿命,以减少原材料的浪费。作为一个团体,他们还参与向学校提供计算机和数字技术的工作。
|
||||
|
||||
它提供了两个不同的版本,一个基于 Ubuntu,另一个基于 Debian。如果你需要更长久的 32 位支持,则可能要使用 Debian 版本。它可能不是最好的选择,但是它具有许多预配置的软件来简化 Linux 学习体验,并提供 32 位支持,如果你希望在此过程中支持他们的事业,那么这是一个相当不错的选择。
|
||||
|
||||
最低系统要求:
|
||||
|
||||
- 512MB 内存
|
||||
- 硬盘驱动器:2GB
|
||||
- 奔腾处理器或同等配置
|
||||
|
||||
#### 6、NixOS
|
||||
|
||||
![Nixos KDE Edition \(图片来源: Distrowatch\)][21]
|
||||
|
||||
[NixOS][23] 是另一个支持 32 位系统的独立 Linux 发行版。它着重于提供一个可靠的系统,其中程序包彼此隔离。
|
||||
|
||||
这可能不是直接面向普通用户,但它是一个 KDE 支持的可用发行版,具有独特的软件包管理方式。你可以从其官方网站上了解有关其 [功能][22] 的更多信息。
|
||||
|
||||
最低系统要求:
|
||||
|
||||
- 内存:768 MB
|
||||
- 8GB 磁盘空间
|
||||
- 奔腾 4 或同等水平
|
||||
|
||||
#### 7、Gentoo Linux
|
||||
|
||||
![][24]
|
||||
|
||||
如果你是经验丰富的 Linux 用户,并且正在寻找 32 位 Linux 发行版,那么 [Gentoo Linux][26] 应该是一个不错的选择。
|
||||
|
||||
如果需要,你可以使用 Gentoo Linux 的软件包管理器轻松配置、编译和安装内核。不仅限于众所周知的可配置性,你还可以在较旧的硬件上运行而不会出现任何问题。
|
||||
|
||||
即使你不是经验丰富的用户,也想尝试一下,只需阅读 [安装说明][25],就可以大胆尝试了。
|
||||
|
||||
最低系统要求:
|
||||
|
||||
- 256MB 内存
|
||||
- 奔腾 4 或 AMD 的同类产品
|
||||
- 2.5 GB 磁盘空间
|
||||
|
||||
#### 8、Devuan
|
||||
|
||||
![][27]
|
||||
|
||||
[Devuan][30] 是另一种无 systemd 的发行版。从技术上讲,它是 Debian 的一个分支,只是没有 systemd ,并鼓励 [初始化系统自由][29]。
|
||||
|
||||
对于普通用户来说,它可能不是一个非常流行的 Linux 发行版,但是如果你想要一个无 systemd 的发行版和 32 位支持,Devuan 应该是一个不错的选择。
|
||||
|
||||
最低系统要求:
|
||||
|
||||
- 内存:1GB
|
||||
- CPU:奔腾 1.0GHz
|
||||
|
||||
#### 9、Void Linux
|
||||
|
||||
![][31]
|
||||
|
||||
[Void Linux][33] 是由志愿者独立开发的有趣发行版。它旨在成为一个通用的操作系统,同时提供稳定的滚动发布周期。它以 runit 作为初始化系统替代 systemd,并为你提供了多个 [桌面环境][32] 选择。
|
||||
|
||||
它具有非常令人印象深刻的最低需求规格,只需 96 MB 的内存配以奔腾 4 或等同的芯片。试试看吧!
|
||||
|
||||
最低系统要求:
|
||||
|
||||
- 96MB 内存
|
||||
- 奔腾 4 或相当的 AMD 处理器
|
||||
|
||||
#### 10、Q4OS
|
||||
|
||||
![][34]
|
||||
|
||||
[Q4OS][37] 是另一个基于 Debian 的发行版,致力于提供极简和快速的桌面用户体验。它也恰好是我们的 [最佳轻量级 Linux 发行版][4] 列表中的一个。它的 32 位版本具有 [Trinity 桌面][35],你可以在 64 位版本上找到 KDE Plasma 支持。
|
||||
|
||||
与 Void Linux 类似,Q4OS 可以运行在至低 128 MB 的内存和 300 MHz 的 CPU 上,需要 3 GB 的存储空间。对于任何老式硬件来说,它应该绰绰有余。因此,我想说,你绝对应该尝试一下!
|
||||
|
||||
要了解更多信息,你还可以查看 [我们对 Q4OS 的点评][36]。
|
||||
|
||||
Q4OS 的最低要求:
|
||||
|
||||
- 内存:128MB(Trinity 桌面)/ 1GB(Plasma 桌面)
|
||||
- CPU:300 MHz(Trinity 桌面)/ 1 GHz(Plasma 桌面)
|
||||
- 存储空间:5GB(Trinity 桌面)/3GB(Plasma 桌面)
|
||||
|
||||
#### 11、MX Linux
|
||||
|
||||
![][38]
|
||||
|
||||
如果有一个稍微不错的配置(不完全是老式的,而是旧的),对于 32 位系统,我个人推荐 [MX Linux][39]。它也恰好是适合各种类型用户的 [最佳 Linux 发行版][2] 之一。
|
||||
|
||||
通常,MX Linux 是基于 Debian 的出色的轻量级和可定制的发行版。你可以选择 KDE、XFce 或 Fluxbox(这是他们自己为旧硬件设计的桌面环境)。你可以在他们的官方网站上找到更多关于它的信息,并尝试一下。
|
||||
|
||||
最低系统要求:
|
||||
|
||||
- 1GB 内存(建议使用 2GB,以便舒适地使用)
|
||||
- 15GB 的磁盘空间(建议 20GB)
|
||||
|
||||
|
||||
#### 12、Linux Mint Debian Edtion
|
||||
|
||||
![][44]
|
||||
|
||||
[基于 Debian 的 Linux Mint][45]?为什么不可以呢?
|
||||
|
||||
你可以得到同样的 Cinnamon 桌面体验,只是不基于 Ubuntu。它和基于 Ubuntu 的 Linux Mint 一样容易使用,一样可靠。
|
||||
|
||||
不仅仅是基于 Debian,你还可以得到对 64 位和 32 位系统的支持。如果你不想在 32 位系统上使用一个你从未听说过的 Linux 发行版,这应该是一个不错的选择。
|
||||
|
||||
最低系统要求:
|
||||
|
||||
- 1GB 内存(建议使用 2GB,以便舒适地使用)
|
||||
- 15GB 的磁盘空间(建议 20GB)
|
||||
|
||||
#### 13、Sparky Linux
|
||||
|
||||
![][46]
|
||||
|
||||
[Sparky Linux][47] 是 [为初学者定制的最好的轻量级 Linux 发行版][4] 之一。它很容易定制,而且资源占用很少。
|
||||
|
||||
它可以根据你的要求提供不同的版本,但它确实支持 32 位版本。考虑到你想为你的旧电脑买点东西,我建议你看看它的 MinimalGUI 版本,除非你真的需要像 Xfce 或 LXQt 这样成熟的桌面环境。
|
||||
|
||||
最低系统要求:
|
||||
|
||||
- 内存:512 MB
|
||||
- CPU:奔腾 4,或 AMD Athlon
|
||||
- 磁盘空间:2GB(命令行版),10GB(家庭版),20GB(游戏版)
|
||||
|
||||
#### 14、Mageia
|
||||
|
||||
![][48]
|
||||
|
||||
作为 [Mandriva Linux][49] 的分支,[Mageia Linux][50] 是一个由社区推动的 Linux 发行版,支持 32 位系统。
|
||||
|
||||
通常情况下,你会注意到每年都有一个重大版本。他们的目的是贡献他们的工作,以提供一个自由的操作系统,这也是潜在的安全。对于 32 位系统来说,它可能不是一个流行的选择,但它支持很多桌面环境(如 KDE Plasma、GNOME),如果你需要,你只需要从它的软件库中安装它。
|
||||
|
||||
你应该可以从他们的官方网站上得到下载桌面环境特定镜像的选项。
|
||||
|
||||
最低系统要求:
|
||||
|
||||
- 512MB 内存(推荐 2GB)
|
||||
- 最小安装需 5GB 存储空间(常规安装 20GB)
|
||||
- CPU:奔腾4,或 AMD Athlon
|
||||
|
||||
### 荣誉提名:Funtoo & Puppy Linux
|
||||
|
||||
[Funtoo][40] 是基于 Gentoo 的由社区开发的 Linux 发行版。它着重于为你提供 Gentoo Linux 的最佳性能以及一些额外的软件包,以使用户获得完整的体验。有趣的是,该开发实际上是由 Gentoo Linux 的创建者 Daniel Robbins 领导的。
|
||||
|
||||
[Puppy Linux][51] 是一个很小的 Linux 发行版,除了基本的工具,几乎没有捆绑的软件应用。如果其他选择都不行,而你又想要最轻量级的发行版,Puppy Linux 可能是一个选择。
|
||||
|
||||
当然,如果你不熟悉 Linux,这两个可能都不能提供最好的体验。但是,它们确实支持 32 位系统,并且可以在许多较旧的 Intel/AMD 芯片组上很好地工作。可以在它们的官方网站上探索更多的信息。
|
||||
|
||||
### 总结
|
||||
|
||||
我将列表重点放在基于 Debian 的发行版和一些独立发行版上。但是,如果你不介意长期支持条款,而只想获得一个支持 32 位的镜像,也可以尝试使用任何基于 Ubuntu 18.04 的发行版(或任何官方版本)。
|
||||
|
||||
在撰写本文时,它们只剩下几个月的软件支持。因此,我避免将其作为主要选项提及。但是,如果你喜欢基于 Ubuntu 18.04 的发行版或其它任何版本,可以选择 [LXLE][41]、[Linux Lite][42]、[Zorin Lite 15][43] 及其他官方版本。
|
||||
|
||||
即使大多数基于 Ubuntu 的现代桌面操作系统都放弃了对 32 位的支持。你仍然有很多选项可以选择。
|
||||
|
||||
在 32 位系统中更喜欢哪一个?在下面的评论中让我知道你的想法。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://itsfoss.com/32-bit-linux-distributions/
|
||||
|
||||
作者:[Ankush Das][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[stevenzdg988](https://github.com/stevenzdg988)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://itsfoss.com/author/ankush/
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://itsfoss.com/what-is-linux-distribution/
|
||||
[2]: https://itsfoss.com/best-linux-distributions/
|
||||
[3]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2020/11/32-bit-linux.png?resize=800%2C450&ssl=1
|
||||
[4]: https://itsfoss.com/lightweight-linux-beginners/
|
||||
[5]: https://itsfoss.com/32-bit-64-bit-ubuntu/
|
||||
[6]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2019/08/debian-screenshot.png?resize=800%2C450&ssl=1
|
||||
[7]: https://wiki.debian.org/FrontPage
|
||||
[8]: https://www.debian.org/releases/buster/debian-installer/
|
||||
[9]: https://itsfoss.com/before-installing-debian/
|
||||
[10]: https://www.debian.org/releases/buster/installmanual
|
||||
[11]: https://www.debian.org/
|
||||
[12]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2020/04/slax-screenshot.jpg?resize=800%2C600&ssl=1
|
||||
[13]: https://www.slax.org
|
||||
[14]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2020/10/antiX-19-1.jpg?resize=800%2C500&ssl=1
|
||||
[15]: https://antixlinux.com
|
||||
[16]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2020/01/opensuse-15-1.png?resize=800%2C500&ssl=1
|
||||
[17]: https://itsfoss.com/why-use-opensuse/
|
||||
[18]: https://www.opensuse.org/
|
||||
[19]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2020/10/Emmabuntus-xfce.png?resize=800%2C500&ssl=1
|
||||
[20]: https://emmabuntus.org/
|
||||
[21]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2020/10/nixos-kde.jpg?resize=800%2C500&ssl=1
|
||||
[22]: https://nixos.org/features.html
|
||||
[23]: https://nixos.org/
|
||||
[24]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2019/08/gentoo-linux.png?resize=800%2C450&ssl=1
|
||||
[25]: https://www.gentoo.org/get-started/
|
||||
[26]: https://www.gentoo.org
|
||||
[27]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2020/06/devuan-beowulf.jpg?resize=800%2C600&ssl=1
|
||||
[28]: https://itsfoss.com/devuan-3-release/
|
||||
[29]: https://www.devuan.org/os/init-freedom
|
||||
[30]: https://www.devuan.org
|
||||
[31]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2020/10/void-linux.jpg?resize=800%2C450&ssl=1
|
||||
[32]: https://itsfoss.com/best-linux-desktop-environments/
|
||||
[33]: https://voidlinux.org/
|
||||
[34]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2019/02/q4os8Debonaire.jpg?resize=800%2C500&ssl=1
|
||||
[35]: https://en.wikipedia.org/wiki/Trinity_Desktop_Environment
|
||||
[36]: https://itsfoss.com/q4os-linux-review/
|
||||
[37]: https://q4os.org/index.html
|
||||
[38]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2020/08/mx-linux-19-2-kde.jpg?resize=800%2C452&ssl=1
|
||||
[39]: https://mxlinux.org/
|
||||
[40]: https://www.funtoo.org/Welcome
|
||||
[41]: https://www.lxle.net/
|
||||
[42]: https://www.linuxliteos.com
|
||||
[43]: https://zorinos.com/download/15/lite/32/
|
||||
[44]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2020/11/cinnamon-debian-edition.jpg?w=800&ssl=1
|
||||
[45]: https://www.linuxmint.com/download_lmde.php
|
||||
[46]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2019/08/sparky-linux.jpg?w=800&ssl=1
|
||||
[47]: https://sparkylinux.org/download/stable/
|
||||
[48]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2020/11/mageia.jpg?w=800&ssl=1
|
||||
[49]: https://en.wikipedia.org/wiki/Mandriva_Linux
|
||||
[50]: https://www.mageia.org/en/
|
||||
[51]: http://puppylinux.com/
|
@ -0,0 +1,78 @@
|
||||
[#]: subject: (The Guided Installer in Arch is a Step in the Right Direction)
|
||||
[#]: via: (https://news.itsfoss.com/arch-new-guided-installer/)
|
||||
[#]: author: (Jacob Crume https://news.itsfoss.com/author/jacob/)
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: (Kevin3599)
|
||||
[#]: reviewer: (wxy)
|
||||
[#]: publisher: (wxy)
|
||||
[#]: url: (https://linux.cn/article-13328-1.html)
|
||||
|
||||
Arch Linux 中的引导式安装程序是迈向正确的一步
|
||||
======
|
||||
|
||||
> 在 Arch ISO 中加入一个可选的引导式安装程序,对新手和高级用户都有好处。
|
||||
|
||||
![](https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2021/04/arch-linux-opinion.png?w=1200&ssl=1)
|
||||
|
||||
20 年来,Arch Linux 为用户提供了一个完全定制、独特的系统。这些年来,它以牺牲用户友好性为代价,赢得了在定制方面独有的声誉。
|
||||
|
||||
作为滚动发行版本,Arch Linux 不提供任何固定发行版本,而是每月更新一次。但是,如果你在最近几周下载了 Arch Linux,那么你很可能已经注意到了一个新的附加功能:archinstall。它使 Arch Linux 更加易于安装。
|
||||
|
||||
![][3]
|
||||
|
||||
今天,我将探讨 archinstall 的发布对未来的 Arch Linux 项目和发行版意味着什么。
|
||||
|
||||
### Arch Linux 新的发展方向?
|
||||
|
||||
![][4]
|
||||
|
||||
尽管很多人对此感到惊讶,但默认情况下包含官方安装程序实际上是非常明智的举动。这意味着 Arch Linux 的发展方向发生变化,即在保留使其知名的定制性同时更加侧重用户的易用性。
|
||||
|
||||
在该安装程序的 GitHub 页面上有这样的描述:
|
||||
|
||||
> “引导性安装程序会给用户提供一个友好的逐步安装方式,但是关键在于这个安装程序是个选项,它是可选的,绝不会强迫用户使用其进行安装。”
|
||||
|
||||
这意味着新的安装程序不会影响高级用户,同时也使得其可以向更广泛的受众开放,在这一改动所带来的许多优点之中,一个显著的优点即是:更广泛的用户。
|
||||
|
||||
更多的用户意味着对项目的更多支持,不管其是通过网络捐赠或参与 Arch Linux 的开发,随着这些项目贡献的增加,不管是新用户还是有经验的用户的使用体验都会得到提升。
|
||||
|
||||
### 这必然要发生
|
||||
|
||||
回顾过去,我们可以看到安装介质增加了许多对新用户有所帮助的功能。这些示例包括 pacstrap(一个安装基本系统的工具)和 reflector(查找最佳 pacman 镜像的工具)。
|
||||
|
||||
另外,多年来,用户一直在追求使用脚本安装的方法,新安装程序允许了用户使用安装脚本。它能够使用 Python 编写脚本,这使得管理员的部署更加容易,成为一个非常有吸引力的选择。
|
||||
|
||||
### 更多可定制性(以某种方式?)
|
||||
|
||||
尽管这看上去可能有些反直觉,但是这个安装程序实际上能够增进 Arch Linux 的可定制性。当前,Arch Linux 定制性的最大瓶颈是用户的技术水平,而这一问题能够通过 archinstall 解决。
|
||||
|
||||
有了新的安装程序,用户不需要掌握创建完美开发环境的技巧,安装程序可以帮助用户完成这些工作,这提供了广泛的自定义选项,是普通用户难以实现的。
|
||||
|
||||
### 总结
|
||||
|
||||
有了这一新功能,Arch Linux 似乎正在向着“用户友好”这一软件设计哲学靠近,新安装程序为新手和高级用户提供了广泛的好处。其中包括更广泛的定制性和更大的用户社区。
|
||||
|
||||
总而言之,这个新变动对整个 Arch Linux 社区都会产生积极的影响。
|
||||
|
||||
你对这个 Arch Linux 安装程序怎么看?是否已经尝试过它了呢?
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://news.itsfoss.com/arch-new-guided-installer/
|
||||
|
||||
作者:[Jacob Crume][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[Kevin3599](https://github.com/Kevin3599)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://news.itsfoss.com/author/jacob/
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://itsfoss.com/rolling-release/
|
||||
[2]: https://news.itsfoss.com/arch-linux-easy-install/
|
||||
[3]: https://i1.wp.com/news.itsfoss.com/wp-content/uploads/2021/04/arch-install-tool.png?resize=780%2C411&ssl=1
|
||||
[4]: https://i0.wp.com/github.com/archlinux/archinstall/raw/master/docs/logo.png?resize=371%2C371&ssl=1
|
||||
[5]: https://man.archlinux.org/man/pacstrap.8
|
||||
[6]: https://wiki.archlinux.org/index.php/Reflector
|
||||
|
@ -0,0 +1,145 @@
|
||||
[#]: subject: (Can We Recommend Linux for Gaming in 2021?)
|
||||
[#]: via: (https://news.itsfoss.com/linux-for-gaming-opinion/)
|
||||
[#]: author: (Ankush Das https://news.itsfoss.com/author/ankush/)
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: ( )
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
|
||||
Can We Recommend Linux for Gaming in 2021?
|
||||
======
|
||||
|
||||
You will often hear Linux enthusiasts praise about the improved gaming capabilities on Linux. Yes, we have come a long way considering the advancements made to support modern games on Linux desktop.
|
||||
|
||||
Even Lutris’ creator mentions in our interview that the [progress Linux has made in terms of gaming is simply incredible][1].
|
||||
|
||||
But, is it something to be hyped about? Can we recommend Linux to a gamer? Is Linux suitable for gaming?
|
||||
|
||||
In this article, I want to share a few things about gaming on a Linux system and share what I think about it.
|
||||
|
||||
### You Can Play Games on Linux: Yes!
|
||||
|
||||
If anyone’s ever told you that you cannot game on Linux, **that is not true**.
|
||||
|
||||
You can play a variety of games on Linux without any major hiccups. And, for the most part, it is playable and totally a good experience.
|
||||
|
||||
In fact, we have an ultimate guide for [Gaming on Linux][2] if you do not know where to start.
|
||||
|
||||
### Do I Need a Specific Linux Distro to Play Games?
|
||||
|
||||
Not really. It depends on how convenient you want the experience to be.
|
||||
|
||||
For instance, if you want a Linux distribution to work well with your graphics driver and get the latest hardware support, there’s something for that. Similarly, if you just want to play native Linux indie games with an integrated GPU, any Linux distro can work.
|
||||
|
||||
So, there are a few variables when choosing a Linux distribution for your gaming adventures.
|
||||
|
||||
Fret not, to help you out, we have a useful list of the [best Linux gaming distributions][3].
|
||||
|
||||
### Virtual Reality Games on Linux: Uh-Oh!
|
||||
|
||||
![][4]
|
||||
|
||||
I’m sure VR gaming is not something widely adopted yet. But, if you want the exciting experience on a VR headset, **choosing Linux as your preferred platform might be a bad idea**.
|
||||
|
||||
You do not have the necessary drivers or applications for a convenient experience on Linux. No distribution can help you solve this problem.
|
||||
|
||||
If you are curious, you can go through the details shed on the **state of virtual reality** in a blog post on [Boiling Steam][5] and an interesting experience with Valve’s VR headset on [GamingOnLinux][6].
|
||||
|
||||
I’ve linked those blog posts for reference but long story short — avoid Linux if you want to experience VR games (feel free to experiment if you have the time though).
|
||||
|
||||
### Can You Play Windows Exclusive Games on Linux?
|
||||
|
||||
Yes and No.
|
||||
|
||||
You can use [Steam Play to play Windows-only games][7], **but it has its share of issues**. Not every game works.
|
||||
|
||||
For instance, I end up using Windows to play [Forza Horizon 4][8]. If you love car simulation or racing games, this is a masterpiece that you may not want to miss.
|
||||
|
||||
Maybe we will see it working through Steam Play without issues in the near future, who knows?
|
||||
|
||||
So, it is safe to assume that you will encounter many similar games that may not work at all. That’s the bitter truth.
|
||||
|
||||
And, to know if the game works on Linux, head to [ProtonDB][9] and search for the game to see if it has a “**Gold**” status at the very least.
|
||||
|
||||
### Multiplayer Gaming With Anti-Cheat Engines: Does It Work?
|
||||
|
||||
![][10]
|
||||
|
||||
A huge chunk of gamers prefer playing multiplayer games like [Apex Legends][11], [Rainbow Six Siege][12], and [Fortnite][13].
|
||||
|
||||
However, some of those popular titles that rely on anti-cheat engines do not work on Linux yet. It is still something a work in progress and can be made possible in future Linux Kernel releases — just not yet.
|
||||
|
||||
Do note that multiplayer games like [CS:GO][14], Dota 2, Team Fortress 2, [Valheim][15], and several more offer native Linux support and works great!
|
||||
|
||||
### Would I Recommend Linux for Gaming?
|
||||
|
||||
![][4]
|
||||
|
||||
Considering that you can play a lot of Windows-specific games, native indie games, and a variety of AAA games with native Linux support, I can recommend a first-time user to try gaming on Linux.
|
||||
|
||||
But, that comes with a **caution** — I would suggest you to make a potential list of games that you want to play to make sure that it runs on Linux without any issues. In either case, you may end up wasting a lot of time troubleshooting with no results.
|
||||
|
||||
Not to forget, a big no to VR gaming on Linux, I believe.
|
||||
|
||||
And, if you want to explore all the latest and greatest titles, I will recommend you to stick to your Windows-powered gaming machine.
|
||||
|
||||
**While I should encourage more users to adopt Linux as a gaming platform, but I won’t be ignoring the practical side of why common consumers still prefer a Windows-powered machine to game on.**
|
||||
|
||||
_What do you think? Do you agree with my thoughts? Feel free to share what you feel in the comments below!_
|
||||
|
||||
#### Big Tech Websites Get Millions in Revenue, It's FOSS Got You!
|
||||
|
||||
If you like what we do here at It's FOSS, please consider making a donation to support our independent publication. Your support will help us keep publishing content focusing on desktop Linux and open source software.
|
||||
|
||||
I'm not interested
|
||||
|
||||
#### _Related_
|
||||
|
||||
* [The Progress Linux has Made in Terms of Gaming is Simply Incredible: Lutris Creator][1]
|
||||
* ![][16] ![][17]
|
||||
|
||||
|
||||
* [Popular Game Titles Metro Exodus and Total War: Rome Remastered Releasing for Linux in April][18]
|
||||
* ![][16] ![][19]
|
||||
|
||||
|
||||
* [Good News for Linux Gamers! An Unofficial Epic Games Store Launcher for Linux is in Works][20]
|
||||
* ![][16] ![Heroic Games Launcher][21]
|
||||
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://news.itsfoss.com/linux-for-gaming-opinion/
|
||||
|
||||
作者:[Ankush Das][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://news.itsfoss.com/author/ankush/
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://news.itsfoss.com/lutris-creator-interview/
|
||||
[2]: https://itsfoss.com/linux-gaming-guide/
|
||||
[3]: https://itsfoss.com/linux-gaming-distributions/
|
||||
[4]: data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9JzUyMScgd2lkdGg9Jzc4MCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnLz4=
|
||||
[5]: https://boilingsteam.com/the-state-of-virtual-reality-on-linux/
|
||||
[6]: https://www.gamingonlinux.com/2020/08/my-experiences-of-valves-vr-on-linux
|
||||
[7]: https://itsfoss.com/steam-play/
|
||||
[8]: https://forzamotorsport.net/en-US/games/fh4
|
||||
[9]: https://www.protondb.com/
|
||||
[10]: data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9JzUyMCcgd2lkdGg9Jzc4MCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnLz4=
|
||||
[11]: https://www.ea.com/games/apex-legends
|
||||
[12]: https://www.ubisoft.com/en-us/game/rainbow-six/siege
|
||||
[13]: https://www.epicgames.com/fortnite/en-US/home
|
||||
[14]: https://store.steampowered.com/app/730/CounterStrike_Global_Offensive/
|
||||
[15]: https://store.steampowered.com/app/892970/Valheim/
|
||||
[16]: data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9JzIwMCcgd2lkdGg9JzM1MCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnLz4=
|
||||
[17]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2021/03/lutris-interview-ft.png?fit=1200%2C675&ssl=1&resize=350%2C200
|
||||
[18]: https://news.itsfoss.com/metro-exodus-total-war-rome-linux/
|
||||
[19]: https://i2.wp.com/news.itsfoss.com/wp-content/uploads/2021/03/metro-total-war-ft.png?fit=1200%2C675&ssl=1&resize=350%2C200
|
||||
[20]: https://news.itsfoss.com/heroic-games-launcher/
|
||||
[21]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2021/01/heroic-games-launcher.jpg?fit=1200%2C675&ssl=1&resize=350%2C200
|
@ -1,5 +1,5 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: ( )
|
||||
[#]: translator: (stevenzdg988)
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
@ -167,7 +167,7 @@ via: https://opensource.com/article/21/2/linux-autokey
|
||||
|
||||
作者:[Matt Bargenquast][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
译者:[stevenzdg988](https://github.com/stevenzdg988)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
@ -1,194 +0,0 @@
|
||||
[#]: subject: (My favorite open source project management tools)
|
||||
[#]: via: (https://opensource.com/article/21/3/open-source-project-management)
|
||||
[#]: author: (Frank Bergmann https://opensource.com/users/fraber)
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: ( )
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
|
||||
My favorite open source project management tools
|
||||
======
|
||||
If you're managing large and complex projects, try replacing Microsoft
|
||||
Project with an open source option.
|
||||
![Kanban-style organization action][1]
|
||||
|
||||
Projects like building a satellite, developing a robot, or launching a new product are all expensive, involve different providers, and contain hard dependencies that must be tracked.
|
||||
|
||||
The approach to project management in the world of large projects is quite simple (in theory at least). You create a project plan and split it into smaller pieces until you can reasonably assign costs, duration, resources, and dependencies to the various activities. Once the project plan is approved by the people in charge of the money, you use it to track the project's execution. Drawing all of the project's activities on a timeline produces a bar chart called a [Gantt chart][2].
|
||||
|
||||
Gantt charts have always been used in [waterfall project methodologies][3], but they can also be used with agile. For example, large projects may use a Gantt chart for a scrum sprint and ignore other details like user stories, thereby embedding agile phases. Other large projects may include multiple product releases (e.g., minimum viable product [MVP], second version, third version, etc.). In this case, the super-structure is kind of agile, with each phase planned as a Gantt chart to deal with budgets and complex dependencies.
|
||||
|
||||
### Project management tools
|
||||
|
||||
There are literally hundreds of tools available to manage large projects with Gantt charts, and Microsoft Project is probably the most popular. It is part of the Microsoft Office family, scales to hundreds of thousands of activities, and has an incredible number of features that support almost every conceivable way to manage a project schedule. With Project, it's not always clear what is more expensive: the software license or the training courses that teach you how to use the tool.
|
||||
|
||||
Another drawback is that Microsoft Project is a standalone desktop application, and only one person can update a schedule. You would need to buy licenses for Microsoft Project Server, Project for the web, or Microsoft Planner if you want multiple users to collaborate.
|
||||
|
||||
Fortunately, there are open source alternatives to the proprietary tools, including the applications in this article. All are open source and include a Gantt for scheduling hierarchical activities based on resources and dependencies. ProjectLibre, GanttProject, and TaskJuggler are desktop applications for a single project manager; ProjeQtOr and Redmine are web applications for project teams, and ]project-open[ is a web application for managing entire organizations.
|
||||
|
||||
I evaluated the tools based on a single user planning and tracking a single large project. My evaluation criteria includes Gantt editor features, availability on Windows, Linux, and macOS, scalability, import/export, and reporting. (Full disclosure: I'm the founder of ]project-open[, and I've been active in several open source communities for many years. This list includes our product, so my views may be biased, but I tried to focus on each product's best features.)
|
||||
|
||||
### Redmine 4.1.0
|
||||
|
||||
![Redmine][4]
|
||||
|
||||
(Frank Bergmann, [CC BY-SA 4.0][5])
|
||||
|
||||
[Redmine][6] is a web-based project management tool with a focus on agile methodologies.
|
||||
|
||||
The standard installation includes a Gantt timeline view, but it lacks fundamental features like scheduling, drag-and-drop, indent and outdent, and resource assignments. You have to edit task properties individually to change the task tree's structure.
|
||||
|
||||
Redmine has Gantt editor plugins, but they are either outdated (e.g., [Plus Gantt][7]) or proprietary (e.g., [ANKO Gantt chart][8]). If you know of other open source Gantt editor plugins, please share them in the comments.
|
||||
|
||||
Redmine is written in Ruby on Rails and available for Windows, Linux, and macOS. The core is available under a GPLv2 license.
|
||||
|
||||
* **Best for:** IT teams working using agile methodologies
|
||||
* **Unique selling proposition:** It's the original "upstream" parent project of OpenProject and EasyRedmine.
|
||||
|
||||
|
||||
|
||||
### ]project-open[ 5.1
|
||||
|
||||
![\]project-open\[][9]
|
||||
|
||||
(Frank Bergmann, [CC BY-SA 4.0][5])
|
||||
|
||||
[]project-open[][10] is a web-based project management system that takes the perspective of an entire organization, similar to an enterprise resource planning (ERP) system. It can also manage project portfolios, budgets, invoicing, sales, human resources, and other functional areas. Specific variants exist for professional services automation (PSA) for running a project company, project management office (PMO) for managing an enterprise's strategic projects, and enterprise project management (EPM) for managing a department's projects.
|
||||
|
||||
The ]po[ Gantt editor includes hierarchical tasks, dependencies, and scheduling based on planned work and assigned resources. It does not support resource calendars and non-human resources. The ]po[ system is quite complex, and the GUI might need a refresh.
|
||||
|
||||
]project-open[ is written in TCL and JavaScript and available for Windows and Linux. The ]po[ core is available under a GPLv2 license with proprietary extensions available for large companies.
|
||||
|
||||
* **Best for:** Medium to large project organizations that need a lot of financial project reporting
|
||||
* **Unique selling proposition:** ]po[ is an integrated system to run an entire project company or department.
|
||||
|
||||
|
||||
|
||||
### ProjectLibre 1.9.3
|
||||
|
||||
![ProjectLibre][11]
|
||||
|
||||
(Frank Bergmann, [CC BY-SA 4.0][5])
|
||||
|
||||
[ProjectLibre][12] is probably the closest you can get to Microsoft Project in the open source world. It is a desktop application that supports all-important project planning features, including resource calendars, baselines, and cost management. It also allows you to import and export schedules using MS-Project's file format.
|
||||
|
||||
ProjectLibre is perfectly suitable for planning and executing small or midsized projects. However, it's missing some advanced features in MS-Project, and its GUI is not the prettiest.
|
||||
|
||||
ProjectLibre is written in Java and available for Windows, Linux, and macOS and licensed under an open source Common Public Attribution (CPAL) license. The ProjectLibre team is currently working on a Web offering called ProjectLibre Cloud under a proprietary license.
|
||||
|
||||
* **Best for:** An individual project manager running small to midsized projects or as a viewer for project members who don't have a full MS-Project license
|
||||
* **Unique selling proposition:** It's the closest you can get to MS-Project with open source.
|
||||
|
||||
|
||||
|
||||
### GanttProject 2.8.11
|
||||
|
||||
![GanttProject][13]
|
||||
|
||||
(Frank Bergmann, [CC BY-SA 4.0][5])
|
||||
|
||||
[GanttProject][14] is similar to ProjectLibre as a desktop Gantt editor but with a more limited feature set. It doesn't support baselines nor non-human resources, and the reporting functionality is more limited.
|
||||
|
||||
GanttProject is a desktop application written in Java and available for Windows, Linux, and macOS under the GPLv3 license.
|
||||
|
||||
* **Best for:** Simple Gantt charts or learning Gantt-based project management techniques.
|
||||
* **Unique selling proposition:** It supports program evaluation and review technique ([PERT][15]) charts and collaboration using WebDAV.
|
||||
|
||||
|
||||
|
||||
### TaskJuggler 3.7.1
|
||||
|
||||
![TaskJuggler][16]
|
||||
|
||||
(Frank Bergmann, [CC BY-SA 4.0][5])
|
||||
|
||||
[TaskJuggler][17] schedules multiple parallel projects in large organizations, focusing on automatically resolving resource assignment conflicts (i.e., resource leveling).
|
||||
|
||||
It is not an interactive Gantt editor but a command-line tool that works similarly to a compiler: It reads a list of tasks from a text file and produces a series of reports with the optimum start and end times for each task depending on the assigned resources, dependencies, priorities, and many other parameters. It supports multiple projects, baselines, resource calendars, shifts, and time zones and has been designed to scale to enterprise scenarios with many projects and resources.
|
||||
|
||||
Writing a TaskJuggler input file with its specific syntax may be beyond the average project manager's capabilities. However, you can use ]project-open[ as a graphical frontend for TaskJuggler to generate input, including absences, task progress, and logged hours. When used this way, TaskJuggler becomes a powerful what-if scenario planner.
|
||||
|
||||
TaskJuggler is written in Ruby and available for Windows, Linux, and macOS under a GPLv2 license.
|
||||
|
||||
* **Best for:** Medium to large departments managed by a true nerd
|
||||
* **Unique selling proposition:** It excels in automatic resource-leveling.
|
||||
|
||||
|
||||
|
||||
### ProjeQtOr 9.0.4
|
||||
|
||||
![ProjeQtOr][18]
|
||||
|
||||
(Frank Bergmann, [CC BY-SA 4.0][5])
|
||||
|
||||
[ProjeQtOr][19] is a web-based project management application that's suitable for IT projects. It supports risks, budgets, deliverables, and financial documents in addition to projects, tickets, and activities to integrate many aspects of project management into a single system.
|
||||
|
||||
ProjeQtOr provides a Gantt editor with a feature set similar to ProjectLibre, including hierarchical tasks, dependencies, and scheduling based on planned work and assigned resources. However, it doesn't support in-place editing of values (e.g., task name, estimated time, etc.); users must change values in an entry form below the Gantt view and save the values.
|
||||
|
||||
ProjeQtOr is written in PHP and available for Windows, Linux, and macOS under the Affero GPL3 license.
|
||||
|
||||
* **Best for:** IT departments tracking a list of projects
|
||||
* **Unique selling proposition:** Lets you store a wealth of information for every project, keeping all information in one place.
|
||||
|
||||
|
||||
|
||||
### Other tools
|
||||
|
||||
The following systems may be valid options for specific use cases but were excluded from the main list for various reasons.
|
||||
|
||||
![LIbrePlan][20]
|
||||
|
||||
(Frank Bergmann, [CC BY-SA 4.0][5])
|
||||
|
||||
* [**LibrePlan**][21] is a web-based project management application focusing on Gantt charts. It would have figured prominently in the list above due to its feature set, but there is no installation available for recent Linux versions (CentOS 7 or 8). The authors say updated instructions will be available soon.
|
||||
* [**dotProject**][22] is a web-based project management system written in PHP and available under the GPLv2.x license. It includes a Gantt timeline report, but it doesn't have options to edit it, and dependencies don't work yet (they're "only partially functional").
|
||||
* [**Leantime**][23] is a web-based project management system with a pretty GUI written in PHP and available under the GPLv2 license. It includes a Gantt timeline for milestones but without dependencies.
|
||||
* [**Orangescrum**][24] is a web-based project-management tool. Gantt charts are available as a paid add-on or with a paid subscription.
|
||||
* [**Talaia/OpenPPM**][25] is a web-based project portfolio management system. However, version 4.6.1 still says "Coming Soon: Interactive Gantt Charts."
|
||||
* [**Odoo**][26] and [**OpenProject**][27] both restrict some important features to the paid enterprise edition.
|
||||
|
||||
|
||||
|
||||
In this review, I aimed to include all open source project management systems that include a Gantt editor with dependency scheduling. If I missed a project or misrepresented something, please let me know in the comments.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/21/3/open-source-project-management
|
||||
|
||||
作者:[Frank Bergmann][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://opensource.com/users/fraber
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/kanban_trello_organize_teams_520.png?itok=ObNjCpxt (Kanban-style organization action)
|
||||
[2]: https://en.wikipedia.org/wiki/Gantt_chart
|
||||
[3]: https://opensource.com/article/20/3/agiles-vs-waterfall
|
||||
[4]: https://opensource.com/sites/default/files/uploads/redmine.png (Redmine)
|
||||
[5]: https://creativecommons.org/licenses/by-sa/4.0/
|
||||
[6]: https://www.redmine.org/
|
||||
[7]: https://redmine.org/plugins/plus_gantt
|
||||
[8]: https://www.redmine.org/plugins/anko_gantt_chart
|
||||
[9]: https://opensource.com/sites/default/files/uploads/project-open.png (]project-open[)
|
||||
[10]: https://www.project-open.com
|
||||
[11]: https://opensource.com/sites/default/files/uploads/projectlibre.png (ProjectLibre)
|
||||
[12]: http://www.projectlibre.org
|
||||
[13]: https://opensource.com/sites/default/files/uploads/ganttproject.png (GanttProject)
|
||||
[14]: https://www.ganttproject.biz
|
||||
[15]: https://en.wikipedia.org/wiki/Program_evaluation_and_review_technique
|
||||
[16]: https://opensource.com/sites/default/files/uploads/taskjuggler.png (TaskJuggler)
|
||||
[17]: https://taskjuggler.org/
|
||||
[18]: https://opensource.com/sites/default/files/uploads/projeqtor.png (ProjeQtOr)
|
||||
[19]: https://www.projeqtor.org
|
||||
[20]: https://opensource.com/sites/default/files/uploads/libreplan.png (LIbrePlan)
|
||||
[21]: https://www.libreplan.dev/
|
||||
[22]: https://dotproject.net/
|
||||
[23]: https://leantime.io
|
||||
[24]: https://orangescrum.org/
|
||||
[25]: http://en.talaia-openppm.com/
|
||||
[26]: https://odoo.com
|
||||
[27]: http://openproject.org
|
@ -1,134 +0,0 @@
|
||||
[#]: subject: (How to Delete Partitions in Linux [Beginner’s Guide])
|
||||
[#]: via: (https://itsfoss.com/delete-partition-linux/)
|
||||
[#]: author: (Chris Patrick Carias Stas https://itsfoss.com/author/chris/)
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: (geekpi)
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
|
||||
How to Delete Partitions in Linux [Beginner’s Guide]
|
||||
======
|
||||
|
||||
Managing partitions is serious business, especially when you have to remove them. I find myself doing this frequently, especially after using thumb drives as live disks and Linux installers because they create several partitions that I won’t need afterwards.
|
||||
|
||||
In this tutorial, I will show you how to remove partitions in Linux using both command line and GUI tools.
|
||||
|
||||
* [Delete partition in Linux with GUI tool like GParted][1]
|
||||
* [Delete partition using Linux commands][2]
|
||||
|
||||
|
||||
|
||||
Warning!
|
||||
|
||||
You delete the partition, you lose your data. Whenever you are playing with partitions, make sure backup your data. A slight typo or slip of finger could prove costly. Don’t say we didn’t warn you!
|
||||
|
||||
### Remove disk partition using GParted [GUI Method]
|
||||
|
||||
As a desktop Linux user, you probably will be more comfortable and perhaps safer with a GUI-based tool.
|
||||
|
||||
There are [several tools that let you manage partitions on Linux][3]. Depending on your distribution you will have one or even more such tool already installed on your system.
|
||||
|
||||
For this tutorial, I am going to use [GParted][4]. It is a popular open source tool and it’s very easy and intuitive to use.
|
||||
|
||||
The first step is [installing GParted][5] if it isn’t already in your system. You should be able to find it in the software center of your distribution.
|
||||
|
||||
![][6]
|
||||
|
||||
Alternatively, you can use your distribution’s package manager for installing it. In Debian and Ubuntu-based Linux distributions, you can [use the apt install command][7]:
|
||||
|
||||
```
|
||||
sudo apt install gparted
|
||||
```
|
||||
|
||||
Once installed, let’s open **GParted**. Since you are dealing with disk partitions, you’ll be required to have root access. It will ask for authentication and once it opens you should see a window like this one:
|
||||
|
||||
![][8]
|
||||
|
||||
On the right-upper corner you can select the disk and in the lower screen the partition you want to remove.
|
||||
|
||||
Next, select the option **Delete** from the Partition menu:
|
||||
|
||||
![][9]
|
||||
|
||||
The process is incomplete until you rewrite the partition table. This is a safety measure and it gives you the option to review the changes before confirming it.
|
||||
|
||||
To do this just click on the **Apply All Operations** button located in the toolbar and then **Apply** when asked for confirmation.
|
||||
|
||||
![][10]
|
||||
|
||||
After hitting **Apply**, you will see a progress bar and a results message saying that all the operations were successful. You can close the message and the main window and consider your partition completely deleted from our disk.
|
||||
|
||||
Now that you are aware of the GUI method, let’s move on to the command line.
|
||||
|
||||
### Delete partitions using fdisk command
|
||||
|
||||
Almost every Linux distribution comes with [fdisk][11] by default and we are going to use this tool today. The first thing you need to know is what device is assigned to the disk with the partitions you want to remove. To do that, type the following in the terminal:
|
||||
|
||||
```
|
||||
sudo fdisk --list
|
||||
```
|
||||
|
||||
This will print all the drives and partitions in our system as well as the assigned devices. You [need to have root access][12] in order for it work.
|
||||
|
||||
In this example, I will work with a USB drive that contains two partitions as shown below:
|
||||
|
||||
![][13]
|
||||
|
||||
The device assigned in the system is /sdb and it has two partitions, sdb1 and sdb2. Now that you identified which device contains the partitions, you can start working on it by using `fdisk` and the path to the device:
|
||||
|
||||
```
|
||||
sudo fdisk /dev/sdb
|
||||
```
|
||||
|
||||
This will start `fdisk` in command mode. You can always press `m` to see a list of options.
|
||||
|
||||
Next, type `p` and press `Enter` to view the partition information and confirm that you are using the right device. If the wrong device is in use you can use the `q` command to exit `fdisk` and start the procedure again.
|
||||
|
||||
Now enter `d` to delete a partition and it will immediately ask for the partition number, that corresponds to the number listed in the Device column, which in this case are numbers 1 and 2 (as can be seen in the screen capture below) but can and will vary according to the current partition table.
|
||||
|
||||
![][14]
|
||||
|
||||
Let’s remove the second partition by typing `2` and pressing `Enter`. You should see a message saying **“Partition 2 has been deleted**“, but actually, it hasn’t been removed yet. `fdisk` needs one more step to rewrite the partition table and apply the changes. Safety net, you see.
|
||||
|
||||
You need to type `w` and press `Enter` to make the changes permanent. No confirmation is asked.
|
||||
|
||||
After this, you should receive some feedback like the one here:
|
||||
|
||||
![][15]
|
||||
|
||||
Now, use `sudo fdisk --list /dev/sdb` to view the current partition table of the device and you can see that the second partition is completely gone. You are done removing your partition using the terminal and `fdisk` command. Success!
|
||||
|
||||
#### Wrapping up
|
||||
|
||||
And so I end this tutorial on how to remove partitions in Linux using both the terminal and GUI tools. Remember, stay always on the safe side, backup your files before manipulating your partitions and double check that you are using the right device. Deleting a partition will delete everything in it with little to no chance of [recovering][16] it.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://itsfoss.com/delete-partition-linux/
|
||||
|
||||
作者:[Chris Patrick Carias Stas][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://itsfoss.com/author/chris/
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: tmp.Q615QYIwTl#gparted
|
||||
[2]: tmp.Q615QYIwTl#fdisk
|
||||
[3]: https://itsfoss.com/partition-managers-linux/
|
||||
[4]: https://gparted.org/index.php
|
||||
[5]: https://itsfoss.com/gparted/
|
||||
[6]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2021/04/gparted-ubuntu-software-center.png?resize=800%2C348&ssl=1
|
||||
[7]: https://itsfoss.com/apt-command-guide/
|
||||
[8]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2021/04/removing-partitions-linux-004.png?resize=800%2C542&ssl=1
|
||||
[9]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2021/04/removing-partitions-linux-005.png?resize=800%2C540&ssl=1
|
||||
[10]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2021/04/removing-partitions-linux-006.png?resize=800%2C543&ssl=1
|
||||
[11]: https://man7.org/linux/man-pages/man8/fdisk.8.html
|
||||
[12]: https://itsfoss.com/root-user-ubuntu/
|
||||
[13]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2021/04/removing-partitions-linux-001.png?resize=800%2C255&ssl=1
|
||||
[14]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2021/04/removing-partitions-linux-002.png?resize=800%2C362&ssl=1
|
||||
[15]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2021/04/removing-partitions-linux-003.png?resize=800%2C153&ssl=1
|
||||
[16]: https://itsfoss.com/recover-deleted-files-linux/
|
@ -1,208 +0,0 @@
|
||||
[#]: subject: (Optimize your Python code with C)
|
||||
[#]: via: (https://opensource.com/article/21/4/cython)
|
||||
[#]: author: (Alan Smithee https://opensource.com/users/alansmithee)
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: (RiaXu)
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
|
||||
Optimize your Python code with C
|
||||
======
|
||||
Cython creates C modules that speed up Python code execution, important
|
||||
for complex applications where an interpreted language isn't efficient.
|
||||
![Hands on a keyboard with a Python book ][1]
|
||||
|
||||
Cython is a compiler for the Python programming language meant to optimize performance and form an extended Cython programming language. As an extension of Python, [Cython][2] is also a superset of the Python language, and it supports calling C functions and declaring C types on variables and class attributes. This makes it easy to wrap external C libraries, embed C into existing applications, or write C extensions for Python in syntax as easy as Python itself.
|
||||
|
||||
Cython is commonly used to create C modules that speed up Python code execution. This is important in complex applications where an interpreted language isn't efficient.
|
||||
|
||||
### Install Cython
|
||||
|
||||
You can install Cython on Linux, BSD, Windows, or macOS using Python:
|
||||
|
||||
|
||||
```
|
||||
`$ python -m pip install Cython`
|
||||
```
|
||||
|
||||
Once installed, it's ready to use.
|
||||
|
||||
### Transform Python into C
|
||||
|
||||
A good way to start with Cython is with a simple "hello world" application. It's not the best demonstration of Cython's advantages, but it shows what happens when you're using Cython.
|
||||
|
||||
First, create this simple Python script in a file called `hello.pyx` (the `.pyx` extension isn't magical and it could technically be anything, but it's Cython's default extension):
|
||||
|
||||
|
||||
```
|
||||
`print("hello world")`
|
||||
```
|
||||
|
||||
Next, create a Python setup script. A `setup.py` file is like Python's version of a makefile, and Cython can use it to process your Python code:
|
||||
|
||||
|
||||
```
|
||||
from setuptools import setup
|
||||
from Cython.Build import cythonize
|
||||
|
||||
setup(
|
||||
ext_modules = cythonize("hello.pyx")
|
||||
)
|
||||
```
|
||||
|
||||
Finally, use Cython to transform your Python script into C code:
|
||||
|
||||
|
||||
```
|
||||
`$ python setup.py build_ext --inplace`
|
||||
```
|
||||
|
||||
You can see the results in your project directory. Cython's `cythonize` module transforms `hello.pyx` into a `hello.c` file and a `.so` library. The C code is 2,648 lines, so it's quite a lot more text than the single line of `hello.pyx` source. The `.so` library is also over 2,000 times larger than its source (54,000 compared to 20 bytes). Then again, Python is required to run a single Python script, so there's a lot of code propping up that single-line `hello.pyx` file.
|
||||
|
||||
To use the C code version of your Python "hello world" script, open a Python prompt and import the new `hello` module you created:
|
||||
|
||||
|
||||
```
|
||||
>>> import hello
|
||||
hello world
|
||||
```
|
||||
|
||||
### Integrate C code into Python
|
||||
|
||||
A good generic test of computational power is calculating prime numbers. A prime number is a positive number greater than 1 that produces a positive integer only when divided by 1 or itself. It's simple in theory, but as numbers get larger, the calculation requirements also increase. In pure Python, it can be done in under 10 lines of code:
|
||||
|
||||
|
||||
```
|
||||
import sys
|
||||
|
||||
number = int(sys.argv[1])
|
||||
if not number <= 1:
|
||||
for i in range(2, number):
|
||||
if (number % i) == 0:
|
||||
print("Not prime")
|
||||
break
|
||||
else:
|
||||
print("Integer must be greater than 1")
|
||||
```
|
||||
|
||||
This script is silent upon success and returns a message if the number is not prime:
|
||||
|
||||
|
||||
```
|
||||
$ ./prime.py 3
|
||||
$ ./prime.py 4
|
||||
Not prime.
|
||||
```
|
||||
|
||||
Converting this to Cython requires a little work, partly to make the code appropriate for use as a library and partly for performance.
|
||||
|
||||
#### Scripts and libraries
|
||||
|
||||
Many users learn Python as a scripting language: you tell Python the steps you want it to perform, and it does the work. As you learn more about Python (and open source programming in general), you learn that much of the most powerful code out there is in the libraries that other applications can harness. The _less_ specific your code is, the more likely it can be repurposed by a programmer (you included) for other applications. It can be a little more work to decouple computation from workflow, but in the end, it's usually worth the effort.
|
||||
|
||||
In the case of this simple prime number calculator, converting it to Cython begins with a setup script:
|
||||
|
||||
|
||||
```
|
||||
from setuptools import setup
|
||||
from Cython.Build import cythonize
|
||||
|
||||
setup(
|
||||
ext_modules = cythonize("prime.py")
|
||||
)
|
||||
```
|
||||
|
||||
Transform your script into C:
|
||||
|
||||
|
||||
```
|
||||
`$ python setup.py build_ext --inplace`
|
||||
```
|
||||
|
||||
Everything appears to be working well so far, but when you attempt to import and use your new module, you get an error:
|
||||
|
||||
|
||||
```
|
||||
>>> import prime
|
||||
Traceback (most recent call last):
|
||||
File "<stdin>", line 1, in <module>
|
||||
File "prime.py", line 2, in init prime
|
||||
number = sys.argv[1]
|
||||
IndexError: list index out of range
|
||||
```
|
||||
|
||||
The problem is that a Python script expects to be run from a terminal, where arguments (in this case, an integer to test as a prime number) are common. You need to modify your script so that it can be used as a library instead.
|
||||
|
||||
#### Write a library
|
||||
|
||||
Libraries don't use system arguments and instead accept arguments from other code. Instead of using `sys.argv` to bring in user input, make your code a function that accepts an argument called `number` (or `num` or whatever variable name you prefer):
|
||||
|
||||
|
||||
```
|
||||
def calculate(number):
|
||||
if not number <= 1:
|
||||
for i in range(2, number):
|
||||
if (number % i) == 0:
|
||||
print("Not prime")
|
||||
break
|
||||
else:
|
||||
print("Integer must be greater than 1")
|
||||
```
|
||||
|
||||
This admittedly makes your script somewhat difficult to test because when you run the code in Python, the `calculate` function is never executed. However, Python programmers have devised a common, if not intuitive, workaround for this problem. When the Python interpreter executes a Python script, there's a special variable called `__name__` that gets set to `__main__`, but when it's imported as a module, `__name__` is set to the module's name. By leveraging this, you can write a library that is both a Python module and a valid Python script:
|
||||
|
||||
|
||||
```
|
||||
import sys
|
||||
|
||||
def calculate(number):
|
||||
if not number <= 1:
|
||||
for i in range(2, number):
|
||||
if (number % i) == 0:
|
||||
print("Not prime")
|
||||
break
|
||||
else:
|
||||
print("Integer must be greater than 1")
|
||||
|
||||
if __name__ == "__main__":
|
||||
number = sys.argv[1]
|
||||
calculate( int(number) )
|
||||
```
|
||||
|
||||
Now you can run the code as a command:
|
||||
|
||||
|
||||
```
|
||||
$ python ./prime.py 4
|
||||
Not a prime
|
||||
```
|
||||
|
||||
And you can convert it to Cython for use as a module:
|
||||
|
||||
|
||||
```
|
||||
>>> import prime
|
||||
>>> prime.calculate(4)
|
||||
Not prime
|
||||
```
|
||||
|
||||
### C Python
|
||||
|
||||
Converting code from pure Python to C with Cython can be useful. This article demonstrates how to do that part, yet there are Cython features to help you optimize your code before conversion, options to analyze your code to find when Cython interacts with C, and much more. If you're using Python, but you're looking to enhance your code with C code or further your understanding of how libraries provide better extensibility than scripts, or if you're just curious about how Python and C can work together, then start experimenting with Cython.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/21/4/cython
|
||||
|
||||
作者:[Alan Smithee][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[译者ID](https://github.com/ShuyRoy)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://opensource.com/users/alansmithee
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/python-programming-code-keyboard.png?itok=fxiSpmnd (Hands on a keyboard with a Python book )
|
||||
[2]: https://cython.org/
|
@ -2,7 +2,7 @@
|
||||
[#]: via: (https://opensource.com/article/21/4/restore-macbook-linux)
|
||||
[#]: author: (Don Watkins https://opensource.com/users/don-watkins)
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: ( )
|
||||
[#]: translator: (geekpi)
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
|
@ -0,0 +1,73 @@
|
||||
[#]: subject: (Making computers more accessible and sustainable with Linux)
|
||||
[#]: via: (https://opensource.com/article/21/4/linux-free-geek)
|
||||
[#]: author: (Don Watkins https://opensource.com/users/don-watkins)
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: ( )
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
|
||||
Making computers more accessible and sustainable with Linux
|
||||
======
|
||||
Free Geek is a nonprofit organization that helps decrease the digital
|
||||
divide by providing Linux computers to people and groups in need.
|
||||
![Working from home at a laptop][1]
|
||||
|
||||
There are many reasons to choose Linux for your desktop operating system. In [_Why everyone should choose Linux_][2], Opensource.com's Seth Kenlon highlighted many of the best reasons to select Linux and provided lots of ways for people to get started with the operating system.
|
||||
|
||||
This also got me thinking about how I usually introduce folks to Linux. The pandemic has increased the need for people to go online for shopping, doing remote education, and connecting with family and friends [over video conferencing][3].
|
||||
|
||||
I work with a lot of retirees who have fixed incomes and are not particularly tech-savvy. For most of these folks, buying a computer is a major investment fraught with concern. Some of my friends and clients are uncomfortable going to a retail store during a pandemic, and they're completely unfamiliar with what to look for in a computer, whether it's a desktop or laptop, even in non-pandemic times. They come to me with questions about where to buy one and what to look for.
|
||||
|
||||
I'm always eager to see them get a Linux computer. Many of them cannot afford the Linux units sold by name-brand vendors. Until recently, I've been purchasing refurbished units for them and refitting them with Linux.
|
||||
|
||||
But that all changed when I discovered [Free Geek][4], a nonprofit organization based in Portland, Ore., with the mission "to sustainably reuse technology, enable digital access, and provide education to create a community that empowers people to realize their potential."
|
||||
|
||||
Free Geek has an eBay store where I have purchased several refurbished laptops at affordable prices. Their computers come with [Linux Mint][5] installed. The fact that a computer comes ready-to-use makes it easy to introduce [new users to Linux][6] and help them quickly experience the operating system's power.
|
||||
|
||||
### Keeping computers in service and out of landfills
|
||||
|
||||
Oso Martin launched Free Geek on Earth Day 2000. The organization provides classes and work programs to its volunteers, who are trained to refurbish and rebuild donated computers. Volunteers also receive a donated computer after 24 hours of service.
|
||||
|
||||
The computers are sold in Free Geek's brick-and-mortar store in Portland and [online][7]. The organization also provides computers to people and entities in need through its programs [Plug Into Portland][8], [Gift a Geekbox][9], and [organizational][10] and [community grants][11].
|
||||
|
||||
The organization says it has "diverted over 2 million items from landfills, granted over 75,000 technology devices to nonprofits, schools, community change organizations, and individuals, and plugged over 5,000 classroom hours from Free Geek learners."
|
||||
|
||||
### Get involved
|
||||
|
||||
Since its inception, Free Geek has grown from a staff of three to almost 50 and has been recognized around the world. It is a member of the City of Portland's [Digital Inclusion Network][12].
|
||||
|
||||
You can connect with Free Geek on [Twitter][13], [Facebook][14], [LinkedIn][15], [YouTube][16], and [Instagram][17]. You can also subscribe to its [newsletter][18]. Purchasing items from Free Geek's [shop][19] directly supports its work and reduces the digital divide.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/21/4/linux-free-geek
|
||||
|
||||
作者:[Don Watkins][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://opensource.com/users/don-watkins
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/wfh_work_home_laptop_work.png?itok=VFwToeMy (Working from home at a laptop)
|
||||
[2]: https://opensource.com/article/21/2/try-linux
|
||||
[3]: https://opensource.com/article/20/8/linux-laptop-video-conferencing
|
||||
[4]: https://www.freegeek.org/
|
||||
[5]: https://opensource.com/article/21/4/restore-macbook-linux
|
||||
[6]: https://opensource.com/article/18/12/help-non-techies
|
||||
[7]: https://www.ebay.com/str/freegeekbasicsstore
|
||||
[8]: https://www.freegeek.org/our-programs/plug-portland
|
||||
[9]: https://www.freegeek.org/our-programs/gift-geekbox
|
||||
[10]: https://www.freegeek.org/our-programs-grants/organizational-hardware-grants
|
||||
[11]: https://www.freegeek.org/our-programs-grants/community-hardware-grants
|
||||
[12]: https://www.portlandoregon.gov/oct/73860
|
||||
[13]: https://twitter.com/freegeekpdx
|
||||
[14]: https://www.facebook.com/freegeekmothership
|
||||
[15]: https://www.linkedin.com/company/free-geek/
|
||||
[16]: https://www.youtube.com/user/FreeGeekMothership
|
||||
[17]: https://www.instagram.com/freegeekmothership/
|
||||
[18]: https://app.e2ma.net/app2/audience/signup/1766417/1738557/?v=a
|
||||
[19]: https://www.freegeek.org/shop
|
@ -1,97 +0,0 @@
|
||||
[#]: subject: (The Guided Installer in Arch is a Step in the Right Direction)
|
||||
[#]: via: (https://news.itsfoss.com/arch-new-guided-installer/)
|
||||
[#]: author: (Jacob Crume https://news.itsfoss.com/author/jacob/)
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: (Kevin3599 )
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
|
||||
Arch Linux中的引导式安装程序是迈向正确的一步
|
||||
======
|
||||
|
||||
20年来,Arch Linux为用户提供了完全定制和独特的系统的权限。多年来,它以牺牲用户友好性为代价赢得了在定制方面独有的声誉。
|
||||
|
||||
作为滚动发行版本,Arch Linux不提供任何固定发行版本,而是每月更新一次。但是,如果您在最近几周下载了Arch Linux,那么您很可能已经注意到了一个新的附加功能:archinstall。它使Arch Linux更加易于安装。
|
||||
|
||||
![][3]
|
||||
|
||||
今天,我将探讨archinstall 的发布对未来的Arch Linux项目和发行版意味着什么。
|
||||
|
||||
### Arch Linux新的发展方向?
|
||||
![][4]
|
||||
|
||||
尽管很多人对此感到惊讶,但默认情况下包含官方安装程序实际上是非常明智的举动。这意味着ArchLinux的发展方向发生变化,即在保留使其知名的定制性和用户独特性的同时更加侧重用户的易用性。
|
||||
|
||||
在该安装程式的GitHub页面上有这样的描述:
|
||||
|
||||
> “引导性安装程式会给用户提供一个友好的安装方式,但是关键在于这个安装程式是选择性的,它是可选的并且永远不会强迫用户使用其进行安装。”
|
||||
|
||||
这意味着新的安装程式不会影响高级的进阶用户,同时也使得其可以向更广泛的受众开放,在这一改动所带来的许多优点之中,一个显著的优点即是:更广泛的用户。
|
||||
|
||||
更多的用户意味着更多的项目,不管其是通过网络捐赠或在Arch Linux下的开发,通过这些项目贡献,不管是新用户还是有经验的用户的使用体验都会得到提升。
|
||||
|
||||
### “这必然要发生”
|
||||
|
||||
回顾过去,我们可以看到安装介质的许多新增功能对新用户有所帮助。这些示例包括pacstrap(安装基本系统的工具)和反射器(查找最佳pacman镜像的工具)。
|
||||
|
||||
另外,多年来,用户一直在追求使用脚本安装的方法,新安装程序允许了用户使用安装脚本。同时能够使用Python编写脚本,这使管理员的部署更加容易,这使其成为非常有吸引力的选择。更多可定制性(以某种方式?)
|
||||
|
||||
尽管这看上去可能有些反直觉,但是这个安装程式很可能能够增进Arch Linux的可定制性。当前,Arch定制性的最大瓶颈是用户的技术水平,而这一问题能够通过archinstall解决。
|
||||
|
||||
通过由ArchLinux提供的安装程序,用户不需要掌握创建完美开发环境的技巧,安装程序可以帮助用户完成这些工作,这提供了广泛的自定义选项,是普通用户难以实现的。
|
||||
|
||||
###思想总结
|
||||
|
||||
有了这一新功能,Arch Linux似乎正在向着“用户友好”这一软件设计哲学靠近,新安装程序为新手和高级用户提供了广泛的好处。其中包括更广泛的定制性和更大的用户社区。
|
||||
|
||||
总而言之,这个新变动对整个ArchLinux社区都会产生积极的影响。
|
||||
|
||||
你对这个Arch Linux安装程式怎么看?是否已经尝试过它了呢?
|
||||
|
||||
###
|
||||
|
||||
![][7]
|
||||
我不感兴趣
|
||||
|
||||
#### 关联
|
||||
|
||||
* 通过最新的ISO刷新中的更改,现在更容易安装Arch Linux
|
||||
* ![][8] ![][9]
|
||||
|
||||
|
||||
* EndeavourOS的2021年第一个版本带来了Linux内核5.10 LTS,Xfce 4.16等[10]
|
||||
* ![][8] ![][11]
|
||||
|
||||
|
||||
* Linux Kernel 5.9终止了生命。这就是您现在应该做的!
|
||||
* ![][8] ![Linux kernel 5.9 reached end of life][13]
|
||||
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://news.itsfoss.com/arch-new-guided-installer/
|
||||
|
||||
作者:[Jacob Crume][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[Kevin3599](https://github.com/)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://news.itsfoss.com/author/jacob/
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://itsfoss.com/rolling-release/
|
||||
[2]: https://news.itsfoss.com/arch-linux-easy-install/
|
||||
[3]: data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9JzQxMScgd2lkdGg9Jzc4MCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnLz4=
|
||||
[4]: data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9JzM3MScgd2lkdGg9JzM3MScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnLz4=
|
||||
[5]: https://man.archlinux.org/man/pacstrap.8
|
||||
[6]: https://wiki.archlinux.org/index.php/Reflector
|
||||
[7]: data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9JzI1MCcgd2lkdGg9Jzc1MCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnLz4=
|
||||
[8]: data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9JzIwMCcgd2lkdGg9JzM1MCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnLz4=
|
||||
[9]: https://i1.wp.com/news.itsfoss.com/wp-content/uploads/2021/04/arch-linux-easy-install-feat.png?fit=1200%2C675&ssl=1&resize=350%2C200
|
||||
[10]: https://news.itsfoss.com/endeavouros-2021-release/
|
||||
[11]: https://i2.wp.com/news.itsfoss.com/wp-content/uploads/2021/02/endeavouros-2021-ft.jpg?fit=1200%2C675&ssl=1&resize=350%2C200
|
||||
[12]: https://news.itsfoss.com/kernel-5-9-end-of-life/
|
||||
[13]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2020/12/linux-kerne-5-9-eol.png?fit=1200%2C675&ssl=1&resize=350%2C200
|
@ -1,224 +0,0 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: (stevenzdg988)
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (11 Linux Distributions You Can Rely on for Your Ancient 32-bit Computer)
|
||||
[#]: via: (https://itsfoss.com/32-bit-linux-distributions/)
|
||||
[#]: author: (Ankush Das https://itsfoss.com/author/ankush/)
|
||||
|
||||
可以在古老的 32 位计算机上使用的 11 种 Linux 发行版
|
||||
======
|
||||
|
||||
如果您紧跟最新的[Linux 发行版][1],那么您一定已经注意到,[大多数流行的 Linux 发行版][2]已经终止了 32 位支持。Arch Linux,Ubuntu,Fedora,每一个都已经放弃了对这种较旧架构的支持。
|
||||
|
||||
但是,如果您拥有仍然需要再生的老式硬件,或者想将其用于某些用途,该怎么办?不用担心,还剩下一些 32 位系统选项可供选择。
|
||||
|
||||
在本文中,我试图编译一些最好的 Linux 发行版,这些发行版将在未来几年继续支持 32 位平台。
|
||||
|
||||
### 仍提供 32 位支持的最优 Linux 发行版
|
||||
|
||||
![][3]
|
||||
|
||||
此列表与[较早的支持旧笔记本电脑的 Linux 发行版列表][4]略有不同。如果 64 位计算机是在 2010 年之前发布的,那么甚至可以认为它们是过时的。这就是为什么其中列出的一些建议包括现在仅支持 64 位版本的发行版的原因。
|
||||
|
||||
根据我的知识和认知,此处提供的信息是正确的,但是如果您发现有误,请在评论部分让我知道。
|
||||
|
||||
在继续之前,我认为您知道[如何检查您拥有的是否是 32 位或 64 位计算机][5]。
|
||||
|
||||
#### 1\. Debian
|
||||
|
||||
![图片来源: mrneilypops / Deviantart][6]
|
||||
|
||||
对于 32 位系统,Debian 是一个绝佳的选择,因为他们仍通过最新的稳定版本支持它。在撰写本文时,最新的稳定发行版 **Debian 10“buster”** 提供了32位版本,并一直支持到2024年。
|
||||
|
||||
如果您是 Debian 的新手,值得一提的是,您可以在[官方Wiki][7]上获得有关其所有内容的可靠文档。因此,上手应该不是问题。
|
||||
|
||||
您可以浏览[可用的安装程序][8]进行安装。但是,在开始之前,除了[安装手册][10]外,我建议您参考[安装 Debian 之前要记住的事情][9]列表。
|
||||
|
||||
[Debian][11]
|
||||
|
||||
#### 2\. Slax
|
||||
|
||||
![][12]
|
||||
|
||||
如果您只是想快速启动设备以进行一些临时工作,Slax是一个令人印象深刻的选择。
|
||||
|
||||
它基于 Debian,但它旨在成为一种便携式且通过 USB 设备或 DVD 运行的快速选项。您可以从他们的网站免费下载 32 位 ISO 文件,或购买预装有 Slax 的可擦写 DVD /**(或)**加密的闪存盘。
|
||||
|
||||
当然,这并不是要取代传统的桌面操作系统。但是,是的,您确实获得了以 Debian 为基础的 32 位支持。
|
||||
|
||||
[Slax][13]
|
||||
|
||||
#### 3\. AntiX
|
||||
|
||||
![图片来源: Opensourcefeed(开源提供)][14]
|
||||
|
||||
另一个令人印象深刻的基于 Debian 的发行版。AntiX 通常被称为免系统发行版,该发行版在轻量级安装的同时侧重于性能。
|
||||
|
||||
它完全适合几乎所有老式的 32 位系统。建议至少需要 256 MB 内存和 2.7 GB 存储空间。不仅易于安装,而且用户体验也针对新手和有经验的用户。
|
||||
|
||||
您应该根据 Debian 的最新稳定可用分支获得最新版本。
|
||||
|
||||
[AntiX][15]
|
||||
|
||||
#### 4\. openSUSE
|
||||
|
||||
![][16]
|
||||
|
||||
openSUSE 是一个独立的 Linux 发行版,也支持 32 位系统。实际上最新的常规版本(Leap)不提供 32 位映像,但滚动发行版本(Tumbleweed)确实提供了 32 位映像。
|
||||
|
||||
如果您是新手,那将是完全不同的体验。但是,我建议您仔细阅读[为什么要使用 openSUSE 的原因。][17]
|
||||
|
||||
它主要面向开发人员和系统管理员,但也可以将其用作普通桌面用户。值得注意的是,openSUSE 不意味在老式硬件上运行-因此必须确保至少有 2 GB 内存,40+ GB存储空间和双核处理器。
|
||||
|
||||
[openSUSE][18]
|
||||
|
||||
#### 5\. Emmabuntüs
|
||||
|
||||
![][19]
|
||||
|
||||
Emmabuntus 是一个有趣的发行版,旨在通过 32 位支持来延长硬件的使用寿命,以减少原材料的浪费。作为一个小组,他们还参与向学校提供计算机和数字技术。
|
||||
|
||||
它提供了两个不同的版本,一个基于 Ubuntu,另一个基于 Debian。如果您需要更长久的 32 位支持,则可能要使用 Debian 版本。它可能不是最好的选择,但是它具有许多预配置的软件来简化 Linux 学习体验并提供 32 位支持,如果您希望在此过程中支持他们的事业,那么这是一个相当不错的选择。
|
||||
|
||||
[Emmanbuntus][20]
|
||||
|
||||
#### 6\. NixOS
|
||||
|
||||
![Nixos KDE Edition \(图片来源: Distrowatch\)][21]
|
||||
|
||||
NixOS 是另一个独立的支持 32 位系统的 Linux 发行版。它着重于提供一个可靠的系统,其中程序包彼此隔离。
|
||||
|
||||
这可能不直接面向普通用户,但它是 KDE 支持的可用发行版,具有独一无二的软件包管理方法。您可以从其官方网站上了解有关其[功能][22]的更多信息。
|
||||
|
||||
[NixOS][23]
|
||||
|
||||
#### 7\. Gentoo Linux
|
||||
|
||||
![][24]
|
||||
|
||||
如果您是经验丰富的 Linux 用户,并且正在寻找 32 位 Linux 发行版,那么 Gentoo Linux 应该是一个不错的选择。
|
||||
|
||||
如果需要,您可以使用 Gentoo Linux 通过软件包管理器轻松配置,编译和安装内核。不仅限于众所周知的可配置性,您还可以在较旧的硬件上运行而不会出现任何问题。
|
||||
|
||||
即使您不是经验丰富的用户,也想尝试一下,只需阅读[安装说明][25],就可以大胆尝试了。
|
||||
|
||||
[Gentoo Linux][26]
|
||||
|
||||
#### 8\. Devuan
|
||||
|
||||
![][27]
|
||||
|
||||
[Devuan][28]是另一种免系统的发行版。从技术上讲,它是 Debian的一个分支,只是没有系统化和鼓励[开始自由][29]。
|
||||
|
||||
对于普通用户来说,它可能不是一个非常流行的 Linux 发行版,但是如果您想要免系统发行版和 32 位支持,Devuan 应该是一个不错的选择。
|
||||
|
||||
[Devuan][30]
|
||||
|
||||
#### 9\. Void Linux
|
||||
|
||||
![][31]
|
||||
|
||||
Void Linux 是由志愿者独立开发的有趣发行版。它旨在成为一个通用的 OS(操作系统),同时提供稳定的滚动发布周期。它以 `runit`作为初始系统替代 `systemd`,并具有多个[桌面环境][32]的选项。
|
||||
|
||||
它具有令人印象深刻的最低需求规格,只需 96 MB 的内存和 Pentium(奔腾) 4(或等效的)芯片配对。试试看吧!
|
||||
|
||||
[Void Linux][33]
|
||||
|
||||
#### 10\. Q4OS
|
||||
|
||||
![][34]
|
||||
|
||||
Q4OS 是另一个基于 Debian 的发行版,致力于提供最小和快速的桌面用户体验。它也恰好是我们列表中的[最佳轻量级 Linux 发行版][4]之一。它的 32 位版本具有[Trinity 桌面][35],您可以在 64 位版本上找到 KDE Plasma 支持。
|
||||
|
||||
与 Void Linux 类似,Q4OS 也至少可以运行在至少 128 MB 的内存和 300 MHz 的 CPU 上,并需要 3 GB 的存储空间。对于任何老式硬件来说,它应该绰绰有余。因此,我想说,您绝对应该尝试一下!
|
||||
|
||||
要了解更多信息,您还可以查看[我们对 Q4OS 的回顾][36]。
|
||||
|
||||
[Q$OS][37]
|
||||
|
||||
#### 11: MX Linux
|
||||
|
||||
![][38]
|
||||
|
||||
如果有一个稍微不错的配置(不完全是老式的,而是旧的),对于 32 位系统,我个人推荐 MX Linux。对于每种类型的用户,它也都会成为[最佳 Linux 发行版][2]之一。
|
||||
|
||||
通常,MX Linux 是基于 Debian 的出色的轻量级和可自定义发行版。您可以选择从 KDE,XFCE 或 Fluxbox(这是它们自己的用于较旧硬件的桌面环境)中进行选择。您可以在他们的官方网站上找到更多关于它的信息,然后尝试一下。
|
||||
|
||||
[MX Linux][39]
|
||||
|
||||
### 荣誉提名:Funtoo
|
||||
|
||||
Funtoo 是基于 Gentoo 社区开发的 Linux 发行版。它着重于为您提供 Gentoo Linux 的最佳性能以及一些额外的软件包,以使用户获得完整的体验。有趣的是,该开发实际上是由 Gentoo Linux 的创建者丹尼尔·罗宾斯(Daniel Robbins)领导的。
|
||||
|
||||
当然,如果您不熟悉 Linux,那么这里可能没有最好的体验。但是,它确实支持 32 位系统,并且可以在许多较旧的 Intel/AMD 芯片组上很好地工作。
|
||||
|
||||
[Funtoo][40]
|
||||
|
||||
### 总结
|
||||
|
||||
我将列表集中在基于 Debian 的发行版和一些独立发行版上。但是,如果您不介意长期支持条款,而只想获得 32 位受支持的映像,也可以尝试使用任何基于 Ubuntu 18.04 的发行版(或任何官方版本)。
|
||||
|
||||
在撰写本文时,他们只剩下几个月的软件支持。因此,我避免将其作为主要选项提及。但是,如果您喜欢基于 Ubuntu 18.04 的发行版或其它任何版本,可以选择 [LXLE][41],[Linux Lite][42],[Zorin Lite 15][43]及其他官方版本。
|
||||
|
||||
即使大多数基于 Ubuntu 的现代桌面操作系统都放弃了对 32 位的支持。您仍然有很多选项可以选择。
|
||||
|
||||
在 32 位系统上更喜欢哪一个?在下面的评论中让我知道您的想法。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://itsfoss.com/32-bit-linux-distributions/
|
||||
|
||||
作者:[Ankush Das][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[stevenzdg988](https://github.com/stevenzdg988)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://itsfoss.com/author/ankush/
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://itsfoss.com/what-is-linux-distribution/
|
||||
[2]: https://itsfoss.com/best-linux-distributions/
|
||||
[3]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2020/11/32-bit-linux.png?resize=800%2C450&ssl=1
|
||||
[4]: https://itsfoss.com/lightweight-linux-beginners/
|
||||
[5]: https://itsfoss.com/32-bit-64-bit-ubuntu/
|
||||
[6]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2019/08/debian-screenshot.png?resize=800%2C450&ssl=1
|
||||
[7]: https://wiki.debian.org/FrontPage
|
||||
[8]: https://www.debian.org/releases/buster/debian-installer/
|
||||
[9]: https://itsfoss.com/before-installing-debian/
|
||||
[10]: https://www.debian.org/releases/buster/installmanual
|
||||
[11]: https://www.debian.org/
|
||||
[12]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2020/04/slax-screenshot.jpg?resize=800%2C600&ssl=1
|
||||
[13]: https://www.slax.org
|
||||
[14]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2020/10/antiX-19-1.jpg?resize=800%2C500&ssl=1
|
||||
[15]: https://antixlinux.com
|
||||
[16]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2020/01/opensuse-15-1.png?resize=800%2C500&ssl=1
|
||||
[17]: https://itsfoss.com/why-use-opensuse/
|
||||
[18]: https://www.opensuse.org/
|
||||
[19]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2020/10/Emmabuntus-xfce.png?resize=800%2C500&ssl=1
|
||||
[20]: https://emmabuntus.org/
|
||||
[21]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2020/10/nixos-kde.jpg?resize=800%2C500&ssl=1
|
||||
[22]: https://nixos.org/features.html
|
||||
[23]: https://nixos.org/
|
||||
[24]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2019/08/gentoo-linux.png?resize=800%2C450&ssl=1
|
||||
[25]: https://www.gentoo.org/get-started/
|
||||
[26]: https://www.gentoo.org
|
||||
[27]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2020/06/devuan-beowulf.jpg?resize=800%2C600&ssl=1
|
||||
[28]: https://itsfoss.com/devuan-3-release/
|
||||
[29]: https://www.devuan.org/os/init-freedom
|
||||
[30]: https://www.devuan.org
|
||||
[31]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2020/10/void-linux.jpg?resize=800%2C450&ssl=1
|
||||
[32]: https://itsfoss.com/best-linux-desktop-environments/
|
||||
[33]: https://voidlinux.org/
|
||||
[34]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2019/02/q4os8Debonaire.jpg?resize=800%2C500&ssl=1
|
||||
[35]: https://en.wikipedia.org/wiki/Trinity_Desktop_Environment
|
||||
[36]: https://itsfoss.com/q4os-linux-review/
|
||||
[37]: https://q4os.org/index.html
|
||||
[38]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2020/08/mx-linux-19-2-kde.jpg?resize=800%2C452&ssl=1
|
||||
[39]: https://mxlinux.org/
|
||||
[40]: https://www.funtoo.org/Welcome
|
||||
[41]: https://www.lxle.net/
|
||||
[42]: https://www.linuxliteos.com
|
||||
[43]: https://zorinos.com/download/15/lite/32/
|
@ -0,0 +1,181 @@
|
||||
[#]: subject: (My favorite open source project management tools)
|
||||
[#]: via: (https://opensource.com/article/21/3/open-source-project-management)
|
||||
[#]: author: (Frank Bergmann https://opensource.com/users/fraber)
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: (stevenzdg988)
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
|
||||
我最喜欢的开源项目管理工具
|
||||
======
|
||||
如果您要管理大型复杂的项目,请尝试利用开源选项替换 Microsoft Project(微软项目管理软件)。
|
||||
![看板式组织活动][1]
|
||||
|
||||
诸如建造卫星,开发机器人或推出新产品之类的项目都是昂贵的,涉及不同的提供商,并且包含必须跟踪的硬依赖性。
|
||||
|
||||
大型项目领域中的项目管理方法非常简单(至少在理论上如此)。您可以创建项目计划并将其拆分为较小的部分,直到您可以合理地将成本,持续时间,资源和依赖性分配给各种活动。一旦项目计划获得负责人的批准,您就可以使用它来跟踪项目的执行情况。在时间轴上绘制项目的所有活动将产生一个称为[Gantt chart(甘特图表)][2]的条形图。
|
||||
|
||||
Gantt(甘特)图一直用于[瀑布项目方法][3],也可以被灵活地使用。例如,大型项目可能将 Gantt chart (甘特图)用于 Scrum 冲刺,而忽略其他像用户需求这样的细节,从而嵌入灵活的阶段。其他大型项目可能包括多个产品版本(例如,最低可行产品 [MVP],第二版本,第三版本等)。在这种情况下,上层结构对灵活性友善,用每个阶段计划作为 Gantt chart (甘特图)处理预算和复杂的依赖关系。
|
||||
|
||||
### 项目管理工具
|
||||
|
||||
不夸张地说,有数百种可用工具使用 Gantt chart (甘特图)管理大型项目,Microsoft Project(微软项目管理软件)可能是最受欢迎的工具。它是 Microsoft Office(微软办公软件)系列(家族)的一部分,可扩展到成千上万的活动,并且具有众多(难以置信的数量)功能,可支持几乎所有可能的方式来管理项目进度表。对于 Project(微软项目管理软件)并不总是清楚什么更昂贵:软件许可或如何使用该工具的培训课程。
|
||||
|
||||
另一个缺点是 Microsoft Project 是一个独立的桌面应用程序,只有一个人可以更新进度表。如果要多个用户进行协作,则需要购买 Microsoft Project Server,Web 版的 Project(微软项目管理软件) 或 Microsoft Planner 的许可证。
|
||||
|
||||
幸运的是,专有工具还有开源的替代品,包括本文中的应用程序。所有这些都是开源的,并且包括用于安排基于资源和依赖项分层活动的 Gantt (甘特图)。 ProjectLibre,GanttProject 和 TaskJuggler 是单个项目管理的桌面应用程序。ProjeQtOr 和 Redmine 是用于项目团队的 Web 应用程序,而 ]project-open[ 是用于管理整个组织的 Web 应用程序。
|
||||
|
||||
我根据一个单用户计划并跟踪一个大型项目评估了这些工具。我的评估标准包括 Gantt 编辑器功能,Windows,Linux 和 macOS 上的可用性,可扩展性,导入/导出和报告。(完全披露:我是 ]project-open[ 的创始人,并且我在多个开源社区中活跃了很多年。此列表包括我们的产品,因此我的观点可能有偏见,但我尝试着眼于每个产品的最佳功能。)
|
||||
|
||||
### Redmine 4.1.0
|
||||
|
||||
![Redmine][4]
|
||||
|
||||
(Frank Bergmann, [CC BY-SA 4.0][5])
|
||||
|
||||
[Redmine][6]是一个基于 Web 的专注于灵活原则的项目管理工具。
|
||||
|
||||
标准安装包括 Gantt (甘特图)时间轴视图,但缺少诸如调度,拖放,缩进(缩排和凸排)以及资源分配之类的基本功能。您必须单独编辑任务属性才能更改任务树的结构。
|
||||
|
||||
Redmine 具有 Gantt (甘特图)编辑器插件,但是它们已经过时(例如 [Plus Gantt][7])或专有(例如 [ANKO Gantt 图表][8])。如果您知道其他开源 Gantt 编辑器插件,请在评论中分享它们。
|
||||
|
||||
Redmine 用 Ruby 的 Rails 框架编写,可用于 Windows,Linux 和 macOS。该内核已获得 GPLv2 许可。
|
||||
|
||||
* **最适合:** 使用灵活方法的 IT 团队
|
||||
* **独特的销售主张:** 这是 OpenProject 和 EasyRedmine 的最初“上游”父项目。
|
||||
|
||||
### ]project-open[ 5.1
|
||||
|
||||
![\]project-open\[][9]
|
||||
|
||||
(Frank Bergmann, [CC BY-SA 4.0][5])
|
||||
|
||||
[]project-open[][10]是一个基于 Web 的项目管理系统,它具有整个组织的透视图,类似于企业资源计划(ERP)系统。它还可以管理项目档案,预算,发票,销售,人力资源和其他功能领域。存在用于运行项目公司的专业服务自动化(PSA),用于管理企业战略项目的项目管理办公室(PMO)和用于管理部门项目的企业项目管理(EPM)的特定变体。
|
||||
|
||||
Gantt 编辑器包括按等级划分的任务,依赖关系和基于计划的工作和分配资源的计划。它不支持资源日历和非人力资源。]po[ 系统非常复杂,GUI 可能需要刷新。
|
||||
|
||||
]project-open[ 用 TCL 和 JavaScript 编写,可用于 Windows 和 Linux。 ]po[ 核心已获得 GPLv2 许可,并具有适用于大公司的专有扩展。
|
||||
|
||||
* **最适合:** 需要大量财务项目报告的中大型项目组织
|
||||
* **独特的销售主张:** ]po[ 是运行整个项目公司或部门的集成系统。
|
||||
|
||||
|
||||
### ProjectLibre 1.9.3
|
||||
|
||||
![ProjectLibre][11]
|
||||
|
||||
(Frank Bergmann, [CC BY-SA 4.0][5])
|
||||
|
||||
在开源世界中,[ProjectLibre][12] 可能是最接近 Microsoft Project 的产品。它是一个桌面应用程序,支持所有重要的项目计划功能,包括资源日历,基线和成本管理。它还允许您使用 MS-Project 的文件格式导入和导出计划。
|
||||
|
||||
ProjectLibre 非常适合计划和执行中小型项目。然而,它缺少 MS-Project 中的一些高级功能,并且它的 GUI 并不是最漂亮的。
|
||||
|
||||
ProjectLibre 用 Java 编写,可用于 Windows,Linux 和macOS,并已获得开放源代码通用公共属性(CPAL)许可证。ProjectLibre 团队目前正在专有许可下开发名为 ProjectLibre Cloud 的 Web 产品。
|
||||
|
||||
* **最适合:** 个人项目经理,负责中小型项目,或者作为没有完整的 MS-Project 许可证的项目成员的查看者
|
||||
* **独特的销售主张:** 这是使用开源软件可以最接近 MS-Project。
|
||||
|
||||
### GanttProject 2.8.11
|
||||
|
||||
![GanttProject][13]
|
||||
|
||||
(Frank Bergmann, [CC BY-SA 4.0][5])
|
||||
|
||||
[GanttProject][14] 与 ProjectLibre 类似,但它是桌面 Gantt (甘特图)编辑器,但功能集更为有限。 它不支持基线,也不支持非人力资源,并且报告功能受到更多限制。
|
||||
|
||||
GanttProject 是一个用 Java 编写的桌面应用程序,可在 GPLv3 许可下用于 Windows,Linux 和 macOS。
|
||||
|
||||
* **最适合:** Simple Gantt (甘特图)或学习基于 Gantt 的项目管理技术。
|
||||
* **独特的销售主张:** 它支持程序评估和审阅技术([PERT][15])图表以及使用 WebDAV 的协作。
|
||||
|
||||
### TaskJuggler 3.7.1
|
||||
|
||||
![TaskJuggler][16]
|
||||
|
||||
(Frank Bergmann, [CC BY-SA 4.0][5])
|
||||
|
||||
[TaskJuggler][17]在大型组织中安排多个并行项目,重点是自动解决资源分配冲突(即资源均衡)。
|
||||
|
||||
它不是交互式的 Gantt 编辑器,而是类似于编译器的命令行工具:它从文本文件中读取任务列表,并生成一系列报告,这些报告根据分配的资源,依赖项,优先级和许多其他参数为每个任务提供最佳的开始和结束时间。它支持多个项目,基线,资源日历,班次和时区,并且已设计为可扩展到具有许多项目和资源的企业方案。
|
||||
|
||||
使用特定语法编写 TaskJuggler 输入文件可能超出了普通项目经理的能力。但是,您可以使用 ]project-open[ 作为 TaskJuggler 的图形前端来生成输入,包括缺勤,任务进度和记录的工作时间。当以这种方式使用时,TaskJuggler 成为功能强大的假设情景规划师。
|
||||
|
||||
TaskJuggler 用 Ruby 编写,并且在 GPLv2 许可下可用于 Windows,Linux 和 macOS。
|
||||
|
||||
* **最适合:** 由真正的书呆子管理的中大型部门
|
||||
* **独特的销售主张:** 它在自动资源均衡方面表现出色。
|
||||
|
||||
### ProjeQtOr 9.0.4
|
||||
|
||||
![ProjeQtOr][18]
|
||||
|
||||
(Frank Bergmann, [CC BY-SA 4.0][5])
|
||||
|
||||
[ProjeQtOr][19] 是适用于 IT 项目的基于 Web 的项目管理应用程序。除项目,工单和活动外,它还支持风险,预算,可交付成果和财务文件,以将项目管理的许多方面集成到单个系统中。
|
||||
|
||||
ProjeQtOr 为 Gantt 编辑器提供了与 ProjectLibre 类似的功能集,包括按等级划分的任务,依赖关系以及基于计划工作和分配资源。但是,它不支持值的就地编辑(例如,任务名称,估计时间等);用户必须在 Gantt 视图下方的输入表单中更改值,然后保存值。
|
||||
|
||||
ProjeQtOr 用 PHP 编写,并且在 Affero GPL3 许可下可用于 Windows,Linux 和 macOS。
|
||||
|
||||
* **最适合:** IT 部门跟踪项目列表
|
||||
* **独特的销售主张:** 让您为每个项目存储大量信息,将所有信息保存在一个地方。
|
||||
|
||||
### 其他工具
|
||||
|
||||
对于特定的用例,以下系统可能是有效的选项,但由于各种原因,它们被排除在主列表之外。
|
||||
|
||||
![LIbrePlan][20]
|
||||
|
||||
(Frank Bergmann, [CC BY-SA 4.0][5])
|
||||
|
||||
* [**LibrePlan**][21] 是一个基于 Web 的项目管理应用程序,致力于 Gantt 图。由于其功能集,它在上面的列表中会占主导地位,但是没有可用于最新 Linux 版本(CentOS 7 或 8)的安装。作者说,更新的说明将很快推出。
|
||||
* [**dotProject**][22] 是一个用 PHP 编写的基于 Web 的项目管理系统,可在 GPLv2.x 许可下使用。它包含一个 Gantt 时间轴报告,但是没有编辑它的选项,并且依赖项还不起作用(它们“仅部分起作用”)。
|
||||
|
||||
* [**Leantime**][23] 是一个基于 Web 的项目管理系统,具有漂亮的用 PHP 编写的 GUI,并且可以在 GPLv2 许可下使用。它包括用于时间表的没有依赖关系 Gantt 时间线。
|
||||
* [**Orangescrum**][24] 是基于 Web 的项目管理工具。Gantt 图可以作为付费附件或付费订阅使用。
|
||||
* [**Talaia/OpenPPM**][25] 是一个基于 Web 的项目组合管理系统。但是,版本 4.6.1 仍显示“即将推出:交互式 Gantt 图”。
|
||||
* [**Odoo**][26] 和 [**OpenProject**][27]都将某些重要功能限制在付费企业版中。
|
||||
|
||||
在这篇评论中,目的是包括所有带有 Gantt 编辑器和依赖调度的开源项目管理系统。如果我错过了一个项目或歪曲了一些东西,请在评论中让我知道。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/21/3/open-source-project-management
|
||||
|
||||
作者:[Frank Bergmann][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[stevenzdg988](https://github.com/stevenzdg988)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://opensource.com/users/fraber
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/kanban_trello_organize_teams_520.png?itok=ObNjCpxt (Kanban-style organization action)
|
||||
[2]: https://en.wikipedia.org/wiki/Gantt_chart
|
||||
[3]: https://opensource.com/article/20/3/agiles-vs-waterfall
|
||||
[4]: https://opensource.com/sites/default/files/uploads/redmine.png (Redmine)
|
||||
[5]: https://creativecommons.org/licenses/by-sa/4.0/
|
||||
[6]: https://www.redmine.org/
|
||||
[7]: https://redmine.org/plugins/plus_gantt
|
||||
[8]: https://www.redmine.org/plugins/anko_gantt_chart
|
||||
[9]: https://opensource.com/sites/default/files/uploads/project-open.png (]project-open[)
|
||||
[10]: https://www.project-open.com
|
||||
[11]: https://opensource.com/sites/default/files/uploads/projectlibre.png (ProjectLibre)
|
||||
[12]: http://www.projectlibre.org
|
||||
[13]: https://opensource.com/sites/default/files/uploads/ganttproject.png (GanttProject)
|
||||
[14]: https://www.ganttproject.biz
|
||||
[15]: https://en.wikipedia.org/wiki/Program_evaluation_and_review_technique
|
||||
[16]: https://opensource.com/sites/default/files/uploads/taskjuggler.png (TaskJuggler)
|
||||
[17]: https://taskjuggler.org/
|
||||
[18]: https://opensource.com/sites/default/files/uploads/projeqtor.png (ProjeQtOr)
|
||||
[19]: https://www.projeqtor.org
|
||||
[20]: https://opensource.com/sites/default/files/uploads/libreplan.png (LIbrePlan)
|
||||
[21]: https://www.libreplan.dev/
|
||||
[22]: https://dotproject.net/
|
||||
[23]: https://leantime.io
|
||||
[24]: https://orangescrum.org/
|
||||
[25]: http://en.talaia-openppm.com/
|
||||
[26]: https://odoo.com
|
||||
[27]: http://openproject.org
|
@ -0,0 +1,134 @@
|
||||
[#]: subject: (How to Delete Partitions in Linux [Beginner’s Guide])
|
||||
[#]: via: (https://itsfoss.com/delete-partition-linux/)
|
||||
[#]: author: (Chris Patrick Carias Stas https://itsfoss.com/author/chris/)
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: (geekpi)
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
|
||||
如何在 Linux 中删除分区(初学者指南)
|
||||
======
|
||||
|
||||
管理分区是一件严肃的事情,尤其是当你不得不删除它们时。我发现自己经常这样做,特别是在使用 U 盘作为实时磁盘和 Linux 安装程序之后,因为它们创建了几个我以后不需要的分区。
|
||||
|
||||
在本教程中,我将告诉你如何使用命令行和 GUI 工具在 Linux 中删除分区。
|
||||
|
||||
* [用 GParted 等 GUI 工具删除 Linux 中的分区][1]
|
||||
* [使用 Linux 命令删除分区][2]
|
||||
|
||||
|
||||
|
||||
警告!
|
||||
|
||||
你删除了分区,就会失去你的数据。无论何时,当你在操作分区时,一定要备份你的数据。一个轻微的打字错误或手滑都可能是昂贵的。不要说我们没有警告你!
|
||||
|
||||
### 使用 GParted 删除磁盘分区 (GUI 方法)
|
||||
|
||||
作为一个桌面 Linux 用户,你可能会对基于 GUI 的工具感到更舒服,也许更安全。
|
||||
|
||||
有[几个让你在 Linux 上管理分区的工具][3]。根据你的发行版,你的系统上已经安装了一个甚至多个这样的工具。
|
||||
|
||||
在本教程中,我将使用 [GParted][4]。它是一个流行的开源工具,使用起来非常简单和直观。
|
||||
|
||||
第一步是[安装 GParted][5],如果它还没有在你的系统中。你应该能够在你的发行版的软件中心找到它。
|
||||
|
||||
![][6]
|
||||
|
||||
或者,你也可以使用你的发行版的软件包管理器来安装它。在基于 Debian 和 Ubuntu 的 Linux 发行版中,你可以[使用 apt install 命令][7]:
|
||||
|
||||
```
|
||||
sudo apt install gparted
|
||||
```
|
||||
|
||||
安装完毕后,让我们打开 **GParted**。由于你正在处理磁盘分区,你需要有 root 权限。它将要求进行认证,打开后,你应该看到一个类似这样的窗口:
|
||||
|
||||
![][8]
|
||||
|
||||
在右上角,你可以选择磁盘,在下面选择你想删除的分区。
|
||||
|
||||
接下来,从分区菜单中选择 **Delete** 选项:
|
||||
|
||||
![][9]
|
||||
|
||||
这个过程是不完整的,直到你重写分区表。这是一项安全措施,它让你在确认之前可以选择审查更改。
|
||||
|
||||
要完成它,只需点击位于工具栏中的 **Apply All Operations** 按钮,然后在要求确认时点击 **Apply**。
|
||||
|
||||
![][10]
|
||||
|
||||
点击 **Apply** 后,你会看到一个进度条和一个结果消息说所有的操作都成功了。你可以关闭该信息和主窗口,并认为你的分区已从磁盘中完全删除。
|
||||
|
||||
现在你已经知道了 GUI 的方法,让我们继续使用命令行。
|
||||
|
||||
### 使用 fdisk 命令删除分区
|
||||
|
||||
几乎每个 Linux 发行版都默认带有 [fdisk][11],我们今天就来使用这个工具。你需要知道的第一件事是,你想删除的分区被分配到哪个设备上了。为此,在终端输入以下内容:
|
||||
|
||||
```
|
||||
sudo fdisk --list
|
||||
```
|
||||
|
||||
这将打印出我们系统中所有的驱动器和分区,以及分配的设备。你[需要有 root 权限][12],以便让它发挥作用。
|
||||
|
||||
在本例中,我将使用一个包含两个分区的 USB 驱动器,如下图所示:
|
||||
|
||||
![][13]
|
||||
|
||||
系统中分配的设备是 /sdb,它有两个分区,sdb1 和 sdb2。现在你已经确定了哪个设备包含这些分区,你可以通过使用 `fdisk` 和设备的路径开始操作:
|
||||
|
||||
```
|
||||
sudo fdisk /dev/sdb
|
||||
```
|
||||
|
||||
这将在命令模式下启动 `fdisk`。你可以随时按 `m` 来查看选项列表。
|
||||
|
||||
接下来,输入 `p`,然后按`回车`查看分区信息,并确认你正在使用正确的设备。如果使用了错误的设备,你可以使用 `q` 命令退出 `fdisk` 并重新开始。
|
||||
|
||||
现在输入 `d` 来删除一个分区,它将立即询问分区编号,这与 “Device” 列中列出的编号相对应,在这个例子中是 1 和 2(在下面的截图中可以看到),但是可以也会根据当前的分区表而有所不同。
|
||||
|
||||
![][14]
|
||||
|
||||
让我们通过输入 `2` 并按下`回车`来删除第二个分区。你应该看到一条信息:**“Partition 2 has been deleted”**,但实际上,它还没有被删除。`fdisk` 还需要一个步骤来重写分区表并应用这些变化。你看,这就是完全网。
|
||||
|
||||
你需要输入 `w`,然后按`回车`来使这些改变成为永久性的。没有再要求确认。
|
||||
|
||||
在这之后,你应该看到下面这样的反馈:
|
||||
|
||||
![][15]
|
||||
|
||||
现在,使用 `sudo fdisk --list /dev/sdb` 查看该设备的当前分区表,你可以看到第二个分区已经完全消失。你已经完成了使用终端和 `fdisk` 命令来删除你的分区。成功了!
|
||||
|
||||
#### 总结
|
||||
|
||||
这样,我结束了这个关于如何使用终端和 GUI 工具在 Linux 中删除分区的教程。记住,要始终保持安全,在操作分区之前备份你的文件,并仔细检查你是否使用了正确的设备。删除一个分区将删除其中的所有内容,而几乎没有[恢复][16]的机会。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://itsfoss.com/delete-partition-linux/
|
||||
|
||||
作者:[Chris Patrick Carias Stas][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[geekpi](https://github.com/geekpi)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://itsfoss.com/author/chris/
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: tmp.Q615QYIwTl#gparted
|
||||
[2]: tmp.Q615QYIwTl#fdisk
|
||||
[3]: https://itsfoss.com/partition-managers-linux/
|
||||
[4]: https://gparted.org/index.php
|
||||
[5]: https://itsfoss.com/gparted/
|
||||
[6]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2021/04/gparted-ubuntu-software-center.png?resize=800%2C348&ssl=1
|
||||
[7]: https://itsfoss.com/apt-command-guide/
|
||||
[8]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2021/04/removing-partitions-linux-004.png?resize=800%2C542&ssl=1
|
||||
[9]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2021/04/removing-partitions-linux-005.png?resize=800%2C540&ssl=1
|
||||
[10]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2021/04/removing-partitions-linux-006.png?resize=800%2C543&ssl=1
|
||||
[11]: https://man7.org/linux/man-pages/man8/fdisk.8.html
|
||||
[12]: https://itsfoss.com/root-user-ubuntu/
|
||||
[13]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2021/04/removing-partitions-linux-001.png?resize=800%2C255&ssl=1
|
||||
[14]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2021/04/removing-partitions-linux-002.png?resize=800%2C362&ssl=1
|
||||
[15]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2021/04/removing-partitions-linux-003.png?resize=800%2C153&ssl=1
|
||||
[16]: https://itsfoss.com/recover-deleted-files-linux/
|
207
translated/tech/20210421 Optimize your Python code with C.md
Normal file
207
translated/tech/20210421 Optimize your Python code with C.md
Normal file
@ -0,0 +1,207 @@
|
||||
[#]: subject: (Optimize your Python code with C)
|
||||
[#]: via: (https://opensource.com/article/21/4/cython)
|
||||
[#]: author: (Alan Smithee https://opensource.com/users/alansmithee)
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: (ShuyRoy)
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
|
||||
使用C优化你的Python代码
|
||||
======
|
||||
Cython创建了C模块来加速Python代码的执行,这对使用效率不高的解释型语言编写的复杂的应用是很重要的。
|
||||
![Hands on a keyboard with a Python book ][1]
|
||||
|
||||
Cython是Python编程语言的编译器,旨在优化性能并形成一个扩展的Cython编程语言。作为Python的扩展,[Cython][2]也是Python语言的超集,它支持调用C函数和在变量和类属性上声明C类型。这使得包装外部C库、将C嵌入现有应用程序或者为Python编写C扩展语法像Python本身一样简单变得容易。
|
||||
|
||||
Cython一般用于创建C模块来加速Python代码的执行。这在使用解释型语言编写的效率不高的复杂应用中非常重要。
|
||||
|
||||
### 安装Cython
|
||||
|
||||
你可以在Linux,BSD,Windows或macOS上安装Cython来使用Python
|
||||
|
||||
|
||||
```
|
||||
`$ python -m pip install Cython`
|
||||
```
|
||||
|
||||
安装好后,就可以使用它了。
|
||||
|
||||
### 将Python转换成C
|
||||
|
||||
使用Cython的一个好的方式是从一个简单的“hello world”开始。这虽然不是Cython优点的最好的展现方式,但是它展示了使用Cython时发生的情况。
|
||||
|
||||
首先,创建一个简单的Python脚本,文件命名为`hello.pyx` (`.pyx`扩展名并不神奇,从技术上它可以是任何东西,但它是Cython的默认扩展名):
|
||||
|
||||
|
||||
```
|
||||
`print("hello world")`
|
||||
```
|
||||
|
||||
接下来,创建一个Python设置脚本。一个像Python的生成文件一样的`setup.py`,Cython可以使用它来处理你的Python代码:
|
||||
|
||||
|
||||
```
|
||||
from setuptools import setup
|
||||
from Cython.Build import cythonize
|
||||
|
||||
setup(
|
||||
ext_modules = cythonize("hello.pyx")
|
||||
)
|
||||
```
|
||||
|
||||
最后,使用Cython将你的Python脚本转换为C代码:
|
||||
|
||||
|
||||
```
|
||||
`$ python setup.py build_ext --inplace`
|
||||
```
|
||||
|
||||
你可以在你的工程目录中看到结果。Cython的`cythonize`模块将`hello.pyx`转换成一个`hello.c`文件和一个`.so`库。该C代码有2648行,所以它比一个一行的`hello.pyx`源码的文本要多很多。`.so`库也比它的源码大2000倍(即54000字节和20字节相比)。然后,Python需要运行单个Python脚本,所以有很多代码支持这个只有一行的`hello.pyx`文件。
|
||||
|
||||
要使用Python的“hello world”脚本的C代码版本,请打开一个Python提示符并导入您创建的新`hello`模块:
|
||||
|
||||
|
||||
```
|
||||
>>> import hello
|
||||
hello world
|
||||
```
|
||||
|
||||
### 将C代码集成到Python中
|
||||
|
||||
测试计算能力的一个很好的通用测试是计算质数。一个质数是一个比1大的正数,且它只有被1或它自己除后才会产生正整数。虽然理论很简单,但是随着数的变大,计算需求也会增加。在纯Python中,可以用10行以内的代码完成质数的计算。
|
||||
|
||||
|
||||
```
|
||||
import sys
|
||||
|
||||
number = int(sys.argv[1])
|
||||
if not number <= 1:
|
||||
for i in range(2, number):
|
||||
if (number % i) == 0:
|
||||
print("Not prime")
|
||||
break
|
||||
else:
|
||||
print("Integer must be greater than 1")
|
||||
```
|
||||
|
||||
这个脚本在成功的时候是不会提醒的,如果这个数不是质数,则返回一条信息:
|
||||
|
||||
|
||||
```
|
||||
$ ./prime.py 3
|
||||
$ ./prime.py 4
|
||||
Not prime.
|
||||
```
|
||||
|
||||
将这些转换为Cython需要一些工作,一部分是为了使代码适合用作库,另一部分是为了提高性能。
|
||||
|
||||
#### 脚本和库
|
||||
|
||||
许多用户将Python当作一种脚本语言来学习:你告诉Python你想让它执行的步骤,然后它来做。随着你对Python(以及一般的开源编程)的了解越多,你可以了解到许多强大的代码都存在于其他应用程序可以利用的库中。你的代码越_不具有针对性_,程序员(包括你)就越可能将其重用于其他的应用程序。将计算和工作流解耦可能需要更多的工作,但最终这通常是值得的。
|
||||
|
||||
|
||||
在这个简单的质数计算的例子中,将Python转换成Cython从一个设置脚本开始:
|
||||
|
||||
```
|
||||
from setuptools import setup
|
||||
from Cython.Build import cythonize
|
||||
|
||||
setup(
|
||||
ext_modules = cythonize("prime.py")
|
||||
)
|
||||
```
|
||||
|
||||
将你的脚本转换成C:
|
||||
|
||||
|
||||
```
|
||||
`$ python setup.py build_ext --inplace`
|
||||
```
|
||||
|
||||
到目前为止,一切似乎都工作的很好,但是当你试图导入并使用新模块时,你会看到一个错误:
|
||||
|
||||
|
||||
```
|
||||
>>> import prime
|
||||
Traceback (most recent call last):
|
||||
File "<stdin>", line 1, in <module>
|
||||
File "prime.py", line 2, in init prime
|
||||
number = sys.argv[1]
|
||||
IndexError: list index out of range
|
||||
```
|
||||
|
||||
这个问题是Python脚本希望从一个终端运行,其中参数(在这个例子中是要测试是否为质数的整数)是一样的。你需要修改你的脚本这样它就可以作为一个库来使用了。
|
||||
|
||||
#### 写一个库
|
||||
|
||||
库不使用系统参数,而是接受其他代码的参数。对于用户输入,不是使用`sys.argv`,而是将你的代码封装成一个函数来接收一个叫`number`(或者`num`,或者任何你喜欢的变量名)的参数:
|
||||
|
||||
|
||||
```
|
||||
def calculate(number):
|
||||
if not number <= 1:
|
||||
for i in range(2, number):
|
||||
if (number % i) == 0:
|
||||
print("Not prime")
|
||||
break
|
||||
else:
|
||||
print("Integer must be greater than 1")
|
||||
```
|
||||
|
||||
这确实使你的脚本有些难测试,因为当你在Python中运行代码时,`calculate`函数永远不会被执行。但是,Python编程人员已经为这个问题设计了一个通用但不是很直观的解决方案。当Python解释器执行一个Python脚本时,有一个叫`__name__`的特殊变量,这个变量被设置为`__main__`,但是当它被作为模块导入的时候,`__name__` 被设置为模块的名字。利用这点,你可以写一个既是Python模块又是有效Python脚本的库:
|
||||
|
||||
|
||||
```
|
||||
import sys
|
||||
|
||||
def calculate(number):
|
||||
if not number <= 1:
|
||||
for i in range(2, number):
|
||||
if (number % i) == 0:
|
||||
print("Not prime")
|
||||
break
|
||||
else:
|
||||
print("Integer must be greater than 1")
|
||||
|
||||
if __name__ == "__main__":
|
||||
number = sys.argv[1]
|
||||
calculate( int(number) )
|
||||
```
|
||||
|
||||
现在你可以用一个命令来运行代码了:
|
||||
|
||||
|
||||
```
|
||||
$ python ./prime.py 4
|
||||
Not a prime
|
||||
```
|
||||
|
||||
你可以将它转换为Cython来用作一个模块:
|
||||
|
||||
|
||||
```
|
||||
>>> import prime
|
||||
>>> prime.calculate(4)
|
||||
Not prime
|
||||
```
|
||||
|
||||
### C Python
|
||||
|
||||
用Cython将纯Python的代码转换为C是有用的。这篇文章描述了如何做,但是Cython的特性可以帮助你在转换之前优化你的代码,分析你的代码来找到Cython什么时候与C进行交互,以及更多。如果你正在用Python,但是你希望用C代码改进你的代码,或者进一步理解库是如何提供比脚本更好的扩展性的,或者你只是好奇Python和C是如何协作的,那么就开始使用Cython吧。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/21/4/cython
|
||||
|
||||
作者:[Alan Smithee][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[ShuyRoy](https://github.com/ShuyRoy)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://opensource.com/users/alansmithee
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/python-programming-code-keyboard.png?itok=fxiSpmnd (Hands on a keyboard with a Python book )
|
||||
[2]: https://cython.org/
|
Loading…
Reference in New Issue
Block a user