mirror of
https://github.com/LCTT/TranslateProject.git
synced 2025-02-03 23:40:14 +08:00
Merge branch 'LCTT:master' into master
This commit is contained in:
commit
97962bd878
254
published/20220415 3-2-1 Backup plan with Fedora ARM server.md
Normal file
254
published/20220415 3-2-1 Backup plan with Fedora ARM server.md
Normal file
@ -0,0 +1,254 @@
|
||||
[#]: subject: "3-2-1 Backup plan with Fedora ARM server"
|
||||
[#]: via: "https://fedoramagazine.org/3-2-1-backup-plan-with-fedora-arm-server/"
|
||||
[#]: author: "Hanku Lee https://fedoramagazine.org/author/hankuoffroad/"
|
||||
[#]: collector: "lujun9972"
|
||||
[#]: translator: "hwlife"
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-14519-1.html"
|
||||
|
||||
使用 Fedora ARM 服务器来做 3-2-1 备份计划
|
||||
======
|
||||
|
||||
![][1]
|
||||
|
||||
Fedora 服务器版操作系统可以运行在类似树莓派的单板计算机(SBC)上。这篇文章针对的用户是想要充分利用实体服务器系统,并使用类似 Cockpit 的内置工具进行数据备份和个人数据的恢复。这里描述了备份的 3 个阶段。
|
||||
|
||||
### 必要的准备
|
||||
|
||||
想要使用本指南,你所需要的是一个运行着的 Fedora Linux 工作站和以下的项目:
|
||||
|
||||
* 你应该阅读、理解和实践 Fedora 文档中 [服务器安装][4] 和 [管理][5] 的要求
|
||||
* 一块用来测试 Fedora Linux 的 SBC(单板计算机)。在这里查看 [硬件需求][6]
|
||||
* [Fedora ARM][7] [服务器][7] 原始镜像 & ARM 镜像安装器
|
||||
* SD 存储卡(64 GB / Class 10)和 SSD 设备两选一
|
||||
* 以太网 / DHCP 预留 IP 地址或者静态 IP 地址
|
||||
* 提供了 ssh 密钥的 Linux 客户端工作站
|
||||
* 选择云存储服务
|
||||
* 有额外可用的 Linux 工作站
|
||||
|
||||
对于这套环境,在写这篇文章的时候,由于成本和可用性的原因,我选择树莓派 3B+/4B+ (其中一个用来热切换)。当使用 Cockpit 远程连接树莓派服务器时,你可以将树莓派放到路由器附近以便设置。
|
||||
|
||||
### 加强服务器的安全
|
||||
|
||||
在 SBC 完成服务器的安装和管理后,用 firewalld 加强服务器的安全是一个好的做法。
|
||||
|
||||
连接存储设备到服务器之前,一旦服务器在线你必须设置好防火墙。firewalld 是基于区域的防火墙。在依照 Fedora 文档完成安装和管理指南之后,创建一个名为 `FedoraServer` 的预定义区域。
|
||||
|
||||
#### firewalld 里的富规则
|
||||
|
||||
<ruby>富规则<rt>rich rule</rt></ruby>用来阻止或者允许一个特定的 IP 地址或者地址段。下面这条规则只从(客户端工作站)注册的 IP 地址接受 SSH 连接,并断开其它的连接。在 Cockpit 终端或者客户端工作站终端运行命令是通过 ssh 来连接到服务器的。
|
||||
|
||||
```
|
||||
firewall-cmd --add-rich-rule='rule family=ipv4 source address=<registered_ip_address>/24 service name=ssh log prefix="SSH Logs" level="notice" accept'
|
||||
```
|
||||
|
||||
#### 拒绝所有主机的 ping 请求
|
||||
|
||||
使用这个命令来设置 icmp 拒绝,并且不允许 ping 请求:
|
||||
|
||||
```
|
||||
firewall-cmd --add-rich-rule='rule protocol value=icmp reject'
|
||||
```
|
||||
|
||||
要进行其它防火墙控制,比如管理端口和区域,请查阅以下链接。请注意错配防火墙可能会使安全出现漏洞受到攻击。
|
||||
|
||||
> **[在 Cockpit 中管理防火墙][8]**
|
||||
|
||||
> **[firewalld 规则][9]**
|
||||
|
||||
### 配置文件服务器的存储
|
||||
|
||||
下一步是连接存储设备到 SBC,然后使用 Cockpit 对新插入的存储设备进行分区。使用 Cockpit 的图形化服务器管理界面,管理一个家庭实验室(可以是一个或者多个服务器)比之前更加简单。Fedora Linux 服务器标准提供了 Cockpit。
|
||||
|
||||
在这个阶段,一个通过 SBC 的 USB 插口接电的 SSD 设备无需额外电源供给就可以工作。
|
||||
|
||||
* 将存储设备连接到 SBC 的 USB 接口
|
||||
* 运行之后(按上面的“必要的准备”所设置的那样),然后在你的客户端工作站浏览器上访问 **机器的 IP 地址:9090**
|
||||
* 登录进 Cockpit 之后,点击 Cockpit 页面顶部的“<ruby>打开管理访问权限<rt>Turn on administrative access</rt></ruby>”
|
||||
* 点击左边面板的 “<ruby>存储<rt>Storage</rt></ruby>” 按钮
|
||||
* 选择下面显示的 “<ruby>驱动器<rt>Drives</rt></ruby>”,然后分区并格式化一个空白的存储设备
|
||||
![Cockpit Storage management][10]
|
||||
* 在选定的存储设备这个界面上,创建一个新的分区表或者格式化并创建新的分区。当初始化磁盘的时候,在 “<ruby>Partitioning<rt>分区</rt></ruby>” 类型选项上,选择 “GPT 分区表”
|
||||
* 选择一个文件系统类型,这里选择 “EXT4” 。这对于一个限制 I/O 能力(比如 USB 2.0 接口)和限制带宽(小于 200MB/s)的设备是适合的
|
||||
![Create a partition in Cockpit][11]
|
||||
* 要在设备上创建单个占据整个存储空间的分区,指定它的挂载点,比如 `/media` 然后点击 “<ruby>确定<rt>Ok</rt></ruby>” 。
|
||||
* 点击 “<ruby>Create partition<rt>创建分区</rt></ruby>”,创建一个挂载点为 `/media` 的新分区。
|
||||
|
||||
### 创建备份和恢复备份
|
||||
|
||||
备份很少是一刀切的。这里有一些选择比如数据备份在哪里,备份数据的步骤,验证一些自动化,并确定怎样来恢复备份了的数据。
|
||||
|
||||
![Backup workflow – version 1.0][12]
|
||||
|
||||
#### 备份 1. 用 rsync 从客户端远程同步到文件服务器(树莓派)
|
||||
|
||||
这个传输用到的命令是:
|
||||
|
||||
```
|
||||
rsync -azP ~/source syncuser@host1:/destination
|
||||
```
|
||||
|
||||
参数:
|
||||
- `-a`/`--archive`:归档
|
||||
- `-z`/`--compress`:压缩
|
||||
- `-P`/`--progress`:显示进度
|
||||
|
||||
要使用更多的选项运行 `rsync`,可以设置以下的选项:
|
||||
|
||||
- `--inplace`:直接替换来更新目标文档
|
||||
- `--append`:追加数据到较短的文档中
|
||||
|
||||
在将文档备份到存储空间之前,源端文档的文件重复消除和压缩是减少备份数据容量最有效的方式。
|
||||
|
||||
每天工作结束,我会手动运行这个。一旦我设置了云备份工作流,自动化脚本是一个优势。
|
||||
|
||||
关于 `rsync` 的详细信息,请在 [这里][13] 访问 Fedora 杂志的文章。
|
||||
|
||||
#### 备份 2. 使用 rysnc 从文件服务器远程同步到主要的云存储上
|
||||
|
||||
选择云存储是考虑的因素;
|
||||
|
||||
* 成本:上传、存储空间和下载费用
|
||||
* 支持 `rsync`、`sftp`
|
||||
* 数据冗余(RAID 10 或者运行中的数据中心冗余计划)
|
||||
* 快照
|
||||
|
||||
符合这些云存储标准之一的就是 Hetzner 托管的 Nextcloud– [存储盒子][14]。你不会受到供应商限制,可以自由切换而没有退出惩罚。
|
||||
|
||||
##### 在文件服务器上生成 SSH 密钥并创建授权密钥文件
|
||||
|
||||
使用 `ssh-keygen` 命令为文件服务器和云存储生成一对新的 SSH 密钥对。
|
||||
|
||||
```
|
||||
ssh-keygen
|
||||
Generating public/private rsa key pair.
|
||||
Enter file in which to save the key . . .
|
||||
```
|
||||
|
||||
插入要求的 SSH 公钥到新的本地授权密钥文件中。
|
||||
|
||||
```
|
||||
cat .ssh/id_rsa.pub >> storagebox_authorized_keys
|
||||
```
|
||||
|
||||
##### 传输密钥文件到云存储
|
||||
|
||||
下一步就是上传生成了的授权密钥文件到存储盒子。要做这些,先用 700 权限创建 `.ssh` 目录,然后用 SSH 公钥创建授权文件并赋予 600 权限。运行以下命令。
|
||||
|
||||
```
|
||||
echo -e "mkdir .ssh \n chmod 700 .ssh \n put storagebox_authorized_keys .ssh/authorized_keys \n chmod 600 .ssh/authorized_keys" | sftp <username>@<username>.your-storagebox.de
|
||||
```
|
||||
|
||||
##### 通过 ssh 使用 rsync
|
||||
|
||||
使用 `rsync` 同步你的文件目录当前状态到存储盒子。
|
||||
|
||||
```
|
||||
rsync --progress -e 'ssh -p23' --recursive <local_directory> <username>@<username>.your-storagebox.de:<target_directory>
|
||||
```
|
||||
|
||||
这个过程被叫做推送操作,因为它 “推送” 本地系统的一个目录到一个远程的系统中去。
|
||||
|
||||
##### 从云存储中恢复目录
|
||||
|
||||
要从存储盒子恢复目录,转换到这个目录:
|
||||
|
||||
```
|
||||
rsync --progress -e 'ssh -p23' --recursive <username>@<username>.your-storagebox.de:<remote_directory> <local_directory>
|
||||
```
|
||||
|
||||
#### 备份 3. 客户端备份到第二个云储存
|
||||
|
||||
[Deja Dup][15] 是 Fedora 软件仓库中为 Fedora 工作站提供快速备份解决方案的工具。它拥有 GPG 加密、计划任务、文件包含(哪个目录要备份)等功能。
|
||||
|
||||
![Backing up to the secondary cloud][16]
|
||||
|
||||
![Restoring files from cloud storage][17]
|
||||
|
||||
### 归档个人数据
|
||||
|
||||
不是所有数据都需要 3-2-1 备份策略。这就是个人数据共享。我将一台拥有 1TB 硬盘的笔记本作为我个人数据的档案(家庭照片)。
|
||||
|
||||
转到设置中的 “<ruby>共享<rt>Sharing</rt></ruby>” (在我的例子中是 GNOME 文件管理器)并切换滑块以启用共享。
|
||||
|
||||
![][18]
|
||||
|
||||
打开 “<ruby>文件共享<rt>file sharing</rt></ruby>”,“<ruby>网络<rt>Networks</rt></ruby>” 和 “<ruby>需要的密码<rt>Required password</rt></ruby>”,允许你使用 WebDAV 协议在你的本地网络上分享你的公共文件夹给其它的工作站。
|
||||
|
||||
![][19]
|
||||
|
||||
### 准备回滚选项
|
||||
|
||||
未测试的备份并不比完全没有备份好。我在家庭实验室环境中使用 “热切换” 方法来避免像频繁的断电或者液体损坏的情况发生。然而,我的建议方案远没有达到灾难恢复计划或企业 IT 中的自动故障修复。
|
||||
|
||||
* 定期运行文件恢复操作
|
||||
* 备份 ssh/GPG 密钥到一个额外的存储设备中
|
||||
* 复制一个 Fedora ARM 服务器的原始镜像到一个 SD 卡中
|
||||
* 在主云存储中保持全备份的快照
|
||||
* 自动化备份过程最小化减少人为错误或者疏忽
|
||||
|
||||
### 使用 Cockpit 追踪活动并解决问题
|
||||
|
||||
当你的项目在成长时,你所管理的服务器数量也在增长。在 Cockpit 中追踪活动和警告可以减轻你的管理负担。你可以使用 Cockpit 的图形化界面的三种方法来归档这些。
|
||||
|
||||
#### SELinux 菜单
|
||||
|
||||
怎样诊断网络问题,找到日志并在 Cockpit 中解决问题:
|
||||
|
||||
* 去 SELinux 中检查日志
|
||||
* 检查“<ruby>解决方案详细信息<rt>solution details</rt></ruby>”
|
||||
* 当必要时,选择 “<ruby>应用这个方案<rt>Apply this solution</rt></ruby>”
|
||||
* 如果必要,查看自动化脚本并运行它
|
||||
|
||||
![SELinux logs][20]
|
||||
|
||||
#### 网络或者存储日志
|
||||
|
||||
服务器日志会跟踪 CPU 负载、内存使用、网络活动、存储性能和系统日志关联的详细指标。日志会组织在网络面板或者存储面板里显示。
|
||||
|
||||
![Storage logs in Cockpit][21]
|
||||
|
||||
#### 软件更新
|
||||
|
||||
在预设的时间和频率下,Cockpit 可以帮助进行安全更新。当你需要时,你可以运行所有的更新。
|
||||
|
||||
![Software updates][22]
|
||||
|
||||
恭喜你在 Fedora ARM 服务器版本上搭建了一个文件/备份服务器。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://fedoramagazine.org/3-2-1-backup-plan-with-fedora-arm-server/
|
||||
|
||||
作者:[Hanku Lee][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[hwlife](https://github.com/hwlife)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://fedoramagazine.org/author/hankuoffroad/
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://fedoramagazine.org/wp-content/uploads/2022/04/3-2-1_backup-816x345.jpg
|
||||
[2]: https://unsplash.com/@markuswinkler?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText
|
||||
[3]: https://unsplash.com/s/photos/computer-backup?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText
|
||||
[4]: https://docs.fedoraproject.org/en-US/fedora-server/server-installation-sbc/
|
||||
[5]: https://docs.fedoraproject.org/en-US/fedora-server/sysadmin-postinstall/
|
||||
[6]: https://docs.fedoraproject.org/en-US/quick-docs/raspberry-pi/
|
||||
[7]: https://arm.fedoraproject.org/
|
||||
[8]: https://fedoramagazine.org/managing-network-interfaces-and-firewalld-in-cockpit/
|
||||
[9]: https://www.redhat.com/sysadmin/firewalld-rules-and-scenarios
|
||||
[10]: https://fedoramagazine.org/wp-content/uploads/2022/03/Screenshot-from-2022-03-29-22-05-00b-1024x576.png
|
||||
[11]: https://fedoramagazine.org/wp-content/uploads/2022/03/Screenshot-from-2022-03-29-22-03-36a.png
|
||||
[12]: https://fedoramagazine.org/wp-content/uploads/2022/04/Backups3-1-1024x525.jpg
|
||||
[13]: https://fedoramagazine.org/copying-large-files-with-rsync-and-some-misconceptions/
|
||||
[14]: https://docs.hetzner.com/robot/storage-box/
|
||||
[15]: https://fedoramagazine.org/easy-backups-with-deja-dup/
|
||||
[16]: https://fedoramagazine.org/wp-content/uploads/2022/03/Screenshot-from-2022-03-29-22-47-30.png
|
||||
[17]: https://fedoramagazine.org/wp-content/uploads/2022/03/Screenshot-from-2022-03-29-22-41-57.png
|
||||
[18]: https://fedoramagazine.org/wp-content/uploads/2022/04/Screenshot-from-2022-04-14-20-48-49-1024x733.png
|
||||
[19]: https://fedoramagazine.org/wp-content/uploads/2022/04/Screenshot-from-2022-04-14-20-51-18st.png
|
||||
[20]: https://fedoramagazine.org/wp-content/uploads/2022/04/Screenshot-from-2022-04-02-11-24-30b-1024x441.png
|
||||
[21]: https://fedoramagazine.org/wp-content/uploads/2022/04/Screenshot-from-2022-04-04-21-47-06SL-1024x259.png
|
||||
[22]: https://fedoramagazine.org/wp-content/uploads/2022/04/Screenshot-from-2022-04-04-21-35-42b.png
|
@ -3,21 +3,22 @@
|
||||
[#]: author: "Navendu Pottekkat https://www.opensourceforu.com/author/navendu-pottekkat/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "lkxed"
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-14521-1.html"
|
||||
|
||||
如何把开源作为一份职业
|
||||
======
|
||||
你是否对开源充满热情,却不知道如何在这个领域开始一段职业生涯?那么,这篇文章就是为你准备的。
|
||||
|
||||
![目标-成就-团队-业务-概念][1]
|
||||
> 你是否对开源充满热情,却不知道如何在这个领域开始一段职业生涯?那么,这篇文章就是为你准备的。
|
||||
|
||||
![](https://img.linux.net.cn/data/attachment/album/202204/29/083647jjbfm44j4pt774ft.jpg)
|
||||
|
||||
你知道吗?80% 的维护者认为招募新的贡献者是一个挑战,92% 的雇主认为很难雇用到开源人才。而另一方面,52% 的开发者希望为开源做出贡献,33% 的人不知道从哪里开始,31% 的人认为自己不够熟练。公共数据显示,社会对具有开源技能的人有很大的需求。因此,让我们看看如何才能够把开源作为一份职业,以填补这个供需之间的差距吧!
|
||||
|
||||
### 掌握一个技能
|
||||
|
||||
开源旅程的起点仅仅是你擅长的某个技能罢了。许多开发者会在空闲时间从事开源工作,他们投入精力到自己非专业的技能上,并把这些技能引入到技术领域里来。像机器学习(ML)、云原生和大数据分析这样的技能是很受欢迎的,因为许多项目都围绕着它们而进行。
|
||||
开源旅程的起点仅仅是你擅长的某个技能罢了。许多开发者会在空闲时间从事开源工作,他们在不熟练的领域投入精力,并把这些技能引入到技术领域里来。像机器学习(ML)、云原生和大数据分析这样的技能是很受欢迎的,因为许多项目都围绕着它们而进行。
|
||||
|
||||
开发者必须不断尝试,直到找到自己感兴趣的东西为止。例如,当我开始在开源领域工作时,我选择了移动用户界面(UI)和 Web 开发(包括前端和后端)方面的工作。这个选择并不简单,我花了很多时间来弄清楚我想从事什么。因此,重要的是要遵循你的兴趣,通过学习和建立项目来探索不同的领域。很多时候,理论教程可能不如建立实际项目更有帮助。掌握技能的唯一方法是将所学的东西应用到实际项目中。
|
||||
|
||||
@ -27,23 +28,25 @@
|
||||
|
||||
无论项目的内容如何,只要它是活跃的,就会产生很大的价值。但请记住,一旦它开源了,你千万不要被大家的反应所左右。并且记住,无论你是为一个应用程序建立一个 UI,还是仅仅记录一个适当的注释、资源或 URL 的列表,你的工作都可以对开源用户有很大帮助。
|
||||
|
||||
在很大程度上,学习不同的工具有助于建立开源项目。因此,学习关于版本控制系统、Git、GitHub 和 GitLab(大多数项目都在它们上面)的一切是很重要的。由于互联网上已经有足够的教程,我只收集了一些可以在 *navendu.me/osidays.* 上找到的。你需要通过撰写文档和公开自己学到的内容,来“公开学习”才行。
|
||||
在很大程度上,学习不同的工具有助于建立开源项目。因此,学习关于版本控制系统、Git、GitHub 和 GitLab(大多数项目都在它们上面)的一切是很重要的。由于互联网上已经有足够的教程,我只收集了一些可以在 `navendu.me/osidays` 上找到的。你需要通过撰写文档和公开自己学到的内容,来“公开学习”才行。
|
||||
|
||||
### 打造一份职业
|
||||
|
||||
你可以通过三种方式在开源领域建立一个职业。
|
||||
你可以通过三种方式在开源领域建立一份职业。
|
||||
|
||||
#### 构建、扩展你自己的开源项目,并让它盈利
|
||||
|
||||
如果你想要建立一个自己的项目,发现并解决问题是一个很好的经验法则。记下别人可能面临的问题,一个项目需求就这样产生了。你的项目的市场规模只能通过试验和错误来估计。对于既没有太多资金的、也没有太多经验个人贡献者来说,社交媒体、博客、帖子和会议上的谈话,都会在很大程度上有助于接触到用户。这些平台可以为你的开源项目带来巨大的流量。
|
||||
如果你想要建立一个自己的项目,发现并解决问题是一个很好的经验法则。记下别人可能面临的问题,一个项目需求就这样产生了。你的项目的市场规模只能通过试验和错误来估计。对于既没有太多资金的、也没有太多经验个人贡献者来说,社交媒体、博客、帖子和会议上的讲话,都会在很大程度上有助于接触到用户。这些平台可以为你的开源项目带来巨大的流量。
|
||||
|
||||
资金在几乎所有的商业模式中都起着重要作用。Mozilla 基金会依靠自愿捐款来资助其项目。MariaDB 采用了延迟开放源代码的商业模式。IBM 的许多开源项目遵循开放核心的商业模式,即项目的核心部分是开源的,而周围的附加部分是闭源的和专有的。红帽公司不出售代码,而是出售专业服务,如支持、工具和围绕项目的技术援助。这些商业模式的例子可以被采用,以此来建立一个项目,将它开源,并使其盈利。
|
||||
|
||||
> “即使你不是维护者,也要做维护者的工作。”
|
||||
|
||||
#### 在一个以开源商业模式建立项目的公司工作
|
||||
|
||||
作为贡献者和维护者社区的一份子,参与会谈和参加会议将有助于你为项目做出贡献。你可以根据引导来完成第一次贡献,但它不一定得是代码。一个大的代码库可能看起来很吓人,但关键是要从小的地方着手。找到一个问题并解决它,这将有助于你了解贡献流程、代码库和项目设置等。
|
||||
成为贡献者和维护者社区的一份子,参与会谈和参加会议将有助于你为项目做出贡献。你可以根据引导来完成第一次贡献,但它不一定得是代码。一个大的代码库可能看起来很吓人,但关键是要从小的地方着手。找到一个问题并解决它,这将有助于你了解贡献流程、代码库和项目设置等。
|
||||
|
||||
非代码的贡献也是有价值的。擅长写作的人可以通过撰写文档,或者为社交媒体写作来贡献。擅长设计的人,可以设计一个惯例,一个颜色方案,或者也可以致力于创造一个更好的用户界面。与高级工程师相比,新人发现错误的概率很高。他们可以测试、确认并报告他们的用户体验,从而提升项目质量。另一个领域是新手引导,很多开源项目将导师和新手联系起来,并帮助后者做出重要贡献。还有一个选择是成为组织者或社区管理员,这意味着你将承担起项目经理的角色,确保功能完全按照预期交付,路线图被遵循,贡献者得到照顾。大多数开源项目缺乏适当的管理,因为工程师们都不喜欢做这一类工作。
|
||||
非代码的贡献也是有价值的。擅长写作的人可以通过撰写文档,或者为社交媒体写作来贡献。擅长设计的人,可以设计一个模板、一个颜色方案,或者也可以致力于创造一个更好的用户界面。与资深工程师相比,新人发现错误的概率很高。他们可以测试、确认并报告他们的用户体验,从而提升项目质量。另一个领域是新手引导,很多开源项目将导师和新手联系起来,并帮助后者做出重要贡献。还有一个选择是成为组织者或社区管理员,这意味着你将承担起项目经理的角色,确保功能完全按照预期交付,路线图得到遵循,贡献者得到照顾。大多数开源项目缺乏适当的管理,因为工程师们都不喜欢做这一类工作。
|
||||
|
||||
社会上有很多实习项目可以帮助你赚钱,比如谷歌的编程之夏(GSoC)和 Linux 基金会的导师制(在这里,被指导者有津贴,可以根据需要全职或兼职工作)。如果你能很好地发展你的技能,你可以在你实习的公司获得一个全职的职位。例如,如果你在红帽公司的一个项目中工作,你有机会被全职雇用,因为你在那里已经有了知名度。
|
||||
|
||||
@ -60,9 +63,9 @@
|
||||
|
||||
作为一个组织,你可以通过像 Open Collective、Patreon 和 GitHub Sponsors 这样的平台来筹集资金,让人们为你的项目捐款。像 Linux 基金会和 Mozilla 基金会这样的开源巨头也提供资金来支持项目。GitHub 已经给 15 个印度贡献者的项目提供了资助。
|
||||
|
||||
我曾经花了三个月时间建立了一个开源项目。这个项目后来被 Product Hunt 和 JS 周刊报道,还在上过 GitHub 趋势榜排名第一的位置。正是这个项目让我走上了开源事业的道路。
|
||||
我曾经花了三个月时间建立了一个开源项目。这个项目后来被 《Product Hunt》 和 《JS Weekly》报道,还在上过 GitHub 趋势榜排名第一的位置。正是这个项目让我走上了开源事业的道路。
|
||||
|
||||
本文由 Sharon Abhignya Katta 转录并策划
|
||||
*本文由 Sharon Abhignya Katta 转录并策划*
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
@ -71,7 +74,7 @@ via: https://www.opensourceforu.com/2022/04/how-to-build-a-career-in-open-source
|
||||
作者:[Navendu Pottekkat][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[lkxed](https://github.com/lkxed)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
@ -0,0 +1,91 @@
|
||||
[#]: subject: "Archinstall’s New Menu System Makes it Even Easier to Install Arch Linux"
|
||||
[#]: via: "https://news.itsfoss.com/archinstall-menu/"
|
||||
[#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/"
|
||||
[#]: collector: "lujun9972"
|
||||
[#]: translator: " "
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
Archinstall’s New Menu System Makes it Even Easier to Install Arch Linux
|
||||
======
|
||||
|
||||
Last year, this time around, Arch Linux [introduced a guided installer][1] to make the installation process easier.
|
||||
|
||||
All you had to do was type in “**archinstall**” to get started with the step-by-step installation without needing to customize all by yourself.
|
||||
|
||||
Not just for new users, it should also save you some time to install Arch Linux in general. You get all the essential options starting from creating username/root user, selecting the desktop, picking software packages, choosing the audio server, and more.
|
||||
|
||||
If you are curious, you can take a look at archinstall in action in our [installation guide for Arch Linux on VirtualBox][2].
|
||||
|
||||
Now, with archinstall v2.4.1, we have a new menu system and numerous technical changes.
|
||||
|
||||
Let us take a look at it and how it works.
|
||||
|
||||
### Archinstall’s New Menu System & Accessibility Improvements
|
||||
|
||||
![][3]
|
||||
|
||||
The new menu system looks much more organized.
|
||||
|
||||
It is built using [simple-term-menu][4] as its base, which is a package to create interactive menus on the command line. To avoid external dependencies, it has been bundled with the source, all thanks to Ingo Meyer.
|
||||
|
||||
Other developers include [Werner Llácer][5] and [Daniel][6] to make this work with 1200+ lines of code.
|
||||
|
||||
The menu system is also accessibility friendly. You can switch it to the tracking selection mode using the “numpad *”, which should make espeakup work, as one would expect.
|
||||
|
||||
In future archinstall versions, it will honor default tracking mode as well.
|
||||
|
||||
As you can notice in the screenshot above, you get to set the language, keyboard layout, kernels, audio server, user, network, and more essential options.
|
||||
|
||||
Once you select the hard drive, the menu will add another option to let you choose a “disk layout” where you can select the type of file system.
|
||||
|
||||
![][7]
|
||||
|
||||
Similarly, as you proceed with each option, you will get access to more things to tweak like the profiles to set your desktop environment:
|
||||
|
||||
![][8]
|
||||
|
||||
By default, you have a swap enabled. But, you can tweak that as you require. Overall, it should be a seamless experience, with all installation prerequisites presented in a menu form.
|
||||
|
||||
Thanks to _Sreenath_ on our team for testing this through to give you some screenshots:
|
||||
|
||||
![][9]
|
||||
|
||||
In addition to these changes, you can also expect the following improvements:
|
||||
|
||||
* BTRFS compression option added as an option if you select btrfs as filesystem.
|
||||
* Archinstall now supports multiple NIC configurations at the same time for manual configuration
|
||||
* The installer keeps track of which packages have been installed through archinstall.Installer()
|
||||
|
||||
|
||||
|
||||
To explore all the technical changes and bug fixes, you can refer to the [release notes on GitHub][10].
|
||||
|
||||
**You can wait for the latest ISO (scheduled for May 1) to try it out, or download it from GitHub and try it yourself.**
|
||||
|
||||
_Have you tried the original guided installer on Arch Linux? Or do you prefer to configure everything without the installer? Feel free to let me know your thoughts below._
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://news.itsfoss.com/archinstall-menu/
|
||||
|
||||
作者:[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/arch-linux-easy-install/
|
||||
[2]: https://itsfoss.com/install-arch-linux-virtualbox/
|
||||
[3]: data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjQ4MyIgd2lkdGg9Ijc5OSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiLz4=
|
||||
[4]: https://github.com/IngoMeyer441/simple-term-menu
|
||||
[5]: https://github.com/wllacer
|
||||
[6]: https://github.com/svartkanin
|
||||
[7]: data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjMwMiIgd2lkdGg9IjEwMDEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmVyc2lvbj0iMS4xIi8+
|
||||
[8]: data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjIyNiIgd2lkdGg9IjEwMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmVyc2lvbj0iMS4xIi8+
|
||||
[9]: data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjYwMCIgd2lkdGg9IjgwMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiLz4=
|
||||
[10]: https://github.com/archlinux/archinstall/releases/tag/v2.4.1
|
@ -1,125 +0,0 @@
|
||||
[#]: subject: "Crop and resize photos on Linux with Gwenview"
|
||||
[#]: via: "https://opensource.com/article/22/2/crop-resize-photos-gwenview-kde"
|
||||
[#]: author: "Seth Kenlon https://opensource.com/users/seth"
|
||||
[#]: collector: "lujun9972"
|
||||
[#]: translator: "geekpi"
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
Crop and resize photos on Linux with Gwenview
|
||||
======
|
||||
Gwenview is an excellent photo editor for casual photographers to use on
|
||||
the Linux KDE desktop.
|
||||
![Polaroids and palm trees][1]
|
||||
|
||||
A good photo can be a powerful thing. It expresses what you saw in a very literal sense, but it also speaks to what you experienced. Little things say a lot: the angle you choose when taking the photo, how large something looms in the frame, and by contrast the absence of those conscious choices.
|
||||
|
||||
Photos are often not meant as documentation of what really happened, and instead they become insights into how you, the photographer, perceived what happened.
|
||||
|
||||
This is one of the reasons photo editing is so commonplace. When you're posting pictures to your online image gallery or social network, you shouldn't have to post a photo that doesn't accurately represent the feelings the photo encapsulates. But by the same token, you also shouldn't have to become a professional photo compositer just to crop out the random photo bomber who poked their head into your family snapshot at the last moment. If you're using KDE, you have a casual photo editor available in the form of Gwenview.
|
||||
|
||||
### Install Gwenview on Linux
|
||||
|
||||
If you're running the KDE Plasma Desktop, you probably already have Gwenview installed. If you don't have it installed, or you're using a different desktop and you want to try Gwenview, then you can install it with your package manager.
|
||||
|
||||
I recommend installing both Gwenview and the Kipi plugin set, which connects Gwenview with several online photo services so you can easily upload photos. On Fedora, Mageia, and similar distributions:
|
||||
|
||||
|
||||
```
|
||||
`$ sudo dnf install gwenview kipi-plugins`
|
||||
```
|
||||
|
||||
On Debian, Elementary, and similar:
|
||||
|
||||
|
||||
```
|
||||
`$ sudo apt install gwenview kipi-plugins`
|
||||
```
|
||||
|
||||
### Using Gwenview
|
||||
|
||||
Gwenview is commonly launched in one of two ways. You can click on an image file in Dolphin and choose to open it in Gwenview, or you can launch Gwenview and hunt for a photo in your folders with Gwenview acting more or less as your file manager. The first method is a direct method, great for previewing an image file quickly and conveniently. The second method you're likely to use when you're browsing through lots of photos, unsure of which version of a photo is the "right" one.
|
||||
|
||||
Regardless of how you launch Gwenview, the interface and functionality is the same: there's a workspace on the right, and a panel on the left.
|
||||
|
||||
![Gwenview][2]
|
||||
|
||||
(Seth Kenlon [CC BY-SA 4.0][3], Photo courtesy [Andrea De Santis][4])
|
||||
|
||||
Below the panel on the left, there are three tabs.
|
||||
|
||||
* Folders: Displays a tree view of the folders on your computer so you can browse your files for more photos.
|
||||
* Information: Provides metadata about the photo you're currently viewing.
|
||||
* Operations: Allows you to make small modifications to the current photo, such as rotating between landscape and portrait, resizing, and cropping.
|
||||
|
||||
|
||||
|
||||
Gwenview is always aware of the file system, so you can press the **Right** or **Left** **Arrow** on your keyboard to see the previous or next photo in a folder.
|
||||
|
||||
To leave the single-photo view and see all of the images in a folder, click the **Browse** button in the top toolbar.
|
||||
|
||||
![Browsing photos in a folder][5]
|
||||
|
||||
(Seth Kenlon, [CC BY-SA 4.0][3])
|
||||
|
||||
You can also have both views at the same time. Click the **Thumbnail Bar** button at the bottom of Gwenview to see the other images in your current folder as a filmstrip, with the currently selected photo in the main panel.
|
||||
|
||||
![Thumbnail view][6]
|
||||
|
||||
(Seth Kenlon, [CC BY-SA 4.0][3])
|
||||
|
||||
### Editing photos with Gwenview
|
||||
|
||||
Digital photos are pretty common, and so it's equally as common to need to make minor adjustments to a photo before posting it online or sharing it with friends. There are very good applications that can edit photos, and in fact one of the best of them is another KDE application called Krita (you can read about how I use it for photographs in my [Krita for photographers][7] article), but small adjustments shouldn't require an art degree. That's exactly what Gwenview ensures: easy and quick photo adjustments with a casual but powerful application that's integrated into the rest of your Plasma Desktop.
|
||||
|
||||
The most common adjustments most of us make to photos are:
|
||||
|
||||
* **Rotation**: When your camera doesn't provide the correct metadata for your computer to know whether a photo is meant to be viewed in landscape or portrait orientation, you can fix it manually.
|
||||
* **Mirror**: Many laptop or face cameras mimic a mirror, which is useful because that's how we're used to seeing ourselves. However, it renders writing backward. The **Mirror** function flips (or flops?) an image from right to left.
|
||||
* **Flip**: Less common with digital cameras and laptops, the phenomenon of taking a photo with an upside-down device is not uncommon with a mobile phone with a screen that flips no matter how you're holding your phone. The **Flip** function rotates an image 180 degrees.
|
||||
* **Resize**: Digital images are often in super HD sizes now, and sometimes that's a lot more than you need. If you're sending a photo by email or posting it on a web page you want to optimize for loading time, you can shrink the dimensions (and file size accordingly) to something smaller.
|
||||
* **Crop**: You have a great picture of yourself, and accidentally a random person you thought was just out of frame. Cut out everything you don't want in frame with the **Crop** tool.
|
||||
* **Red** **Eye**: When your retinas reflect the flash of your camera back into the camera, you get a red eye effect. Gwenview can reduce this by desaturating and darkening the red channel in an adjustable area.
|
||||
|
||||
|
||||
|
||||
All of these tools are available in the **Operations** side panel or in the **Edit** menu. The operations are destructive, so after you make a change, click **Save As** to save a _copy_ of the image.
|
||||
|
||||
![Cropping a photo in Gwenview][8]
|
||||
|
||||
(Seth Kenlon, [CC BY-SA 4.0][3], Photo courtesy [Elise Wilcox][9])
|
||||
|
||||
### Sharing photos
|
||||
|
||||
When you're ready to share a photo, click the **Share** button in the top toolbar, or go to the **Plugins** menu and select **Export**. Gwenview, along with the Kipi plug-in set, can share photos with [Nextcloud][10], [Piwigo][11], plain old email, and services like Google Drive, Flickr, Dropbox, and more.
|
||||
|
||||
### Photo editing essentials on Linux
|
||||
|
||||
Gwenview has all the essentials for a desktop photo manager. If you need more than the basics, you can open a photo in Krita or [Digikam][12] and make major modifications as needed. For everything else, from browsing, ranking, tagging, and small adjustments, you have Gwenview close at hand.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/22/2/crop-resize-photos-gwenview-kde
|
||||
|
||||
作者:[Seth Kenlon][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/seth
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/design_photo_art_polaroids.png?itok=SqPLgWxJ (Polaroids and palm trees)
|
||||
[2]: https://opensource.com/sites/default/files/kde-gwenview-ui.jpg (Gwenview)
|
||||
[3]: https://creativecommons.org/licenses/by-sa/4.0/
|
||||
[4]: http://unsplash.com/@santesson89
|
||||
[5]: https://opensource.com/sites/default/files/kde-gwenview-browse.jpg (Browsing photos in a folder)
|
||||
[6]: https://opensource.com/sites/default/files/kde-gwenview-thumbnail.jpg (Thumbnail view)
|
||||
[7]: https://opensource.com/article/21/12/open-source-photo-editing-krita
|
||||
[8]: https://opensource.com/sites/default/files/kde-gwenview-crop.jpg (Cropping a photo in Gwenview)
|
||||
[9]: http://unsplash.com/@elise_outside
|
||||
[10]: https://opensource.com/article/20/7/nextcloud
|
||||
[11]: https://opensource.com/alternatives/google-photos
|
||||
[12]: https://opensource.com/life/16/5/how-use-digikam-photo-management
|
@ -1,235 +0,0 @@
|
||||
[#]: subject: "Top 10 Linux Distributions for Programmers in 2022 [Featured]"
|
||||
[#]: via: "https://www.debugpoint.com/2022/03/top-linux-distributions-programmers-2022/"
|
||||
[#]: author: "Arindam https://www.debugpoint.com/author/admin1/"
|
||||
[#]: collector: "lujun9972"
|
||||
[#]: translator: "aREversez"
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
Top 10 Linux Distributions for Programmers in 2022 [Featured]
|
||||
======
|
||||
WE REVIEW THE TOP 10 BEST LINUX DISTRIBUTIONS FOR PROGRAMMERS AND
|
||||
DEVELOPERS (IN 2022) TO HELP WITH THEIR WORK AND PERSONAL PROJECTS.
|
||||
The developers or the programmers use various tools and applications for their job or projects. It includes code editors, programming language compilers, add-ons, databases, etc. If you categorise the workflow of a modern developer – it contains a typical workflow as below –
|
||||
|
||||
* accessing to the code repo
|
||||
* programming
|
||||
* debugging
|
||||
* testing
|
||||
* deploying
|
||||
|
||||
|
||||
|
||||
And this typical workflow may need a wide range of tools. A standard list might be like this –
|
||||
|
||||
* Code editors
|
||||
* Simple Text Editors
|
||||
* Web browsers (all variants for a web developer)
|
||||
* Database engine
|
||||
* A local server
|
||||
* The respective programming language compiler
|
||||
* Debuggers
|
||||
* Monitoring or profiling tools (executables or network)
|
||||
|
||||
|
||||
|
||||
Arguably, Linux is the best choice for programming compared to Windows. I am not comparing macOS in this article for several reasons. The primary reason for Linux is the best is because packages and apps with modern technology come as pre-installed or very easy to install in Linux distributions than Windows.
|
||||
|
||||
Hence, in this post, we would like to list the best Linux Distributions for programmers in 2022.
|
||||
|
||||
### Top 10 Linux Distributions for Programmers in 2022
|
||||
|
||||
#### 1\. Fedora Workstation
|
||||
|
||||
![Fedora 35 Workstation][1]
|
||||
|
||||
Perhaps the perfect Linux distribution among this list is Fedora Linux. Its default workstation edition for desktop brings an authentic GNOME desktop experience with its choice of packages.
|
||||
|
||||
Fedora Linux default installation gives you all major development packages out of the box. They include PHP, OpenJDK, PostgreSQL, Django, Ruby on Rails, Ansible, etc.
|
||||
|
||||
Installing additional applications such as Code editors and other packages are super simple with the dnf package manager. You can also take advantage of Software which is an app store where you can search and install applications with just a click of a button.
|
||||
|
||||
Fedora Linux supports Snap and Flatpak, and that gives you more flexibility. You can also take advantage of the RPM Fusion repository in Fedora. The RPM Fusion repo gives you access to many free and non-free packages. Fedora Linux doesn’t want to include these packages in their main repo for license and other obvious reasons.
|
||||
|
||||
You can check out the latest Fedora Linux on their official website below.
|
||||
|
||||
[Download Fedora][2]
|
||||
|
||||
#### 2\. Ubuntu Linux
|
||||
|
||||
![Ubuntu Desktop is a perfect Linux Distribution for Programmers.][3]
|
||||
|
||||
The second Linux distribution in this list is Ubuntu Linux. Ubuntu Linux is the most used Linux distribution today in server and desktop both. Ubuntu provides a long-term support release with five years of official support (plus another five years of maintenance support) and two short-term releases per year for power users.
|
||||
|
||||
Due to its popularity, all the latest packages and application vendors provide Ubuntu (.deb) variants. The popularity also brings massive support in forums and documentation, perfect for developers, especially when you are stuck with errors during the development phase. Learn more about Ubuntu in the below link.
|
||||
|
||||
[Download Ubuntu][4]
|
||||
|
||||
#### 3\. openSUSE
|
||||
|
||||
openSUSE is one of the most stable and professionally built Linux distributions used in critical systems worldwide. This Linux Distribution is a go-to solution for enterprise-level workloads that include desktops, servers and thin clients.
|
||||
|
||||
It has some advantages over Ubuntu and Fedora. First, it has two variants – Leap and Tumbleweed. The openSUSE Leap is a long term support release (LTS) that gives you up-to-date stability. The openSUSE Tumbleweed is a rolling release software that features bleeding edge packages.
|
||||
|
||||
If you need the latest packages and hardware support for your development, then Tumbleweed is your choice. If you need stability and a longer running system with low maintenance, choose openSUSE Leap.
|
||||
|
||||
One of the advantages of using openSUSE for your development work is its package manager YaST. You can automate many activities with ease using the YaST package manager.
|
||||
|
||||
On top of that, the openSUSE software delivery method is outstanding. It has its software portal on the web, which you can visit, search for a package and click install.
|
||||
|
||||
If you are a little experienced in Linux compared to the new users, choose openSUSE for your development work.
|
||||
|
||||
[Download openSUSE][5]
|
||||
|
||||
#### 4\. Manjaro Linux
|
||||
|
||||
Manjaro Linux is an Arch Linux based distribution that makes Arch installation easy. It is based on Arch Linux but brings several features such as a GUI installer like Ubuntu or Linux Mint, pamac installer, its curated repositories and more. Manjaro comes in three primary desktop flavours – GNOME, KDE Plasma and Xfce to cater to almost all user base.
|
||||
|
||||
If you want Arch Linux and its rolling release package base for your development needs but do not want to get into the hassles of installing vanilla Arch, Manjaro is your perfect choice.
|
||||
|
||||
[Download Manjaro][6]
|
||||
|
||||
#### 5\. Arch Linux
|
||||
|
||||
While Manjaro and other Arch-based easy installation Linux distributions are out there, you may still want to get your hands dirty with the [vanilla Arch installation][7] with your custom desktop.
|
||||
|
||||
This is more for power developers or programmers who want more control and a custom Linux operating system built for projects or needs. In those cases, you may want to install Arch Linux with your favourite desktop to set up your development operating system.
|
||||
|
||||
[][8]
|
||||
|
||||
SEE ALSO: Top Nitrux Applications (Maui) Everyone Should Try
|
||||
|
||||
Suppose you are experienced in Arch Linux and computers in general. In that case, this is the best choice among all because it gives you complete control over each package in your custom build Linux operating system.
|
||||
|
||||
[Download Arch Linux][9]
|
||||
|
||||
#### 6\. Pop OS
|
||||
|
||||
The Pop OS (represented as Pop!_OS) was developed by computer manufacturer System76 for their series of hardware. Pop OS is free and open-source based on Ubuntu. It follows the Ubuntu release cycle for its base while bringing additional tweaks, packages customised for users.
|
||||
|
||||
![Pop OS 21.10 Desktop][10]
|
||||
|
||||
Pop OS is perfect for programmers because it natively supports many programming languages based on Ubuntu. It markets itself as popular among computer scientists and programmers for its curated software centre, which has a dedicated section featuring applications for development and programming.
|
||||
|
||||
On top of that, the COSMIC desktop (customised GNOME desktop) in Pop OS gives a unique experience to programmers with auto-tiling, a lovely colour palette, native dark mode and a wide range of settings.
|
||||
|
||||
If you need an Ubuntu base and want a stable programmer-friendly Linux distribution, then choose Pop OS.
|
||||
|
||||
[Download POP OS][11]
|
||||
|
||||
#### 7\. KDE Neon
|
||||
|
||||
If you are a developer who feels comfortable in the KDE Plasma desktop and wants a Qt-based development environment, then KDE Neon is perfect for you.
|
||||
|
||||
KDE Neon is a Linux distribution based on the Ubuntu LTS version with the latest KDE Plasma desktop, KDE Framework packages. So, in KDE Neon, you get Ubuntu LTS stability with bleeding-edge KDE packages with Qt.
|
||||
|
||||
This is a perfect Linux Distribution if you need a fast system with out of the box applications, a friendly user interface and huge community support.
|
||||
|
||||
[Download KDE Neon][12]
|
||||
|
||||
#### 8\. Debian
|
||||
|
||||
Debian GNU/Linux needs no introduction. Debian’s stable branch is the base of Ubuntu and all its derivatives. Hence it is one of the primary and stable Linux. And it is perfect for your development environment because it gives you ultimate stability with multi-year support.
|
||||
|
||||
Although, Debian’s stable branch is slightly conservative on adopting the latest packages. Debian maintainers carefully check and merges packages because the entire world (well, almost) depends on Debian stability.
|
||||
|
||||
It is a perfect programming environment for advanced users and sysadmins if you are looking for a stable and long-running dev environment with low maintenance effort.
|
||||
|
||||
[Download Debian Linux][13]
|
||||
|
||||
#### 9\. Kali Linux
|
||||
|
||||
The Kali Linux is developed by Offensive Security primarily targeted to ethical hackers and penetration testers who look out for vulnerabilities in networks. It comes with tons of hacking tools and applications pre-installed.
|
||||
|
||||
It can act as a perfect Linux distribution for programmers and developers if you are experienced enough. Go for Kali Linux if you are well versed with Linux with some experience in navigating around errors and dependencies.
|
||||
|
||||
[Download Kali Linux][14]
|
||||
|
||||
#### 10\. Fedora Labs Options
|
||||
|
||||
And the final Linux Distribution in this list is some combinations of Linux Distributions from Fedora Linux.
|
||||
|
||||
Fedora Labs provides specially curated Linux Distributions for programmers, scientists and students with pre-loaded applications, respective packages and utilities. Many people are not aware of these, and when appropriately configured, they can act as perfect ready-made Linux distribution for you.
|
||||
|
||||
Here’s a summary of them.
|
||||
|
||||
* Combination of Scientific and numerical open-source tools with KDE Plasma desktop.
|
||||
* Application list includes –
|
||||
* GNU Scientific Library for C/C++
|
||||
* MATLAB Compatible MGNU Octave
|
||||
* LaTeX
|
||||
* Maxima Computer Algebra System
|
||||
* Gnuplot for drawing 2D and 3D graphs
|
||||
* Pandas Python library for data science
|
||||
* IPython
|
||||
* Packages for Java and R programming languages
|
||||
* Learn more about Fedora Scientific and [download it here][15].
|
||||
|
||||
|
||||
* Open source neuroscience applications and packages with GNOME Desktop environment. Learn more and download here.
|
||||
|
||||
|
||||
* Perfect Linux distribution combines the best open-source robotics applications and packages targeted to beginner and experienced Robotics scientists and programmers.
|
||||
* Learn more and [download it here][16].
|
||||
|
||||
|
||||
|
||||
from Fedora Linux includes [Fedora Security Labs][17], [Fedora Astronomy][18] and [Fedora Python Classroom][19], which you want to check out.
|
||||
|
||||
These Fedora Labs options can be perfect Linux distributions for programming projects or working in specific science fields.
|
||||
|
||||
### Summary
|
||||
|
||||
So, how do you choose your favourite among this list of best Linux Distributions for programmers?
|
||||
|
||||
If you are unsure and want to have a development system up and running with minimal effort, go for Fedora Workstation or Ubuntu.
|
||||
|
||||
If you have spare time or want more control in your system, like experimenting and being comfortable with occasional errors, then go for Arch Linux based systems.
|
||||
|
||||
Pop OS is also a good choice for new developers new to the Linux ecosystem. For specific needs, go to the Fedora Labs options.
|
||||
|
||||
I hope this list of best Linux Distributions for programmers in 2022 gives you some guidance on choosing your favourite Linux distributions for programming and development.
|
||||
|
||||
Cheers.
|
||||
|
||||
* * *
|
||||
|
||||
We bring the latest tech, software news and stuff that matters. Stay in touch via [Telegram][20], [Twitter][21], [YouTube][22], and [Facebook][23] and never miss an update!
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://www.debugpoint.com/2022/03/top-linux-distributions-programmers-2022/
|
||||
|
||||
作者:[Arindam][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[aREversez](https://github.com/aREversez)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://www.debugpoint.com/author/admin1/
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://www.debugpoint.com/wp-content/uploads/2021/11/Fedora-35-Workstation-1024x528.jpg
|
||||
[2]: https://getfedora.org/
|
||||
[3]: https://www.debugpoint.com/wp-content/uploads/2022/03/Ubuntu-Desktop-is-a-perfect-Linux-Distribution-for-Programmers-1024x579.jpg
|
||||
[4]: https://ubuntu.com/download
|
||||
[5]: https://www.opensuse.org/
|
||||
[6]: https://manjaro.org/download/
|
||||
[7]: https://www.debugpoint.com/2022/01/archinstall-guide/
|
||||
[8]: https://www.debugpoint.com/2022/03/top-nitrux-maui-applications/
|
||||
[9]: https://archlinux.org/download/
|
||||
[10]: https://www.debugpoint.com/wp-content/uploads/2021/12/Pop-OS-21.10-Desktop-1024x579.jpg
|
||||
[11]: https://pop.system76.com/
|
||||
[12]: https://neon.kde.org/download
|
||||
[13]: https://www.debian.org/distrib/
|
||||
[14]: https://www.kali.org/
|
||||
[15]: https://labs.fedoraproject.org/en/scientific/
|
||||
[16]: https://labs.fedoraproject.org/en/robotics/
|
||||
[17]: https://labs.fedoraproject.org/en/security
|
||||
[18]: https://labs.fedoraproject.org/en/astronomy
|
||||
[19]: https://labs.fedoraproject.org/en/python-classroom
|
||||
[20]: https://t.me/debugpoint
|
||||
[21]: https://twitter.com/DebugPoint
|
||||
[22]: https://www.youtube.com/c/debugpoint?sub_confirmation=1
|
||||
[23]: https://facebook.com/DebugPoint
|
@ -2,7 +2,7 @@
|
||||
[#]: via: "https://itsfoss.com/gnome-text-editor/"
|
||||
[#]: author: "Abhishek Prakash https://itsfoss.com/author/abhishek/"
|
||||
[#]: collector: "lujun9972"
|
||||
[#]: translator: " "
|
||||
[#]: translator: "aREversez"
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
@ -141,7 +141,7 @@ via: https://itsfoss.com/gnome-text-editor/
|
||||
|
||||
作者:[Abhishek Prakash][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
译者:[aREversez](https://github.com/aREversez)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
@ -0,0 +1,230 @@
|
||||
[#]: subject: "How to Remove Snap Packages in Ubuntu Linux"
|
||||
[#]: via: "https://www.debugpoint.com/2022/04/remove-snap-ubuntu/"
|
||||
[#]: author: "Arindam https://www.debugpoint.com/author/admin1/"
|
||||
[#]: collector: "lujun9972"
|
||||
[#]: translator: " "
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
How to Remove Snap Packages in Ubuntu Linux
|
||||
======
|
||||
A TUTORIAL ON HOW TO REMOVE SNAP FROM UBUNTU LINUX AND GETTING A
|
||||
SNAP-FREE SYSTEM.
|
||||
Snap packages developed by Canonical are beneficial for several use cases. It provides an easy and faster update of applications directly to the end-users. Not only that, it has several other benefits, such as it comes with all dependencies packaged and allows multiple installations of the same applications. Furthermore, it runs in a sandbox mode providing security and other benefits.
|
||||
|
||||
Among all these benefits, there are other debatable drawbacks of Snap tech. FOr example, almost every user who used Snap reported its slower performance, including its startup time compared to native deb or RPM packages. In addition, due to its design, the application installation size is huge and costs disk space because it packages all the dependencies.
|
||||
|
||||
Not only that, due to its sandbox nature, the Snap apps may not access several areas of your Linux desktop until managed with proper permission.
|
||||
|
||||
This guide explains how you can remove the snap from the Ubuntu system altogether.
|
||||
|
||||
These steps are tested in [Ubuntu 22.04 LTS Jammy Jellyfish][1]. However, it should work for all applicable Ubuntu versions.
|
||||
|
||||
Warning: These steps will remove Software and Firefox, the two critical applications in your Ubuntu system. Make sure you take backups of bookmarks and other Firefox settings before trying these steps.
|
||||
|
||||
### Remove Snap Packages in Ubuntu Linux
|
||||
|
||||
1. Open a terminal and view the list of Snap packages installed in your system using the below command. It shows the snap packages such as Firefox, Software store, themes and other core packages installed by default.
|
||||
|
||||
|
||||
|
||||
```
|
||||
|
||||
snap list
|
||||
|
||||
```
|
||||
|
||||
![Snap list in Ubuntu][2]
|
||||
|
||||
2. Remove snap packages in the following order. Firstly remove Firefox. Secondly, snap-store and the other packages that you see in the above command output in your system.
|
||||
|
||||
|
||||
|
||||
```
|
||||
|
||||
sudo snap remove --purge firefox
|
||||
sudo snap remove --purge snap-store
|
||||
sudo snap remove --purge gnome-3-38-2004
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
sudo snap remove --purge gtk-common-themes
|
||||
sudo snap remove --purge snapd-desktop-integration
|
||||
sudo snap remove --purge bare
|
||||
sudo snap remove --purge core20
|
||||
sudo snap remove --purge snapd
|
||||
|
||||
```
|
||||
|
||||
3. Finally, remove the snap daemon via apt command.
|
||||
|
||||
|
||||
|
||||
```
|
||||
|
||||
sudo apt remove --autoremove snapd
|
||||
|
||||
```
|
||||
|
||||
![remove snap and others][3]
|
||||
|
||||
That’s not all. Even if you removed the snaps using the above command, the sudo apt update command again brings back the snap if you don’t stop the apt trigger.
|
||||
|
||||
4. So, to stop that, we need to create an apt preference file in **/etc/apt/preferences.d/** and create a new preference file to stop snap. Create a new file called **nosnap.pref** in /etc/apt/preferences.d/
|
||||
|
||||
|
||||
|
||||
```
|
||||
|
||||
sudo gedit /etc/apt/preferences.d/nosnap.pref
|
||||
|
||||
```
|
||||
|
||||
5. And add the following lines, then save the file.
|
||||
|
||||
|
||||
|
||||
```
|
||||
|
||||
Package: snapd
|
||||
Pin: release a=*
|
||||
Pin-Priority: -10
|
||||
|
||||
```
|
||||
|
||||
![create a pref file][4]
|
||||
|
||||
_The apt preference is a potent tool if you know how to use it. For example, in the above statements, the Pin-Priority -10 means preventing a package from installation._
|
||||
|
||||
_Unrelated to this tutorial, for example, if you want to give super high priority to all the packages from distribution code name=bullseye, then one may see these preferences. If you want to learn more, you can visit the [apt man pages][5]._
|
||||
|
||||
```
|
||||
|
||||
Package: *
|
||||
Pin: release n=bullseye
|
||||
Pin-Priority: 900
|
||||
|
||||
```
|
||||
|
||||
6. Coming back to the topic, once you save and close the above file, run the below again from the terminal.
|
||||
|
||||
|
||||
|
||||
```
|
||||
|
||||
sudo apt update
|
||||
|
||||
```
|
||||
|
||||
7. Finally, the steps are complete for getting rid of the snap from Ubuntu.
|
||||
|
||||
|
||||
|
||||
[][6]
|
||||
|
||||
SEE ALSO: How to Install and Use Snap Packages in Ubuntu
|
||||
|
||||
### Installing Software and Firefox as deb files after removing Snap from Ubuntu
|
||||
|
||||
You removed Firefox and Sofware applications, so you need those for your work.
|
||||
|
||||
To install the apt version of the Gnome Software, you can use the following command. Make sure you use the –install-suggests. Otherwise, it will install the snap version again!
|
||||
|
||||
```
|
||||
|
||||
sudo apt install --install-suggests gnome-software
|
||||
|
||||
```
|
||||
|
||||
And to install firefox, use the official PPA via the below commands.
|
||||
|
||||
```
|
||||
|
||||
sudo add-apt-repository ppa:mozillateam/ppa
|
||||
sudo apt update
|
||||
sudo apt install -t 'o=LP-PPA-mozillateam' firefox
|
||||
|
||||
```
|
||||
|
||||
![Add the PPA][7]
|
||||
|
||||
![Install Firefox as deb file from PPA][8]
|
||||
|
||||
Once you have installed the Firefox, enable the automatic update using the below commands. To learn more, [visit thi][9][s page][9].
|
||||
|
||||
```
|
||||
|
||||
mozillateam:${distro_codename}";' | sudo tee /etc/apt/apt.conf.d/51unattended-upgrades-firefox
|
||||
|
||||
```
|
||||
|
||||
Last but not the least, create another preference file for Firefox to give super high priority to the above PPA while running apt. If you don’t do this, the apt update command again pulls back firefox snap and brings over its “snap friends” 😂😂😂.
|
||||
|
||||
```
|
||||
|
||||
sudo gedit /etc/apt/preferences.d/mozillateamppa
|
||||
|
||||
```
|
||||
|
||||
Finally, add these lines and save the file.
|
||||
|
||||
```
|
||||
|
||||
Package: firefox*
|
||||
Pin: release o=LP-PPA-mozillateam
|
||||
Pin-Priority: 501
|
||||
|
||||
```
|
||||
|
||||
That’s it.
|
||||
|
||||
### Revert back to Snap in Ubuntu
|
||||
|
||||
If you change your mind, remove the preference file and install the applications again using the below set of commands.
|
||||
|
||||
```
|
||||
|
||||
sudo rm /etc/apt/preferences.d/nosnap.pref
|
||||
sudo apt update && sudo apt upgrade
|
||||
sudo snap install snap-store
|
||||
sudo apt install firefox
|
||||
|
||||
```
|
||||
|
||||
### Closing Notes
|
||||
|
||||
Wrapping up the tutorial on removing snap in Ubuntu, I would say these are unnecessary efforts to get rid of Snap completely. Mainly these are difficult for new users. I hope this guide helps you to get rid of snap. Cheers.
|
||||
|
||||
* * *
|
||||
|
||||
We bring the latest tech, software news and stuff that matters. Stay in touch via [Telegram][10], [Twitter][11], [YouTube][12], and [Facebook][13] and never miss an update!
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://www.debugpoint.com/2022/04/remove-snap-ubuntu/
|
||||
|
||||
作者:[Arindam][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://www.debugpoint.com/author/admin1/
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://www.debugpoint.com/2022/01/ubuntu-22-04-lts/
|
||||
[2]: https://www.debugpoint.com/wp-content/uploads/2022/04/Snap-list-in-Ubuntu.jpg
|
||||
[3]: https://www.debugpoint.com/wp-content/uploads/2022/04/remove-snap-and-others-1024x544.jpg
|
||||
[4]: https://www.debugpoint.com/wp-content/uploads/2022/04/create-a-pref-file.jpg
|
||||
[5]: https://manpages.ubuntu.com/manpages/focal/man5/apt_preferences.5.html
|
||||
[6]: https://www.debugpoint.com/2016/07/how-to-install-and-use-snap-packages-in-ubuntu/
|
||||
[7]: https://www.debugpoint.com/wp-content/uploads/2022/04/Add-the-PPA-1024x550.jpg
|
||||
[8]: https://www.debugpoint.com/wp-content/uploads/2022/04/Install-Firefox-as-deb-file-from-PPA-1024x548.jpg
|
||||
[9]: https://www.debugpoint.com/2021/09/remove-firefox-snap-ubuntu/
|
||||
[10]: https://t.me/debugpoint
|
||||
[11]: https://twitter.com/DebugPoint
|
||||
[12]: https://www.youtube.com/c/debugpoint?sub_confirmation=1
|
||||
[13]: https://facebook.com/DebugPoint
|
@ -0,0 +1,122 @@
|
||||
[#]: subject: "Crop and resize photos on Linux with Gwenview"
|
||||
[#]: via: "https://opensource.com/article/22/2/crop-resize-photos-gwenview-kde"
|
||||
[#]: author: "Seth Kenlon https://opensource.com/users/seth"
|
||||
[#]: collector: "lujun9972"
|
||||
[#]: translator: "geekpi"
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
用 Gwenview 在 Linux 上裁剪和调整照片大小
|
||||
======
|
||||
Gwenview 是一个优秀的照片编辑器,适合业余摄影师在 Linux KDE 桌面上使用。
|
||||
![Polaroids and palm trees][1]
|
||||
|
||||
一张好的照片可以是一个强大的东西。它从字面意义上表达了你所看到的,但它也讲述了你所经历的。小事也能说明很多问题:你在拍照时选择的角度,某样东西在画面中显得多么大,以及相比之下,那些有意识的选择的缺失。
|
||||
|
||||
照片通常并不意味着记录真实发生的事情,相反,它们会成为你(摄影师)如何看待发生的事情的洞察力。
|
||||
|
||||
这就是照片编辑如此普遍的原因之一。当你把照片发布到你的在线图片库或社交网络时,你不应该发布一张不能准确表达照片所囊括的感受的照片。但同样的道理,你也不应该为了剪掉在最后时刻将头伸进你的家庭快照的随机人物而成为一个专业的照片合成师。如果你使用的是 KDE,你可以使用 Gwenview 这个休闲照片编辑器。
|
||||
|
||||
### 在 Linux 上安装 Gwenview
|
||||
|
||||
如果你正在运行 KDE Plasma 桌面,你可能已经安装了 Gwenview。如果你没有安装,或者你正在使用一个不同的桌面而你想尝试 Gwenview,那么你可以用你的软件包管理器安装它。
|
||||
|
||||
我建议同时安装 Gwenview 和 Kipi 插件集,它可以将 Gwenview 与几个在线照片服务连接起来,这样你就可以轻松上传照片。在 Fedora、Mageia 和类似发行版上:
|
||||
|
||||
|
||||
```
|
||||
`$ sudo dnf install gwenview kipi-plugins`
|
||||
```
|
||||
|
||||
在 Debian、Elementary 和类似版本上:
|
||||
|
||||
|
||||
```
|
||||
`$ sudo apt install gwenview kipi-plugins`
|
||||
```
|
||||
|
||||
### 使用 Gwenview
|
||||
|
||||
Gwenview 通常以两种方式之一启动。你可以在 Dolphin 中点击图片文件,并选择在 Gwenview 中打开它,或者你可以启动 Gwenview,在文件夹中寻找照片,Gwenview 或多或少地充当你的文件管理器。第一种方法是直接的方法,很适合快速方便地预览图片文件。第二种方法是当你浏览大量照片,不确定哪一个版本的照片是“正确的”时,你可能会使用。
|
||||
|
||||
无论你如何启动 Gwenview,界面和功能都是一样的:右边有一个工作区,左边有一个面板。
|
||||
|
||||
![Gwenview][2]
|
||||
|
||||
(Seth Kenlon [CC BY-SA 4.0][3], Photo courtesy [Andrea De Santis][4])
|
||||
|
||||
在左边的面板下面,有三个标签。
|
||||
|
||||
* 文件夹:显示你电脑上的文件夹的树状视图,以便你可以浏览你的文件,寻找更多的照片。
|
||||
* 信息:提供关于你目前正在查看的照片的元数据。
|
||||
* 操作:允许你对当前的照片进行小的修改,如在横向和纵向之间旋转,调整大小,和裁剪。
|
||||
|
||||
|
||||
|
||||
Gwenview 能察觉文件系统,所以你可以按键盘上的**右**或**左***箭头,查看文件夹中的上一张或下一张照片。
|
||||
|
||||
要离开单张照片视图并查看一个文件夹中的所有图片,请点击顶部工具栏中的**浏览**按钮。
|
||||
|
||||
![Browsing photos in a folder][5]
|
||||
|
||||
(Seth Kenlon,[CC BY-SA 4.0][3])
|
||||
|
||||
你也可以同时拥有两种视图。点击 Gwenview 底部的**缩略图栏**按钮,可以将当前文件夹中的其他图片以电影胶片的形式看到,而当前选择的照片则在主面板中。
|
||||
|
||||
![Thumbnail view][6]
|
||||
|
||||
(Seth Kenlon,[CC BY-SA 4.0][3])
|
||||
|
||||
### 用 Gwenview 编辑照片
|
||||
|
||||
数码照片是很常见的,因此在网上发布或与朋友分享之前,需要对照片进行细微的调整也是同样常见。有非常好的应用可以编辑照片,事实上,其中最好的一个是另一个 KDE 应用,叫做 Krita(你可以在我的[给摄影者的 Krita][7] 文章中阅读我如何使用它来处理照片),但是小的调整不应该需要艺术学位。这正是 Gwenview 所确保的:用一个随意但功能强大的应用进行简单而快速的照片调整,并与你的 Plasma 桌面的其他部分整合。
|
||||
|
||||
我们大多数人对照片进行的最常见的调整是:
|
||||
|
||||
**旋转**:当你的相机没有提供正确的元数据让你的电脑知道一张照片是要以横向还是纵向观看时,你可以手动修复它。
|
||||
**镜像**:许多笔记本电脑或面部摄像头模仿镜子,这很有用,因为这是我们习惯于看到自己的方式。但是,它会使写入倒退。**镜像**功能从右到左翻转图像。
|
||||
**翻转**:在数码相机和笔记本电脑上不太常见,但在手机上,无论你怎么拿手机,屏幕都会翻转,这种用颠倒的设备拍照的现象并不少见。**翻转**功能可将图像旋转 180 度。
|
||||
**调整大小**:数字图像现在通常具有超高清尺寸,有时这比你需要的要多得多。如果你通过电子邮件发送照片或将其发布在你想要优化加载时间的网页上,你可以将尺寸(和相应的文件大小)缩小到更小的尺寸。
|
||||
|
||||
|
||||
|
||||
所有这些工具都在**操作**侧面板或**编辑**菜单中可用。 这些操作具有破坏性,因此在你进行更改后,单击**另存为**以保存图像的_副本_。
|
||||
|
||||
![Cropping a photo in Gwenview][8]
|
||||
|
||||
(Seth Kenlon,[CC BY-SA 4.0][3],照片由 [Elise Wilcox][9] 提供)
|
||||
|
||||
### 分享照片
|
||||
|
||||
当你准备好分享照片时,单击顶部工具栏中的**分享**按钮,或转到**插件**菜单并选择**导出**。Gwenview 与 Kipi 插件集成在一起,可以在 [Nextcloud][10]、[Piwigo][11]、普通旧电子邮件以及 Google Drive、Flickr、Dropbox 等服务共享照片。
|
||||
|
||||
### Linux 上的照片编辑要点
|
||||
|
||||
Gwenview 拥有桌面照片管理器的所有必需品。如果你需要的不仅仅是基本功能,你可以在 Krita 或 [Digikam][12] 中打开一张照片,并根据需要进行重大修改。对于其他一切,从浏览、排名、标记和小调整,Gwenview 都很方便。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/22/2/crop-resize-photos-gwenview-kde
|
||||
|
||||
作者:[Seth Kenlon][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://opensource.com/users/seth
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/design_photo_art_polaroids.png?itok=SqPLgWxJ (Polaroids and palm trees)
|
||||
[2]: https://opensource.com/sites/default/files/kde-gwenview-ui.jpg (Gwenview)
|
||||
[3]: https://creativecommons.org/licenses/by-sa/4.0/
|
||||
[4]: http://unsplash.com/@santesson89
|
||||
[5]: https://opensource.com/sites/default/files/kde-gwenview-browse.jpg (Browsing photos in a folder)
|
||||
[6]: https://opensource.com/sites/default/files/kde-gwenview-thumbnail.jpg (Thumbnail view)
|
||||
[7]: https://opensource.com/article/21/12/open-source-photo-editing-krita
|
||||
[8]: https://opensource.com/sites/default/files/kde-gwenview-crop.jpg (Cropping a photo in Gwenview)
|
||||
[9]: http://unsplash.com/@elise_outside
|
||||
[10]: https://opensource.com/article/20/7/nextcloud
|
||||
[11]: https://opensource.com/alternatives/google-photos
|
||||
[12]: https://opensource.com/life/16/5/how-use-digikam-photo-management
|
@ -0,0 +1,236 @@
|
||||
[#]: subject: "Top 10 Linux Distributions for Programmers in 2022 [Featured]"
|
||||
[#]: via: "https://www.debugpoint.com/2022/03/top-linux-distributions-programmers-2022/"
|
||||
[#]: author: "Arindam https://www.debugpoint.com/author/admin1/"
|
||||
[#]: collector: "lujun9972"
|
||||
[#]: translator: "aREversez"
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
2022 最适合程序员的 10 款 Linux 发行版 [精选]
|
||||
======
|
||||
我们为程序员和开发人员总结了 2022 年最好用的 10 款 Linux 发行版,以便他们开展日常工作和个人项目。由于工作和项目需要,程序员和开发人员会用到各种工具和应用,包括代码编辑器、编译器、插件以及数据库等等。若对现代开发人员的工作流程做一番整理,一般流程如下:
|
||||
|
||||
- 创建代码仓库
|
||||
- 编程
|
||||
- 调试
|
||||
- 测试
|
||||
- 配置
|
||||
|
||||
|
||||
|
||||
上述工作流程需要用到各种各样的工具,一份标准的工具清单如下:
|
||||
|
||||
- 代码编辑器
|
||||
- 简单的文本编辑器
|
||||
- 网络浏览器(包括 web 开发人员使用的各种浏览器)
|
||||
- 数据库引擎
|
||||
- 本地服务器
|
||||
- 各类编程语言的编译器
|
||||
- 调试程序
|
||||
- 监视或分析工具(客户端或者网页端)
|
||||
|
||||
|
||||
|
||||
与 Windows 相比,Linux 可以说是编程的最佳平台。之所以这样说,主要是因为 Linux 发行版与 Windows 不同,预装了许多功能强大的包和软件,自行安装也比较容易。在本文中,考虑到一些原因,我不会将 macOS 纳入对比范围之内。
|
||||
|
||||
综上,本文将整理出 2022 年最适合程序员的 10 款 Linux 发行版。
|
||||
|
||||
### 2022 最适合程序员的 10 款 Linux 发行版
|
||||
|
||||
#### 1、Fedora Workstation
|
||||
|
||||
![Fedora 35 Workstation][1]
|
||||
|
||||
在这 10 款 Linux 发行版当中,最优秀的可能就要数 Fedora Linux 了。Fedora 默认的工作站版本精选了一些软件包,为用户带来真正的 GNOME 桌面体验。
|
||||
|
||||
Fedora Linux 默认安装了开箱即用的主流开发软件包,包括 PHP、OpenJDK、PostgreSQL、Django、Ruby on Rails 以及 Ansible 等等。
|
||||
|
||||
dnf 是 Fedora Linux 的包管理器,有了它,安装代码编辑器以及其他软件就相当容易了。此外,你还可以使用应用商店 Software 一键搜索、安装软件。
|
||||
|
||||
Fedora Linux 支持 Snap 和 Flatpak,使用起来会更加灵活方便。你还可以使用 RPM Fusion 仓库,获取大量免费或收费的软件。因为许可证等一些原因, Fedora Linux 不希望一些包储存在其主仓库内,于是就有了 RPM Fusion。
|
||||
|
||||
点击下方链接,了解 Fedora Linux 最新版本。
|
||||
|
||||
[下载 Fedora][2]
|
||||
|
||||
#### 2、Ubuntu Linux
|
||||
|
||||
![Ubuntu Desktop is a perfect Linux Distribution for Programmers.][3]
|
||||
|
||||
在今天,无论是服务器还是个人电脑,使用最为广泛的发行版当属 Ubuntu Linux。Ubuntu 提供长期支持版本,每个长期支持版本的官方支持年限为五年(外加五年的维护支持),每年为高级用户提供两个短期版本。
|
||||
|
||||
由于 Ubuntu 非常流行,各种包与软件的供应商都会提供适用于 Ubuntu 的版本(.deb)。此外,得益于广泛的知名度,Ubuntu 有着更为庞大的论坛群体和更为丰富的帮助文档。所以说,Ubuntu 是开发人员的最佳之选,尤其是在开发过程中陷入难题的时候,Ubuntu 更能发挥其作用。点击下方链接,了解更多。
|
||||
|
||||
[下载 Ubuntu][4]
|
||||
|
||||
#### 3、openSUSE
|
||||
|
||||
openSUSE 是最稳定、最专业的 Linux 发行版之一,是企业界(包括个人电脑、服务器以及瘦客户机)的首选解决方案。openSUSE 作为关键系统,在世界范围内得到了广泛应用。
|
||||
|
||||
相较于 Ubuntu 和 Fedora,openSUSE 具有一些独特的优势。首先,openSUSE 有两个版本:Leap 和 Tumbleweed。其中,openSUSE Leap 属于长期支持版,为用户带来稳定的升级体验。openSUSE Tumbleweed 属于滚动发行版,有着最新、最强大的软件包。
|
||||
|
||||
如果你想获得最新的包和硬件支持,助力开发工作,你可以选择 openSUSE Tumbleweed;如果你想要的是稳定性,无需频繁维护即可长期运行,openSUSE Leap 会更适合你。
|
||||
|
||||
使用 openSUSE 进行开发工作,最大的优势之一就是 YaST 包管理工具。有了 YaST,许多操作可以轻松实现自动化。
|
||||
|
||||
此外,openSUSE 获取软件非常方便。它有专属的应用网站,供用户查找、安装包和软件。
|
||||
|
||||
如果你有一些 Linux 发行版的使用经验,推荐选择 openSUSE 进行开发工作。
|
||||
|
||||
[下载 openSUSE][5]
|
||||
|
||||
#### 4、Manjaro Linux
|
||||
|
||||
Manjaro Linux 基于 Arch Linux,不过安装起来更容易一些。Manjaro Linux 自身还有许多独特功能,比如带有图形用户界面的安装程序、pamac 软件安装器以及高质量的软件仓库等等。Manjaro 有三个主要的桌面版本:GNOME、KDE Plasma 和 Xfce,足以满足各类用户的需要。
|
||||
|
||||
如果你想使用 Arch Linux 及其滚动发行的软件包来满足开发需求,但又不想在安装原版 Arch 上来回折腾,Manjaro 绝对是你的最佳选择。
|
||||
|
||||
[下载 Manjaro][6]
|
||||
|
||||
#### 5、Arch Linux
|
||||
|
||||
尽管有 Manjaro 以及其他基于 Arch Linux 的发行版,而且安装操作非常简单,你可能还是想在自己的定制电脑上折腾一番,亲自动手[安装原版 Arch][7]。
|
||||
|
||||
不过这种选择更适合程序员和开发人员,因为他们想得到更多的掌控权,或者想要定制一个 Linux 操作系统,用于开发项目或满足开发需求。这样一来,他们可能就会安装 Arch Linux,选择自己最喜欢的桌面,设置专用于开发工作的操作系统。
|
||||
|
||||
[][8]
|
||||
|
||||
推荐阅读:[Nitrux 最佳 Maui 应用程序][24]
|
||||
|
||||
假设你对 Arch Linux 和普通的电脑都比较熟悉,那么 Arch Linux 就是你的最佳选择,因为在自己定制的 Linux 操作系统上,你可以完全控制每一个软件包。
|
||||
|
||||
[下载 Arch Linux][9]
|
||||
|
||||
#### 6、Pop OS
|
||||
|
||||
Pop OS(即 Pop!_OS)由电脑制造商 System76 针对其系列硬件开发,是一款基于 Ubuntu 的免费开源发行版。发行周期与 Ubuntu 保持同步,并为用户提供了额外的调整工具和软件包。
|
||||
|
||||
![Pop OS 21.10 Desktop][10]
|
||||
|
||||
Pop OS 基于 Ubuntu,默认支持多种程序语言,所以非常适合程序员使用。Pop OS 的软件中心非常出色,设有开发软件专区,深受计算机科学家和程序员青睐。
|
||||
|
||||
此外,Pop OS 的 COSMIC 桌面(GNOME 桌面的定制版)支持窗口自动平铺,具有柔美的调色板、默认的深色模式以及丰富的设置选项,给程序员带来独特的使用体验。
|
||||
|
||||
如果你既想要基于 Ubuntu,又想要适合程序员的稳定 Linux 发行版,推荐选择 Pop OS。
|
||||
|
||||
[下载 POP OS][11]
|
||||
|
||||
#### 7、KDE Neon
|
||||
|
||||
作为一个程序员,如果你喜欢 KDE Plasma 桌面,又想使用基于 Qt 的开发环境,那么你应该选择 KDE Neon。
|
||||
|
||||
KDE Neon 基于 Ubuntu 长期支持版本,兼具最新的 KDE Plasma 桌面和 KDE 框架。因此,使用 KDE Neon,你不仅可以享受 Ubuntu 长期支持版本的稳定性,还能体验基于 Qt 的最新版 KDE 软件。
|
||||
|
||||
运行速度快,程序开箱即用,用户界面友好,广泛的社区支持,如你所愿,完美如斯。
|
||||
|
||||
[下载 KDE Neon][12]
|
||||
|
||||
#### 8、Debian
|
||||
|
||||
Debian GUN/Linux 就无需过多介绍了。Debian 的稳定分支是 Ubuntu 及其衍生系统的基础。换句话说,Debian 是最基本、最稳定的 Linux 发行版。优秀的稳定性和较长的支持时间使得 Debian 非常适合用做开发环境。
|
||||
|
||||
不过,Debian 的稳定分支比较保守,很少使用最新的软件包。毕竟全世界都依赖 Debian 的稳定运行,所以维护者在检查、合并软件包时必须十分谨慎。
|
||||
|
||||
Debian 不仅能够长期稳定运行,而且维护成本较低,是高级用户和系统管理员绝佳的编程环境。
|
||||
|
||||
[下载 Debian Linux][13]
|
||||
|
||||
#### 9、Kali Linux
|
||||
|
||||
Kali Linux 由 Offensive Security 开发,服务对象为道德黑客和查找网络漏洞的渗透测试人员,内置大量黑客软件和工具。
|
||||
|
||||
对技术娴熟的程序员和开发人员来说,Kali Linux 堪称最佳之选。如果你精通 Linux,具备解决错误和依赖问题的经验,推荐选择 Kali Linux。
|
||||
|
||||
[下载 Kali Linux][14]
|
||||
|
||||
#### 10、Fedora Labs
|
||||
|
||||
最后,我们来看看 Fedora Linux 的各种 Fedora Labs 版本。
|
||||
|
||||
Fedora Labs 为程序员、科学家、学生等各类人群提供各类专业化的 Linux 发行版,内置各类专业软件、包和工具。很多人并没有意识到 Fedora Labs 的优势,只要经过适当的配置,这些版本都是非常优秀的发行版。
|
||||
|
||||
我们来总结一下这些 Fedora Labs。
|
||||
|
||||
* 采用 KDE Plasma 桌面,集成科学和数学领域的各种开源工具
|
||||
* 软件清单如下:
|
||||
* 基于 C/C++ 的 GNU Scientific Library
|
||||
* 兼容 MATLAB 的 MGNU Octave
|
||||
* LaTeX
|
||||
* Gnuplot:用于绘制 2D 与 3D 图像
|
||||
* Pandas:用于数据处理的 Python 库
|
||||
* IPython
|
||||
* Java 和 R 程序语言相关包
|
||||
* 了解更多,请点击 [下载 Fedora Scientific][15]
|
||||
|
||||
|
||||
* 采用 GNOME 桌面环境,预装神经科学领域的各种开源包和应用。了解更多,请点击 [下载 Comp Neuro][25]
|
||||
|
||||
|
||||
* 集成各种开源机器人技术包和软件,适合初学者、资深计算机科学家和编程人员。
|
||||
* 了解更多,[下载 Fedora Robotics][16].
|
||||
|
||||
|
||||
|
||||
除了上述版本,还有 [Fedora Security Labs][17]、[Fedora Astronomy][18] 和 [Fedora Python Classroom][19] 可供选择。
|
||||
|
||||
在编程项目以及科学领域,Fedora Labs 堪称完美之选。
|
||||
|
||||
### 总结
|
||||
|
||||
那么,怎样才能从以上 10 款 最适合程序员的 Linux 发行版中选出自己最喜欢的呢?
|
||||
|
||||
如果你想要一款开发系统,但又不想耗费太多精力,拿不定主意的话,推荐使用 Fedora Workstation 或者 Ubuntu。
|
||||
|
||||
If you have spare time or want more control in your system, like experimenting and being comfortable with occasional errors, then go for Arch Linux based systems.
|
||||
|
||||
如果你的空闲时间比较多或者想要进一步掌控自己的系统,乐于尝试并且能够忍受偶尔发生的错误,推荐选择基于 Arch Linux 的系统。
|
||||
|
||||
对于刚接触 Linux 生态的新手程序员来说,Pop OS 也是一个不错的选择。如果有特殊需要的话,可以试试 Fedora Labs。
|
||||
|
||||
我希望本文能帮助程序员和开发人员选出最喜欢的 Linux 发行版。
|
||||
|
||||
祝你好运!
|
||||
|
||||
* * *
|
||||
|
||||
我们分享最新的技术、软件等重要新闻资讯,关注我们的 [Telegram][20]、[Twitter][21]、[YouTube][22] 和 [Facebook][23],不要错过最新内容!
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://www.debugpoint.com/2022/03/top-linux-distributions-programmers-2022/
|
||||
|
||||
作者:[Arindam][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[aREversez](https://github.com/aREversez)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://www.debugpoint.com/author/admin1/
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://www.debugpoint.com/wp-content/uploads/2021/11/Fedora-35-Workstation-1024x528.jpg
|
||||
[2]: https://getfedora.org/
|
||||
[3]: https://www.debugpoint.com/wp-content/uploads/2022/03/Ubuntu-Desktop-is-a-perfect-Linux-Distribution-for-Programmers-1024x579.jpg
|
||||
[4]: https://ubuntu.com/download
|
||||
[5]: https://www.opensuse.org/
|
||||
[6]: https://manjaro.org/download/
|
||||
[7]: https://www.debugpoint.com/2022/01/archinstall-guide/
|
||||
[8]: https://www.debugpoint.com/2022/03/top-nitrux-maui-applications/
|
||||
[9]: https://archlinux.org/download/
|
||||
[10]: https://www.debugpoint.com/wp-content/uploads/2021/12/Pop-OS-21.10-Desktop-1024x579.jpg
|
||||
[11]: https://pop.system76.com/
|
||||
[12]: https://neon.kde.org/download
|
||||
[13]: https://www.debian.org/distrib/
|
||||
[14]: https://www.kali.org/
|
||||
[15]: https://labs.fedoraproject.org/en/scientific/
|
||||
[16]: https://labs.fedoraproject.org/en/robotics/
|
||||
[17]: https://labs.fedoraproject.org/en/security
|
||||
[18]: https://labs.fedoraproject.org/en/astronomy
|
||||
[19]: https://labs.fedoraproject.org/en/python-classroom
|
||||
[20]: https://t.me/debugpoint
|
||||
[21]: https://twitter.com/DebugPoint
|
||||
[22]: https://www.youtube.com/c/debugpoint?sub_confirmation=1
|
||||
[23]: https://facebook.com/DebugPoint
|
||||
[24]: https://www.debugpoint.com/2022/03/top-nitrux-maui-applications/
|
||||
[25]: https://labs.fedoraproject.org/en/comp-neuro/
|
@ -1,310 +0,0 @@
|
||||
[#]: subject: "3-2-1 Backup plan with Fedora ARM server"
|
||||
[#]: via: "https://fedoramagazine.org/3-2-1-backup-plan-with-fedora-arm-server/"
|
||||
[#]: author: "Hanku Lee https://fedoramagazine.org/author/hankuoffroad/"
|
||||
[#]: collector: "lujun9972"
|
||||
[#]: translator: "hwllife"
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
使用 Fedora ARM 服务器来做 3-2-1 备份计划
|
||||
======
|
||||
|
||||
![][1]
|
||||
|
||||
Photo by [Markus Winkler][2] on [Unsplash][3]
|
||||
|
||||
Fedora 服务器版操作系统运行在类似树莓派的单板计算机 (SBC) 上。这篇文章针对用户想要充分利用实体服务器系统和类似 Cockpit 的内置工具进行数据备份和个人数据的恢复。这里描述了备份的 3 个阶段。
|
||||
|
||||
### 必要的准备
|
||||
|
||||
想要使用本指南,你所需要的是一个运行着的 Fedora Linux 工作站和以下的项目。
|
||||
|
||||
|
||||
* 你应该阅读,理解和实践 Fedora 文档中 [服务器安装][4] 和[管理][5] 的要求
|
||||
* 一个为测试 Fedora Linux 的 SBC (单板计算机)。这里检查 [硬件状态][6]
|
||||
* [Fedora ARM][7] [服务器][7] 原生镜像 & ARM 镜像安装器
|
||||
* SD存储卡 (64 GB / Class 10) 和 SSD 设备两者选一个
|
||||
* 以太网 / DHCP 预留 IP 地址 或者 静态 IP 地址
|
||||
* 预备 ssh 密钥的 Linux 客户端工作站
|
||||
* 选择云存储服务
|
||||
* 有额外可用的 Linux 工作站
|
||||
|
||||
|
||||
对于这种设置,在写这篇文章的时候,由于成本和可用性的原因,我选择树莓派 3B+/4B+ (其中一个用来热转换) 。当使用 Cockpit 远程连接树莓派服务器时,你可以将树莓派放到路由器附近以便有序设置。
|
||||
|
||||
|
||||
### 加强服务器的安全
|
||||
|
||||
在 SBC 完成服务器的安装和管理后,用 firewalld 加强服务器的安全是一个好的做法。
|
||||
|
||||
连接存储设备到服务器之前,一旦服务器在线你必须设置好防火墙。Firewalld 是基于区域的防火墙。在依照 Fedora 文档完成安装和管理指南之后,创建一个名为 ‘FedoraServer’ 的预定义区域。
|
||||
|
||||
#### firewalld 里的 rich 规则
|
||||
|
||||
Rich 规则用来阻止或者允许一个特定的 IP 地址或者地址段。下面这条规则只从有(客户端工作站)注册 IP 地址来接受 SSH 连接并断开其它的连接。在 Cockpit 终端或者客户端工作站终端运行命令通过 ssh 来连接到服务器。
|
||||
|
||||
```
|
||||
|
||||
firewall-cmd --add-rich-rule='rule family=ipv4 source address=<registered_ip_address>/24 service name=ssh log prefix="SSH Logs" level="notice" accept'
|
||||
|
||||
```
|
||||
|
||||
#### 拒绝所有主机的 ping 请求
|
||||
|
||||
使用这个命令来设置 icmp 拒绝并不允许 ping 请求
|
||||
|
||||
```
|
||||
|
||||
firewall-cmd --add-rich-rule='rule protocol value=icmp reject'
|
||||
|
||||
```
|
||||
|
||||
要进行额外的防火墙控制,比如管理端口和区域,请查阅以下链接。请注意错配防火墙可能会使安全出现漏洞受到攻击。
|
||||
|
||||
[Managing firewall in Cockpit][8]
|
||||
[firewalld rules][9]
|
||||
|
||||
### 为文件服务器配置存储
|
||||
|
||||
下一步是连接存储设备到 SBC 然后使用 Cockpit 对新插入的存储设备进行分区。使用 Cockpit 的图形化服务器管理界面,管理一个家庭实验室(可以是一个或者多个服务器)比之前更加简单。Fedora Linux 服务器提供 Cockpit 作为标准。
|
||||
|
||||
在这个阶段,一个通过 SBC 的 USB 插口接电的 SSD 设备在没有额外电源供给的情况下投入使用。
|
||||
|
||||
|
||||
* 将存储设备连接到 SBC 的 USB 接口
|
||||
* 运行之后 (如必要的准备所设置的那样),然后在你的客户端工作站浏览器上访问 **机器的 IP 地址:9090**
|
||||
* 登录进 Cockpit 之后,点击 Cockpit 页面顶部的‘打开管理访问权限’
|
||||
* 点击左边面板的 “存储” 按钮
|
||||
* 选择下面显示的 “驱动器” 然后分区并格式化一个空白的存储设备
|
||||
|
||||
|
||||
|
||||
![Cockpit Storage management][10]
|
||||
|
||||
|
||||
* 在选定的存储设备这个界面上,创建一个新的分区表或者格式化并创建新的分区。当初始化磁盘的时候,在 <ruby>“Partitioning”<rt>分区</rt></ruby> 类型选项上,选择 GPT 分区表
|
||||
* 选择一个文件系统类型,这里选择 ext4 。对于一个限制 I/O 能力 (比如 USB 2.0 接口) 和限制带宽 (小于 200MB/s) 的设备是适合的
|
||||
|
||||
|
||||
|
||||
![Create a partition in Cockpit][11]
|
||||
|
||||
* 要在设备上创建单个占据整个存储空间的分区,指定它的挂载点,比如 “/media” 然后点击 “确定” 。
|
||||
* 点击 <ruby>“Create partition”<rt>创建分区</rt></ruby>, 创建一个挂载点为 “/media” 的新分区。
|
||||
|
||||
|
||||
### 创建备份和恢复备份
|
||||
|
||||
备份很少是一刀切的。这里有一些选择比如数据备份在哪里,备份数据的步骤,验证一些自动化,并决定怎样来恢复备份了的数据。
|
||||
|
||||
![Backup workflow – version 1.0][12]
|
||||
|
||||
#### 备份 1. 用 rsync 从客户端远程同步到文件服务器 <ruby>(Raspberry Pi)<rt>树莓派</rt></ruby>
|
||||
|
||||
这个传输用到的命令是:
|
||||
|
||||
```
|
||||
|
||||
rsync -azP ~/source syncuser@host1:/destination
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
参数:
|
||||
-a, --archive
|
||||
-z, --compress
|
||||
-P, --progress
|
||||
|
||||
```
|
||||
|
||||
要运行 rsync 额外的传输,设置以下的标签:
|
||||
|
||||
|
||||
直接替换更新目标文档
|
||||
|
||||
```
|
||||
|
||||
--inplace
|
||||
|
||||
```
|
||||
|
||||
追加数据到较短的文档中
|
||||
|
||||
```
|
||||
|
||||
--append
|
||||
|
||||
```
|
||||
|
||||
在将文档备份到存储空间之前,源端文档文件重复消除和压缩是减少备份数据容量最有效的方式。
|
||||
|
||||
每天结束我手动运行这个。一旦我设置了云备份工作流,自动化脚本是一个优势。
|
||||
|
||||
关于 rsync 的详细信息,请在 [这里][13] 访问 Fedora 杂志的文章。
|
||||
|
||||
#### 备份 2. 使用 rysnc 从文件服务器远程同步到主要的云存储上
|
||||
|
||||
选择云存储是考虑的因素;
|
||||
|
||||
* 成本:上传,存储空间和下载费用
|
||||
* 支持 rsync ,sftp
|
||||
* 数据冗余 (RAID 10 或者运行中的数据中心冗余计划)
|
||||
* 快照
|
||||
|
||||
|
||||
符合这些云存储标准之一的就是 Hetzner 托管的 Nextcloud– [存储盒子][14]。你不受供应商限制,可以自由切换,无需退出处罚。
|
||||
|
||||
##### 在文件服务器上生成 SSH 密钥并创建授权密钥文件
|
||||
|
||||
使用 ssh-keygen 命令为文件服务器和云存储生成一对新的 SSH 密钥对。
|
||||
|
||||
```
|
||||
|
||||
ssh-keygen
|
||||
Generating public/private rsa key pair.
|
||||
Enter file in which to save the key . . .
|
||||
|
||||
```
|
||||
|
||||
插入要求的 SSH 公钥到新的本地授权密钥文件中。
|
||||
|
||||
```
|
||||
|
||||
cat .ssh/id_rsa.pub >> storagebox_authorized_keys
|
||||
|
||||
```
|
||||
|
||||
##### 传输密钥文件到云存储
|
||||
|
||||
下一步就是上传生成了的授权密钥文件到存储盒子。要做这些,先用 700 权限创建 .ssh 目录,然后用 SSH 公钥创建授权文件并赋予 600 权限。运行以下命令。
|
||||
|
||||
```
|
||||
|
||||
echo -e "mkdir .ssh \n chmod 700 .ssh \n put storagebox_authorized_keys .ssh/authorized_keys \n chmod 600 .ssh/authorized_keys" | sftp <username>@<username>.your-storagebox.de
|
||||
|
||||
```
|
||||
|
||||
##### 通过 ssh 使用 rsync
|
||||
|
||||
使用 rsync 同步你的文件目录当前状态到存储盒子。
|
||||
|
||||
```
|
||||
|
||||
rsync --progress -e 'ssh -p23' --recursive <local_directory> <username>@<username>.your-storagebox.de:<target_directory>
|
||||
|
||||
```
|
||||
|
||||
这个过程被叫做推送操作,因为它 “推送” 本地系统的一个目录到一个远程的系统中去。
|
||||
|
||||
##### 从云存储中恢复目录
|
||||
|
||||
要从存储盒子恢复目录,转换到这个目录:
|
||||
|
||||
```
|
||||
|
||||
rsync --progress -e 'ssh -p23' --recursive <username>@<username>.your-storagebox.de:<remote_directory> <local_directory>
|
||||
|
||||
```
|
||||
|
||||
#### 备份 3. 客户端备份到第二个云储存
|
||||
|
||||
[Deja Dup][15] 是 Fedora 软件仓库中为 Fedora 工作站提供快速备份解决方案的工具。它拥有 GPG 加密,计划任务,文件包含(哪个目录要备份)。
|
||||
|
||||
|
||||
![Backing up to the secondary cloud][16]
|
||||
|
||||
![Restoring files from cloud storage][17]
|
||||
|
||||
### 归档个人数据
|
||||
|
||||
不是所有数据都需要 3-2-1 备份策略。这就是个人数据共享。我将一台拥有 1TB 硬盘的笔记本作为我个人数据的档案(家庭照片)。
|
||||
|
||||
转到设置中的 “共享” (在我的例子中是GNOME文件管理器)并切换滑块以启用共享。
|
||||
|
||||
![][18]
|
||||
|
||||
打开 “文件共享”,“网络” 和 “需要的密码”,允许你使用 WebDAV 协议在你的本地网络上分享你的公共文件夹给其它的工作站。
|
||||
|
||||
![][19]
|
||||
|
||||
### 准备回滚选项
|
||||
|
||||
未测试的备份并不比完全没有备份好。我在家庭实验室环境中使用 ‘热交换’ 方法来避免像频繁的断电或者液体损坏的情况发生。然而,我的建议远没有达到灾难恢复计划或企业 IT 中自动故障修复。
|
||||
|
||||
* 定期运行文件恢复操作
|
||||
* 备份 ssh/GPG 密钥 到一个额外的存储设备中
|
||||
* 复制一个 Fedora ARM 服务器的原生镜像到一个 SD 卡中
|
||||
* 在主云存储中保持全备份的快照
|
||||
* 自动化备份过程最小化减少人为错误或者疏忽
|
||||
|
||||
|
||||
|
||||
### 使用 Cockpit 追踪活动并解决问题
|
||||
|
||||
当你的项目在成长时,你所管理的服务器数量也在增长。在 Cockpit 中追踪活动和警告可以减轻你的管理负担。你可以使用 Cockpit 的图形化界面的三种方法来归档这些。
|
||||
|
||||
|
||||
#### SELinux 菜单
|
||||
|
||||
怎样诊断网络问题,找到日志并在 Cockpit 中解决问题
|
||||
|
||||
* 去 SELinux 中检查日志
|
||||
* 检查“解决方案详细信息”
|
||||
* 当必要时,选择 “应用这个方案”
|
||||
* 如果必要,查看自动化脚本并运行它
|
||||
|
||||
|
||||
|
||||
![SELinux logs][20]
|
||||
|
||||
#### 网络或者存储日志
|
||||
|
||||
服务器日志跟踪CPU负载、内存使用、网络活动和存储性能和系统日志关联的详细指标。日志被组织在网络面板或者存储面板里显示。
|
||||
|
||||
![Storage logs in Cockpit][21]
|
||||
|
||||
#### 软件更新
|
||||
|
||||
在预设的时间和频率下,Cockpit 帮助安全更新。当你需要时,你可以运行所有的更新。
|
||||
|
||||
![Software updates][22]
|
||||
|
||||
恭喜你在 Fedora ARM 服务器版本上设置了一个文件/备份服务器。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://fedoramagazine.org/3-2-1-backup-plan-with-fedora-arm-server/
|
||||
|
||||
作者:[Hanku Lee][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[hwlife](https://github.com/hwlife)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://fedoramagazine.org/author/hankuoffroad/
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://fedoramagazine.org/wp-content/uploads/2022/04/3-2-1_backup-816x345.jpg
|
||||
[2]: https://unsplash.com/@markuswinkler?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText
|
||||
[3]: https://unsplash.com/s/photos/computer-backup?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText
|
||||
[4]: https://docs.fedoraproject.org/en-US/fedora-server/server-installation-sbc/
|
||||
[5]: https://docs.fedoraproject.org/en-US/fedora-server/sysadmin-postinstall/
|
||||
[6]: https://docs.fedoraproject.org/en-US/quick-docs/raspberry-pi/
|
||||
[7]: https://arm.fedoraproject.org/
|
||||
[8]: https://fedoramagazine.org/managing-network-interfaces-and-firewalld-in-cockpit/
|
||||
[9]: https://www.redhat.com/sysadmin/firewalld-rules-and-scenarios
|
||||
[10]: https://fedoramagazine.org/wp-content/uploads/2022/03/Screenshot-from-2022-03-29-22-05-00b-1024x576.png
|
||||
[11]: https://fedoramagazine.org/wp-content/uploads/2022/03/Screenshot-from-2022-03-29-22-03-36a.png
|
||||
[12]: https://fedoramagazine.org/wp-content/uploads/2022/04/Backups3-1-1024x525.jpg
|
||||
[13]: https://fedoramagazine.org/copying-large-files-with-rsync-and-some-misconceptions/
|
||||
[14]: https://docs.hetzner.com/robot/storage-box/
|
||||
[15]: https://fedoramagazine.org/easy-backups-with-deja-dup/
|
||||
[16]: https://fedoramagazine.org/wp-content/uploads/2022/03/Screenshot-from-2022-03-29-22-47-30.png
|
||||
[17]: https://fedoramagazine.org/wp-content/uploads/2022/03/Screenshot-from-2022-03-29-22-41-57.png
|
||||
[18]: https://fedoramagazine.org/wp-content/uploads/2022/04/Screenshot-from-2022-04-14-20-48-49-1024x733.png
|
||||
[19]: https://fedoramagazine.org/wp-content/uploads/2022/04/Screenshot-from-2022-04-14-20-51-18st.png
|
||||
[20]: https://fedoramagazine.org/wp-content/uploads/2022/04/Screenshot-from-2022-04-02-11-24-30b-1024x441.png
|
||||
[21]: https://fedoramagazine.org/wp-content/uploads/2022/04/Screenshot-from-2022-04-04-21-47-06SL-1024x259.png
|
||||
[22]: https://fedoramagazine.org/wp-content/uploads/2022/04/Screenshot-from-2022-04-04-21-35-42b.png
|
Loading…
Reference in New Issue
Block a user