Merge remote-tracking branch 'LCTT/master'

This commit is contained in:
Xingyu Wang 2019-11-25 08:07:27 +08:00
commit 71017f6f58
5 changed files with 526 additions and 239 deletions

View File

@ -0,0 +1,101 @@
Linux 平台上的写作者必备工具
======
![](https://img.linux.net.cn/data/attachment/album/201911/25/000129eee2zydelz22vj9h.jpg)
我从事作家已有 20 多年了。我撰写了数千篇有关各种技术主题的文章和指南,并撰写了 40 多本小说。因此,书面文字不仅对我很重要,还很熟悉,成为了我的第二种自然交流的方式。在过去的二十年中(而且还在继续),我几乎都是在 Linux 平台上完成的所有工作。我必须承认,在早期,这并不总是那么容易。格式并不总是与编辑器所需要的相吻合,在某些情况下,开源平台根本没有完成工作所需的必要工具。
那时已经过去,现在已经不同了。
Linux 演进和基于 Web 的工具的相得益彰使得它可以让任何写作者都能在 Linux 上完成工作(并且做得很好)。但是你需要什么工具?你可能会惊讶地发现,在某些情况下,使用 100 开源的工具无法有效完成这项工作。不过即使如此,工作总是可以完成的。让我们来看看我作为技术作家和小说作者一直使用的工具。我将通过小说和非小说类的写作过程来概述这一点(因为过程不同,需要特定的工具)。
对认真的 Linux 硬核用户预先做个预警。很久以前,我就放弃了使用 LaTeX 和 DocBook 之类的工具进行写作。为什么?因为对我而言,重点必须放在内容上,而不是过程上。当你面临最后期限时,必须以效率为先。
### 非小说类
我们将从非虚构写作入手,因为这是两者中较简单的过程。为了编写技术指南,我与不同的编辑人员合作,并且在某些情况下,必须将内容复制/粘贴到 CMS 中。但是就像我的小说一样,整个过程总是从 Google 云端硬盘开始。在这一点上,许多开源纯粹主义者会转身走开。不用担心,你始终可以选择将所有文件保存在本地,也可以使用更开放友好的云服务(例如 [Zoho][1] 或 [nextCloud][2])。
为什么要从云端开始?多年来,我发现我需要能够随时随地访问那些内容。最简单的解决方案是迁移到云上。我对丢失工作成果这件事也很偏执。为此,我使用了 [Insync][3] 之类的工具来使我的 Google 云端硬盘与桌面保持同步。有了桌面同步功能,我知道我的工作成果总是有备份,以防万一 Google 云端硬盘出了问题。
对于那些我必须与之一起将内容输入到内容管理系统CMS的客户该过程到此结束。我可以直接从 Google 文档复制/粘贴到 CMS 中,并完成此操作。当然,对于技术内容,总是涉及到屏幕截图。为此,我使用 [Gimp][4],它使得截取屏幕截图变得简单:
![screenshot with Gimp][6]
*图 1使用 Gimp 截屏。*
1. 打开 Gimp。
2. 单击“文件>创建>屏幕快照”。
3. 选择单个窗口、整个屏幕或要抓取的区域(图 1
4. 单击“抓取”。
我的大多数客户倾向于使用 Google 文档,因为我可以共享文件夹,以便他们可以可靠地访问该内容。我有一些无法使用 Google 文档的客户,因此我必须将文件下载为可以使用的格式。为此,我要做的是下载 .odt 格式,以 [LibreOffice][8] 打开文档(图 2根据需要设置格式保存为客户所需的格式然后发送文档。
![Google Doc][10]
*图 2在 LibreOffice 中打开我下载的 Google 文档。*
非小说类作品这样就行了。
### 小说类
这里会稍微变得有点复杂。开始的步骤是相同的​​,因为我总是在 Google 文档中写小说的每个初稿。完成后,我将文件下载到 Linux 桌面,在 LibreOffice 中打开文件,根据需要设置格式,然后另存为编辑器支持的文件类型(不幸的是,这意味着是 .docx
该过程的下一步变得有些琐碎。我的编辑更喜欢使用注释来跟踪更改(因为这使我们俩阅读文档和做出更改一样容易)。因此,一个 60k 的 word 文档可以包含成百上千的注释,这会使 LibreOffice 慢的像爬一样。从前,你可以增加用于文档的内存,但是从 LibreOffice 6 开始,这不再可行。这意味着任何较大的、像小说一样长的、带有大量注释的文档都将无法使用。因此,我不得不采取一些极端的措施,使用 [WPS Office][11](图 3。尽管这不是开源解决方案但 WPS Office 在文档中包含大量注释的情况下做得很好,因此无需处理 LibreOffice 所带来的麻烦(当处理带有数百个注释的大型文件时)。
![comments][13]
*图 3WPS 可以轻松处理大量注释。*
一旦我和我的编辑完成了对书的编辑(所有评论都已删除),我就可以在 LibreOffice 中打开文件进行最终格式化。格式化完成后,我将文件保存为 .html 格式,然后以 [Calibre][14] 打开文件以将文件导出为 .mobi 和 .epub 格式。
对于希望在 Amazon、BarnesNoble、Smashwords 或其他平台上出版的任何人Calibre 都是必备工具。Caliber 比其他类似解决方案更好地方是,它使你可以直接编辑 .epub 文件(图 4。对于 Smashword 来说,这是绝对必要的(因为导出过程将添加 Smashwords 转换工具上不接受的元素)。
![Calibre][16]
*图 4直接在 Calibre 中编辑 epub 文件。*
写作过程结束后(或有时在等待编辑完成一校时),我将开始为书制作封面。该任务完全在 Gimp 中处理(图 5
![Using Gimp][19]
*图 5在 Gimp 中创建 POTUS 的封面。*
这样就完成了在 Linux 平台上创建小说的过程。由于文档的篇幅以及某些编辑人员的工作方式,与创建非小说类的过程相比,它可能会变得有些复杂,但这远没有挑战性。实际上,在 Linux 上创建小说与其他平台一样简单(并且更可靠)。
### 希望这可以帮助你
我希望这可以帮助有抱负的作家有信心在 Linux 平台上进行写作。还有许多其他工具可供使用,但是多年来我在这里列出的工具很好地服务了我。而且,尽管我确实使用了几个专有的工具,但只要它们在 Linux 上都能正常运行,我觉得是可以的。
--------------------------------------------------------------------------------
via: https://www.linux.com/learn/2018/11/must-have-tools-writers-linux-platform
作者:[Jack Wallen][a]
选题:[lujun9972][b]
译者:[wxy](https://github.com/wxy)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://www.linux.com/users/jlwallen
[b]: https://github.com/lujun9972
[1]: https://www.zoho.com/
[2]: https://nextcloud.com/
[3]: https://www.insynchq.com
[4]: https://www.gimp.org/
[5]: /files/images/writingtools1jpg
[6]: https://lcom.static.linuxfound.org/sites/lcom/files/writingtools_1.jpg (screenshot with Gimp)
[7]: /licenses/category/used-permission
[8]: https://www.libreoffice.org/
[9]: /files/images/writingtools2jpg
[10]: https://lcom.static.linuxfound.org/sites/lcom/files/writingtools_2.jpg (Google Doc)
[11]: https://www.wps.com/en-US/
[12]: /files/images/writingtools3jpg
[13]: https://lcom.static.linuxfound.org/sites/lcom/files/writingtools_3.jpg (comments)
[14]: https://calibre-ebook.com/
[15]: /files/images/writingtools4jpg
[16]: https://lcom.static.linuxfound.org/sites/lcom/files/writingtools_4.jpg (Calibre)
[17]: /licenses/category/creative-commons-zero
[18]: /files/images/writingtools5jpg
[19]: https://lcom.static.linuxfound.org/sites/lcom/files/writingtools_5.jpg (Using Gimp)
[20]: https://training.linuxfoundation.org/training/introduction-to-open-source-development-git-and-linux/?utm_source=linux.com&utm_medium=article&utm_campaign=lfd201

View File

@ -0,0 +1,122 @@
[#]: collector: (lujun9972)
[#]: translator: (wxy)
[#]: reviewer: (wxy)
[#]: publisher: (wxy)
[#]: url: (https://linux.cn/article-11608-1.html)
[#]: subject: (What you need to know to be a sysadmin)
[#]: via: (https://opensource.com/article/19/7/be-a-sysadmin)
[#]: author: (Seth Kenlon https://opensource.com/users/seth)
你需要知道什么才能成为系统管理员?
======
> 通过获得这些起码的能力,开始你的系统管理员职业。
![](https://img.linux.net.cn/data/attachment/album/201911/24/103900w5m09jyyyeyrnovu.jpg)
昔日的系统管理员整天都在调教用户和摆弄服务器,一天的时间都奔波在几百米长的电缆之间。随着云计算、容器和虚拟机的复杂性的增加,而今依然如此。
以外行人来看,很难准确确定系统管理员的确切职能,因为他们在许多地方都扮演着一个不起眼的角色。没人能在培训中知道自己工作中所需要的一切知识,但是每个人其实都需要一个坚实的基础。如果你想走上系统管理的道路,那么这是你个人自学或在正式培训中应重点关注的内容。
### Bash
当你学习 Bash Shell 时,你学习的不仅是 Bash Shell你学习的也是 Linux、BSD、MacOS 甚至Windows在适当条件下的通用界面。你将了解语法的重要性因此可以快速适应思科路由器的命令行或微软 PowerShell 等系统,最终你甚至可以学习更强大的语言,如 Python 或 Go。而且你还会开始进行程序性思考以便可以分析复杂的问题并将其分解为单个组件这很关键因为这就是系统例如互联网、组织的内部网、Web 服务器、备份解决方案)是如何设计的。
不止于此,还有更多。
由于最近 DevOps 和[容器][2]的发展趋势,了解 Bash shell 变得尤为重要。你的系统管理员职业可能会将你带入一个视基础设施为代码的世界,这通常意味着你必须了解脚本编写的基础知识、[基于 YAML][3]配置的结构,以及如何与[容器][5](运行在[沙盒文件][6]内部的微型 Linux 系统)[交互][4]。你会知道 Bash 是高效管理激动人心的开源技术的门户,因此请进入 [Bash][7] 世界吧。
#### 资源
有很多方法可以在 Bash shell 中进行练习。
尝试一下[便携式 Linux 发行版][8]。你无需安装 Linux 即可使用 Linux因此请拿一块闲置的 U 盘,花个晚上或周末的空闲时光,来适应基于文本的界面。
这里有[几篇很棒的][10] [Bash 文章][9]。
要注意的是 Bash 练习的关键在于要练习,你必须有要做的练习才行。而且,在你知道如何使用 Bash 之前,你可能不知道该练习什么。如果是这样,请去 Over The Wire 玩一下 [Bandit][11] 游戏。这是一款针对绝对初学者的游戏,具有 34 个级别的交互式基本技巧,可让你熟悉 Linux shell。
### Web 服务器设置
一旦你习惯了 Bash你应该尝试设置一个 Web 服务器。并不是所有的系统管理员都会四处设置 Web 服务器甚至维护 Web 服务器,但是你在安装和启动 HTTP 守护程序、配置 Apache 或 Nginx设置[正确权限][12]和[配置防火墙][13]时所掌握的技能是你每天都需要使用的技能。经过一些努力,你可能会开始注意到自己的某些工作模式。在尝试管理可用于生产环境的软件和硬件之前,你可能认为某些概念是理所当然的,而你在成为新手的管理员角色时,将不再受到它们的影响。起初这可能会令人沮丧,因为每个人都喜欢在自己做好所做的事情,但这实际上是一件好事。让自己接触新技能,那就是你学习的方式。
此外,你在第一步中付出的努力越多,最终当你在默认的 index.html 上看到胜利的“it works!”就越甜蜜!
#### 资源
David Both 撰写了有关 [Apache Web 服务器][14]配置的出色文章。值得一提的是,请逐步阅读他的后续文章,其中介绍了如何在一台计算机上[托管多个站点][15]。
### DHCP
动态主机配置协议DHCP是为网络上的设备分配 IP 地址的系统。在家里ISP互联网服务提供商支持的调制解调器或路由器可能内置了 DHCP 服务器,因此可能不在你的权限范围内。如果你曾经登录家用路由器来调整 IP 地址范围或为某些网络设备设置了静态地址,那么你至少对该概念有所了解。你可能会将其理解为对网络上的设备分配了一种 IP 地址形式的电话号码,并且你可能会意识到计算机之间通过广播发送到特定 IP 地址的消息彼此进行通信。消息标头由路径上的路由器读取,每个消息标头都将消息定向到路径上的第二个逻辑路由器,以达到其最终目标。
即使你了解了这些概念,要从对 DHCP 的基本了解再进一步是架设 DHCP 服务器。安装和配置自己的 DHCP 服务器可能会导致家庭网络中的 DHCP 冲突(如果可以的话,请尽量避免这样做,因为它肯定会干掉你的网络,直到解决为止),要控制地址的分配、创建子网,并监控连接和租赁时间。
更重要的是,设置 DHCP 并尝试不同的配置有助于你了解网络之间的关系。你会了解网络如何在数据传输中表示“分区”,以及必须采取哪些步骤才能将信息从一个网络传递到另一个。这对于系统管理员来说至关重要,因为网络肯定是工作中最重要的方面之一。
#### 资源
在运行自己的 DHCP 服务器之前,请确保家庭路由器(如果有)中的 DHCP 服务器处于非活动状态。一旦启动并运行了 DHCP 服务器,请阅读 Archit Modi 的[网络命令指南][16],以获取有关如何探索网络的提示。
### 网络电缆
这听起来很普通,但是熟悉网络电缆的工作方式不仅使你的周末变得非常有趣,而且还使你对数据是如何通过缆线的得到了全新的了解。最好的学习方法是去当地的业余爱好商店并购买五类线剥线钳和压线钳以及一些五类线水晶头。然后回家,拿一根备用的以太网电缆,切断水晶头,花一些时间重新制作网线接头,将电缆重新投入使用。
解决了这个难题后,请再做一次,这次创建一条有效的[交叉电缆][17]。
你现在应该还在沉迷于有关电缆管理。如果你有些强迫症,喜欢沿着地板线或桌子的边缘整齐地排列电缆,或者将电缆绑在一起以保持它们的整齐有序,那么就可以使自己免受永久混乱的电缆困扰。你一开始可能不会理解这样做的必要性,但是当你第一次走进服务器机房时,你会马上知道原因。
### Ansible
[Ansible][18] 是配置管理软件,它在系统管理员和 DevOps 之间架起了一座桥梁。系统管理员使用 Ansible 来配置全新安装的操作系统并在计算机上维护特定的状态。DevOps 使用 Ansible 减少了在工具上花费的时间和精力,从而在开发上可以花费更多的时间和精力。作为系统管理员培训的一部分,你应该学习 Ansible并着眼于 DevOps 实践,因为 DevOps 现在开创的大多数功能将最终成为将来系统管理中工作流的一部分。
Ansible 的好处是你可以立即开始使用它。它是跨平台的,并且可以向上和向下缩放。对于单用户计算机, Ansible 可能是小题大做但是话又说回来Ansible 可能会改变你启动虚拟机的方式,或者可以帮助你同步家庭或[家庭实验室][19]中所有计算机的状态。
#### 资源
阅读 Jay LaCroix 的[如何使用 Ansible 管理工作站配置][20]中的典型介绍,以轻松地在日常之中开始使用 Ansible。
### 破坏
由于用户的错误、软件的错误、管理员(就是你!)的错误以及许多其他因素,计算机上会出现问题。无法预测将要失败的原因,因此你的个人系统管理员培训制度的一部分应该是破坏你设置的系统,直到它们失败为止。你自己的实验室基础设施越是脆弱,发现弱点的可能性就越大。而且,你越是经常修复这些弱点,你对解决问题的能力就越有信心。
除了严格设置所有常见的软件和硬件之外,作为系统管理员的主要工作是查找解决方案。有时候,你可能会遇到职位描述之外的问题,甚至可能无法解决,但这完全取决于你的解决方法。
现在,你越多地折腾并努力加以解决,则以系统管理员的身份进行的准备就越充分。
你是系统管理员吗?你是否希望自己为更好的任务做好准备?在下面的评论中写下它们!
--------------------------------------------------------------------------------
via: https://opensource.com/article/19/7/be-a-sysadmin
作者:[Seth Kenlon][a]
选题:[lujun9972][b]
译者:[wxy](https://github.com/wxy)
校对:[wxy](https://github.com/wxy)
本文由 [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/rh_003499_01_linux11x_cc.png?itok=XMDOouJR (People work on a computer server with devices)
[2]: https://opensource.com/article/19/6/kubernetes-dump-truck
[3]: https://www.redhat.com/sysadmin/yaml-tips
[4]: https://opensource.com/article/19/6/how-ssh-running-container
[5]: https://opensource.com/resources/what-are-linux-containers
[6]: https://opensource.com/article/18/11/behind-scenes-linux-containers
[7]: https://opensource.com/article/18/7/admin-guide-bash
[8]: https://opensource.com/article/19/6/linux-distros-to-try
[9]: https://opensource.com/tags/bash
[10]: https://www.redhat.com/sysadmin/managing-files-linux-terminal
[11]: http://overthewire.org/wargames/bandit
[12]: https://opensource.com/article/19/6/understanding-linux-permissions
[13]: https://www.redhat.com/sysadmin/secure-linux-network-firewall-cmd
[14]: https://opensource.com/article/18/2/how-configure-apache-web-server
[15]: https://opensource.com/article/18/3/configuring-multiple-web-sites-apache
[16]: https://opensource.com/article/18/7/sysadmin-guide-networking-commands
[17]: https://en.wikipedia.org/wiki/Ethernet_crossover_cable
[18]: https://opensource.com/sitewide-search?search_api_views_fulltext=ansible
[19]: https://opensource.com/article/19/6/create-centos-homelab-hour
[20]: https://opensource.com/article/18/3/manage-workstation-ansible

View File

@ -1,118 +0,0 @@
Must-Have Tools for Writers on the Linux Platform
======
![](https://www.linux.com/sites/lcom/files/styles/rendered_file/public/writing-main.jpg?itok=qe96IkKm)
Ive been a writer for more than 20 years. Ive written thousands of articles and how-tos on various technical topics and have penned more than 40 works of fiction. So, the written word is not only important to me, its familiar to the point of being second nature. And through those two decades (and counting) Ive done nearly all my work on the Linux platform. I must confess, during those early years it wasnt always easy. Formats didnt always mesh with what an editor required and, in some cases, the open source platform simply didnt have the necessary tools required to get the job done.
That was then, this is now.
A perfect storm of Linux evolution and web-based tools have made it such that any writer can get the job done (and done well) on Linux. But what tools will you need? You might be surprised to find out that, in some instances, the job cannot be efficiently done with 100% open source tools. Even with that caveat, the job can be done. Lets take a look at the tools Ive been using as both a tech writer and author of fiction. Im going to outline this by way of my writing process for both nonfiction and fiction (as the process is different and requires specific tools).
A word of warning to seriously hard-core Linux users. A long time ago, I gave up on using tools like LaTeX and DocBook for my writing. Why? Because, for me, the focus must be on the content, not the process. When youre facing deadlines, efficiency must take precedent.
### Nonfiction
Well start with nonfiction, as that process is the simpler of the two. For writing technical how-tos, I collaborate with different editors and, in some cases, have to copy/paste content into a CMS. But like with my fiction, the process always starts with Google Drive. This is the point at which many open source purists will check out. Fear not, you can always opt to either keep all of your files locally, or use a more open-friendly cloud service (such as [Zoho][1] or [nextCloud][2]).
Why start on the cloud? Over the years, Ive found I need to be able to access that content from anywhere at any time. The simplest solution was to migrate the cloud. Ive also become paranoid about losing work. To that end, I make use of a tool like [Insync][3] to keep my Google Drive in sync with my desktop. With that desktop sync in place, I know theres always a backup of my work, in case something should go awry with Google Drive.
For those clients with whom I must enter content into a Content Management System (CMS), the process ends there. I can copy/paste directly from a Google Doc into the CMS and be done with it. Of course, with technical content, there are always screenshots involved. For that, I use [Gimp][4], which makes taking screenshots simple:
![screenshot with Gimp][6]
Figure 1: Taking a screenshot with Gimp.
[Used with permission][7]
1. Open Gimp.
2. Click File > Create > Screenshot.
3. Select from a single window, the entire screen, or a region to grab (Figure 1).
4. Click Snap.
The majority of my clients tend to prefer I work with Google Docs, because I can share folders so that they have reliable access to the content. There are a few clients I have that do not work with Google Docs, and so I must download the files into a format that can be used. What I do for this is download in .odt format, open the document in [LibreOffice][8] (Figure 2), format as needed, save in a format required by the client, and send the document on.
![Google Doc][10]
Figure 2: My Google Doc download opened in LibreOffice.
[Used with permission][7]
And that, is the end of the line for nonfiction.
### Fiction
This is where it gets a bit more complicated. The beginning steps are the same, as I always write every first draft of a novel in Google Docs. Once that is complete, I then download the file to my Linux desktop, open the file in LibreOffice, format as necessary, and then save as a file type supported by my editor (unfortunately, that means .docx).
The next step in the process gets a bit dicey. My editor prefers to use comments over track changes (as it makes it easier for both of us to read the document as we make changes). Because of this, a 60k word doc can include hundreds upon hundreds of comments, which slows LibreOffice to a useless crawl. Once upon a time, you could up the memory used for documents, but as of LibreOffice 6, that is no longer possible. This means any larger, novel-length, document with numerous comments will become unusable. Because of that, Ive had to take drastic measures and use [WPS Office][11] (Figure 3). Although this isnt an open source solution, WPS Office does a fine job with numerous comments in a document, so theres no need to deal with the frustration that is LibreOffice (when working with these large files with hundreds of comments).
![comments][13]
Figure 3: WPS handles numerous comments with ease.
[Used with permission][7]
Once my editor and I finish up the edits for the book (and all comments have been removed), I can then open the file in LibreOffice for final formatting. When the formatting is complete, I save the file in .html format and then open the file in [Calibre][14] for exporting the file to .mobi and .epub formats.
Calibre is a must-have for anyone looking to publish on Amazon, Barnes & Noble, Smashwords, or other platforms. One thing Calibre does better than other, similar, solutions is enable you to directly edit the .epub files (Figure 4). For the likes of Smashword, this is an absolute necessity (as the export process will add elements not accepted on the Smashwords conversion tool).
![Calibre][16]
Figure 4: Editing an epub file directly in Calibre.
[Creative Commons Zero][17]
After the writing process is over (or sometimes while waiting for an editor to complete a pass), Ill start working on the cover for the book. That task is handled completely in Gimp (Figure 5).
![Using Gimp][19]
Figure 5: Creating the cover of POTUS in Gimp.
[Used with permission][7]
And that finishes up the process of creating a work of fiction on the Linux platform. Because of the length of the documents, and how some editors work, it can get a bit more complicated than the process of creating nonfiction, but its far from challenging. In fact, creating fiction on Linux is just as simple (and more reliable) than other platforms.
### HTH
I hope this helps aspiring writers to have the confidence to write on the Linux platform. There are plenty of other tools available to use, but the ones I have listed here have served me quite well over the years. And although I do make use of a couple of proprietary tools, as long as they keep working well on Linux, Im okay with that.
Learn more about Linux in the[ Introduction to Open Source Development, Git, and Linux (LFD201) ][20]training course from The Linux Foundation, and sign up now to start your open source journey.
--------------------------------------------------------------------------------
via: https://www.linux.com/learn/2018/11/must-have-tools-writers-linux-platform
作者:[Jack Wallen][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.linux.com/users/jlwallen
[b]: https://github.com/lujun9972
[1]: https://www.zoho.com/
[2]: https://nextcloud.com/
[3]: https://www.insynchq.com
[4]: https://www.gimp.org/
[5]: /files/images/writingtools1jpg
[6]: https://www.linux.com/sites/lcom/files/styles/floated_images/public/writingtools_1.jpg?itok=Uko7DZ8U (screenshot with Gimp)
[7]: /licenses/category/used-permission
[8]: https://www.libreoffice.org/
[9]: /files/images/writingtools2jpg
[10]: https://www.linux.com/sites/lcom/files/styles/rendered_file/public/writingtools_2.jpg?itok=vDgxd8hu (Google Doc)
[11]: https://www.wps.com/en-US/
[12]: /files/images/writingtools3jpg
[13]: https://www.linux.com/sites/lcom/files/styles/rendered_file/public/writingtools_3.jpg?itok=AYrsfz01 (comments)
[14]: https://calibre-ebook.com/
[15]: /files/images/writingtools4jpg
[16]: https://www.linux.com/sites/lcom/files/styles/rendered_file/public/writingtools_4.jpg?itok=wFMEsL7b (Calibre)
[17]: /licenses/category/creative-commons-zero
[18]: /files/images/writingtools5jpg
[19]: https://www.linux.com/sites/lcom/files/styles/rendered_file/public/writingtools_5.jpg?itok=e7SZCgip (Using Gimp)
[20]: https://training.linuxfoundation.org/training/introduction-to-open-source-development-git-and-linux/?utm_source=linux.com&utm_medium=article&utm_campaign=lfd201

View File

@ -1,121 +0,0 @@
[#]: collector: (lujun9972)
[#]: translator: (wxy)
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )
[#]: subject: (What you need to know to be a sysadmin)
[#]: via: (https://opensource.com/article/19/7/be-a-sysadmin)
[#]: author: (Seth Kenlon https://opensource.com/users/sethhttps://opensource.com/users/marcobravohttps://opensource.com/users/kimvila)
What you need to know to be a sysadmin
======
Kickstart your sysadmin career by gaining these minimum competencies.
![People work on a computer server with devices][1]
The system administrator of yesteryear jockeyed users and wrangled servers all day, in between mornings and evenings spent running hundreds of meters of hundreds of cables. This is still true today, with the added complexity of cloud computing, containers, and virtual machines.
Looking in from the outside, it can be difficult to pinpoint what exactly a sysadmin does, because they play at least a small role in so many places. Nobody goes into a career already knowing everything they need for a job, but everyone needs a strong foundation. If you're looking to start down the path of system administration, here's what you should be concentrating on in your personal or formal training.
### Bash
When you learn the Bash shell, you don't just learn the Bash shell. You learn a common interface to Linux systems, BSD, MacOS, and even Windows (under the right conditions). You learn the importance of syntax, so you can quickly adapt to systems like Cisco routers' command line or Microsoft's PowerShell, and eventually, you can even learn more powerful languages like Python or Go. And you also begin to think procedurally so you can analyze complex problems and break them down into individual components, which is key because _that's_ how systems, like the internet, or an organization's intranet, or a web server, or a backup solution, are designed.
But wait. There's more.
Knowing the Bash shell has become particularly important because of the recent trend toward DevOps and [containers][2]. Your career as a sysadmin may lead you into a world where infrastructure is treated like code, which usually means you'll have to know the basics of scripting, the structure of [YAML-based][3] configuration, and how to [interact][4] with [containers][5] (tiny Linux systems running inside a [sandboxed file][6]). Knowing Bash is the gateway to efficient management of the most exciting open source technology, so go get [Bourne Again][7].
#### Resources
There are many ways to get practice in the Bash shell.
Try a [portable Linux distribution][8]. You don't have to install Linux to use Linux, so grab a spare thumb drive and spend your evenings or weekends getting comfortable with a text-based interface.
There are several excellent [Bash articles][9] available here on opensource.com as well as [on Enable SysAdmin][10].
The problem with telling someone to practice with Bash is that to practice, you must have something to do. And until you know how to use Bash, you probably won't be able to think of anything to do. If that's your situation, go to Over The Wire and play [Bandit][11]. It's a game aimed at absolute beginners, with 34 levels of interactive basic hacking to get you comfortable with the Linux shell.
### Web server setup
Once you're comfortable with Bash, you should try setting up a web server. Not all sysadmins go around setting up web servers or even maintain web servers, but the skills you acquire while installing and starting the HTTP daemon, configuring Apache or Nginx, setting up the [correct permissions][12], and [configuring a firewall][13], are the same skills you need on a daily basis. After a little bit of effort, you may start to notice certain patterns in your labor. There are concepts you probably took for granted before trying to administer production-ready software and hardware, and you're no longer shielded from them in your fledgling role as an administrator. It might be frustrating at first because everyone likes to be good at everything they do, but that's actually a good thing. Let yourself be bad at new skills. That's how you learn.
And besides, the more you struggle through your first steps, the sweeter it is when you finally see that triumphant "it works!" default index.html.
#### Resources
David Both wrote an excellent article on [Apache web server][14] configuration. For extra credit, step through his follow-up article on how to [host multiple sites][15] on one machine.
### DHCP
The Dynamic Host Configuration Protocol (DHCP) is the system that assigns IP addresses to devices on a network. At home, the modem or router your ISP (internet service provider) supports probably has an embedded DHCP server in it, so it's likely out of your purview. If you've ever logged into your home router to adjust the IP address range or set up a static address for some of your network devices, then you're at least somewhat familiar with the concept. You may understand that devices on a network are assigned the equivalent of phone numbers in the form of IP addresses, and you may realize that computers communicate with one another by broadcasting messages addressed to a specific IP address. Message headers are read by routers along the path, each of which works to direct the message to the next most logical router along the path toward its ultimate goal.
Even if you understand these concepts, the inevitable escalation of basic familiarity with DHCP is to set up a DHCP server. Installing and configuring your own DHCP server provides you the opportunity to introduce DHCP collisions on your home network (try to avoid that, if you can, as it will definitely kill your network until it's resolved), control the distribution of addresses, create subnets, and monitor connections and lease times.
More importantly, setting up DHCP and experimenting with different configurations helps you understand inter-networking. You understand how networks represent "partitions" in data transference and what steps you have to take to pass information from one to the other. That's vital for a sysadmin to know because the network is easily one of the most important aspects of the job.
#### Resources
Before running your own DHCP server, ensure that the DHCP server in your home router (if you have one) is inactive. Once you have it up and running, read Archit Modi's [guide to network commands][16] for tips on how to explore your network.
### Network cables
It might sound mundane, but getting familiar with how network cables work not only makes for a really fun weekend but also gives you a whole new understanding of how data gets across the wires. The best way to learn is to go to your local hobby shop and purchase a Cat 5 cutter and crimper and a few Cat 5 terminators. Then head home, grab a spare Ethernet cable, and cut the terminators off. Spend whatever amount of time it takes to get that cable back in commission.
Once you have solved that puzzle, do it again, this time creating a working [crossover cable][17].
You should also start obsessing _now_ about cable management. If you're not naturally inclined to run cables neatly along the floor molding or the edges of a desk or to bind cables together to keep them orderly, then make it a goal to permanently condition yourself with a phobia of messy cables. You won't understand why this is necessary at first, but the first time you walk into a server room, you will immediately know.
### Ansible
[Ansible][18] is configuration management software, and it's a bit of a bridge between sysadmin and DevOps. Sysadmins use Ansible to configure fresh installs of an operating system and to maintain specific states on machines. DevOps uses Ansible to reduce time and effort spent on tooling so that more time and effort gets spent on developing. You should learn Ansible as part of your sysadmin training, with an eye toward the practices of DevOps, because most of what DevOps is pioneering now will end up as part of your workflow in the system administration of the future.
The good thing about Ansible is that you can start using it now. It's cross-platform, and it scales both up and down. Ansible may be overkill for a single-user computer, but then again, Ansible could change the way you spin up virtual machines, or it could help you synchronize the states of all the computers in your home or [home lab][19].
#### Resources
Read "[How to manage your workstation configuration with Ansible][20]" by Jay LaCroix for the quintessential introduction to get started with Ansible on a casual basis.
### Break stuff
Problems arise on computers because of user error, buggy software, administrator (that's you!) error, and any number of other factors. There's no way to predict what's going to fail or why, so part of your personal sysadmin training regime should be to poke at the systems you set up until they fail. The worse you are to your own lab infrastructure, the more likely you are to find weak points. And the more often you repair those weak spots, the more confident you become in your problem-solving skills.
Aside from the rigors of setting up all the usual software and hardware, your primary job as a sysadmin is to find solutions. There will be times when you encounter a problem outside your job description, and it may not even be possible for you to fix it, but it'll be up to you to find a workaround.
The more you break stuff now and work to fix it, the better prepared you will be to work as a sysadmin.
* * *
Are you a working sysadmin? Are there tasks you wish you'd prepared better for? Add them in the comments below!
--------------------------------------------------------------------------------
via: https://opensource.com/article/19/7/be-a-sysadmin
作者:[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/sethhttps://opensource.com/users/marcobravohttps://opensource.com/users/kimvila
[b]: https://github.com/lujun9972
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/rh_003499_01_linux11x_cc.png?itok=XMDOouJR (People work on a computer server with devices)
[2]: https://opensource.com/article/19/6/kubernetes-dump-truck
[3]: https://www.redhat.com/sysadmin/yaml-tips
[4]: https://opensource.com/article/19/6/how-ssh-running-container
[5]: https://opensource.com/resources/what-are-linux-containers
[6]: https://opensource.com/article/18/11/behind-scenes-linux-containers
[7]: https://opensource.com/article/18/7/admin-guide-bash
[8]: https://opensource.com/article/19/6/linux-distros-to-try
[9]: https://opensource.com/tags/bash
[10]: https://www.redhat.com/sysadmin/managing-files-linux-terminal
[11]: http://overthewire.org/wargames/bandit
[12]: https://opensource.com/article/19/6/understanding-linux-permissions
[13]: https://www.redhat.com/sysadmin/secure-linux-network-firewall-cmd
[14]: https://opensource.com/article/18/2/how-configure-apache-web-server
[15]: https://opensource.com/article/18/3/configuring-multiple-web-sites-apache
[16]: https://opensource.com/article/18/7/sysadmin-guide-networking-commands
[17]: https://en.wikipedia.org/wiki/Ethernet_crossover_cable
[18]: https://opensource.com/sitewide-search?search_api_views_fulltext=ansible
[19]: https://opensource.com/article/19/6/create-centos-homelab-hour
[20]: https://opensource.com/article/18/3/manage-workstation-ansible

View File

@ -0,0 +1,303 @@
[#]: collector: (lujun9972)
[#]: translator: ( )
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )
[#]: subject: (25 Raspberry Pi Project Ideas to Put Your Pi to Some Good Use)
[#]: via: (https://itsfoss.com/raspberry-pi-projects/)
[#]: author: (Ankush Das https://itsfoss.com/author/ankush/)
25 Raspberry Pi Project Ideas to Put Your Pi to Some Good Use
======
It wont be an exaggeration if I call Raspberry Pi a revolutionary gadget. When it was first launched in the year 2011-12, people just couldnt believe that a computer can be available in just $25.
If you bought a Pi and wondering what should do with my Raspberry Pi, I have got your back. I am going to list some cool Raspberry Pi projects that you can start following in your free time.
These Raspberry Pi project ideas are not limited to Pi. You can use them with other [Raspberry Pi like devices such as Orange Pi, Khadas][1] etc.
### 25 Cool Raspberry Pi Projects
I have listed several these project ideas by categorizing them in terms of the level of complexity (beginner, intermediate, and advanced). Some projects need additional equipment and sensors as well.
Of course, it is worth noting that it will be subjective to what expertise you have. So, let us take a look at the project ideas.
**Beginner Level Raspberry Pi Projects**
#### 1\. Media Server
Building a media server using Rasberry Pi is the most common and probably the easiest project there is.
You can take a look at some of the [best media server software][2] available for Linux and get started.
To know more about it, you can refer to the official documentation of [using Kodi with Raspberry Pi][3] (which is one of the media server software available).
[Using Kodi On Raspberry Pi][3]
#### 2\. Weather Station
![][4]
If youre good at building projects with electronic components, building a weather station using Raspberry Pi should be fun for you.
This may not be the easiest one to start with but its quite simple if you carefully look into the project requirements.
You will be able to collect weather data using a variety of sensors as per your requirements. The project has been listed on the official website to help you build it as easily as possible.
[Weather Station Project][5]
#### 3\. The Parent Detector
![][6]
Yet another project from Raspberry Pis official website, this project uses minimal hardware to set up a motion detector which then triggers a video recording using the Raspberry Pi camera module.
The use-case for this can be a lot of things. If you are a parent, you can keep an eye on your child when they enter their room. In either case, this can also come in handy to keep an eye on your door as a security measure to check when someone arrives.
You can find all the necessary details on Raspberry Pis official site.
[The Parent Detector][7]
#### 4\. FM Radio Station
Raspberry Pi is an inexpensive device for making an FM radio station. The pre-requisites may not be much but is worth exploring for fun.
Do note that you may not want to interfere with the local FM frequencies. You can find all the details to set it up by clicking the button below.
[FM Radio Transmitter][8]
#### 5\. Minecraft Game Sever
![][9]
Minecraft is a quite popular game. However, if you want a personal server, you might have to pay a premium.
Fret not, you can use your Raspberry Pi to build a local server, create your own world and have fun with your family/friends.
[Minecraft Game Server][10]
#### 6\. Temperature Log
It was something interesting I found on the official website to help you learn a few things like how to write data to a file etc.
Here, you will be recording the temperature using the sensor present.
For this, you will be utilizing the command-line to monitor the temperature of Raspberry Pi.
[Temperature Log][11]
#### 7\. Retro Gaming Console
You can turn your Raspberry Pi into a gaming console by simply installing an OS on an SD card and transfer a few files to it.
We also have an article on how you can [turn your old PC into a Retrogaming console][12] if you are curious.
I have linked a resource to help you make this project in the button below:
[Retro Gaming Console][13]
#### 8\. Full-Fledged Desktop
![][14]
If you do not want to invest a lot to build a PC, you can easily utilize your Raspberry Pi to build one.
Technically, your Raspberry Pi will be the heart of your PC and you will need to add accessories (monitor, keyboard, mouse, etc) to turn it into a PC. You can also choose to build a custom case for the board if you want which is totally optional.
Obviously, the PC wont be powerful enough for all kinds of tasks but it will be usable. You can also check out the experience of having [Raspberry Pi 4 as a desktop replacement][15] on their official website as a reference to this project.
[Full-Fledged Desktop][16]
**Intermediate Level Raspberry Pi Project Ideas**
#### 9\. Build a LAMP Web Server with WordPress
If you are into web development, you can try setting up a LAMP (Linux + Apache + MySQL + PHP) server and install WordPress to create a website. You can also choose to make something else from scratch without installing WordPress.
You will be able to access the site on any device on the same network as your Raspberry Pi.
[Build a LAMP Web Server][17]
#### 10\. Laser Tripwire
It is a similar concept to the parent detector that uses a motion sensor. In this case, a laser beam is used to detect activity whenever someone breaks the beam.
You just need a few things to set up the alarm and complete the tripwire. Of course, this is a simple project to start with that has potentially different applications.
[Laser Tripwire][18]
#### 11\. Print Server
What if you can turn your old printer to work on a network of devices even without requiring a built-in WiFi feature?
Well, thats what this project is about. You will be able to access your printer from multiple devices using a print server. Check out all the details to help build one by clicking the button below.
[Raspberry Pi Print Server][19]
#### 12\. Time Lapse Camera
Looking for a cheap dedicated time-lapse camera? Well, you can do it yourself with a Raspberry Pi.
You can use the Pi camera module or explore other options as well.
[Time-Lapse Camera][20]
#### 13\. Music Box
You can build a button-controlled music box using Raspberry Pi to have a great time with your kids or anyone who loves music.
When you press a button, it will play a sound. You can find the short description of the project in the video above, for more details click on the button below.
[Music Box][21]
#### 14\. Google Home On Raspberry Pi
If you could configure and set up Google Assistant on your Raspberry Pi, you can turn it into an inexpensive Google Home DIY alternative, right?
Fortunately, you can achieve that with your Raspberry Pi. Find out more about it in the video above.
#### 15\. Build Smart TV Box
If you know how to set up a media server on Raspberry Pi (as mentioned in the first project idea of this article), you can make this happen too.
With the help of the Kodi box (or similar), you can build your own personal smart TV box powered by the media server of your choice.
[Smart TV Box][22]
#### 16\. Add Gesture Controls To Raspberry Pi
You can add the ability to have gesture controls for any of your projects on Raspberry Pi using a [Flick board][23].
It may not be the cheapest project but it is an impressive touch for your Raspberry Pi project.
[Gesture Controls][23]
**Advanced Level Raspberry Pi Project Ideas**
#### 17\. Tor Router
If you are someone who wants to explore ways to enhance your personal digital privacy, you can start by building your own local Tor onion router.
With this, you can scramble your Internet connection and remain anonymous with your browsing activities. It is just something like a VPN but technically different.
[Tor Router][24]
#### 18\. Control LEDs with your voice
![][25]
This is quite interesting. I have already mentioned a project where you can set up Google Assistant on your Raspberry Pi. However, in this case, you will be able to control the LEDs with your voice.
You will not need the assistant this time, all you need is the [Google AIY voice kit][26]. This has been featured on the list of official DIY projects using Raspberry Pi, you can get more information there.
[Control LEDs With Voice][27]
#### 19\. WiFi Extender
If you want to increase the range of your WiFi network, you might have to opt for a premium gadget that can help you do that or you can utilize Raspberry Pi to get the job done.
Yes, thats right, you can build a WiFi extender by just using your Raspberry Pi.
[WiFi Extender][28]
#### 20\. VPN Server
You do not need to trust the VPN providers if you can build your own local VPN server. It can be quite challenging to make it happen.
So, if you are up for some action, you can use your Raspberry Pi to make a private VPN server for your connection. Explore more about it here:
[VPN Server][29]
#### 21\. Home Automation Using Raspberry Pi
A lot of powerful projects can be done using the Raspberry Pi, one of which is Home Automation.
If I want to implement home automation, it will be expensive. But, if I end up using Raspberry Pi to create something similar, it will require less investment. Of course, you will have to explore and improve to make it a reliable system but you can get started with the basics.
[Home Automation][30]
#### 22\. Local Cloud Server
You can also build your own cloud using Raspberry Pi. You can also install Nextcloud on it to protect and store your data.
A lot of exciting things to explore once you have your own cloud, right?
[Local Cloud Server][31]
#### 23\. Portable Hacking Device
Let me make one thing clear, I am not encouraging you to do something illegal (just like the movies) by building a portable hacking device.
So, just for educational/testing purposes, feel free to try making your own portable device for hacking using Raspberry Pi.
[Portable Hacking Device][32]
#### 24\. Smart Gloves
Making a pair of smart gloves is really a cool project with Raspberry Pi. In my college days, I witnessed a senior make this thing, it was interesting.
You can refer to the official resource for this project and get started.
[Smart Gloves][33]
#### 25\. Ad Blocker
With Raspberry Pi, you can easily implement a network-wide Adblocker so that you wont have to install adblockers separately on devices or browsers.
You need to utilize Pi-Hole (the ad blocker) to set it up. Check out the video above and the official resource through the button below.
[Ad Blocker][34]
**Wrapping Up**
Here, I listed some of the most interesting projects that I could find that might come in handy for you.
If you know some other cool ideas, let me know in the comments down below. I might update this list of Raspberry Pi projects with your idea.
--------------------------------------------------------------------------------
via: https://itsfoss.com/raspberry-pi-projects/
作者:[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://itsfoss.com/author/ankush/
[b]: https://github.com/lujun9972
[1]: https://itsfoss.com/raspberry-pi-alternatives/
[2]: https://itsfoss.com/best-linux-media-server/
[3]: https://www.raspberrypi.org/documentation/usage/kodi/
[4]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2019/11/diy-weather-station.jpg?ssl=1
[5]: https://projects.raspberrypi.org/en/projects/build-your-own-weather-station
[6]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2019/11/parents-detector-pi.png?ssl=1
[7]: https://projects.raspberrypi.org/en/projects/parent-detector
[8]: https://circuitdigest.com/microcontroller-projects/raspberry-pi-fm-transmitter
[9]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2019/11/minecraft-game-server.jpg?ssl=1
[10]: https://www.makeuseof.com/tag/setup-minecraft-server-raspberry-pi/
[11]: https://projects.raspberrypi.org/en/projects/temperature-log
[12]: https://itsfoss.com/lakka-retrogaming-linux/
[13]: https://lifehacker.com/how-to-turn-your-raspberry-pi-into-a-retro-game-console-498561192
[14]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2019/11/raspberry-pi-desktop.jpg?ssl=1
[15]: https://www.raspberrypi.org/blog/raspberry-pi-4-a-full-desktop-replacement/
[16]: https://www.makeuseof.com/tag/use-your-raspberry-pi-like-a-desktop-pc/
[17]: https://projects.raspberrypi.org/en/projects/lamp-web-server-with-wordpress
[18]: https://projects.raspberrypi.org/en/projects/laser-tripwire
[19]: https://circuitdigest.com/microcontroller-projects/raspberry-pi-print-server
[20]: https://projects.raspberrypi.org/en/projects/raspberry-pi-zero-time-lapse-cam
[21]: https://projects.raspberrypi.org/en/projects/gpio-music-box
[22]: https://www.modmy.com/kodi-box-guide
[23]: https://magpi.raspberrypi.org/articles/flick-hat-swipe-gestures-raspberry-pi
[24]: https://magpi.raspberrypi.org/articles/tor-router
[25]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2019/11/control-led-voice-raspberry-pi.jpg?fit=800%2C450&ssl=1
[26]: https://aiyprojects.withgoogle.com/voice
[27]: https://projects.raspberrypi.org/en/projects/google-voice-aiy/
[28]: https://pimylifeup.com/raspberry-pi-wifi-extender/
[29]: https://www.comparitech.com/blog/vpn-privacy/raspberry-pi-vpn/
[30]: https://circuitdigest.com/microcontroller-projects/iot-raspberry-pi-home-automation
[31]: https://opensource.com/article/18/9/host-cloud-nas-raspberry-pi
[32]: https://www.hackster.io/mehedishakeel/portable-hacking-machine-kali-linux-raspberry-pi-touch-18b7c3
[33]: https://www.raspberrypi.org/blog/raspberry-pi-glove/
[34]: https://www.raspberrypi.org/blog/pi-hole-raspberry-pi/