mirror of
https://github.com/LCTT/TranslateProject.git
synced 2025-03-24 02:20:09 +08:00
commit
4fe8f2326e
@ -1,27 +1,25 @@
|
||||
CNprober 翻译完成.travelwithheart@yeah.net, 619913541
|
||||
|
||||
如何将Vim打造成一个成熟的IDE
|
||||
================================================================================
|
||||
|
||||
如果你稍微写一点代码,就能知道“集成开发环境”(IDE)是多么的便利。不管是Java、C还是Python,当IDE会帮你检查语法、后台编译,或者自动导入你需要的库时,写代码就变得容易许多。另外,如果你工作在Linux上,你也会知道Vim在进行文本编辑的时候是多么的方便。所以,你可能会想从Vim中也获取这些IDE特性。
|
||||
如果你稍微写过一点代码,就能知道“集成开发环境”(IDE)是多么的便利。不管是Java、C还是Python,当IDE会帮你检查语法、后台编译,或者自动导入你需要的库时,写代码就变得容易许多。另外,如果你工作在Linux上,你也会知道Vim在进行文本编辑的时候是多么的方便。所以,你可能会想从Vim中也获取这些IDE特性。
|
||||
|
||||
事实上,很少有方法可以帮你做到。有些人可能会想到试着把Vim打造成C语言IDE的 [c.vim][1], 或者把Vim集成到Eclipse里的 [Eclim][2] 。但是我想要告诉你的是一个更加通用的,只用插件实现的方案。你肯定不想因为安装了太多的面板和特性而让你的编辑器变得臃肿不堪。只用插件实现的方案可以让你只选择那些你想要集成到Vim的特性。这样做的额外的一个好处是,这个IDE不是专门针对某一种语言的,可以让你写任何类型的代码。下面就来看一下我的 **把IDE特性带进Vim的前10款插件** 吧。
|
||||
事实上,很少有方法可以帮你做到。有些人可能会想到试着把Vim打造成C语言IDE的,比如[c.vim][1];也有把Vim集成到Eclipse里的 [Eclim][2] 。但是我想要告诉你的是一个更加通用的,只用插件实现的方案。你肯定不想因为安装了太多的面板和特性而让你的编辑器变得臃肿不堪。只用插件实现的方案可以让你只选择那些你想要集成到Vim的特性。这样做的额外的一个好处是,这个IDE不是专门针对某一种语言的,可以让你写任何类型的代码。下面就来看一下我的 **把IDE特性带进Vim的前10款插件** 吧。
|
||||
|
||||
### 先来个福利: Pathogen ###
|
||||
|
||||
首先,可能不是所有人都熟悉Vim的插件,也不知道怎么安装这些插件。所以,我推荐的第一个插件就是[Pathogen][3],因为这个插件会让你更容易安装其他插件。如果你要安装另外的没有在这里列出来的插件,用Pathogen会变得非常简单。[官方页面][3]文档写的非常好,去下载安装一个吧。接下来插件的安装也会变得容易很多。
|
||||
首先,可能不是所有人都熟悉Vim的插件,并知道该怎么安装这些插件。所以,我推荐的第一个插件就是[Pathogen][3],因为这个插件会让你更容易安装其他插件。如果你要安装另外的没有在这里列出来的插件,用Pathogen会变得非常简单。它的[官方页面][3]的文档写的非常好,去下载安装一个吧。接下来插件的安装也会变得容易很多。
|
||||
|
||||
### 1. SuperTab ###
|
||||
|
||||
[][4]
|
||||

|
||||
|
||||
我们习惯于IDE的第一件事就是它的自动补全功能。所以,我习惯这个非常方便的,给了Tab键“超能力”的 [SuperTab][5] 插件。
|
||||
我们习惯于IDE的第一个原因就是它的自动补全功能。所以,我喜欢这个非常方便的,给了Tab键“超能力”的 [SuperTab][5] 插件。
|
||||
|
||||
### 2. Syntastic ###
|
||||
|
||||

|
||||
|
||||
如果你需要使用超过一种语言进行编码,有时候是非常容易混淆不同语言之间的语法的。幸运的是,[syntastic][6] 会帮你检查,然后告诉你是否应该加上圆括号或者方括号,或者告诉你在某个地方,你忘了一个分号。
|
||||
如果你需要使用一种以上的语言进行编程,有时候是非常容易混淆不同语言之间的语法的。幸运的是,[syntastic][6] 会帮你检查,然后告诉你是否应该加上圆括号或者方括号,或者告诉你在某个地方,你忘了一个分号。
|
||||
|
||||
### 3. Auto Pairs ###
|
||||
|
||||
@ -29,11 +27,11 @@ CNprober 翻译完成.travelwithheart@yeah.net, 619913541
|
||||
|
||||
### 4. NERD Commenter ###
|
||||
|
||||
如果你在找一个可以支持多种程序语言的注释代码的快捷键,你可以试试 [NERD Commenter][8]。即使你不是程序员,我也非常非常推荐这款插件,因为它会让你在注释bash 脚本或者其他任何东西的时候都会变得非常高效。
|
||||
如果你在找一个可以支持多种程序语言的注释代码的快捷键,你可以试试 [NERD Commenter][8]。即使你不是程序员,我也非常非常推荐这款插件,因为它会让你在注释bash脚本或者其他任何东西的时候都会变得非常高效。
|
||||
|
||||
### 5. Snipmate ###
|
||||
|
||||
任何一个程序员都知道,好的coder写代码,杰出的coder重用代码。[snipmate][9] 可以容易的插入代码片段到你的文件里面,大大的减少了你敲键盘的次数。它默认的有很多各种语言的代码片段,你也可以非常容易的添加你自己。
|
||||
任何一个程序员都知道,好的码农写代码,杰出的码神重用代码。[snipmate][9]可以容易的插入代码片段到你的文件里面,大大的减少了你敲键盘的次数。它默认的包含了很多各种语言的代码片段,你也可以非常容易的添加你自己的。
|
||||
|
||||
### 6. NERDTree ###
|
||||
|
||||
@ -46,19 +44,22 @@ CNprober 翻译完成.travelwithheart@yeah.net, 619913541
|
||||

|
||||
|
||||
为了打造一个文件浏览器,支持同时打开多个文件,没有什么比一个好的缓冲区管理器更重要了。[MiniBufferExplorer][11] 就可以非常漂亮和高效地完成这个工作。它甚至为你的缓冲区设置了不同的颜色和切换快捷键。
|
||||
|
||||
### 8. Tag List ###
|
||||
|
||||

|
||||
|
||||
当你同时有多个文件打开时,很容易忘了你都在这些文件里添加了什么。为了防止你忘记,[Tag List][12] 这个代码查看器将会用一种漂亮简洁的格式展示不同的变量和函数。
|
||||
当你同时有多个文件打开时,很容易忘了你都在这些文件里添加了什么。为了防止你忘记,[Tag List][12] 这个代码查看器将会用一种漂亮简洁的格式展示其中的的变量和函数。
|
||||
|
||||
### 9. undotree ###
|
||||
|
||||

