merge from LCTT.
This commit is contained in:
runningwater 2014-08-16 17:36:11 +08:00
commit b6a56dbb59
58 changed files with 2892 additions and 955 deletions

View File

@ -10,7 +10,7 @@ Linux 缺乏一款杀手级应用程序吗?
虽然她们这样做比较正确但或许她们已经错过了最鲜最美味可口的辩论大餐。“Linux 缺少什么样的杀手级应用程序?”这个问题[已经扩大化了][1],关于此的讨论越演越烈,已经超出以往任何时候。
开源软件世界的软件是如此令人难以置信的丰富,几乎涵盖了所有的领域,” **Linux Voice** 的 Mike Saunders 开头说到。“我们有桌面端的、服务端的、开发相关的及多媒体工具等一大笔来自开源世界的财富可以选择 -- 其中的某些还是在相关领域中最好的呢。”
开源软件世界的软件是如此令人难以置信的丰富,几乎涵盖了所有的领域,” **Linux Voice** 的 Mike Saunders 开头说到。“我们有桌面端的、服务端的、开发相关的及多媒体工具等一大笔来自开源世界的财富可以选择 -- 其中的某些还是在相关领域中最好的呢。”
“但还缺少什么吗?” Sanders 接下来提出可争议的话题。“是不是存在一款杀手级应用程序,它会使你的主机不能 24x7 小时的在运行?”
@ -22,15 +22,15 @@ Linux 缺乏一款杀手级应用程序吗?
“很久以前Linux 需要很多东西,” Google+ 的博主 Alessandro Ebersol 发言了。“当任何软件和厨房水槽都迁移到云端的那些日子,做任何的事情都得考虑多平台兼容性。”
“我想说的是我们缺少游戏,但这种情况也正在被改变,” Ebersol 说道。“所以我觉得我们并不是那么迫切的需要一个杀手级应用了。”
“我想说的是我们缺少游戏,但这种情况也正在被改变,” Ebersol 说道。“所以我觉得我们并不是那么迫切的需要一个杀手级应用了。”
杀手级应用程序“取决于你想用计算机做什么,” consultant 和 [Slashdot][2] 博客的 Gerhard Mack 认为。“如果您正准备拟稿做设计,那么杀手级应用程序就是 AUTOCAD 。但对其它行业来说杀手级应用程序将是别的。”
“杀手级应用程序?取决于你想用计算机做什么,” consultant 和 [Slashdot][2] 博客的 Gerhard Mack 认为。“如果您正准备拟稿做设计,那么杀手级应用程序就是 AUTOCAD 。但对其它行业来说杀手级应用程序将是别的。”
### '企业平台空间' ###
Google+ 博客的 Kevin O'Brien 有相似的观点。
“在消费级存在的应用程序不算太多,” O'Brien 说。“我虽然会抱怨游戏或者 Nvidia 驱动程序,并且我看还没有任何东西能真正替代 Quicken。译者注Quicken 是一款家庭及个人财务管理软件,可管理个人及家庭的日常收支、银行卡、支票、信用卡及税务等财务信息,有着丰富的功能和简单快捷的操作。)但对我来说最大的不同是企业平台空间。”
“在消费级存在的应用程序不算太多,” O'Brien 说。“我虽然会抱怨游戏或者 Nvidia 驱动程序,并且我看还没有任何东西能真正替代 Quicken。译者注Quicken 是一款家庭及个人财务管理软件,可管理个人及家庭的日常收支、银行卡、支票、信用卡及税务等财务信息,有着丰富的功能和简单快捷的操作。)但对我来说最大的不同是企业平台空间。”
“微软就拥有企业平台空间,没有什么比得过 Outlook/Exchange 服务, Sharepoint 等这些应用的,”他断言到。“我猜测部分原因可能是真正关心这些的开源开发者很少很少。”
@ -40,19 +40,19 @@ Google+ 博客的 Kevin O'Brien 有相似的观点。
比起五年前,现在用 Linux 的人已经越来越多了,他指出;但同时很人都依赖于非 Linux 友好的应用程序。
“虽然每个人都在使用 Skype ,但一大半的应用程序都是基于 GNU/Linux 协议的,从简单易用的 Pidgin(我的最爱)到 Ekiga 和通用 voIP 等等,” Gonzalo Velasco C. 解释说。“一些用户仍宣称他们需要 PhotoShop并不想花时间来掌握和改进 GIMP、Inkscape、Bender 及其它的。”
“虽然每个人都在使用 Skype ,但一大半的应用程序都是基于 GNU/Linux 协议的,从简单易用的 Pidgin(我的最爱)到 Ekiga 和通用 VoIP 等等,” Gonzalo Velasco C. 解释说。“一些用户仍宣称他们需要 PhotoShop并不想花时间来掌握和改进 GIMP、Inkscape、Bender 及其它的。”
曾经是很缺乏游戏,“但这状况正发生改变,主要是--但并不是唯一--因为 Valve 的勇敢开创 SteamOS 之举,”他增加道。
曾经是很缺乏游戏,“但这状况正发生改变,主要是(但并不是唯一)因为 Valve 的勇敢开创 SteamOS 之举,”他补充道。
### '零售货架空间' ###
“我认为这段时期根本就没有‘杀手级’应用程序,”[Robert Pogson][3] 博客上的观点。“在 Debian GNU/Linux 系统上,有 40K 的软件包,虽然我的 PC 只安装了 3K 的东西,但我一样都不缺。我有多个浏览器、编辑器、编译器/解释器、多个操作平台和像 KVM 这样的虚拟机,我可以根据需要在多个操作系统和不同版本的软件中尽情玩乐。”
“我认为这段时期根本就没有‘杀手级’应用程序,”[Robert Pogson][3] 博客上的观点。“在 Debian GNU/Linux 系统上,有 40000以上 的软件包,虽然我的 PC 只安装了 3000 多的软件,但我一样都不缺。我有多个浏览器、编辑器、编译器/解释器、多个操作平台和像 KVM 这样的虚拟机,我可以根据需要在多个操作系统和不同版本的软件中尽情玩乐。”
“在局域网内,我可以把多台机器当做一台机器来使用,” Pogson 增加到。“在局域网内我能从任何机器上访问存储在任意节点的资源。还有什么不能满足的吗?”
“在局域网内,我可以把多台机器当做一台机器来使用,” Pogson 补充道。“在局域网内我能从任何机器上访问存储在任意节点的资源。还有什么不能满足的吗?”
"有些说法,几个专业人士告诉我,在 GNU/Linux 上的视频和图像编辑是有点弱,”他说。 “GIMP 正在比特级别的图像上改进所以应该不算了。Lightworks译者注好莱坞级专业电影编辑软件 最终会被当做 FLOSS译者注自由/开源软件:世界影响研究) 发布,所以视频应该不算。”
"有些说法,几个专业人士告诉我,在 GNU/Linux 上的视频和图像编辑是有点弱,”他说。 “GIMP 正在比特级别的图像上改进所以应该不算了。Lightworks译者注好莱坞级专业电影编辑软件 最终会被当做 FLOSS译者注自由/开源软件:世界影响研究) 发布,所以视频应该不算。”
"尽管如此,在 IT 行业中还有特少数的专业功能软件,”他指出。“很多普通用户几十年都不会使用那些极其特殊的应用程序软件,所有我认为 GNU/Linux 系统已经不需要什么了。”
"尽管如此,在 IT 行业中还有特少数的专业功能软件,”他指出。“很多普通用户几十年都不会使用那些极其特殊的应用程序软件,所有我认为 GNU/Linux 系统已经不需要什么了。”
但是真正的杀手在市场上在零售商店缺乏货架空间Pogson 断言到。“只要解决这问题GNU/Linux 必定蓬勃发展。”
@ -60,7 +60,7 @@ Google+ 博客的 Kevin O'Brien 有相似的观点。
Chris Travers一名工作于 [LedgerSMB][5] 的[博主][4],有不同的观点。
“我认为杀手级应用程序并不是关键问题,”他开始说到。“真正的问题是,虽然跟 BSD 系统一样Linux 正在占据服务器市场,但在桌面市场 Linux 已经普遍输于 OS X 了。Linux 用户正在寻找开放的桌面系统。”
“我认为杀手级应用程序并不是关键问题,”他开始说到。“真正的问题是,虽然跟 BSD 系统一样Linux 正在占据服务器市场,但在桌面市场 Linux 已经普遍输于 OS X 了。Linux 用户正在寻找开放的桌面系统。”
Linux “既需要微软的增长势头,又需要 OS X 系统的精致用户界面和引人入胜的细节设计”Travers 说到。“这些迟早会来有的。”
@ -80,7 +80,7 @@ Windows 也仅仅是“表现的比较好,”他断言说。
SoylentNews 的博主 hairyfeet 定义说易用和有技术支持就是 “杀手级应用”。
“嗯,一个新手安装好一个看起来很漂亮的 Linux 发行版系统它工作得也很正常但问题是它不会一直正常工作或一直都让人赏心悦目”他解释到。“第一个更新哎哟WPA V2 无线网用不了了。第二个更新呢,像脉冲呕吐一样,声音没了。还有第一个‘升级’?呃,都不需要往下了!”
“嗯,一个新手安装好一个看起来很漂亮的 Linux 发行版系统它工作得也很正常但问题是它不会一直正常工作或一直都让人赏心悦目”他解释到。“第一个更新哎哟WPA V2 无线网用不了了。第二个更新呢,像脉冲呕吐一样,声音没了。还有第一个‘升级’?呃,都不需要继续了!”
“这正是 Linux 欠缺而 Windows 和 OS X 已经具有的易用性及技术支持”hairyfeet 结束道。“相同的时段有 15 款以上的 Linux 发行版本跟仅仅只是一款 Windows 发行版本所获得的技术支持生命周期能一样吗?不好意思的说,您们的产品不是同一重量级的 -- 您是拿高中棒球赛跟职业联赛在比较。”
@ -92,13 +92,13 @@ SoylentNews 的博主 hairyfeet 定义说易用和有技术支持就是 “杀
"说真的,我认为并没有一个特定的应用程序可以被称为'杀手级应用'“他说”Linux 需要有更多的主流应用的支持,而这将意味着 Photoshop 和微软的 Office 是必须具有的。值得庆幸的是,微软已经做了最大的努力以使 Office 可以跨平台,至于 Photoshop 的话大多数人并不需要的。"
Linux "应该是很争议性的话题,上面我所说的 windows 8 仅仅只是个玩笑,"他总结说。“基于 Linux 的应用程序正如火如荼,而当前的 Windows 系统明显不受欢迎。祈祷我们能很快就看到这一变化。”
Linux "应该是很争议性的话题,上面我所说的 Windows 8 仅仅只是个玩笑,"他总结说。“基于 Linux 的应用程序正如火如荼,而当前的 Windows 系统明显不受欢迎。祈祷我们能很快就看到这一变化。”
--------------------------------------------------------------------------------
via:
via: http://www.linuxvoice.com/voice-of-the-masses-what-killer-app-is-linux-missing/
译者:[runningwater](https://github.com/runningwater) 校对:[校对者ID](https://github.com/校对者ID)
译者:[runningwater](https://github.com/runningwater) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -1,15 +1,15 @@
给linux用户的11个高级MySQL数据库面试问题和答案
================================================================================
我们已经发表了两篇MySQL的文章,非常感谢Tecmint社区的大力支持.这是MySQL面试系列的第三篇文章,并且在面试专栏中排第16.
我们已经发表了两篇MySQL的文章非常感谢Tecmint社区的大力支持。这是MySQL面试系列的第三篇文章,并且在面试专栏中排第16。
- [15个基本的MySQL面试问题][1]
- [给中级人员的10个MySQL面试问题][1]
![11个MySQL面试问题](http://www.tecmint.com/wp-content/uploads/2014/06/MySQL-Interview-Questions.jpeg)
感谢你们这一路上对我们的支持.这篇文章主要针对MySQL的实用性,讲面试方面的问题.
因为有大家的支持,我们才能做到现在,感谢你们这一路上对我们的支持.在这篇文章中我们将主要针对MySQL的实用技巧讲讲面试中相关的问题.
### 1. 如何使用SELECT语句找到你正在运行的服务器的版本并打印出当前数据库的名称? ###
**Ans**:下面的语句的结果会显示服务器的版本和当前的数据库名称
**答**下面的语句的结果会显示服务器的版本和当前的数据库名称
mysql> SELECT VERSION(), DATABASE();
@ -20,7 +20,7 @@
+-------------------------+------------+
1 row in set (0.06 sec)
在Database一栏中显示**NULL**是因为我们当前没有选择任何数据库.因此,使用下面的语句先选择一个数据库,就能看到相应的结果.
在Database一列中显示**NULL**是因为我们当前没有选择任何数据库。因此,使用下面的语句先选择一个数据库,就能看到相应的结果。
mysql> use Tecmint;
@ -40,9 +40,9 @@
+-------------------------+------------+
1 row in set (0.00 sec)
### 2. 使用非运算符(!)从表"Tecmint"中列出除了user等于"SAM"的所有记录
### 2. 使用非运算符(!)从表"Tecmint"中列出除了"SAM"以外的所有user记录
**Ans**:使用下面的语句
**答**使用下面的语句
mysql> SELECT * FROM Tecmint WHERE user !=SAM;
@ -53,13 +53,13 @@
| 2001-05-15 08:50:57 | TIM | venus | phil | venus | 978 |
+---------------------+---------+---------+---------+---------+-------+
### 3. 是否能够使用非运算符(!)来实现'AND'运算
### 3. AND运算符有可能带着非运算符(!)一起用吗?
**Ans**: 我们使用’=号和OR运算符或者'!='和AND运算符下面是'='和AND运算符的例子
**答**:当我们使用‘=号时用AND连接!=时用OR连接下面是=和AND运算符一起用的例子
mysql> SELECT * FROM mail WHERE user = SAM AND root = phil
'!='和OR运算符的例子
!=和OR运算符的例子
mysql> SELECT * FROM mail WHERE user != SAM OR root != phil
@ -71,13 +71,13 @@
- = : 等于
- != : 不等于
- ! : 非运算符
- ! : 代表“”的运算符
AND和OR在MySQL中被看作加入运算符
AND和OR在MySQL中被看作连接运算符
### 4. IFNULL()语句在MySQL中有什么作用? ###
### 4. IFNULL()当打在MySQL中有什么作用? ###
**Ans**: **IFNULL**语句的使用使得MySQL中的查询更加精确。IFNULL()语句先测试它的的一个参数,若不为空就返回该参数的值,否则返回第二个参数的值
**答**:使用**IFNULL()**方法能使MySQL中的查询更加精确。IFNULL()方法将会测试它的第一个参数若不为NULL则返回该参数的值,否则返回第二个参数的值
mysql> SELECT name, IFNULL(id,'Unknown') AS 'id' FROM taxpayer;
@ -90,9 +90,9 @@ AND和OR在MySQL中被看作加入运算符
| bill | 475-83 |
+---------+---------+
### 5. 如果你只想知道从一个结果集的开头或者结尾开始的特定条数的行记录改如何实现?
### 5. 如果你只想知道从一个结果集的开头或者结尾开始的特定几条记录,该如何实现?
**Ans**: 我们可以用**LIMIT**和**ORDER BY**从句
**答**:我们需要把**LIMIT**语句接在**ORDER BY**语句后使用,以达到上述效果
#### 显示一行记录 ####
@ -128,20 +128,20 @@ AND和OR在MySQL中被看作加入运算符
| 9 | Dick | 1952-08-20 | green | lutefisk,fadge | 0 |
+----+------+------------+-------+----------------+------+
### 6. Oracle 和 MySQL该如何选择? ###
### 6. Oracle 和 MySQL该如何选择,为什么? ###
**Ans**: 它们都有各自的优点和缺点
**答**它们都有各自的优点和缺点。考虑到时间因素我倾向于MySQL
#### 选择MySQL而不选orcale的原因 ####
- 开源
- 轻便快捷
- 有命令行和图形界面
- 能通过查询器进行数据库的管理
- MySQL开源
- MySQL轻便快捷
- MySQL对命令行和图形界面的支持都很好
- MySQL支持通过Query Browser进行管理
### 7. MySQL中如何得到当前日期? ###
**Ans**: 使用CURRENT_DATE()函数
**答**在MySQL中获取当前日期就是如下的SELECT语句这么简单。
mysql> SELECT CURRENT_DATE();
@ -153,23 +153,23 @@ AND和OR在MySQL中被看作加入运算符
### 8. MySQL中如何将表导出为XML文件? ###
**Ans**: 使用'-e'(export)参数来把MySQL表或整个数据库导出到XML文件。当处理大型表的时候或许我们需要手动导出但是只是导出小文件的话可以直接使用想phpMyAdmin这样的工具。
**答**:我们可以使用'-e'(export)选项来把MySQL表或整个数据库导出到XML文件。当处理大型表的时候我们可能需要手动导出不过对于小表的话可以直接使用想phpMyAdmin等这样的工具。
mysql -u USER_NAME xml -e 'SELECT * FROM table_name' > table_name.xml
mysql -u USER_NAME -xml -e 'SELECT * FROM table_name' > table_name.xml
上面的例子中USER_NAME是数据库的用户名table_name是待导出为xml文件的表名table_name.xml是存放数据的xml文件
### 9. MySQL_pconnect是什么? 它和MySQL_connect有什么区别? ###
**Ans**: MySQL_pconnect()打开一个永久的数据库连接这意味着数据库不是在每次页面加载的时候被打开因此我们不能使用MySQL_close()来关闭一个久的连接
**答**MySQL_pconnect()打开一个持久的数据库连接,这意味着数据库不是在每次页面加载的时候被打开一个新连接因此我们不能使用MySQL_close()来关闭一个久的连接
MySQL_pconnect和MySQL_connect有一定的差别
MySQL_pconnect和MySQL_connect最简要的区别是:
和MySQL_pconnect不同MySQL_connect在每次页面被加载的时候打开并且可以使用MySQL_close()语句来关闭连接
与MySQL_pconnect不同MySQL_connect在每次页面被加载的时候打开连接这个连接可以使用MySQL_close()语句来关闭
### 10. 如何查看一个名为'mysql'的数据库中'user'表中的所有索引? ###
### 10. 当你需要查看一个名为'mysql'的数据库中'user'表中的所有索引时,你会如何做? ###
**Ans**: 可以使用下面的语句
**答**下面的命令将会显示出user表中所有的索引
mysql> show index from user;
+-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
@ -182,17 +182,17 @@ MySQL_pconnect和MySQL_connect有一定的差别
### 11. 什么是CSV表? ###
**Ans**: CSV是逗号分隔值的缩写也称为字符分隔值。CSV表中存放纯文本和表格数据。
**答**CSV是逗号分隔值Comma-Separated Values或也被称为字符分隔值Character-Separated Values的缩写。CSV表以纯文本和表格形式来存储数据。
每一条记录使用具体的分隔符隔开(如逗号,分号,...)CSV表广泛的用来存放易于导入和导出的电话联系人能够用来存放任何数量的纯文本
每一条记录都使用特定的分隔符隔开(如逗号,分号,...)并且每条记录都有着顺序相同的列。CSV表最广泛地被用来存储用于导入和导出的电话联系人并能够用来存储任何类型的纯文本数据
以上就是这次要将的内容。我还会带来其他的有趣的文章向往你们喜欢。连接到Tecmint继续关注我们不要忘了在评论栏中留下你们的宝贵意见。
以上就是这次要讲的全部内容。我还会带来其他你们应该会喜欢的有趣的文章。到那时敬请关注并访问Tecmint不要忘了在下方的评论栏中留下你们的宝贵意见。
--------------------------------------------------------------------------------
via: http://www.tecmint.com/mysql-advance-interview-questions/
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
译者:[GOLinux](https://github.com/GOLinux) 校对:[ReiNoir](https://github.com/reinoir)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -1,4 +1,4 @@
如何在Oh-My-Zsh中启用Heroku命令tab按键补全功能
如何在Oh-My-Zsh中启用Heroku命令补全功能
================================================================================
**Heroku**客户端是创建和管理Heroku应用的命令行界面工具。
@ -7,27 +7,27 @@
- Heroku toolbelt
- Oh-My-Zsh ([如何安装][1])
本文不是讲关于hereku的知识也不是讲关于heroku的使用细节而是仅仅展示给用户他们怎样可以使用oh-my-zsh来方便地敲命令。此外你还应该安装[heroku toolbelt][2]来进行本文的相应的操作。对于Ubuntu和Debian发行版你可以通过运行下面的命令来安装
本文不是讲关于heroku的知识也不是讲关于heroku的使用细节而是仅仅展示给用户他们怎样可以使用oh-my-zsh来方便地敲入heroku命令。此外你还应该安装[heroku toolbelt][2]来进行本文的相应的操作。对于Ubuntu和Debian发行版你可以通过运行下面的命令来安装
wget -qO- https://toolbelt.heroku.com/install-ubuntu.sh | sh
打开终端,用你在[这里]创建的用户登陆heroku
heroku登陆
输入您的Heroku认证。
邮箱: enockseth@unixmen.com
密码 (您的输入会被隐藏):
认证成功。
heroku login
Enter your Heroku credentials.
Email: enockseth@unixmen.com
Password (输入是隐藏的):
Authentication successful.
这显示heroku正在运行。
使用你喜欢的文本编辑器打开**.zshrc**
用你惯用的文本编辑器打开**.zshrc**
vim .zshrc
![](http://180016988.r.cdn77.net/wp-content/uploads/2014/07/zsh_git.png)
git是唯一默认启用的插件。
这里,git是唯一默认启用的插件。
在下图显示的插件选择区添加**heroku**
@ -41,7 +41,7 @@ git是唯一默认启用的插件。
via: http://www.unixmen.com/enable-tab-complete-heroku-commands-oh-zsh/
译者:[JonathanKang](https://github.com/JonathanKang) 校对:[校对者ID](https://github.com/校对者ID)
译者:[JonathanKang](https://github.com/JonathanKang) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -4,34 +4,33 @@
**Cinnamon桌面环境最新稳定版本发行了[ubuntu用户可以去安装使用了][1]**
其安装后的基础上,我们可以做一些微调来拥有更棒的体验
已经安装好的基础上,我们可以做一些微调来拥有更棒的体验 。
你的ubuntu如果没有安装Cinnamon你可以参照我们之前的文章进行安装
你的Ubuntu如果没有安装Cinnamon你可以参照我们[之前的文章进行安装][1]。
###更改Mint菜单图标###
Mint菜单图标是Cinnamon的特色之一它给予用户一种简单快速熟悉的方式来搜索打开组织应用程序默认情况下菜单使用启动程序项中的Linux
Mint
Logo。既然你是在ubuntu系统下使用它而不是Mint为什么不使用ubuntu熟悉的橙色朋友圈logo来替换原有的菜单图标呢实现很简单
Mint菜单图标是Cinnamon的特色之一它给予用户一种简单、快速、熟悉的方式来搜索、打开、组织应用程序默认情况下菜单使用启动程序项中的Linux Mint Logo。既然你是在ubuntu系统下使用它而不是Mint为什么不使用ubuntu熟悉的橙色朋友圈logo来替换原有的菜单图标呢
实现很简单:
![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/07/min-menu.jpg)
想要改变Cinnamon菜单图标为ubuntu风格的只需点击applet,选择config在设置窗口就会出现Use
a custom icon然后你就输入下面的路径来使用ubuntu logo了
想要将Cinnamon菜单图标改变为ubuntu风格的只需点击applet选择config在设置窗口就会出现Use
a custom icon然后你就输入下面的路径来使用ubuntu logo了
/usr/share/icons/ubuntu-mono-dark/actions/24/package-supported.svg
你可以使用任何支持的图片类型,只需要在刚才的填写区域写入正确的图片路径,或者点击后面的方框来打开文件选择器,选择你要使用的图标
你可以使用任何支持的图片类型,只需要在刚才的填写区域写入正确的图片路径,或者点击后面的方框来打开文件选择器,选择你要使用的图标
###尝试Cinnamon主题###
![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/07/cinnamon-themes-zukitwo.jpg)
和GNOME
Shell一样Cinnamon也支持自定义主题我所说的主题并不只是应用程序的GTK主题和简单的窗口装饰而是将面板菜单程序等等结合为一个整体的视觉风格
和GNOME Shell一样Cinnamon也支持自定义主题我所说的主题并不只是应用程序的GTK主题和简单的窗口装饰而是将面板菜单程序等等结合为一个整体的视觉风格。
Cinnamon主题可以被浏览下载甚至不需要离开桌面的就触手可及 —
无需下载或者手动安装打开Cinnamon Settings tool中的Appearance
pane然后选择Online Themes
不用离开桌面就可以浏览、下载Cinnamon主题。打开Cinnamon Settings tool中的Appearance
pane然后选择Online Themes
下面是一些受欢迎的主题:
@ -42,29 +41,27 @@ pane然后选择Online Themes
###找出你最喜欢的布局###
我们统一认为应用程序发射器永远只是固定地待在屏幕的一侧但是Cinnamon并没有这样的顾虑,它可以让你重新设计最符合你的桌面布局
Unity认为应用程序启动器永远只应该固定地待在屏幕的一侧但是Cinnamon并不这样认为,它可以让你重新设计最符合你的桌面布局
手动面板可以增加,编辑和移动,或选择三种预设的布局
手动面板可以增加,编辑和移动,或选择三种预设的布局
![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/07/traditional.jpg)
打开`Settings > Panel > Layout Options > Panel Layout`,然后下面这几个中选择
打开`Settings > Panel > Layout Options > Panel Layout`,然后下面这几个中选择
- Traditional — 这是默认的布局,控制面板在屏幕的顶部
- Flipped ——和Traditional一样控制面板在屏幕顶部
- Classic ——两个控制面板,一个在顶部,一个在底部
你需要注销或者重启Cinnamon才能生效
你需要注销或者重启Cinnamon才能生效
###添加面板小程序###
![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/07/weather-applet.png)
Cinnamon和GNOE
Shell一样具有可扩展性丰富的社区插件和扩展程序提供了额外的特性和功能比如天气系统监测窗口管理工具等这些都可以被浏览安装并能从桌面直接启动
Cinnamon和GNOE Shell一样具有可扩展性丰富的社区插件和扩展程序提供了额外的特性和功能比如天气系统监测窗口管理工具等这些都可以被浏览安装并能从桌面直接启动。
选择控制面板,右键点击要添加小程序,选择 …Add Appls to the
Panel一些著名的小程序如下
选择控制面板,右键点击要添加小程序,选择 …Add Appls to the Panel一些著名的小程序如下
- [**Weather**][6] - does what it forecasts (ho ho)
- [**Stark Menu**][7] - Clone of the Windows 7 Start Menu
@ -95,7 +92,7 @@ format“的选择框上打勾或者使用下面的几种格式复制粘
via: http://www.omgubuntu.co.uk/2014/07/5-things-installing-cinnamon-ubuntu
译者:[su-kaiyao](https://github.com/su-kaiyao) 校对:[校对者ID](https://github.com/校对者ID)
译者:[su-kaiyao](https://github.com/su-kaiyao) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -1,19 +1,21 @@
在linux系统中处理故障和收集系统信息的7种dmesg用法
Linux系统中dmesg命令处理故障和收集系统信息的7种用法
==========================================================
dmesg命令显示linux内核的环形缓冲区信息我们可以从中获得诸如系统架构cpu挂载的硬件RAM等多个运行级别的大量的系统信息。当计算机启动时系统内核操作系统的核心部分将会被加载到内存中。在加载的过程中会显示很多的信息在这些信息中我们可以看到内核检测硬件设备。
dmesg命令显示linux内核的环形缓冲区信息我们可以从中获得诸如系统架构、cpu、挂载的硬件RAM等多个运行级别的大量的系统信息。当计算机启动时系统内核操作系统的核心部分将会被加载到内存中。在加载的过程中会显示很多的信息在这些信息中我们可以看到内核检测硬件设备。
![dmesg Command Examples](http://www.tecmint.com/wp-content/uploads/2014/07/dmesg-Command-Examples.png)
dmesg 命令的使用范例
dmesg命令设备故障的诊断是非常重要的。在dmesg命令的帮助下进行硬件的连接或断开连接操作时我们可以看到硬件的检测或者断开连接的信息。dmesg命令在多数基于**Linux**和**Unix**的操作系统中都可以使用。
下面我们展示一些最负盛名的dmesg命令工具以及其实际使用举例。dmesg命令的使用语法如下。
# dmesg [options...]
### 1. 列出加载到内核中的所有驱动 ###
我们可以使用如‘**more**’。 **tail**, **less** ’或者‘**grep**文字处理工具来处理dmesg命令的输出。由于dmesg日志的输出不适合在一页中完全显示因此我们使用管道pipe将其输出送到more或者less命令中进行分页显示。
我们可以使用如‘**more**’。 **tail**, **less** ’或者‘**grep**文字处理工具来处理dmesg命令的输出。由于dmesg日志的输出不适合在一页中完全显示因此我们使用管道pipe将其输出送到more或者less命令页显示。
[root@tecmint.com ~]# dmesg | more
[root@tecmint.com ~]# dmesg | less
@ -49,9 +51,9 @@ dmesg 命令的使用范例
[ 0.000000] NX (Execute Disable) protection: active
.....
### 列出所有被检测到的硬件 ###
###2. 列出所有被检测到的硬件 ###
要显示所有被内核检测到的硬盘设备,你可以使用‘**grep**’命令搜索‘**sda**’关键词,如下:
要显示所有被内核检测到的硬盘设备,你可以使用‘**grep**’命令搜索‘**sda**’关键词,如下:
[root@tecmint.com ~]# dmesg | grep sda
@ -72,6 +74,8 @@ dmesg 命令的使用范例
### 3. 只输出dmesg命令的前20行日志 ###
dmesg命令后跟随head命令来显示开始几行dmesg | head -20命令将显示开始的前20行。
[root@tecmint.com ~]# dmesg | head -20
[ 0.000000] Initializing cgroup subsys cpuset
@ -95,9 +99,9 @@ dmesg 命令的使用范例
[ 0.000000] BIOS-e820: [mem 0x000000007dc5cc00-0x000000007dc5ebff] ACPI data
[ 0.000000] BIOS-e820: [mem 0x000000007dc5ec00-0x000000007fffffff] reserved
### 只输出dmesg命令最后20行日志 ###
###4. 只输出dmesg命令最后20行日志 ###
当我们插入可以出的硬件是dmesg命令后跟随tail命令来输出dmesg命令的最后20行日志是非常有用的。
dmesg命令后跟随tail命令 dmesg | tail -20来输出dmesg命令的最后20行日志,当你插入可移动设备时它是非常有用的。
[root@tecmint.com ~]# dmesg | tail -20
@ -123,6 +127,7 @@ dmesg 命令的使用范例
readahead-collector: finished
### 5. 搜索包含特定字符串的被检测到的硬件 ###
由于dmesg命令的输出实在太长了在其中搜索某个特定的字符串是非常困难的。因此有必要过滤出一些包含**usb** **dma** **tty** **memory**’等字符串的日志行。[grep 命令][1] 的‘**-i**’选项表示忽略大小写。
[root@tecmint.com log]# dmesg | grep -i usb
@ -166,7 +171,7 @@ dmesg 命令的使用范例
[root@tecmint.com log]# watch "dmesg | tail -20"
**结论**dmesg命令在系统dmesg记录实时更改或产生的情况下是非常有用的。你可以使用man dmesg来获取关于dmesg更多的信息。
**结论**dmesg命令在系统dmesg记录实时更改或产生的情况下是非常有用的。你可以使用man dmesg来获取更多关于dmesg的信息。
----------
@ -178,13 +183,13 @@ Narad Shrestha
- [Facebook profile][f]
- [Google+ profile][g]
他在IT领域拥有超过10年的丰富经验其中包括各种Linux发行版开源软件和网络。 Narad始终坚持与人分享知识和自如的运用新技术。
他在IT领域拥有超过10年的丰富经验其中包括各种Linux发行版开源软件和网络工作。 Narad始终坚持与他人分享IT知识和自如地运用新技术。
--------------------------------------------------------------------------------
via: http://www.tecmint.com/dmesg-commands/
译者:[cvsher](https://github.com/cvsher) 校对:[校对者ID](https://github.com/校对者ID)
译者:[cvsher](https://github.com/cvsher) 校对:[Caroline](https://github.com/carolinewuyan)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -1,6 +1,7 @@
如何用CentOS上的SARG log分析其来分析Squid的log
如何用CentOS上的SARG日志分析器来分析Squid日志
================================================================================
[上一节教程][1]中我们战士了如何在CentOS上使用Squid配置透明代理。Squid提供了很多有用的特性但是分析一个原始Squid日志文件并不直接。比如你如何分析下面Squid log中的时间戳和数字
[上一节教程][1]中我们展示了如何在CentOS上使用Squid配置透明代理。Squid提供了很多有用的特性但是分析一个原始Squid日志文件并不直接。比如你如何分析下面Squid日志中的时间戳和数字
1404788984.429 1162 172.17.1.23 TCP_MISS/302 436 GET http://facebook.com/ - DIRECT/173.252.110.27 text/html
1404788985.046 12416 172.17.1.23 TCP_MISS/200 4169 CONNECT stats.pusher.com:443 - DIRECT/173.255.223.127 -
@ -12,13 +13,13 @@
1404788990.849 2151 172.17.1.23 TCP_MISS/200 76809 CONNECT fbstatic-a.akamaihd.net:443 - DIRECT/184.26.162.35 -
1404788991.140 611 172.17.1.23 TCP_MISS/200 110073 CONNECT fbstatic-a.akamaihd.net:443 - DIRECT/184.26.162.35
SARG或者说是Squid分析报告生成器是一款基于web的工具用于从Squid日志中生成报告。SARG提供了一个易于理解的由Squid处理的网络流量视图并且它很容易设置与维护。在下面的教程中,我们会展示**如何在CentOS平台上设置SARG**。
SARG或者说是Squid分析报告生成器是一款基于web的工具用于从Squid日志中生成报告。SARG提供了一个由Squid处理的网络流量视图易于理解并且它可以很容易地设置和维护。在下面的教程中,我们会展示**如何在CentOS平台上设置SARG**。
我们使用yum来安装安装必要的依赖。
# yum install gcc make wget httpd crond
在启动时加载必要的服务
在启动时加载必要的服务
# service httpd start; service crond start
# chkconfig httpd on; chkconfig crond on
@ -63,17 +64,17 @@ SARG安装之后配置文件可以按你的要求修改。下面是一个SARG
## we dont want multiple reports for single day/week/month ##
overwrite_report yes
现在是时候测试运行了我们用调试模式运行sarg来找出是否存在错误。
现在是时候测试运行了我们用调试模式运行sarg来查看是否存在错误。
# sarg -x
如果i一切正常sarg会根系Squid日志并在/var/www/html/squid-reports下创建报告。报告也可以在浏览器中通过地址http://<服务器IP>/squid-reports/访问
如果i一切正常sarg会根系Squid日志并在/var/www/html/squid-reports下创建报告。报告也可以在浏览器中通过地址http://<服务器IP>/squid-reports/访问
![](https://farm3.staticflickr.com/2931/14631403935_4ff34e07b9_z.jpg)
![](https://farm4.staticflickr.com/3901/14629281644_fec31014c5_z.jpg)
、SARG可以用于创建每日、每周、每月的报告。时间范围用“-d”参数来指定可能的值的形式可能为day-n、 week-n 或者 month-nn的值向后天/周/月的数量。比如使用week-1,SARG会生成前面一星期的报告。使用day-2,SARG会准备前面两天的报告。
、SARG可以用于创建日、周、月度报告。时间范围用“-d”参数来指定值的形式很可能为day-n、 week-n 或者 month-nn的值为向前推移的天/周/月的数量。比如使用week-1,SARG会生成之前一星期的报告。使用day-2,SARG会生成之前两天的报告。
作为演示我们会准备一个计划任务来每天运行SARG。
@ -90,10 +91,9 @@ SARG安装之后配置文件可以按你的要求修改。下面是一个SARG
现在SARG应该会每天准备关于Squid管理的流量报告。这些报告可以很容易地通过SARG网络接口访问。
To sum up, SARG is a web based tool that analyzes Squid logs and presents the analysis in an informative way. System admins can leverage SARG to monitor what sites are being accessed, and to keep track of top visited sites and top users. This tutorial covers a working configuration for SARG. You can customize the configuration even further to match your requirements.
总结一下SARG一款基于网络的工具它可以分析Squid日志并以更详细的方式展示分析。系统管理员可以利用SARG来监视哪些网站被访问了并跟踪访问量最大的网站和用户。本教程涵盖了SARG配置工作。你甚至可以进一步自定义配置来满足您的要求。
总结一下SARG一款基于网络的工具它可以分析Squid日志并以更详细的方式展示分析。系统管理员可以利用SARG来监视哪些网站被访问了并跟踪访问量最大的网站和用户。本教程包含了SARG配置工作。你可以进一步自定义配置来满足自己的要求。
希望这篇教程有用
希望这篇教程对您有帮助。
----------
@ -102,13 +102,13 @@ To sum up, SARG is a web based tool that analyzes Squid logs and presents the an
- [Twitter 地址][t]
- [LinkedIn 地址][l]
Sarmed Rahman是一名在孟加拉国的IT专业人士。他坚持写作科学文章并坚信技术可以通过分享提高。在他的空闲时间里他爱好游戏与他的朋友在一起
Sarmed Rahman是一名孟加拉国的IT专业人士。他坚持时不时地写作技术文章并坚信技术可以通过分享而提高。在空闲时间里他喜欢打游戏喜欢和朋友一起度过。
--------------------------------------------------------------------------------
via: http://xmodulo.com/2014/07/analyze-squid-logs-sarg-log-analyzer-centos.html
译者:[geekpi](https://github.com/geekpi) 校对:[校对者ID](https://github.com/校对者ID)
译者:[geekpi](https://github.com/geekpi) 校对:[Caroline](https://github.com/carolinewuyan)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -0,0 +1,97 @@
教你如何在Fedora,CentOS,RHEL中检查RPM包的依赖性
================================================================================
我们都知道在基于红帽的Linux系统中一个RPM包需要把先将它依赖的其他包安装好才能正常的工作。对于终端用户RPM的安装、更新、删除中存在的依赖关系已经被工具透明化了如 yum或 DNF等)。但如果你是系统管理员或者RPM包的管理员你需要谙熟RPM包的依赖关系以便及时更新、删除适当的包来保证系统的正常运行。
在本教程中,我将教大家**如何检查RPM包的依赖关系**。无论这个包是否已经安装进操作系统中,我们都有一些办法来检查它们的依赖性。
### 方法一 ###
使用RPM命令可以列出目标包所依赖的所有包如下
$ rpm -qR <package-name>
![](https://farm6.staticflickr.com/5512/14659620723_4a36970efc_o.png)
注意,这种方法只适用于**已安装**的包。如果你需要检查一个**未安装**包的依赖关系,你首先需要把这个包先下载到本地来(不需要安装)。
要下载一个 RPM 包而不安装,可以使用叫做'yumdownloader'的工具下面我们先安装yumdownloader
$ sudo yum install yum-utils
现在我们来检查一个未安装的RPM包的依赖关系(本例使用 tcpdump)。首先我们使用yumdownloader把tcpdump的RPM包下载下来
$ yumdownloader --destdir=. tcpdump
然后再使用 "-qpR"参数显示该包的依赖关系。
# rpm -qpR tcpdump-4.4.0-2.fc19.i686.rpm
### 方法二 ###
你可以使用repoquery工具来罗列包的依赖关系它与包是否安装无关这个工具包含在yum-utils中。
$ sudo yum install yum-utils
显示目标包所依赖的包:
$ repoquery --requires --resolve <package-name>
![](https://farm3.staticflickr.com/2935/14453103778_05db349b19_o.png)
为让repoquery正常的工作需要保持网络的畅通应为repoquery需要在Yum库中查找信息。
### 方法三 ###
第三个方法是使用rpmreaper工具。这个工具本来是用作清理系统中无用以及它们所依赖的包rpmreaper有很直观的ncurses界面来展示已安装的包和它们依赖关系的树形图。
安装rpmrepater在CentOS中你需要先[设置好EPEL库][1]
$ sudo yum install rpmreaper
只需运行rpmreaper就可以看到RPM包的依赖关系
$ rpmreaper
![](https://farm4.staticflickr.com/3838/14636456131_99a3c26945_z.jpg)
rpmrepater会向用户显示已安装包的列表你可以使用上/下箭头来滚动屏幕。
你可以在指定包上使用"r"键来显示其依赖关系,循环在指定包上按下"r"键可以展示出余下的信息。
"L"标志的意思是说这个包是一片“孤叶”,意思说说没有任何包依赖它。
"o"标志是说这个包是整个依赖链的中间部分。
按下"b"键会显示其他依赖于该包的其他包。
### 方法四 ###
还有一个办法是使用rpmdep工具rpmdep是一个命令行工具可以显示已安装包的完整包依赖关系图。该工具会分析RPM包的依赖性从完整的排完序的拓扑图中摘取部分包的信息形成列表展示给用户。该工具的输出结果可以直接使用到Dotty可视化展示工具中去。
在Fedora中安装rpmdep和dotty
$ sudo yum install rpmorphan graphviz
在CentOs中安装
$ wget http://downloads.sourceforge.net/project/rpmorphan/rpmorphan/1.14/rpmorphan-1.14-1.noarch.rpm
$ sudo rpm -ivh rpmorphan-1.14-1.noarch.rpm
$ sudo yum install graphviz
生成包依赖的拓扑关系图(例如 gzip
$ rpmdep.pl -dot gzip.dot gzip
$ dot -Tpng -o output.png gzip.dot
![](https://farm4.staticflickr.com/3918/14453050980_53de4e8277_z.jpg)
教程到这个地方我们用到了几种办法来检查包的依赖关系。如果您想知道如何在居于Debian的系统中检查.deb的包依赖关系请阅读另外一篇[文档][2]
--------------------------------------------------------------------------------
via: http://xmodulo.com/2014/07/check-rpm-package-dependencies-fedora-centos-rhel.html
译者:[nd0104](https://github.com/nd0104) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://xmodulo.com/2013/03/how-to-set-up-epel-repository-on-centos.html
[2]:http://xmodulo.com/2013/07/how-to-check-package-dependencies-on-ubuntu-or-debian.html

View File

@ -1,4 +1,4 @@
Linux 内核的测试和调试
Linux 内核的测试和调试1
================================================================================
### Linux 内核测试哲学 ###
@ -8,15 +8,15 @@ Linux 内核的测试和调试
几乎所有 Linux 内核开发者都是活跃的 Linux 用户。内核测试人员不一定非得是内核开发者,相反,用户和开发者如果对新增的代码不是很熟悉,他们的测试效果会比代码开发人员自己测试的效果要好很多。也就是说,开发者的单元自测能验证软件的功能,但并不能保证在其他代码、其他功能、其他软件、硬件环境下面运行时会出现什么问题。开发者无法预料、也没有机会和资源来测试所有环境。因此,用户在 Linux 内核开发过程中起到非常重要的角色。
现在我们已经了解了持续集成测试的重要性,接下来我们会详细介绍测试的知识。但在此之前,我还是向介绍一下开发的过程,以便让大家了解它是怎么工作的,以及如何把补丁打进内核主线。
现在我们已经了解了持续集成测试的重要性,接下来我们会详细介绍测试的知识。但在此之前,我还是向介绍一下开发的过程,以便让大家了解它是怎么工作的,以及如何把补丁打进内核主线。
全世界共有3000多个内核开发者为 Linux 内核贡献代码每天都有新代码添加到内核结果是大概2个月就能产生一个稳定版和多个扩展稳定版。新功能的开发与已发布的稳定版集成测试流程在同时进行。
全世界共有3000多个内核开发者为 Linux 内核贡献代码每天都有新代码添加到内核结果是大概2个月就能产生一个release ,包括几个稳定版和扩展稳定版。新功能的开发与已发布的稳定版集成测试流程在同时进行。
关于开发流程的详细描述,请参考[Greg Kroah-Hartman 的 Linux 内核开发的介绍][1]。
这份教程适合与初学者以及有经验的内核开发者,如果你想加入到内核开发者行列,那么它也适合你。有经验的开发人员可以跳过那些介绍基础测试和调试的章节。
这份教程介绍如何测试和调试 Linux 内核、工具、脚本以及在回归测试集成测试中使用的调试机制。另外,本文还会介绍如何使用 git 把针对一个 bug 的补丁分离出来,在介绍介绍把你的补丁提交到内核的邮件列表之前需要做些什么。我将会使用 Linux PM 作为测试它调试的对象。尽管本文讨论的是 Linux 内核,但是介绍的方法适用于任何其他软件开发项目。
这份教程介绍如何测试和调试 Linux 内核、工具、脚本以及在回归测试集成测试中使用的调试机制。另外,本文还会介绍如何使用 git 把针对一个 bug 的补丁分离出来,介绍把你的补丁提交到内核的邮件列表之前需要做些什么。我将会使用 Linux PM 作为测试它调试的对象。尽管本文讨论的是 Linux 内核,但是介绍的方法适用于任何其他软件开发项目。
### 配置开发与测试的系统 ###
@ -26,7 +26,7 @@ Linux 内核的测试和调试
在开发和测试环境,最好要保证你的 boot 分区有足够的空间来存放内核文件。你可以为 boot 分区留下 3GB 空间,或把 boot 分区直接放到根目录下,这样 boot 分区可以使用整个磁盘的空间。
安装好操作系统后,确保 root 用户可用,确保你的用户可以使用 sudo 命令。你的系统也许已经安装了 build-essential它是编译内核必备的软件包如果没安装运行下面的命令
安装好操作系统后,确保 root 用户可用,确保你的用户身份可以使用 sudo 命令。你的系统也许已经安装了 build-essential它是编译内核必备的软件包如果没安装运行下面的命令
sudo apt-get install build-essential
@ -56,7 +56,7 @@ Linux 内核的测试和调试
git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
上面的步骤将会创建一个新的目录,名为 linux-stable然后把源码下载到里面。
上面的步骤将会创建一个新的目录,名为 linux-stable把源码下载到里面。
你也可以直接下载压缩包并解压出源码,无需使用 git
@ -66,7 +66,7 @@ Linux 内核的测试和调试
via: http://www.linuxjournal.com/content/linux-kernel-testing-and-debugging?page=0,0
译者:[bazz2](https://github.com/bazz2) 校对:[校对者ID](https://github.com/校对者ID)
译者:[bazz2](https://github.com/bazz2) 校对:[wxy](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -1,4 +1,4 @@
修复Moka图标主题丢失的扬声器图标【快速提示】
[小技巧]修复Moka图标主题丢失的扬声器图标
================================================================================
[Moka][1]是一个漂亮的图标主题,它在[Ubuntu可用的最佳图标主题][2]中扮演着重要的角色。但在Ubuntu 14.04中Moka有那么点小缺憾。如果你在Ubuntu 14.04的Unity中使用摩卡你会发现用于调节声音的扬声器图标不见了
@ -28,7 +28,7 @@ via: http://itsfoss.com/fix-missing-speaker-icon-from-moka/
原文作者:[Abhishek][a]
译者:[GOLinux](https://github.com/GOLinux) 校对:[校对者ID](https://github.com/校对者ID)
译者:[GOLinux](https://github.com/GOLinux) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -1,31 +1,30 @@
LibreOffice 4.3发布,包括修复了11年的Bug
LibreOffice 4.3发布,修复了一个11年之久的Bug
===============================================================================
> 如果你长时间地在开源办公套件中写'怪物段落',此次的发行版本正是你需要的
> 如果你长时间地在开源办公套件中写'巨兽段落',此次的发行版本正是你需要的
![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/01/keep-tile-2.jpg)
** 新的一个月新发行版本的LibreOffice开源办公套件将默认的安装在Ubuntu中 **
LibreOffic 4.3是2010年从OpenOffice分离以来的第八个主要发行版本软件也是4.x发行版本系列的第三个次要版本
LibreOffice 4.3是2010年从OpenOffice分离以来的第八个主要发行版本软件也是4.x发行版本系列的第三个次要版本
### 有那些新功能? ###
每一个主要的办公套件发行版本都有着巨大的变化,包括修复和更新,如果你有很多的空余时间,你可以在文档基金会查看最新更新的所有变更日志
[wiki at wiki.documentfoundation.org/ReleaseNotes/4.3][1]
为了节省您的时间,关于这次更新,我们已经将更多面向用户和头条的新特性整理成了一个简短的摘要
[wiki : wiki.documentfoundation.org/ReleaseNotes/4.3][1]。
为了节省您的时间,关于这次更新,我们已经将更多面向用户和头条的新特性整理成了一个简短的摘要。
### 文档的互操作性 ###
作为许多办公套件之一的LibreOffice在处理,打开,保存其他办公文件格式的功能方面有着很大的改进
作为许多办公套件之一的LibreOffice在处理、打开、保存其他办公文件格式的功能方面有着很大的改进
在LibreOffice 4.3中这将导致一系列的OOXML改进包括DrawingML特性,主题字体,文件嵌套。字体,段落,表格单元格的主题颜色现在将被保存同样的4.3也支持给图片和形状增加样式,填补和其他一些操作
在LibreOffice 4.3中这将导致一系列的OOXML改进包括DrawingML特性、主题字体、文件嵌套。字体、段落、表格单元格的主题颜色现在会被保存同样的4.3也支持给图片和形状增加样式、填补和其他一些操作。
Microsoft Office**用户会发现微软office支持30个额外的Excel公式**Mac用户会很高兴地发现老的ClarisWorks, MacWorks and SuperPaint文件现在可以在LibreOffice中打开
Microsoft Office**用户会发现LibreOffice支持30个额外的Excel公式**Mac用户会很高兴地发现老的ClarisWorks, MacWorks 和 SuperPaint文件现在可以在LibreOffice中打开
在文档中的嵌套注释得益于格式化的整理,而且现在可以同时导入导出为.doc,.rft,和.docs文件等等
在文档中的嵌套注释得益于格式化的整理,而且现在可以同时导入导出为.doc、.rft和.docs文件等等
### 其他值得注意的变化 ###
@ -36,8 +35,8 @@ Microsoft Office**用户会发现微软office支持30个额外的Excel公式**
- .docx导入时的进度条
- PDF导入时的调整包括旋转的的文本支持
最后一个11年的bug阻止超过65,000字符的怪物段落的输入最后被修复了。TDF说这个归结于“*LibreOffice
*的一个专有功能---OOo源码的现代化”
最后一个11年的bug阻止超过65,000字符的巨兽段落的输入最后被修复了。TDF说这个归结于“*LibreOffice
*的一个专有功能---OOo源码的现代化”
### 下载LibreOffice 4.3 ###
@ -46,7 +45,7 @@ LibreOffice 4.3可以从官方网站上下载 [libreoffice.org/download][2], 或
- [Linux x64 (.deb)][3] // [Torrent][4]
- [Linux x86 (.deb)][5] // [Torrent][6]
如果你不喜欢升级你可以找到包含在Ubuntu 14.10中的发行版本,这将于今年晚些时候发布
如果你不喜欢升级你可以找到包含在Ubuntu 14.10中的发行版本,这将于今年晚些时候发布
--------------------------------------------------------------------------------
@ -54,7 +53,7 @@ via: http://www.omgubuntu.co.uk/2014/07/libreoffice-4-3-released-includes-fix-11
作者:[Joey-Elijah Sneddon][a]
译者:[su-kaiyao](https://github.com/su-kaiyao)
校对:[校对者ID](https://github.com/校对者ID)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -0,0 +1,52 @@
红帽旨在标准化Linux的64位ARM服务器
================================================================================
> 红帽希望通过 Linux for ARM 服务器来避免困扰在Unix身上的几十年的分裂的发生 。
IDG通讯社 - 红帽公司已经开发出一个服务器版本的Linux操作系统可以用来测试基于ARMv8-A 64-bit架构的芯片及其周边硬件志在统一服务器市场。
该发行版基于该公司的红帽企业LinuxRHEL是红帽在周三为潜在的[ARM硬件厂商][2]推出的的[合作伙伴计划][1]的一部分。
“我们并不称其为RHEL但它作为一种功能性不提供技术支持可以用在合作伙伴的开发中使用的操作系统”红帽平台产品营销高级主管Mark Coggin说。
红帽的设计方案符合硬件厂商的ARMv8-A规格实施标准。 ARM本身并不生产自己的处理器而是将其设计产权授权于芯片制造商。
标准的解决方案将意味着用户可以从任何制造商购买ARMv8-A的服务器他们知道自己的ARM 64位操作系统和软件将能完美地工作在不管是谁生产的芯片上Coggin说。红帽希望Linux的ARM能避免像ATT的Unix操作系统分裂成许多不同不兼容的版本的命运。
“我们看到了早期进入市场的重要性并且确信我们不会陷入到这样的碎片化如果你想运行一个AMD的ARM解决方案你需要一个相应的Linux版本如果你想运行博通的ARM解决方案你就需要另外一个版本”Coggin说。
今年早些时候开始一些ARM的服务器的标准化工作已经制定完成这是由一个被称为服务器系统基础架构SBSA规范的行业协会以及Linaro企业集团完成的。 Red Hat尚未命名的ARM Linux发行版使用着来自这两个组织的规范。
红帽不仅希望能影响到芯片生产商同时也包括硬件供应商、OEM 和 ODM。
迄今为止像Advanced Micro Devices公司American MegatrendsAppliedMicro博通Cavium公司戴尔和惠普这样的制造商都承诺将支持Red Hat的标准化工作。
“如果ARM在服务器领域终将成为一个有力的的竞争者的话[硬件提供商]将达成一种共识即这种架构的服务器也是可行的。当前客户及其需求都处于x86世界 “Yan Fisher红帽技术产品营销经理说。
通过这种方式,红帽将了解到更多有关制造商对企业版 64位 ARM Linux 发行版的需求Coggin说。可能有一天基础操作系统会成为RHEL的ARM版本。
“我们正在试图从技术层面了解其平台的需求”Coggin说。 “我们不知道它是否或何时会成为一个产品,但是我们有自我定位的方式,在某些时候,我们相信可以我们进入市场。”
尽管Red Hat的Fedora项目过去和现在一直在提供ARM架构的发行版但是基于Fedora的工作可以支持更多的 ARM 服务器使用。
尽管ARM处理器在大多数移动设备使用广泛但是直到最近才出现了在同行业中使用它们作为数据中心的迹象它们的低功耗设计可以大大降低能源消耗。
目前只有极少数的ARMv8-A处理器和相关的硬件是可用的大部分是一些早期的开发者预览版的或预装的专有系统。
AMD皓龙A1100系列ARM处理器专为服务器设计周三将会释放给开发者。 AMD还提供了专为SOC(注system-on-a-chip 片上系统)架构设计的Cortex-A57 ARMv8。
AppliedMicro提供已经产品级的ARM服务器在X-Gene的品牌之下惠普正在准备推出其准备试水的ARM服务器产品线。主板制造商美国Megatrends提供了一个BIOS芯片用来启动ARM处理器。
--------------------------------------------------------------------------------
via: http://www.computerworld.com/s/article/9250061/Red_Hat_aims_to_standardize_Linux_for_64_bit_ARM_servers?taxonomyId=122
作者Joab Jackson
译者:[owen-carter](https://github.com/owen-carter)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://connect.redhat.com/early-access-programs/red-hat-and-64-bit-arm-ecosystem
[2]:https://engage.redhat.com/arm-s-201407291033
[3]:http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.den0029/index.html
[4]:http://www.networkworld.com/article/2171235/servers/arm-servers-with-64-bit-calxeda-chips-to-ship-next-year.html

View File

@ -1,4 +1,4 @@
Linux常见问题与答案——如何检查我是否处于一个运行着的screen会话中
Linux FAQ与答案如何检查我是否处于一个运行着的screen会话中
================================================================================
>**问题**我经常使用screen命令来运行多个伪终端会话。好多次我发现都记不得自己是否在一个screen会话中还是在一个常规终端中。是否有一种简便的方法来检查我是否在一个运行着的screen会话中
@ -19,6 +19,6 @@ Linux常见问题与答案——如何检查我是否处于一个运行着的scr
via: http://ask.xmodulo.com/check-running-screen-session.html
译者:[GOLinux](https://github.com/GOLinux)
校对:[校对者ID](https://github.com/校对者ID)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -1,4 +1,4 @@
Linux常见问题及答案——如何在Linux Mint Cinnamon桌面启用并配置桌面共享
Linux有问必答如何在Linux Mint Cinnamon启用桌面共享
================================================================================
>**问题**我试着在Linux Mint 17 Cinnamon桌面上通过Vino VNC服务器vino-server启用桌面共享。但是我发现用来配置vino-server共享选项安全通知开/关的vino首选项工具已经不复存在了。同时我也的Cinnamon桌面上也找不到共享菜单。我怎样才能在最新的Linux Mint 17 Cinnamon桌面上通过vino-server配置桌面共享
@ -20,7 +20,7 @@ Linux常见问题及答案——如何在Linux Mint Cinnamon桌面启用并配
![](https://farm4.staticflickr.com/3916/14843965473_e68598b01b_z.jpg)
最重要的是点击“enabled”来激活桌面远程访问。除此之外你还可以自定义其它选项。
For example, you can enable VNC password authentication by changing the following fields:
例如你可以通过修改以下字段来启用VNC密码验证
- **authentication-methods**: 设置为 ['vnc']
@ -49,6 +49,6 @@ For example, you can enable VNC password authentication by changing the followin
via: http://ask.xmodulo.com/enable-configure-desktop-sharing-linux-mint-cinnamon-desktop.html
译者:[GOLinux](https://github.com/GOLinux)
校对:[校对者ID](https://github.com/校对者ID)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -1,32 +1,32 @@
命令行星期二 第七部分
命令行星期二——第七部分
==============================================================================================================
Heyageekos我已经检查了我们的课程今天我们在八章课程里的第七部分。这意味着下周二我们还有一次课程但也是最后一次CLT课程。所以,今天,我们讨论一些关于**权限**的问题!
嗨,极客们,我已经检查了我们的课程,今天我们在八章课程里的第七部分。这就是说下周二我们还有一次课程,但也是最后一次“命令行星期二”课程。所以,今天,我们讨论一些关于**权限**的问题!
众所周知,一台机器可能会有多名用户共同使用。为了保证用户之间互不干扰,权限会被分配。我们已经讨论了文件权限的问题,所以让我们用一个简单的[点击](1)回顾一下
众所周知,一台机器可能会有多名用户共同使用。为了保证用户之间互不干扰,就需要分配不同的权限。我们已经讨论了文件权限的问题,你可以轻轻[点此](1)回顾一下:
![](http://linuxcommand.org/images/file_permissions.png)
### chmod ###
**chmod**命令被用来修改目录或者文件的权限。为了使用它首先你得输入chmod命令之后你得输入规范的权限修改然后你就可以把目录或者文件的权限修改成你想要的。这可以采用多种方式完成但是Shotts先生关注八进制表示法
**chmod**命令被用来修改目录或者文件的权限。为了修改权限首先你得输入chmod命令之后你得输入规范的权限修改然后你就可以把目录或者文件的权限修改成你想要的。这可以采用多种方式完成但是肖茨先生喜欢八进制表示法。
把权限想象成一系列的位每一个不为空的权限槽就是1,空的权限槽就是0。举个例子
把权限想象成一系列的位每一个不为空的权限槽就是1空的权限槽就是0。举个例子
rwx = 111
rw- = 110
etc.
等等
看一下二进制表示法:
rwx = 111 > in binary = 7
rwx = 111 --> in binary = 7
rw- = 110 > in binary = 6
rw- = 110 --> in binary = 6
r-x = 101 > in binary = 5
r-x = 101 --> in binary = 5
r = 100 > in binary = 4
r = 100 --> in binary = 4
现在,如果你想把一个文件的权限改为:文件所有者和文件所有组拥有读,写,执行权限,但是其他用户没有该文件任何权限,我们可以这样做:
@ -34,13 +34,13 @@ Heyageekos我已经检查了我们的课程今天我们在八章课程
### su 和 sudo ###
有些时候普通用户要成为超级用户,这样才能完成一些任务(通常是一些安装软件任务)。为了暂时的获取超级用户权限,我们可以使用**su**程序,输入:
有些时候普通用户要成为超级用户,这样才能完成一些任务(通常是一些安装软件任务)。为了暂时的获取超级用户权限,我们可以使用**su**程序,输入:
su
输入你的超级用户密码,你就成为超级用户了。但是,警告:别忘记退出超级用户模式,仅仅使用它一小段时间
输入你的超级用户密码,你就成为超级用户了。但是,警告:别忘记用一会之后(不需要的话)就退出超级用户模式。
也有一些选择可能更多的应用于openSUSE和Ubuntu它叫做sudosudo只是在某些方面和su不同它是分配给制定用户的特殊命令不像su,你可以用你自己用户的密码执行sudo而不需要超级用户密码举个例子
在openSUSE和Ubuntu也其它的一些可选工具它叫做sudosudo只是在某些方面和su不同它是分配给制定用户的特殊命令不像su你可以用你自己用户的密码执行sudo而不需要超级用户密码举个例子
sudo zypper in goodiegoodie
@ -50,17 +50,17 @@ Heyageekos我已经检查了我们的课程今天我们在八章课程
su
[enter password]
[输入密码]
chown suse example_file
同样地,我也可以改变组的所有权,但是是使用稍有不同的**chgrp**命令,很简单:
同样地,我也可以改变组的所有权,使用稍有不同的**chgrp**命令,很简单:
chgrp suse_group example_file
### 下一次 ###
正如我所阐述的,下一次我们会有各种各样的终点在这之后你会有自己的选择和我一起徜徉在终端的黑暗之中只有一个绿色的闪烁光标作为灯塔。在那之前geekos,记住
正如我所阐述的,下一次我们就会结束这个系列。在此之后,相信你会做出自己的选择,和我一起徜徉在终端的黑暗之中,只有一个绿色的闪烁光标作为灯塔。在那之前,极客们,记住
....享受更多的乐趣!
@ -70,7 +70,7 @@ via: https://news.opensuse.org/2014/08/05/command-line-tuesdays-part-seven/
作者:[Nenad Latinović][a]
译者:[su-kaiyao](https://github.com/su-kaiyao)
校对:[校对者ID](https://github.com/校对者ID)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -0,0 +1,40 @@
最新的英特尔Linux图形驱动程序可以在Ubuntu 14.04 LTS上使用了
================================================================================
![Intel Makes it Easy to Install Drivers](http://www.omgubuntu.co.uk/wp-content/uploads/2014/01/intel-driver-update-utility-unity.jpg)
英特尔使驱动安装变得简单
**新版本的英特尔[Linux图形安装程序][1]可下载。**
这个开源工具提供了简单途径在Ubuntu中获取最新因特尔设备支持的图形和视频驱动。
在**版本1.0.6**中首次使其[六月底][2]发布的2014Q2图形堆栈可在Ubuntu 14.04中使用。
它也带来了更好的Bay Trail性能节能优化并且改善了对英特尔Broadwell芯片的支持。
对Linux用户来说想要向Intel所说的那样“保持当前最新的改进、优化和修复”最好的方法就是运行最新可用的堆栈。
### 下载 ###
最新版本的图形安装程序支持Ubuntu 14.04 LTS和Fedora 20。Ubuntu 13.10的用户可以继续使用这个工具,但不能获取最新的驱动程序。
Ubuntu 14.04 LTS [32位][3]或[64位][4]可用的的Deb安装包可在 01.org 网站下载,链接如下。
- [Download Intel Graphics Installer 1.0.6 for Ubuntu][5]
--------------------------------------------------------------------------------
via: http://www.omgubuntu.co.uk/2014/08/intel-graphics-installer-linux-updated-1-0-6
作者:[Joey-Elijah Sneddon][a]
译者:[linuhap](https://github.com/linuhap)
校对:[Caroline](https://github.com/carolinewuyan)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:https://plus.google.com/117485690627814051450/?rel=author
[1]:https://01.org/linuxgraphics/
[2]:http://www.omgubuntu.co.uk/2014/07/intel-graphics-stack-2014-q2-update
[3]:https://download.01.org/gfx/ubuntu/14.04/main/pool/main/i/intel-linux-graphics-installer/intel-linux-graphics-installer_1.0.6-0intel1_i386.deb
[4]:https://download.01.org/gfx/ubuntu/14.04/main/pool/main/i/intel-linux-graphics-installer/intel-linux-graphics-installer_1.0.6-0intel1_amd64.deb
[5]:https://01.org/linuxgraphics/downloads/2014/intelr-graphics-installer-1.0.6-linux

View File

@ -1,4 +1,4 @@
Linux有问必答--如何查看Linux上程序或进程用到的库
Linux有问必答如何查看Linux上程序或进程用到的库
================================================================================
> **问题**我想知道当我调用一个特定的可执行文件在运行时载入了哪些共享库。是否有方法可以明确Linux上可执行程序或运行进程的共享库依赖关系
@ -11,7 +11,7 @@ Linux有问必答--如何查看Linux上程序或进程用到的库
![](https://farm4.staticflickr.com/3872/14846153231_195cfff0f0_z.jpg)
注意并不推荐为任何不可信的第三方可执行程序运行ldd因为某些版本的ldd可能会直接调用可执行程序来明确其库文件依赖关系这样可能不安全。
注意并不推荐为任何不可信的第三方可执行程序运行ldd因为某些版本的ldd可能会直接调用可执行程序来明确其库文件依赖关系这样可能不安全。
取而代之的是用一个更安全的方式来显示一个未知应用程序二进制文件的库文件依赖,使用如下命令:
@ -19,7 +19,7 @@ Linux有问必答--如何查看Linux上程序或进程用到的库
![](https://farm6.staticflickr.com/5552/14849218545_e3b667e742_o.png)
查看运行进程的共享库依赖关系(注:这里缺少###的标题格式?)
###查看运行进程的共享库依赖关系###
如果你想要找出被一个运行中的进程载入的共享库你可以使用pldd命令它会显示出在运行时被载入一个进程里的所有共享对象。
@ -40,6 +40,6 @@ Linux有问必答--如何查看Linux上程序或进程用到的库
via: http://ask.xmodulo.com/check-library-dependency-program-process-linux.html
译者:[KayGuoWhu](https://github.com/KayGuoWhu)
校对:[校对者ID](https://github.com/校对者ID)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -0,0 +1,57 @@
Linux 3.16 内核中有什么新东西?
================================================================================
![](http://www.omgubuntu.co.uk/wp-content/uploads/2011/07/Tux-psd3894.jpg)
**就在我们在梦乡中沉醉的的时间里,莱纳斯·托沃兹却一直处在忙碌之中。**
是的大家应该已经知道了不久之前Linux 3.16现在已经释出了稳定版本。
在他购买的一张跑步机办公桌上或许不是但是他的性格中的幽默实在是难以让人招架Linux的创始人终于[公布][2]了最新的稳定版本:
> “虽然3.16有一阵看起来有点玄乎,但是后来一切进展顺利,没有理由去做一些额外的候选发布版,就像几个星期前我担心的那样。”
### Linux 3.16有什么新特性? ###
代号为“Shuffling Zombie Juror”的Linux 3.16 的发布伴随着一系列的关键性改进。它们包括了复杂的和完整的 - 例如,“[unified control group hierarchy][3](注:统一控制组层次结构)” 给更多的用户访问权限,如新的和改进的驱动程序。
多亏了[Linux Weekly News][4] 和 [Phoronix][5] 的辛勤工作还有google在linux内核邮件列表上的出色贡献我们整理了一些在这个版本中出现的的显着的变化和特性。
- 在多个ARM SoC的多平台的ARM内核映像包括Exynos
- 对Nvidia的Tegra K1和开普勒GPU的各种支持
- 诺基亚N900的调制解调器驱动程序包含在主线
- 加入对英特尔Cherryview支持
- 改善对SIXAXIS和DUALSHOCK 4控制器的支持
- Sony-HID驱动程序的改进
- Synaptics触摸板的RMI驱动程序
- Saitek RAT7游戏鼠标的修复
- 戴尔 FreeFall driver
- 对[Btrfs 文件系统][6]的80的改变和修正
- 新的音频驱动程序杂项。Cirrus瑞昱 和 Analog 设备。
- Tegra的高清音频HDMI 支持
### 安装Linux 3.16 ###
新的内核发布了,你想要吗?好吧,先别急。 Linux的3.16很有可能在Ubuntu Linux14.10将作为默认内核而在今年晚些时候发布。而14.10版的内核也将不久后通过小版本更新提供给LTS的用户们。
如果你是一个急性子,**最重要的**是具备足够娴熟的技能你可以使用在Canonical维护的主线内核档案中列出的相应的安装器 , 在为你的Ubuntu 14.04 LTS上安装Linux 3.16内核。
- [访问Ubuntu的内核存档网站][7]
--------------------------------------------------------------------------------
via: http://www.omgubuntu.co.uk/2014/08/linux-kernel-3-16-changes-drivers
作者:[Joey-Elijah Sneddon][a]
译者:[owen-carter](https://github.com/owen-carter)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:https://plus.google.com/117485690627814051450/?rel=author
[1]:http://www.omgubuntu.co.uk/2014/07/linus-torvalds-messy-desk-video
[2]:https://lkml.org/lkml/2014/8/3/82
[3]:https://lwn.net/Articles/601840/
[4]:https://lwn.net/
[5]:http://www.phoronix.com/scan.php?page=news_item&px=MTc1NDM
[6]:http://lkml.iu.edu/hypermail/linux/kernel/1406.1/02366.html
[7]:http://kernel.ubuntu.com/

View File

@ -0,0 +1,130 @@
Echo命令实例
================================================================================
echo命令是内建的**shell命令**,用于显示**变量**的值或者**打印一行文本**。
echo命令在构建shell脚本时扮演着重要的角色。
### 语法: ###
# echo [Options] [String]
方括号中的项目是可选的。字符串可以定义为字符的有限序列(如字母,数字,符号,标点符号)。
当echo命令不带任何选项或字符串使用时它会在显示屏上返回一个空白行后面换一行跟上命令提示符。这是因为按下回车键就是发送一个信号给系统以开始一个新行而echo重复了该信号。
### 选项: ###
- -n 不要输出衍生的新行
- -e 启用反斜线转义解释
- -E 禁用反斜线转义解释(默认)
如果使用-e选项则可以使用如下转义序列
- \\ 反斜线
- \a 警告BEL
- \b 反斜线
- \c 不产生进一步输出
- \e 转义
- \f 换页
- \n 新行
- \r 换行字符
- \t 水平制表
- \v 垂直制表
- \0NNN 八进制值表示的字节NNN1到3个数字
- \xHH 十六进制值表示的字节NNN1到2个数字
### 样例1 显示系统定义的变量的值 ###
使用set命令我们可以列出系统定义的变量。而要打印这些变量的值我们可以使用echo命令
jack@localhost:~$ echo $USER
jack
jack@localhost:~$ echo $HOME
/home/jack
### 样例2 显示用户定义的变量的值 ###
jack@nextstep4it:~$ var1=`date`
jack@nextstep4it:~$ echo "Today's date time is : $var1"
Today's date time is : Mon Jul 28 13:11:37 IST 2014
### 样例3 显示文本字符串 ###
jack@nextstep4it:~$ echo " Hi this echo command testing"
Hi this echo command testing
### 样例4 在echo命令中使用反斜线 ###
jack@nextstep4it:~$ echo -e "Ubuntu \bis \bthe \bbest \bDesktop \bOS"
上述命令将打印:
UbuntuisthebestDesktopOS
### 样例5 在echo命令中使用制表符空格 ###
nextstep4it@nextstep4it:~$ echo -e "Ubuntu \tis \tthe \tbest \tDesktop \tOS"
上述命令将显示如下输出:
Ubuntu is the best Desktop OS
### 样例6 在echo命令中使用垂直制表符 ###
jack@nextstep4it:~$ echo -e "Ubuntu \vis \vthe \vbest \vDesktop \vOS"
Ubuntu
is
the
best
Desktop
OS
### 样例7 设置echo命令彩色输出 ###
echo命令可以修改字体类型字体背景色以及字体颜色转义序列\033可以用于改变字体属性。要使转义序列生效必须使用-e选项。下面列出了部分转义代码
- [0m: 正常
- [1m: 粗体
- [4m: 字体加上下划线
- [7m: 逆转前景和背景色
- [8m: 不可见字符
- [9m: 跨行字体
- [30m: 灰色字体
- [31m: 红色字体
- [32m: 绿色字体
- [33m: 棕色字体
- [34m: 蓝色字体
- [35m: 紫色字体
- [36m: 浅蓝色字体
- [37m: 浅灰字体
- [38m: 黑色字体
- [40m: 黑色背景
- [41m: 红色背景
- [42m: 绿色背景
- [43m: 棕色背景
- [44m: 蓝色背景
- [45m: 紫色背景
- [46m: 浅蓝色背景
- [47m: 浅灰色背景
下面的命令将用红色打印输出。
jack@nextstep4it:~$ echo -e "\033[31mMagic of Linux\033[0m"
Magic of Linux
下面的命令将以粗体以及红色背景打印出“Magic of Linux”。
nextstep4it@nextstep4it:~$ echo -e "\033[1m\033[41mMagic of Linux\033[0m"
Magic of Linux
--------------------------------------------------------------------------------
via: http://www.nextstep4it.com/categories/unix-command/echo-command/
译者:[GOLinux](https://github.com/GOLinux)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -8,7 +8,7 @@ Linux 老鸟们可能会笑话我们,但你不能否认:随着越来越多
然后,我们又见证了虚拟机技术的商品化。使用 Amazon 云主机或者 VPS 的用户也许永远不用在裸机上部署 Linux。随着混合云和私有云的日益普及甚至很多企业级的系统管理员都不需要在裸机上部署 Linux——登录 Web 管理界面,一次性就能搞定不止 5 台 Apache 虚拟机。
时下最新的两个趋势一个是配置管理,另一个看起来很前沿(其实一点儿都不前沿)—— 像 docker 这样的部署工具包隐藏了更多 Linux 底层技术细节。每当客户要求我们在 [OlinData][1] 上配置 Linux 机器时,我们的第一个动作就是安装配置 [Puppet][2]。有了功能强大值得信赖的 Puppet 模块,手工配置也更快更简单了。
时下最新的两个趋势一个是配置管理,另一个看起来很前沿(其实一点儿都不前沿)—— 像 docker 这样的部署工具包,它们隐藏了更多 Linux 底层技术细节。每当客户要求我们在 [OlinData][1] 上配置 Linux 机器时,我们的第一个动作就是架设 [Puppet][2]。有了功能强大值得信赖的 Puppet 模块,手工配置也更快更简单了。
例如,我可以这样使用 Puppet 在新机器上安装 Apache:
@ -19,7 +19,7 @@ Linux 老鸟们可能会笑话我们,但你不能否认:随着越来越多
}
}
在这种环境下,我甚至都不用在机器上打日志。通过 [Jenkins][3] 这样的不间断部署工具,我可以完全自动化部署我的基础设施代码,并确保它们通过了我预置的测试。
在这种环境下,我甚至都不用在机器上打日志。通过 [Jenkins][3] 这样的不间断部署工具,我可以完全自动化部署我的基础设施代码,并确保它们通过了我预置的测试。
### 系统管理员技能日益升级 ###
@ -28,9 +28,8 @@ Linux 老鸟们可能会笑话我们,但你不能否认:随着越来越多
底层 Linux 技能需求会完全消失么当然不会。除了商业服务器部署之外Linux 还有大量其他用途。同时,人们也从底层操作知识中获益颇丰。最重要的是,如果你的简历上体现出了这些技能,我(还有很多其他老板)总是会优先选择你,而不是那些尚未掌握这些技能的候选人。因为你也不知道啥时候你就用上这些技能了!
----------
![Walter Heck —— 荷兰开源培训顾问公司 Olindata 公司 CEO](http://www.linux.com/images/stories/41373/Walter-Heck.jpg)
Walter Heck 是 Olindata 公司(一个 Linux 基金会授权的培训机构)的创始人兼 CEO这里是计划中[由 OlinData 提供的 Linux 基金会官方培训课程单][4].
Walter Heck 是 荷兰开源培训顾问公司 Olindata一个 Linux 基金会授权的培训机构)的创始人兼 CEO这里是计划中[由 OlinData 提供的 Linux 基金会官方培训课程单][4].
--------------------------------------------------------------------------------
@ -38,7 +37,7 @@ via: http://www.linux.com/news/enterprise/systems-management/780956-linux-system
原文作者:[Walter Heck][a]
译者:[sailing](https://github.com/blueabysm) 校对:[校对者ID](https://github.com/校对者ID)
译者:[sailing](https://github.com/blueabysm) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -0,0 +1,30 @@
都灵市成为意大利首个开源城市
================================================================================
![](http://180016988.r.cdn77.net/wp-content/uploads/2014/08/Turin-city-790x524.jpg)
都灵当局决定采用开源软件,与 Microsoft 产品划清界限。此举为当地政府节约了大量经费。
这次的迁移任务旨在摆脱专利软件,使都灵市成为意大利首个开源城市,并节约大约 600 万欧元财政支出。600 万欧元啊!!!真是一笔巨款,对吧?
据 [republica.it][1] 网站的统计数据,当地行政部门大约 8300 台计算机不久将安装预装了 Mozilla Firefox 浏览器和 Open Office 的 Ubuntu。和 Microsoft Office 以及 Internet Explorer 说再见吧。
与其花费大量经费购买授权许可和专利软件,为什么就不试试更好的且免费的解决方案呢?如果都灵市全面升级一次 Windows 操作系统,你们知道需要花多少钱吗?
2200 万欧元!那你知道如果当地行政部门使用 Ubuntu 的话,这笔钱能节约多少吗?嗯,如果他们使用 Ubuntu600 万欧元就省下来了,你算算这笔账。
欧洲很多城市都意识到了,作为 IT 基础设施Linux 是比 Windows 更好的解决方案。举个例子,德国慕尼黑市就抛弃了 Microsoft 转而使用开源软件。据慕尼黑公布的数据,这一举动为其节约了约 1000 万欧元。
大家怎么看都灵的这次决定?在文章下方留言说说你的想法吧。
--------------------------------------------------------------------------------
via: http://www.unixmen.com/turin-first-italian-open-source-city/
作者:[oltjano terpollari][a]
译者:[sailing](https://github.com/blueabysm)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://www.unixmen.com/author/oltjano/
[1]:http://torino.repubblica.it/cronaca/2014/08/03/news/il_comune_rinnova_i_pc_e_d_laddio_a_microsoft_risparmiamo_6_milioni-93067980/?ref=search

View File

@ -1,46 +0,0 @@
OpenMorrowind 0.31.0 RPG Remake Is Already Looking Great
================================================================================
![](http://i1-news.softpedia-static.com/images/news2/OpenMorrowind-0-31-0-RPG-Remake-Is-Already-Looking-Great-451120-2.jpg)
**OpenMW, an open source implementation of The Elder Scrolls 3: Morrowind game engine and functionality, is now at version 0.31.0 and packs lots of new features.**
OpenMW, or OpenMorrowind, is a project that aims to bring one of best role-playing games ever created into the open source world, but not by simple porting. The makers of this title have been working non-stop in the last months and it seems that the game is really starting to take shape.
Half a year ago, players couldn't do much in OpenMW, but now a lot of features have been integrated, and it's almost playable if you don't expect too much. Even with all the changes in place, the version number indicates that the development is moving rather slowly and numerous problems still remain. It will take a long time until the game reaches a stable version, but when it gets there, it's going to be an awesome RPG.
“The OpenMW team is proud to announce the release of version 0.31.0! This release includes implementation of many smaller features that have been sorely missing, as well fixes for a ridiculous amount of bugs. Many thanks to our developers for their relentless attention to detail. Some optimization has made it into this release, let us know if you see any increased performance,” reads the announcement on the official website.
A number of important changes have been made and lots of new stuff has been added. For example, a periodic cleanup/refill has been added, precipitation and weather particles are now ready in the engine, the dialog has been merged, saving missing creature state is now working properly, the murder crime has been implemented, a number of sneak skill enhancements have been added, and animated main menu support has been implemented.
Also, the clouds and weather have been modified to better match vanilla Morrowind, the background tracks are no longer repeating, the dead body collision behavior has been improved, and lots of other fixes have been implemented.
A complete list of changes and new features can be found in the official [announcement][1]. Users must legally own and install the game before they can use OpenMW as it is intended to play Morrowind.
Download OpenMW 0.31.0:
- [tar.gz][2][sources] [3.20 MB]
- [tar.gz (64-bit)][3][binary] [33.40 MB]
- [tar.gz (32-bit)][4][binary] [33.10 MB]
- [Ubuntu PPA Repository][5][ubuntu_deb] [0 KB]
- [Arch Linux Package][6][binary] [0 KB]
- [Debian PPA Repository][7][debian_deb] [0 KB]
OpenMW aims to be a full-featured reimplementation of the Morrowind engine capable to work natively on all supported platforms and to support all existing content, including Tribunal, Bloodmoon, and all user-created mods.
Keep in mind that this is not a stable version and bugs might still appear.
--------------------------------------------------------------------------------
via: http://news.softpedia.com/news/OpenMorrowind-0-31-0-RPG-Remake-Is-Already-Looking-Great-451120.shtml
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:https://openmw.org/2014/openmw-0-31-0/
[2]:https://github.com/OpenMW/openmw/archive/openmw-0.31.0.tar.gz
[3]:https://github.com/OpenMW/openmw/releases/download/openmw-0.31.0/openmw-0.31.0-Linux-64Bit.tar.gz
[4]:https://github.com/OpenMW/openmw/releases/download/openmw-0.31.0/openmw-0.31.0-Linux.tar.gz
[5]:https://launchpad.net/~openmw/+archive/openmw
[6]:https://aur.archlinux.org/packages/?O=0&K=openmw
[7]:http://forum.openmw.org/viewtopic.php?f=20&t=1298

View File

@ -1,3 +1,4 @@
linuhap翻译中
Budgie Desktop 5.1 Is a Superb New Desktop Environment for Conservative Users
================================================================================
![](http://i1-news.softpedia-static.com/images/news2/Budgie-Desktop-5-1-Is-a-Superb-New-Desktop-Environment-For-Conservative-Users-451477-2.jpg)
@ -39,4 +40,4 @@ via: http://news.softpedia.com/news/Budgie-Desktop-5-1-Is-a-Superb-New-Desktop-E
[2]:https://evolve-os.com/2014/07/20/budgie-desktop-v5-1-released/
[3]:https://github.com/evolve-os/budgie-desktop/
[4]:https://launchpad.net/~sukso96100/+archive/ubuntu/budgie-desktop?field.series_filter=trusty
[5]:https://aur.archlinux.org/packages/budgie-desktop-git
[5]:https://aur.archlinux.org/packages/budgie-desktop-git

View File

@ -1,52 +0,0 @@
Red Hat aims to standardize Linux for 64-bit ARM servers
================================================================================
> Red Hat wants Linux for ARM servers to avoid the fragmentation that plagued Unix in decades past
DG News Service - Red Hat has developed a version of the Linux operating system that can be used to test chips and associated hardware based on the ARMv8-A 64-bit architecture for servers with the aim of standardizing that market.
Based on the company's Red Hat Enterprise Linux (RHEL), the Linux distribution is part of a [partner program][1] that Red Hat launched Wednesday for potential [ARM hardware vendors][2].
"We don't call it RHEL, but it is a functional, unsupported, operating system for partners to use in their development activities," said Mark Coggin, Red Hat senior director of platform product marketing.
Red Hat designed the program to get the hardware manufacturers to settle on a standard implementation of the ARMv8-A specification. ARM does not manufacture its own processors, licensing its designs to chip manufacturers instead.
A standard implementation would mean that customers could purchase ARMv8-A servers from any manufacturer, knowing that their ARM 64-bit operating systems and software will work no matter who created the chip, Coggin said. Red Hat would like Linux ARM to avoid the fate of AT&T's Unix operating system, which fragmented into a number of different and incompatible versions.
"We see the importance of stepping in early and ensure that we don't end up with a fragmented approach, where if you wanted to run an AMD implementation of ARM, you'd need one version of Linux, and if you wanted to run a Broadcom implementation of ARM, you'd need another version," Coggin said.
Some of the work of standardizing ARM for servers has been done through an industry consortium started earlier this year, called the [Server Base System Architecture][3] (SBSA) specification, as well as through ongoing work from the Linaro Enterprise Group. Red Hat's unnamed ARM Linux distribution uses specifications from both groups.
Red Hat hopes to influence not only the companies that make the chips but also hardware vendors, original equipment manufacturers and original design manufacturers.
Thus far, manufacturers such as Advanced Micro Devices, American Megatrends, AppliedMicro, Broadcom, Cavium, Dell and Hewlett-Packard have all pledged support to Red Hat's standardization efforts.
"If ARM is to be a viable competitor in the server space, [hardware providers] have to comply to the common understanding of what is possible to run on this type of server. Customers and users demand that from manufacturers today in the x86 world," said Yan Fisher, Red Hat technical product marketing manager.
Through the program, Red Hat will learn more about what the manufacturers need from an enterprise Linux distribution for 64-bit ARM, Coggin said. The operating system may one day become the basis for an ARM version of RHEL.
"We're trying to understand the platform dependencies from a technology requirements perspective," Coggin said. "We don't know if or when this will ever become a product, but we are positioning ourselves in a way that at some point we could enter the market."
Red Hat's Fedora project has offered an ARM distribution for the past several years and this release, though based on the Fedora work, is configured more toward ARM server use.
Although ARM processors are used in most mobile devices, only recently [has there been a movement in the industry][4] to use them in data-center servers as well, where their low-power design could cut energy costs.
Only a handful of ARMv8-A processors and associated hardware are currently available, mostly as early previews for developers or packaged in proprietary systems.
AMD Opteron A1100-Series ARM processors, designed specifically for servers, were released Wednesday to developers. AMD also offers the ARM Cortex-A57 ARMv8 which was designed for system-on-a-chip architectures.
AppliedMicro offers production-ready ARM servers, under the X-Gene brand and Hewlett-Packard is prepping its Moonshot line of ARM servers. Motherboard manufacturer American Megatrends offers a BIOS chip to boot ARM processors.
--------------------------------------------------------------------------------
via: http://www.computerworld.com/s/article/9250061/Red_Hat_aims_to_standardize_Linux_for_64_bit_ARM_servers?taxonomyId=122
作者Joab Jackson
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://connect.redhat.com/early-access-programs/red-hat-and-64-bit-arm-ecosystem
[2]:https://engage.redhat.com/arm-s-201407291033
[3]:http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.den0029/index.html
[4]:http://www.networkworld.com/article/2171235/servers/arm-servers-with-64-bit-calxeda-chips-to-ship-next-year.html

View File

@ -1,40 +0,0 @@
linuhap翻译中
Latest Intel Linux Graphics Drivers Now Available on Ubuntu 14.04 LTS
================================================================================
![Intel Makes it Easy to Install Drivers](http://www.omgubuntu.co.uk/wp-content/uploads/2014/01/intel-driver-update-utility-unity.jpg)
Intel Makes it Easy to Install Drivers
**A new version of the Intel [Linux Graphics Installer][1] is available to download.**
The open-source utility offers an easy way to get the latest graphics and video drivers for supported Intel hardware in Ubuntu.
In **version 1.0.6** the 2014Q2 graphics stack released [at the end of June][2] is made available to Ubuntu 14.04 LTS for the first time.
It brings better Bay Trail performance, power saving optimisations, and improves support for Intel Broadwell chips.
Running the latest available stack is the best way for Linux users to “*…stay current with the latest enhancements, optimisations, and fixes,*” say Intel.
### Download ###
The latest version of the Graphics Installer supports Ubuntu 14.04 LTS and Fedora 20. Ubuntu 13.10 users can continue to use the tool, but wont be able to grab the most recent set of drivers.
Debian installers for Ubuntu 14.04 LTS [32 bit][3] or [64 bit][4] are available from the 01.org website, link below.
- [Download Intel Graphics Installer 1.0.6 for Ubuntu][5]
--------------------------------------------------------------------------------
via: http://www.omgubuntu.co.uk/2014/08/intel-graphics-installer-linux-updated-1-0-6
作者:[Joey-Elijah Sneddon][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:https://plus.google.com/117485690627814051450/?rel=author
[1]:https://01.org/linuxgraphics/
[2]:http://www.omgubuntu.co.uk/2014/07/intel-graphics-stack-2014-q2-update
[3]:https://download.01.org/gfx/ubuntu/14.04/main/pool/main/i/intel-linux-graphics-installer/intel-linux-graphics-installer_1.0.6-0intel1_i386.deb
[4]:https://download.01.org/gfx/ubuntu/14.04/main/pool/main/i/intel-linux-graphics-installer/intel-linux-graphics-installer_1.0.6-0intel1_amd64.deb
[5]:https://01.org/linuxgraphics/downloads/2014/intelr-graphics-installer-1.0.6-linux

View File

@ -1,57 +0,0 @@
owen-carter is translating This Is Whats New In Linux 3.16
================================================================================
![](http://www.omgubuntu.co.uk/wp-content/uploads/2011/07/Tux-psd3894.jpg)
**While the rest of us slept in, Linus Torvalds kept busy over the weekend, announcing an all new Linux kernel release.**
Linux 3.16 is now stable and out there. Wherever there really is.
Typing from [his treadmill desk][1] (or possibly not, but the mental image is too humorous to resist) the Linux founder announced the latest stable release with relief, [explaining][2]:
> “While 3.16 looked a bit iffy for a while things cleared up nicely, and there was no reason to do extra release candidates like I feared just a couple of weeks ago.”
### Whats New In Linux 3.16? ###
Codenamed Shuffling Zombie Juror, Linux 3.16 arrives on the scene with a bunch of key improvements in tow. These range from complicated and integral sounding e.g., [unified control group hierarchy][3] to the more user-accessible, like new and improved drivers.
Thanks to the diligent work by [Linux Weekly News][4] and [Phoronix][5] (plus a good ol google on the Linux Kernel Mailing List) weve put together a list of some of notable changes featuring in this release.
- Multi-platform ARM kernel image for multiple ARM SoCs (incl. Exynos)
- Various support for Nvidia Tegra K1 and Kepler GPU
- Nokia N900 modem driver included in mainline
- Initial Intel Cherryview Support
- Improvements to Sixaxis and DualShock 4 controller support
- Sony-HID driver improvements
- RMI driver for Synaptics touchpad
- Saitek RAT7 gaming mouse fix
- Dell FreeFall driver
- 80 changes and fixes to [Btrfs filesystem][6]
- New audio drivers for misc. Cirrus, Realtek and Analog devices.
- Tegra HD-audio HDMI support
### Installing Linux 3.16 ###
Its out, which means you want it. Well, hold your horses. Linux 3.16 is likely to form the basis of the Ubuntu Linux Kernel in 14.10, which is due later this year. The 14.10 kernel will also be provided to LTS users through a point release update shortly after.
If youre impatient and — **most importantly** — skilled enough, you can install Linux 3.16 in Ubuntu 14.04 LTS using the corresponding installers for your system listed in the Mainline kernel archive maintained by Canonical.
- [Visit the Ubuntu Kernel Archive Website][7]
--------------------------------------------------------------------------------
via: http://www.omgubuntu.co.uk/2014/08/linux-kernel-3-16-changes-drivers
作者:[Joey-Elijah Sneddon][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:https://plus.google.com/117485690627814051450/?rel=author
[1]:http://www.omgubuntu.co.uk/2014/07/linus-torvalds-messy-desk-video
[2]:https://lkml.org/lkml/2014/8/3/82
[3]:https://lwn.net/Articles/601840/
[4]:https://lwn.net/
[5]:http://www.phoronix.com/scan.php?page=news_item&px=MTc1NDM
[6]:http://lkml.iu.edu/hypermail/linux/kernel/1406.1/02366.html
[7]:http://kernel.ubuntu.com/

View File

@ -0,0 +1,40 @@
StuntRally 2.4 Is the Most Advanced Free Racing Game on Linux
================================================================================
![StuntRally](http://i1-news.softpedia-static.com/images/news2/StuntRally-2-4-Is-the-Most-Advance-Free-Racing-Game-on-Linux-454345-2.jpg)
StuntRally
**StuntRally, a free racing game that features over 150 tracks and lots of cars, has just reached version 2.4 and and it bring numerous updates and new features.**
The game is built with the help of several technologies, such as Vdrift, bullet, OGRE, PagedGeometry, and MyGUI, just to name a few, but the developers have manged to put together a very complex and interesting racing title.
The players can play on 147 track and in 26 different scenarios, which totals four hours of drive time. This is quite a lot, if we keep in mind that StuntRally is completely free.
Other features included in the are ghost drive (chase your best time car on track), track's ghost (best drive for track, a green ghost car ES, on all tracks), replays (save your drive and watch it from other cameras later), numerous tutorial, a few championships, a few challenges, split-screen racing, and multiplayer.
To top it all off, the developers also implemented a Track Editor that should allow users to edit road points and their parameters in real time, to change all of the track parameters, to tweak the terrain generator, and even to modify elements of the cars while driving.
According to the changelog, 6 new maps have been added, 12 old levels have been deleted, a number of tracks have been renewed, a couple of new sceneries named Crystals and GreeceWhite have been added, spaceship hovercrafts have been implemented, new sky textures have been added on half of tracks, new static objects on few tracks are now available, and car tab with bars for stats, speed graph, and a short list view has been added.
Also, fonts are now bigger and they have been resized, sounds for win, loose, lap, best time, and wrong checkpoint resolution have been added, the multiplayer has been repaired and the nick can no longer appear twice, damage from terrain, height fog, fluids has been implemented on a few tracks, the level editor has received a number of improvements, the steering has been improved, and the surfaces in the game's car tweak window have been fixed.
Users need to remember that the developers only provide the source package for the game and that means that it needs compiling. This might take a little bit longer, but StuntRally is totally worth it.
More details about this new release of StuntRally can be found in the [announcement][1].
Download StuntRally 2.4:
- [Stunt Rally 2.4 tar.xz][1][binary] [735 MB]
--------------------------------------------------------------------------------
via: http://news.softpedia.com/news/StuntRally-2-4-Is-the-Most-Advance-Free-Racing-Game-on-Linux-454345.shtml
作者:[Silviu Stahie][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://news.softpedia.com/editors/browse/silviu-stahie
[1]:https://code.google.com/p/vdrift-ogre/wiki/VersionHistory
[2]:http://sourceforge.net/projects/stuntrally/files/2.4/StuntRally-2.4-linux64.tar.xz/download

View File

@ -1,50 +0,0 @@
Little Known Apache Mesos Project Helps Mesosphere Raise $10M From Andreessen Horowitz
================================================================================
![](http://thenewstack.io/wp-content/uploads/2014/04/clouds.jpg)
[Mesosphere][1], the company trying to build a business around the little-known open source [Apache Mesos][2] project, just racked up a $10 million investment from Andreessen Horowitz. Heres why it attracted that kind of cash.
Mesos, software for automatic scaling, was in fact built around five years ago and is already in use on more than 50,000 cores at Twitter, according to Florian Leibert, CEO and co-founder of Mesosphere. EBay, AirBnB, Netflix and HubSpot are also fans.
While those big Web companies have discovered Mesos, the technology isnt widely known among enterprises. But it could fill a need for companies which are trying to adopt some of the techniques available to them in public clouds on their internal data centers.
Mesos manages clusters of machines, automatically scaling apps as needed. It requires a small bit of software on each machine the software uses zero processing power and “negligible” memory, according to Liebert — which coordinates with a master scheduler. The software on each machine reports information about the capacity of the virtual machine or bare metal server to the scheduler, which allocates jobs to available machines.
“If a task goes down and it doesnt report back, the master knows to reschedule it and knows where it has resources,” said Matt Trifiro, senior vice president at Mesosphere.
Mesos can automatically scale a variety of jobs including Hadoop databases, nodes running Ruby on Rails, and Cassandra.
Using Mesos, Hubspot slashed its Amazon Web Services bill in half, said Liebert. Thats because Mesos efficiently assigns workloads to available machines.
However, Mesos might be most appealing to businesses that are trying to essentially create an AWS-like environment internally, said Jay Lyman, an analyst at 451 Research. AWS offers some [tools for automatic scaling][3]. But many businesses are still shy about running everything on public cloud infrastructure. At the same time, they dont want to block their developers from taking advantage of the capabilities available in public clouds like AWS. Theyd like to make those capabilities available on their private clouds.
“Youre seeing the interface of AWS-style strategy meets the old guard and command and control and stability,” he said.
Mesos can run in both a private cloud and AWS, offering businesses the opportunity to most efficiently use their internal cloud and fallover to AWS when they need to scale.
Mesos has some shortcomings in that regard, however. It [doesnt run][4] any Windows or legacy apps like SAP, for instance.
However, “if a team is contemplating cloud, theyre probably pretty deep into Linux already,” said Lyman.
In the future, its possible Mesosphere could support Windows. Initially, technologies like Puppet and Chef only supported Linux too, Lyman noted. “It speaks to the early nature of Mesosphere. Its pretty immature right now,” he said.
Mesosphere is targeting the many enterprises that are building more and more apps running on Linux and modern programming languages as well as the first generation Web 2.0 companies like Twitter and Netflix that didnt have technology like Mesos when they first launched. “Those are the two most common early adopter profiles,” Trifiro said.
Before the end of the year, Mesosphere hopes to release commercial products with documentation, earning revenue from support and licensing. It has built a large-scale orchestration tool called Marathon and supports Docker integration. Its currently offering packaged Mesos distributions for free in hopes of seeding the market.
Mesosphere is also currently working with a handful of early customers. It helped HubSpot get going with its use of Mesos.
Mesosphere isnt alone in going after this use case. Rightscale, Scalr and Enstratius, now owned by Dell, all offer some version of scaling or cloud management technology. Mesosphere argues that Mesos, and the companys own technologies, go above and beyond whats on the market to create server clusters that essentially operate as one machine. The new investment from Andreessen could help it gain momentum.
--------------------------------------------------------------------------------
via: http://thenewstack.io/little-known-apache-mesos-project-helps-mesosphere-raise-10m-from-andreessen/
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://mesosphere.io/
[2]:http://mesos.apache.org/
[3]:http://aws.amazon.com/autoscaling/
[4]:http://mesosphere.io/learn/

View File

@ -1,35 +0,0 @@
乌龙茶 占坑
Valve SteamOS: A Linux-based Gaming Operating System Announced
================================================================================
![](http://s0.cyberciti.org/images/faq/2013/09/steam-os.jpg)
The year of Linux on the desktop or living room is here. Today Valve software announced SteamOS, a free Linux-based gaming operating system designed for the TV, DIY enthusiast and the living room. From the announcement page:
> As we've been working on bringing Steam to the living room, weve come to the conclusion that the environment best suited to delivering value to customers is an operating system built around Steam itself. SteamOS combines the **rock-solid architecture of Linux with a gaming experience** built for the big screen. It will be available soon as a free stand-alone operating system for living room machines.
### More about SteamOS ###
- Hundreds of great games are already running natively on SteamOS. More AAA titles coming natively to SteamOS in 2014.
- You can stream games from your desktop and stream those games over your home network to your TV via a SteamOS machine.
- You can play all your Windows and Mac games on your SteamOS machine, too.
- Stream music and video with the SteamOS media services.
- In SteamOS, Valve have achieved significant performance increases in graphics processing, and Valve working on audio performance and reductions in input latency at the operating system level. Game developers are already taking advantage of these gains as they target SteamOS for their new releases.
- You can modify or replace any part of the software or hardware you want. No more lock-ins.
- Valve are working on improving Linux kernel, drivers and debugging tools. This is a great news for both developers and users.
- Standard parental controls for games and streaming services.
### Input lag over a network... a horrible experience? ###
Streaming games over the internet adds the the network latency. However, SteamOS machine and TV will be in a local network. This will keep delay to minimum including encoding and decoding video between the two systems. This is just a guess and I will wait for the reviews.
I think Valve is following Android model. User will get consistent environment for all your devices or you can build your own device. SteamOS will be available soon as a free download for users and as a freely licensable operating system for manufacturers. For more information see [SteamOS][1] announcement page.
--------------------------------------------------------------------------------
via: http://www.cyberciti.biz/linux-games/valve-announces-linux-based-steamos/
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://store.steampowered.com/livingroom/SteamOS/

View File

@ -1,4 +1,3 @@
Translating by Alisa-annie
The People Who Support Linux: Hacking on Linux Since Age 16
================================================================================
![](http://www.linux.com/images/stories/41373/Yitao-Li.png)

View File

@ -1,52 +0,0 @@
[translated by blueabysm]
Linux System Administration Skills are Changing
================================================================================
When was the last time you compiled a kernel? For many of the latest generation of Linux admins, the answer is really simple: never. I am one of those, provided we don't count a few times I tried it just for fun, then couldn't see why I would need a custom kernel and went back to my out-of-the-box kernel.
For many of the longer-time Linux admins and engineers this may seem laughable, but it is a reality: As Linux adoption grows in the enterprise, a new generation of Linux admins is created that has extremely good technical skills, but lacks these 'simple' low level skills seen by many as fundamental to being a good Linux admin. We can build a high performance, highly available web infrastructure that uses the latest of the latest techniques, but don't ask us to fix a non-booting Linux machine: our advice will be to ditch it and set up a new vm.
Over the past decade or so, we have seen some interesting trends. Linux became a commodity in the enterprise, and as that happened the various distributions became powerful yet flexible enough to remove the need for the average admin to ever have to do low level things like compiling a kernel.
Next, we welcomed virtual machine technology as a commodity, which added another layer of abstraction. Users of clouds like amazon or VPS providers will possibly never have to deal with deploying Linux on bare metal. As hybrid and private clouds are becoming common as well, many enterprise admins will also not have to deal with this kind of thing anymore, they will just log into a web interface and spin up 5 more apache vm's.
The newest two trends add even more abstraction: configuration management and the seemingly brand new (yet not new at all) containerization with tools like docker. Whenever a client asks us at [OlinData][1] to configure a Linux machine, our first action will be to set up [Puppet][2]. With our trusted library of well-functioning Puppet modules, that is very easy and will cost me less time then doing this manually.
For example with Puppet, I can install Apache on a new machine as simple as this:
node 'web01.olindata.com' {
include apache
apache::vhost{ 'www.olindata.com':
docroot => '/var/www/olindata'
}
}
Depending on the environment, I don't even have to log into the machine anymore. Deploying this code through Continuous Deployment tools like [Jenkins][3] will allow me to deploy my infrastructure code automatically as it passes the tests I set up.
### SysAdmin skills move up the stack ###
Even as we move toward higher levels of abstraction, ongoing Linux training is still highly valuable and desirable for admins today and will be well into the future. Knowing the fundamentals is key but as abstraction removes some of the old tasks, this requires sysadmins to move up further in the stack and enhance their skills in the higher level tools and practices. It is critical for a sysadmin to become familiar with the tools that enable these higher levels of abstraction. It pushes them to become more skilled in things like coding so that they can do more with these "new" tools.
Will the need for low(er) level linux skills ever go away completely? Of course not. We still have many other uses for Linux then just the commodity server deployments. Also, people will still benefit hugely from knowing how to do lower level operations in their everyday work. On top of that, with demonstrable Linux skills on your resume, I (and many other employers with me) will always prefer you over candidates that don't have them. You never know when you need those low-level skills!
----------
![Walter Heck is CEO and Founder of Olindata, an open source training and consulting company based in The Netherlands.](http://www.linux.com/images/stories/41373/Walter-Heck.jpg)
Walter Heck is CEO and Founder of OlinData, an authorized Linux Foundation training partner. Here's a list of [scheduled official Linux Foundation courses by OlinData][4].
--------------------------------------------------------------------------------
via: http://www.linux.com/news/enterprise/systems-management/780956-linux-system-administration-skills-are-changing
原文作者:[Walter Heck][a]
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://www.linux.com/community/forums/person/59207
[1]:http://olindata.com/
[2]:http://puppetlabs.com/
[3]:http://jenkins.org/
[4]:http://www.olindata.com/training/upcoming?technology=295

View File

@ -1,74 +0,0 @@
[translating sailing]
20 Amazing Linux Blogs For Beginners!
================================================================================
Whether you're a newbie looking to venture into the world of Linux and open source or a pro in search for some inspiration, well, blogs are the one stop shop to all your needs. Blogs are an excellent resource of information coming in from real time users like you and me who are looking to help other fellow users grasp concepts in simple language and easy format.
1.[Ubuntux][1]
2.[Mark shuttleworth's Official Blog][2]
3.[Ubuntu Living][3]
4.[Planet Gnome][4]
5.[Planet KDE][5]
6.[Linux Tracker][6]
7.[Linux Watch][7]
8.[Mandriva Blog][8]
9.[Linux Security][9]
10.[Linux on Desktop][10]
11.[LinuxBSDos][11]
12.[All for Linux][12]
13.[Linux from Scratch][13]
14.[RootPrompt][14]
15.[Linux Home Networking][15]
16.[YoLinux][16]
17.[Librenix][17]
18.[Linux Journal][18]
19.[Linux Street][19]
20.[Linux Hub][20]
--------------------------------------------------------------------------------
via: http://www.efytimes.com/e1/fullnews.asp?edid=144715
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://www.ubuntux.org/
[2]:http://www.markshuttleworth.com/
[3]:http://ubuntuliving.blogspot.in/
[4]:http://planet.gnome.org/
[5]:http://planetkde.org/
[6]:http://linuxtracker.org/
[7]:http://efytimes.com/e1/www.linux-watch.com
[8]:http://blog.mandriva.com/en/
[9]:http://www.linuxsecurity.com/
[10]:http://linuxondesktop.blogspot.in/
[11]:http://www.linuxbsdos.com/
[12]:http://allforlinux.com/
[13]:http://www.linuxfromscratch.org/
[14]:http://rootprompt.org/
[15]:http://www.linuxhomenetworking.com/
[16]:http://www.yolinux.com/TUTORIALS/
[17]:http://librenix.com/
[18]:http://www.linuxjournal.com/
[19]:http://www.linuxstreet.net/
[20]:http://linuxhub.net/

View File

@ -1,38 +0,0 @@
Lime Text: An Open Source Alternative Of Sublime Text
================================================================================
![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/08/Lime_Text_Editor.jpeg)
[Sublime Text][1] is one of the best (if not best) text editor for programmers. Packed with numerous feature and great looking interface, Sublime is available for all three major desktop OS i.e. Windows, Mac and Linux.
But it is not that Sublime Text is perfect. There are bugs, crashes and almost no support. If you have been following Sublime Text development, you know that the beta version of Sublime Text has been out for more than a year now and there is no clear communication to users about its release date. And above all, Sublime Text is neither free nor [Open Source][2].
All these issues also frustrated [Fredrik Ehnbom][3] and hence he started an Open Source project, [Lime Text][4], on [Github][5] to make a new text editor which looks and works exactly the same way as Sublime Text. On the question of why he decided to “clone” an existing text editor, Frederic mentions:
> As none of the other text editors Ive tried come close to the love I had for Sublime Text, I decided I had to create my own.
Lime Text is built in Go for backend while the frontend is in ermbox, Qt (QML) and HTML/JavaScript. The development is in progress with clear [goals][6] in sight. You can contribute to the project on its [Github page][7].
![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/08/LimeTextEditor.jpeg)
If you want to try the beta version, you can build Lime Text by following the instructions on the [wiki][8]. Meanwhile, if you are looking for other powerful text editors, give [SciTE][9] a go.
--------------------------------------------------------------------------------
via: http://itsfoss.com/lime-text-open-source-alternative/
作者:[bhishek][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://itsfoss.com/author/Abhishek/
[1]:http://www.sublimetext.com/
[2]:http://itsfoss.com/category/open-source-software/
[3]:https://github.com/quarnster
[4]:http://limetext.org/
[5]:https://github.com/
[6]:https://github.com/limetext/lime/wiki/Goals
[7]:https://github.com/limetext/lime/issues
[8]:https://github.com/limetext/lime/wiki/Building
[9]:http://itsfoss.com/scite-the-notepad-for-linux/

View File

@ -0,0 +1,68 @@
zpl1025
When Linux Was Perfect Enough
================================================================================
The other day my colleague, friend and sometimes partner-in-crime, Ken Starks, published [an article][1] here on FOSS Force on one of his favorite gripes: things that dont work right in Linux. This time he was complaining about a font issue in Mint when using KDE. This is nothing new from Ken. In the past hes written other articles about broken aspects of various Linux distros that never seem to get fixed. Its his contention that these “small” bugs, which remain unfixed release after release after release, are largely responsible for desktop Linuxs failure to take hold with the general public.
### He might be right. ###
For Christmas I bought my roommate a new second generation Nexus 7 tablet running Android, an OS built around the Linux kernel. It “just worked,” out of the box, with no tweaking necessary. During the last seven months shes used it for hours daily. As far as I know, shes found no glitches that require fixing. Im reasonably certain Id know if she did, since the main reason I gave her the Nexus to begin with was because I had tired of trying to keep her Windows laptop running to her satisfaction. She has no trouble telling me when her computer goes kaput, and she always wants it fixed right now. Facebook waits for no one, you know.
I point this out because Linux has all but taken over the tablet and phone end of the computing spectrum. Apple makes plenty of money with the iPhone and iPad, but thats due to their high prices. In market share, they lag far behind Android devices. And Microsoft has proven that Windows isnt the unbeatable giant it was once thought to be. Even with massive money spent on television ads and conspicuous product placement in nearly every scripted drama on CBS, mobile devices running Windows remain a mere asterisk when looking at market share.
In other words, Linux is winning the mobile war because Google makes certain that Android “just works” out of the box.
Todays average computer users (I loath the word “consumers”) want to get things done on their computers without having to delve under the hood to fix things. This is understandable and isnt unlike the average automobile owners, who just want to drive their cars without knowing or caring how it works. Just as most drivers take their car to the shop for repair to solve mechanical and computer related issues, most computer users take their devices to the shop with no concern about whether the problem is hardware or software related. They just want the damn thing to work.
### It wasnt always this way. ###
Back in 2002 I installed GNU/Linux for the first time. At that time, like most Americans, I was tethered to a dial-up connection, with broadband not yet being available in my part of the boondocks. I spent seventy bucks or so for a shrink wrapped Powerpack edition of Mandrake 9.0 at a local Best Buy store, which in those days sold both Mandrake and Red Hat, which was still in the desktop business.
During that age of the dinosaur, Mandrake was considered to be the cats meow of easy-to-use Linux distributions. It installed easily, some said easier than Windows, and its partitioning tool made cutting up a disk easier than slicing a piece of mincemeat pie. Indeed, Linux old-timers sometimes openly laughed at Mandrake, insinuating that ease-of-use somehow made Linux less Linux.
But I loved it and found it to be a whole new world. Gone was the blue screen of death and the nearly daily crashes that were business as usual with Windows. Unfortunately, also gone were a lot of peripherals that had “just worked” in Windows.
The first thing I had to do after installing Mandrake was to take my white box to Michelle at [Dragonware Computers][2] and have the cheap winmodem swapped out for a hardware modem. Granted, a hardware modem means a more responsive computer, but with the computer store forty miles away, this was a bit of an inconvenience and an expense I could little afford.
But I didnt mind. I was free of Microsoft - and using a “different” operating system made me feel as if I was some sort of computing genus.
Printers were also a problem, but not as much a problem with Mandrake as with most other distros which required command line work to install. Mandrake offered up a snazzy graphical interface for configuring printers if you were lucky enough to have a printer that would work in Linux at all. Many, if not most, wouldnt.
My still under warranty Lexmark, which in Windows had more whistles and bells than any printer needs, wasnt supported by the manufacturer, but I was able to find an open source, backwards engineered driver that kinda, sorta worked. It worked fine for printing web pages from the Mozilla browser, but printed Star Office pages in tiny fonts that were crammed up into the upper right corner of the page. The printer also made some very loud mechanical clunking noises which reminded me of the noise a car transmission makes just before it dies.
The workaround for the Star Office problem was to save everything as a text file and print from a text editor. For the noise that indicated the printer was in self-destruct mode? Try to avoid printing as much as possible was my solution.
### Other problems abounded too many for me to remember. ###
One problem I do remember is that I couldnt get the sound card to work out of the box, although Mandrakes interface showed the sound card detected and installed. After days of digging through the forums with no luck, someone finally suggested I might have a problem with permissions. I looked and, lo and behold!, he was right. Mandrake had installed the sound card with permissions which wouldnt let it work in a user account, yet another one of those things that should have been fixed before the distro was released, as Ken would point-out. Especially in a distro being sold in a shrink wrapped box for seventy dollars a pop which was considerably more money in 2002 than it is now.
Oh yes, and I still have a parallel port scanner that I bought new about two weeks before my move to Linux which has been nothing but a brick since, as theres still no Linux driver for it.
My point is that back in those days none of this mattered. Most of us were already used to having to fiddle with configuration files and such, even when using “IBM compatible” computers running Microsoft products. Like most users in those days, Id cut my teeth on command line DOS machines, where printers had to be configured separately for each and every program and where the ability to write a succinct autoexec.bat file was a necessity.
![Linux as a 1966 “goat.”](http://fossforce.com/wp-content/uploads/2014/08/Pontiac_GTO_1966-300x224.jpg)
Linux as a 1966 “goat.”
Tinkering with the inner workings of the operating system was simply part of owning a computer. Most of us using computers back then were either geeks or wanna be geeks. We were proud of our ability to tinker and get our machines working just like we wanted. We were the high tech version of the good ol boys from an earlier age, who spent their Saturday afternoons under a shade tree modifying their muscle cars with headers, breathers, trick carburetors and the like.
### And thats mostly not whos using computers today. ###
Todays computer user just wants the computer to work, without problems, out of the box. They dont want to have to figure out why Hulu or Netflix doesnt work or why their fonts display properly in some applications and not in others. They dont want to hear, “oh, thats just an easily fixed small bug” after a Linux install any more than they want to hear that an ignition switch that stalls their new Chevy in heavy traffic is “only a glitch which well fix one day.”
These days, that includes me. While Im happy I have enough skills to usually fix a bug that made it past the developers at Mint or Fedora, Id just as soon not have to deal with it. I have work to get done. And when Im not working, I want to be wasting time with my friends on Facebook, not getting aggravated with my computer.
To be sure, Linux has changed with the times. In recent years you can pretty much be sure that when you install a major Linux distro on a laptop, Wi-Fi will work out of the box. Also, most of the time all you have to do is plug a new printer into a USB port and, presto!, its already up and running. But there are still way too many little niggling problems that need to get fixed stuff that should have been fixed long ago.
Maybe if Ken keeps complaining enough…
--------------------------------------------------------------------------------
via: http://fossforce.com/2014/08/when-linux-was-perfect-enough/
作者Christine Hall
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://fossforce.com/2014/07/ripe-linux-nits-to-pick/
[2]:http://www.dragonware.com/

View File

@ -1,77 +0,0 @@
alim0x translating
The history of Android
================================================================================
![Android 0.9 showing off a horizontal home screen—a feature that wouldnt make it to later versions.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/horizontal.png)
Android 0.9 showing off a horizontal home screen—a feature that wouldnt make it to later versions.
Photo by Ron Amadeo
While it's hard to separate emulator and OS functionality, Android 0.9 was the first version to show off horizontal support. Surprisingly, almost everything supported horizontal mode, and 0.9 even outperforms KitKat in some respects. In KitKat, the home screen and dialer are locked to portrait mode and cannot rotate. Here, though, horizontal support wasn't a problem for either app. (Anyone know how to upgrade a Nexus 5 from KitKat to 0.9?)
This screenshot also shows off the new volume design used in 0.9. It dumped the old bell-style control that debuted in Milestone 3. It was a massive, screen-filling interface. Eventually, the redesign in Android 4.0 made it a bit smaller, but it remained an issue. (It's extremely annoying to not be able to see a video just because you want to bump up the volume.)
![The new notification panel, which ditched the application shortcut and added a top section.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/n09c2.png)
The new notification panel, which ditched the application shortcut and added a top section.
Photo by Ron Amadeo
In just about every Android version, the notification panel gets tweaked, and 0.9 was no exception. The battery indicator was redrawn and changed to a darker shade of green, and the other status bar icons switched to black, white, and gray. The left area of the status bar was brilliantly repurposed to show the date when the panel was open.
A new top section was added to the notification panel that would display the carrier name ("Android" in the case of the emulator) and a huge button labeled "Clear notifications," which allowed you to finally remove a notification without having to open it. The application button was canned and replaced with the time the notification arrived, and the "latest events" text was swapped out for a simpler "notifications." The empty parts of the panel were now gray instead of white, and the bottom gripper was redesigned. The pictures seem misaligned on the bottom, but that was because Milestone 5's notification panel had white space around the bottom of the panel. Android 0.9 goes all the way to the edge.
![The browsers of 0.9 and 0.5, showing the new, colorless menus.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/browser4c2.png)
The browsers of 0.9 and 0.5, showing the new, colorless menus.
Photo by Ron Amadeo
The browser now loaded an actual website for the home page instead of the locally stored faux-Google of Milestone 5. The WebKit version rose up to 525.10, but it didn't seem to render the modern Google.com search button correctly. All throughout Android 0.9, the menu art from Milestone 5 was trashed and redrawn as gray icons. The difference between these screens is pretty significant, as all the color has been sucked out.
The "more" list-style menu grew a little taller, and it was now just a plain list with no icons. Android 0.9 gained yet another search method, this time in the browser menu. Along with the home screen widget, home screen menu button, and browser homepage, that made four search boxes. Google never hid what its prime business was, even in its OS.
![From left to right: Android 0.9s browser showing off the zoom controls, find-in-page interface, browser windows, and the settings.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/b4.png)
From left to right: Android 0.9s browser showing off the zoom controls, find-in-page interface, browser windows, and the settings.
Photo by Ron Amadeo
Android 0.9 brought tons of browser improvements. The zoom controls were thankfully reworked from the crazy vertical controls to simpler plus and minus buttons. Google made the common-sense decision of moving the controls from the center of the screen to the bottom. In these zoom controls, the Android struggle with consistency became apparent. These appeared to be the only round buttons in the OS.
0.9's new "find in page" feature could highlight words in the page. But overall, the UI was still very rough—the text box was much taller than it should be, and the "done" button with a checkbox was a one-of-a-kind icon for this screen. "Done" was basically a "close" button, which means it should probably have been a right-aligned "X" button.
The main OS didn't have a settings screen in this build, but the browser finally had its own settings screen. It featured desktop-style options for pop ups, javascript, privacy and cookies, saved passwords and form data. There was even Google Gears integration (remember [Google Gears?][1]).
![The dialer and in-progress call screen with the menu open.](http://cdn.arstechnica.net/wp-content/uploads/2014/04/revisedcalls.jpg)
The dialer and in-progress call screen with the menu open.
Photo by Ron Amadeo
Dialer and Contacts in Android 0.9 were actually the same app—the two icons just opened different tabs. Attaching contacts to the dialer like this suggested the primary purpose of a smartphone contact was still for calls, not to text, e-mail, IM, or look up an address. Eventually Google would fully embrace alternative smartphone communications and split up contacts and dialer into separate apps.
Most of the dialer weirdness in Milestone 5 was wiped out in Android 0.9. The "minimizing" tabs were replaced with a normal set of dark/light tabs. The speech bubble backspace button was changed to a normal backspace icon and integrated into the number display. The number buttons were changed to circles despite everything else in the OS being a rounded rectangle (at least the text was vertically aligned this time). The company also fixed the unbalanced "one," "star," and "pound" keys from Milestone 5.
Tapping on the number display in Android 0.9 would start a call. This was important, as it was a big step in getting rid of the hardware "Call" and "End" keys on Android devices. The incoming call screen, on the other hand, went in the complete opposite direction and removed the on-screen “Answer" and “Decline" buttons present in Android 0.5. Google would spend the next few versions fumbling around between needing and not needing hardware call buttons on certain screens. With Android 2.0 and the Motorola Droid, though, call buttons were finally made optional.
All of the options for the in-call screen were hidden under the menu button. Milestone 5 didn't support a proximity sensor, so it took the brute force route of disabling the touch screen during a call. 0.9 was developed for the G1, which had a proximity sensor. Finally, Google didn't have to kill the touch sensor during a call.
![The individual contacts screen and edit contacts screen for Android 0.9 and 0.5.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/CONTACTS.png)
The individual contacts screen and edit contacts screen for Android 0.9 and 0.5.
Photo by Ron Amadeo
Milestone 5 had confusing labels for some contact information, like e-mail only being labeled "primary" instead of something like “primary e-mail." Android 0.9 corrected this with horizontal headers for each section. There were now action icons for each contact type on the left side, too.
The edit contact screen was now a much busier place. There were delete buttons for every field, per-contact ringtones, an on-screen "more info" button for adding fields, a checkbox to send calls directly to voicemail, and "Save and "discard changes" buttons at the bottom of the list. Functionally, it was a big improvement over the old version, but it still looked very messy.
----------
![Ron Amadeo](http://cdn.arstechnica.net/wp-content//uploads/authors/ron-amadeo-sq.jpg)
[Ron Amadeo][a] / Ron is the Reviews Editor at Ars Technica, where he specializes in Android OS and Google products. He is always on the hunt for a new gadget and loves to rip things apart to see how they work.
[@RonAmadeo][t]
--------------------------------------------------------------------------------
via: http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/4/
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://www.tat.se/
[a]:http://arstechnica.com/author/ronamadeo
[t]:https://twitter.com/RonAmadeo

View File

@ -1,3 +1,5 @@
alim0x translating
The history of Android
================================================================================
![The main alarm screen, setting an alarm, the calculator, and the calculator advanced functions screen.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/calclockonpresszx.png)
@ -85,4 +87,4 @@ via: http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-histor
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://arstechnica.com/author/ronamadeo
[t]:https://twitter.com/RonAmadeo
[t]:https://twitter.com/RonAmadeo

View File

@ -1,117 +0,0 @@
disylee来占坑~~
Top 10! Fun On The Command Line
================================================================================
**If you just love making 'top 10'-type lists but are a little embarrassed to say so, tell people you're passionate about data exploration. To impress them even more, explain that you do your data exploration on the command line. But don't ruin the impression by telling them how easy that is!**
In this article I'll do some data exploration with basic GNU/Linux tools and 'one-column tables', by which I mean simple lists. For more information on the commands used here, see their Linux 'man' pages, or ask for an explanation in the 'Comments' section.
### Passwords ###
The first list to explore is Mark Burnett's 2011 compilation of the [10000 most commonly used passwords][1]. The list is ordered most-frequent-first, and is one source of the widely known factoid that 'password' is the most commonly used password, with '123456' in second place. Here I've put the list in a file called passwords, and used the head command to show the first 10 lines:
![](http://thelinuxrain.com/content/01-articles/67-top-10-fun-on-the-command-line/1.png)
(Burnett explains how he collects his passwords [here][2]. Note that he converted all uppercase letters to lowercase in his list.)
OK, so 'password' is top of the Burnett list. What about individual digits?
![](http://thelinuxrain.com/content/01-articles/67-top-10-fun-on-the-command-line/2.png)
Interesting. The digit '1' appears in the password list more than twice as often as the next most-used digit, '2', and the 10 digits are in numerical as well as popularity order, except for 0 and 9. And the top 10 letters?
![](http://thelinuxrain.com/content/01-articles/67-top-10-fun-on-the-command-line/3.png)
The most frequent letters in the passwords file are EARONISTLC. That's not too far off EAIRTONSLC, which is the frequency pattern in at least [one published table][3] of letter usage in common English words. Does this mean that most passwords are actually common English words, maybe with a few digits thrown in?
To find out, I'll first convert passwords to a list of letters-only strings, then see how many of those strings are in an English dictionary.
First I'll delete all the digits in passwords with a **sed** command, then delete all the punctuation marks, then all the blank lines. This creates a list of letters-only passwords. Then I'll prune that list with **sort** and **uniq** to get rid of any duplicates. (For example, 'abc1234def' and 'abc1!2!3!def!' both reduce to 'abcdef'.) According to the wc command, my pruning reduces the 10000 passwords to 8583 letters-only strings:
![](http://thelinuxrain.com/content/01-articles/67-top-10-fun-on-the-command-line/4.png)
For a handy English dictionary I'll use the file `usr/share/dict/american-english`, which came with my Debian Linux distribution. It contains 99171 words. I'll first convert this wordlist to lowercase-only with the **tr** command, then delete any duplicate entries with **sort** and **uniq** (like 'A' and 'a' both becoming 'a'). That reduces the wordlist to 97723 entries:
![](http://thelinuxrain.com/content/01-articles/67-top-10-fun-on-the-command-line/5.png)
I can now ask the comm command with the '-23' option to compare the two lists and report just the words in the letters-only file that are not found in the dictionary:
![](http://thelinuxrain.com/content/01-articles/67-top-10-fun-on-the-command-line/6.png)
The total is 3137, so at least 8583 - 3137 = 5446 'core' passwords in Burnett's lowercase-only list (about 63%) are either plain English words, or plain English words with some digits or punctuation marks added. I wrote at least because a big proportion of the 3137 strings are only slight modifications of plain English words or names, or words or names missing from the /usr/share dictionary. Among the LA's, for example, are 'labtec', 'ladyboy', 'lakeside', 'lalakers', 'lalala', 'laserjet', 'lasvegas', 'lavalamp' and 'lawman'.
### Placenames ###
In a previous [Linux Rain article][4], I described how I built a table of Australian placenames with more than 370 000 entries. Using it, I can now answer vital questions like 'Is Round Hill the most popular name for hills in Australia?' and 'Is Sandy Beach tops for beaches, and Rocky Creek for creeks?'
The placename field in the gazetteer table is number 2, so here goes:
![](http://thelinuxrain.com/content/01-articles/67-top-10-fun-on-the-command-line/7.png)
Wow. I wasn't even close. (But note how I saved typing by using the **^string1^string2** command. It repeats the last command, but substitutes string2 for string1. Wonderful BASH trick!)
Another burning question is how many placenames there are with 'Mile' in them, like 'Six Mile Creek', and how they rank:
![](http://thelinuxrain.com/content/01-articles/67-top-10-fun-on-the-command-line/8.png)
I've noticed a lot of Dead Horse Creeks in my Australian travels, and so has the gazetteer:
![](http://thelinuxrain.com/content/01-articles/67-top-10-fun-on-the-command-line/9.png)
### Species ###
The third list to explore comes from a table I published this year of new Australian insect species named in the period 1961-2010. From the table I've pulled out all the 'species epithets', which are the second parts of genus-species combinations like Homo sapiens (you and me) and Apis mellifera (European honeybee).
(Tech note: The insects table, which is available from the open data Zenodo repository at [https://zenodo.org/record/10481][5], includes subspecies. For my 'top 10' exercise I first isolated all the unique genus-species combinations, to avoid duplication from subspecies like Apis mellifera iberica, Apis mellifera intermissa, etc. The final species file has 18155 species epithets.)
Most people who make jokes about scientific names use the '-us' ending, as in 'Biggus buggus'. What about entomologists? There are a couple of good, command-line ways to get the last 2 letters of a string, and here I've used both:
![](http://thelinuxrain.com/content/01-articles/67-top-10-fun-on-the-command-line/10.png)
Yep, entomologists prefer '-us', too. Next, I wonder how many species are named for my home State of Tasmania? (Below I ask head for the first 100 lines to make sure I get all the 'tasman' combinations.)
![](http://thelinuxrain.com/content/01-articles/67-top-10-fun-on-the-command-line/11.png)
How about Queensland?
![](http://thelinuxrain.com/content/01-articles/67-top-10-fun-on-the-command-line/12.png)
And generally speaking, what are the top 10 names in that insect species list?
![](http://thelinuxrain.com/content/01-articles/67-top-10-fun-on-the-command-line/13.png)
Hmm. Apart from the obvious 'australis' and 'australiensis', and the geographical 'occidentalis' (of the west), the other 7 epithets in the 10-most-popular list have been created by entomologists to honour other entomologists. (The epithet 'commoni' honors the Australian butterfly and moth specialist Ian F.B. Common, 1917-2006.)
### Speechifying ###
The commands used above work on simple lists. To make a simple list out a block of text, the command line is again your friend. For example, I've saved a rather filibustery [speech][6] in the Australian Senate on 16 July 2014 as the text file hansard. To split hansard into a list of words:
![](http://thelinuxrain.com/content/01-articles/67-top-10-fun-on-the-command-line/14.png)
And to look at word frequency in the speech:
![](http://thelinuxrain.com/content/01-articles/67-top-10-fun-on-the-command-line/15.png)
### Coming soon... ###
Doing 'top 10' and other rankings from multi-column tables requires a few more command-line tools. I'll demonstrate their use in a future article.
--------------------------------------------------------------------------------
via: http://thelinuxrain.com/articles/top-10-fun-on-the-command-line
原文作者Bob Mesibov(Bob Mesibov is Tasmanian, retired and a keen Linux tinkerer.)
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:https://xato.net/passwords/more-top-worst-passwords/#.U8eD13AvDy0
[2]:https://xato.net/passwords/how-i-collect-passwords/#.U8eEdnAvDy0
[3]:http://www.rinkworks.com/words/letterfreq.shtml
[4]:http://www.thelinuxrain.com/articles/building-a-gazetteer-table-from-kml-files
[5]:https://zenodo.org/record/10481
[6]:http://parlinfo.aph.gov.au/parlInfo/search/display/display.w3p;db=CHAMBER;id=chamber%2Fhansards%2F232fa1a8-d7e8-4b22-9018-1a99b5a96812%2F0025;query=Id%3A%22chamber%2Fhansards%2F232fa1a8-d7e8-4b22-9018-1a99b5a96812%2F0000%22

View File

@ -1,46 +0,0 @@
Vic020
Check Hard drive for bad sectors or bad blocks in linux
================================================================================
**badblocks** is the command or utility in linux like operating system which can **scan** or test our **hard disk** and **external drive** for **bad sectors**. Bad sectors or **bad blocks** is the space of the disk which can't be used due to the **permanent damage** or OS is unable to access it.
Badblocks command will detect all **bad blocks(bad sectors)** on our hard disk and save them in a text file so that we can use it with **e2fsck** to configure Operating System(OS) to not store our data on these damaged sectors.
### Step:1 Use fdisk command to identify your hard drive info ###
# sudo fdisk -l
### Step:2 Scan your hard drive for Bad Sectors or Bad Blocks ###
# sudo badblocks -v /dev/sdb > /tmp/bad-blocks.txt
Just replace “/dev/sdb” with your own hard disk / partition. When we execute above command a text file “bad-blocks” will be created under /tmp , which will contains all bad blocks.
Example :
![](http://www.linuxtechi.com/wp-content/uploads/2014/08/badblocks.png)
### Step:3 Inform OS not to use bad blocks for storing data ###
Once the scanning is completed , if the bad sectors are reported , then use file “bad-blocks.txt” with e2fsck command and force OS not to use these bad blocks for storing data.
# sudo e2fsck -l /tmp/bad-blocks.txt /dev/sdb
Note : Before running e2fsck command , you just make sure the drive is not mounted.
For any futher help on badblocks & e2fsck command , read their man pages
# man badblocks
# man e2fsck
--------------------------------------------------------------------------------
via: http://www.linuxtechi.com/check-hard-drive-for-bad-sector-linux/
作者:[Pradeep Kumar][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://www.linuxtechi.com/author/pradeep/

View File

@ -0,0 +1,77 @@
Check how much do you type with WhatPulse on Linux
================================================================================
![](http://cdn.linuxaria.com/wp-content/uploads/2014/08/whatpulse.png)
If, like me, you are a statistics freak you must install this small application on all your computers: [WhatPulse][1]
The software tracks a users pressed keys, mouse clicks and used [bandwidth][2] and the uptime of the system. Periodically, or by hand, the user can upload to the server the number of keystrokes made; this is called “pulsing”.
Users can see where they are in a leaderboard of people who have joined the program and compare themselves against people from their own countries. Users can also join teams, which enables them to compare themselves against people with similar interests (Go Linux Users !!).
There is a basic, and free, version where you can easily see and check all the basic statistics and a premium account where you can see some more stats.
The software is available for Linux, Windows and Mac.
### Registration on the website ###
As first step you have to register your account on the [WhatPulse Website][1] or as alternative when you first start the WhatPulse client there is a practical wizard through which each user has the option to create an account to upload their own statistics (you can also log in with Facebook).
You will be prompted to login, once you login, you have to search for your computers name, this is because you can login to several computers with this and theyll all collectively go to the same statistic count. Once youve logged in, a small W will appear in your system tray, thats it, your set up!
### Installation of WhatPulse on Linux ###
The official website offer on the [download page][3] a generic version distributed via a .tar.gz archive (available for 32 and 64 bit) and a debian package.
Personally Ive installed the debian package on my Mint Qiana and the [Aur Package][4] on My Arch Linux, no problems at all.
If you want to go with the generic installation please keep in mind that WhatPulse requires several libraries to function. Mainly Qt, because WhatPulse is built on Qt. Heres a list of requirements:
- libQtCore
- libQtWebKit
- libqt4-sql
- libqt4-sql-sqlite
- openssl-devel (libssl-dev)
- libQtScript
#### Input Statistics ####
The client needs permissions to be allowed to read your keyboard/mouse input. Run the included interactive .sh script to set up these permissions.
#### [Network][5] Statistics ####
To enable the network measurements, you also need the package **libpcap** to allow WhatPulse to hook into the network traffic. If WhatPulse does not find libpcap, it will run but it will not display any network statistics.
![](http://cdn.linuxaria.com/wp-content/uploads/2014/08/heatmap.png)
### Using the Application ###
By default WhatPulse will start automatically at the login of your graphical session and clicking on the W on your systray youll go to the Overview tab that gives a birds-eye view of all the different information gathered about your machine, for instance, the Linux version installed on your PC, processor model, RAM, GPU, total click counts, keystrokes and bandwidth usage. Clicking Pulse under these information will upload the gathered data to the main server.
Its also possible to select when automatically Pulse the data to the server, such as every 50.000 clicks or 1 GB downloaded.
For further details, you can switch to each categorys pertaining tab. For example, the Input tab shows you the amount of key strokes and clicks your PC has registered during a certain time period. The time period can be sorted on a daily, weekly, monthly, yearly and all-time basis. The all setting will show stats since the program was installed.
Below the keystrokes, youll find the keyboard heat map, which basically uses light and warm colors to shows what keys were used more than others during the selected time period, as shown in the screenshot above. Below that, the app displays the total amount of clicks registered in the selected period.
Under the Network tab, its possible to view the daily Internet usage. The application can monitor bandwidth usage of all the network devices, and even shows you bandwidth usage by country. Once again, you can navigate between available data using the arrow buttons at the top-right.
On the website youll see the sum of all your computer statistics with the same information available on the client.
Disclaimer: The link above to the WhatPulse website contains my referral link, using it when you register will give me a premium account for some time.
--------------------------------------------------------------------------------
via: http://linuxaria.com/recensioni/check-how-much-do-you-type-with-whatpulse-on-linux
作者:[linuxari][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:https://plus.google.com/100563597940685405833?rel=author
[1]:http://whatpulse.org/ref/833872/
[2]:http://linuxaria.com/article/tool-command-line-bandwidth-linux
[3]:http://www.whatpulse.org/downloads/
[4]:https://aur.archlinux.org/packages/whatpulse/
[5]:http://linuxaria.com/tag/network

View File

@ -0,0 +1,68 @@
Disable / Password Protect Single User Mode / RHEL / CentOS / 5.x / 6.x
================================================================================
Hello All,
If you have not protected Single User Mode with Password then it is big risk for your Linux Server, So protecting Single User Mode with Password is very important when it comes to security,
Today in this article i will show you how you can protect Single User Mode with Password on RHEL / CentOS 5.x and RHEL / CentOS 6.x.
Please execute given commands carefully else your system will not boot properly. First i would request you to read full procedure and then try to follow. Do it at your own risk :-)
![Password Protect](http://www.tejasbarot.com/wp-content/uploads//password-300x140.jpg)
Password Protect
### 1. For RHEL / CentOS 5.x ###
#### 1.1 Before doing anything please take backup of your /etc/inittab ####
cp /etc/inittab /etc/inittab.backup
**To Disable and Make Single User Mode Password Protected, Execute below command as root :-**
[root@tejas-barot-linux ~]$ sed -i '1i su:S:wait:/sbin/sulogin'
**So It will look like below**
su:S:wait:/sbin/sulogin
# Default runlevel. The runlevels used by RHS are:
# 0 - halt (Do NOT set initdefault to this)
# 1 - Single user mode
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)
# 3 - Full multiuser mode
# 4 - unused
# 5 - X11
# 6 - reboot (Do NOT set initdefault to this)
#
id:3:initdefault:
*NOTE: If you do not want to use sed command then You can always add “su:S:wait:/sbin/sulogin” at top in /etc/inittab*
### 2. For RHEL / CentOS 6.x ###
#### 2.1 Before doing anything please take backup of your /etc/inittab ####
cp /etc/sysconfig/init /etc/sysconfig/init.backup
#### 2.2 To Disable and Make Single User Mode Password Protected, Execute below command as root :- ####
[root@tejas-barot-linux ~]$#sed -i 's/SINGLE=\/sbin\/sushell/SINGLE=\/sbin\/sulogin/' /etc/sysconfig/init
**So It will look like below**
SINGLE=/sbin/sulogin
*NOTE :- If you do not want to use sed command then You can always change to “SINGLE=/sbin/sulogin” in /etc/sysconfig/init*
Enjoy Linux :) Enjoy Open Source
--------------------------------------------------------------------------------
via: http://www.tejasbarot.com/2014/05/05/disable-password-protect-single-user-mode-rhel-centos-5-x-6-x/#axzz39oGCBRuX
作者:[Tejas Barot][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:https://plus.google.com/+TejasBarot

View File

@ -0,0 +1,38 @@
Linux FAQs with Answers--How to check the last time system was rebooted on Linux
================================================================================
> **Question**: Is there a way to quickly check how long a Linux system has been running? That is, how can I find out the last time a Linux system was rebooted?
There are several ways to find out the last system reboot time,
### Method One ###
The first method is to use last command.
$ last reboot
![](https://farm4.staticflickr.com/3925/14881994335_041e9c2f86_z.jpg)
This command actually shows system uptime for the last few days. Originally the last command is designed to show login history of a particular user. In Linux, a special "pseudo user" named reboot automatically logs in to the system right after the system has rebooted. Thus by checking the login history of reboot user, you can check the last reboot time.
### Method Two ###
Another command to check the time of last system boot is to use who command with '-b' option.
$ who -b
### Method Three ###
You can also use uptime command to deduce last reboot time. The uptime command shows you the current time, as well as how long the system has been running. From this information, you can calculate the time when the system was last booted.
$ uptime
![](https://farm4.staticflickr.com/3915/14881660192_58f2843969_o.png)
--------------------------------------------------------------------------------
via: http://ask.xmodulo.com/check-last-time-system-rebooted-linux.html
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -0,0 +1,172 @@
How to set up a USB network printer and scanner server on Debian
================================================================================
Suppose you want to set up a Linux print server in your home/office network, but you only have USB printers available (as they are much cheaper than printers that have a built-in Ethernet jack or wireless ones). In addition, what if one of those devices is an AIO (All In One), and you also want to share its incorporated scanner over the network? In this article, I'll show you how to install and share a USB AIO (Epson CX3900 inkjet printer and scanner), a USB laser printer (Samsung ML-1640), and a PDF printer as the "cherry on top" - all in a GNU/Linux Debian 7.2 [Wheezy] server.
Even though these printers are somewhat old (I bought the Epson AIO in 2007 and the laser printer in 2009), I believe that what I learned through the installation process can well be applied to newer models of the same brands and others: some drivers are available as precompiled .deb packages, while others can be installed directly from the repositories. After all, it's the underlying principles that matter.
### Prerequisites ###
To setup a network printer and scanner, we will be using [CUPS][1], which is an open-source printing system for Linux / UNIX / OSX.
# aptitude install cups cups-pdf
**Troubleshooting tip**: Depending on the state of your system (this issue can happen most likely after a failed manual install of a package or a misinstalled dependency), the front-end package management system may prompt you to uninstall a lot of packages in an attempt to resolve current dependencies before installing cups and cups-pdf. If this happens to be the case, you have two options:
1) Install the packages via another front-end package management system, such as apt-get. Note that this is not entirely advisable since it will not fix the current issue.
2) Run the following command: aptitude update && aptitude upgrade. This will fix the issue and upgrade the packages to their most recent version at the same time.
### Configuring CUPS ###
In order to be able to access the CUPS web interface, we need to do at least a minimum edit to the cupsd.conf file (server configuration file for CUPS). Before proceeding, however, let's make a backup copy of cupsd.conf:
# cp cupsd.conf cupsd.conf.bkp
and edit the original file (only the most relevant sections are shown):
- **Listen**: Listens to the specified address and port or domain socket path.
- **Location /path**: Specifies access control for the named location.
- **Order**: Specifies the order of HTTP access control (allow,deny or deny,allow). Order allow,deny means that the Allow rules have precedence over (are processed before) the Deny rules.
- **DefaultAuthType** (also valid for **AuthType**): Specifies the default type of authentication to use. Basic refers to the fact that the /etc/passwd file is used to authenticate users in CUPS.
- **DefaultEncryption**: Specifies the type of encryption to use for authenticated requests.
- **WebInterface**: Specifies whether the web interface is enabled.
# Listen for connections from the local machine
Listen 192.168.0.15:631
# Restrict access to the server
<Location />
Order allow,deny
Allo 192.168.0.0/24
</Location>
# Default authentication type, when authentication is required
DefaultAuthType Basic
DefaultEncryption IfRequested
# Web interface setting
WebInterface Yes
# Restrict access to the admin pages
<Location /admin>
Order allow,deny
Allow 192.168.0.0/24
</Location>
Now let's restart CUPS to apply the changes:
# service cups restart
In order to allow another user (other than root) to modify printer settings, we must add him / her to the lp (grants access to printer hardware and enables the user to manage print jobs) and lpadmin (owns printing preferences) groups as follows. Disregard this step if this is not necessary or desired in your current network setup.
# adduser xmodulo lp
# adduser xmodulo lpadmin
![](https://farm4.staticflickr.com/3873/14705919960_9a25101098_o.png)
### Configuring a Network Printer via CUPS Web Interface ###
1. Launch a web browser and open the CUPS interface, available at http://<Server IP>:Port, which in our case means http://192.168.0.15:631:
![](https://farm4.staticflickr.com/3878/14889544591_284015bcb5_z.jpg)
2. Go to the **Administration** tab and click on *Add printer*:
![](https://farm4.staticflickr.com/3910/14705919940_fe0a08a8f7_o.png)
3. Choose your printer; in this case, **EPSON Stylus CX3900 @ debian (Inkjet Inkjet Printer)**, and click on **Continue**:
![](https://farm6.staticflickr.com/5567/14706059067_233fcf9791_z.jpg)
4. It's time to name the printer and indicate whether we want to share it from the current workstation or not:
![](https://farm6.staticflickr.com/5570/14705957499_67ea16d941_z.jpg)
5. Install the driver - Select the brand and click on **Continue**.
![](https://farm6.staticflickr.com/5579/14889544531_77f9f1258c_o.png)
6. If the printer is not supported natively by CUPS (not listed in the next page), we will have to download the driver from the manufacturer's web site (e.g., [http://download.ebz.epson.net/dsc/search/01/search/?OSC=LX][2]) and return to this screen later.
![](https://farm4.staticflickr.com/3896/14706058997_e2a2214338_z.jpg)
![](https://farm4.staticflickr.com/3874/14706000928_c9dc74c80e_z.jpg)
![](https://farm4.staticflickr.com/3837/14706058977_e494433068_o.png)
7. Note that this precompiled .deb file must be sent somehow to the printer server (for example, via sftp or scp) from the machine that we used to download it (of course this could have been easier if we had a direct link to the file instead of the download button):
![](https://farm6.staticflickr.com/5581/14706000878_f202497d0a_z.jpg)
8. Once we have placed the .deb file in our server, we will install it:
# dpkg -i epson-inkjet-printer-escpr_1.4.1-1lsb3.2_i386.deb
**Troubleshooting tip**: If the lsb package (a standard core system that third-party applications written for Linux can depend upon) is not installed, the driver installation will not succeed:
![](https://farm4.staticflickr.com/3840/14705919770_87e5803f95_z.jpg)
We will install lsb and then attempt to install the printer driver again:
# aptitude install lsb
# dpkg -i epson-inkjet-printer-escpr_1.4.1-1lsb3.2_i386.deb
9. Now we can return to step #5 and install the printer:
![](https://farm6.staticflickr.com/5569/14705957349_3acdc26f91_z.jpg)
### Configuring a Network Scanner ###
Now we will proceed to configure the printer server to share a scanner as well. First, install [xsane][3] which is a frontend for [SANE][4]: Scanner Access Now Easy.
# aptitude install xsane
Next, let's enable the saned service by editing the /etc/default/saned file:
# Set to yes to start saned
RUN=yes
Finally, we will check whether saned is already running (most likely not - then we'll start the service and check again):
# ps -ef | grep saned | grep -v grep
# service saned start
### Configuring a Second Network Printer ###
With CUPS, you can configure multiple network printers. Let's configure an additional printer via CUPS: Samsung ML-1640, which is a USB laser printer.
The splix package contains the drivers for monochrome (ML-15xx, ML-16xx, ML-17xx, ML-2xxx) and color (CLP-5xx, CLP-6xx) Samsung printers. In addition, the detailed information about the package (available via aptitude show splix) indicates that some rebranded Samsungs like the Xerox Phaser 6100 work with this driver.
# aptitude install splix
Then we will install the printer itself using the CUPS web interface, as explained earlier:
![](https://farm4.staticflickr.com/3872/14705957329_4f38a94867_o.png)
### Installing the PDF Printer ###
Next, let's configure PDF printer on the printer server, so that you can convert documents into PDF format from client computers.
Since we already installed the cups-pdf package, the PDF printer was installed automatically, which can be verified through the web interface:
![](https://farm6.staticflickr.com/5558/14705919650_bc1a1e0b43_z.jpg)
When the PDF printer is selected, documents will be written to a configurable directory (by default to ~/PDF), or can be further manipulated by a post-processing command.
In the next article, we'll configure a desktop client to access these printers and scanner over the network.
--------------------------------------------------------------------------------
via: http://xmodulo.com/2014/08/usb-network-printer-and-scanner-server-debian.html
作者:[Gabriel Cánepa][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://www.gabrielcanepa.com.ar/
[1]:https://www.cups.org/
[2]:http://download.ebz.epson.net/dsc/search/01/search/?OSC=LX
[3]:http://www.xsane.org/
[4]:http://www.sane-project.org/

View File

@ -0,0 +1,282 @@
How to Extend/Reduce LVMs (Logical Volume Management) in Linux Part II
================================================================================
Previously we have seen how to create a flexible disk storage using LVM. Here, we are going to see how to extend volume group, extend and reduce a logical volume. Here we can reduce or extend the partitions in Logical volume management (LVM) also called as flexible volume file-system.
![Extend/Reduce LVMs in Linux](http://www.tecmint.com/wp-content/uploads/2014/08/LVM_extend.jpg)
### Requirements ###
- [Create Flexible Disk Storage with LVM Part I][1]
注:两篇都翻译完了的话,发布的时候将这个链接做成发布的中文的文章地址
#### When do we need to reduce volume? ####
May be we need to create a separate partition for any other use or we need to expand the size of any low space partition, if so we can reduce the large size partition and we can expand the low space partition very easily by the following simple easy steps.
#### My Server Setup Requirements ####
- Operating System CentOS 6.5 with LVM Installation
- Server IP 192.168.0.200
### How to Extend Volume Group and Reduce Logical Volume ###
#### Logical Volume Extending ####
Currently, we have One PV, VG and 2 LV. Lets list them one by one using following commands.
# pvs
# vgs
# lvs
![Logical Volume Extending](http://www.tecmint.com/wp-content/uploads/2014/08/Logical-Volume-Extending.jpg)
Logical Volume Extending
There are no free space available in Physical Volume and Volume group. So, now we cant extend the lvm size, for extending we need to add one physical volume (**PV**), and then we have to extend the volume group by extending the **vg**. We will get enough space to extend the Logical volume size. So first we are going to add one physical volume.
For adding a new **PV** we have to use fdisk to create the LVM partition.
# fdisk -cu /dev/sda
- To Create new partition Press **n**.
- Choose primary partition use **p**.
- Choose which number of partition to be selected to create the primary partition.
- Press **1** if any other disk available.
- Change the type using **t**.
- Type **8e** to change the partition type to Linux LVM.
- Use **p** to print the create partition ( here we have not used the option).
- Press **w** to write the changes.
Restart the system once completed.
![Create LVM Partition](http://www.tecmint.com/wp-content/uploads/2014/08/Create-LVM-Partition.jpg)
Create LVM Partition
List and check the partition we have created using fdisk.
# fdisk -l /dev/sda
![Verify LVM Partition](http://www.tecmint.com/wp-content/uploads/2014/08/Verify-LVM-Partition.jpg)
Verify LVM Partition
Next, create new **PV** (Physical Volume) using following command.
# pvcreate /dev/sda1
Verify the pv using below command.
# pvs
![Create Physical Volume](http://www.tecmint.com/wp-content/uploads/2014/08/Create-Physical-Volume.jpg)
Create Physical Volume
#### Extending Volume Group ####
Add this pv to **vg_tecmint** vg to extend the size of a volume group to get more space for expanding **lv**.
# vgextend vg_tecmint /dev/sda1
Let us check the size of a Volume Group now using.
# vgs
![Extend Volume Group](http://www.tecmint.com/wp-content/uploads/2014/08/Extend-Volume-Group.jpg)
Extend Volume Group
We can even see which **PV** are used to create particular Volume group using.
# pvscan
![Check Volume Group](http://www.tecmint.com/wp-content/uploads/2014/08/Check-Volume-Group.jpg)
Check Volume Group
Here, we can see which Volume groups are under Which Physical Volumes. We have just added one pv and its totally free. Let us see the size of each logical volume we have currently before expanding it.
![Check All Logical Volume](http://www.tecmint.com/wp-content/uploads/2014/08/Check-Each-Logical-Volume.jpg)
Check All Logical Volume
- LogVol00 defined for Swap.
- LogVol01 defined for /.
- Now we have 16.50 GB size for / (root).
- Currently there are 4226 Physical Extend (PE) available.
Now we are going to expand the / partition **LogVol01**. After expanding we can list out the size as above for confirmation. We can extend using GB or PE as I have explained it in LVM PART-I, here Im using PE to extend.
For getting the available Physical Extend size run.
# vgdisplay
![Check Available Physical Size](http://www.tecmint.com/wp-content/uploads/2014/08/Check-Available-Physical-Extend.jpg)
Check Available Physical Size
There are **4607** free PE available = **18GB** Free space available. So we can expand our logical volume up-to **18GB** more. Let us use the PE size to extend.
# lvextend -l +4607 /dev/vg_tecmint/LogVol01
Use **+** to add the more space. After Extending, we need to re-size the file-system using.
# resize2fs /dev/vg_tecmint/LogVol01
![Expand Logical Volume](http://www.tecmint.com/wp-content/uploads/2014/08/Expand-Logical-Volume.jpg)
Expand Logical Volume
- Command used to extend the logical volume using Physical extends.
- Here we can see it is extended to 34GB from 16.51GB.
- Re-size the file system, If the file-system is mounted and currently under use.
- For extending Logical volumes we dont need to unmount the file-system.
Now lets see the size of re-sized logical volume using.
# lvdisplay
![Resize Logical Volume](http://www.tecmint.com/wp-content/uploads/2014/08/Resize-Logical-Volume.jpg)
Resize Logical Volume
- LogVol01 defined for / extended volume.
- After extending there is 34.50GB from 16.50GB.
- Current extends, Before extending there was 4226, we have added 4607 extends to expand so totally there are 8833.
Now if we check the vg available Free PE it will be 0.
# vgdisplay
See the result of extending.
# pvs
# vgs
# lvs
![Verify Resize Partition](http://www.tecmint.com/wp-content/uploads/2014/08/Verify-Resize-Partition.jpg)
Verify Resize Partition
- New Physical Volume added.
- Volume group vg_tecmint extended from 17.51GB to 35.50GB.
- Logical volume LogVol01 extended from 16.51GB to 34.50GB.
Here we have completed the process of extending volume group and logical volumes. Let us move towards some interesting part in Logical volume management.
#### Reducing Logical Volume (LVM) ####
Here we are going to see how to reduce the Logical Volumes. Everyone say its critical and may end up with disaster while we reduce the lvm. Reducing lvm is really interesting than any other part in Logical volume management.
- Before starting, it is always good to backup the data, so that it will not be a headache if something goes wrong.
- To Reduce a logical volume there are 5 steps needed to be done very carefully.
- While extending a volume we can extend it while the volume under mount status (online), but for reduce we must need to unmount the file system before reducing.
Lets wee what are the 5 steps below.
- unmount the file system for reducing.
- Check the file system after unmount.
- Reduce the file system.
- Reduce the Logical Volume size than Current size.
- Recheck the file system for error.
- Remount the file-system back to stage.
For demonstration, I have created separate volume group and logical volume. Here, Im going to reduce the logical volume **tecmint_reduce_test**. Now its 18GB in size. We need to reduce it to **10GB** without data-loss. That means we need to reduce **8GB** out of **18GB**. Already there is **4GB** data in the volume.
18GB ---> 10GB
While reducing size, we need to reduce only 8GB so it will roundup to 10GB after the reduce.
# lvs
![Reduce Logical Volume](http://www.tecmint.com/wp-content/uploads/2014/08/Reduce-Logical-Volume.jpg)
Reduce Logical Volume
Here we can see the file-system information.
# df -h
![Check File System Size](http://www.tecmint.com/wp-content/uploads/2014/08/Check-File-System-Size.jpg)
Check File System Size
- The size of the Volume is 18GB.
- Already it used upto 3.9GB.
- Available Space is 13GB.
First unmount the mount point.
# umount -v /mnt/tecmint_reduce_test/
![Unmount Parition](http://www.tecmint.com/wp-content/uploads/2014/08/Unmount-Parition.jpg)
Unmount Parition
Then check for the file-system error using following command.
# e2fsck -ff /dev/vg_tecmint_extra/tecmint_reduce_test
![Scan Parition for Errors](http://www.tecmint.com/wp-content/uploads/2014/08/Scan-Parition-for-Errors.jpg)
Scan Parition for Errors
**Note**: Must pass in every 5 steps of file-system check if not there might be some issue with your file-system.
Next, reduce the file-system.
# resize2fs /dev/vg_tecmint_extra/tecmint_reduce_test 8GB
![Reduce File System](http://www.tecmint.com/wp-content/uploads/2014/08/Reduce-File-System.jpg)
Reduce File System
Reduce the Logical volume using GB size.
# lvreduce -L -8G /dev/vg_tecmint_extra/tecmint_reduce_test
![Reduce Logical Partition](http://www.tecmint.com/wp-content/uploads/2014/08/Reduce-Logical-Volume-Partition.jpg)
Reduce Logical Partition
To Reduce Logical volume using PE Size we need to Know the size of default PE size and total PE size of a Volume Group to put a small calculation for accurate Reduce size.
# lvdisplay vg_tecmint_extra
Here we need to do a little calculation to get the PE size of 10GB using bc command.
1024MB x 10GB = 10240MB or 10GB
10240MB / 4PE = 2048PE
Press **CRTL+D** to exit from BC.
![Calculate PE Size](http://www.tecmint.com/wp-content/uploads/2014/08/bc-command.jpg)
Calculate PE Size
Reduce the size using PE.
# lvreduce -l -2048 /dev/vg_tecmint_extra/tecmint_reduce_test
![Reduce Size Using PE](http://www.tecmint.com/wp-content/uploads/2014/08/Reduce-Size-Using-PE.jpg)
Reduce Size Using PE
Re-size the file-system back, In this step if there is any error that means we have messed-up our file-system.
# resize2fs /dev/vg_tecmint_extra/tecmint_reduce_test
![Resize File System](http://www.tecmint.com/wp-content/uploads/2014/08/Resize-File-System.jpg)
Mount the file-system back to same point.
# mount /dev/vg_tecmint_extra/tecmint_reduce_test /mnt/tecmint_reduce_test/
![Mount File System](http://www.tecmint.com/wp-content/uploads/2014/08/Mount-File-System.jpg)
Mount File System
Check the size of partition and files.
# lvdisplay vg_tecmint_extra
Here we can see the final result as the logical volume was reduced to 10GB size.
![Verify Logical Volume Size](http://www.tecmint.com/wp-content/uploads/2014/08/Verify-Logical-Volume-Size.jpg)
In this article, we have seen how to extend the volume group, logical volume and reduce the logical volume. In the next part (Part III), we will see how to take a Snapshot of logical volume and restore it to earlier stage.
--------------------------------------------------------------------------------
via: http://www.tecmint.com/extend-and-reduce-lvms-in-linux/
作者:[Babin Lonston][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://www.tecmint.com/author/babinlonston/
[1]:http://www.tecmint.com/create-lvm-storage-in-linux/

View File

@ -0,0 +1,111 @@
How to remove file metadata on Linux
================================================================================
A typical data file often has associated "metadata" which is descriptive information about the file, represented in the form of a set of name-value pairs. Common metadata include creator's name, tools used to generate the file, file creation/update date, location of creation, editing history, etc. EXIF (images), RDF (web resources), DOI (digital documents) are some of popular metadata standards.
While metadata has its own merits in data management fields, it can actually affect your privacy [adversely][1]. EXIF data in photo images can reveal personally identifiable information such as your camera model, GPS coordinate of shooting, your favorite photo editor software, etc. Metadata in documents and spreadsheets contain author/affiliation information and other editing history. Not to be paranoid, but metadata gathering tools such as [metagoofil][2] are often exploited during information gathering stage as part of penetration testing.
For those of you who want to strip any personalizing metadata from any shared data, there are ways to remove metadata from data files. You can use existing document or image editor software which typically have built-in metadata editing capability. In this tutorial, let me introduce a nice standalone **metadata cleaner tool** which is developed for a single goal: **anonymize all metadata for your privacy**.
[MAT][3] (Metadata Anonymisation Toolkit) is a dedicated metadata cleaner written in Python. It was developed under the umbrella of the Tor project, and comes standard on [Tails][4], privacy-enhanced live OS.
Compared to other tools such as [exiftool][5] which can write to only a limited number of file types, MAT can eliminate metadata from all kinds of files: images (png, jpg), documents (odt, docx, pptx, xlsx, pdf), archives (tar, tar.bz2), audio (mp3, ogg, flac), etc.
### Install MAT on Linux ###
On Debian-based systems (Ubuntu or Linux Mint), MAT comes packaged, so installation is straightforward:
$ sudo apt-get install mat
On Fedora, MAT does not come as a pre-built package, so you need to build it from the source. Here is how I built MAT on Fedora (with some limited success; see the bottom of the tutorial):
$ sudo yum install python-devel intltool python-pdfrw perl-Image-ExifTool python-mutagen
$ sudo pip install hachoir-core hachoir-parser
$ wget https://mat.boum.org/files/mat-0.5.tar.xz
$ tar xf mat-0.5.tar.xz
$ cd mat-0.5
$ python setup.py install
### Anonymize Metadata with MAT-GUI ###
Once installed, MAT can be accessible via GUI as well as from the command line. To launch MAT's GUI, simply type:
$ mat-gui
Let's clean up a sample document file (e.g., private.odt) which has the following metadata embedded.
![](https://farm6.staticflickr.com/5588/14694815240_22eced1f94_z.jpg)
To add the file to MAT for cleanup, click on "Add" icon. Once the file is loaded, click on "Check" icon to scan for any hidden metadata information.
![](https://farm4.staticflickr.com/3874/14694958067_00694d9d1f_z.jpg)
Once any metadata is detected by MAT, "State" will be marked as "Dirty". You can double click the file to see detected metadata.
![](https://farm4.staticflickr.com/3861/14694815160_cda63bb8d8_z.jpg)
To clean up metadata from the file, click on "Clean" icon. MAT will automatically empty all private metadata fields from the file.
![](https://farm6.staticflickr.com/5554/14694815220_40918f680f_z.jpg)
The cleaned up state is without any personally identifiable traces:
![](https://farm6.staticflickr.com/5591/14881486215_83808b6aaf_z.jpg)
### Anonymize Metadata from the Command Line ###
As mentioned before, another way to invoke MAT is from the command line, and for that, use mat command.
To check for any sensitive metadata, first go to the directory where your files are located, and then run:
$ mat -c .
It will scan all files in the current directory and its sub directories, and report their state (clean or unclean).
![](https://farm6.staticflickr.com/5564/14878449991_cf9d605e6d_o.png)
You can check actual metadata detected by using '-d' option:
$ mat -d <input_file>
![](https://farm6.staticflickr.com/5558/14901361173_0e587329f5_z.jpg)
If you don't supply any option with mat command, the default action is to remove metadata from files. If you want to keep a backup of original files during cleanup, use '-b' option. The following command cleans up all files, and stores original files as '*.bak" files.
$ mat -b .
![](https://farm6.staticflickr.com/5591/14694850169_1cf7562657_z.jpg)
To see a list of all supported file types, run:
$ mat -l
![](https://farm6.staticflickr.com/5588/14901361153_e59ab7b684_z.jpg)
### Troubleshooting ###
Currently I have the following issue with a compiled version of MAT on Fedora. When I attempt to clean up archive/document files (e.g., *.gz, *.odt, *.docx) on Fedora, MAT fails with the following error. If you know how to fix this problem, let me know in the comment.
File "/usr/lib64/python2.7/zipfile.py", line 305, in __init__
raise ValueError('ZIP does not support timestamps before 1980')
ValueError: ZIP does not support timestamps before 1980
### Conclusion ###
MAT is a simple, yet extremely useful tool to prevent any inadvertent privacy leaks from metadata. Note that it is still your responsibility to anonymize file content, if necessary. All MAT does is to eliminate metadata associated with your files, but does nothing with the files themselves. In short, MAT can be a life saver as it can handle most common metadata removal, but you shouldn't rely solely on it to guarantee your privacy.
--------------------------------------------------------------------------------
via: http://xmodulo.com/2014/08/remove-file-metadata-linux.html
作者:[Dan Nanni][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://xmodulo.com/author/nanni
[1]:http://www.theguardian.com/world/2013/sep/30/nsa-americans-metadata-year-documents
[2]:http://code.google.com/p/metagoofil/
[3]:https://mat.boum.org/
[4]:https://tails.boum.org/
[5]:http://xmodulo.com/2013/08/view-or-edit-pdf-and-image-metadata-from-command-line-on-linux.html

View File

@ -0,0 +1,354 @@
Setup Flexible Disk Storage with Logical Volume Management (LVM) in Linux PART 1
================================================================================
**Logical Volume Management (LVM)** makes it easier to manage disk space. If a file system needs more space, it can be added to its logical volumes from the free spaces in its volume group and the file system can be re-sized as we wish. If a disk starts to fail, replacement disk can be registered as a physical volume with the volume group and the logical volumes extents can be migrated to the new disk without data loss.
![Create LVM Storage in Linux](http://www.tecmint.com/wp-content/uploads/2014/07/Create-Logical-Volume-Storage.jpg)
Create LVM Storage in Linux
In a modern world every Server needs more space day by day for that we need to expand depending on our needs. Logical volumes can be use in RAID, SAN. A Physical Disk will be grouped to create a volume Group. Inside volume group we need to slice the space to create Logical volumes. While using logical volumes we can extend across multiple disks, logical volumes or reduce logical volumes in size with some commands without reformatting and re-partitioning the current disk. Volumes can stripes data across multiple disks this can increase the I/O stats.
### LVM Features ###
- It is flexible to expand the space at any time.
- Any file systems can be installed and handle.
- Migration can be used to recover faulty disk.
- Restore the file system using Snapshot features to earlier stage. etc…
#### My Server Setup Requirements ####
- Operating System CentOS 6.5 with LVM Installation
- Server IP 192.168.0.200
### Creating LVM Disk Storage in Linux ###
**1. **Weve used CentOS 6.5 Operating system using LVM in a Virtual Disk (VDA). Here we can see the Physical Volume (PV), Volume Group (VG), Logical Volume (LV) by using following command.
# pvs
# vgs
# lvs
![Check Physical Volumes](http://www.tecmint.com/wp-content/uploads/2014/07/Create-Logical-Volume-Storage-03.jpg)
Check Physical Volumes
Here, is the description of each parameters shown in above screenshot.
- Physical Disk Size (PV Size)
- Disk which used was Virtual Disk vda.
- Volume Group Size (VG Size)
- Volume Group name (vg_tecmint)
- Logical Volume name (LogVol00, LogVol01)
- LogVol00 Assigned for sawp with 1GB Size
- LogVol01 Assigned for / with 16.5GB
So, from here we come to know that there is not enough free space in VDA disk.
**2. **For Creating a **New Volume Group**, we need to add Additional **3 hard disks** in this server. It is not Compulsory to use 3 Drives just 1 is Enough to create a new **VG** and **LV** inside that vg, I am adding more here for demonstration purpose and for more feature command explanations.
Following are the disks I have added additionally.
sda, sdb, sdc
----------
# fdisk -l
![Verify Added Disks](http://www.tecmint.com/wp-content/uploads/2014/07/Create-Logical-Volume-Storage-04.jpg)
Verify Added Disks
- Default Disk using for Operating system (Centos6.5).
- Partitions defined in default Disk (vda1 = swap), (vda2 = /).
- Additionally added Disks are mentioned as Disk1, Disk2, Disk3.
Each and every Disks are 20 GB in Size. Default PE Size of a Volume Group is 4 MB, Volume group what we are using in this server is configured using default PE.
![Volume Group Display](http://www.tecmint.com/wp-content/uploads/2014/07/Create-Logical-Volume-Storage-05.jpg)
Volume Group Display
- **VG Name** A Volume Group name.
- **Format** LVM Architecture Used LVM2.
- **VG Access** Volume Group is in Read and Write and ready to use.
- **VG Status** Volume Group can be re-sized, We can Expand more if we need to add more space.
- **Cur LV** Currently there was 2 Logical volumes in this Volume Group.
- **CurPV and Act PV** Currently Using Physical Disk was 1 (vda), And its active, so what we can use this volume group.
- **PE Size** Physical Extends, Size for a disk can be defined using PE or GB size, 4MB is the Default PE size of LVM. For example, if we need to create 5 GB size of logical volume we can use sum of 1280 PE, Dont you understand what Im saying ?.
Here the Explanation > 1024MB = 1GB, if so 1024MB x 5 = 5120PE = 5GB, Now Divide the 5120/4 = 1280, 4 is the Default PE Size.
- Total PE This Volume Group have.
- Alloc PE Total PE Used, full PE already Used, 4482 x 4PE = 17928.
- Free PE Here its already used so there was no free PE.
**3. **Only vda used, Currently Centos Installed **/boot, /, swap,** in vda physical disk using lvm there were no space remaining in this disk.
# df -TH
![Check the Disk Space](http://www.tecmint.com/wp-content/uploads/2014/07/Create-Logical-Volume-Storage-06.jpg)
Check the Disk Space
Above image shows the mount Point we are using **18GB** fully used for root, so there is no free space available.
**4. **So lets, create new physical volume (**pv**), Volume Group (**vg**) in the name of **tecmint_add_vg** and create Logical Volumes (**lv**) in it, Here we can create 4 Logical Volumes in the name of **tecmint_documents**, **tecmint_manager** and **tecmint_public**.
We can extend the Volume Group of currently using VG to get more space. But here, what we are going to do is to Create new Volume Group and play around it, later we can see how to extend the file systems Volume group which is currently in use.
Before using a new Disk we need to partition the disk using fdisk.
# fdisk -cu /dev/sda
- **c** Switch off DOS-compatible mode it is Recommend to include this Option.
- **u** While listing the partition tables it will give us in sector instead of cylinder.
![Create New Physical Partitions](http://www.tecmint.com/wp-content/uploads/2014/07/Create-Logical-Volume-Storage-07.jpg)
Create New Physical Partitions
Next, follow the below steps to create new partition.
- Choose **n** to create new.
- Choose **p** to create a primary partition.
- Choose which number of partition we need to create.
- Press **Enter** twice to use the full space of the Disk.
- We need to change the type of newly created partition type **t**.
- Which number of partition need to change, choose the number which we created its **1**.
- Here we need to change the type, we need to create LVM so we going to use the type code of LVM as 8e, if we do not know the type code Press **L** to list all type codes.
- Print the Partition what we created to just confirm.
- Here we can see the ID as 8e LINUX LVM.
- Write the changes and exit fdisk.
Do the above steps for other 2 disks sdb and sdc to create new partitions. Then Restart the machine to verify the partition table using fdisk command.
# fdisk -l
![Verify Partition Table](http://www.tecmint.com/wp-content/uploads/2014/07/Create-Logical-Volume-Storage-08.jpg)
Verify Partition Table
### Creating Physical Volumes ###
**5. **Now, its time to create Physical Volumes using all 3 disks. Here, I have listed the physical disk using pvs command, only one default **pvs** is now listed.
# pvs
Then create the new physical disks using command.
# pvcreate /dev/sda1 /dev/sdb1 /dev/sdc1
Once again list the disk to see the newly created Physical disks.
# pvs
![Create Physical Volumes](http://www.tecmint.com/wp-content/uploads/2014/07/Create-Logical-Volume-Storage-09.jpg)
Create Physical Volumes
### Creating Volume Groups ###
**6. **Create Volume Group in the name of **tecmint_add_vg** using available free PV Create using PE size 32. To Display the current volume groups, we can see there is one volume group with 1 PV using.
# vgs
This will create the volume group using 32MB PE size in the name of **tecmint_add_vg** using 3 Physical volumes we created in last steps.
# vgcreate -s 32M tecmint_add_vg /dev/sda1 /dev/sdb1 /dev/sdc1
Next, verify the volume group by running vgs command again.
# vgs
![Create Volume Groups](http://www.tecmint.com/wp-content/uploads/2014/07/Create-Logical-Volume-Storage-10.jpg)
Create Volume Groups
![Verify Volume Groups](http://www.tecmint.com/wp-content/uploads/2014/07/Create-Logical-Volume-Storage-11.jpg)
Verify Volume Groups
Understanding vgs command output:
- Volume Group name.
- Physical Volumes used in this Volume Group.
- Shows free space available in this volume group.
- Total Size of the Volume Group.
- Logical Volumes inside this volume group, Here we have not yet created so there is 0.
- SN = Number of Snapshots the volume group contains. (Later we can create a snapshot).
- Status of the Volume group as Writeable, readable, resizeable, exported, partial and clustered, Here it is wznthat means w = Writable, z = resizeable..
- Number of Physical Volume (PV) used in this Volume Group.
**7. **To Display more information about volume group use command.
# vgs -v
![Check Volume Group Information](http://www.tecmint.com/wp-content/uploads/2014/07/Create-Logical-Volume-Storage-12.jpg)
Check Volume Group Information
**8. **To get more information about newly created volume groups, run the following command.
# vgdisplay tecmint_add_vg
![List New Volume Groups](http://www.tecmint.com/wp-content/uploads/2014/07/Create-Logical-Volume-Storage-13.jpg)
List New Volume Groups
- Volume group name
- LVM Architecture used.
- It can be read and write state, ready to use.
- This volume group can be resizeable.
- No of Physical disk used and they are active.
- Volume Group total size.
- A Single PE size was 32 here.
- Total number of PE available in this volume group.
- Currently we have not created any LV inside this VG so its totally free.
- UUID of this volume group.
### Creating Logical Volumes ###
**9. **Now, ceate 3 Logical Volumes in the name of **tecmint_documents**, **tecmint_manager** and **tecmint_public**. Here, we can see how to Create Logical Volumes Using PE size and Using GB Size. First, list the Current Logical Volumes using following command.
# lvs
![List Current Volume Groups](http://www.tecmint.com/wp-content/uploads/2014/07/Create-Logical-Volume-Storage-14.jpg)
List Current Volume Groups
**10. **These Logical Volumes are in **vg_tecmint** Volume Group. List and see how much free spaces are there to create logical volumes using **pvs** command.
# pvs
![Check Free Space](http://www.tecmint.com/wp-content/uploads/2014/07/Create-Logical-Volume-Storage-15.jpg)
Check Free Space
**11. **Volume group size is **54GB** and its unused, So we can Create LV in it. Let us divide volume group to equal size to create 3 Logical Volumes. That means **54GB**/3 = **18GB**, A single Logical Volume will be 18GB in Size after Creation.
#### Method 1: Creating Logical Volumes using PE Sizes ####
First let us create Logical Volumes Using Physical Extends (PE) size. We need to know Default PE size assigned for this Volume Group and Total PE available to create new Logical Volumes, Run the command to get the info using.
# vgdisplay tecmint_add_vg
![Create New Logical Volume](http://www.tecmint.com/wp-content/uploads/2014/07/Create-Logical-Volume-Storage-16.jpg)
Create New Logical Volume
- Default PE Assigned for this VG is 32MB, Here Single PE size will be 32MB.
- Total Available PE is 1725.
Just do and see a little Calculation using bc command.
# bc
----------
1725PE/3 = 575 PE.
575 PE x 32MB = 18400 --> 18GB
![Calculate Disk Space](http://www.tecmint.com/wp-content/uploads/2014/07/Create-Logical-Volume-Storage-17.jpg)
Calculate Disk Space
Press **CRTL+D** to Exit from **bc**. Let us now Create 3 Logical Volumes using 575 PEs.
# lvcreate -l (Extend size) -n (name_of_logical_volume) (volume_group)
# lvcreate -l 575 -n tecmint_documents tecmint_add_vg
# lvcreate -l 575 -n tecmint_manager tecmint_add_vg
# lvcreate -l 575 -n tecmint_public tecmint_add_vg
- -**l** Creating using Extent Size
- -**n** Give a Logical Volume name.
List the Created Logical Volumes using lvs command.
# lvs
![List Created Logical Volumes](http://www.tecmint.com/wp-content/uploads/2014/07/Create-Logical-Volume-Storage-18.jpg)
List Created Logical Volumes
#### Method 2: Creating Logical Volumes using GB Sizes ####
While Creating Logical Volume using GB size we cannot get the exact size. So, the better way is to create using extend.
# lvcreate -L 18G -n tecmint_documents tecmint_add_vg
# lvcreate -L 18G -n tecmint_manager tecmint_add_vg
# lvcreate -L 18G -n tecmint_public tecmint_add_vg
# lvcreate -L 17.8G -n tecmint_public tecmint_add_vg
List the Created logical Volumes using lvs command.
# lvs
![Verify Created Logical Volumes](http://www.tecmint.com/wp-content/uploads/2014/07/Create-Logical-Volume-Storage-19.jpg)
Verify Created Logical Volumes
Here, we can see while creating 3rd LV we cant Round-up to 18GB, It is because of small changes in size, But this issue will be ignored while creating LV using Extend size.
### Creating File System ###
**12. **For using the logical volumes we need to format. Here I am using ext4 file-system to create the volumes and going to mount under **/mnt/**.
# mkfs.ext4 /dev/tecmint_add_vg/tecmint_documents
# mkfs.ext4 /dev/tecmint_add_vg/tecmint_public
# mkfs.ext4 /dev/tecmint_add_vg/tecmint_manager
![Create Ext4 File System](http://www.tecmint.com/wp-content/uploads/2014/07/Create-Logical-Volume-Storage-20.jpg)
Create Ext4 File System
**13. **Let us Create Directories in **/mnt** and Mount the Logical volumes what we have created file-system.
# mount /dev/tecmint_add_vg/tecmint_documents /mnt/tecmint_documents/
# mount /dev/tecmint_add_vg/tecmint_public /mnt/tecmint_public/
# mount /dev/tecmint_add_vg/tecmint_manager /mnt/tecmint_manager/
List and confirm the Mount point using.
# df -h
![Mount Logical Volumes](http://www.tecmint.com/wp-content/uploads/2014/07/Create-Logical-Volume-Storage-22.jpg)
Mount Logical Volumes
#### Permanent Mounting ####
Its now temporarily mounted, for permanent mount we need to add the entry in fstab, for that let us get the mount entry from mtab using
# cat /etc/mtab
We need to make slight changes in fstab entry while entering the mount entry contents copies from mtab, we need to change the rw to defaults
# vim /etc/fstab
Our fstab Entry want to be similar to below sample. Save and exit from fstab using wq!.
/dev/mapper/tecmint_add_vg-tecmint_documents /mnt/tecmint_documents ext4 defaults 0 0
/dev/mapper/tecmint_add_vg-tecmint_public /mnt/tecmint_public ext4 defaults 0 0
/dev/mapper/tecmint_add_vg-tecmint_manager /mnt/tecmint_manager ext4 defaults 0 0
![Get mtab Mount Entry](http://www.tecmint.com/wp-content/uploads/2014/07/Create-Logical-Volume-Storage-23.jpg)
Get mtab Mount Entry
![Open fstab File](http://www.tecmint.com/wp-content/uploads/2014/07/Create-Logical-Volume-Storage-24.jpg)
Open fstab File
![Add Auto Mount Entry](http://www.tecmint.com/wp-content/uploads/2014/07/Create-Logical-Volume-Storage-25.jpg)
Add Auto Mount Entry
Execute the command mount -a to check for the fstab entry before restart.
# mount -av
![Verify fstab Entry](http://www.tecmint.com/wp-content/uploads/2014/07/Create-Logical-Volume-Storage-26.jpg)
Verify fstab Entry
Here we have seen how to setup flexible storage with logical volumes by using physical disk to physical volume, physical volume to volume group, volume group to logical volumes.
In my upcoming future articles, I will see how to extend the volume group, logical volumes, reducing logical volume, taking snapshot and restore from snapshot. Till then stay updated to TecMint for more such awesome articles.
--------------------------------------------------------------------------------
via: http://www.tecmint.com/create-lvm-storage-in-linux/
作者:[Babin Lonston][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://www.tecmint.com/author/babinlonston/

View File

@ -0,0 +1,78 @@
How to manage a WiFi connection from the command line
================================================================================
Whenever you install a new Linux distribution on a computer, it is in general recommended that you connect to the internet via a wired connection. There are two main reasons for this: one, your wireless adapter may not have the right driver loaded; second, if you are installing from the command line, managing WiFi is scary. I always tried to avoid dealing with WiFi over the command line. But in the Linux world, there is no place for fear. If you do not know how to do something, that is the only reason you need to go ahead and learn it. So I forced myself to learn how to manage a WiFi connection from the command line on Linux.
There are of course multiple ways to connect to a WiFi from the command line. But for the sake of this post, and as an advice, I will try to use the most basic way: the one that uses programs and utilities included in the "default packages" of any distribution. Or at least I will try. An obvious reason for this choice is that the process can potentially be reproduced on any Linux computer. The downside is its relative complexity.
First, I will assume that you have the correct drivers loaded for your wireless LAN card. There is no way to start anything without that. And if you don't, you should take a look at the Wiki and documentation for your distribution.
Then you can check which interface supports wireless connections with the command
$ iwconfig
![](https://farm6.staticflickr.com/5578/14725621337_b174a3029c_z.jpg)
In general, the wireless interface is called wlan0. There are of course exceptions, but for the rest of this tutorial, I will call it that way.
Just in case, you should make sure that the interface is up with:
$ sudo ip link set wlan0 up
Once you know that your interface is operational, you should scan for nearby wireless networks with:
$ sudo iw dev wlan0 scan | less
![](https://farm4.staticflickr.com/3847/14909117931_e2f3d0feb0_z.jpg)
From the output, you can extract the name of the network (its SSID), its signal power, and which type of security it uses (e.g., WEP, WPA/WPA2). From there, the road splits into two: the nice and easy, and the slightly more complicated case.
If the network you want to connect to is not encrypted, you can connect straight to it with:
$ sudo iw dev wlan0 connect [network SSID]
If the network uses WEP encryption, it is also quite easy:
$ sudo iw dev wlan0 connect [network SSID] key 0:[WEP key]
But everything gets worse if the network uses WPA or WPA2 protocols. In this case, you have to use the utility called wpa_supplicant, which is not always included by default. You then have to modify the file at /etc/wpa_supplicant/wpa_supplicant.conf to add the lines:
network={
ssid="[network ssid]"
psk="[the passphrase]"
priority=1
}
I recommend that you append it at the end of the file, and make sure that the other configurations are commented out. Be careful that both the ssid and the passphrase are case sensitive. You can also technically put the name of the access point as the ssid, and wpa_supplicant will replace it with the proper ssid.
Once the configuration file is completed, launch this command in the background:
$ sudo wpa_supplicant -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf
Finally, whether you connected to an open or a secure network, you have to get an IP address. Simply use:
$ sudo dhcpcd wlan0
If everything goes well, you should get a brand new local IP via DHCP, and the process will fork in the background. If you want to be sure that you are connected, you can always check again with:
$ iwconfig
![](https://farm4.staticflickr.com/3904/14725573368_7110407db8_z.jpg)
To conclude, I think that getting over the first step is completely worth it. You never know when your GUI will be down, or when you cannot access a wired connection, so getting ready now seems very important. Also, as mentioned before, there are a lot of ways (e.g., NetworkManager, [wicd][1], [netcfg][2], [wifi][3]) to manage a wireless connection. If I try to stick to the most basic way, I know that in some cases, the utilities that I used may not even be available to you, and that you would have to download them prior to that. On the other side of the balance, there are some more advanced programs, which are definitely not included in the "default packages," which will greatly simplify the whole process. But as a general advice, it is good to stick to the basics at first.
What other ways would you recommend to connect via WiFi from the command line? Please let us know in the comments.
--------------------------------------------------------------------------------
via: http://xmodulo.com/2014/08/manage-wifi-connection-command-line.html
作者:[Adrien Brochard][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://xmodulo.com/author/adrien
[1]:http://wicd.sourceforge.net/
[2]:https://www.archlinux.org/netcfg/
[3]:https://github.com/rockymeza/wifi

View File

@ -0,0 +1,50 @@
有人知道 Apache Mesos 项目帮助 Mesosphere 公司从 Andreessen Horowitz 那里筹集了 1000 万美元吗?
================================================================================
![](http://thenewstack.io/wp-content/uploads/2014/04/clouds.jpg)
[Mesosphere][1],一家试图以鲜为人知的 Apache Mesos 项目为中心开展商业活动的公司,刚刚从 Andreessen Horowitz 那里获得了 1000 万美元投资。以下是为什么这个项目能够吸引如此巨款的原因。
事实上 Mesos 这款自动扩放软件在五年前就开发出来了。据 Mesosphere 的首席执行官及联合创始人 Florian Leibert 所述Mesos 已经在 Twitter 上被超过 50,000 的核心使用。同时 EBay, AirBnB, Netflix 还有 HubSpot 也是这款软件的使用者。
当那些互联网巨头发现发现 Mesos 的时候,这项技术却并不为大多数企业所知。但它确实可以满足一些公司试图在公共云采取技术措施,使得他们自己可以访问内部数据中心的需求。
Mesos 管理集群机器,根据需要自动扩放应用。它在每台机器上只依赖很少的软件 ———— 据 Leibert 所说,其处理器的占用为 0 并且几乎不消耗任何内存 ———— 会与一个主调度程序相协调。在其工作的每台机器上的该软件会向调度程序报告关于虚拟机或者服务器的容量信息,接着调度程序向目标机器分派任务。
“如果一项任务终断并且没有返回任何结果,在 Mesos 的协助下,管理员将重启该任务并能知道该任务在何处终断,” Mesosphere 的资深副总裁 Matt Trifiro 说。
Mesos 能自动扩放一系列的工作包括 Hadoop 数据库Ruby 运行干线上的节点,以及 Cassandra 。
使用 Mesos 使得 Hubspot 在 AWS(Amazon Web Services) 的账单上削减了一半的支出Liebert 说道。这是因为 Mesos 能够在目标机器之间有效地分配作业量的原因。
然而Mesos 更有可能应用于企业中去,这些企业试图实质地内部创建一个类 AWS 环境,一位来自 451 Research 的分析员 Jay Lyman 说。AWS 提供一些[自动扩放工具][3]。但大多数公司对于在公共云基础设施上运行所有东西还是感到不安。与此同时,他们并不企图阻止他们的开发者采用 AWS 那样的公共云中可用的优异性能。他们希望他们的私有云能集成这些可用的优点。
“如你所见AWS 风格的界面风格与守旧主义、命令、操控以及稳定性相融合,” Liebert 继续说道。
Mesos 既可以在一个私有云上也可以在 AWS 上运行,向企业提供最有效率地使用其内部云的方法,并在需要扩放时自动切换到 AWS 去。
但是,以某种角度观察 Mesos 也是有一些缺点的。它[并不能运行][4]任何 Windows 操作系统或者比较古老的应用比如说 SAP 软件。
不过Lyman 说,“假如一个团队拥有长时期使用云的经历,他们大概早就对 Linux 操作系统情有独钟了。”
在将来Mesosphere 能够支持 Windows 操作系统是很有可能的。最初,像 Puppet 和 Chef 这样的技术也只支持 Linux 操作系统Lyman 表示。“这预示了早期 Mesosphere 的特性。现在它还是不太成熟,” 他又说道。
Mesosphere 正瞄向大部分构建了与日俱增的运行于 Linux 操作系统的应用的企业,以及使用现代编程语言如同 Twitter 和 Netflix 这类刚成立不久还未具备 Mesos 这种技术的初代 Web 2.0 公司。“这是早期两类最常见的客户概况,” Trifiro 说。
年终之前Mesosphere 希望发布包含文档的商务产品通过技术支持与颁发许可证来获得收入。Mesosphere 已开发一款名为 Marathon 的大规模扩放编制工具,并且支持融入 Docker 中。它现在免费提供打包过的 Mesos 分发,希望以此占有未来的市场。
Mesosphere 同时也正在为少数早期的顾客工作。它帮助 HubSpot 实施有关 Mesos 的搭建。
Mesosphere 在这个领域并不唯一。RightscaleScalr 以及现在归 Dell 所有的 Enstratius全都提供了一些扩放或云管理技术的版本实例。Mesosphere 强调说其开发的技术 Mesos 在单独机器中创建服务器集群方面的表现远胜于市场上的其他同类软件。来自 Andreessen 的新投资一定会帮助 Meos 获得新生。
--------------------------------------------------------------------------------
via: http://thenewstack.io/little-known-apache-mesos-project-helps-mesosphere-raise-10m-from-andreessen/
译者:[SteveArcher](https://github.com/SteveArcher) 校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://mesosphere.io/
[2]:http://mesos.apache.org/
[3]:http://aws.amazon.com/autoscaling/
[4]:http://mesosphere.io/learn/

View File

@ -0,0 +1,38 @@
Lime Text: 一款可以替代 Sublime Text 的开源项目
================================================================================
![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/08/Lime_Text_Editor.jpeg)
[Sublime Text][1] 可能是为程序员准备的一个最好的尽管不是最最好的文本编辑器。Sublime 囊括了众多特色并且拥有很棒的界面外观,能够运行在所有的三大主流桌面操作系统,亦即 Windows, Mac 还有 Linux 之上。
但这并不表示 Sublime Text 是完美的。时常会出现 bug崩溃但却几乎没有任何技术支持。如果你注意到 Sublime Text 的开发过程,你就会发现此时 Sublime Text beta 版已经公开超过一年了却没有告知用户任何关于它的发行日期的确切信息。最重要的是Sublime Text 既不免费也不[开源][2]。
这一系列问题也使 [Fredrik Ehnbom][3] 感到沮丧,因此他在 [Github][5] 上发起了一个开源项目 [Lime Text][4],希望能开发出一款新的文本编辑器,其外观和工作方式完全与 Sublime Text 一致。在关于为什么他决定去“克隆”一款现有的文本编辑器这个问题上Frederic 说道:
> 因为没有一款我试过的其他文本编辑器能达到我对 Sublime Text 的喜爱程度,我决定了我不得不开发出我自己的文本编辑器。
Lime Text 后台用 Go 写成,前端则使用了 ermboxQt (QML) 及 HTML/JavaScript。开发过程正在进行中同时完全公布确切[目标][6]。你可以在它的 [Github 页面][7]为项目做贡献。
![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/08/LimeTextEditor.jpeg)
如果你想要尝试 beta 版本,你可以通过 [wiki][8] 的介绍搭建 Lime Text。同时如果你想找寻其他强大的文本编辑器的话试一试 [SciTE][9] 吧。
--------------------------------------------------------------------------------
via: http://itsfoss.com/lime-text-open-source-alternative/
作者:[bhishek][a]
译者:[SteveArcher](https://github.com/SteveArcher)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://itsfoss.com/author/Abhishek/
[1]:http://www.sublimetext.com/
[2]:http://itsfoss.com/category/open-source-software/
[3]:https://github.com/quarnster
[4]:http://limetext.org/
[5]:https://github.com/
[6]:https://github.com/limetext/lime/wiki/Goals
[7]:https://github.com/limetext/lime/issues
[8]:https://github.com/limetext/lime/wiki/Building
[9]:http://itsfoss.com/scite-the-notepad-for-linux/

View File

@ -0,0 +1,126 @@
10个调整让Ubuntu找到家的感觉
================================================================================
![](http://main.makeuseoflimited.netdna-cdn.com/wp-content/uploads/2014/08/ubuntu-home-840x420.jpg?15f1a2)
不久以前我提供给大家[12个调整Ubuntu的小建议][1]。 然而,从那以后多了一段时间了, 我们又提出了另外10个建议能够使你的Ubuntu找到家的感觉。
这10个建议执行起来十分简单方便那就让我们开始吧
### 安装 TLP ###
![](http://main.makeuseoflimited.netdna-cdn.com/wp-content/uploads/2014/01/tlp_stat.jpg?15f1a2)
[We covered TLP a while back][2], 这是一款优化电源设置的软件为了让你能享受到一个更长的电池寿命。之前我们深入的探讨过TLP 并且我们也在列表中提到这真是一个好东西。要安装它,在终端运行以下命令:
sudo add-apt-repository -y ppa:linrunner/tlp && sudo apt-get update && sudo apt-get install -y tlp tlp-rdw tp-smapi-dkms acpi-call-tools && sudo tlp start
上面的命令将添加必要的仓库更新包的列表以便它能包含被新仓库提供的包安装TLP并且开启这个服务。
### 系统负载指示器 ###
![](http://main.makeuseoflimited.netdna-cdn.com/wp-content/uploads/2014/07/ubuntu_tweak_systemload.jpg?15f1a2)
给你的Ubuntu桌面添加一个系统负载指示器能让你了解到你的系统资源被占用了多少。 如果你宁愿不在桌面上添加这个技术图表,那么可以不要添加它, 但是对于那些对这个感兴趣的人来说,这真是一个好的扩展。 你可以运行这个命令去安装它:
sudo apt-get install indicator-multiload
然后在Dash里面找到它并且打开。
### 天气指示器 ###
![](http://main.makeuseoflimited.netdna-cdn.com/wp-content/uploads/2014/07/ubuntu_tweak_weatherind.jpg?15f1a2)
Ubuntu过去提供内置的天气指示器 但是自从它切换到Gnome 3以后就不在默认提供了。代替地你需要安装一个独立的指示器。 你可以通过以下命令安装它:
sudo add-apt-repository -y ppa:atareao/atareao && sudo apt-get update && sudo apt-get install -y my-weather-indicator
这将添加另外一个仓库更新包的列表并且安装这个指示器。然后在Dash里面找到并开启它。
### 安装 Dropbox 或其他云存储解决方案 ###
![](http://main.makeuseoflimited.netdna-cdn.com/wp-content/uploads/2014/05/Dropbox-2.png?15f1a2)
我在我所有的Linux系统里面都安装过的一个东西就是Dropbox。没有它真的就找不到一个家的感觉主要是因为我所有经常使用的文件都储存在Dropbox中。安装Dropbox非常直截了当但是要花点时间执行一个简单的命令。 在开始之前你需要运行这个命令为了你能在系统托盘里看到Dropbox的图标
sudo apt-get install libappindicator1
然后你需要去Dropbox的下载页面接着安装你已下载的.deb文件。现在你的Dropbox应该已经运行了。
如果你有点讨厌Dropbox, 你也可以尝试使用Copy [或者OneDrive][3]。两者提供更多免费存储空间这是考虑使用他们的很大一个原因。比起OneDrive我更推荐使用Copy因为Copy能工作在所有的Linux发行版上。
### 安装Pidgin和Skype ###
![](http://main.makeuseoflimited.netdna-cdn.com/wp-content/uploads/2013/12/skype_linux_conversation.jpg?15f1a2)
和朋友们保持联系特别好,并且如果你使用即时通讯,那么你很幸运。 Pidgin和Skype在Linux都十分出色它们都能连接所有主要网络。安装Pidgin就像运行这个命令一样简单
sudo apt-get install pidgin
安装Skype也很简单 — 你仅仅需要去Skype的下载页面并且下载你Ubuntu12.04对应架构的.deb文件就可以了。
###移除键盘指示器 ###
![](http://main.makeuseoflimited.netdna-cdn.com/wp-content/uploads/2014/07/ubuntu_tweak_keyboard_indicator.jpg?15f1a2)
在桌面上显示键盘指示器可能让一些人很苦恼。对于讲英语的人来说它仅仅显示一个“EN”这可能是恼人的因为很多人不需要改变键盘布局或者被提醒他们正则使用英语。要移除这个指示器选择系统设置然后文本输入接着去掉“在菜单栏显示当前输入源”的勾。
>[译注]:国人可能并不适合这个建议。
### 回归传统菜单###
![](http://main.makeuseoflimited.netdna-cdn.com/wp-content/uploads/2014/07/ubuntu_tweak_classicmenu.jpg?15f1a2)
在Ubuntu切换到Unity之前它使用Gnome 2 作为默认的桌面环境。 这包含一个简单的菜单去访问已安装的应用,菜单包含的很多分类,比如: 游戏,办公, 互联网,等等。 你可以用另外一个简单的包找回这个“传统菜单” 。要安装它,运行这个命令:
sudo add-apt-repository -y ppa:diesch/testing && sudo apt-get update && sudo apt-get install -y classicmenu-indicator
### 安装Flash和Java ###
在之前的文章中我提到了安装解码器和Silverlight我应该也提到了Flash和Java是他们所需要的主要插件虽然他们有时可能忘了它们。要安装它们只需运行这个命令
sudo add-apt-repository -y ppa:webupd8team/java && sudo apt-get update && sudo apt-get install oracle-java7-installer flashplugin-installer
安装Java需要新增仓库因为Ubuntu不再包含它的专利版本大多数人为了最好的性能推荐使用这个版本而是使用开源的OpenJDK。
### 安装VLC ###
![](http://main.makeuseoflimited.netdna-cdn.com/wp-content/uploads/2014/07/ubuntu_tweaks_vlc.jpg?15f1a2)
默认的媒体播放器, Totem十分优秀但是它依赖很多独立安装的解码器才能很好的工作。我个人推荐你安装VLC媒体播放器 因为它包含所有解码器并且实际上它支持世界上每一种媒体格式。要安装它,仅仅需要运行如下命令:
sudo apt-get install vlc
### 安装PuTTY (或者不) ###
![](http://main.makeuseoflimited.netdna-cdn.com/wp-content/uploads/2014/07/ubuntu_tweaks_putty.jpg?15f1a2)
最近如果你出于SSH的需要而使用PuTTY你有两个选择为Linux安装PuTTY或者直接使用终端。如果你想使用终端安装PuTTY需要用到这个命令
sudo apt-get install putty
然而,并不需要直接安装它,因为你可以使用这个命令来连接任何远程主机。
ssh username@this.domain.here
用你想要连接的用户名来替换掉“username”然后用主机的直接域名或者IP地址替换掉“this.domain.here” 都可以。
### 你推荐如何调整? ###
补充了这10个调整你应该感觉你的Ubuntu真的找到了家的感觉这很容易重建或击溃你的Linux体验。有许多不同的方式去定制你自己的体验去让它更适合你的需要你只需要环顾自己并且找到你想要的东西
**你有什么调整和建议想和读者分享?**在评论中让我们知道吧!
*图片致谢: Home doormat Via Shutterstock*
--------------------------------------------------------------------------------
via: http://www.makeuseof.com/tag/10-tweaks-make-ubuntu-feel-like-home/
作者:[Danny Stieben][a]
译者:[guodongxiaren](https://github.com/guodongxiaren)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://www.makeuseof.com/tag/author/danny/
[1]:http://www.makeuseof.com/tag/11-tweaks-perform-ubuntu-installation/
[2]:http://www.makeuseof.com/tag/easily-increase-battery-life-tlp-linux/
[3]:http://www.makeuseof.com/tag/synchronize-files-ubuntu-onedrive/

View File

@ -0,0 +1,67 @@
恰当地管理开源,让软件更加安全
================================================================================
![作者 Bill Ledingham 是 Black Duck Software 公司的首席技术官CTO兼工程执行副总裁](http://www.linux.com/images/stories/41373/Bill-Ledingham.jpg)
Bill Ledingham 是 Black Duck Software 公司的首席技术官CTO兼工程执行副总裁。
越来越多的公司意识到,要想比对手率先开发出高质量具有创造性的软件,关键在于积极使用开源项目。软件版本更迭要求市场推广速度足够快,成本足够低,而仅仅使用商业源代码已经无法满足这些需求了。如果不能选择最合适的开源软件集成到自己的项目里,一些令人称道的点子怕是永无出头之日了。
然而,使用开源软件也要面对新的挑战。一方面,你的团队从开源软件中汲取力量变得更快更灵活,另一方面,开源代码在传播过程中是否经历了不可控修改、安全性该如何保障的问题也日益凸显了出来。
OpenSSL Heartbleed 漏洞已经证实。如果你不了解你的应用程序或者已发布的产品中到底运行着什么代码,那你就可能面临需要大量时间才能解决的潜在安全威胁。相反,如果对项目里什么地方使用了什么版本的开源组件都了如指掌,一旦遇到漏洞,响应速度和解决速度都会是千金不换的。
### 安全性藏在代码内部 ###
Heartbleed bug 让开发人员和企业知道了软件安全性有多重要。专利软件和开源软件哪个更安全?这场广泛受到关注的讨论并没有一个简单的结论。现实情况是,不论是专利软件还是开源软件,它们绝大部分都有缺陷,其中一些缺陷还威胁到软件的安全性。
如果开源软件被内部代码、专利代码引用了,那开发人员将不得不面对更复杂的安全性挑战。要是管理授权许可的手段再不恰当,那想追溯一段代码的来源和引用就得把相关人员全都牵连进来,难度必然急剧增加。
要想切实了解你软件的潜在漏洞,首先你得理解以下三件事儿:
1. 你的产品和应用程序里现在跑着什么代码?
2. 那些开发前期使用的代码,开发人员是从哪儿弄来的?
3. 开发后期使用了哪些组件,这些组件有哪些地方要在部署之前充分测试?
### 现状怎么样 ###
所有企业都应该对比常见漏洞数据库——比如美国国家标准与技术学会的[国家漏洞数据库][1]NVD——来检查他们的代码。NVD 等组织追踪并收集了各种安全漏洞的信息以及排名,这些数据可以协助企业确保代码及时更新,规避安全风险。
如果你从没对照漏洞数据库检查过你的代码,那你可有的忙了。好在我们有个可以利用这些数据库定期自动识别开源安全漏洞的[工具][2],这个工具还可以警示和追踪项目中使用的受影响的开源组件并提供必要的解决方案。
持续监控你的代码库能保证及时发现未知代码、了解代码来源、授权信息不会过时、安全漏洞一旦出现就能第一时间掌握并寻求解决方案。如果你的公司有详细的代码清单,你就能轻而易举地找到漏洞所在并及时修复,确保你的业务和客户不会面临危险。
### 预防未来的问题 ###
相当多开发人员青睐开源软件是因为开源软件易于获得且免费,他们不用为此再走采购流程。目前来看,尽管很多开源组织都有自己的使用策略或使用指引,他们却并没有强制使用者遵守,也没有追查使用者是否遵守。知道你的组织将会使用哪些开源代码、这些代码是否有授权、你的组织中什么地方引用了它们是非常重要的。
你知道你用了什么代码之后,就该好好整理它们了。你可以实现一个贯穿整个开发流程的管理框架,这样你可以掌握每段代码的详细信息,不用再在诸如代码更新了没有、什么时候更新的以及在哪儿更新的这类问题上浪费时间。手工管理这些信息不大可能,所以一流公司都使用自动化代码管理和审查工具。
虽然每个公司、每个开发团队都面临各不相同的问题,但实践证明下面几条安全管理经验对使用开源软件的任何规模的组织都有意义:
- **自动认证并分类** - 捕捉并追踪开源组件的相关属性,评估授权许可,自动扫描可能出现的安全漏洞,自动认证并归档。
-
- **维护最新代码的版本** - 评估代码质量,确保你的产品使用的是最新版本的代码。
-
- **评估代码** - 评估所有在使用的开源代码;审查代码安全性、授权许可、列出风险并予以解决。
-
- **确保代码合法** - 创建并实现开源政策,建立自动化合规检查流程确保开源政策、法规、法律责任等符合开源组织的要求。
### 关键是,要让管理流程运作起来 ###
随着软件飞速渗入各行各业,开放源代码将在创新发展的道路上扮演越来越重要的角色。为了规避安全问题给日益复杂的环境带来的风险,企业必须运行起一套管理其组织中开源代码使用情况的流程,构筑一个定期对照漏洞数据库检查代码并快速消除风险的流程。
*作者 Bill Ledingham 是 Black Duck Software 公司的首席技术官CTO兼工程执行副总裁。在这之前Bill 是 Verdasys 的首席技术官,领导信息和网络安全团队为全球顶尖的 2000 家公司和政府机构提供敏感信息的安全保障。 Bill 曾经与人合伙创办过四家公司,现在活跃于波士顿创业社区,作为 CommonAngels 的合作伙伴和投资人迄今已有 6 年历史。
--------------------------------------------------------------------------------
via: http://www.linux.com/news/software/applications/782953-how-to-achieve-better-security-by-proper-management-of-open-source
作者:[Bill Ledingham][a]
译者:[sailing](https://github.com/sailing)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://www.linux.com/community/forums/person/59656
[1]:http://nvd.nist.gov/
[2]:http://www.blackducksoftware.com/oss-logistics/secure

View File

@ -0,0 +1,75 @@
安卓编年史
================================================================================
![安卓0.9显示着横屏的主屏幕——后续一些版本无法实现的一个特性。](http://cdn.arstechnica.net/wp-content/uploads/2013/12/horizontal.png)
安卓0.9显示着横屏的主屏幕——后续一些版本无法实现的一个特性。
Ron Amadeo供图
尽管从功能上很难将模拟器和操作系统区分开但安卓0.9是第一个支持横屏显示的版本。更让人惊讶的是几乎所有东西都支持横屏模式在某些方面安卓0.9甚至做的比KitKat更好。在Kiakat中主屏幕和拨号被锁定为竖向并且无法旋转。但在安卓0.9这里对任何一个应用横向显示都不是问题。有谁知道怎么把Nexus 5从Kitkat升级到安卓0.9吗?)
截图同样显示了安卓0.9中的新的音量显示设计。它抛弃了在Milestone 3中初次登场的旧铃铛式控制界面。那是一个巨大的充满屏幕的界面。实际上安卓4.0的重新设计中让它变得更小了,但它仍然是个问题。(你想增加音量却因此没法看到视频了这种情况特别烦人。)
![新通知面板,抛弃了应用快捷方式并添加了顶部部分。](http://cdn.arstechnica.net/wp-content/uploads/2013/12/n09c2.png)
新通知面板,抛弃了应用快捷方式并添加了顶部部分。
Ron Amadeo供图
几乎每个安卓版本中的通知面板都有一定的调整安卓0.9也不例外。电池电量图标进行了重绘,变成了黑底绿色图标,其它的状态栏图标变为黑色,白色以及灰色。状态栏左侧部分明智地选择在通知面板打开的时候显示日期。
通知面板加入了一个新的顶部部分它能够显示运营商名称在模拟器里显示“安卓”以及一个巨大的写着“清除通知”的按钮它能够让你不用打开应用而彻底清除通知。应用程序图标被取消了替换为通知到达的时间“最新事件”文字被更换为简单的“通知”。面板的空白部分现在是灰色的而不是之前的白色底部的滑动条也进行了重新设计。上面两张图片的底部看起来并没有对齐但这是因为Milestone 5的通知面板在面板底部有一圈空白。安卓0.9的通知面板是完全直达底部边缘的。
![安卓0.9和0.5的浏览器,展现出新的无色彩菜单。](http://cdn.arstechnica.net/wp-content/uploads/2013/12/browser4c2.png)
安卓0.9和0.5的浏览器,展现出新的无色彩菜单。
Ron Amadeo供图
浏览器主页现在是加载一个真正的网站而不是像Milestone 5中那样的本地存储的假Google页面。Webkit的版本升至525.10但是看起来它似乎没法正确渲染更现代的Google.com搜索按钮。纵观安卓0.9Milestone 5中的菜单设计已经被抛弃取而代之的是重新设计的灰色图标。这些截图的区别十分的明显因为所有的颜色都被去除了。
“更趋向于”列表式的菜单变得更高了一点并且只是一个没有图标的列表而已。安卓0.9已经获得了其它搜索方式,这次是在浏览器菜单里。和主屏幕小部件,主屏幕菜单按钮,以及浏览器主页,它们共同组成了四个搜索框。谷歌从未隐藏它的主要业务是什么,就连在它的操作系统中也是这样。
![从左到右安卓0.9的浏览器缩放控件,页面内搜索界面,浏览器窗口,以及设置。](http://cdn.arstechnica.net/wp-content/uploads/2013/12/b4.png)
从左到右安卓0.9的浏览器缩放控件,页面内搜索界面,浏览器窗口,以及设置。
Ron Amadeo供图
安卓0.9带来了许多浏览器改进。谢天谢地缩放控件又能正常使用了,而且从疯狂的垂直控制变成了简单的加减按钮。谷歌做了个符合常识的决定,将缩放控制从屏幕中间移到了屏幕底部。在这些缩放控件中,安卓在一致性方面的努力显而易见。这些看起来是系统中唯一的圆形按钮。
安卓0.9中的新特性“页面内查找”会高亮显示页面内的关键词。但总的来说UI还是十分粗糙的——文本框比它应有的高度高了许多“完成”按钮带的勾选框对这个页面来说只是一种图标而已。“完成”基本上是个“关闭”按钮这意味着它也许应该是个右对齐的“X”按钮。
这个版本的系统没有设置界面但是浏览器最终还是有了自己的设置界面。它会有个桌面式选项的弹窗Javascript隐私和cookie保存的密码以及表单数据。甚至还有Google Gears整合还记得Google Gears吗
![拨号盘以及打开菜单的正在通话界面。](http://cdn.arstechnica.net/wp-content/uploads/2014/04/revisedcalls.jpg)
拨号盘以及打开菜单的正在通话界面。
Ron Amadeo供图
拨号和联系人在安卓0.9中实际上是同一个应用——两个图标只是打开不同的标签而已。将联系人像这样附到拨号盘表明了智能手机联系人的第一目的还是通话,不是短信,电子邮件,即时通讯或查找地址。最终谷歌还是会完全接受非传统的智能手机沟通,将联系人和拨号分为两个独立的应用程序。
Milestone 5中大多数拨号盘的缺陷在安卓0.9中得到了修复。“最小化”标签被一组正常的亮/暗标签替代。对话气泡式的退格键被替换为正常的退格图标并集成到了拨号数字显示界面。数字键变成了圆形尽管这个系统的其它东西是圆角矩形的至少这次文本是垂直对齐的。谷歌还修复了Milestone 5中“一”键“星”键和“井”键不平衡的问题。
在安卓0.9中点击显示的号码会开始一个通话。这是十分重要的因为这是摆脱安卓设备硬件实体“拨号”和“结束”键的一大步。另一方面来电界面却走的是完全相反的道路去除了在安卓0.5中显示于屏幕之上的“接听”和“拒绝”按键。谷歌会花上接下来几个版本的时间去摸索在特定的显示之下是否需要硬件实体拨号键。但是直到安卓2.0和摩托罗拉Droid面世实体拨号按钮才最终变成了可选选项。
来电界面的所有选项隐藏在目录按钮之后。Milestone 5不支持距离传感器所以它采取了简单粗暴的路线在通话过程中禁用触摸屏。安卓0.9为G1开发它有个距离传感器。最终谷歌没有在通话的时候禁用触摸传感器。
![安卓0.9和0.5中独立的联系人界面和联系人编缉界面。](http://cdn.arstechnica.net/wp-content/uploads/2013/12/CONTACTS.png)
安卓0.9和0.5中独立的联系人界面和联系人编缉界面。
Ron Amadeo供图
Milestone 5的一些联系人信息有令人困惑的标签像电子邮件只被打上“主要的”标签而不是“主电子邮箱”标签。安卓0.9用各部分的水平标题纠正了这个错误。而且现在左侧的每个联系人类型都有了手形图标Action icons
编缉联系人界面如今是个更加繁忙的地方。每个输入框都有删除按钮,特定联系人铃声,一个显示在屏幕上的“更多信息”按钮用来添加输入框,一个是否将通话直接发送到语音信箱的复选框,以及在列表底部的“保存”和“放弃修改”按钮。从功能上来说,相对于旧版本这是个巨大的进步,但它看起来仍然很混乱。
----------
![Ron Amadeo](http://cdn.arstechnica.net/wp-content//uploads/authors/ron-amadeo-sq.jpg)
[Ron Amadeo][a] / Ron是Ars Technica的评论编缉专注于安卓系统和谷歌产品。他总是在追寻新鲜事物还喜欢拆解事物看看它们到底是怎么运作的。
[@RonAmadeo][t]
--------------------------------------------------------------------------------
via: http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/4/
译者:[alim0x](https://github.com/alim0x) 校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://www.tat.se/
[a]:http://arstechnica.com/author/ronamadeo
[t]:https://twitter.com/RonAmadeo

View File

@ -1,111 +0,0 @@
How to check RPM package dependencies on Fedora, CentOS or RHEL
教你如何在Fedora,CentOS,RHEL中检查RPM包的依赖性
================================================================================
A typical RPM package on Red Hat-based systems requires all its dependent packages be installed to function properly.
For end users, the complexity of such RPM dependency is hidden by package managers (e.g., yum or DNF) during package install/upgrade/removal process. However, if you are a sysadmin or a RPM maintainer, you need to be well-versed in RPM dependencies to maintain run-time environment for the system or roll out up-to-date RPM specs.
我们都知道在基于红帽的Linux系统中一个RPM包需要把先将它依赖的其他包安装好才能正常的工作。对于终端用户RPM的安装、更新、删除中存在的依赖关系已经被工具透明化了如 yum或 DNF等)。但如果你是系统管理员或者RPM包的管理员你需要对RPM包中存在的依赖关系以及时更新、删除适当的包来保证系统的正常运行。
In this tutorial, I am going to show **how to check RPM package dependencies**. Depending on whether a package is installed or not, there are several ways to identify its RPM dependencies.
在本教程中,我将教大家**如何检查RPM包的依赖关系**无论这个包是否已经安装进操作系统中,我们都有一些办法来检查它们的依赖性。
### Method One ###
### 方法一 ###
One way to find out RPM dependencies for a particular package is to use rpm command. The following command lists all dependent packages for a target package.
使用RPM命令可以列出目标包所依赖的所有包如下
$ rpm -qR <package-name>
![](https://farm6.staticflickr.com/5512/14659620723_4a36970efc_o.png)
Note that this command will work only if the target package is already **installed**. If you want to check package dependencies for any **uninstalled** package, you first need to download the RPM package locally (no need to install it).
注意,这种方法只适用于**已安装**的包。如果你需要检查一个**未安装**包的依赖关系,你需要把这个包先下载到本地来。
To download a RPM package without installing it, use a command-line utility called `yumdownloader`. Install yumdownloader as follows.
对于已在本地但未安装的包,可以使用叫做'yumdownloader'的工具下面我们先安装yumdownloader
$ sudo yum install yum-utils
Now let's check RPM depenencies of a uninstalled package (e.g., tcpdump). First download the package in the current folder with yumdownloader:
现在我们来检查一个未安装的RPM包的依赖关系(本列使用 tcpdump)。首先我们使用yumdownloader把tcpdump的RPM包下载下来
$ yumdownloader --destdir=. tcpdump
Then use rpm command with "-qpR" options to list dependencies of the downloaded package.
然后再使用 "-qpR"参数显示该包的依赖关系。
# rpm -qpR tcpdump-4.4.0-2.fc19.i686.rpm
### Method Two ###
### 方法二 ###
You can also get a list of dependencies for a RPM package using repoquery tool. repoquery works whether or not a target package is installed. This tool is included in yum-utils package.
你可以使用repoquery工具来罗列包的依赖关系这个工具包含在yum-utils中。
$ sudo yum install yum-utils
To show all required packages for a particular package:
显示目标包所依赖的包:
$ repoquery --requires --resolve <package-name>
![](https://farm3.staticflickr.com/2935/14453103778_05db349b19_o.png)
For repoquery to work, your computer needs network connectivity since repoquery pulls information from Yum repositories.
为让repoquery正常的工作需要保持网络的畅通应为repoquery需要在Yum库中查找信息。
### Method Three ###
### 方法三 ###
The third method to show RPM package dependencies is to use rpmreaper tool.
Originally this tool is developed to clean up unnecessary packages and their dependencies on RPM-based systems.
rpmreaper has an ncurses-based intuitive interface for browsing installed packages and their dependency trees.
第三个方法是使用rpmreaper工具。这个工具本来是用作清理系统中无用以及它们所依赖的包rpmreaper有很直观的界面来展示已安装的包和它们依赖关系的树形图。
To install rpmrepater, use yum command. On CentOS, you need to [set up EPEL repo][1] first.
安装rpmrepater在CentOS中你需要先[设置好EPEL库][1]
$ sudo yum install rpmreaper
To browser RPM dependency trees, simply run:
只需运行rpmreaper就可以看到RPM包的依赖关系
$ rpmreaper
![](https://farm4.staticflickr.com/3838/14636456131_99a3c26945_z.jpg)
The rpmrepater interface will show you a list of all installed packages. You can navigate the list using up/down arrow keys.
Press "r" on a highlighted package to show its dependencies.
You can expand the whole dependency tree by recursively pressing "r" keys on individual dependent packages.
The "L" flag indicates that a given package is a "leaf", meaning that no other package depends on this package.
The "o" flag implies that a given package is in the middle of dependency chain.
Pressing "b" on such a package will show you what other packages require the highlighted package.
rpmrepater会向用户显示已安装包的列表你可以使用上/下箭头来滚动屏幕。
你可以在指定包上使用"r"键来显示其依赖关系,循环在指定包上按下"r"键可以展示出余下的信息。
"L"标志的意思是说这个包是一片“孤叶”,意思说说没有任何包依赖它。
"o"标志是说这个包是整个依赖链的中间部分。
按下"b"键会显示其他依赖于该包的其他包。
### Method Four ###
### 方法四 ###
Another way to show package dependencies on RPM-based systems
is to use rpmdep which is a command-line tool for generating a full package dependency graph of
any installed RPM package. The tool analyzes RPM dependencies, and produce partially ordered package lists from
topological sorting. The output of this tool can be fed into dotty graph visualization tool
to generate a dependency graph image.
还有一个办法是使用rpmdep工具rpmdep是一个命令行工具可以显示已安装包的完整包依赖关系图。该工具会分析RPM包的依赖性从完整的排完序
的拓扑图中摘取部分包的信息形成列表展示给用户。该工具的输出结果可以直接使用到Dotty可视化展示工具中去。
To install rpmdep and dotty on Fedora:
在Fedora中安装rpmdep和dotty
$ sudo yum install rpmorphan graphviz
To install the same tools on CentOS:
在CentOs中安装
$ wget http://downloads.sourceforge.net/project/rpmorphan/rpmorphan/1.14/rpmorphan-1.14-1.noarch.rpm
$ sudo rpm -ivh rpmorphan-1.14-1.noarch.rpm
$ sudo yum install graphviz
To generate and plot a dependency graph of a particular installed package (e.g., gzip):
生成包依赖的拓扑关系图:
$ rpmdep.pl -dot gzip.dot gzip
$ dot -Tpng -o output.png gzip.dot
![](https://farm4.staticflickr.com/3918/14453050980_53de4e8277_z.jpg)
So far in this tutorial, I demonstrate several ways to check what other packages a given RPM package relies on.
If you want to know more about .deb package dependencies for Debian-based systems,
you can refer to [this guide][2] instead.
教程到这个地方我们用到了几种办法来检查包的依赖关系。如果您想知道如何在居于Debian的系统中检查.deb的包依赖关系请阅读另外一篇[文档][2]
--------------------------------------------------------------------------------
via: http://xmodulo.com/2014/07/check-rpm-package-dependencies-fedora-centos-rhel.html
译者:[nd0104](https://github.com/nd0104) 校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://xmodulo.com/2013/03/how-to-set-up-epel-repository-on-centos.html
[2]:http://xmodulo.com/2013/07/how-to-check-package-dependencies-on-ubuntu-or-debian.html

View File

@ -0,0 +1,126 @@
Top 10! Fun On The Command Line
================================================================================
排名前10!在命令行中寻找乐趣
================================================================================
**如果你喜欢做排名前10'类型的列表但又有点不好意思这样说,那么告诉人们你热爱数据的探索。为了进一步打动他们们,向他们解释你在命令行间的数据探索。但是不要告诉他们这其实很容易,以免你的好形象就这样被毁灭了哦!**
在这篇文章中我将基于GNU/Linux工具和'一列的表格'来做一些数据探索,也就是我所说的简单列表。如若想在这里通过命令行查看更多的信息,请查看'man'页,或者在“注释”部分求解。
### 密码 ###
在第一个列表里探讨的是马克.伯内特2011著的关于[10000 个最常用的密码][1]汇编。这个列表是有序的、使用最频繁的也是广为人知的阶乘“密码”的最常用来源之一与“123456”并列排名第二。在这里我已经把一个所谓密码的文件列出来了并且使用head命令把排名前10的列出来了
![](http://thelinuxrain.com/content/01-articles/67-top-10-fun-on-the-command-line/1.png)
(伯内特解释他是如何手收集这些密码的[这里][2]。你会注意到在列表中他把所有大写字母都转换成小写的。)
OK所以'密码'是伯内特列表的顶部。那么个位数字呢?
![](http://thelinuxrain.com/content/01-articles/67-top-10-fun-on-the-command-line/2.png)
非常有趣的是!数字'1'出现在密码列表中多于是第二个最常用数字'2'的两倍以及10位数字在数值以及人气排序除了0和9。而排名前10的字母呢
![](http://thelinuxrain.com/content/01-articles/67-top-10-fun-on-the-command-line/3.png)
在密码文件中出现最频繁的字母依次是EARONISTLC.这个和EAIRTONSLC差不多也是一个频率模式图至少在 [one published table][3] 中最常适用的英语单词。这是否意味着,大部分密码其实是一些常见的英语单词呢,也许会参杂一些数字呢?
为了找到答案,我先把密码转换成一个纯字母字符串列表,然后看看有多少字符串是可以在英语词典中找到的。
首先我将通过 **sed**命令删除所有密码中的数字,然后删除所有的标点符号,再删除所有的空行。这将创建出一个纯字母的密码列表。然后我通过**sort** 和 **uniq**来修剪列表的排序,将重复项取出。(例如,'abc1234def'和'abc1!2!3!def!'都剔除剩下'abcdef'.) 。根据wc命令我把1000个密码减至成8583个纯字母的字符串
![](http://thelinuxrain.com/content/01-articles/67-top-10-fun-on-the-command-line/4.png)
我经常使用一本便携式的英语字典,我通常会使用`usr/share/dict/american-english`,这个文件是来自Debian Linux的一个发行版本。它包含了99171个单词。我会先通过**tr**命令将这个词表转换为纯小写的,然后使用**sort** 和 **uniq**删除掉人和重复的条目排序(例如'A' 和 'a' 都将成为 'a'。这样就将词表的数量减至97723项了
![](http://thelinuxrain.com/content/01-articles/67-top-10-fun-on-the-command-line/5.png)
我现在可以用通信命令带'-23'的参数来比较两个列表和报告中纯字母文件而没有出现在字典中的单词:
![](http://thelinuxrain.com/content/01-articles/67-top-10-fun-on-the-command-line/6.png)
总数是3137所以至少有8583 -3137 = 5446个'核心'密码在伯纳特的纯小写字母列表中大约63%是简单的英语单词或者是简单的单词附加一些数字或者标点符号。我之所以写至少是因为在3137个字符串中有很大比例是只有经过轻微修改的纯英语单词、名称、或者在/usr/share字典中未能找到的名称修改而成的。在LA项中例如'labtec', 'ladyboy', 'lakeside', 'lalakers', 'lalala', 'laserjet', 'lasvegas', 'lavalamp' and 'lawman'.
### Placenames ###
### 地名 ###
在之前的一篇[Linux Rain article][4],我描述了如何建立一张37万项澳大利亚的地名表。有了它我现在可以回答一些类似这样的关键问题“Round Hill是澳大利亚山脉中最流行的名字吗”和“桑迪是沙滩之最而岩溪峡谷呢
在地名表中地名字段的排名第2所以这里有
![](http://thelinuxrain.com/content/01-articles/67-top-10-fun-on-the-command-line/7.png)
哇。我当时甚至没有关闭。(但是请注意到我是如何通过**^string1^string2**命令保存打印的内容。它重复着最后一个命令但是用第2个字符串代替了第1个字符串。这是多门经常的BASH绝招
另一个亟待解决的问题是有多少地名有'Mile'在其中,例如'Six Mile Creek',而他们的排名又是如何:
![](http://thelinuxrain.com/content/01-articles/67-top-10-fun-on-the-command-line/8.png)
我在我的澳洲之旅发现有很多Dead Horse Creeks因此有这些地名
![](http://thelinuxrain.com/content/01-articles/67-top-10-fun-on-the-command-line/9.png)
### 种类 ###
第三个列表是探索我今年出版的1961-2010年期间澳大利亚新种类昆虫名。从这个列表中我去掉所有“物种的绰号”这也是种群组合的第二部分像智人你和我和西方蜜蜂欧洲蜜蜂
科技小贴士这个昆虫表可以从开发数据Zenodo库中[https://zenodo.org/record/10481][5],包括亚种。在我的top 10练习中我首先分离出所有独特的种群组合这样避免了重复的例如蜜蜂iberica的亚种以避免蜜蜂的绰号intermissa等等。最后一个物种文件有18155个绰号。
大多数人讲科学名称带玩笑式地用'-us'结局,如'Biggus buggus'.那么昆虫学家呢有几个不错的用命令行的方式获取字符串的最后2个字母在这里我都会用到这2个
![](http://thelinuxrain.com/content/01-articles/67-top-10-fun-on-the-command-line/10.png)
耶!昆虫学家喜欢也‘-us结尾。接下来我不知道有多少物种是以我的家乡State of Tasmania来命名的下面我想看看前100行来确保我得到的所有'tasman'组合.)
![](http://thelinuxrain.com/content/01-articles/67-top-10-fun-on-the-command-line/11.png)
那么昆士兰呢?
![](http://thelinuxrain.com/content/01-articles/67-top-10-fun-on-the-command-line/12.png)
一般来说昆虫物种名单中的前10名分别是什么呢
![](http://thelinuxrain.com/content/01-articles/67-top-10-fun-on-the-command-line/13.png)
嗯,除了明显的'australis'和'australiensis',而地理方面的'occidentalis'西部另外昆虫学家创建7个在10个最流行列表中的绰号已经旅行了其它昆虫学家的意愿。(加词'commoni'是给澳大利亚蝴蝶和蛾专家Ian F.B. Common,从1917-2006.)
### Speechifying ###
### 演变 ###
上面使用的命令在一个简单的列表中。从一个文本块做一个简单的列表这个命令行又再次成为你的朋友。例如我保存了一个相当filibustery[演讲][6]在澳大利亚参议院于2014年7月16日的文本文件议事录。将议事录分割成一个单词列表
![](http://thelinuxrain.com/content/01-articles/67-top-10-fun-on-the-command-line/14.png)
And to look at word frequency in the speech:
现在看看讲话中的单词使用频率:
![](http://thelinuxrain.com/content/01-articles/67-top-10-fun-on-the-command-line/15.png)
### Coming soon... ###
### 即将推出... ###
从多列的表中做'top 10'等排名,需要更多些的命令行工具。我将会在未来的文章中证明他们的用处。
--------------------------------------------------------------------------------
via: http://thelinuxrain.com/articles/top-10-fun-on-the-command-line
原文作者Bob Mesibov(Bob Mesibov is Tasmanian, retired and a keen Linux tinkerer.)
译者:[disylee](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:https://xato.net/passwords/more-top-worst-passwords/#.U8eD13AvDy0
[2]:https://xato.net/passwords/how-i-collect-passwords/#.U8eEdnAvDy0
[3]:http://www.rinkworks.com/words/letterfreq.shtml
[4]:http://www.thelinuxrain.com/articles/building-a-gazetteer-table-from-kml-files
[5]:https://zenodo.org/record/10481
[6]:http://parlinfo.aph.gov.au/parlInfo/search/display/display.w3p;db=CHAMBER;id=chamber%2Fhansards%2F232fa1a8-d7e8-4b22-9018-1a99b5a96812%2F0025;query=Id%3A%22chamber%2Fhansards%2F232fa1a8-d7e8-4b22-9018-1a99b5a96812%2F0000%22

View File

@ -0,0 +1,44 @@
检查linux中的损坏的扇区和区块
================================================================================
**badblocks**是linux及其类似的操作系统中扫描检查硬盘和外部设备损坏扇区的命令工具。损坏的扇区或者损坏的区块是硬盘中因为永久损坏或者是操作系统不能读取的空间。
Badblocks命令可以探测硬盘中所有损坏的扇区或者区块并将结果保存在一个文本文档中这样我们就可以使用**e2fsck**命令来配置操作系统不在这些损坏的扇区中存储。
### 步骤:1 使用fdisk识别硬盘信息 ###
# sudo fdisk -l
### 步骤:2 扫描硬盘的损坏扇区或区块 ###
# sudo badblocks -v /dev/sdb > /tmp/bad-blocks.txt
只需将“/dev/sdb”替换为自己机器的/分区。执行完成上述命令后一个名为“bad-blocks”文本文档将会在/tmp下创建它将包含所有的损坏区块。
例如:
![](http://www.linuxtechi.com/wp-content/uploads/2014/08/badblocks.png)
### 步骤:3 告诉操作系统不要使用损坏区块存储 ###
扫描完成后如果损坏区块被发现了然后通过e2fsck命令使用“bad-blocks.txt”强迫操作系统不使用这些损坏的区块存储数据。
# sudo e2fsck -l /tmp/bad-blocks.txt /dev/sdb
注意在运行e2fsck命令前请保证设备没有被挂载。
关于badblocks和e2fsck命令的更多帮助请参考下列man页面
# man badblocks
# man e2fsck
--------------------------------------------------------------------------------
via: http://www.linuxtechi.com/check-hard-drive-for-bad-sector-linux/
作者:[Pradeep Kumar][a]
译者:[Vic___](http://www.vicyu.net)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://www.linuxtechi.com/author/pradeep/

View File

@ -0,0 +1,93 @@
使用Clonezilla对硬盘进行镜像和克隆
================================================================================
![Figure 1: Creating a partition on the USB stick for Clonezilla.](http://www.linux.com/images/stories/41373/fig-1-gparted.jpeg)
图1 在USB存储棒上为Clonezilla创建分区
Clonezilla是一个用于LinuxFree-Net-OpenBSDMac OS XWindows以及Minix的分区和磁盘克隆程序。它支持所有主要的文件系统包括EXTNTFSFATXFSJFS和BtrfsLVM2以及VMWare的企业集群文件系统VMFS3和VMFS5。Clonezilla支持32位和64位系统同时支持旧版BIOS和UEFI BIOS并且同时支持MBR和GPT分区表。它是一个用于完整备份Windows系统和所有安装于上的应用软件的好工具而我喜欢用它来为Linux测试系统做备份以便我可以在其上做疯狂的实验搞坏后可以快速恢复它们。
Clonezilla也可以使用dd命令来备份不支持的文件系统该命令可以复制块而非文件因而不必弄明白文件系统。因此简单点说就是Clonezilla可以复制任何东西。关于块的快速说明磁盘扇区是磁盘上最小的可编址存储单元而块是由单个或者多个扇区组成的逻辑数据结构。
Clonezilla分为两个版本Clonezilla Live和Clonezilla Server EditionSE。Clonezilla Live对于将单个计算机克隆岛本地存储设备或者网络共享来说是一流的。而Clonezilla SE则适合更大的部署用于一次性快速多点克隆整个网络中的PC。Clonezilla SE是一个神奇的软件我们将在今后讨论。今天我们将创建一个Clonezilla Live USB存储棒克隆某个系统然后恢复它。
### Clonezilla和Tuxboot ###
当你访问下载页时,你会看到[稳定版和可选稳定发行版][1]。也有测试版本如果你有兴趣帮助改善Clonezilla那么我推荐你使用此版本。稳定版基于Debian不含有非自由软件。可选稳定版基于Ubuntu包含有一些非自由固件并支持UEFI安全启动。
在你[下载Clonezilla][2]后,请安装[Tuxboot][3]来复制Clonezilla到USB存储棒。Tuxboot是一个Unetbootin的修改版它支持Clonezilla你不能使用Unetbootin因为它无法工作。安装Tuxboot有点让人头痛然而Ubuntu用户通过个人包归档压缩包PPA方便地安装
$ sudo apt-add-repository ppa:thomas.tsai/ubuntu-tuxboot
$ sudo apt-get update
$ sudo apt-get install tuxboot
如果你没有运行Ubuntu并且你的发行版不包含打包好的Tuxboot版本那么请[下载源代码tarball][4]并遵循README.txt文件中的说明来编译并安装。
安装完Tuxboot后就可以使用它来创建你精巧的可直接启动的Clonezilla USB存储棒了。首先创建一个最小200MB的FAT 32分区图1上面展示了使用GParted来进行分区。我喜欢使用标签比如“Clonezilla”这会让我知道它是个什么东西。该例子中展示了将一个2GB的存储棒格式化成一个单个分区。
Then fire up Tuxboot (figure 2). Check "Pre-downloaded" and click the button with the ellipsis to select your Clonezilla file. It should find your USB stick automatically, and you should check the partition number to make sure it found the right one. In my example that is /dev/sdd1. Click OK, and when it's finished click Exit. It asks you if you want to reboot now, but don't worry because it won't. Now you have a nice portable Clonezilla USB stick you can use almost anywhere.
然后启动Tuxboot图2。选中“预下载的Pre-downloaded”然后点击带省略号的按钮来选择Clonezilla文件。它会自动发现你的USB存储棒而你需要选中分区号来确保它找到的是正确的那个我的例子中是/dev/sdd1。点击确定然后当它完成后点击退出。它会问你是否要重启动请不要担心因为它不会的。现在你有一个精巧的便携式Clonezilla USB存储棒了你可以随时随地使用它了。
![Figure 2: Fire up Tuxboot.](http://www.linux.com/images/stories/41373/fig-2-tuxboot.jpeg)
图2 启动Tuxboot
### 创建磁盘镜像 ###
在你想要备份的计算机上启动Clonezilla USB存储棒第一个映入你眼帘的是常规的启动菜单。启动到默认条目。你会被问及使用何种语言和键盘而当你到达启动Clonezilla菜单时请选择启动Clonezilla。在下一级菜单中选择设备镜像然后进入下一屏。
这一屏有点让人摸不着头脑里头有什么local_devssh_serversamba_server以及nfs_server之类的选项。这里就是要你选择将备份的镜像拷贝到哪里目标分区或者驱动器必须和你要拷贝的卷要一样大甚至更大。如果你选择local_dev那么你需要一个足够大的本地分区来存储你的镜像。附加USB硬盘驱动器是一个不错的快速而又简单的选项。如果你选择任何服务器选项你需要有线连接到服务器并提供IP地址并登录上去。我将使用一个本地分区这就是说要选择local_dev。
当你选择local_dev时Clonezilla会扫描所有连接到本地的存储折本包括硬盘和USB存储设备。然后它会列出所有分区。选择你想要存储镜像的分区然后它会问你使用哪个目录并列出目录。选择你所需要的目录然后进入下一屏它会显示所有的挂载以及已使用/可用的空间。按回车进入下一屏,请选择初学者还是专家模式。我选择初学者模式。
在下一屏中,你可以选择存盘,就是选择创建整个硬盘的镜像,还是创建分区镜像,创建分区镜像允许你选择单个分区。我想要选择分区。
下一屏中它会问你新建镜像的名称。在接受默认名称或者输入你自己的名称后进入下一屏。Clonezilla会扫描你所有的分区并创建一个检查列表你可以从中选择你想要拷贝的。选择完后在下一屏中会让你选择是否进行文件系统检查并修复。我才没这耐心所以直接跳过了。
下一屏中会问你是否想要Clonezilla检查你新创建的镜像以确保它是可恢复的。选是吧确保万无一失。接下来它会给你一个命令行提示如果你想用命令行而非GUI那么你必须再次按回车。你需要再次确认并输入y来确认制作拷贝。
在Clonezilla创建新镜像的时候你可以好好欣赏一下这个友好的红、白、蓝三色的进度屏图3
![Figure 3: Watch the creation of your new image.](http://www.linux.com/images/stories/41373/fig-3-export.jpeg)
图3 守候创建新镜像
全部完成后按回车然后选择重启记得拔下你的Clonezilla USB存储棒。正常启动计算机然后去看看你新创建的Clonezilla镜像吧。你应该看到像下面这样的东西
$ ls -l /2014-08-07-11-img/
total 1241448
-rw-r--r-- 1 root root 1223 Aug 7 04:22 blkdev.list
-rw-r--r-- 1 root root 636 Aug 7 04:22 blkid.list
-rw-r--r-- 1 root root 3658 Aug 7 04:24 clonezilla-img
-rw-r--r-- 1 root root 12379 Aug 7 04:24 Info-dmi.txt
-rw-r--r-- 1 root root 22685 Aug 7 04:24 Info-lshw.txt
-rw-r--r-- 1 root root 3652 Aug 7 04:24 Info-lspci.txt
-rw-r--r-- 1 root root 171 Aug 7 04:24 Info-packages.txt
-rw-r--r-- 1 root root 86 Aug 7 04:24 Info-saved-by-cmd.txt
-rw-r--r-- 1 root root 5 Aug 7 04:24 parts
-rw------- 1 root root 1270096769 Aug 7 04:24 sda6.ext4-ptcl-img.gz.aa
-rw-r--r-- 1 root root 37 Aug 7 04:22 sda-chs.sf
-rw-r--r-- 1 root root 1048064 Aug 7 04:22 sda-hidden-data-after-mbr
-rw-r--r-- 1 root root 512 Aug 7 04:22 sda-mbr
-rw-r--r-- 1 root root 750 Aug 7 04:22 sda-pt.parted
-rw-r--r-- 1 root root 625 Aug 7 04:22 sda-pt.parted.compact
-rw-r--r-- 1 root root 514 Aug 7 04:22 sda-pt.sf
### 恢复Clonezilla镜像 ###
恢复镜像和创建镜像类似。再次使用Clonezilla启动经过同样的初始化步骤后选择dev_image然后在local_dev屏选择你要恢复的镜像所在的位置它要么在本地设备上要么在网络共享上。然后继续下面的操作确保你的恢复镜像正确并选择了正确的位置。
你可以在[Clonezilla Live文档页][5]获得更多Clonezilla的神奇力量。
--------------------------------------------------------------------------------
via: http://www.linux.com/learn/tutorials/783416-how-to-image-and-clone-hard-drives-with-clonezilla
作者:[Carla Schroder][a]
译者:[GOLinux](https://github.com/GOLinux)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://www.linux.com/community/forums/person/3734
[1]:http://www.linux.com/learn/tutorials/783416-how-to-image-and-clone-hard-drives-with-clonezilla#57_why_ubuntu_based_clonezilla_live.faq
[2]:http://clonezilla.org/downloads.php
[3]:http://tuxboot.sourceforge.net/
[4]:http://sourceforge.net/projects/tuxboot/files/
[5]:http://clonezilla.org/clonezilla-live-doc.php

View File

@ -0,0 +1,152 @@
如何使用Tmux提高终端环境下的生产率
===
鼠标的采用是次精彩的创新,它让电脑更加接近普通人。但从程序员和系统管理员的角度,使用电脑办公时,手一旦离开键盘,就会有些分心
作为一名系统管理员,我大量的工作都需要在终端环境下。打开很多标签,然后在多个终端之间切换窗口会让我慢下来。而且当我的服务器出问题的时候,我不能浪费任何时间
![](https://farm6.staticflickr.com/5563/14853747084_e14cf18e8f_z.jpg)
[Tmux][1]是我日常工作必要的工具之一。我可以借助Tmux创造出复杂的开发环境同时还可以在一旁进行SSH远程连接。我可以开出很多窗口拆分成很多面板附加和分离会话等等。掌握了Tmux之后你就可以扔掉鼠标了只是个玩笑:D
Tmux("Terminal Multiplexer"的简称)可以让我们在单个屏幕的灵活布局下开出很多终端我们就可以协作地使用它们。举个例子在一个面板中我们用Vim修改一些配置文件在另一个面板我们使用irssi聊天而在其余的面板跟踪一些日志。然后我们还可以打开新的窗口来升级系统再开一个新窗口来进行服务器的ssh连接。在这些窗口面板间浏览切换和创建它们一样简单。它的高度可配置和可定制的让其成为你心中的延伸
### 在Linux/OSX下安装Tmux ###
你可以通过编译软件源或者通过系统包管理器的方式安装,我建议使用包管理器,这样比编译更快更简单
#### OSX: ####
# sudo brew install tmux
# sudo port install tmux
### Debian/Ubuntu ###
# sudo apt-get install tmux
RHEL/CentOS/Fedora(RHEL/CentOS 要求 [EPEL repo][2]):
$ sudo yum install tmux
Archlinux:
$ sudo pacman -S tmux
### 使用不同会话工作 ###
使用Tmux的最好方式是使用不同的会话这样你就可以以你想要的方式将任务和应用组织到不同的会话中。如果你想改变一个会话会话里面的任何工作都无须停止或者杀掉让我们来看看这是怎么工作的
让我们开始一个叫做"session"的会话并且运行top命令
$ tmux new -s new session
$ top
然后输入**CTRL-b d**从此会话脱离,想要重新连接此会话,需输入:
$ tmux attach-session -t session
之后你会看到top操作仍然运行在重新连接的会话上
一些管理sessions的命令
$ tmux list-session
$ tmux new-session <session-name>
$ tmux attach-session -t <session-name>
$ tmux rename-session -t <session-name>
$ tmux choose-session -t <session-name>
$ tmux kill-session -t <session-name>
### 使用不同的窗口工作
很多情况下你需要在一个会话中运行多个命令并且执行多个任务。我们可以在一个会话的多个窗口里组织他们。在现代化的GUI终端比如 iTerm或者Konsole一个窗口被视为一个标签。在会话中配置了我们默认的环境我们就能够在一个会话中创建许多我们需要的窗口。窗口就像运行在会话中的应用程序当我们脱离当前会话的时候它仍在持续让我们来看一个例子
$ tmux new -s my_session
![](https://farm6.staticflickr.com/5583/14853747014_442b3742fa_z.jpg)
按下**CTRL-b c**
这将会创建一个新的窗口然后屏幕的光标移向它。现在你就可以在新窗口下运行你的新应用。你可以写下你当前窗口的名字。在目前的案例下我运行的top程序所以top就是该窗口的名字
如果你想要重命名,只需要按下:
**CTRL-b**
状态条将会改变,这时你将可以重命名当前的窗口
![](https://farm6.staticflickr.com/5579/14855868482_d52516a357_z.jpg)
一旦在一个会话中创建多个窗口,我们需要在这些窗口间移动的办法。窗口以数组的形式被组织在一起,每个窗口都有一个从0开始计数的号码,想要快速跳转到其余窗口:
**CTRL-b <window number>**
如果我们给窗口起了名字,我们可以使用下面的命令切换:
**CTRL-b f**
列出所有窗口:
**CTRL-b w**
按照顺序切换到不同的窗口:
**CTRL-b n**(到达下一个窗口)
**CTRL-b p**(到达上一个窗口)
想要离开一个窗口:
**CTRL-b &**
关闭窗口之前,你需要确认一下
### 把窗口分成许多面板
有时候你在编辑器工作的同时需要查看日志文件。编辑的同时追踪日志真的很有帮助。Tmux可以让我们把窗口分成许多面板。举了例子我们可以创建一个控制台监测我们的服务器同时拥有一个复杂的编辑器环境这样就能同时进行编译和debug
让我们创建另一个Tmux会话让其以面板的方式工作。首先如果我们在某个会话中那就从Tmux会话中脱离出来
**CTRL-b d**
开始一个叫做"panes"的新会话
$ tmux new -s panes
你可以水平或者竖直分割一个窗口,水平分割输入:
**CRTL-b "**
现在你就拥有两个面板,现在我们竖直分割:
**CRTL-b %**
又增加了两个
![](https://farm4.staticflickr.com/3881/14669677417_bc1bdce255_z.jpg)
在他们之间移动:
**CTRL-b <Arrow keys>**
### 结论
我希望这篇教程能对你有作用。作为奖励,像[Tmuxinator][3] 或者 [Tmuxifier][4]这样的工具可以简化Tmux会话窗口和面板的创建及加载你可以很容易就配置Tmux。如果你没有使用过这些尝试一下吧
--------------------------------------------------------------------------------
via: http://xmodulo.com/2014/08/improve-productivity-terminal-environment-tmux.html
作者:[Christopher Valerio][a]
译者:[su-kaiyao](https://github.com/su-kaiyao)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://xmodulo.com/author/valerio
[1]:http://tmux.sourceforge.net/
[2]:http://xmodulo.com/2013/03/how-to-set-up-epel-repository-on-centos.html
[3]:https://github.com/tmuxinator/tmuxinator
[4]:https://github.com/jimeh/tmuxifier

View File

@ -0,0 +1,124 @@
CentOS 7最小化安装后找不到ifconfig命令——修复小提示
================================================================================
![](http://180016988.r.cdn77.net/wp-content/uploads/2014/08/centos7-790x493.jpg)
就像我们所知道的,“**ifconfig**”命令用于配置GNU/Linux系统的网络接口。它显示网络接口卡的详细信息包括IP地址MAC地址以及网络接口卡状态之类。但是该命令已经过时了而且在最小化版本的RHEL 7以及它的克隆版本CentOS 7Oracle Linux 7以和Scientific Linux 7中也找不到该命令。
### 在CentOS最小化服务器版本中如何查找网卡IP和其它详细信息 ###
CentOS 7最小化系统使用“**ip addr**”和“**ip link**”命令来查找网卡详情。要知道统计数据,可以使用“**ip -s link**”。
要查看网卡细节,输入以下命令:
ip addr
输出样例:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: venet0: <BROADCAST,POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN
link/void
inet 127.0.0.1/32 scope host venet0
inet 192.168.1.101/32 brd 192.168.1.101 scope global venet0:0
要查看网络接口统计数据,输入命令:
ip link
输出样例:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN mode DEFAULT
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: venet0: <BROADCAST,POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN mode DEFAULT
link/void
或者
ip -s link
输出样例:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN mode DEFAULT
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
RX: bytes packets errors dropped overrun mcast
0 0 0 0 0 0
TX: bytes packets errors dropped carrier collsns
0 0 0 0 0 0
2: venet0: <BROADCAST,POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN mode DEFAULT
link/void
RX: bytes packets errors dropped overrun mcast
8515667 6667 0 0 0 0
TX: bytes packets errors dropped carrier collsns
300403 4249 0 0 0 0
### 在CentOS 7最小化服务器版本中如何启用并使用“ifconfig”命令 ###
如果你不知道在哪里可以找到ifconfig命令请按照以下简单的步骤来找到它。首先让我们找出哪个包提供了ifconfig命令。要完成这事输入以下命令
yum provides ifconfig
输出样例:
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: centos.aol.in
* extras: centos.aol.in
* updates: centos.aol.in
net-tools-2.0-0.17.20131004git.el7.x86_64 : Basic networking tools
Repo : @base
Matched from:
Filename : /usr/sbin/ifconfig
或者你也可以使用以下命令。
yum whatprovides ifconfig
这里“provides”或者“whatprovides”开关用于找出某个包提供了某些功能或文件。
就像你在上面的输出中所看到的,**net-tools**包提供了ifconfig命令。因此让我们安装net-tools包来使用ifconfig命令。
yum install net-tools
现在,你就可以像以往一样使用**ifconfig**命令了。
ifconfig -a
输出样例:
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 16436
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 0 (Local Loopback)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
venet0: flags=211<UP,BROADCAST,POINTOPOINT,RUNNING,NOARP> mtu 1500
inet 127.0.0.1 netmask 255.255.255.255 broadcast 0.0.0.0 destination 127.0.0.1
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 0 (UNSPEC)
RX packets 7073 bytes 8549159 (8.1 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 4611 bytes 359201 (350.7 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
venet0:0: flags=211<UP,BROADCAST,POINTOPOINT,RUNNING,NOARP> mtu 1500
inet 192.168.1.101 netmask 255.255.255.255 broadcast 192.168.1.101 destination 192.168.1.101
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 0 (UNSPEC)
尽情享受吧!
--------------------------------------------------------------------------------
via: http://www.unixmen.com/ifconfig-command-found-centos-7-minimal-installation-quick-tip-fix/
作者:[Senthilkumar][a]
译者:[GOLinux](https://github.com/GOLinux)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://www.unixmen.com/author/sk/

View File

@ -0,0 +1,74 @@
Linux常见问题与答案——如何在Apache网站服务器上关闭服务器签名
================================================================================
>**问题**每当Apache2网站服务器返回错误页时404 页面无法找到403 禁止访问页面它会在页面底部显示网站服务器签名Apache版本号和操作系统信息。同时当Apache2网站服务器为PHP页面服务时它也会显示PHP的版本信息。我如何在Apache2网站服务器上关闭这些网站服务器签名
透露网站服务器带有服务器/PHP版本信息的签名会带来安全隐患因为你基本上将你系统上的已知漏洞告诉给了攻击者。因此作为服务器加固的一个部分强烈推荐你禁用所有网站服务器签名。
![](https://farm4.staticflickr.com/3897/14902970545_c3d406322f_o.png)
### 禁用Apache网站服务器签名 ###
禁用Apache网站服务器签名可以通过编辑Apache配置文件来实现。
在DebianUbunt或者Linux Mint上
$ sudo vi /etc/apache2/apache2.conf
在CentOSFedoraRHEL或者Arch Linux上
$ sudo vi /etc/httpd/conf/httpd.conf
将下面两行添加到Apache配置文件底部。
> ServerSignature Off
>
> ServerTokens Prod
然后重启网站服务器以使修改生效:
$ sudo service apache2 restart (Debian, Ubuntu or Linux Mint)
$ sudo service httpd restart (CentOS/RHEL 6)
$ sudo systemctl restart httpd.service (Fedora, CentOS/RHEL 7, Arch Linux)
第一行ServerSignature Off使得Apache2网站服务器在所有错误页面上隐藏Apache版本信息。
![](https://farm6.staticflickr.com/5556/14879982016_7c7b8bbf3d_o.png)
然而没有第二行的ServerTokens ProdApache服务器将仍然在HTTP回应头部包含详细的服务器标记这会泄漏Apache的版本号。
![](https://farm4.staticflickr.com/3889/14902970535_e84ec23090_z.jpg)
第二行‘**ServerTokens Prod**所要做的是在HTTP回应头中将服务器标记压缩到最小。
因此同时放置两行时Apache将不会在页面中或者HTTP回应头中泄漏版本信息。
![](https://farm4.staticflickr.com/3902/14902970505_d79225f25d_z.jpg)
### 隐藏PHP版本 ###
另外一个潜在的安全威胁是HTTP回应头中的PHP版本信息泄漏。默认情况下Apache网站服务器通过HTTP回应头中的“X-Powered-By”字段包含有PHP版本信息。如果你想要在HTTP头部中隐藏PHP版本请使用文本编辑器打开php.ini文件找到“expose_php = On”这一行将它改为“expose_php = Off”即可。
![](https://farm4.staticflickr.com/3853/14899917981_aaef71eb0a.jpg)
在DebianUbunt或者Linux Mint上
$ sudo vi /etc/php5/apache2/php.ini
在CentOSFedoraRHEL或者Arch Linux上
$ sudo vi /etc/php.ini
> expose_php = Off
最后重启Apache2网站服务器以重新加载更新的PHP配置文件。
现在你不会再看到带有“X-Powered-By”字段的HTTP回应头部了。
--------------------------------------------------------------------------------
via: http://ask.xmodulo.com/turn-off-server-signature-apache-web-server.html
译者:[GOLinux](https://github.com/GOLinux)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -0,0 +1,67 @@
命令行星期二——第八部分
================================================================================
极客们我们回来了来完成最后一章的CLT。今天我们将讨论一下任务控制。在这个里头我们也将学习怎样来控制运行在我们计算机上的进程
### 一个例子 ###
正如我们所学的我们可以直接在CLI中输入程序名称来运行该程序。例如dolphin。如果我们输入
dolphin
……dolphin这个文件管理器就打开了。如果在进程打开时你查看终端你就不能访问命令提示符了而且你也不能在同一个窗口中写一个新命令进去了。如果你终止dolphin提示符又会出现了而你又能输入一个新命令到shell中去了。那么我们怎么能在CLI运行一个程序时同时又能获得提示符以便进一步发命令。
dolphin &
……现在你让dolphin文件管理器在后台运行了终端就可以空出来输入你需要的另外一个命令了。
现在假设你忘了在dolphin后面输入&字符你只需要输入ctrl+z它会停止你的进程并把它放到空闲列表中去。要继续停止的进程输入
bg
……它会从后台重启进程。
### jobs, ps ###
由于我们在后台运行着进程你可以使用jobs或者使用ps来来列出它们。试试吧只要输入jobs或者输入ps就行了。下面是我得到的结果
nenad@linux-zr04:~> ps
PID TTY TIME CMD
8356 pts/1 00:00:00 bash
8401 pts/1 00:00:00 dolphin
8406 pts/1 00:00:00 kbuildsycoca4
8456 pts/1 00:00:00 ps
### 杀死进程 ###
如果有个进程无响应了怎么来处理掉它呢可以使用kill命令。让我们在先前提到的dolphin进程上试试。首先我们必须使用ps来鉴别该进程的PID。在我上述情况中dolphin的PID是8401。那么让我们来杀死它我只要输入
kill 8401
……那么它就把dolphin给杀死了。
### Kill更多细节 ###
Kill的存在不仅仅是为了终止进程它最初是设计用来发送信号给进程。当然有许多kill信号可以使用根据你使用的应用程序不同而不同。请看下面的表
![](https://news.opensuse.org/wp-content/uploads/2014/08/snapshot1.png)
务必试试这些信号。
### 结尾 ###
我们以本节课来结束我们的CLT系列和周二必达我希望其他像我这样的新手们能设法在他们的思想中摆脱控制台的神秘而学习掌握一些基本技能。现在对你们而言所有剩下来要做的事就是尽情摆弄它吧只是别把/目录搞得太乱七八糟,因而你也不会诋毁什么东西了 :D
Well be seeing a lot more of each other soon, as theres more series of articles from where these came from. Stay tuned, and meanwhile…
我们将在不久的将来看到其它更多的东西,因为有更多的系列文章来自这些文章的出处。别走开,同时……
### ……尽情享受! ###
--------------------------------------------------------------------------------
via: https://news.opensuse.org/2014/08/12/command-line-tuesdays-part-eight/
作者:[Nenad Latinović][a]
译者:[GOLinux](https://github.com/GOLinux)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:https://news.opensuse.org/author/holden87/