Merge pull request #10887 from LCTT/revert-10845-master

Revert "20180129 The 5 Best Linux Distributions for Development"
This commit is contained in:
Xingyu.Wang 2018-10-25 22:38:27 +08:00 committed by GitHub
commit f6a014b382
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 158 additions and 102 deletions

View File

@ -0,0 +1,158 @@
The 5 Best Linux Distributions for Development
============================================================
![Linux distros for devs](https://www.linux.com/sites/lcom/files/styles/rendered_file/public/king-penguins_1920.jpg?itok=qmy8htw6 "Linux distros for devs")
Jack Wallen looks at some of the best LInux distributions for development efforts.[Creative Commons Zero][6]
When considering Linux, there are so many variables to take into account. What package manager do you wish to use? Do you prefer a modern or old-standard desktop interface? Is ease of use your priority? How flexible do you want your distribution? What task will the distribution serve?
It is that last question which should often be considered first. Is the distribution going to work as a desktop or a server? Will you be doing network or system audits? Or will you be developing? If youve spent much time considering Linux, you know that for every task there are several well-suited distributions. This certainly holds true for developers. Even though Linux, by design, is an ideal platform for developers, there are certain distributions that rise above the rest, to serve as great operating systems to serve developers.
I want to share what I consider to be some of the best distributions for your development efforts. Although each of these five distributions can be used for general purpose development (with maybe one exception), they each serve a specific purpose. You may or may not be surprised by the selections.
With that said, lets get to the choices.
### Debian
The [Debian][14] distribution winds up on the top of many a Linux list. With good reason. Debian is that distribution from which so many are based. It is this reason why many developers choose Debian. When you develop a piece of software on Debian, chances are very good that package will also work on [Ubuntu][15], [Linux Mint][16], [Elementary OS][17], and a vast collection of other distributions.
Beyond that obvious answer, Debian also has a very large amount of applications available, by way of the default repositories (Figure 1).
![Debian apps](https://www.linux.com/sites/lcom/files/styles/rendered_file/public/devel_1.jpg?itok=3mpkS3Kp "Debian apps")
Figure 1: Available applications from the standard Debian repositories.[Used with permission][1]
To make matters even programmer-friendly, those applications (and their dependencies) are simple to install. Take, for instance, the build-essential package (which can be installed on any distribution derived from Debian). This package includes the likes of dkpg-dev, g++, gcc, hurd-dev, libc-dev, and make—all tools necessary for the development process. The build-essential package can be installed with the command sudo apt install build-essential.
There are hundreds of other developer-specific applications available from the standard repositories, tools such as:
* Autoconf—configure script builder
* Autoproject—creates a source package for a new program
* Bison—general purpose parser generator
* Bluefish—powerful GUI editor, targeted towards programmers
* Geany—lightweight IDE
* Kate—powerful text editor
* Eclipse—helps builders independently develop tools that integrate with other peoples tools
The list goes on and on.
Debian is also as rock-solid a distribution as youll find, so theres very little concern youll lose precious work, by way of the desktop crashing. As a bonus, all programs included with Debian have met the [Debian Free Software Guidelines][18], which adheres to the following “social contract”:
* Debian will remain 100% free.
* We will give back to the free software community.
* We will not hide problems.
* Our priorities are our users and free software
* Works that do not meet our free software standards are included in a non-free archive.
Also, if youre new to developing on Linux, Debian has a handy [Programming section in their user manual][19].
### openSUSE Tumbleweed
If youre looking to develop with a cutting-edge, rolling release distribution, [openSUSE][20] offers one of the best in [Tumbleweed][21]. Not only will you be developing with the most up to date software available, youll be doing so with the help of openSUSEs amazing administrator tools … of which includes YaST. If youre not familiar with YaST (Yet another Setup Tool), its an incredibly powerful piece of software that allows you to manage the whole of the platform, from one convenient location. From within YaST, you can also install using RPM Groups. Open YaST, click on RPM Groups (software grouped together by purpose), and scroll down to the Development section to see the large amount of groups available for installation (Figure 2).
![openSUSE](https://www.linux.com/sites/lcom/files/styles/rendered_file/public/devel_2.jpg?itok=EeCjn1cx "openSUSE")
Figure 2: Installing package groups in openSUSE Tumbleweed.[Creative Commons Zero][2]
openSUSE also allows you to quickly install all the necessary devtools with the simple click of a weblink. Head over to the [rpmdevtools install site][22] and click the link for Tumbleweed. This will automatically add the necessary repository and install rpmdevtools.
By developing with a rolling release distribution, you know youre working with the most recent releases of installed software.
### CentOS
Lets face it, [Red Hat Enterprise Linux][23] (RHEL) is the de facto standard for enterprise businesses. If youre looking to develop for that particular platform, and you cant afford a RHEL license, you cannot go wrong with [CentOS][24]—which is, effectively, a community version of RHEL. You will find many of the packages found on CentOS to be the same as in RHEL—so once youre familiar with developing on one, youll be fine on the other.
If youre serious about developing on an enterprise-grade platform, you cannot go wrong starting with CentOS. And because CentOS is a server-specific distribution, you can more easily develop for a web-centric platform. Instead of developing your work and then migrating it to a server (hosted on a different machine), you can easily have CentOS setup to serve as an ideal host for both developing and testing.
Looking for software to meet your development needs? You only need open up the CentOS Application Installer, where youll find a Developer section that includes a dedicated sub-section for Integrated Development Environments (IDEs - Figure 3).
![CentOS](https://www.linux.com/sites/lcom/files/styles/rendered_file/public/devel_3.jpg?itok=0oe4zj9j "CentOS")
Figure 3: Installing a powerful IDE is simple in CentOS.[Used with permission][3]
CentOS also includes Security Enhanced Linux (SELinux), which makes it easier for you to test your softwares ability to integrate with the same security platform found in RHEL. SELinux can often cause headaches for poorly designed software, so having it at the ready can be a real boon for ensuring your applications work on the likes of RHEL. If youre not sure where to start with developing on CentOS 7, you can read through the [RHEL 7 Developer Guide][25].
### Raspbian
Lets face it, embedded systems are all the rage. One easy means of working with such systems is via the Raspberry Pi—a tiny footprint computer that has become incredibly powerful and flexible. In fact, the Raspberry Pi has become the hardware used by DIYers all over the planet. Powering those devices is the [Raspbian][26] operating system. Raspbian includes tools like [BlueJ][27], [Geany][28], [Greenfoot][29], [Sense HAT Emulator][30], [Sonic Pi][31], and [Thonny Python IDE][32], [Python][33], and [Scratch][34], so you wont want for the necessary development software. Raspbian also includes a user-friendly desktop UI (Figure 4), to make things even easier.
![Raspbian](https://www.linux.com/sites/lcom/files/styles/rendered_file/public/devel_4.jpg?itok=VLoYak6L "Raspbian")
Figure 4: The Raspbian main menu, showing pre-installed developer software.[Used with permission][4]
For anyone looking to develop for the Raspberry Pi platform, Raspbian is a must have. If youd like to give Raspbian a go, without the Raspberry Pi hardware, you can always install it as a VirtualBox virtual machine, by way of the ISO image found [here][35].
### Pop!_OS
Dont let the name full you, [System76][36]s [Pop!_OS][37] entry into the world of operating systems is serious. And although what System76 has done to this Ubuntu derivative may not be readily obvious, it is something special.
The goal of System76 is to create an operating system specific to the developer, maker, and computer science professional. With a newly-designed GNOME theme, Pop!_OS is beautiful (Figure 5) and as highly functional as you would expect from both the hardware maker and desktop designers.
### [devel_5.jpg][11]
![Pop!_OS](https://www.linux.com/sites/lcom/files/styles/rendered_file/public/devel_5.jpg?itok=n4K7k7Gd "Pop!_OS")
Figure 5: The Pop!_OS Desktop.[Used with permission][5]
But what makes Pop!_OS special is the fact that it is being developed by a company dedicated to Linux hardware. This means, when you purchase a System76 laptop, desktop, or server, you know the operating system will work seamlessly with the hardware—on a level no other company can offer. I would predict that, with Pop!_OS, System76 will become the Apple of Linux.
### Time for work
In their own way, each of these distributions. You have a stable desktop (Debian), a cutting-edge desktop (openSUSE Tumbleweed), a server (CentOS), an embedded platform (Raspbian), and a distribution to seamless meld with hardware (Pop!_OS). With the exception of Raspbian, any one of these distributions would serve as an outstanding development platform. Get one installed and start working on your next project with confidence.
_Learn more about Linux through the free ["Introduction to Linux" ][13]course from The Linux Foundation and edX._
--------------------------------------------------------------------------------
via: https://www.linux.com/blog/learn/intro-to-linux/2018/1/5-best-linux-distributions-development
作者:[JACK WALLEN ][a]
译者:[译者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
[1]:https://www.linux.com/licenses/category/used-permission
[2]:https://www.linux.com/licenses/category/creative-commons-zero
[3]:https://www.linux.com/licenses/category/used-permission
[4]:https://www.linux.com/licenses/category/used-permission
[5]:https://www.linux.com/licenses/category/used-permission
[6]:https://www.linux.com/licenses/category/creative-commons-zero
[7]:https://www.linux.com/files/images/devel1jpg
[8]:https://www.linux.com/files/images/devel2jpg
[9]:https://www.linux.com/files/images/devel3jpg
[10]:https://www.linux.com/files/images/devel4jpg
[11]:https://www.linux.com/files/images/devel5jpg
[12]:https://www.linux.com/files/images/king-penguins1920jpg
[13]:https://training.linuxfoundation.org/linux-courses/system-administration-training/introduction-to-linux
[14]:https://www.debian.org/
[15]:https://www.ubuntu.com/
[16]:https://linuxmint.com/
[17]:https://elementary.io/
[18]:https://www.debian.org/social_contract
[19]:https://www.debian.org/doc/manuals/debian-reference/ch12.en.html
[20]:https://www.opensuse.org/
[21]:https://en.opensuse.org/Portal:Tumbleweed
[22]:https://software.opensuse.org/download.html?project=devel%3Atools&package=rpmdevtools
[23]:https://www.redhat.com/en/technologies/linux-platforms/enterprise-linux
[24]:https://www.centos.org/
[25]:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/pdf/developer_guide/Red_Hat_Enterprise_Linux-7-Developer_Guide-en-US.pdf
[26]:https://www.raspberrypi.org/downloads/raspbian/
[27]:https://www.bluej.org/
[28]:https://www.geany.org/
[29]:https://www.greenfoot.org/
[30]:https://www.raspberrypi.org/blog/sense-hat-emulator/
[31]:http://sonic-pi.net/
[32]:http://thonny.org/
[33]:https://www.python.org/
[34]:https://scratch.mit.edu/
[35]:http://rpf.io/x86iso
[36]:https://system76.com/
[37]:https://system76.com/pop

View File

@ -1,102 +0,0 @@
对于开发者来说5个最好的Linux发行版
============================================================
![Linux distros for devs](https://www.linux.com/sites/lcom/files/styles/rendered_file/public/king-penguins_1920.jpg?itok=qmy8htw6 "Linux distros for devs")
Jack Wallen介绍了一些非常适合用来做开发工作的Linux发行版本.[Creative Commons Zero][6]
在考虑使用Linux时需要做很多的考量。你希望使用什么包管理器你更喜欢现代还是比较旧的桌面界面易用性是你使用Linux的首选吗你希望分发的灵活性发行版的服务性任务是什么
这是你在开始使用Linux之前必须考虑的问题。发行版是作为桌面还是服务器运行你会做网络或者系统审计吗或者你会开发如果你花了很多时间考虑Linux你知道每个任务都有非常合适的Linux发行版。这当然非常适用于开发人员。尽管Linux在设计上对于开发人员来说是一个理想的平台但某些发行版高于其他的发行版可以作为最好的开发人员的操作系统去服务开发人员。
我想来分享我自己认为是你在做开发工作当中的最佳Linux发行版。虽然这五个发行版的每一个都可以用来通用开发可能有一个是例外但是它们都有各自的特定目的你看会或不会对这些选择感觉到惊讶
话虽如此,让我们做出选择
### Debian
在[Debian][14]的发行版中许多Linux列表中排名靠前。 有充分的理由。 Debian是许多人所依赖的发行版. 这就是为什么更多的开发人员去选择debian的理由。 当你在Debian上开发一个软件的时候很有可能该软件包可以适用于[Ubuntu][15], [Linux Mint][16], [Elementary OS][17],以及大量的其他Debian发行版。
除了这个非常明显的答案之外Debian还通过默认存储库提供了大量可用的应用程序图1
![Debian apps](https://www.linux.com/sites/lcom/files/styles/rendered_file/public/devel_1.jpg?itok=3mpkS3Kp "Debian apps")
图 1: 标准的Debian存储库里面可用的应用程序。[Used with permission][1]
为了让程序员友好,这些应用程序 (以及它们的依赖项) 易于安装.例如构建必需的包可以安装在Debian的任何衍生发行版上。该软件包包括dkpg-devg ++gcchurd-devlibc-dev以及开发过程所需的make-all工具。可以使用命令sudo apt install build-essential安装build-essential软件包。
标准存储库当中提供了数百种的特定于开发人员的应用程序,例如:
* Autoconf—配置构建脚本的软件
* Autoproject—为新程序创建源码包
* Bison—通用的解析生成器
* Bluefish—面向程序员的强大GUI编辑器
* Geany—轻量化的IDE
* Kate—强大的文本编辑器
* Eclipse—帮助构建者独立开发与其他工具的集成性软件
这个清单一直在继续更新.
Debian也是你能找到的坚于磐石的发行版因此很少有人担心因为桌面崩溃而让你失去宝贵的工作。作为奖励Debian的所有应用程序都必须符合[Debian自由软件指南][18], 该指南遵守以下 “社会契约”:
* Debian 保持完全免费.
* 我们将无偿回馈自由软件社区.
* 我们不会隐藏问题.
* 我们的首要任务是我们的用户和自由软件
* 不符合我们的免费软件标准的作品在非免费档案中..
此外你不熟悉在Linux上进行开发Debian在其[用户手册][19]中有一个方便编程的部分。
### openSUSE Tumbleweed (滚动更新版)
如果你希望开发出最前沿的滚动发行版本, [openSUSE][20] 将提供最好的[Tumbleweed][21]之一。 还可以借助openSUSE当中令人惊叹的管理员工具其中包括YaST来实现这一目标。如果你不熟悉YaST又一个设置工具的话它是一个非常强大的软件允许您从一个方便的位置来管理整个平台。在YaST中您还可以使用RPM组进行安装。打开YaST单击RPM Groups按目的分组的软件然后向下滚动到Development部分以查看可安装的大量组图2
![openSUSE](https://www.linux.com/sites/lcom/files/styles/rendered_file/public/devel_2.jpg?itok=EeCjn1cx "openSUSE")
图 2: 在openSUSE Tumbleweed中安装软件包组.[Creative Commons Zero][2]
openSUSE还允许您通过简单的单击链接快速安装所有必需的devtools [rpmdevtools安装页面][22] 然后单击Tumbleweed的链接。这将自动添加必要的存储库并安装rpmdevtools
对于开发者来说,通过滚动版本进行开发,你可以知道你已安装的软件是最新版本。
### CentOS
让我们来看一下, [红帽企业版Linux][23] (RHEL) 是企业事务的事实标准. 如果你正在寻找针对特定平台进行开发并且你有点担心无法承担RHEL的许可证那么[CentOS][24]就是你不错的选择— 实际上它是RHEL的社区版本。你会发现CentOS上的许多软件包与RHEL中的软件包相同 - 所以一旦熟悉了一个软件包,你就可以使用其他的软件包。
如果你认真考虑在企业级平台上进行开发那么CentOS就是不错的选择。而且由于CentOS是特定于服务器的发行版因此您可以更轻松地以Web为中心的平台进行开发。您可以轻松地将CentOS作为开发和测试的理想主机而不是开发您的工作然后将其迁移到服务器托管在不同的计算机上.
寻找满足你开发需求的软件? 你只需要打开CentOS软件中心, 其中包含了集成开发环境IDE - 图3的专用子部分
![CentOS](https://www.linux.com/sites/lcom/files/styles/rendered_file/public/devel_3.jpg?itok=0oe4zj9j "CentOS")
图 3: 在CentOS中安装功能强大的IDE很简单。.[Used with permission][3]
Centos还包括安全增强性的LinuxSElinux它使你可以更加轻松的去测试你的软件与RHEL中的同一安全平台的集成功能SElinux经常会让设计不佳的软件感到头疼因此准备了它可以真正有利于确保你的应用程序在RHEL之类的应用程序上面运行。如果你不确定如何在Centos上进行开发工作。你可以阅读[RHEL 7 开发人员指南][25].
### Raspbian
让我们来看一下, 嵌入式操作系统风靡一时. 使用这种 操作系统最简单的一种方法就是通过Raspberry Pi——一种极小的单片机也可以称为小型计算机. 事实上,Raspberry Pi 已经成为了全球喜爱DIY用户使用的硬件. 为这些 设备供电的是 [Raspbian][26]操作系统. Raspbian包含[BlueJ][27], [Geany][28], [Greenfoot][29], [Sense HAT Emulator][30], [Sonic Pi][31], 和 [Thonny Python IDE][32], [Python][33], 和 [Scratch][34]等一些工具, 因此你不需要开发软件。Raspbian还包括一个用户友好的桌面UI图4使事情变得更加容易。
![Raspbian](https://www.linux.com/sites/lcom/files/styles/rendered_file/public/devel_4.jpg?itok=VLoYak6L "Raspbian")
图 4: Raspbian主菜单显示预安装的开发人员软件.[Used with permission][4]
对于任何想要对Raspberry Pi平台开发的人来说Raspbian是必要的。如果你想在不使用Raspberry Pi硬件的情况下使用Raspbian系统您可以通过下载[此处][35]的ISO映像将其安装在VirtualBox虚拟机中
### Pop!_OS
不要让这个名字迷惑你,,不要让这个名字迷惑你, 进入[System76][36]的 [Pop!_OS][37]操作系统世界是非常严格的. 虽然System76对这个Ubuntu衍生产品做了很多修改但不是很明显但这是特别的。
System76的目标是创建一个特定于开发人员制造商和计算机科学专业人员的操作系统。通过新设计的GNOME主题Pop_OS非常漂亮图5并且功能与硬件制造商使桌面设计人员一样强大。
### [devel_5.jpg][11]
![Pop!_OS](https://www.linux.com/sites/lcom/files/styles/rendered_file/public/devel_5.jpg?itok=n4K7k7Gd "Pop!_OS")
图 5: Pop!_OS 桌面.[Used with permission][5]
但是Pop_OS的特殊之处在于它是由一家致力于Linux硬件的公司开发的。这意味着当您购买System76笔记本电脑台式机或服务器时您就会知道操作系统将与硬件无缝协作 - 这是其他公司无法提供的。我预测Pop_OS将使System76将成为Linux界Apple。
### 工作时间
以他们自己的方式每个发行版。你有一个稳定的桌面Debian一个尖端的桌面openSUSE Tumbleweed一个服务器CentOS一个嵌入式平台Raspbian以及一个与硬件无缝融合的发行版Pop_OS。除了Raspbian之外这些发行版中的任何一个都将成为一个出色的开发平台。安装一个并开始自信地开展下一个项目。
可以通过Linux Foundation和edX 免费提供的["Linux简介" ][13]来了解更多的有关Linux信息
--------------------------------------------------------------------------------
via: https://www.linux.com/blog/learn/intro-to-linux/2018/1/5-best-linux-distributions-development
作者:[JACK WALLEN ][a]
译者:[geekmar](https://github.com/geekmar)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]:https://www.linux.com/users/jlwallen
[1]:https://www.linux.com/licenses/category/used-permission
[2]:https://www.linux.com/licenses/category/creative-commons-zero
[3]:https://www.linux.com/licenses/category/used-permission
[4]:https://www.linux.com/licenses/category/used-permission
[5]:https://www.linux.com/licenses/category/used-permission
[6]:https://www.linux.com/licenses/category/creative-commons-zero
[7]:https://www.linux.com/files/images/devel1jpg
[8]:https://www.linux.com/files/images/devel2jpg
[9]:https://www.linux.com/files/images/devel3jpg
[10]:https://www.linux.com/files/images/devel4jpg
[11]:https://www.linux.com/files/images/devel5jpg
[12]:https://www.linux.com/files/images/king-penguins1920jpg
[13]:https://training.linuxfoundation.org/linux-courses/system-administration-training/introduction-to-linux
[14]:https://www.debian.org/
[15]:https://www.ubuntu.com/
[16]:https://linuxmint.com/
[17]:https://elementary.io/
[18]:https://www.debian.org/social_contract
[19]:https://www.debian.org/doc/manuals/debian-reference/ch12.en.html
[20]:https://www.opensuse.org/
[21]:https://en.opensuse.org/Portal:Tumbleweed
[22]:https://software.opensuse.org/download.html?project=devel%3Atools&package=rpmdevtools
[23]:https://www.redhat.com/en/technologies/linux-platforms/enterprise-linux
[24]:https://www.centos.org/
[25]:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/pdf/developer_guide/Red_Hat_Enterprise_Linux-7-Developer_Guide-en-US.pdf
[26]:https://www.raspberrypi.org/downloads/raspbian/
[27]:https://www.bluej.org/
[28]:https://www.geany.org/
[29]:https://www.greenfoot.org/
[30]:https://www.raspberrypi.org/blog/sense-hat-emulator/
[31]:http://sonic-pi.net/
[32]:http://thonny.org/
[33]:https://www.python.org/
[34]:https://scratch.mit.edu/
[35]:http://rpf.io/x86iso
[36]:https://system76.com/
[37]:https://system76.com/pop