|
||||
|
||||
对于我们之中那些喜欢undo,redo然后又undo某些更改,然后依据这些来查看整个编辑完成过程的人来说, [undotree][13] 是一个不错插件,可以以一棵树的形式看到你的undo和redo历史。这个功能跟代码完全没有关系,所以这是我非常喜欢的一个插件。
|
||||
|
||||
### 10. gdbmgr ###
|
||||
|
||||
最后,但并非不重要的是,每个人都在某时刻需要一个调试器。如果你喜欢gdb,那么[gbdmgr][14]就是为你准备的,因为它集成了那个著名的调试器到Vim中。
|
||||
最后,但并非不重要,每个人都在某个时刻需要一个调试器。如果你喜欢gdb,那么[gbdmgr][14]就是为你准备的,因为它集成了那个著名的调试器到Vim中。
|
||||
|
||||
总结一下,不管你是不是一个疯狂的coder,能有一些额外的Vim功能在手总是非常方便的。像我在简介里说到的,如果你不需要,你不用安装这里所有的这些插件。或者你想要安装另外的也行,这些其实只是一个基础入门级的插件。
|
||||
|
||||
@ -68,7 +69,7 @@ CNprober 翻译完成.travelwithheart@yeah.net, 619913541
|
||||
|
||||
via: http://xmodulo.com/2014/06/turn-vim-full-fledged-ide.html
|
||||
|
||||
译者:[love_daisy_love](https://github.com/CNprober) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
译者:[love\_daisy\_love](https://github.com/CNprober) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
@ -1,39 +1,38 @@
|
||||
如何在网络上在Windows,MAC和Linux之间共享文件
|
||||
如何通过网络在Windows、MAC和Linux之间共享文件
|
||||
================================================================================
|
||||

|
||||
|
||||
家庭[文件共享][1]曾经是一个噩梦,即使在不同的Windows版本之间- 没有考虑Mac和Linux! 这些操作系统现在可以相互通信并且无需特殊软件就可共享文件。
|
||||
家庭[文件共享][1]曾经是一个噩梦,即使在不同的Windows版本之间—— 甚至不考虑Mac和Linux!但现在这些操作系统可以相互通信并且无需特殊软件就可共享文件。
|
||||
|
||||
我们之前使用SMB协议来做到这点。Windows使用SMB来做文件共享,同时Mac和Linux发行版都内置支持SMB。Microsoft甚至给开源Samba项目[提交补丁][2]来改进它!
|
||||
我们之前使用SMB协议来做到这点。Windows使用SMB来做文件共享,同时Mac和Linux发行版都内置支持SMB。Microsoft甚至给开源Samba项目[提交过补丁][2]来改进它!
|
||||
|
||||
### 在Windows上共享一个文件夹 ###
|
||||
### 在Windows上共享文件夹 ###
|
||||
|
||||
既然其他操作系统不能访问家庭组,您需要[启用Windows老式的文件共享][3]。要做到这点,打开控制面板进入网络和共享> 更改高级共享设置。启用“网络发现”和“文件与打印共享”。
|
||||
既然其他操作系统不能访问家庭组,您需要[启用Windows老式的文件共享][3]。要做到这点,打开控制面板进入网络和共享> 更改高级共享设置。启用“网络发现”和“文件与打印共享”。
|
||||
|
||||
|
||||
如果你想要无需密码访问共享文件夹你还需要微调一下选项。
|
||||
如果你想要无需密码访问共享文件夹你还需要微调一下其它选项。
|
||||
|
||||

|
||||
|
||||
在Windows Explorer或者File Explorer中定位你想共享的文件夹,右键点击,选择属性。点击共享标签,并使用这里的选项来共享和配置文件夹的权限。
|
||||
在Windows Explorer或者File Explorer中找到你想共享的文件夹,右键点击,选择属性。点击共享标签,并使用这里的选项来共享和配置文件夹的权限。
|
||||
|
||||

|
||||
|
||||
### 在Windows上访问共享文件夹 ###
|
||||
|
||||
在Windows Explorer或者File Explorer中访问窗格来浏览其他计算机共享给你的文件。你会看到正确配置后的Mac和Linux计算机在Windows PC机附近出现了。双击一台计算机来查看它的共享文件。
|
||||
在Windows Explorer或者File Explorer中访问网络面板来浏览其他计算机共享给你的文件。你会看到正确配置后的Mac和Linux计算机在Windows PC机附近出现了。双击一台计算机来查看它的共享文件。
|
||||
|
||||

|
||||
|
||||
如果你知道计算机名或者IP地址,你同样可以直接连接到这台计算机上,只需要在Windows Explorer或者File Explorer中输入//计算名后按下回车就可以了 如果你希望直接通过IP地址连接,只需要将计算机名换成IP地址就可以了
|
||||
如果你知道计算机名或者IP地址,你同样可以直接连接到这台计算机上,只需要在Windows Explorer或者File Explorer中输入\\计算名后按下回车就可以了。如果你希望直接通过IP地址连接,只需要将计算机名换成IP地址就可以了
|
||||
|
||||

|
||||
|
||||
### 在Mac OS X 上共享文件夹 ###
|
||||
|
||||
你需要在你的Mac上启用网络文件共享来共享文件。双击苹果logo,并选择系统偏好。点击共享图标并启用文件共享。点击选项按钮,并确认“使用SMB共享文件和文件夹”已经启用。
|
||||
你需要在你的Mac上启用网络文件共享来共享文件。点击桌面左上角的苹果logo,并选择系统偏好。点击共享图标并启用文件共享。点击选项按钮,并确认“使用SMB共享文件和文件夹”已经启用。
|
||||
|
||||
在共享文件夹那列中选择额外要共享的文件夹。使用用户列来选择哪些用户和组可以访问和写入它们
|
||||
在共享文件夹那列中选择添加要共享的文件夹。使用用户列来选择哪些用户和组可以访问和写入它们
|
||||
|
||||

|
||||
|
||||
@ -43,19 +42,19 @@
|
||||
|
||||

|
||||
|
||||
你会被提示你用相应的凭证来验证或者以访客方式登录。连接完成后,在Finder的侧边栏的共享列中就会出现这台计算机,
|
||||
你会被提醒你应该用相应的凭证来验证或者以访客方式登录。连接完成后,在Finder的侧边栏的共享列中就会出现这台计算机,
|
||||
|
||||
要在你每次登录后自动链接到共享文件夹,打开系统偏好窗口并进入用户与组> 登录项。从finder中的共享列中的网络共享拖拽到登录项列表中
|
||||
要在你每次登录后自动链接到共享文件夹,打开系统偏好窗口并进入用户与组 > 登录项。从finder中的共享列中的网络共享拖拽到登录项列表中
|
||||
|
||||

|
||||
|
||||
### 在 Linux 中共享一个文件夹 ###
|
||||
### 在 Linux 中共享文件夹 ###
|
||||
|
||||
在Linux上使用你桌面文件管理器来共享一个文件。这里我们在Ubuntu 14.04上使用Nautilus,但是在其他文件管理器上的过程应该是相似的。
|
||||
在Linux上使用你桌面文件管理器来共享文件夹。这里,我们使用Ubuntu 14.04上的Nautilus,不过其他文件管理器上的过程应该是相似的。
|
||||
|
||||
打开文件管理器,在想要共享的文件上右键,选择属性。剪辑本地网络共享标签并对这个文件启用共享。如果这是你第一次启用共享,你会被提示要求安装Samba软件- 这在你提供密码的时候会自动显示。
|
||||
打开文件管理器,在想要共享的文件上右键,选择属性。点击本地网络共享标签并对这个文件启用共享。如果这是你第一次启用共享,你会被提示要求安装Samba软件——这在你提供密码的时候会自动显示。
|
||||
|
||||
在安装玩Samba软件后配置共享设置- 确认点击创建共享按钮来开始共享文件夹。
|
||||
在安装完Samba软件后配置共享设置- 确认点击创建共享按钮来开始共享文件夹。
|
||||
|
||||

|
||||
|
||||
@ -63,21 +62,21 @@
|
||||
|
||||
你的Linux桌面文件管理器可能包含了一个网络浏览器,它可以用来定位并访问在本地网络的共享文件夹。
|
||||
|
||||
在文件管理器的侧边栏点击浏览网络选项。接着双击Windows网络选项,双击你的工作组(默认是WORKFROUP),双击临近的计算机来浏览它的共享文件。
|
||||
在文件管理器的侧边栏点击浏览网络选项。接着双击Windows网络选项,双击你的工作组(默认是WORKFROUP),双击邻近的计算机来浏览它的共享文件。
|
||||
|
||||

|
||||
|
||||
为了直接连接到一台计算机,选中Nautilus中的连接到服务器选项,并输入像这样的远程计算机:smb://COMPUTERNAME
|
||||
要直接连接到一台计算机,选中Nautilus中的“连接到服务器”选项,并输入像这样的远程计算机地址:smb://COMPUTERNAME
|
||||
|
||||

|
||||
|
||||
然而在你连接时,你可能需要使用具有访问远程计算机权限的用户名和密码来验证。这依赖于你是否启用了访客访问以及你如何设置你的文件夹共享权限。
|
||||
不过在你连接时,你可能需要使用具有访问远程计算机权限的用户名和密码来验证。这依赖于你是否启用了访客访问以及你如何设置你的文件夹共享权限。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.howtogeek.com/191116/how-to-share-files-between-windows-mac-and-linux-pcs-on-a-network/
|
||||
|
||||
译者:[geekpi](https://github.com/geekpi) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
译者:[geekpi](https://github.com/geekpi) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
@ -1,41 +0,0 @@
|
||||
Red Hat Revenues Power Forward in 2015
|
||||
================================================================================
|
||||
Red Hat reported its first quarter fiscal 2015 revenues on June 18, showing continued demand and momentum for its Linux and open-source technologies. Red Hat has been particularly busy of late, acquiring a pair of companies and launching its Red Hat Enterprise Linux 7 (RHEL) flagship platform.
|
||||
|
||||
For the quarter, Red Hat reported revenue of $424 million, which is a 17 percent year-over-year gain.
|
||||
|
||||

|
||||
|
||||
"The main driver of our total revenue growth was subscription revenue of $372 million," Red Hat CFO Charlie Peters said during his company's earnings call. "Subscription revenue was up 18 percent year-over-year and it's important to point out that this renewable revenue stream now constitutes 88 percent of total revenue."
|
||||
|
||||
Looking forward, Red Hat provided second quarter guidance for approximately $432 million to $436 million in revenue.
|
||||
|
||||
One of the key metrics for growth that Red Hat provides is its top 30 deals during a given quarter. Peters noted that for the first time, all of the top 30 deals were valued at over $1 million.
|
||||
|
||||
"We also had a Q1 record with four deals that were in excess of $5 million and one that was greater than $10 million," Peters said. "Cross-selling was strong with 65 percent of these deals including one or more components from our group of applications development and emerging technologies offerings."
|
||||
|
||||
At the core of Red Hat's product portfolio is the Red Hat Enterprise Linux platform, which hit a major milestone last week with the debut of RHEL 7.
|
||||
|
||||
"RHEL 7 is significant because it was designed to meet both modern data center and next generation IT requirements for cloud, Linux containers and Big Data," Red Hat CEO Jim Whitehurst said during the earnings call. "As the worlds of physical, virtual and cloud systems converge Red Hat Enterprise Linux 7 delivers a true foundation for open hybrid cloud that will serve as the backbone for future application architectures."
|
||||
|
||||
### Acquisitions and Cloud Provide Opportunities for Further Growth ###
|
||||
|
||||
Red Hat has also been busy acquiring a pair of companies that further expand the company's ability to grow. In April, Red Hat acquired Inktank, the lead commercial sponsor behind the Ceph open-source storage filesystem. And on June 18, Red Hat announced the acquisition of OpenStack services vendor eNovance.
|
||||
|
||||
"With eNovance as a part of the Red Hat consulting team, we can enhance our consulting resources to be able to reach more customers with world-class OpenStack technologies and implementation services," Whitehurst said.
|
||||
|
||||
While cloud remains a growth opportunity for Red Hat, Whitehurst sees growth also coming from continuing to take market share away from other server operating system platforms. In particular, Whitehurst noted that there is still a continued move from mainframe and Unix to Linux.
|
||||
|
||||
"I was just on the phone today with a massive European customer that is literally just ready to start on the journey right now," Whitehurst said. "We continue to believe we're taking share from Windows especially with net new workloads."
|
||||
|
||||
Another driver of growth for Red Hat is the maturity and expansion of its sales force.
|
||||
|
||||
"We definitely have more boots on the street because we have been hiring consistently," Whitehurst said. "But I think our sales guys are more experienced, they are better trained, their confidence level is high and their enthusiasm is high."
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.serverwatch.com/server-news/red-hat-revenues-power-forward-in-2015.html
|
||||
|
||||
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
@ -1,41 +0,0 @@
|
||||
Canonical Designers Update Ubuntu Linux Website
|
||||
================================================================================
|
||||
> The website for Canonical's Ubuntu Linux operating system has received several enhancements tailored for Chinese speakers, Ubuntu cloud users and others.
|
||||
|
||||

|
||||
|
||||
[Ubuntu.com][1], the website of [Canonical][2]'s Linux-based operating system for PCs, servers, the cloud and (maybe soon) mobile devices, has received a series of subtle but significant upgrades recently, and more are on the way. Here's a look at the latest site updates and additions for the cloud, Canonical's partner network and more.
|
||||
|
||||
The Ubuntu design team outlined the enhancements to ubuntu.com in a recent [blog post][3]. The full list of changes is available there, but the most significant tweaks and updates include:
|
||||
|
||||
- The creation of a Chinese site for Ubuntu, [ubuntu-china.cn][4], which could help create new inroads for Canonical in the Asian market, where Ubuntu has traditionally taken a backseat to locally grown Linux distributions. The move may also help to strengthen Canonical's relationship with China-based [Meizu][5], one of the two hardware manufacturers with which it has [partnered][6] to deliver mobile phones running Ubuntu by the end of this year.
|
||||
- A new version of [Ubuntu Insights][7], a Web portal where Canonical publishes news about the Ubuntu world.
|
||||
|
||||
Those are only the changes that the design team has already completed. Currently in the works for future implementation are:
|
||||
|
||||
- Updates to the Web interface for Canonical's [Juju][8] cloud orchestration service.
|
||||
- The debut of a series of changes throughout the Ubuntu website that will make it more "[responsive][9]," which means enhancing readability, accessibility and the general visitor experience across different types of devices.
|
||||
- A new [Ubuntu Partners][10] website.
|
||||
- Further development of the Chinese Ubuntu website, including the addition of cloud and server sections.
|
||||
|
||||
All of these updates are good news for Canonical's customers and partners. But what makes the changes truly remarkable is how far Ubuntu's Web presence has evolved since the operating system's debut nearly 10 years ago, when ubuntu.com looked like [this][11], and the landing page primarily featured images of people dressed in workout clothes.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://thevarguy.com/ubuntu/062314/canonical-designers-update-ubuntu-linux-website
|
||||
|
||||
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://ubuntu.com/
|
||||
[2]:http://canonical.com/
|
||||
[3]:http://design.canonical.com/2014/06/latest-from-the-web-team-june-2014/
|
||||
[4]:http://ubuntu-china.cn/
|
||||
[5]:http://www.meizu.com/
|
||||
[6]:http://thevarguy.com/ubuntu/022014/ubuntu-linux-phones-will-ship-2014-says-canonical
|
||||
[7]:http://insights.ubuntu.com/
|
||||
[8]:https://juju.ubuntu.com/
|
||||
[9]:http://design.canonical.com/2014/03/making-ubuntu-com-responsive/
|
||||
[10]:http://www.ubuntu.com/partners
|
||||
[11]:http://web.archive.org/web/20041106014450/http://www.ubuntu.com/
|
@ -1,38 +0,0 @@
|
||||
2q1w2007翻译中
|
||||
谷歌分支了开源的 OpenSSL 网站安全代码
|
||||
================================================================================
|
||||
> 谷的 BoringSSL, 一个开源用来加盟网站数据的的OpenSSL分支,将会向开源社区提交代码
|
||||
|
||||

|
||||
|
||||
因为[Heartbleed][1]暴露出的脆弱, 用来加密网页传输的开源OpenSSL的变种可能和口袋妖怪里的角色一样多。前两天, Google (GOOG) 成为了最早宣布自己的OpenSSL分支的组织,其分支叫做BoringSSL。
|
||||
|
||||
Google的开发者Adam Langley announced BoringSSL—a name he described as "aspirational," presumably because Google hopes the new software will prove more drama-free than OpenSSL—in a [blog post][2] on June 20.
|
||||
|
||||
Google has made its own modifications to the OpenSSL code for some time for use in Chrome and other offerings, Langley said. But going forward, the company intends to fork OpenSSL entirely to create a separate solution, a change it hopes will simplify development on Google's end.
|
||||
|
||||
That said, Langley emphasized that Google is "not aiming to replace OpenSSL as an open source project," and will continue sharing code with the OpenSSL developers when it will help them fix bugs in their own software. Those code contributions will be available under an [ISC license][3], a type of open source license that the [GNU folks][4]—who probably spend more time than anyone else worrying about keeping software Free—regard as essentially [kosher][5].
|
||||
|
||||
Yet while BoringSSL may do little to upset the Free Software crowd, it's making a confusing situation worse for the open source community. Previously, OpenSSL was the sole widely used open source solution for encrypting traffic sent to and from Web pages on millions of servers. But following the security fiasco called Heartbleed, when it became apparent that a bug (which has now been fixed) in OpenSSL allowed third parties to snoop data, consensus around OpenSSL as the best solution for implementing this very important piece of Web functionality has evaporated.
|
||||
|
||||
Shortly after Heartbleed, a group of open source developers forked the OpenSSL code into [LibReSSL][6] because they believe the former was "[not developed by a responsible team][7]." At the same time, the [Linux Foundation][8] and its partners are spending potentially millions of dollars trying to inject new life—and public faith—into OpenSSL through the [Core Infrastructure Initiative][9].
|
||||
|
||||
Now Google has gone off on in yet another direction with BoringSSL, a move that does nothing to advance faith in either OpenSSL or LibReSSL. And that means the open source community's development resources are being spread even thinner, a situation that can only be resolved if one OpenSSL-variant emerges to rule them all.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via:http://thevarguy.com/open-source-application-software-companies/062314/google-forks-open-source-openssl-web-security-code-boring
|
||||
|
||||
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://heartbleed.com/
|
||||
[2]:https://www.imperialviolet.org/2014/06/20/boringssl.html
|
||||
[3]:http://en.wikipedia.org/wiki/ISC_license
|
||||
[4]:https://www.gnu.org/
|
||||
[5]:https://www.gnu.org/licenses/license-list.html#ISC
|
||||
[6]:http://www.libressl.org/
|
||||
[7]:http://opensslrampage.org/post/82973312181/openssl-is-not-developed-by-a-responsible-team
|
||||
[8]:http://linuxfoundation.org/
|
||||
[9]:http://thevarguy.com/open-source-application-software-companies/053014/core-infrastructure-initiative-endorses-open-source-netwo
|
@ -1,26 +0,0 @@
|
||||
Linux Domination, Ubuntu Uncertainty, and Nerdy Enlightenment
|
||||
================================================================================
|
||||

|
||||
|
||||
here are some interesting stories today in Linuxville. Steven J. Vaughan-Nichols is reporting that Linux dominates on supercomputers more than ever. Arstechnica says "Mint 17 is the perfect place for Linux-ers to wait out Ubuntu uncertainty." Linux Tycoon Bryan Lunduke reviews Enlightenment 17 and Jamie Watson says Makulu Linux 6 makes him smile. This and more in tonight's Linux news recap.
|
||||
|
||||
**Over at ZDNet**, Steven J. [Vaughan-Nichols reports][1] the findings that Linux is once again the fastest operating system on the world's leading supercomputers. But not only that, Vaughan-Nichols says, "In the latest contest, not only did Linux dominate, but Linux showed that is slowly pushing out all its competitors." Linux runs on 97% of them. Only two of the Top 500 run Windows, the other 13 Unix. Despite their speed records, Linux developers are still trying to go even faster because Vaughan-Nichols says, "research and businesses, especially the stock markets and trading companies, not only want but need even faster computers."
|
||||
|
||||
**Another notable** on ZDNet today is Jamie Watson's review of Makulu Linux 6.0 KDE saying it's "guaranteed to make you smile." This release ships with Linux 3.14.7, KDE 4.13.1, and a more modern but cranky installer. He says of this release, "It's big, it's beautiful, it's fun, and it is chock full of just about everything imaginable." [He concludes][2] that it's about as much fun as one can have with a Linux distribution.
|
||||
|
||||
**arstechnica** reviews Mint 17 saying it's an important release because of being based on Ubuntu 14.04 LTS. They contend Mint and its users can sit back and enjoy Mint while Ubuntu suffers the growing pains of Mir and Unity until 2016. Reviewer Scott Gilbertson says Mint 17 is a "great base" to update the next two years. He looks at both the Cinnamon and MATE versions of Mint 17 closely, but touches on the Xfce and Debian editions as well as the common elements of them all. [Gilbertson concludes][3], "Linux Mint 17 makes a fantastic Linux desktop right now. It's stable, familiar enough for Windows refugees to pick it up without missing a beat, and has all the familiar tools Ubuntu fans would expect."
|
||||
|
||||
**Speaking of Ubuntu**, The Var Guy posted of the Ubuntu website updates. Posts from the Design Team have been appearing on the company website on the topic of its designs for a while, but today Christopher [Tozzi summed][4] it all up nicely saying, "All of these updates are good news for Canonical's customers and partners. But what makes the changes truly remarkable is how far Ubuntu's Web presence has evolved since the operating system's debut nearly 10 years ago, when ubuntu.com looked like this, and the landing page primarily featured images of people dressed in workout clothes."
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://ostatic.com/blog/linux-domination-ubuntu-uncertainty-and-nerdy-enlightenment
|
||||
|
||||
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.zdnet.com/linux-dominates-supercomputers-as-never-before-7000030890/
|
||||
[2]:http://www.zdnet.com/makulu-linux-6-0-kde-guaranteed-to-make-you-smile-7000030833/
|
||||
[3]:http://arstechnica.com/gadgets/2014/06/mint-17-the-perfect-place-for-linux-ers-to-wait-out-ubuntu-uncertainty/
|
||||
[4]:http://thevarguy.com/ubuntu/062314/canonical-designers-update-ubuntu-linux-website
|
@ -0,0 +1,34 @@
|
||||
Red Hat Delivers Cloud Certification Plan, and Teams with HP
|
||||
================================================================================
|
||||

|
||||
|
||||
When Red Hat [announced][1] very solid quarterly earnings a few days ago, CEO Jim Whitehurst was quick to attribute part of the strong performance to his company's new focus on cloud computing. In discussing the enterprises that pay Red Hat for subcription support and services, he said: "These are some of the most sophisticated IT organizations in the world, and many continue to increase their purchases from Red Hat to modernize their IT infrastructure with cloud enabling technologies."
|
||||
|
||||
[I've made the point before][2] that Red is pinning its future on cloud computing and OpenStack in particular. But for Red Hat to succeed with its OpenStack plans, it needs to be able to assure enterprise users that they are using tested and interoperable tools. With that in mind, the company has [announced][3] a new cloud management certification for Red Hat Enterprise Linux OpenStack Platform as part of the Red Hat OpenStack Cloud Infrastructure Partner Network.
|
||||
|
||||
Red Hat has been working closely with cloud and network management solution providers, including iBMC and HP. As members of the Red Hat OpenStack Cloud Infrastructure Partner Network, these vendors are supporting Red Hat's platform certification process.
|
||||
|
||||
Radhesh Balakrishnan, Red Hat's general manager of virtualization and OpenStack said, in a statement:
|
||||
|
||||
> “As OpenStack is becoming a core element of the enterprise cloud strategy for many customers, Red Hat Enterprise Linux OpenStack Platform is architected and backed by the broadest partner ecosystem to be the preferred platform. The growth and maturity of the ecosystem reflects the evolution of the product moving from addressing infrastructure-centric alignment to help with early deployments to now be well-managed, to be part of enterprise hybrid cloud implementations.”
|
||||
|
||||
Atul Garg, vice president and general manager of Cloud and Automation at HP added:
|
||||
|
||||
> “We are excited to work with Red Hat to certify HP Cloud Service Automation and its solutions with Red Hat Enterprise Linux OpenStack Platform, to help our mutual customers build and manage private and hybrid cloud services. Our joint efforts are aimed at enabling customers to have choice and flexibility as they deploy cloud environments which can easily flex and adapt to business needs while supporting heterogeneity and leveraging existing investments in the datacenter.”
|
||||
|
||||
As enterprises deploy OpenStack, they are increasingly concerned about being able to use existing infrastructure and management tools with their deployments. The expansion of Red Hat’s certification program to include cloud management solutions is intended to help enterprises who want to deploy Red Hat Enterprise Linux OpenStack Platform in a private cloud to feel confident in using their management solutions of choice.
|
||||
|
||||
One other notable thing about the new certification program is that it deepens Red Hat's partnership with HP, which is also focused on OpenStack. It will be worth watching what else comes from that partnership, and, without a doubt, [the cloud is the new battleground for winning enterprise users][4].
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://ostatic.com/blog/red-hat-delivers-cloud-certification-plan-and-teams-with-hp
|
||||
|
||||
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.zdnet.com/red-hat-beats-q1-earnings-targets-as-revenue-climbs-17-percent-7000030685/
|
||||
[2]:http://ostatic.com/blog/for-red-hat-the-cloud-beckons
|
||||
[3]:http://www.marketwatch.com/story/red-hat-introduces-cloud-management-certification-for-red-hat-enterprise-linux-openstack-platform-2014-06-30
|
||||
[4]:http://ostatic.com/blog/the-cloud-is-the-new-battleground-for-winning-enterprise-users
|
@ -0,0 +1,38 @@
|
||||
Automotive Grade Linux Released for Open Source Cars
|
||||
================================================================================
|
||||
> The Linux Foundation and its partners have released the first version of Automotive Grade Linux, the open source platform for use inside connected cars.
|
||||
|
||||

|
||||
|
||||
Linux, the open source operating system, shifted gears into a relatively new ecosystem this week with the first release of [Automotive Grade Linux][1] (AGL), a Linux distribution tailored for cars in the Internet of Things age.
|
||||
|
||||
AGL is a collaborative project sponsored by the [Linux Foundation][2] that brings together a host of partners from the automotive industry, communications, computing hardware, academia and other sectors. The first release of the open source operating system, which appeared June 30 and is [available][3] for free online, is based on [Tizen IVI][4], a Linux-based platform designed to provide operating system solutions for a broad range of devices, from smartphones to TVs to cars to laptops.
|
||||
|
||||
In its first release, AGL provides a series of features and applications tailored for deployment in cars and other vehicles, including:
|
||||
|
||||
- Home Screen
|
||||
- Dashboard
|
||||
- Google Maps
|
||||
- HVAC
|
||||
- Media Playback
|
||||
- News Reader (AppCarousel)
|
||||
- Audio Controls
|
||||
- Bluetooth Phone
|
||||
- Smart Device Link Integration
|
||||
|
||||
The Linux Foundation and its partners participating in the AGL project hope the solution will help to ensure that the "connected" cars of the future use open source software to deliver the next generation of entertainment, navigation and other tools for use inside vehicles. "Openness and collaboration are key to accelerating the development of a common, standard automotive platform so the industry can more quickly achieve its vision of delivering the connected car," said Dan Cauchy, general manager of Automotive, The Linux Foundation.
|
||||
|
||||
Cauchy added that the Linux Foundation expects AGL development to continue steadily following this first release, and that collaborators hope to introduce "a number of additional capabilities and features in subsequent releases."
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://thevarguy.com/open-source-application-software-companies/070114/automotive-grade-linux-released-open-source-cars
|
||||
|
||||
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:https://automotive.linuxfoundation.org/
|
||||
[2]:http://linuxfoundation.org/
|
||||
[3]:http://automotive.linuxfoundation.org/
|
||||
[4]:https://www.tizen.org/
|
@ -0,0 +1,49 @@
|
||||
CoreOS Linux ending the upgrade cycle
|
||||
================================================================================
|
||||
> CoreOS launches commercially supported version of its Linux distribution and vows to do away with manual upgrading
|
||||
|
||||
IDG News Service - Hoping to simplify life for system administrators, CoreOS has launched a commercial Linux distribution that continually updates itself, eliminating the need to perform major upgrades.
|
||||
|
||||
CoreOS is offering its namesake Linux distribution as a commercial service, [starting][1] at $100 a month.
|
||||
|
||||
"Businesses today can begin to think of CoreOS as an extension of their OS team, and for enterprise Linux customers this is the last migration they will ever need," said Alex Polvi, founder and CEO of CoreOS, in a statement.
|
||||
|
||||
Commercial Linux subscriptions are nothing new: Both [Red Hat][2] and [Suse][3] offer commercial subscriptions for their respective distributions.
|
||||
|
||||
Because the applications and libraries these Linux-based companies use are open source and freely available, the cost of the subscriptions doesn't cover the software itself, but rather pays for the updates, bug fixes, integration and technical support for when issues occur.
|
||||
|
||||
CoreOS will be different from these distributions, the company asserted, in that there will be no major updates, which typically require updating all the packages in the distribution at once. Instead, updates and new features will be streamed automatically to the copy of the OS and applied as soon as they are ready.
|
||||
|
||||
The service offers a dashboard, called CoreUpdate, that provides controls for designating which software packages should get updated, should the administrator not want all the packages to be updated automatically.
|
||||
|
||||
CoreUpdate can manage multiple machines at once, and offers a roll-back capability should an update cause issues.
|
||||
|
||||
Launched last December, CoreOS was designed to [focus][4] on an emerging use of the open-source OS kernel -- that of powering lots of cloud-based virtual servers.
|
||||
|
||||
The average CoreOS instance was designed to consume only less than half of what other Linux distributions typically consume. All applications that run on the distribution run in Docker virtualized containers, so they can be started almost instantaneously.
|
||||
|
||||
The distribution can be updated more easily [due to its novel use of two partitions][5]. One can contain the current version of the OS while the OS is being updated in the other, smoothing the process of upgrading a package, or the entire distribution.
|
||||
|
||||
The CoreOS service can be run on-premises, or through Amazon, Google and Rackspace cloud services.
|
||||
|
||||
CoreOS also announced Monday that it received $8 million in backing from the Kleiner Perkins Caulfield and Byers venture capital firm. The company has previously gotten investment from Sequoia Capital and Fuel Capital.
|
||||
|
||||
----------
|
||||
|
||||
Joab Jackson covers enterprise software and general technology breaking news for The IDG News Service. Follow Joab on Twitter at [@Joab_Jackson][6]. Joab's e-mail address is [Joab_Jackson@idg.com][7]
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.computerworld.com/s/article/9249460/CoreOS_Linux_ending_the_upgrade_cycle?taxonomyId=122
|
||||
|
||||
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:https://coreos.com/products/managed-linux/plans/
|
||||
[2]:http://www.redhat.com/about/subscription/
|
||||
[3]:https://www.suse.com/support/programs/subscriptions/
|
||||
[4]:http://www.networkworld.com/article/2177120/cloud-computing/coreos-linux-distro-lands-on-the-google-cloud-platform.html
|
||||
[5]:https://coreos.com/using-coreos/updates/
|
||||
[6]:http://twitter.com/Joab_Jackson
|
||||
[7]:Joab_Jackson@idg.com
|
@ -0,0 +1,31 @@
|
||||
KDE Improv, Tablet Projects Officially Axed
|
||||
================================================================================
|
||||

|
||||
|
||||
**The team behind a highly publicised effort to release a KDE based Linux distribution on fully open hardware has announced the project has come to and end.**
|
||||
|
||||
It’s news that few following the convoluted saga will find surprising, with both the KDE-based [Vivaldi Tablet][1] and Improv board projects having struggled to find their way to market despite numerous pre-orders, sales campaigns and marketing.
|
||||
|
||||
The former of these, once known as ‘Spark’, has existed in various stages of gestation since 2012, only being formally ‘put on hold’ earlier this year.
|
||||
|
||||
Both devices sought to bring hardware running on entirely open source software and drivers to market at an affordable price. Perhaps a little too constrained by the rigidity of their ideal — to offer a modular board that could be used in multiple devices — the projects hit road bump after road bump, delay after delay.
|
||||
|
||||
Announcing the ‘wrap up’ in an e-mail sent to backers of the Improv ARM-based development board the team suggests that the FOSS community is ‘not ready’ to put its weight behind the ‘pressing issue of hardware freedom’, adding:
|
||||
|
||||
> “We greatly appreciate everyone’s support, whether it was purchases, donations or words of wisdom and encouragement. There was simply not enough support to make the project work, despite having fully functional, production ready devices and a strong commitment to succeed.”
|
||||
|
||||
Partial refunds are now being issued to those who pre-ordered a device, with the team hoping to provide full refunds at a later date.
|
||||
|
||||
But while one open-source tablet effort may retire others are continuing. Canonical has stated that the first Ubuntu tablets will launch alongside the first handsets [later this year][2], while Intel and Samsung’s Linux-based Tizen OS is also [fast gathering pace][3].
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.omgubuntu.co.uk/2014/07/kde-improv-tablet-projects-officially-axed
|
||||
|
||||
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.omgubuntu.co.uk/2012/03/kde-tablet-vivaldi-gets-gutted
|
||||
[2]:http://www.omgubuntu.co.uk/2014/03/ubuntu-tablets-coming-year
|
||||
[3]:http://www.omgubuntu.co.uk/2014/06/samsung-first-tizen-phone-unveiled
|
@ -1,4 +1,4 @@
|
||||
Out in the Open: The Little-Known Open Source OS That Rules the Internet of Things
|
||||
Translating by toknow-gh Out in the Open: The Little-Known Open Source OS That Rules the Internet of Things
|
||||
================================================================================
|
||||

|
||||
Image: Adnk/[Wikipedia][1]
|
||||
@ -46,4 +46,4 @@ via: http://www.wired.com/2014/06/contiki/
|
||||
[8]:http://www.wired.com/2014/01/googles-3-billion-nest-buy-finally-make-internet-things-real-us/
|
||||
[9]:http://lifx.co/
|
||||
[10]:http://www.tado.com/de-en/
|
||||
[11]:http://www.thingsquare.com/
|
||||
[11]:http://www.thingsquare.com/
|
||||
|
@ -1,158 +0,0 @@
|
||||
The Best Linux Distribution for New Users
|
||||
================================================================================
|
||||
This is a debate that most certainly brings out the beast in many a Linux user. The argument doesn't generally boil down to which distribution is truly best suited for new users, but which distribution is favored by those in the debate. If we set our personal preferences aside, a clearer picture can arise. But even that clarity can quickly get obscured by the needs and desires of the new users. Given that, I decided to take a different approach to finding the “best distro for new users." My criteria for best distribution must not only be easy to use, but also must appeal to a more modern design aesthetic brought about by the ever-growing thrust of the mobile interface metaphor.
|
||||
|
||||
For the purposes of this examination, to be included in the short list a distribution must:
|
||||
|
||||
- Be incredibly user-friendly
|
||||
- Include, out of the box, all common apps
|
||||
- Include some form of an app store
|
||||
- Offer a modern user interface.
|
||||
|
||||
Let me explain each criteria.
|
||||
|
||||
### User-friendliness ###
|
||||
|
||||
This is such a hotly debatable topic. But the truth of the matter is – a new user must be able to pick up a flavor of Linux and just start using it, with little to no explaining. If too much explanation must be given, then the distribution is not user friendly. I hate to be that guy, but nearly any user can sit in front of a Windows 7 or OS X desktop and start using it with almost zero coaching. That is what every Linux desktop should shoot for.
|
||||
|
||||
### Common apps ###
|
||||
|
||||
Users should not have to install the necessities out of the box. Period. And just what are the necessities? The list grows shorter every year. Currently, the list of must-have apps are:
|
||||
|
||||
- Web browser: Either Chrome or Firefox (sorry, all other browsers need not apply)
|
||||
- Email client: Thunderbird is the obvious choice
|
||||
- Office Suite: LibreOffice. End of story
|
||||
- Music player: Play local files and connect to streaming services (such as Spotify).
|
||||
|
||||
That's the short list of apps nearly every user depends upon.
|
||||
|
||||
### App store ###
|
||||
|
||||
Thanks to that ever-growing dependency on mobile devices, users have grown accustomed to app stores. Linux has had these for quite some time (Synaptic being one of the oldest). Without a well thought-out app store, users will struggle with adding software in the Linux environment. This is, without a doubt, crucial.
|
||||
|
||||
### Modern interface ###
|
||||
|
||||
I've mentioned the mobile landscape a number of times already. Thanks to iOS and Android, users have grown fond of the modern UI. The desktop needs to follow suit and draw the attention of users with a unique, modern, yet easy-to-use interface. The old metaphor is no longer as effective in a multi-touch-friendly, mobile world.
|
||||
Top three distros
|
||||
|
||||
With the criteria in place, which distributions meet (or exceed) our needs? First, let's examine the top three candidates. Each of the following meets (or exceeds) the criteria.
|
||||
|
||||
#### Ubuntu ####
|
||||
|
||||
[Ubuntu Linux][1] has long reigned the king of user-friendly Linux. Out of the box, it's a challenge to find a desktop (Unity) that is more engaging and easy to use... even for those unfamiliar to the platform. The desktop layout, although different, is logical and intuitive. With the addition of one of the single most powerful search tools of any desktop environment, Ubuntu Unity should be considered a crowning achievement among the Linux faithful.
|
||||
|
||||
#### Linux Mint ####
|
||||
|
||||
If there is a distribution set to usurp the crown from the king, it is [Linux Mint][2]. Linux Mint takes a more standard approach to the desktop, but layers just enough eye candy and variation to make it stand out from the long-in-the-tooth desktop metaphor. Linux Mint is based on Ubuntu, so it does benefit from the stability and reliability found in its big brother.
|
||||
|
||||
#### Linux Deepin ####
|
||||
|
||||
New to the user-friendly list is [Linux Deepin][3]. This relatively new distribution hails from China and should be making some serious waves. Why? Because it takes the Linux desktop and turns it into a thing of artistic beauty; while at the same time retaining a high level of user-friendliness. When the newest iteration of this distribution is released, I expect big things. Linux Deepin takes the GNOME 3 desktop and retools it into something completely different and completely marvelous.
|
||||
|
||||
### Scoring the Distros ###
|
||||
|
||||
With the top contenders listed, let's compare each to our criteria and rank each. Scoring for the distributions is as such: For each criteria, the distributions are ranked first to last (first getting 1 point, last getting 3 points). In the end, all scores are totaled to determine the winner -- lowest score wins.
|
||||
|
||||
#### User-friendliness ####
|
||||
|
||||
This is probably the tightest of categories and hardest to judge. Each distribution is tops in user-friendliness in different ways. In the end, I'd rank the top three:
|
||||
|
||||
1. Linux Mint
|
||||
|
||||
2. Ubuntu Linux
|
||||
|
||||
3. Linux Deepin
|
||||
|
||||
Why? Mint gains a slight edge simply because it still holds to the old metaphor of start menu, task bar, and desktop icons. The margin of victory is incredibly slim though, as both Ubuntu and Linux Deepin require next to zero learning curve – even for the yet-to-be-initiated.
|
||||
|
||||
#### Common apps ####
|
||||
|
||||
The only reason this category is hard to judge is because each distribution includes all of the necessary applications. Although Linux Deepin currently offers Kingsoft Office (one of the finest mobile office suite solutions), the plans are to default to LibreOffice in the 2014 release.
|
||||
|
||||
One of my issues with the common apps falls into that of audio players. Though I stream a lot of music (using the Spotify client), when I play music on my local drive, I always use Clementine. The default players are:
|
||||
|
||||
- Ubuntu: Rhythmbox
|
||||
- Linux Mint: Banshee
|
||||
- Linux Deepen: DMusic.
|
||||
|
||||
Of the three, Banshee (Figure 1) offers the most features, DMusic (Figure 2) offers the best interface, and (surprisingly enough) Rhythmbox (Figure 3) is, by far, the least reliable.
|
||||
|
||||

|
||||
|
||||
banshee
|
||||
|
||||

|
||||
|
||||
dmusic
|
||||
|
||||

|
||||
|
||||
rhythmbox
|
||||
|
||||
So, how do they score? Like so:
|
||||
|
||||
1. Linux Mint
|
||||
|
||||
2. Ubuntu Linux
|
||||
|
||||
3. Linux Deepin
|
||||
|
||||
#### App store ####
|
||||
|
||||
This category cannot go without being addressed. Why? Because the app store can easily make or break a Linux distribution for a new user. There will always be apps needed and no new user wants to jump through the hoops of learning the command line. Each distribution has their own take on the app store.
|
||||
|
||||
- Ubuntu: Ubuntu Software Center
|
||||
- Mint: Software Manager
|
||||
- Linux Deepin: Deepin Software Center
|
||||
|
||||
It should be said, that each of these tools is based on the Ubuntu Software Center. What is odd about this is that it is the Ubuntu Software Center that lands squarely on the bottom. The primary reason for this is the Ubuntu Software Center is very slow – even on an incredibly powerful machine.
|
||||
|
||||
I would order the app stores as such:
|
||||
|
||||
1. Linux Deepin
|
||||
|
||||
2. Linux Mint
|
||||
|
||||
3. Ubuntu Linux
|
||||
|
||||
Each of the app stores functions in a very similar manner. The reason Linux Deepin gets the top bill is twofold: The interface is easier to navigate and the application opens far faster than either the Ubuntu Software Manager or the Mint Software Manager.
|
||||
|
||||
#### Modern interface ####
|
||||
|
||||
This is the category in which Linux Mint falls way, way behind. Even though it does offer a bit of eye candy and a more shallow learning curve, Linux Mint still suffers from what is, by comparison, a very outdated desktop. Even on powerful hardware (with solid graphics), Linux Mint still looks like it could very easily have been transported from the late 1990s. To that end, we must look to either Ubuntu Linux or Linux Deepin to bring us into the future. The winner is:
|
||||
|
||||
1. Linux Deepin
|
||||
|
||||
2. Ubuntu Linux
|
||||
|
||||
3. Linux Mint
|
||||
|
||||
What Linux Deepin does is use GNOME 3 to create an amalgam of GNOME and OSX that works so beautifully, you think you're dealing with a piece of interactive art.
|
||||
|
||||
### The overall winner ###
|
||||
|
||||
Although this is very rudimentary, the order of our best Linux distro for new users would be:
|
||||
|
||||
1. Linux Mint with a collective score of 7
|
||||
|
||||
2. Linux Deepin with a collective score of 8
|
||||
|
||||
3. Ubuntu Linux with a collective score of 9
|
||||
|
||||
If you're wondering about the 'writer opinion' of this piece, know this: I have used Ubuntu Linux for years (and still do). I have recently been quoted as saying “If there's a Linux distro that will sway me from Ubuntu, it's Linux Deepin.” Although I appreciate Linux Mint for what it is, I only use it for testing purposes. With that said, Linux Mint is the clear winner, when it comes to best Linux distribution for new users.
|
||||
|
||||
Here's the real truth of this matter – you can't go wrong with any of these Linux desktops. They each shine in their own right. If you're looking for a true beauty, go with Linux Deepin. If you want a combination of beauty and ease of use, go with Ubuntu Linux. If you just want simplicity and you don't care about eye candy, go with Linux Mint. No matter which way you go, it's a win-win-win scenario.
|
||||
|
||||
What do you think? How would you rank the three chosen desktops? Or, would you write in a completely different Linux distribution for best in show for the new users (and why)?
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.linux.com/news/software/applications/775873-the-best-linux-distribution-for-new-users/
|
||||
|
||||
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.ubuntu.com/
|
||||
[2]:http://www.linuxmint.com/
|
||||
[3]:http://www.linuxdeepin.com/index.en.html
|
@ -1,3 +1,4 @@
|
||||
translating by disylee 20140701
|
||||
110 Fun Open Source Games and Apps
|
||||
================================================================================
|
||||
Once again, we're celebrating the arrival of summer with a list of some of the best open source games available. We've updated [last year's list][1] with some new arrivals, as well as getting rid of some of the older games that are no longer under active development. You'll find arcade, board, casual, puzzle, educational, first-person shooter, music, racing, role-playing, adventure, simulator and strategy games, as a well as a few apps that aren't really games but are still a lot of fun.
|
||||
@ -589,4 +590,4 @@ via: http://www.datamation.com/open-source/110-fun-open-source-games-and-apps-1.
|
||||
[108]:http://community.electricsheep.org/
|
||||
[109]:http://lcars24.com/
|
||||
[110]:http://stellarium.org/
|
||||
[111]:http://tuxpaint.org/
|
||||
[111]:http://tuxpaint.org/
|
||||
|
@ -1,86 +0,0 @@
|
||||
How Many Languages Do Developers Need To Know?
|
||||
================================================================================
|
||||

|
||||
|
||||
> Big companies like Apple, Facebook and Google are developing their own programming languages, forcing developers to adapt.
|
||||
|
||||
At its Worldwide Developer Conference last week, Apple announced its new programming language [Swift][1]. It’s the latest in a rash of new languages developed by big tech companies, in some cases for specific use with their own platforms.
|
||||
|
||||
Apple has Swift for iOS developers; [Facebook has Hack][2], a language for back-end development. Google, meanwhile, has its own entries—the would-be Javascript replacement Dart and a new general programming language called Go.
|
||||
|
||||
This rash of new languages raises a number of issues for developers. Perhaps the most significant is one my colleague [Adriana Lee][3] raised after Apple's Swift announcement:
|
||||
|
||||
> (How many languages are devs supposed to learn?)
|
||||
> — Adriana Lee (@adra_la) [June 2, 2014][4]
|
||||
|
||||
### A Computer-Language Babel ###
|
||||
|
||||
There are already [hundreds of programming languages][5] in existence, and more are popping into existence all the time. Many are designed for use in a relatively narrow range of applications, and large numbers never catch on beyond small groups of coders.
|
||||
|
||||
Similarly, big tech companies have been developing new languages for about as long as there have been big tech companies. The [seminal general-purpose language C][6] originated at AT&T Bell Labs in the early 1970s. Java, now the primary language for development of Android apps, was [born at Sun Microsystems][7] in the 1990s.
|
||||
|
||||
What's different these days is the extent to which companies embrace new languages to further their specific business objectives—a process that also has the effect of creating a dedicated base of developers who are effectively "locked in" to a company's particular platform. That sort of dual strategy dates back at least to Sun's introduction of Java, which the company promoted as a way to challenge Microsoft's dominance on the PC desktop. (Things didn't work out the way Sun planned, although Java eventually found a home in enterprise middleware systems before Google adopted it for Android.)
|
||||
|
||||
It's also clearly Apple's goal with Swift. Should it live up to the company's early hype, Swift seems likely to simplify iOS app development by filing the rough edges off Objective-C, the current lingua franca of iOS and Mac OS X developers. But it will also require those same developers to learn the ins and outs of a new language that they're unlikely to use anywhere else.
|
||||
|
||||
### Why Companies Roll Their Own ###
|
||||
|
||||
Which cuts against the ingrained "don’t reinvent the wheel” philosophy that animates most developers. So why don't more companies just adopt already existing languages to new uses?
|
||||
|
||||
One answer is simply that companies build their own languages because they can. Designing a new language can be complex, but it's not particularly resource-intensive. What's hard is building support for it, both in terms of providing software resources (shared code libraries, APIs, compilers, documentation and so forth) and winning the hearts and minds of developers. Companies are uniquely positioned to do both.
|
||||
|
||||
There's also the fact that existing languages are often difficult to shoehorn into today's complex code frameworks. Take, for instance, [Facebook's decision to create Hack][8], a superset of the [scripting language PHP][9] that's commonly used in Web development.
|
||||
|
||||
Facebook's main goal with Hack—a common one these days—was to improve code reliability, in this case by enforcing data-type checking before a program is executed. Such checks ensure that a program won't, say, try to interpret an integer as a string of characters, an error that could yield unpredictable results if not caught. In Hack, those checks take place in advance so that programmers can identify such errors long before their code goes live.
|
||||
|
||||
According to Julien Verlaguet, a core developer on Facebook’s Hack team, the company first looked for an an existing language that might allow for more efficient programming. But much of Facebook was already built on PHP, and the company has built up a substantial software infrastructure to support PHP and its offshoots. While it's possible to make PHP work with code written in a different language, it's not easy—nor is it fast.
|
||||
|
||||
“Let’s say I try to rewrite our PHP codebase in Scala,” Verlaguet said. “It’s a well designed, beautiful language, but it’s not at all compatible with PHP. Everytime I need to call to PHP from the Scala part of the code base, I’ll lose performance speed. We would have liked to use an existing language but for us, it just wasn’t an option.”
|
||||
|
||||
Instead, Facebook invented Hack, which has enough in common with PHP that it can share the company's existing infrastructure. The vast majority of the Facebook codebase has been migrated from PHP to Hack, said Verlaguet, but the company has open sourced the language in hopes that independent developers will find uses for it outside of Facebook.
|
||||
|
||||
“You can still use PHP,” he said. “But we’re hoping you’ll want to use Hack.”
|
||||
|
||||
### Who Holds The Power ###
|
||||
|
||||
Therein lies the balance of power between companies and developers. Companies can make their languages as specific as they like. But if developers don’t want to use them, nobody is going to—outside, that is, of anyone who might harbor hopes of one day working at the company that invented the language.
|
||||
|
||||
It’s not unusual for companies to make it easiest to develop in one language over another. For example, you would use Objective-C to develop iOS apps, but Java to develop Android apps. This has never been a major sticking point with developers because both Objective-C and Java are general purpose object-oriented languages. They’re useful for a number of purposes.
|
||||
|
||||
Hack, Dart, Go, and Swift, however, so far have only proven useful for particular company-designated programming solutions, usually in tandem with that company’s programming environment of choice. Granted, it may be too soon to judge. Hack, for example, can be used in several back-end implementations; it’s just so new that Facebook doesn’t yet have any data that people want to use it that way.
|
||||
|
||||
It’s not that developers aren’t capable of learning multiple languages. Most already do. Think of them like the Romance languages—if you know Spanish, it’ll be easier to learn French and so on than if you didn’t already know one. Likewise, if you already know Java, it’ll be easier to learn Ruby or Perl. And if you know PHP, you basically already know Hack.
|
||||
|
||||
On the contrary, it’s more of a question of habit. If Java already solves your specific problems, you don’t have any incentive to learn Ruby. And if you are happy coding iOS apps in Objective-C, you’re not going to feel very tempted to pick up Swift.
|
||||
|
||||
To some developers, though, ecosystem-specific languages just make life harder for everybody. Freelance designer Jack Watson-Hamblin, for instance, told me that initiatives like Apple's Swift risk overburdening programmers and fragmenting the developer community:
|
||||
|
||||
> It's important for programmers to know multiple languages, but forcing them to keep up with new languages all the time doesn't make sense. If I'm making a simple cross-platform app, I don't want to have to know four languages to do it. I only want to use the single-purpose language if I really need to.
|
||||
|
||||
Watson-Hamblin argues that when companies each build their own language for their own needs, it slows down overall progress both by dividing the attention of coders and by enforcing a monolithic perspective on development within that language. "When companies are in charge of a language vs. an open-source community, it's like the difference between a corporation and a start-up," he said. Communities are more flexible and adaptive by definition.
|
||||
|
||||
Of course, Apple had [a lot of very good reasons to start from scratch][10] with Swift, just as Facebook did when it invented Hack. That doesn't mean it's not going to force change on developers—some of it doubtless unwelcome.
|
||||
|
||||
“As new languages are invented, it gets more hegemonic,” said Verlaguet. “It can be frustrating to have to keep up. But on the other hand, you’re more likely to have a new language to fit your exact problem. Imagine the reverse—a world where programmers used the same language for everything. It’d be a language that could do everything poorly but nothing well.”
|
||||
|
||||
Lead image by [Flickr user Ruiwen Chua][11], CC 2.0
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://readwrite.com/2014/06/17/apple-swift-facebook-hack-google-dart
|
||||
|
||||
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:https://developer.apple.com/swift/
|
||||
[2]:http://readwrite.com/2014/03/20/facebook-new-programming-language-hack
|
||||
[3]:http://readwrite.com/author/adriana-lee#awesm=~oGfPbJlSrFBamJ
|
||||
[4]:https://twitter.com/adra_la/statuses/473537386266112000
|
||||
[5]:http://en.wikipedia.org/wiki/List_of_programming_languages
|
||||
[6]:http://en.wikipedia.org/wiki/C_(programming_language)
|
||||
[7]:http://en.wikipedia.org/wiki/Java_(programming_language)
|
||||
[8]:http://readwrite.com/2014/03/20/facebook-new-programming-language-hack
|
||||
[9]:http://en.wikipedia.org/wiki/PHP
|
||||
[10]:http://blog.erratasec.com/2014/06/why-it-had-to-be-swift.html#.U58BJI1dXtA
|
||||
[11]:https://www.flickr.com/photos/ruiwen/3260095534
|
@ -1,3 +1,4 @@
|
||||
[bazz2 own this article]
|
||||
Performance benchmarks: KVM vs. Xen
|
||||
================================================================================
|
||||
After having some interesting discussions last week around KVM and Xen performance improvements over the past years, I decided to do a little research on my own. The last complete set of benchmarks I could find were from the [Phoronix Haswell tests in 2013][1]. There were [some other benchmarks from 2011][2] but those were hotly debated due to the Xen patches headed into kernel 3.0.
|
||||
@ -91,4 +92,4 @@ via: http://major.io/2014/06/22/performance-benchmarks-kvm-vs-xen/
|
||||
[6]:http://www.infoworld.com/d/virtualization/red-hat-releases-first-kvm-support-rhel-54-376
|
||||
[7]:https://docs.google.com/spreadsheets/d/1kmudbOjCDUgfw76b8qP2GqNqF1ddlTOKyOjc0GmNOIE/edit?usp=sharing
|
||||
[8]:http://www.phoronix-test-suite.com/
|
||||
[9]:https://twitter.com/comstud/status/480785742730252288
|
||||
[9]:https://twitter.com/comstud/status/480785742730252288
|
||||
|
@ -1,3 +1,4 @@
|
||||
translating by owen-carter
|
||||
Top500 Supercomputer Remains Stuck at 33.86 Petaflops/s
|
||||
================================================================================
|
||||
The Tianhe-2 first jumped onto the world's supercomputing stage a year ago, taking the crown of world's most powerful computer. At the time, the Tianhe-2 was rated with a performance of 33.86 petaflops per second.
|
||||
|
@ -0,0 +1,166 @@
|
||||
Easy File Comparisons With These Great Free Diff Tools
|
||||
================================================================================
|
||||
by Frazer Kline
|
||||
|
||||
File comparison compares the contents of computer files, finding their common contents and their differences. The result of the comparison is often known as a diff.
|
||||
|
||||
diff is also the name of a famous console based file comparison utility that outputs the differences between two files. The diff utility was developed in the early 1970s on the Unix operating system. diff will output the parts of the files where they are different.
|
||||
|
||||
Linux has many good GUI tools that enable you to clearly see the difference between two files or two versions of the same file. This roundup selects 5 of my favourite GUI diff tools, with all but one released under an open source license.
|
||||
|
||||
These utilities are an essential software development tool, as they visualize the differences between files or directories, merge files with differences, resolve conflicts and save output to a new file or patch, and assist file changes reviewing and comment production (e.g. approving source code changes before they get merged into a source tree). They help developers work on a file, passing it back and forth between each other. The diff tools are not only useful for showing differences in source code files; they can be used on many text-based file types as well. The visualisations make it easier to compare files.
|
||||
|
||||
----------
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
Meld is an open source graphical diff viewer and merge application for the Gnome desktop. It supports 2 and 3-file diffs, recursive directory diffs, diffing of directories under version control (Bazaar, Codeville, CVS, Darcs, Fossil SCM, Git, Mercurial, Monotone, Subversion), as well as the ability to manually and automatically merge file differences.
|
||||
|
||||
Meld's focus is on helping developers compare and merge source files, and get a visual overview of changes in their favourite version control system.
|
||||
|
||||
Features include
|
||||
|
||||
- Edit files in-place, and your comparison updates on-the-fly
|
||||
- Perform twoand three-way diffs and merges
|
||||
- Easily navigate between differences and conflicts
|
||||
- Visualise global and local differences with insertions, changes and conflicts marked
|
||||
- Built-in regex text filtering to ignore uninteresting differences
|
||||
- Syntax highlighting (with optional gtksourceview)
|
||||
- Compare two or three directories file-by-file, showing new, missing, and altered files
|
||||
- Directly open file comparisons of any conflicting or differing files
|
||||
- Filter out files or directories to avoid seeing spurious differences
|
||||
- Auto-merge mode and actions on change blocks help make merges easier
|
||||
- Simple file management is also available
|
||||
- Supports many version control systems, including Git, Mercurial, Bazaar and SVN
|
||||
- Launch file comparisons to check what changes were made, before you commit
|
||||
- View file versioning statuses
|
||||
- Simple version control actions are also available (i.e., commit/update/add/remove/delete files)
|
||||
- Automatically merge two files using a common ancestor
|
||||
- Mark and display the base version of all conflicting changes in the middle pane
|
||||
- Visualise and merge independent modifications of the same file
|
||||
- Lock down read-only merge bases to avoid mistakes
|
||||
- Command line interface for easy integration with existing tools, including git mergetool
|
||||
- Internationalization support
|
||||
- Visualisations make it easier to compare your files
|
||||
|
||||
- Website: [meldmerge.org][1]
|
||||
- Developer: Kai Willadsen
|
||||
- License: GNU GPL v2
|
||||
- Version Number: 1.8.5
|
||||
|
||||
----------
|
||||
|
||||

|
||||
|
||||

|
||||
注:上面这个图访问不到,图的地址是原文地址的小图的链接地址,发布的时候在验证一下,如果还访问不到,不行先采用小图或者网上搜一下看有没有大图
|
||||
|
||||
DiffMerge is an application to visually compare and merge files on Linux, Windows, and OS X.
|
||||
|
||||
Features include:
|
||||
|
||||
- Graphically shows the changes between two files. Includes intra-line highlighting and full support for editing
|
||||
- Graphically shows the changes between 3 files. Allows automatic merging (when safe to do so) and full control over editing the resulting file
|
||||
- Performs a side-by-side comparison of 2 folders, showing which files are only present in one file or the other, as well as file pairs which are identical, equivalent or different
|
||||
- Rulesets and options provide for customized appearance and behavior
|
||||
- Unicode-based application and can import files in a wide range of character encodings
|
||||
- Cross-platform tool
|
||||
|
||||
- Website: [sourcegear.com/diffmerge][2]
|
||||
- Developer: SourceGear LLC
|
||||
- License: Licensed for use free of charge (not open source)
|
||||
- Version Number: 4.2
|
||||
|
||||
----------
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
xxdiff is an open source graphical file and directories comparator and merge tool.
|
||||
|
||||
xxdiff can be used for viewing the differences between two or three files, or two directories, and can be used to produce a merged version. The texts of the two or three files are presented side by side with their differences highlighted with colors for easy identification.
|
||||
|
||||
This program is an essential software development tool that can be used to visualize the differences between files or directories, merge files with differences, resolving conflicts and saving output to a new file or patch, and assist file changes reviewing and comment production (e.g. approving source code changes before they get merged into a source tree).
|
||||
|
||||
Features include:
|
||||
|
||||
- Compare two files, three files, or two directories (shallow and recursive)
|
||||
- Horizontal diffs highlighting
|
||||
- Files can be merged interactively and resulting output visualized and saved
|
||||
- Features to assist in performing merge reviews/policing
|
||||
- Unmerge CVS conflicts in automatically merged file and display them as two files, to help resolve conflicts
|
||||
- Uses external diff program to compute differences: works with GNU diff, SGI diff and ClearCase's cleardiff, and any other diff whose output is similar to those
|
||||
- Fully customizable with a resource file
|
||||
- Look-and-feel similar to Rudy Wortel's/SGI xdiff, it is desktop agnostic
|
||||
- Features and output that ease integration with scripts
|
||||
|
||||
- Website: [furius.ca/xxdiff][3]
|
||||
- Developer: Martin Blais
|
||||
- License: GNU GPL
|
||||
- Version Number: 4.0
|
||||
|
||||
----------
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
Diffuse is an open source graphical tool for merging and comparing text files. Diffuse is able to compare an arbitrary number of files side-by-side and offers the ability to manually adjust line-matching and directly edit files. Diffuse can also retrieve revisions of files from bazaar, CVS, darcs, git, mercurial, monotone, Subversion and GNU Revision Control System (RCS) repositories for comparison and merging.
|
||||
|
||||
Features include:
|
||||
|
||||
- Compare and merge an arbitrary number of files side-by-side (n-way merges)
|
||||
- Line matching can be manually corrected by the user
|
||||
- Directly edit files
|
||||
- Syntax highlighting
|
||||
- Bazaar, CVS, Darcs, Git, Mercurial, Monotone, RCS, Subversion, and SVK support
|
||||
- Unicode support
|
||||
- Unlimited undo
|
||||
- Easy keyboard navigation
|
||||
|
||||
- Website: [diffuse.sourceforge.net][]
|
||||
- Developer: Derrick Moser
|
||||
- License: GNU GPL v2
|
||||
- Version Number: 0.4.7
|
||||
|
||||
----------
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
Kompare is an open source GUI front-end program that enables differences between source files to be viewed and merged. Kompare can be used to compare differences on files or the contents of folders. Kompare supports a variety of diff formats and provide many options to customize the information level displayed.
|
||||
|
||||
Whether you are a developer comparing source code, or you just want to see the difference between that research paper draft and the final document, Kompare is a useful tool.
|
||||
|
||||
Kompare is part of the KDE desktop environment.
|
||||
|
||||
Features include:
|
||||
|
||||
- Compare two text files
|
||||
- Recursively compare directories
|
||||
- View patches generated by diff
|
||||
- Merge a patch into an existing directory
|
||||
- Entertain you during that boring compile
|
||||
|
||||
- Website: [www.caffeinated.me.uk/kompare/][5]
|
||||
- Developer: The Kompare Team
|
||||
- License: GNU GPL
|
||||
- Version Number: Part of KDE
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.linuxlinks.com/article/2014062814400262/FileComparisons.html
|
||||
|
||||
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://meldmerge.org/
|
||||
[2]:https://sourcegear.com/diffmerge/
|
||||
[3]:http://furius.ca/xxdiff/
|
||||
[4]:http://diffuse.sourceforge.net/
|
||||
[5]:http://www.caffeinated.me.uk/kompare/
|
@ -0,0 +1,39 @@
|
||||
Here Are 5 Amazing Ascii Art Generators!
|
||||
================================================================================
|
||||

|
||||
|
||||
ASCII is a very fascinating character-encoding scheme wherein codes represent text in computers, communications equipment, and other devices that use text. The next gen might call it old-school but those familiar with the concept know how unique ASCII really is. Here we have compiled a list of 5 amazing ASCII art generators for you.
|
||||
|
||||
### 1.[GlassGiant ASCII Art][1] ###
|
||||
|
||||
This little program converts your picture to ASCII text art - a jumble of letters, numbers and symbols that do not appear to have any significance until you step back and look at the whole picture. It has no practical purpose, other than the neat factor.
|
||||
|
||||
### 2.[ASCII Art Generator][2] ###
|
||||
|
||||
ASCII art is an art movement that utilises computers for presentation and consists of pictures pieced together from printable characters. All you need to do id upload your image and it will convert it to ascii art.
|
||||
|
||||
### 3.[Ascii.mastervb][3] ###
|
||||
|
||||
ASCII Art is created from a 7-bit ASCII characters standard. ASCII Art was popular in 70-80s. In that time, computer OS was still text based. This application can convert images to ascii really quick.
|
||||
|
||||
### 4.[IMG2TXT][4] ###
|
||||
|
||||
This script takes the URL of a GIF, JPG, or PNG image and converts that image into ASCII text or colored HTML.
|
||||
|
||||
### 5.[picascii][5] ###
|
||||
|
||||
Convert a picture into ASCII TEXT,HTML. In order to convert a picture, you just need to enter an url or select a picture from your computer (gif,jpeg,png).
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.efytimes.com/e1/fullnews.asp?edid=142480
|
||||
|
||||
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://glassgiant.com/ascii/
|
||||
[2]:http://www.ascii-art-generator.org/
|
||||
[3]:http://ascii.mastervb.net/
|
||||
[4]:http://www.degraeve.com/img2txt.php
|
||||
[5]:http://picascii.com/
|
@ -0,0 +1,46 @@
|
||||
The People Who Support Linux: Hacking on Linux Since Age 16
|
||||
================================================================================
|
||||

|
||||
|
||||
Pretty much all of the projects in software developer [Yitao Li's GitHub repository][1] were developed on his Linux machine. None of them are necessarily Linux-specific, he says, but he uses Linux for “everything.”
|
||||
|
||||
For example: “coding / scripting, web browsing, web hosting, anything cloud-related, sending / receiving PGP signed emails, tweaking IP table rules, flashing OpenWrt image into routers, running one version of Linux kernel while compiling another version, doing research, doing homework (e.g., typing math equations in Tex), and many others...” Li said via email.
|
||||
|
||||
Of all the projects in his repository his favorite is a school project developed in C++ with libpthread and libfuse to understand and correctly implement PAXOS-based distributed locking, key-value service, and eventually a distributed filesystem. He tested it using a number of test scripts on both single-core and multi-core machines.
|
||||
|
||||
“One can learn something about distributed consensus protocol by implementing the PAXOS protocol correctly (or at least mostly correctly) such that the implementation will pass all the tests,” he said. “And of course once that is accomplished, one can also earn some bragging rights. Besides, a distributed filesystem can be useful in many other programming projects.”
|
||||
|
||||
Li first started using Linux at age 16, or about 7.47 years ago, he says, using the website [linuxfromscratch.org][2], with numerous hints from the free, downloadable Linux From Scratch book. Why?
|
||||
|
||||
“1. Linux is very hacker-friendly and I do not see any reason for not using it,” he writes. “2. The prefrontal cortex of the brain becoming well-developed at age 16 (?).”
|
||||
|
||||
[][3]
|
||||
|
||||
He now works for eBay, mostly coding in Java but working sometimes with Hadoop, Pig, Zookeeper, Cassandra, MongoDB, and other software that requires a POSIX-compliant platform. He supports the Linux community by contributing to Wikipedia pages and forums on Linux-related subjects. And by becoming an individual member of The Linux Foundation.
|
||||
|
||||
He keeps up with the latest Linux developments and has recently been impressed by the new "-fstack-protector-strong" option for GCC 4.9 and later.
|
||||
|
||||
“It's not directly related to any of my projects, but it was important for both security and performance reasons,” he said. “It's much more efficient than "-fstack-protector-all" with little impact on security, while providing better stack-overflow protection coverage compared to that of the "-fstack-protector" option.”
|
||||
|
||||
Welcome to the Linux Foundation Yitao!
|
||||
|
||||
Learn more about becoming an [individual member of The Linux Foundation][3]. The foundation will donate $25 to Code.org for every new individual member who joins during June.
|
||||
|
||||
----------
|
||||
|
||||

|
||||
|
||||
[Libby Clark][4]
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.linux.com/news/featured-blogs/200-libby-clark/778559-the-people-who-support-linux-hacking-on-linux-since-age-16
|
||||
|
||||
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:https://github.com/yl790
|
||||
[2]:http://linuxfromscratch.org/
|
||||
[3]:https://www.linuxfoundation.org/about/join/individual
|
||||
[4]:http://www.linux.com/community/forums/person/41373/catid/200-libby-clark
|
69
sources/tech/20140701 Command Line Tuesdays--Part Two.md
Normal file
69
sources/tech/20140701 Command Line Tuesdays--Part Two.md
Normal file
@ -0,0 +1,69 @@
|
||||
乌龙茶占坑
|
||||
Command Line Tuesdays – Part Two
|
||||
================================================================================
|
||||
Heya geekos!
|
||||
|
||||
Let’s refresh our memories. [Last week][1], we skimmed through some basic commands, learned what a shell is actually, and made a steady introduction into our CLI Tuesdays series.
|
||||
|
||||
Today’s menu offers something else: navigation through the file system.
|
||||
|
||||
Now, the best picture I managed to find on the www is from a site called [devopsbootcamp][2]. You can find their tutorials and the rest here. But anyway, here’s a very nice diagram of what a linux root filesystem looks like.
|
||||
|
||||

|
||||
|
||||
For example, as stated in the above picture, your user directory (where you usually store your movies, music, documents etc.) is located in the /home folder. /home folder is located under /. Then you have the /etc folder, where most of the files for configuration are located. Anyway, you can find the detailed description here, as we’ll not be getting into which folder is for what, until we start using and configuring them. Today is reserved for navigation only. And on that note, let’s get down to the first command of the day…
|
||||
|
||||
### pwd ###
|
||||
|
||||
pwd, or ‘print working directory’ is a very useful command if you think you are lost navigating through the folders. At any given moment, type pwd, and voila! What appears is a complete pathway you took to arrive to this folder. Those guys in The Cube could sure use it, losers.
|
||||
|
||||

|
||||
注:此图原文哪里看不到,看看能通过什么途径得到
|
||||
|
||||
Imagine yourselves walking from room to room inside a massive apartment, loosing your way. pwd is like the breadcrumb trail leading you to your starting point, so you don’t loose your way inside the folder maze!
|
||||
|
||||

|
||||
|
||||
### cd ###
|
||||
|
||||
Now you know in which directory you’re situated thanks to your usage of the pwd command. Now you want to take the next step and move to another directory. Let’s say you have a folder/directory inside your home folder you want to relocate your top secret terminal operation to. For this, you use the ‘cd’ command. cd, or ‘change directory’, will change the location of wanted directory. How do you use it? Simple, type cd and the path to your folder. Let’s say, for example, you want to enter your Hello Kitty picture collection in your home folder. You type ‘cd /home/username/Hello\ Kitty’.
|
||||
|
||||
As you see, we didn’t only use the space bar in the folder name. That’s because the terminal won’t recognize it. Whenever you want to navigate to a folder containing a space in it’s name, you **replace it with the backslash character, followed by space**. You can also, without using the backslash+space option, just put the **whole folder name into quotes**, f.ex. cd /home/username/”Hello Kitty”.
|
||||
|
||||

|
||||
|
||||
Try it out yourself. Navigate to a different directory using cd, and when there, type pwd to see if everything worked as it’s supposed to.
|
||||
|
||||
### Mr. Shotts’ Shottcuts ###
|
||||
|
||||
Mr. Shotts reminds us there are also some shortcuts available.
|
||||
|
||||
If you type only cd, without the path following it, your terminal will change your working directory (whatever it may be) to your /home folder.
|
||||
|
||||
The same, if you type cd `~user_name` it will lead you to the home folder of the specific user you stated.
|
||||
|
||||
### Next Week ###
|
||||
|
||||
Next week, we’ll head over to the next chapter – we’ll learn how to list files and directories, view text files and classify file’s contents so it will be a bit more work than we’re used to, but I hope you’ll have enough time. Command by command, and if you haven’t the time to do it yourself, we’ll learn the basics together in a matter of months!
|
||||
|
||||
and remember…
|
||||
|
||||
### …have a lot of fun! ###
|
||||
|
||||
P.S.: Thanks to bwl’s comment, we fixed an error in the text regarding the space bar in directory names.
|
||||
|
||||
P.P.S.: GreatEmerald also added some fresh information about file hierarchy. You can read it in [the comments][3].
|
||||
|
||||
Thanks for your input/corrections.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://news.opensuse.org/2014/06/24/command-line-tuesdays-part-two/
|
||||
|
||||
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:https://news.opensuse.org/2014/06/10/command-line-tuesdays-part-one/
|
||||
[2]:http://devopsbootcamp.readthedocs.org/
|
||||
[3]:https://news.opensuse.org/2014/06/24/command-line-tuesdays-part-two/comment-page-1/#comment-99186
|
@ -0,0 +1,499 @@
|
||||
Get OpenVPN up and running, enjoy your privacy
|
||||
================================================================================
|
||||

|
||||
|
||||
> We are fanatic supporters of privacy. Not so much because we have super secrets to hide, but because we consider privacy as a basic human right. So we believe that anytime anyone chooses to exercise that right on the net, then they should have unencumbered access to all the necessary tools and services. OpenVPN is such a service and there are also many tools (clients) which allow us to utilize and enjoy that service.
|
||||
|
||||
By establishing a connection to an [OpenVPN][1] server, we basically create a secure communications channel between our device and the remote host OpenVPN runs on. Although traffic flowing between these two end-points can be intercepted, it is strongly encrypted and thus practically useless to the interceptor. In addition to the OpenVPN acting as the facilitator of this encrypted channel (or tunnel), we may configure the server to also play the role of our Internet gateway. By doing so, we can for example hook up to any open, inherently insecure WiFi network, then immediately connect to the remote OpenVPN server and start using any Internet-enabled application without worrying of prying eyes or bored administrators. (Note though that we still need to trust any administrator in the vicinity of the OpenVPN server. But more on that towards the end of the post.)
|
||||
|
||||
This article is a step-by-step guide on how to setup OpenVPN on [Ubuntu Server 14.04 LTS][2]. The OpenVPN host computer may be a VPS in the cloud, a virtual machine running on one of our computers at home, or even that somewhat aged box we tend to forget we have.
|
||||
|
||||
### Step 01 -- System Preparation ###
|
||||
|
||||
We gain access to a command shell in the Ubuntu Server host, for example by remotely connecting to it via SSH, and immediately refresh the local repository database:
|
||||
|
||||
sub0@delta:~$ sudo apt-get update
|
||||
|
||||
To perform any upgrades for all installed packages and the operating system itself, we type:
|
||||
|
||||
sub0@delta:~$ sudo apt-get dist-upgrade
|
||||
|
||||
If a new kernel gets pulled in, a system reboot will be required. After refreshing and upgrading, it’s time to install OpenVPN:
|
||||
|
||||
sub0@delta:~$ sudo apt-get -y install openvpn easy-rsa dnsmasq
|
||||
|
||||
Notice that we installed three packages with apt-get:
|
||||
|
||||
- openvpn provides the core of OpenVPN
|
||||
- easy-rsa contains some handy scripts for key management
|
||||
- dnsmasq is the name server we’ll be using later on, when our OpenVPN server box/VM will assume the role of a router for all OpenVPN clients`
|
||||
|
||||
### Step 02 -- Master certificate and private key for the Certificate Authority ###
|
||||
|
||||
The most important –and admittedly the most crucial– step during the setup of an OpenVPN server, is the establishment of a corresponding Public Key Infrastructure (PKI). This infrastructure comprises the following:
|
||||
|
||||
- A certificate (public key) and a private key for the OpenVPN server
|
||||
- A certificate and a private key for any OpenVPN client
|
||||
- A master certificate and a private key for the Certificate Authority (CA). This private key is used for signing the OpenVPN certificate as well as the client certificates.
|
||||
|
||||
Beginning with the latter, we create a convenient working directory
|
||||
|
||||
sub0@delta:~$ sudo mkdir /etc/openvpn/easy-rsa
|
||||
|
||||
and then copy easy-rsa’s files to it:
|
||||
|
||||
sub0@delta:~$ sudo cp -r /usr/share/easy-rsa/* /etc/openvpn/easy-rsa
|
||||
|
||||
Before we actually create the keys for the CA, we open /etc/openvpn/easy-rsa/vars for editing (we like the nano text editor but this is just our preference):
|
||||
|
||||
sub0@delta:~$ sudo nano /etc/openvpn/easy-rsa/vars
|
||||
|
||||
Towards the end of the file we assign values to a set of variables which are read during the creation of the master certificate and private key. Take a look at the variables we assigned values to:
|
||||
|
||||
export KEY_COUNTRY="GR"
|
||||
export KEY_PROVINCE="Central Macedonia"
|
||||
export KEY_CITY="Thessaloniki"
|
||||
export KEY_ORG="Parabing Creations"
|
||||
export KEY_EMAIL="nobody@parabing.com"
|
||||
export KEY_CN="VPNsRUS"
|
||||
export KEY_NAME="VPNsRUS"
|
||||
export KEY_OU="Parabing"
|
||||
export KEY_ALTNAMES="VPNsRUS"
|
||||
|
||||
It goes without saying that you may assign different values, more appropriate for your case. Also take particular note of the last line, in which we set a value to the KEY_ALTNAMES variable. This line is not part of the original vars file but we nevertheless append it at the end of said file, or the build-ca script we’re going to run next will fail.
|
||||
|
||||
To save the changes in vars we hit [CTRL+O] followed by the [Enter] key. To quit nano we hit [CTRL+X]. Now, we gain access to the root account and move on to building of the master certificate and private key:
|
||||
|
||||
sub0@delta:~$ sudo su
|
||||
root@delta:/home/sub0# cd /etc/openvpn/easy-rsa
|
||||
root@delta:/etc/openvpn/easy-rsa# source vars
|
||||
NOTE: If you run ./clean-all, I will be doing a rm -rf on /etc/openvpn/easy-rsa/keys
|
||||
root@delta:/etc/openvpn/easy-rsa# sh clean-all
|
||||
root@delta:/etc/openvpn/easy-rsa# sh build-ca
|
||||
Generating a 1024 bit RSA private key
|
||||
...++++++
|
||||
................++++++
|
||||
writing new private key to 'ca.key'
|
||||
-----
|
||||
You are about to be asked to enter information that will be incorporated
|
||||
into your certificate request.
|
||||
What you are about to enter is what is called a Distinguished Name or a DN.
|
||||
There are quite a few fields but you can leave some blank
|
||||
For some fields there will be a default value,
|
||||
If you enter '.', the field will be left blank.
|
||||
-----
|
||||
Country Name (2 letter code) [GR]:
|
||||
State or Province Name (full name) [Central Macedonia]:
|
||||
Locality Name (eg, city) [Thessaloniki]:
|
||||
Organization Name (eg, company) [Parabing Creations]:
|
||||
Organizational Unit Name (eg, section) [Parabing]:
|
||||
Common Name (eg, your name or your server's hostname) [VPNsRUS]:
|
||||
Name [VPNsRUS]:
|
||||
Email Address [nobody@parabing.com]:
|
||||
root@delta:/etc/openvpn/easy-rsa#
|
||||
|
||||
In our example the default answers were used for all the questions. After the build-ca script finishes we have the file for the master certificate (keys/ca.crt) and also the file for the private key (keys/ca.key). The latter must be kept secret at all costs.
|
||||
|
||||
### Step 03 -- Certificate and private key for the OpenVPN server ###
|
||||
|
||||
Before we make a certificate and private key for our OpenVPN server, we need to pick a name for it. We decided to name ours “delta” and then ran the build-key-server script to get the keys:
|
||||
|
||||
root@delta:/etc/openvpn/easy-rsa# sh build-key-server delta
|
||||
Generating a 1024 bit RSA private key
|
||||
....++++++
|
||||
...++++++
|
||||
writing new private key to 'delta.key'
|
||||
-----
|
||||
You are about to be asked to enter information that will be incorporated
|
||||
into your certificate request.
|
||||
What you are about to enter is what is called a Distinguished Name or a DN.
|
||||
There are quite a few fields but you can leave some blank
|
||||
For some fields there will be a default value,
|
||||
If you enter '.', the field will be left blank.
|
||||
-----
|
||||
Country Name (2 letter code) [GR]:
|
||||
State or Province Name (full name) [Central Macedonia]:
|
||||
Locality Name (eg, city) [Thessaloniki]:
|
||||
Organization Name (eg, company) [Parabing Creations]:
|
||||
Organizational Unit Name (eg, section) [Parabing]:
|
||||
Common Name (eg, your name or your server's hostname) [delta]:
|
||||
Name [VPNsRUS]:deltaVPN
|
||||
Email Address [nobody@parabing.com]:
|
||||
|
||||
Please enter the following 'extra' attributes
|
||||
to be sent with your certificate request
|
||||
A challenge password []:
|
||||
An optional company name []:
|
||||
Using configuration from /etc/openvpn/easy-rsa/openssl-1.0.0.cnf
|
||||
Check that the request matches the signature
|
||||
Signature ok
|
||||
The Subject's Distinguished Name is as follows
|
||||
countryName :PRINTABLE:'GR'
|
||||
stateOrProvinceName :PRINTABLE:'Central Macedonia'
|
||||
localityName :PRINTABLE:'Thessaloniki'
|
||||
organizationName :PRINTABLE:'Parabing Creations'
|
||||
organizationalUnitName:PRINTABLE:'Parabing'
|
||||
commonName :PRINTABLE:'delta'
|
||||
name :PRINTABLE:'deltaVPN'
|
||||
emailAddress :IA5STRING:'nobody@parabing.com'
|
||||
Certificate is to be certified until Apr 7 08:06:02 2024 GMT (3650 days)
|
||||
Sign the certificate? [y/n]:y
|
||||
|
||||
1 out of 1 certificate requests certified, commit? [y/n]y
|
||||
Write out database with 1 new entries
|
||||
Data Base Updated
|
||||
root@delta:/etc/openvpn/easy-rsa#
|
||||
|
||||
The script successfully finished and we got a certificate (keys/delta.crt) as well as a private key (keys/delta.key) for our server. Note that the server certificate is signed by the CA’s private key.
|
||||
|
||||
### Step 04 -- Diffie-Hellman parameters ###
|
||||
|
||||
The secure passing of keys over an insecure communications channel is made possible thanks to a well-known technique involving the so called Diffie-Hellman parameters. To generate those we just type
|
||||
|
||||
root@delta:/etc/openvpn/easy-rsa# sh build-dh
|
||||
Generating DH parameters, 2048 bit long safe prime, generator 2
|
||||
This is going to take a long time
|
||||
.......................+.....................................+..
|
||||
...........................+..+.....................+...........
|
||||
..............................................+.................
|
||||
.......................+........................................
|
||||
................................................+...............
|
||||
.......................................++*++*++*
|
||||
root@delta:/etc/openvpn/easy-rsa#
|
||||
|
||||
The certificates, private keys and the file containing the Diffie-Hellman parameters we just generated, are all stored into the /etc/openvpn/easy-rsa/keys directory. So up until now we have five files in total and in our case they are as follows:
|
||||
|
||||
1. **ca.crt** – the certificate of the Certificate Authority
|
||||
2. **ca.key** – the private key of the CA
|
||||
3. **delta.crt** – the certificate of the OpenVPN server
|
||||
4. **delta.key** – the private key of the OpenVPN server
|
||||
5. **dh2048.pem** – the Diffie-Hellman parameters file
|
||||
|
||||
In all likelihood, the keys for your own OpenVPN server are named differently. We now need to copy all files but the ca.key over to the /etc/openvpn directory:
|
||||
|
||||
root@delta:/etc/openvpn/easy-rsa# cd keys
|
||||
root@delta:/etc/openvpn/easy-rsa/keys# cp ca.crt delta.crt delta.key dh2048.pem /etc/openvpn
|
||||
root@delta:/etc/openvpn/easy-rsa/keys# cd ..
|
||||
root@delta:/etc/openvpn/easy-rsa#
|
||||
|
||||
### Step 05 -- Certificates and private keys for the OpenVPN clients ###
|
||||
|
||||
Let’s assume we’d like to connect to the OpenVPN server from our laptop. That’s actually a very common scenario and in order to be able to do so we first need to generate a certificate as well as a private key for the client, i.e. our laptop. There’s a script for that and it lives in the /etc/openvpn/easy-rsa directory:
|
||||
|
||||
root@delta:/etc/openvpn/easy-rsa# source vars
|
||||
NOTE: If you run ./clean-all, I will be doing a rm -rf on /etc/openvpn/easy-rsa/keys
|
||||
root@delta:/etc/openvpn/easy-rsa# ./build-key laptop
|
||||
Generating a 1024 bit RSA private key
|
||||
.......................................++++++
|
||||
...................................................................................................++++++
|
||||
writing new private key to 'laptop.key'
|
||||
-----
|
||||
You are about to be asked to enter information that will be incorporated
|
||||
into your certificate request.
|
||||
What you are about to enter is what is called a Distinguished Name or a DN.
|
||||
There are quite a few fields but you can leave some blank
|
||||
For some fields there will be a default value,
|
||||
If you enter '.', the field will be left blank.
|
||||
-----
|
||||
Country Name (2 letter code) [GR]:
|
||||
State or Province Name (full name) [Central Macedonia]:
|
||||
Locality Name (eg, city) [Thessaloniki]:
|
||||
Organization Name (eg, company) [Parabing Creations]:
|
||||
Organizational Unit Name (eg, section) [Parabing]:
|
||||
Common Name (eg, your name or your server's hostname) [laptop]:
|
||||
Name [VPNsRUS]:
|
||||
Email Address [nobody@parabing.com]:
|
||||
|
||||
Please enter the following 'extra' attributes
|
||||
to be sent with your certificate request
|
||||
A challenge password []:
|
||||
An optional company name []:
|
||||
Using configuration from /etc/openvpn/easy-rsa/openssl-1.0.0.cnf
|
||||
Check that the request matches the signature
|
||||
Signature ok
|
||||
The Subject's Distinguished Name is as follows
|
||||
countryName :PRINTABLE:'GR'
|
||||
stateOrProvinceName :PRINTABLE:'Central Macedonia'
|
||||
localityName :PRINTABLE:'Thessaloniki'
|
||||
organizationName :PRINTABLE:'Parabing Creations'
|
||||
organizationalUnitName:PRINTABLE:'Parabing'
|
||||
commonName :PRINTABLE:'laptop'
|
||||
name :PRINTABLE:'VPNsRUS'
|
||||
emailAddress :IA5STRING:'nobody@parabing.com'
|
||||
Certificate is to be certified until Apr 7 18:00:51 2024 GMT (3650 days)
|
||||
Sign the certificate? [y/n]:y
|
||||
|
||||
1 out of 1 certificate requests certified, commit? [y/n]y
|
||||
Write out database with 1 new entries
|
||||
Data Base Updated
|
||||
root@delta:/etc/openvpn/easy-rsa#
|
||||
|
||||
The base name we chose for the keys was “laptop”, so after the build-key finished we got keys/laptop.crt (certificate) and keys/laptop.key (private key). Those two keys for the particular client along with the CA’s certificate file go together, and it’s a good idea to copy them to a directory where our user (sub0) has full access to. We can, for example, create a new directory in the user’s home directory and copy those three files there:
|
||||
|
||||
root@delta:/etc/openvpn/easy-rsa# mkdir /home/sub0/ovpn-client
|
||||
root@delta:/etc/openvpn/easy-rsa# cd keys
|
||||
root@delta:/etc/openvpn/easy-rsa/keys# cp ca.crt laptop.crt laptop.key /home/sub0/ovpn-client
|
||||
root@delta:/etc/openvpn/easy-rsa/keys# chown -R sub0:sub0 /home/sub0/ovpn-client
|
||||
root@delta:/etc/openvpn/easy-rsa/keys# cd ..
|
||||
root@delta:/etc/openvpn/easy-rsa#
|
||||
|
||||
The directory ovpn-client must be securely copied to our laptop. We are allowed to distribute those three files to more than one clients, as long as they are all ours. Of course, should we need a different certificate-private key couple, we run the build-key script again.
|
||||
|
||||
### Step 06 -- OpenVPN server configuration ###
|
||||
|
||||
In a little while our OpenVPN server will be up and running. But first, there are some configuration changes that need to be made. There’s a sample configuration file in /usr/share/doc/openvpn/examples/sample-config-files which is excellent for our setup. That file is named server.conf.gz:
|
||||
|
||||
root@delta:/etc/openvpn/easy-rsa# cd /etc/openvpn
|
||||
root@delta:/etc/openvpn# cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz .
|
||||
root@delta:/etc/openvpn# gunzip -d server.conf.gz
|
||||
root@delta:/etc/openvpn# mv server.conf delta.conf
|
||||
root@delta:/etc/openvpn#
|
||||
|
||||
As you can see, we copied server.conf.gz into the /etc/openvpn directory, uncompressed it and renamed it to delta.conf. You may choose any name you like for your OpenVPN server’s configuration file, as long as it has the “.conf” extension. Whatever the base name, we now open the configuration file with nano:
|
||||
|
||||
root@delta:/etc/openvpn# nano delta.conf
|
||||
|
||||
Here are the changes and additions we should make.
|
||||
|
||||
- First, we locate the lines
|
||||
|
||||
cert server.crt
|
||||
key server.key
|
||||
|
||||
and make sure they reflect the names of our OpenVPN server’s certificate and private key. In our case, those lines were changed into
|
||||
|
||||
cert delta.crt
|
||||
key delta.key
|
||||
|
||||
- We locate the line
|
||||
|
||||
dh dh1024.pem
|
||||
|
||||
and replace “1024″ with “2048″:
|
||||
|
||||
dh dh2048.pem
|
||||
|
||||
- At the end of the configuration file we add the following two lines:
|
||||
|
||||
push "redirect-gateway def1"
|
||||
push "dhcp-option DNS 10.8.0.1"
|
||||
|
||||
Those last two lines instruct the clients to use OpenVPN as the default gateway to the Internet, and also use 10.8.0.1 as the server to deal with DNS requests. Notice that 10.8.0.1 is the IP address of the tunnel network interface OpenVPN automatically creates upon startup. If the clients were to use any other server for name resolution, then we would have a situation in which all DNS requests were served from a possibly untrustworthy server. To avoid such DNS leaks, we instruct all OpenVPN clients to use 10.8.0.1 as the DNS server.
|
||||
|
||||
We start our OpenVPN server like this:
|
||||
|
||||
root@delta:/etc/openvpn# service openvpn start
|
||||
|
||||
By default, OpenVPN listens for connections on port 1194/UDP. One way to see that is with the netstat tool:
|
||||
|
||||
root@delta:/etc/openvpn# netstat -anup
|
||||
Active Internet connections (servers and established)
|
||||
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
|
||||
udp 0 0 0.0.0.0:54149 0.0.0.0:* 555/dhclient
|
||||
udp 0 0 0.0.0.0:1194 0.0.0.0:* 3024/openvpn
|
||||
udp 0 0 0.0.0.0:53 0.0.0.0:* 2756/dnsmasq
|
||||
udp 0 0 0.0.0.0:68 0.0.0.0:* 555/dhclient
|
||||
udp6 0 0 :::60622 :::* 555/dhclient
|
||||
udp6 0 0 :::53 :::* 2756/dnsmasq
|
||||
|
||||
All is well, though we have no properly configured DNS server for the clients yet.
|
||||
|
||||
### Step 07 -- A DNS service for OpenVPN clients ###
|
||||
|
||||
That’s why we’ve installed dnsmasq for. We open up its configuration file
|
||||
|
||||
root@delta:/etc/openvpn# nano /etc/dnsmasq.conf
|
||||
|
||||
locate this line
|
||||
|
||||
#listen-address=
|
||||
|
||||
and change it into the following one:
|
||||
|
||||
listen-address=127.0.0.1, 10.8.0.1
|
||||
|
||||
We also locate this line
|
||||
|
||||
#bind-interfaces
|
||||
|
||||
and delete the hash character on the left:
|
||||
|
||||
bind-interfaces
|
||||
|
||||
To make dnsmasq take these changes into account, we just restart the service:
|
||||
|
||||
root@delta:/etc/openvpn# service dnsmasq restart
|
||||
* Restarting DNS forwarder and DHCP server dnsmasq [ OK ]
|
||||
root@delta:/etc/openvpn#
|
||||
|
||||
As it is now, dnsmasq listens for DNS requests from the loopback (lo) and also from the tunnel (tun0) interface. The output of netstat confirms that:
|
||||
|
||||
root@delta:/etc/openvpn# netstat -anup
|
||||
Active Internet connections (servers and established)
|
||||
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
|
||||
udp 0 0 0.0.0.0:57219 0.0.0.0:* 638/dhclient
|
||||
udp 0 0 0.0.0.0:1194 0.0.0.0:* 911/openvpn
|
||||
udp 0 0 127.0.0.1:53 0.0.0.0:* 1385/dnsmasq
|
||||
udp 0 0 10.8.0.1:53 0.0.0.0:* 1385/dnsmasq
|
||||
udp 0 0 0.0.0.0:68 0.0.0.0:* 638/dhclient
|
||||
udp6 0 0 :::39148 :::* 638/dhclient
|
||||
|
||||
### Step 08 -- Router functionality ###
|
||||
|
||||
We want the VM/box our OpenVPN server runs on to behave like a router, and that means that IP forwarding must be enabled. To enable it right now, from the root account we just type
|
||||
|
||||
root@delta:/etc/openvpn# echo "1" > /proc/sys/net/ipv4/ip_forward
|
||||
|
||||
To make this setting persistent across reboots we open up /etc/sysctl.conf
|
||||
|
||||
root@delta:/etc/openvpn# nano /etc/sysctl.conf
|
||||
|
||||
locate the line
|
||||
|
||||
#net.ipv4.ip_forward=1
|
||||
|
||||
and remove the hash character on the left:
|
||||
|
||||
net.ipv4.ip_forward=1
|
||||
|
||||
There are also some iptables-related rules we should activate:
|
||||
|
||||
root@delta:/etc/openvpn# iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
|
||||
root@delta:/etc/openvpn# iptables -A FORWARD -s 10.8.0.0/24 -j ACCEPT
|
||||
root@delta:/etc/openvpn# iptables -A FORWARD -j REJECT
|
||||
root@delta:/etc/openvpn# iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
|
||||
root@delta:/etc/openvpn#
|
||||
|
||||
And of course we want these rules activated every time Ubuntu boots up, so we add them inside /etc/rc.local:
|
||||
|
||||
#!/bin/sh -e
|
||||
#
|
||||
# rc.local
|
||||
#
|
||||
# This script is executed at the end of each multiuser runlevel.
|
||||
# Make sure that the script will "exit 0" on success or any other
|
||||
# value on error.
|
||||
#
|
||||
# In order to enable or disable this script just change the execution
|
||||
# bits.
|
||||
#
|
||||
# By default this script does nothing.
|
||||
|
||||
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
|
||||
iptables -A FORWARD -s 10.8.0.0/24 -j ACCEPT
|
||||
iptables -A FORWARD -j REJECT
|
||||
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
|
||||
|
||||
service dnsmasq restart
|
||||
|
||||
exit 0
|
||||
|
||||
Please notice the line before the last one:
|
||||
|
||||
service dnsmasq restart
|
||||
|
||||
> This is crucial: During system startup dnsmasq tries to come up before OpenVPN does. But without OpenVPN there is no tunnel interface (tun0) present so naturally dnsmasq fails. A bit later, when /etc/rc.local is read the tun0 interface is present, so at this point we restart dnsmasq and everything is as it's supposed to be.
|
||||
|
||||
### Step 09 -- Client configuration ###
|
||||
|
||||
In Step 05 we created the directory ovpn-client inside our user’s home directory (/home/sub0, in our example). In there we have the CA certificate plus the client certificate and private key. There’s only one file missing and that’s the configuration file for the client. A sample file we can use is inside /usr/share/doc/openvpn/examples/sample-config-files:
|
||||
|
||||
root@delta:/etc/openvpn# exit
|
||||
exit
|
||||
sub0@delta:~$ cd ~/ovpn-client
|
||||
sub0@delta:~/ovpn-client$ cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf .
|
||||
sub0@delta:~/ovpn-client$
|
||||
|
||||
We open up client.conf for editing and immediately locate the following line:
|
||||
|
||||
remote my-server-1 1194
|
||||
|
||||
This “my-server-1″ string is a placeholder and we are now going to replace it for our server’s public domain name or public IP. If we do have a public domain name already assigned to the server, then there’s nothing more to do than put it in place of my-server-1. Things get a tiny bit more involved if there’s no public domain name for our server. What’s the public IP for it? One way to find out is by typing the following:
|
||||
|
||||
sub0@delta:~/ovpn-client$ curl ipecho.net/plain ; echo
|
||||
|
||||
(If instead of a numeric IP address you get an error, just wait a few seconds and try again.) So now we know our server’s public IP, but is it static or dynamic? Well, if we’re dealing with a server at home or even at the office, chances are it has a dynamic IP address. In that case it is advisable to use a free dynamic DNS service, such as the one provided by http://www.noip.com. In the case of NoIP, assuming we have chosen the free domain dnsalias.net then we may end up with a line like this
|
||||
|
||||
remote ovpn.dnsalias.net 1194
|
||||
|
||||
where “ovpn” is the hostname we’ve given to the server. On the other hand, if our server is hosted in the cloud then it probably has a static public IP address. In that case, the remote directive inside client.conf will look like the following:
|
||||
|
||||
remote 1.2.3.4 1194
|
||||
|
||||
There are two more lines we need to modify:
|
||||
|
||||
cert client.crt
|
||||
key client.key
|
||||
|
||||
In our case, the certificate and private key files for the client are named laptop.crt and laptop.key respectively, so our client.conf contains these two lines:
|
||||
|
||||
cert laptop.crt
|
||||
key laptop.key
|
||||
|
||||
After making sure the changes to client.conf are saved, we need to securely transfer the whole ovpn-client directory to the client. One way to do so is by using the scp command (secure copy or copy over SSH). An alternative is provided by the excellent and free FileZilla, which supports FTP over SSH connections (SFTP).
|
||||
|
||||
### Step 10 -- Connecting and testing ###
|
||||
|
||||

|
||||
|
||||
|
||||
So how do we actually connect to the remote OpenVPN server? It all depends on the type of the device we have in hand and of course on the operating system is runs. In a bit we are going to examine the cases of four different OS families — or OS categories, if you will: Linux, Windows, OS X and iOS/Android. Note though that no matter the device or the OS, for the connection to be successful we need to be outside of the OpenVPN server’s local network. In addition, if there’s a firewall in front of the server –and it probably is– then we ought to put a new rule in place which essentially states something like this:
|
||||
|
||||
*Redirect all incoming UDP packets for port 1194 to port 1194/UDP of the server’s public-facing network interface.*
|
||||
|
||||
That’s some simple firewall rule, don’t you think? And without further ado, let’s establish our first connection to the fabulous OpenVPN server of ours.
|
||||
|
||||
**Linux**. All we need is the openvpn package installed. One way to connect to the remote OpenVPN server is to fire up a terminal, change to the ovpn-client directory and from the root user account –or with the assistance of sudo– type something like this:
|
||||
|
||||
/usr/sbin/openvpn --config client.conf
|
||||
|
||||
Anytime we want to terminate the connection we just hit [CTRL+C].
|
||||
|
||||
**Windows**. A free OpenVPN client is the so called [OpenVPN Desktop Client][3]. The configuration file client.conf must be renamed to client.ovpn and that’s the file we should give to the OpenVPN Desktop Client. The application will read client.ovpn and create a new connection profile for the OpenVPN server.
|
||||
|
||||

|
||||
|
||||
**OS X**. A free OpenVPN client for OS X is [tunnelblick][4]. There is also [Viscosity][5] which is commercial and happens to be our favorite. Viscosity will read client.conf and create a new connection profile for the remote server.
|
||||
|
||||
iOS/Android. An excellent choice is OpenVPN connect. It is free of charge and available from the [App Store][6] as well as the Google [Play store][7].
|
||||
|
||||
Regardless of the computing platform, sometimes we’d like to check if we’re actually using the OpenVPN server we think we’re using. One way to do that is by following this simple 4-step procedure:
|
||||
|
||||
Prior to connecting to the OpenVPN server we…
|
||||
|
||||
- visit a site such as [whatip.com][8] and take note of our public IP
|
||||
- visit [dnsleaktest.com][10, perform the standard test, take note of the name servers we’re using
|
||||
|
||||

|
||||
|
||||
After connecting to the OpenVPN server we repeat the above two steps. If we get two different public IPs, this means we do go out on the net through the remote OpenVPN server. In addition, if we get two different sets of name servers, then there are no DNS leaks.
|
||||
|
||||
### Final thoughts ###
|
||||
|
||||
I use three different OpenVPN servers, all custom-made. One of them runs on the pfSense router at my home office in Thessaloniki, Greece. I use this server when I’m out of office and want secure access to the home LAN. The other two OpenVPN servers are hosted on two different VPSes, one in Reykjavik, Iceland, and the other in New Jersey, USA. Whenever I’m out and about and feel like using a random WiFi hotspot, I don’t even have to think of the security implications: I simply connect to the Reykjavik server and start surfing the web normally. There are also some times when I want to casually check out a service which is geographically restricted to the US. In these not-so-common cases the New Jersey server comes in handy, for when I connect to it I get a public IP from the U, S of A and hence access to that otherwise restricted service. It is worth noting that some service providers maintain blacklists with numerous well-known VPN companies. And that’s *exactly* one of the advantages of setting up your own OpenVPN server on a VPS provider of your choosing: It’s unlikely that this provider is blacklisted.
|
||||
|
||||
No matter where the physical location of your server is, OpenVPN ensures that the traffic flow between the client and the server is strongly encrypted. What happens to the traffic leaving the OpenVPN server is another story. Depending on the application-layer protocol it may still be encrypted, but it could be unencrypted as well. So unless you have absolute control of the OpenVPN server and of the local network it belongs to, you cannot fully trust the administrator at the other end. The moral of this is apparent: If you really care about your privacy, then you should keep in mind that your own behavior may indeed undermine it.
|
||||
|
||||
One example will hopefully get the point across. You have a well configured OpenVPN server in the cloud. You use any random WiFi hotspot anytime you feel like it and without the slightest bit of worry, thanks to that heroic OpenVPN server. Then you fire up your favorite mail client to get your email from this good, old mail server which still uses plain SMTP. Guess what? Your username and password leave the OpenVPN server in plain text, i.e. unencrypted. At the same time a bored administrator in the vicinity of the OpenVPN server could be easily sniffing-out your credentials and storing them in their ever-growing list named “random happy people.txt”.
|
||||
|
||||
So what do you do? Simple. You continue using your OpenVPN server, but refrain from using applications which talk old and/or insecure protocols.
|
||||
|
||||
Enjoy your brand new OpenVPN server!
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://parabing.com/2014/06/openvpn-on-ubuntu/
|
||||
|
||||
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://en.wikipedia.org/wiki/Openvpn
|
||||
[2]:http://www.ubuntu.com/server
|
||||
[3]:http://swupdate.openvpn.net/downloads/openvpn-client.msi
|
||||
[4]:https://code.google.com/p/tunnelblick
|
||||
[5]:https://www.sparklabs.com/viscosity
|
||||
[6]:https://itunes.apple.com/us/app/openvpn-connect/id590379981?mt=8
|
||||
[7]:https://play.google.com/store/apps/details?id=net.openvpn.openvpn
|
||||
[8]:http://www.whatip.com/
|
||||
[9]:https://dnsleaktest.com/
|
83
sources/tech/20140702 Command Line Tuesdays--Part Three.md
Normal file
83
sources/tech/20140702 Command Line Tuesdays--Part Three.md
Normal file
@ -0,0 +1,83 @@
|
||||
Command Line Tuesdays – Part Three
|
||||
================================================================================
|
||||
Today, mr Shotts takes us on a first part of a guided tour through our file system. We’ll learn how to visit, list files within directories and we’ll learn to use some options for the first time. So let’s begin with the first command of the week.
|
||||
|
||||
### ls ###
|
||||
|
||||
ls is a command used to list files in a directory. It can be used in various ways. These various ways come with using a form of adding an **option** to our command. To make things clearer; You can type only ls. But, you can also add an option, which will modify your command. It can come in useful when you want to sandbox some of the information, when looking for something specific, and the command issues a very long output, you can, for example, narrow it down to only specific information.
|
||||
|
||||
That’s what an option is. And formally we can write it down like this:
|
||||
|
||||
command -option argument
|
||||
|
||||
Command is, well, a command we write in (like pwd, ls or anything else we have learned by now).
|
||||
|
||||
We already stated above the purpose of an option. But let me note it should be written exactly as it’s in the form; With a dash in front of it. So, if the option is l, you should put **-l** after the command.
|
||||
|
||||
An **argument** is an object upon which the command operates (in this case, it will be directories, as we’ll learning how to navigate through them).
|
||||
|
||||
So, let’s try out ls, and use it on the /etc directory in our home folder. This time, without any options.
|
||||
|
||||

|
||||
|
||||
There you go, a whole bunch of files. It also sorts them by colours. The blue ones are directories, the white ones are files, the green one seems like a shell script of some sort. There are more colors, as they represent different file types.
|
||||
|
||||
Next, you can use the same command, but with an option -l added. Option -l will list the same files and directories, but in a long format. In case you need more information:
|
||||
|
||||

|
||||
|
||||
### The Long Format ###
|
||||
|
||||
So, using the long format, you see much more information, and some crazy looking signs like -rw-r–r– at the beginning of all lines. Actually, here’s a scheme, representing what all of the given information actually means.
|
||||
|
||||

|
||||
|
||||
File Name is the name of the file. Modification time is the last time the file has been modified. Size is the size of the file in bytes. Group is the name of the group that has file permissions along with the owner, and Owner is the user who owns the file. The most important one is…
|
||||
|
||||
### …File Permissions ###
|
||||
|
||||
That’s the gibberish at the beginning of every line in long format. The first character is the file type. If it’s a ‘d’, it means the file’s a directory. If it’s ‘-’, it means it’s an ordinary file. The next three characters represent the read, write and execution rights of the file’s owner. The next three are the same rights of the group that also has access to the file, and the last three characters represent rights of everyone else trying to use the file.
|
||||
|
||||
So for example, if we have a file which in long format displays: -rw-r–r–, it means it’s an ordinary file (the first ‘-’), the owner of the file can read and write the file, but he can’t execute it, as it’s not an executable file (the ‘rw-’ characters after the initial ‘-’), and the user group and everyone else can only read the file (you can see ‘r–’ sequence repeating twice. If the user group had ‘rwx’ instead of ‘r–’, it would mean they could read, write and execute the file).
|
||||
|
||||
Next option for ls is ls -la .. – this will list all of the files, as in a usual command, hidden files are not shown. It will list all files in the parent of the working directory in long format.
|
||||
|
||||
### less ###
|
||||
|
||||
Less is a command which will display your text file. For example, you’re looking for text file os-release in /etc. You have succesfully found it there with ls /etc, and now you want to read it.
|
||||
|
||||
You just use less /etc/os-release.
|
||||
|
||||

|
||||
|
||||
..and there you go.
|
||||
|
||||
How do you control less?
|
||||
|
||||
Easy, with your keyboard!
|
||||
|
||||
less will display only one page of your text at a time. To go forward one page, you can press **Page Up, or ‘b’**. To go back one page, you can use **Page Down, or space**. Capital **G** will take you to the end of the text file, while ‘**1G**‘ will take you to the beginning of the text. **/characters** will search for characters inside the text (for example, if you write /suse, it will search for occurances of suse inside your text and mark them). n will repeat the last search you performed, and **h** will display all your options (h, as in haalp!).
|
||||
|
||||

|
||||
|
||||
You quit less with the letter q.
|
||||
|
||||
### file ###
|
||||
|
||||
The file command will show what kind of file is that you’re looking for, be it ASCII text, a jpg image, a bash script etc. As we performed our exercise with /etc/os-release, let’s use it here also.
|
||||
|
||||

|
||||
|
||||
There you go, os-release is an ASCII text file. Please, do try it out with something else, and see the output.
|
||||
|
||||
And until next time, remember to…
|
||||
|
||||
…have a lot of fun!
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://news.opensuse.org/2014/07/01/command-line-tuesdays-part-three/
|
||||
|
||||
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
@ -0,0 +1,41 @@
|
||||
How to check MySQL storage engine type on Linux
|
||||
================================================================================
|
||||
> **Question**: I need to know whether my MySQL database table is MyISAM or Innodb type. How can I check the type of a MySQL database table?
|
||||
|
||||
There are two major MySQL storage engines used: **MyISAM and Innodb**. MyISAM is non-transactional, and thus can be faster for reads, while InnoDB fully supports transactions (e.g., commit/rollback) with finer-grain locking. When you create a new MySQL table, you choose its type (i.e., storage engine). Without any choice, you will simply use a pre-configured default engine.
|
||||
|
||||
If you would like to know the type of an existing MySQL database table, there are a couple of ways to do it.
|
||||
|
||||
### Method One ###
|
||||
|
||||
If you have access to phpMyAdmin, you can find out the database type from phpMyAdmin. Simply choose your database from phpMyAdmin to see a list of its tables. Under "Type" column, you will see the database type for each table.
|
||||
|
||||

|
||||
|
||||
### Method Two ###
|
||||
|
||||
If you can log in to a MySQL server directly, another way to identify the storage engine is to run the following MySQL command inside your MySQL server after logging in.
|
||||
|
||||
mysql> SELECT ENGINE FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'my_database' AND TABLE_NAME = 'my_table';
|
||||
|
||||
The above command will show the engine type of a table called 'my_table' in 'my_database' database.
|
||||
|
||||
### Method Three ###
|
||||
|
||||
Yet another method to check the MySQL engine is to use mysqlshow, a command-line utility which shows database information. The mysqlshow utility comes with [MySQL client package installation][1]. To use mysqlshow, you need to supply MySQL server login credential.
|
||||
|
||||
The following command will show information about a particular database. Under "Engine" column, you will see the storage engine for each table.
|
||||
|
||||
$ mysqlshow -u <mysql_user> -p -i <database-name>
|
||||
|
||||

|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://ask.xmodulo.com/check-mysql-storage-engine-type-linux.html
|
||||
|
||||
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://xmodulo.com/2013/06/how-to-install-mysql-server-and-client-on-linux.html
|
@ -0,0 +1,41 @@
|
||||
How to create sosreport in linux (RHEL 5.X / RHEL 6.X)
|
||||
================================================================================
|
||||
**Sosreport** is a command in linux (**RHEL / CentOS**) which collects **system configuration** and diagnostic information of your linux box like running kernel version, loaded modules, and system and service configuration files. This command also runs external programs to collect further information, and stores this output in the resulting archive.
|
||||
|
||||
Sosreport is required when you have open a case with redhat for technical support. Redhat support Engineers will require sosreport of your server for troubleshooting purpose.
|
||||
|
||||
To run sosreport , **sos** package should be installed. Sos package is part of default installation in most of linux. If for any reason this package is no installed , then use below yum command to install **sos package** :
|
||||
|
||||
# yum install sos
|
||||
|
||||
### Generate the report ###
|
||||
|
||||
Open the terminal type sosreport command :
|
||||
|
||||
# sosreport
|
||||
|
||||
This command will normally complete within a **few minutes**. Depending on local configuration and the options specified in some cases the command may take longer to finish. Once completed, sosreport will generate a compressed a file under **/tmp** folder. Different versions use different compression schemes (**gz, bz2, or xz**). The file should be provided to Redhat support representative (normally as an attachment to an open case).
|
||||
|
||||
**Note**: sosreport requires root permissions to run.
|
||||
|
||||
### Different Options used in sosreport command : ###
|
||||
|
||||
The sosreport command has a **modular structure** and allows the user to enable and disable modules and specify module options via the command line. To **list available modules** (plug-ins) use the following command:
|
||||
|
||||
# sosreport -l
|
||||
|
||||
To turn off a module include it in a comma-separated list of modules passed to the -n/–skip-plugins option. For instance to disable both the kvmand amd modules:
|
||||
|
||||
# sosreport -n kvm,amd
|
||||
|
||||
Individual modules may provide additional options that may be specified via the -k option. For example on Red Hat Enterprise Linux 5 installations the sos rpm module collects "rpm -Va" output by default. As this may be time-consuming the behavior may be disabled via:
|
||||
|
||||
# sosreport -k rpm.rpmva=off
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.linuxtechi.com/how-to-create-sosreport-in-linux/
|
||||
|
||||
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
@ -0,0 +1,107 @@
|
||||
How to install Raspberry Pi camera board
|
||||
================================================================================
|
||||
[The Raspberry Pi camera (Pi Cam) board][1] was first released for sale in May 2013. This first release is equipped with a 5 Megapixel sensor, and connects through a ribbon cable to the CSI connector on the Raspberry Pi. The second release of Raspberry Pi camera board, which is called [Pi NoIR][2], has the same sensor, but without the IR filter. It has capability to see near IR wavelengths (700 - 1000 nm) like a security camera, and of course it is sacrificing the color rendition.
|
||||
|
||||
In this article, we will show you **how to install a Raspberry Pi camera board on [Raspberry Pi][3]**. We will be using the first release of Pi camera board. Once the board is installed, you will use three applications to access the board: raspistill, raspiyuv, and raspivid. The first two apps are used for capturing images, while the third app is for capturing video. The raspistill tool produces standard image files such as .jpg images, but raspiyuv gives us unprocessed raw image files from the camera.
|
||||
|
||||
### Installing the Raspberry Pi Camera Board ###
|
||||
|
||||
To connect the Raspberry Pi camera board to Raspberry Pi, follow these instructions:
|
||||
|
||||
1. Locate the CSI connector (the CSI connector is located near the Ethernet Port), and take off the brown tape.
|
||||
|
||||
2. Pull up the pinch of the CSI port.
|
||||
|
||||
3. Take your Pi Cam module, and remove the plastic protector from the lens. Make sure that the yellow part of the PCB which has sunny word is installed perfectly (just press gently that yellow part to make sure that it's installed perfectly).
|
||||
|
||||
4. Put in the ribbon cable into the CSI port. Remember, the ribbon cable which has blue tape should be facing towards the Ethernet port. Also, make sure that the ribbon is inserted properly, then pull down the pinch.
|
||||
|
||||

|
||||
|
||||
Now your Pi Cam is ready to take a picture or a video.
|
||||
|
||||
### Enabling Camera on Raspbian ###
|
||||
|
||||
After installing the Pi Cam module, make sure to update your Raspberry Pi system to get the latest firmware. To do so:
|
||||
|
||||
$ sudo apt-get update
|
||||
$ sudo apt-get upgrade
|
||||
|
||||
To activate the Pi Cam module, run the Raspberry Pi configuration tool.
|
||||
|
||||
$ sudo raspi-config
|
||||
|
||||
Navigate to "Enable Camera" in the menu, and make it enabled. Reboot Raspberry Pi if you are done.
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
Here is the final picture of Raspberry Pi with Pi Cam module attached.
|
||||
|
||||

|
||||
|
||||
### Taking a Picture with Pi Camera ###
|
||||
|
||||
We are ready to use Pi Cam after rebooting Raspberry Pi. To take a picture with Pi Cam, run raspistill from the command line.
|
||||
|
||||
$ raspistill -o keychain.jpg -t 2000
|
||||
|
||||
This command will take a picture in 2000ms, and save it to keychain.jpg. The following is a picture of my small figurehead key chain, taken by Pi Cam.
|
||||
|
||||

|
||||
|
||||
The raspiyuv tool works similarly, but the result is a unprocessed raw image from the camera.
|
||||
|
||||
### Taking a Video with Pi Camera ###
|
||||
|
||||
To take a video with Pi camera module, run raspivid tool from command line. The following command will take a video with default options which are 5 seconds length and 1920x1080 resolution with 17Mbps bitrate.
|
||||
|
||||
$ raspivid -o mykeychain.h264
|
||||
|
||||
If you want to change the duration, just set the desired length (in milliseconds) with "-t" option.
|
||||
|
||||
$ raspivid -o mykeychain.h264 -t 10000
|
||||
|
||||
To drop the resolution to 1280x720, use "-w" and "-h" options..
|
||||
|
||||
$ raspivid -o mykeychain.h264 -t 10000 -w 1280 -h 720
|
||||
|
||||
The output of raspivid is a raw H.264 video stream, and doesn't have sound with it. To be able to play with a common video player, the raw H.264 video needs to be converted. Use MP4Box application that comes with gpac package.
|
||||
|
||||
To install gpac on Raspbian, use this command:
|
||||
|
||||
$ sudo apt-get install -y gpac
|
||||
|
||||
Then to convert the raw H.264 video stream into .mp4 format with 30 frames per second:
|
||||
|
||||
$ MP4Box -fps 30 -add keychain.h264 keychain.mp4
|
||||
|
||||
The video length is 10 seconds, and has default resolutions and bitrate. Here is an example video captured by Pi Camera.
|
||||
|
||||
注:youtube视频地址
|
||||
<iframe width="615" height="376" frameborder="0" src="http://www.youtube.com/embed/3uyR2AVVwAU?version=3&rel=1&fs=1&showsearch=0&showinfo=1&iv_load_policy=1&wmode=transparent" type="text/html" class="youtube-player"></iframe>
|
||||
|
||||
To get the complete command-line options of raspistill, raspiyuv, and raspivid, run the commands without any option.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
#### [Kristophorus Hadiono][a] ####
|
||||
|
||||
I'm a Linux enthusiast. I use Linux for my daily computing, also when I teach my students. Becoming a good writer is one of my dreams.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://xmodulo.com/2014/07/install-raspberry-pi-camera-board.html
|
||||
|
||||
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://xmodulo.com/go/picam
|
||||
[2]:http://xmodulo.com/go/pinoir
|
||||
[3]:http://xmodulo.com/go/raspberrypi
|
||||
[a]:http://hadiono.org/blog
|
@ -0,0 +1,102 @@
|
||||
Wine 1.7.21 (Development Version) Released – Install in RedHat and Debian Based Systems
|
||||
================================================================================
|
||||
Wine, a most popular and powerful open source application for Linux, that used to run Windows based applications and games on Linux Platform without any trouble.
|
||||
|
||||

|
||||
Install Wine (Development Version) in Linux
|
||||
|
||||
**WineHQ** team, recently announced a new development version of **Wine 1.7.21**. This new development build arrives with a number of new important features and bug fixes.
|
||||
|
||||
Wine team, keep releasing their development builds almost on weekly basis and adding numerous new features and fixes. Each new version brings support for new applications and games, making Wine a most popular and must have tool for every user, who want to run Windows based software in a Linux platform.
|
||||
|
||||
According to the changelog, following key features are added in this release:
|
||||
|
||||
- Added support for critical sections in the C runtime.
|
||||
- The Unicode data updated to Unicode 7.
|
||||
- Implemented support for interlaced PNG encoding.
|
||||
- Added an initial stub for the Package library.
|
||||
- And several bug fixes have been implemented.
|
||||
|
||||
For more in-depth details about this build can be found at the official [changelog][1] page.
|
||||
|
||||
This article guides you how to install most recent development version of **Wine 1.7.21** on **Red Hat** and **Debian** based systems such as CentOS, Fedora, Ubuntu, Linux Mint and other supported distributions.
|
||||
|
||||
### Installing Wine 1.7.21 Development Version in Linux ###
|
||||
|
||||
Unfortunately, there are no official Wine repository available for the **Red Hat** based systems and the only way to install Wine, is to compile it from source. To do this, you need to install some dependency packages such as gcc, flex, bison, libX11-devel freetype-devel and Development Tools, etc. These packages are must required to compile Wine from source. Let’s install them using following **YUM** command.
|
||||
|
||||
#### On RedHat, Fedora and CentOS ####
|
||||
|
||||
# yum -y groupinstall 'Development Tools'
|
||||
# yum -y install flex bison libX11-devel freetype-devel
|
||||
|
||||
Next, download the latest development version of Wine (i.e. **1.7.21**) and extract the source tallball package using the following commands.
|
||||
|
||||
$ cd /tmp
|
||||
$ wget http://citylan.dl.sourceforge.net/project/wine/Source/wine-1.7.21.tar.bz2
|
||||
$ tar -xvf wine-1.7.21.tar.bz2 -C /tmp/
|
||||
|
||||
Now, it’s time to compile and build Wine installer using the following commands as normal user. (**Note**: The installation process might take up-to **15-20** minutes depending upon your internet and hardware speed, during installation it will ask you to enter **root** password.
|
||||
|
||||
**On 32-Bit Systems**
|
||||
|
||||
$ cd wine-1.7.21/
|
||||
$ ./tools/wineinstall
|
||||
|
||||
**On 64-Bit Systems**
|
||||
|
||||
$ cd wine-1.7.21/
|
||||
$ ./configure --enable-win64
|
||||
$ make
|
||||
# make install
|
||||
|
||||
#### On Ubuntu, Debian and Linux Mint ####
|
||||
|
||||
Under **Ubuntu** based systems, you can easily install the latest development build of Wine using the official **PPA**. Open a terminal and run the following commands with sudo privileges.
|
||||
|
||||
$ sudo add-apt-repository ppa:ubuntu-wine/ppa
|
||||
$ sudo apt-get update
|
||||
$ sudo apt-get install wine 1.7 winetricks
|
||||
|
||||
**Note**: At the time of writing this article, available version was **1.7.20** and the new build not yet updated in official Wine Repository, but the above instructions will install **1.7.21** when they made available.
|
||||
|
||||
Once the installation completes successfully, you can install or run any windows based applications or games using wine as shown below.
|
||||
|
||||
$ wine notepad
|
||||
$ wine notepad.exe
|
||||
$ wine c:\\windows\\notepad.exe
|
||||
|
||||
**Note**: Please remember, this is a development build and cannot be installed or used on production systems. It is advised to use this version only for testing purpose.
|
||||
|
||||
If you’re looking for a most recent stable version of Wine, you can go through our following articles, that describes how to install most latest version on almost all Linux environments.
|
||||
|
||||
- [Install Wine 1.6.2 (Stable) in RHEL, CentOS and Fedora][2]
|
||||
- [Install Wine 1.6.2 (Stable) in Debian, Ubuntu and Mint][3]
|
||||
|
||||
### Reference Links ###
|
||||
|
||||
- [WineHQ Homepage][4]
|
||||
|
||||
----------
|
||||
|
||||

|
||||
|
||||
#### Ravi Saive ####
|
||||
|
||||
Owner at [TecMint.com][5]
|
||||
|
||||
Simple Word a Computer Geek and Linux Guru who loves to share tricks and tips on Internet. Most Of My Servers runs on Open Source Platform called Linux.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.tecmint.com/install-wine-in-linux/
|
||||
|
||||
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.winehq.org/announce/1.7.21
|
||||
[2]:http://www.tecmint.com/install-wine-in-rhel-centos-and-fedora/
|
||||
[3]:http://www.tecmint.com/install-wine-on-ubuntu-and-linux-mint/
|
||||
[4]:http://www.winehq.org/
|
||||
[5]:http://www.tecmint.com/
|
@ -0,0 +1,159 @@
|
||||
对新用户来说最好的Linux发行版
|
||||
================================================================================
|
||||
这个争论无疑给许多Linux用户带来了麻烦。争论不能普遍归结为哪个发行版是真正最适合新用户的,而是哪个发行版受这些争论者的喜爱。如果我们撇开个人喜爱,我们会看到更清楚的一面。但即使这样,清晰也很快会被新用户的需求和期望遮蔽。考虑到这点,我决定采取一个不同的方法来找出“对新用户来说最好的发行版”。我评判最好发行版的标准不仅是易用,而且还要呼吁由日益增长的移动界面隐喻推动带来的现代设计美学。
|
||||
|
||||
为了这次评测,发行版必须要有如下要求:
|
||||
|
||||
- 非常友好
|
||||
- 包括,开箱即用,所有常用的应用程序
|
||||
- 包括某个形式的应用程序商店
|
||||
- 提供一个时尚的用户界面
|
||||
|
||||
让我解释一下各个标准
|
||||
|
||||
### 用户友好 ###
|
||||
|
||||
这是一个备受争议的话题。但事实的真相是——新用户必须能够获得一种风格的Linux并开始使用,需要很少或不需要解释。如果必须很出太多解释,那么这个发行版便不是用户友好的。我不想成为那样的人,但是几乎任何用户都可以在近乎零指导的情况下坐在Windows 7或OS X桌面前并开始使用它。这是每一个Linux桌面都应当争取去做的。
|
||||
|
||||
### 常用应用程序 ###
|
||||
|
||||
安装好系统后用户不应该去安装必需的程序。那么什么是必需的呢?每年列表都会变短。目前,必备的程序列表如下:
|
||||
|
||||
- 网页浏览器:Chrome或者Firefox(对不起,其他的浏览器不需提供)
|
||||
- 电子邮件客户端:Thunderbird是显而易见的选择。
|
||||
- Office办公套件:LibreOffice。就这样。
|
||||
- 音乐播放器:播放本地文件以及连接到流媒体服务(比如Spotify)。
|
||||
|
||||
这是几乎所有用户需要的应用程序的简表。
|
||||
|
||||
### 应用程序商店 ###
|
||||
|
||||
由于移动设备需求的日益增长,用户已经习惯了应用商店。Linux有应用商店很长时间了(Synaptic是最古老的一个)。没有一个经深思熟虑做的应用商店,用户将会挣扎于在Linux环境中添加软件。毫无疑问,这一点至关重要。
|
||||
|
||||
### 时尚的界面 ###
|
||||
|
||||
我已经多次提到移动设备的美化。由于iOS和Android,用户越来越喜欢时尚的界面。Linux的桌面需要进行效仿并且用独特的、时尚的和易用的界面来吸引用户注意力。旧的隐喻在多触控友好的移动世界里不再有影响力。
|
||||
|
||||
排名前三的发行版
|
||||
|
||||
以文中的标准,哪个发行版本满足了(或超过)我们的需求?首先,让我们来审查一下前三名的候选者。以下哪个满足了(或超过)标准。
|
||||
|
||||
#### Ubuntu ####
|
||||
|
||||
[Ubuntu Linux][1]一直为用户友好型Linux的王者。开箱即用,寻找一个迷人和易用的桌面(Unity)是一个挑战,甚至是对于那些对平台不熟悉的人。它的桌面布局虽然与众不同,但却是合乎逻辑和很直观的。对于在桌面环境中添加一个最强大的搜索工具,在Linux中Ubuntu Unity应当获得最高成就。
|
||||
|
||||
#### Linux Mint ####
|
||||
|
||||
如果认为有一个篡夺王位的发行版,那它就是[Linux Mint][2]。Linux Mint做了更多桌面的标准方法,但是图层华丽且多变使其从老旧的桌面隐喻中脱颖而出。Linux Mint基于Ubuntu,所以它得益于“老大哥”Ubuntu的稳定性和可靠性。
|
||||
|
||||
#### Linux Deepin ####
|
||||
|
||||
用户友好型列表中的新成员是[Linux Deepin][3]。这个相对较新的受欢迎的发行版来自中国,而且应该扬起一些认真的浪波。为什么这样说?因为它使得Linux桌面转变为艺术美;同时也保持了高水平的用户友好性。我期待它的新版本发布将是个大事件。Linux Deepin使用的是GNOME 3桌面并将它重组得完全不同的,完全不可思议。
|
||||
|
||||
### 各发行版的比分 ###
|
||||
|
||||
在最佳的竞争者名单中,我们来比较一下每一个标准和等级。每个发行版的比分如下:对于每个标准,发行版排名从高到底(第一名得一分,最后一名得三分)。最后,总分决定谁是冠军——最低得分获胜。
|
||||
|
||||
#### 用户友好性 ####
|
||||
|
||||
这可能是最严密的分类和最艰难的判别。每个发行版以不同的方法在用户友好性上都各有优势。最后,我的排名是:
|
||||
|
||||
1. Linux Mint
|
||||
|
||||
2. Ubuntu Linux
|
||||
|
||||
3. Linux Deepin
|
||||
|
||||
为什么是这样呢?Mint仅有微小的优势,因为它的开始按钮,任务栏和桌面图标仍然使用旧的桌面隐喻。胜者的优势很微小,Ubuntu和Linux Deepin要求的学习曲线近乎为零——甚至是对于未使用者。
|
||||
|
||||
#### 常用的应用程序 ####
|
||||
|
||||
这一类别难以判断的唯一原因是因为每个发行版都包括所有必要的应用程序。虽然Linux Deepin目前提供的是金山Office(一个最好的移动办公套件解决方案),它计划在2014发行版本中默认使用LibreOffice。
|
||||
|
||||
常用程序的我的一个问题是关于音乐播放器。虽然我在线听过很多音乐(使用Spotify客户端),但当我播放本地音乐时,总是使用Clementine。他们的默认播放器是:
|
||||
|
||||
- Ubuntu: Rhythmbox
|
||||
- Linux Mint: Banshee
|
||||
- Linux Deepen: DMusic.
|
||||
|
||||
三者中,Banshee(图1)提供了最多的功能,DMusic(图2)提供了最好的界面,(令人惊讶的)Rhythmbox(图3)目前最不稳定。
|
||||
|
||||

|
||||
|
||||
banshee
|
||||
|
||||

|
||||
|
||||
dmusic
|
||||
|
||||

|
||||
|
||||
rhythmbox
|
||||
|
||||
所以,他们得分多少?如下:
|
||||
|
||||
1. Linux Mint
|
||||
|
||||
2. Ubuntu Linux
|
||||
|
||||
3. Linux Deepin
|
||||
|
||||
#### 应用程序商店 ####
|
||||
|
||||
如果不分析这部分将难进行。为什么呢?因为对于新用户应用商店可以轻易成就或是毁掉一个Linux发行版。总会有应用需求而且没有用户想经过命令行的重重考验。每个发行版都有自己的应用商店。
|
||||
|
||||
- Ubuntu: Ubuntu软件中心
|
||||
- Mint: 软件管理器
|
||||
- Linux Deepin: Deepin软件中心
|
||||
|
||||
应该说,这些工具中的每一个都是基于Ubuntu软件中心。奇怪的是Ubuntu软件中心却正好排在最底。主要原因是Ubuntu软件中心太慢了——甚至在一个非常强大的机器上。
|
||||
|
||||
我将应用商店排名设为如下:
|
||||
|
||||
1. Linux Deepin
|
||||
|
||||
2. Linux Mint
|
||||
|
||||
3. Ubuntu Linux
|
||||
|
||||
每个应用商店有非常相似的功能。Linux Deepin获得第一的原因有两个:界面易于控制而且程序开启速度远远快于Ubuntu软件中心和Mint软件管理器。
|
||||
|
||||
#### 时尚的界面 ####
|
||||
|
||||
在这部分Linux Mint远远落后。尽管它提供了一个华美的界面和有很浅的学习曲线,但相比之下它仍然是一个非常过时的桌面。甚至在强大的硬件(有强大的显卡)上,Linux Mint仍然很容易被看成是来自90年代末的桌面。为了评判结果,我们必须看看是Ubuntu Linux还是Linux Deepin能带我们走进未来。胜者是:
|
||||
|
||||
1. Linux Deepin
|
||||
|
||||
2. Ubuntu Linux
|
||||
|
||||
3. Linux Mint
|
||||
|
||||
Linux Deepin使用GNOME 3来制作一个使用起来很漂亮的GNOME和OSX的混合体,你会认为你在处理一件互动的艺术品。
|
||||
|
||||
### 总冠军 ###
|
||||
|
||||
虽然这是很初步的,对新用户来说最好的Linux发行版顺序应该是:
|
||||
|
||||
1. Linux Mint的总得分是7
|
||||
|
||||
2. Linux Deepin的总得分是8
|
||||
|
||||
3. Ubuntu Linux的总得分是9
|
||||
|
||||
如果你想知道关于这篇文章的作者主张,要知道:我已经使用Ubuntu Linux很多年了(而且仍在用)。我最近一直在说“如果有一个Linux发行版动摇使用Ubuntu的想法,它便是Linux Deepin。”虽然我很欣赏Linux Mint,但我只是用它来进行测试。当说到对新用户最好的Linux发型版,Linux Mint是显而易见的赢家。
|
||||
|
||||
这件事真正的真相是——你在使用这些桌面中任何一个都不会错。他们都各有所长。如果你追求真正的美丽,使用Linux Deepin吧。如果你想要漂亮外观与易用结合,那就使用Ubuntu Linux。如果你只想要简单而且并不在乎漂亮的外观,那就用Linux Mint。不管你选哪一个,这都是三赢的局面。
|
||||
|
||||
你怎么认为?你会如何排这三个桌面的名次?或者,你是否会写一个不同的Linux发行版,该发行版在外表上来说对新用户最好的?(还有原因是什么?)
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.linux.com/news/software/applications/775873-the-best-linux-distribution-for-new-users/
|
||||
|
||||
译者:[linuhap](https://github.com/linuhap) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.ubuntu.com/
|
||||
[2]:http://www.linuxmint.com/
|
||||
[3]:http://www.linuxdeepin.com/index.en.html
|
@ -0,0 +1,86 @@
|
||||
到底开发者需要掌握多少门语言?
|
||||
================================================================================
|
||||

|
||||
|
||||
> 诸如Apple、Facebook及Google这样的大公司正在开发他们自己的编程语言,开发者们被迫只有适应。
|
||||
|
||||
前不久的世界开发者大会上,Apple公布了它的新开发语言[Swift][1]。这是最近大型技术公司们开发的一大波新语言中的最新成员,这些新语言某种程度上都是专门应用于他们自己的平台。
|
||||
|
||||
对iOS开发者,Apple有Swift;而[Facebook 有 Hack][2] —— 一门用于后端开发的语言。与此同时,Google已经拥有了它自己的Javascript替代者 Dart,以及一门新的通用编程语言Go。
|
||||
|
||||
这一波又一波的新语言,给开发者们带来了许多问题。也许其中最严重的问题正如我一位同事[Adriana Lee][3]在Apple发布Swift后所说:
|
||||
|
||||
> (开发者们到底还得学习多少门语言?)
|
||||
> ——Adriana Lee (@adra_la) [June 2, 2014][4]
|
||||
|
||||
### 计算机语言的通天塔 ###
|
||||
|
||||
目前已经存在的[编程语言有数百种][5],同时还有更多的语言正在涌现。其中许多都是被设计用在相对较窄的应用程序范围内,大多数甚至从未走出过项目小组的范围。
|
||||
|
||||
与此类似,大技术公司开发的新语言其实也是伴随着公司一起成长的。[通用语言的鼻祖,C语言][6],就源于上世纪70年代初的AT&T贝尔实验室。Java,目前作为Android app开发的主要语言,诞生于上世纪90年代[Sun公司的Microsystems系统][7]。
|
||||
|
||||
发展到现在,不同之处在于,公司们拥抱新语言、从而想要延伸的特定商业目标的范围不一样了 —— 这一过程同时建立了一个忠心耿耿的开发者基础,他们被牢牢锁定在了某个公司的特定平台上。这类一石二鸟的战略,最早可以追溯到Sun对Java的采用,当时公司就将其作为了挑战微软PC桌面统治地位的一种手段。(事情虽然没有像Sun计划的那样发展下去,但在Google转向Android之前,Java大体上也算是在企业中间件系统中找到了自己的一席之地。)
|
||||
|
||||
这么看来,Apple的Swift其目标也就很明确了。Swift应该不会辜负公司前期的大肆宣传,通过磨平Objective-C那粗糙的毛边,看起来它能够成功简化iOS app开发者的开发过程。但是同样还是这些开发者,他们却需要学习一门新语言的输入和输出,而这些功能很可能在其他地方都不会用到。
|
||||
|
||||
### 大公司们为什么要重复造轮子 ###
|
||||
|
||||
“不要重复造轮子”这一哲学在绝大多数开发者心中根深蒂固,大公司们对此却并不买账。那他们为何不只是修改下现有语言用于新的用途呢?
|
||||
|
||||
答案很简单,公司们发明他们自己的语言,是因为他们有这个能力。设计一门新语言可能很复杂,但对资源要求却并不很高。困难之处也就在对其提供支持,包括提供软件资源(共享代码库、API、编译器、文档等)以及赢得开发者的心意。大公司们在这两方面尤其擅长。
|
||||
|
||||
还有一个事实,现有语言通常很难硬塞进如今的复杂代码框架中。举个栗子,[Facebook决定发明的Hack][8],就是一个普遍适用于Web开发的[脚本语言PHP][9]的超集合(superset)。
|
||||
|
||||
Facebook的Hack最近已经比较普遍,其主要目标就是改进代码的稳定性,针对这一目的,它强制在程序运行之前对数据类型进行检测。这样的检测确保了一个程序,比方说,不会将一个整数解析为一个字符串,这样的错误如果捕获不到很可能会导致不可预知的后果。在Hack中,这些检测会预先执行,以便程序员能够在程序上线前早早发现这样的错误。
|
||||
|
||||
据Facebook的Hack项目组核心成员Julien Verlaguet透露,公司之前尝试过用一门现有语言实现更高效的编程。但是Facebook的大部分代码都是由PHP编写的,公司实际上已经建立了一个支持PHP及其分支的软件架构。即使能够让PHP同其他语言编写的代码协同工作,实现的难易程度和运行速度都无法满足要求。
|
||||
|
||||
“比如说我们尝试用Scala重写PHP代码库,”Verlaguet说。“Scala是一门设计优秀的漂亮语言,但是它与PHP完全不兼容。每次我需要从Scala的代码库部分调用PHP的时候,都会损失性能。我们很愿意使用一门现有语言,但是对于我们来说,这条路行不通。”
|
||||
|
||||
于是,Facebook发明了Hack,它与PHP一样能够共用公司现有的架构。Verlaguet介绍说,Facebook的代码库主体已经从PHP迁移到了Hack,同时公司将Hack开源,希望独立开发者们能够帮公司找到Facebook以外的用途。
|
||||
|
||||
“你仍然可以使用PHP,”他说,“但是我们希望你有使用Hack的欲望。”
|
||||
|
||||
### 谁说了算 ###
|
||||
|
||||
公司和开发者之间有一种微妙的平衡。公司可以按照自己的喜好发明语言。但是如果开发者都不愿使用这门语言,那就没人用了,公司以外的人也就没人愿意将自己的职业生涯托付给这家公司。
|
||||
|
||||
公司在开发过程中同时使用不同的语言,这并不少见。例如,你可能用Objective-C开发iOS app,但却用Java开发Android app。对开发者来说,这从来都不是症结所在,因为Objective-C和Java都是通用面向对象语言。它们用途广泛适用于很多场合。
|
||||
|
||||
然而,Hack、Dart、Go和Swift,到目前为止,仍然只适用于严格特定公司的编程解决方案,往往和公司选择的编程环境相对应。诚然,现在下结论可能还太早。比方说Hack,就可以用在一些后端的实现中;它只是太新了,以至于Facebook还没有任何数据供人们如此使用。
|
||||
|
||||
不是开发者不能学习多门语言。事实上,大多数人已经掌握了多门语言。这好比罗曼斯语(由拉丁语演变而成的语言),如果你会说西班牙语,再去学法语就比那些不会西班牙语的人简单许多。与此类似,如果你已经会Java,再学Ruby或Perl就简单得多。如果你会PHP,基本上就已经学会了Hack。
|
||||
|
||||
与此相反,学习多门语言更多的是一个习惯问题。如果Java已经解决了你的问题,你就不再有动机去学Ruby。如果你用Objective-C编写iOS app感觉很爽,你就不会有强烈的意愿去学Swift。
|
||||
|
||||
另外,对于一些开发者来说,封闭生态系统的语言只会使每个人的生活变得更糟。例如,自由设计师Jack Watson-Hamblin就告诉我说,像Apple这样强势推出Swift,其实是在冒险增加程序员的负担,同时将开发者社区割裂开来:
|
||||
|
||||
> 程序员掌握多门语言固然重要,但是不断强迫他们紧跟新语言,却是行不通的。如果我正在开发一个简单的跨平台app,我可不想被迫掌握四门语言再来完成它。如果真的需要,我也只想使用一门语言。
|
||||
|
||||
Watson-Hamblin就主张说,当每家公司都为了自家需要发明自己的语言时,程序员的注意力被分散,开发的视野也局限于一种,这只会拖慢整个开发进程。他说,“如果拿公司负责一门语言与负责一个开源社区相比较,这两者的区别就好比一家大企业与一个初创小公司的区别”。社区生来就更加灵活,适应能力更强。
|
||||
|
||||
当然,Apple有[许多非常好的理由推出Swift从零开始][10],就像当初Facebook发明Hack的时候一样。我并不是说,大公司不会强迫开发者接受这种改变,在这方面,有些公司一直都很让人讨厌。
|
||||
|
||||
“新语言的发明,伴随着霸权的支配,”Verlaguet说,“被迫不停追赶,确实令人沮丧,但另一方面,你又多了一种解决问题的新语言。反过来想想,要是全世界的程序员都用同样一门语言做所有事情,即使啥都凑合着能干,这门语言也一定干得不怎么样”。
|
||||
|
||||
题图来自于[Flickr user Ruiwen Chua][11],CC 2.0
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://readwrite.com/2014/06/17/apple-swift-facebook-hack-google-dart
|
||||
|
||||
译者:[Mr小眼儿](http://blog.csdn.net/tinyeyeser) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:https://developer.apple.com/swift/
|
||||
[2]:http://readwrite.com/2014/03/20/facebook-new-programming-language-hack
|
||||
[3]:http://readwrite.com/author/adriana-lee#awesm=~oGfPbJlSrFBamJ
|
||||
[4]:https://twitter.com/adra_la/statuses/473537386266112000
|
||||
[5]:http://en.wikipedia.org/wiki/List_of_programming_languages
|
||||
[6]:http://en.wikipedia.org/wiki/C_(programming_language)
|
||||
[7]:http://en.wikipedia.org/wiki/Java_(programming_language)
|
||||
[8]:http://readwrite.com/2014/03/20/facebook-new-programming-language-hack
|
||||
[9]:http://en.wikipedia.org/wiki/PHP
|
||||
[10]:http://blog.erratasec.com/2014/06/why-it-had-to-be-swift.html#.U58BJI1dXtA
|
||||
[11]:https://www.flickr.com/photos/ruiwen/3260095534
|
@ -0,0 +1,42 @@
|
||||
如何在Ubuntu 14.04中添加多时区时间 [小技巧]
|
||||
================================================================================
|
||||
如果你需要和多时区时间打交道的话,你一定希望你的电脑时钟可以显示多个时区的时间。作为一个移居国外的人,我需要关注法国和印度的时间。在Ubuntu系统中,你可以进行简易的设置来添加多时区时间。
|
||||
|
||||
在这次的使用技巧中,我们会了解到 **如何在Ubuntu 14.04系统中添加多时区时间**。
|
||||
|
||||
### 在Ubuntu 14.04系统中添加多时区时间 ###
|
||||
|
||||
打开系统设置(按下标有微软徽标的按键,在Dash中搜索“系统设置”),进入”时间&日期“选项。
|
||||
|
||||
接下来,进入**时钟**标签页,找到**其他时区时间**选项,然后点击**选择地区**按钮。
|
||||
|
||||

|
||||
|
||||
在新打开的窗口中,你可以**输入一个地区**,之后相应的结果会在下面显示出来。选择你想添加的地区,然后**点击下面的加号标志(+)**来添加。
|
||||
|
||||

|
||||
|
||||
完成了这些工作之后,你就可以在系统时钟处看到其他地区的时间了。
|
||||
|
||||

|
||||
|
||||
好好的感受Ubuntu多时区时钟给你带来的便捷吧。:)
|
||||
|
||||
----------
|
||||
|
||||

|
||||
|
||||
#### 关于 Abhishek ####
|
||||
|
||||
我叫Abhishek Prakash,是It's F.O.S.S的创始人。我获得了通信系统工程硕士学位。我是一个狂野的Linux爱好者和开源痴迷者。我在使用Ubuntu系统并且希望和大家分享知识和经验。出了Linux,我还很喜欢经典侦探悬疑电影。我是阿加莎-克里斯蒂的超级粉丝。你可以在[Google Plus][g]上添加我到你的好友圈,也可以[在twitter上关注 @abhishek_pc][t]。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://itsfoss.com/add-multiple-timezones-ubuntu-1404/
|
||||
|
||||
译者:[JonathanKang](https://github.com/JonathanKang) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[g]:https://plus.google.com/u/0/110180944531110746460
|
||||
[t]:https://twitter.com/abhishek_pc
|
Loading…
Reference in New Issue
Block a user