Linux中国新浪官博3万粉丝活动

Summary: 撒花，Linux中国微博粉丝突破3万！为感谢广大粉丝的支持，现在起关注 @Linux中国 转发此微博送出你对Linux中国的祝福或期待，并"@"三位好友即有机会获得Linux中国送出的奖品。心动不如行动，快来参与吧！

祝贺

我只是懒得艾特好友~~

不过还是住Linux中国越办越好、Linux在中国发展得更好

祝贺，愿越办越好。@PynixWang @爱开源魅影 @Linux_cn

分享知识 @萧成峰 @潇洒花样人生 @游骑兵的征途

祝贺祝贺[给力]

希望linux中国越来越棒！ @qianlvable @真张俊辉 @丁舶洋

@小冰 @微软小娜 @癫痫小蒙牛 愿面神的荣光永远照耀。

@im-wangchen @li3huo @bhpan 希望能有个贴纸~贴在手机、电脑上的。

无意中关注了linux中国微博，现在还是枚小菜鸟，祝福越办越好。@爱源LL @傲孤漠客 @被n1的冷落

支持

祝Linux中国越来越好@励志小波 @杜兰特haohao @红玫瑰之2012

@爱美食的包子姐姐 @蒋刚-JG @胡琴芬

刚刚开始接触Linux，@Linux中国 提供了相当多的资料和帮助，希望Linux中国越来越好，中国的Linux系统越来越强[哈哈][哈哈][哈哈]@AII苍狼 @户外军品刀剑_ @z博茜 @美在MZENLIFE

支持~虽然目前还不会Linux[可怜]@Girls你胖到Me了 @河南大学_简叶场 @打不死的杨小强

百尺竿头，更进一步

百尺竿头，更进一步

求书

100@Linux中国 @Cuikm @z-骑士

@陈栩琳90  @蔡淳舟  @蒋涛CSDN

希望linux能弄出一个知识专题。。。[爱你][爱你][爱你]期待得奖@Blackrosevil丽心 @戴上耳机沉沦a @饭饱思颖欲 艾特完了，坐等[给劲][给劲][给劲]

怒了，不信永远分母的命![抓狂]@hzw胡志伟 @Sirius-d @瞳岸_

加油！

被@AK47_蜜蜂戒微博戒手机 @文客北 @天真-孤独 被@到的，對不起了，我是不小心的[委屈]

@NeOPSTEP @姚沛然 @纸飞机音乐分享

@雨乐合吾 @蓝色心晴 @JaveZh

@程序员大联盟 @计算机百科 @-WANIMAL- 好用的系统，希望见到的机会越多越好

愿Linux中国越来越给力，加油！[威武]@小冰 @贞子微笑 @RTsurfy

恭喜Linux。支持@李正毅2013 @聪明的哲浩 @旅行达人Aaron

可以给教程么

祝linux中国越来越酷服务更多中国linuxer~ @夏染七日 @哲溪方 @Mrr_Yuan

恭喜！！希望能给国产Linux系统的发展带来更多的促进！@计算机世界 @IT经理世界杂志 @图灵教育

#Linux中国新浪官博3万粉丝活动#愿Linux中国越办越好，加油！[威武]@化妆师Mika @兔子的大老板 @淘气的Yuki

那個用蓋世5的，把你爪機號留下再走

#Linux中国新浪官博3万粉丝活动#祝Linux中国越办越好@亦涵宝儿 @无也爱 @Baby徐小曼

@麻雀展翅2457030171 @排列整齐的我丶 @米修兔rabbit

支持@教主慕慕 @兵荒马乱小青春lqq @沉默之星-stalence @IT疯报

@王王王王王亚 @消失尼仲 @Sylvia-杰

@新浪科技 @诺基亚 @卡饭论坛网 @代玲玲_百度-HR

支持 @新浪科技 @卡饭论坛网 @诺基亚

@小Chu先森@徐壮是也 @小冰

nice[耶] @Deepin官方微博 @老vim @左耳朵耗子

#Linux中国新浪官博3万粉丝活动#愿Linux中国越办越好@武林之疯 @豪壮洒脱 @小艳米粒儿

@Linux中国 是学习Linux和了解开源动向得的好平台，希望中国的开源社区发展壮大。@小丫头脾气乱拽 @HoweverMI @喜欢猴子的熊

@CSDN @CSDN移动 @CSDN云计算

@真人不露馅 @火炎焱燚老窝 @萝卜萝卜的blog

#Linux中国新浪官博3万粉丝活动#愿Linux中国蒸蒸日上，飞黄腾达 @化妆师Mika @兔子的大老板 @淘气的Yuki

这种活动从来没中过，压根不信

@PPT技巧精选 @优秀网页设计 @PPT去哪儿

#Linux中国新浪官博3万粉丝活动# 希望Linux能像统治桌面市场@JiaJunWith杏仁饼 @_怡菲_energy @成华星MY

[嘻嘻]

希望我们也有自己的新系统。@凌韵雪大哥 @loveprincesss @大大胡同学

快有了//@山轿歧路:希望我们也有自己的新系统。@凌韵雪大哥 @loveprincesss @大大胡同学

我想要奖品[钱]，祝@Linux中国 越办越好，多多翻译外国经典文章@该减肥的张小胖 @junjundeyuanwang @沉静的浩浩

估计机会渺茫

@大巧巧呗 @彩渱围脖 @天蝎座的菜菜

@大巧巧呗 @天蝎座的菜菜 @彩渱围脖

@不好不壞的大歡子 @C-ramer @胡英卉Isa @Maxwell-Yan 给我吧，给我吧

@朱朱恒伟 @-路语- @小杨一直都很淡定

祝Linux中国越来越好，如此给力！岂能不参与？大家一起来！真是好福利！期待我的惊喜！@北京小酸酸@牡丹江小乖乖@上官尹忆

祝Linux中国越来越好//@校长Ubuntu: @敲代码的Joey_Chan @啊展展展展 @吖茹_fifififi 做校长都没特权，真失败[挖鼻屎]

必须转

我也是三万分之一呢。祝早日成为60E分之一

祝粉丝早日突破60E@马懒懒2011 @柠檬码哥 @崔哼哼

希望用linux的工程师越来越多。@christian66 @超级靠谱男青年 @高升朝耕

非主流之路不好走，贵在坚持。你我的坚持，守护着尚未燎原的香火。@奔跑的微积分 @南通广播新闻 @沙地小雨

@王一俊的垃圾筒 @Molly--s @Mathematica_李想 祝linux中国越来越受欢迎，让linux的火种给生活带来希望

祝linux中国越来越受欢迎，让linux的火种给生活带来希望！！！[din癫当圣诞礼物][din看看][din说话][din看看][din挥手]@金风1012 @福多多521 @雨露0609[心]

祝Linux中国越来越好 @BrilliantVWG @NC森 @_羅氏阿曈 @淳-恋

祝Linux中国越来越好！吕公主会一如既往的支持下去，希望编编粉丝多多，人气满满，更加希望编编在工作之余，保持健康的身体，尽享夏日美好！咱们一起加油哦[心]@小妹拉丽 @lqm-madeinChina @Lover-baba

专注 专业 祝Linux中国发展顺利 祝Linux更加流行@Gloria微月 @C科技 @胡门百科

#Linux中国新浪官博3万粉丝活动# 祝粉丝早日突破百万@黄诺瑞 @kadmm_wy @ollie411

祝越来越好！@程序员_翁 @Limy络 @贤哥天下

希望粉丝越来越多@starli87 @酷鱼201 @还是茉莉221

@明明是悟空 @被解放的熊猫人 @战争天才隆美尔 希望Linux中国，能让Linux被更多的开发者认识并使用！

祝Linux中国越办越好，让更多人知道哈！@我是善良的天天 @蒋东秀 @商战小精英

@爱旅游的皮卡丘 @古剑奇谭Allen @蓝色气球柠檬夏v 很好的学习Linux的网站，一如既往地支持！

@老闺妮的爸爸 @这一切不都是 @撞令郎 什么都不说了，深深顶一个！

继续学习linux@升天的小猪 @猴子的爸 @Script_attacker

每天必看的！祝Linux中国越办越好！

每天必看的！祝Linux中国越办越好！ @慧萍zhan @金V峰 @zilken

小编真会选礼物，这个礼物对我来说是真心需要真心有用哎，这么棒的好礼让我忍不住多转一次， [心] 感恩在这个阳光灿烂的季节与你们邂逅，写下的是评论，收到的是惊喜，再小的支持，也是一份力量！吕公主祝辛勤的小编生活中的每一天都阳光普照，幸福快乐！！@小妹拉丽 @lqm-madeinChina @Lover-baba

请关注我们共同的LInux中文社区,我们在成长谢谢大家支持..@中国IT运维网 @IT程序猿 @IBM中国 @IBM中国Linux与虚拟化实验室 @Google黑板报 @谷歌站长指南 @绿色圣光 @网路游侠 @百度百科 @运维老周 @乌云-漏洞报告平台 @蚁巡运维平台 @惠普安全

我的粉丝也快30000了，我也准备搞活动。[嘻嘻] @挨踢控 @阿史那鹏 @白牛SERidc

你太威武了！怎么涨粉啊！

//@张庆滋:[哈哈]这个必须支持一下，希望越来越多的人使用并了解Linux这一强大的操作系统@xieee泽铭-谢嘉伟 @李嘉威很少玩微博 @我去你的-你爱不爱我

回复@DBA那些事儿:其实就是慢慢攒的。。。

@因为you妳 @紫轩菜鸟 @懒地改名字

好叼，网站不错！[哈哈]@暗黑貓Vesperia @硬邦邦的芒果 @莫再蹄

@xisiamk明 @百度文库 @数字尾巴 @huangwiexiang @云南熊心依旧 希望中的Linux越走越远，竟快融入世界大家庭！Linux中国责任重大啊！继续加油！fighting！

限量马克杯，我喜欢啊@

@刘亦菲 @信X天T翁W @angelababy

生日快乐呀！ 支持一下[江南style]美好生活！ @猴子-大梨 @最爱的聪宝 @ljcjw@魅惑的天涯@略忧桑

希望做的越来越好大卖哦生日快乐  ！ 收到一定晒图，增加更多精彩 @小小医 @靖儿55 @李成浩1 @Mr-裤衩 @瘦马6055

谢谢大家的支持~

不知道谁喜欢。。

祝linux在中国被更多小朋友认识。祝linux在中国被更多青年人用来办公。祝linux在中国被更多老年用来无毒无忧上网。@任娅默 @Jeska-Lingli @别人的幸福泡泡 [哈哈]

祝愿Linux操作系统能够在中国进行更广泛的推广，同时也祝愿国产操作系统能够发扬光大。@smjsophia @HW_Never-GiveUp @小龙_小胖 //@Linux中国:谢谢大家的支持~

@这些_天 @易-大湿 @爱吃大白菜的阿豆豆 求选中

@2gua @冰雅冷轩 @网路游侠 行动起来，赶快收到碗里来！//@2gua: 恭喜&支持！咋这么见外不at我一下呐？[好棒]@Jagen_淘飞芃 @沈书毅 @懒桃儿吃桃儿 @ARGV 各位Linux粉儿都来支持支持…[转发] //@Linux中国:谢谢大家的支持~ @CSDN_CODE @网路冷眼 @Linuxeden开源社区 @Linux_cn

既然这样，@clf-425萍聚 @日和风的毛毛 @洁哥传奇 借你们id一用。。。[馋嘴]很喜欢那本书 //@Linux中国:谢谢大家的支持~ @CSDN_CODE @网路冷眼 @Linuxeden开源社区 @Linux_cn

@其实青子不需要太多 @dai小真 @Anastasia燕晖 @婉婷brother

[太开心]//@Linux中国:谢谢大家的支持~ @CSDN_CODE @网路冷眼 @Linuxeden开源社区 @Linux_cn

中不中的 支持一下先 嘿嘿//@2gua: 恭喜&支持！咋这么见外不at我一下呐？

求书 @_五毛钱瓜子 @TYPCN_Technical @小小泥娃_ //@Linux中国:谢谢大家的支持~

linux越来越好，中国社区也越来约好@其实青子不需要太多 @dai小真 @Anastasia燕晖 @婉婷brother

@图灵教育 @51CTO读书频道 @索菲亚luky 支持一下先

@宝塔锅锅每天都要嗯嗯 @彳亍_慢慢走 @风中_梧桐 玩一下

华夏大地Linux的崛起

[酷]支持开源！支持发奖！～@__啾啾 @微软中国 @Bonita宝

@baby阿尔维斯1986 @白果树的春天police @包凡 //@Linux中国:谢谢大家的支持~ @CSDN_CODE @网路冷眼 @Linuxeden开源社区 @Linux_cn

支持linux，支持开源。。@迈向设计师的路上 @彭亮 @吴泳钢

//@CSDN_CODE:继续努力！//@Linux中国: 谢谢大家的支持~ @CSDN_CODE @网路冷眼 @Linuxeden开源社区 @Linux_cn

@Linux中国 粉丝多多@IlIIlIlIlIlIl @鸿宇快斗_我才是真的 @世宇边星

祝微软更微更软[嘻嘻] @大卫陈Learner @行者不带姜 @青春美少蕾

扩散拉低中奖率[偷笑]//@天空之城乐园: 拉低中奖率~~//@Linux中国: 谢谢大家的支持~ @CSDN_CODE @网路冷眼 @Linuxeden开源社区 @Linux_cn

@Marylandeny-Chu @Cotton12 @我爱笨兔兔ibentutu

@MonkeyDcn @宫藤心依 @赵赫赫赫赫赫赫赫

觉得linux中国发的微博很有技术含量，我就不@了//@Linux中国:谢谢大家的支持~

支持开源！好人一生平安！@窗户外的石头 @丰丰-fighter @雷军

拉低中奖率

@时间美化那仅有的悸动__ @账号丢了半年了被自己蠢哭 @RRRReiko 希望开源在中国能更发展的更好[害羞]想要大教堂与集市

@静命长明 @爱森纳赫小镇里 @沉沉要当邢瘦瘦

@暴堵的天空 @然也疯狂 @张杰-_

@中标软件 @魅族科技 @金融界网站 庆有这么多粉。

祝越办越好@贺关武 @田京波 @DBA那些事儿

什么时候整个app啊？

祝越办越好@贺关武 @田京波 @DBA那些事儿

@迅雷壁纸 @51CTO学院 @HTML5中国 linux中国，我最喜欢的社区

强势崛起@小北噢 @HTML5中国 @小倩-QQ

期待@Linux中国 越办越好，越来越专注linux。@虫子-郎月 @赤膊党菠萝 @森林魔法

居然取关我～[挖鼻屎][挖鼻屎][挖鼻屎]

回复@EASTL:厄，那肯定是你的微博内容太杂了，受不了刷屏了[生病]

回复@Linux中国:我从来不刷屏～百分之九十行业相关，技术相关～[挖鼻屎][挖鼻屎][挖鼻屎]

回复@EASTL:好吧，我错了，[泪]

不怎么玩儿微博，不过关注社区很久，改版以后内容更丰富了，祝Linux中国社区越办越好，Linux中国微博粉丝早日突破10万@CrazyHi @iSherry_ @玉伯也叫射雕

@薇晲 @戴上耳麦唱浮夸 @iSaraxie 只为杯子；

恭喜，在linux中国社区5年之久，现在内容丰富，文章质量明显提高，增加不少原创文章，微信推送的文章也不错，祝linux中国成为技术社区的排头兵@马亦威 @ 开心swallow2011 @ PHP程序员

恭喜，在linux中国社区5年之久，现在内容丰富，文章质量明显提高，增加不少原创文章，微信推送的文章也不错，祝linux中国成为技术社区的排头兵@马亦威 @开心swallow2011 @PHP程序员

能帮推荐一本linux书，我是做java开发的，比较系统介绍linux的书

恭喜哦！祝愿你天天心想事成，社区人气旺，微博粉丝多，@WoboGuo @秋播夏种 @田月元110 。

加入[酷]

回复@恋一个世界:find 7？

回复@排列整齐的我丶:那是

回复@恋一个世界:[害羞][害羞][花心]

回复@排列整齐的我丶:哈哈！

# Linux中国新浪官博3万粉丝活动

撒花，Linux中国微博粉丝突破3万！为了感谢广大粉丝的支持，现在起关注 @Linux中国 转发此微博送出你对Linux中国的祝福或期待，并"@"三位好友即有机会获得Linux中国为您送出的奖品。

<img src="content_image/album_201408_19_162936yzboc366ympvzbxv.jpg" alt="" title="">

活动时间：2014年8月19日—2014年8月29日

活动奖品：

一等奖：互动出版网100元购书卡（1张）

二等奖：《大教堂与集市》图书（2本）

三等奖：Linux中国限量特制变色马克杯（3个）

好礼等你来拿，心动不如行动，快来参与活动吧！

（获奖名单将于活动结束后7个工作日内公布，敬请关注）


命令行星期二——第八部分

Summary: 唷，唷，极客们！我们回来了，来完成最后一章的CLT。今天，我们将讨论一下任务控制。在这个里头，我们也将学习怎样来控制运行在我们计算机上的进程！ 一个例子 正如我们所学的，我们可以直接在CLI中输入程序名称来运行该程序。例如，dolphin。如果我们输入： dolphin  dolphin，这个文件管理器，就打开了。如果在这个进程打开时你查看终端，你会发现不能访问命令提示符了，而且你也不能在同一个窗口中写一个新命令进去了。如果你终止dolphin，提示符又会出现了，而你又能输入一个新命令到shell中去了。那么，我们怎么能在CLI运行一个程序

从第一课看到了第八课，学到了不少东西，感谢作者，感谢译者．期待后续课程！感谢！

嗯，其实是挺基础的，不过这样循序渐进，娓娓道来，也容易学习。

很不错，什么时候回归啊～

哈哈，这个系列是完结啦。

# 命令行星期二——第八部分

唷，唷，极客们！我们回来了，来完成最后一章的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信号可以使用，根据你使用的应用程序不同而不同。请看下面的表：

务必试试这些信号。

### 结尾

我们以本节课来结束我们的CLT系列和周二必达，我希望其他像我这样的新手们能设法在他们的思想中摆脱控制台的神秘而学习掌握一些基本技能。现在对你们而言，所有剩下来要做的事，就是尽情摆弄它吧（只是别把“/”目录搞得太乱七八糟，因而你也不会诋毁什么东西了 :D）。

我们将在不久的将来看到其它更多的东西，因为有更多的系列文章来自这些文章的出处。别走开，同时……

### ……尽情享受！

---

via: <https://news.opensuse.org/2014/08/12/command-line-tuesdays-part-eight/>

作者：[Nenad Latinović](https://news.opensuse.org/author/holden87/) 译者：[GOLinux](https://github.com/GOLinux) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


Linux有问必答：如何在Apache网站服务器上关闭服务器签名

Summary: 问题：每当Apache2网站服务器返回错误页时（如，404 页面无法找到，403 禁止访问页面），它会在页面底部显示网站服务器签名（如，Apache版本号和操作系统信息）。同时，当Apache2网站服务器为PHP页面服务时，它也会显示PHP的版本信息。我如何在Apache2网站服务器上关闭这些网站服务器签名呢？

#如何防止被人吐槽#

又不是 IIS，怕个毛//@Garfield550: 轉發微博

这个貌似可以设置不显示嗯

实用

扫描工具一扫就出来了

很简单，在配置服务器时，删除配置文件中一句代码即可，还可以自定义名称

I reached out previously and hadn’t heard back from you yet. This tells me a few things:

1) You're being chased by a T-rex and haven't had time to respond.

2) You aren't interested.

3) You're interested but haven't had a time to respond.

Whichever one it is, please let me know as I am getting worried! Please respond 1,2, or 3. I do not want to be a bother.

====================== Original Message ========================

Hi,

I am Alex editor at Guru99.  There is 69% chance you will not ope

# Linux有问必答：如何在Apache网站服务器上关闭服务器签名

>
> **问题**：每当Apache2网站服务器返回错误页时（如，404 页面无法找到，403 禁止访问页面），它会在页面底部显示网站服务器签名（如，Apache版本号和操作系统信息）。同时，当Apache2网站服务器为PHP页面服务时，它也会显示PHP的版本信息。我如何在Apache2网站服务器上关闭这些网站服务器签名呢？
>
>
>

透露网站服务器带有服务器/PHP版本信息的签名会带来安全隐患，因为你基本上将你系统上的已知漏洞告诉给了攻击者。因此，作为服务器加固的一个部分，强烈推荐你禁用所有网站服务器签名。

[](https://camo.githubusercontent.com/7c0050095c1ca46e38c710361e4c5849dc9ee0d6/68747470733a2f2f6661726d342e737461746963666c69636b722e636f6d2f333839372f31343930323937303534355f633364343036333232665f6f2e706e67)

### 禁用Apache网站服务器签名

禁用Apache网站服务器签名可以通过编辑Apache配置文件来实现。

在Debian，Ubunt或者Linux Mint上：

```
$ sudo vi /etc/apache2/apache2.conf

```

在CentOS，Fedora，RHEL或者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://camo.githubusercontent.com/ff7bcc6296f571245d6d9a5c5c396f095cba7e99/68747470733a2f2f6661726d362e737461746963666c69636b722e636f6d2f353535362f31343837393938323031365f376337623862626633645f6f2e706e67)

然而，若没有第二行的‘ServerTokens Prod’，Apache服务器将仍然在HTTP回应头部包含详细的服务器标记，这会泄漏Apache的版本号。

[](https://camo.githubusercontent.com/e684a0f4d72a0a67400517cc1690b052c903402c/68747470733a2f2f6661726d342e737461746963666c69636b722e636f6d2f333838392f31343930323937303533355f653834656332333039305f7a2e6a7067)

第二行‘**ServerTokens Prod**’所要做的是在HTTP响应头中将服务器标记压缩到最小。

因此，同时放置两行时，Apache将不会在页面中或者HTTP响应头中泄漏版本信息。

[](https://camo.githubusercontent.com/008ed3a44caebac203bc319388f2e6c501a34e04/68747470733a2f2f6661726d342e737461746963666c69636b722e636f6d2f333930322f31343930323937303530355f643739323235663235645f7a2e6a7067)

### 隐藏PHP版本

另外一个潜在的安全威胁是HTTP响应头中的PHP版本信息泄漏。默认情况下，Apache网站服务器通过HTTP响应头中的“X-Powered-By”字段包含有PHP版本信息。如果你想要在HTTP头部中隐藏PHP版本，请使用文本编辑器打开php.ini文件，找到“expose\_php = On”这一行，将它改为“expose\_php = Off”即可。

[](https://camo.githubusercontent.com/da9bfd0221df42831a9d895b1748dab2f2c43036/68747470733a2f2f6661726d342e737461746963666c69636b722e636f6d2f333835332f31343839393931373938315f616165663731656230612e6a7067)

在Debian，Ubunt或者Linux Mint上：

```
$ sudo vi /etc/php5/apache2/php.ini

```

在CentOS，Fedora，RHEL或者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) 校对：[Caroline](https://github.com/carolinewuyan)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


如何安装树莓派摄像头模块

Summary: 树莓派摄像头模块(Pi Cam)发售于2013年5月。其第一个发布版本配备了500万像素的传感器，通过排线链接树莓派上的CSI接口。而Pi Cam的第二个发布版本也被叫做Pi NoIR中，配备了相同的传感器，但没有红外线过滤装置。因此第二版的摄像头模块就像安全监控摄像机一样，可以观测到近红外线的波长(700 - 1000 nm)，不过当然同时也就牺牲了一定的显色性。 本文将会展示如何在树莓派上安装摄像头模块。 我们将使用第一版摄像头模块来演示。在安装完摄像头模块之后，你将会使用三个应用程序来访问这个模块：raspistill, raspiyuv 和raspivid。其中前

树莓派能用电池么？1

求@欧时电子RS 尽快发货呀～

回复@刁學兵:可以用移动电源。。。

@我的印象笔记

不用麻烦，本人使用罗技一款usb摄像头，linux免驱，树莓派即插即用～～

方便的东西越来越多啦~这个就当是学个CSI接口连接和安装呗

功耗，usb摄像头只要连接就要耗电了

我输入sudo raspi-config命令后出现sudo:raspi-config:command not found,怎么办啊

安装好后。没有Enable Camera（启用摄像头）选项怎么办？？？

# 如何安装树莓派摄像头模块

[树莓派摄像头模块(Pi Cam)](http://xmodulo.com/go/picam)发售于2013年5月。其第一个发布版本配备了500万像素的传感器，通过排线链接树莓派上的CSI接口。而Pi Cam的第二个发布版本——也被叫做[Pi NoIR](http://xmodulo.com/go/pinoir)中，配备了相同的传感器，但没有红外线过滤装置。因此第二版的摄像头模块就像安全监控摄像机一样，可以观测到近红外线的波长(700 - 1000 nm)，不过当然同时也就牺牲了一定的显色性。

本文将会展示**如何在[树莓派](http://xmodulo.com/go/raspberrypi)上安装摄像头模块**。 我们将使用第一版摄像头模块来演示。在安装完摄像头模块之后，你将会使用三个应用程序来访问这个模块：raspistill, raspiyuv 和raspivid。其中前两个应用用来捕捉图像，第三个应用来捕捉视频。raspistill 工具生成标准的图片文件，例如 .jpg 图像，而 raspiyuv 可以通过摄像头生成未处理的 raw 图像文件。

### 安装树莓派摄像头模块

按照以下步骤来将树莓派摄像头模块连接搭配树莓派：

1. 找到 CSI 接口(CSI接口在以太网接口旁边)，掀起深色胶带。
2. 拉起 CSI 接口挡板。
3. 拿起你的摄像头模块，将贴在镜头上的塑料保护膜撕掉。确保黄色部分的PCB(有字的一面)是安装完美的（可以轻轻按一下黄色的部分来保证安装完美）。
4. 将排线插入CSI接口。记住，有蓝色胶带的一面应该面向以太网接口方向。同样，这时也确认一下排线安装好了之后，将挡板拉下。

好了，现在你的 Pi Cam 已经准备就绪，可以拍摄照片或视频了。

### 在树莓派上启用摄像头模块

在安装完摄像头模块之后，首先要确认你已经升级了树莓派系统并应用了最新的固件。可以输入以下命令来操作：

```
$ sudo apt-get update
$ sudo apt-get upgrade

```

运行树莓派配置工具来激活摄像头模块：

```
$ sudo raspi-config

```

移动光标至菜单中的 "Enable Camera（启用摄像头）"，将其设为Enable（启用状态）。完成之后重启树莓派。

安装完摄像头模块后的完成照：

### 通过摄像头模块拍照

在重启完树莓派后，我们就可以使用Pi Cam了。要用它来拍摄照片的话，可以从命令行运行raspistill：

```
$ raspistill -o keychain.jpg -t 2000

```

这句命令将在 2000ms 后拍摄一张照片，然后保存为 keychain.jpg。下面就是一张由 Pi Cam 拍摄的我的小熊公仔钥匙链。

raspiyuv 工具用法差不多，只不过拍摄得到的是一张未处理过的raw图像。

### 通过摄像头模块拍视频

想要用摄像头模块拍一段视频的话，可以从命令行运行 raspivid 工具。下面这句命令会按照默认配置(长度5秒，分辨率1920x1080，比特率 17Mbps)拍摄一段视频。

```
$ raspivid -o mykeychain.h264

```

如果你想改变拍摄时长，只要通过 "-t" 选项来设置你想要的长度就行了（单位是毫秒）。

```
$ raspivid -o mykeychain.h264 -t 10000

```

使用 "-w" 和 "-h" 选项将分辨率降为 1280x720...

```
$ raspivid -o mykeychain.h264 -t 10000 -w 1280 -h 720

```

raspivid 的输出是一段未压缩的 H.264 视频流，而且这段视频不含声音。为了能被通常的视频播放器所播放，这个 raw 的 H.264 视频还需要转换。可以使用 gpac 包中所带有的 MP4Box 应用。

在 Raspbian 上安装 gpac，输入命令：

```
$ sudo apt-get install -y gpac

```

然后将这段 raw 的 H.264 格式的视频流转换为每秒30帧的 .mp4 格式视频：

```
$ MP4Box -fps 30 -add keychain.h264 keychain.mp4

```

视频长度为10秒，使用默认分辨率以及比特率。下面是一段通过 Pi Camera 拍摄的一段实例视频。

注：youtube视频地址

<http://www.youtube.com/embed/3uyR2AVVwAU?version=3&rel=1&fs=1&showsearch=0&showinfo=1&iv_load_policy=1&wmode=transparent>

如果想要获取 raspistill, raspiyuv 和 raspivid 的完整命令行选项，不加任何选项直接运行以上命令即可。

---

### [Kristophorus Hadiono](http://hadiono.org/blog)

Kristophorus Hadiono是一名 Linux 爱好者，并且是印度尼西亚一所民办高等学府的教师。他在日常生活中使用 Linux，也在给学生们教学的时候使用。他现在仍靠着政府的奖学金，在泰国曼谷的一所民办大学继续着学业。

---

via: <http://xmodulo.com/2014/07/install-raspberry-pi-camera-board.html>

译者：[ThomazL](https://github.com/ThomazL) 校对：[reinoir](https://github.com/reinoir)

本文由 [lctt](https://github.com/lctt/translateproject) 原创翻译，[linux中国](http://linux.cn/) 荣誉推出


怎样设置Samba文件服务器以使用Windows客户端

Summary: 根据Samba项目网站所述，Samba是一个开源/自由软件套件，提供了到SMB/CIFS客户端的无缝文件和打印服务。不同于其它SMB/CIFS网络协议部署（如HP-UX的LM服务器，OS/2的LAN服务器，或者VisionFS），Samba（及其源代码）是可以自由获取的（终端用户无需付费），允许在Linux/Unixt服务器和Windows/Unix/Linux客户端之间互操作。

Mk

mark

noreliang [Internet Explorer 11.0|Windows 8.1]

# 怎样设置Samba文件服务器以使用Windows客户端

根据[Samba](http://www.samba.org/)项目网站所述，Samba是一个开源/自由软件套件，提供了到SMB/CIFS客户端的无缝文件和打印服务。不同于其它SMB/CIFS网络协议部署（如HP-UX的LM服务器，OS/2的LAN服务器，或者VisionFS），Samba（及其源代码）是可以自由获取的（终端用户无需付费），允许在Linux/Unixt服务器和Windows/Unix/Linux客户端之间互操作。

<img src="content_image/album_201408_21_141704ulk2d2lcgtvkzcxj.jpg" alt="" title="">

出于这些理由，Samba在不同操作系统（除了Linux）共存的网络中首选的文件服务器解决方案——最常见的结构是多个微软Windows客户端访问安装有Samba的Linux服务器，该情形也是本文将要解决的问题。

请注意，另外一方面，如果我们的网络仅仅是由基于Unix的客户端（如Linux，AIX，或者Solaris，等等）组成，我们可以考虑使用NFS（尽管在此种情况下Samba仍然是可选方案），它可以提供更快的速度。

### 在Debian和CentOS中安装Samba

在我们开始安装之前，我们可以使用操作系统中的包管理系统查询Samba的信息：

在Debian上：

```
# aptitude show samba

```

在CentOS上：

```
# yum info samba

```

在下面的屏幕截图中，我们可以看到‘aptitude show samba’的输出（‘yum info samba’会产生类似的结果）：

[](https://camo.githubusercontent.com/4e259c1f85b1c7465b94bec644f9ea06d16b99db/68747470733a2f2f6661726d342e737461746963666c69636b722e636f6d2f333836382f31343833373939333234345f306661353235656233355f7a2e6a7067)

现在让我们来安装Samba吧（下面的截图来自Debian 7[Wheezy]服务器上的安装）：

在Debian上：

```
# aptitude install samba

```

在CentOS上：

```
# yum install samba

```

### 添加用户到Samba

对于4.x之前的版本，需要建立一个本地Unix帐号以便将其添加到Samba：

```
# adduser <username>

```

[](https://camo.githubusercontent.com/17e04887e02caecfdae0d114acfc3aa2df1c54fd/68747470733a2f2f6661726d362e737461746963666c69636b722e636f6d2f353537342f31343833373236363138315f666564363862646466325f6f2e706e67)

接下来，我们需要添加用户到Samba，使用带有‘-a’选项的smbpasswd命令来完成，该命令指出后面的用户名将被添加到本地smbpasswd文件中。我们将被提示输入密码（该密码无需和本地Unix帐号的密码相同）：

```
# smbpassword -a <username>

```

[](https://camo.githubusercontent.com/e8c2eefaa18e39223afdf3f617e4c69b9a8d85ca/68747470733a2f2f6661726d362e737461746963666c69636b722e636f6d2f353535352f31343635333731313039395f353738663836313363612e6a7067)

最后，我们将赋予用户xmodulo到我们系统上某个目录的访问权限，该目录将被用于作为此用户的Samba共享（如有需要，也可以共享给其它用户）。要完成该工作，请使用文本编辑器（如Vim）打开/etc/samba/smb.conf文件，导航到文件末，然后创建一个带有描述名称的区块（使用方括号将其括起来），如[xmodulo]：

```
# SAMBA SHARE
[xmodulo]
path = /home/xmodulo
available = yes
valid users = xmodulo
read only = no
browseable = yes
public = yes
writeable = yes

```

我们现在必须重启Samba—以防万一—使用testparm命令来检查smb.conf文件的语法错误：

```
# service samba restart
# testparm

```

[](https://camo.githubusercontent.com/eadd0a7b8371b92c273b82cc6331c694adfec00c/68747470733a2f2f6661726d362e737461746963666c69636b722e636f6d2f353538392f31343635333635353339305f626563623466343938315f7a2e6a7067)

如果有错误，在testparm结束后会报告。

### 在Windows 7计算机上将Samba共享映射为一个网络驱动器

在计算机上右击，然后选择“映射网络驱动器”：

[](https://camo.githubusercontent.com/1a7396f10bb45788f17693671c2f54a9e124289c/68747470733a2f2f6661726d362e737461746963666c69636b722e636f6d2f353537312f31343833373939333135345f393831623733656139322e6a7067)

输入安装了Samba的机器的IP地址，后跟共享名（就是smb.conf文件中方括号括起来的那个名称），然后确保选中了“使用不同的凭据连接”：

[](https://camo.githubusercontent.com/6bc308f7248109fff5bac2b751506fa537149765/68747470733a2f2f6661726d342e737461746963666c69636b722e636f6d2f333838312f31343833393939373137325f643637656339383933335f6f2e706e67)

输入先前用‘**smbpasswd -a**’设置的用户名和密码：

[](https://camo.githubusercontent.com/230be973bb546169b360b015192c1cb13331369e/68747470733a2f2f6661726d362e737461746963666c69636b722e636f6d2f353536332f31343635333731313032395f646466656135336264365f6f2e706e67)

进入计算机，然后检查网络驱动器是否被正确添加：

[](https://camo.githubusercontent.com/6bde1fcf5e8f1ba06d8edebb865f32b4c580a47f/68747470733a2f2f6661726d362e737461746963666c69636b722e636f6d2f353538342f31343833373939333132345f633636343732383033395f6f2e706e67)

作为测试，让我们从Samba的手册页创建一个pdf文件，然后保存到/home/xmodulo目录：

[](https://camo.githubusercontent.com/0a098b21326bc6365f0ea434f446ae76376e50d6/68747470733a2f2f6661726d362e737461746963666c69636b722e636f6d2f353539332f31343836303231393732335f653833383066306430665f6f2e706e67)

接下来，我们可以验证该文件是否可以从Windows读取：

[](https://camo.githubusercontent.com/8d38472d1a5104e28dba3442a23fb5f9751d290e/68747470733a2f2f6661726d342e737461746963666c69636b722e636f6d2f333836392f31343831373338363639365f373461313264666463645f6f2e706e67)

然后检查我们是否能够用默认的pdf阅读器打开它：

[](https://camo.githubusercontent.com/007dcf697a0ee4a2755e20550d3b541f943e88db/68747470733a2f2f6661726d362e737461746963666c69636b722e636f6d2f353538342f31343635333635353335305f386132343362313439335f7a2e6a7067)

最后，让我们看看我们是否能在Windows中刚刚映射的驱动器上保存文件。我们将打开change.log文件，该文件列出了Notepad++的功能：

[](https://camo.githubusercontent.com/52169af0f6a32d6ff0030f8756c092e18ae92136/68747470733a2f2f6661726d362e737461746963666c69636b722e636f6d2f353536352f31343831373338363637365f313863316437626336305f6f2e706e67)

然后试着将它作为普通文本文件（.txt扩展名）保存到Z:\；然后让我们看看该文件是否能在Linux中看到：

[](https://camo.githubusercontent.com/20ce5a9b7137fb30f93b479fa93f4d5547d24d47/68747470733a2f2f6661726d342e737461746963666c69636b722e636f6d2f333834312f31343831373338363635365f666230396139356136355f6f2e706e67)

### 启用磁盘配额

作为第一步，我们需要验证当前内核是否已经编译为支持配额：

```
# cat /boot/config-$(uname -r) | grep

```

[](https://camo.githubusercontent.com/277bb8985cd49586a8b1e6790a4931c4f9e8dbc7/68747470733a2f2f6661726d342e737461746963666c69636b722e636f6d2f333836372f31343833373939333035345f303831646339623064635f7a2e6a7067)

每个文件系统最多有5种类型，能够强制使用的配额限制：用户软限制，用户硬限制，组软限制，组硬限制，以及宽限期限。

我们现在将为/home文件系统启用磁盘配额，在/etc/fstab文件对应的/home文件系统行现存的默认选项后添加usrquota和grpquto挂载选项，然后重新挂载文件系统以令修改生效：

[](https://camo.githubusercontent.com/47dbc7484c82214b55da7edabb02b21b4e6fd4b2/68747470733a2f2f6661726d362e737461746963666c69636b722e636f6d2f353536312f31343635333830363036375f623862306463323333335f7a2e6a7067)

接下来，我们需要在**/home**目录创建两个文件以用于作为用户和组配额的数据库文件：**aquota.user**和**aquota.group**。然后，我们将生成启用配额后每个文件系统的当前磁盘使用表：

```
# quotacheck -cug /home
# quotacheck -avugm

```

[](https://camo.githubusercontent.com/36ce6e3b6f2573e96a88afc639a23501a64735b2/68747470733a2f2f6661726d362e737461746963666c69636b722e636f6d2f353538342f31343833373236353937315f363534653866336263305f6f2e706e67)

尽管已经为/home文件系统启用磁盘配额，我们还没有给任何用户或组设置权限。检查现有用户/组的配额信息：

```
# quota -u <username>
# quota -g <groupname>

```

[](https://camo.githubusercontent.com/3f2ea264b3b3d92da3c23a8619441ef290985aa6/68747470733a2f2f6661726d362e737461746963666c69636b722e636f6d2f353538322f31343635333733353834385f386465383864363963345f6f2e706e67)

在这最后几步中，使用quotatool命令来为每个用户和/或组来分配磁盘配额（注意，该任务也可以使用edquota来完成，但是quotatool更为直接，更不易犯错）。

要为用户xmodulo设置软限制为4MB，硬限制为5MB，xmodulo组为10MB/15MB：

```
# quotatool -u xmodulo -bq 4M -l '5 Mb' /home
# quotatool -g xmodulo -bq 10M -l '15 Mb' /home

```

[](https://camo.githubusercontent.com/3a83240f44647884116f9b23d2354853c92bbccf/68747470733a2f2f6661726d342e737461746963666c69636b722e636f6d2f333838382f31343635333830363033375f353433386235303334655f7a2e6a7067)

我们可以在Windows 7中看到结果（4.00MB中有3.98MB空闲）：

[](https://camo.githubusercontent.com/05a3e1f949adee7651829a4a310c14cb6577882c/68747470733a2f2f6661726d342e737461746963666c69636b722e636f6d2f333931392f31343635333830353936375f633262313535313836395f6f2e706e67)

---

via: <http://xmodulo.com/2014/08/samba-file-server-windows-clients.html>

作者：[Gabriel Cánepa](http://xmodulo.com/author/gabriel) 译者：[GOLinux](https://github.com/GOLinux) 校对：[Caroline](https://github.com/carolinewuyan)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


Summary: Atom是Github上时髦的，功能丰富的开源文本编辑器。目前，它正处于测试阶段，但如果你对它很好奇，那我们就来看看如何在 Ubuntu 14.04 和 Linux Mint 17 上安装 Atom。无论是在外观，还是在功能上，Atom 都有很多与Sublime Text editor相似之处。Sublime Text editor是一个功能强大，并深受程序员喜爱的跨平台文本编辑器，可惜它是闭源的。事实上，在Sublime Text的灵感下，Atom 并不是唯一即将到来的文本编辑器。Lime Text是 Sublime Text 的开源克隆，目前正处于开发中。

可惜不能转pdf

请问linux minit和Ubuntu哪个体验好

# 在 Ubuntu 14.04 和 Linux Mint 17 上安装 Atom 文本编辑器

[](https://camo.githubusercontent.com/c28964e81de63a65aeda4500cbb8e880ae512d45/687474703a2f2f697473666f73732e697473666f73732e6e6574646e612d63646e2e636f6d2f77702d636f6e74656e742f75706c6f6164732f323031342f30382f496e7374616c6c5f41746f6d5f496e5f5562756e74755f4c696e75785f4d696e742e6a706567)

[Atom](https://atom.io/)是[Github](https://github.com/)上时髦的，功能丰富的开源文本编辑器。目前，它正处于测试阶段，但如果你对它很好奇，那我们就来看看**如何在 Ubuntu 14.04 和 Linux Mint 17 上安装 Atom。**

[](https://camo.githubusercontent.com/e89d0b34e2d13bf8665cb01a666e56798a4ff5ad/687474703a2f2f697473666f73732e697473666f73732e6e6574646e612d63646e2e636f6d2f77702d636f6e74656e742f75706c6f6164732f323031342f30382f41746f6d5f456469746f722e6a706567)

无论是在外观，还是在功能上，Atom 都有很多与[Sublime Text editor](http://www.sublimetext.com/)相似之处。Sublime Text editor是一个功能强大，并深受程序员喜爱的跨平台文本编辑器，可惜它是闭源的。事实上，在Sublime Text的灵感下，Atom 并不是唯一即将到来的文本编辑器。[Lime Text](http://itsfoss.com/lime-text-open-source-alternative/)是 Sublime Text 的开源克隆，目前正处于开发中。

废话不多说，让我们来看看如何在 Ubuntu 14.04 和 Linux Mint 17 下安装 Atom 编辑器。

### 通过PPA源，在Ubuntu和Linux Mint下安装Atom

因为 Atom 正处于测试阶段，截止到我写这篇文章前，还没有 Linux 下的二进制文件。但是不用担心，你不需要亲自去编译这些代码（当然如果你乐意的话，你也可以这么做）。感谢[Webupd8 team’s](https://launchpad.net/~nilarimogard/+archive/ubuntu/webupd8)的努力，我们拥有了一个可以很容易将 Atom 安装在32位和64位系统上的PPA。

打开终端，然后使用下面的命令行：

```
sudo add-apt-repository ppa:webupd8team/atom
sudo apt-get update
sudo apt-get install atom

```

就这么简单，你可以通过 Ubuntu 下的 Unity Dash 和 Linux Mint 里的应用程序菜单启动 Atom 编辑器。

### 从Ubuntu和Linux Mint卸载Atom

可能，你想要从系统中卸载 Atom 的原因有很多种。不稳定可能是主要原因之一。好吧，不管什么原因，我来说下怎么卸载Atom：

```
sudo apt-get remove atom
sudo add-apt-repository --remove ppa:webupd8team/atom

```

这些命令会移除 Atom 和 PPA 仓库，运行 auto remove 也是个好方法：

```
sudo apt-get autoremove

```

### 你有哪些使用 Atom 的体验？

如果你尝试了Atom，请和我们分享你的体验。你觉的它会成为你最喜欢的文本编辑器吗？

---

via: <http://itsfoss.com/install-atom-text-editor-ubuntu-1404-linux-mint-17/>

作者：[Abhishek](http://itsfoss.com/author/Abhishek/) 译者：[su-kaiyao](https://github.com/su-kaiyao) 校对：[Caroline](https://github.com/carolinewuyan)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


释伴：Linux 上的 Shebang 符号(#!)

Summary: 使用Linux或者unix系统的同学可能都对#!这个符号并不陌生，但是你真的了解它吗？ 本文将给你简单介绍一下Shebang（#!）这个符号。  首先，这个符号（#!）的名称，叫做Shebang或者Sha-bang。 词源与历史 Shebang的名字来自于SHArp和bang，或haSH bang的缩写，指代Shebang中#!两个符号的典型Unix名称。 Unix术语中，井号通常称为sharp，hash或mesh；而叹号则常常称为bang。也有看法认为，shebang名字中的sh来自于默认shellBourne shell的名称，sh，因为常常使用shebang调用之。 在2010年版的Advanced bash scripting guide（revision 6.2

码

好像abs还是乌龟书里面还讲了shabang的长度限制

长见识了#!/bin/ksh我还以为只是个简单的规范

蛇棒……

哈哈哈哈哈蛇棒 //@Linux中国:目前为止 shebang 还没有一个大家认可的中文译名，大家说该怎么翻译比较好？//@比特暴民: 蛇棒……

预执行指令//@Linux中国:目前为止 shebang 还没有一个大家认可的中文译名，大家说该怎么翻译比较好？//@比特暴民: 蛇棒……

这东西还有专门的名字，没有想到。 //@Linux中国:目前为止 shebang 还没有一个大家认可的中文译名，大家说该怎么翻译比较好？ //@比特暴民: 蛇棒……

//@CyberSecurity:井叹号 //@Linux中国:目前为止 shebang 还没有一个大家认可的中文译名，大家说该怎么翻译比较好？//@比特暴民: 蛇棒……

蛇棒

mark 射棒[偷笑] //@Linux中国:目前为止 shebang 还没有一个大家认可的中文译名，大家说该怎么翻译比较好？//@比特暴民: 蛇棒……

回复@王宇昆山:瑟爆 //@王宇昆山:中文名应该叫“瑟爆”——这个图是汉字“寒”字的中间部分：本来就寒冷，帽子和鞋又没了，冻得倒地不起，不是[呵呵]“瑟爆”是什么？

回复@王宇昆山:瑟爆

左#读sharp，右!读棒，“sharp棒”中间连读，即成“傻棒”，又与英文名shabang契合。//@Linux中国: →_→//@Cth_framebuffer: 傻棒。。。//@Linux中国: 目前为止 shebang 还没有一个大家认可的中文译名，大家说该怎么翻译比较好？//@比特暴民: 蛇棒……

[委屈]一直读的井号叹号………………原来有专门的名字啊

啥？嘣！ //@Linux中国:目前为止 shebang 还没有一个大家认可的中文译名，大家说该怎么翻译比较好？//@比特暴民: 蛇棒……

我觉得从意义上来说，这是一种设定、帮助程序执行的，考虑到发音，叫“设帮”比较好？求信雅达的翻译灵感。//@比特暴民: 左#读sharp，右!读棒，“sharp棒”中间连读，即成“傻棒”，又与英文名shabang契合。//@Linux中国: 目前为止 shebang 还没有一个大家认可的中文译名，大家说该怎么翻译比较好？

Shebang，释绑，起“绑定解释器”之意。:)

PS：楼下“傻棒”译名的，确实有才。要不要考虑来新东方深造。

我一直叫它蛇绑

# 释伴：Linux 上的 Shebang 符号(#!)

使用 Linux 或者 unix 系统的同学可能都对 `#!` 这个符号并不陌生，但是你真的了解它吗？

本文将给你简单介绍一下 Shebang（“`#!`”）这个符号。

这个符号（`#!`）的名称，叫做“Shebang”或者“Sha-bang”。长期以来，shebang 都没有正式的中文名称。Linux 中国翻译组的 GOLinux 将其翻译为：**释伴**，即解释伴随行的简称，同时又是 shebang 的音译。

### 词源与历史

Shebang 的名字来自于 SHArp 和 bang，或 haSH bang 的缩写，用来指代 Shebang 中 `#!` 两个符号的典型 Unix 名称。 Unix 术语中，`#`号通常称为 sharp，hash 或 mesh；而`!`号则常常称为 bang。也有看法认为，shebang 名字中的 sh 来自于默认 shell —— Bourne shell 的名称 sh，因为常常使用 shebang 调用之。

在 2010 年版的 [Advanced bash scripting guide](http://tldp.org/LDP/abs/html/)（revision 6.2）中，shebang 被称为“sha-bang”，同时提到“也写作 she-bang 或 sh-bang”，但该文件中没有提到“shebang”这一形式。

[丹尼斯·里奇](http://zh.wikipedia.org/wiki/%E4%B8%B9%E5%B0%BC%E6%96%AF%C2%B7%E9%87%8C%E5%A5%87 "丹尼斯·里奇")在被问及他会如何称呼这一特性时，他答道：

>
> 发信人："Ritchie, Dennis M (Dennis)\*\* CTR \*\*" <dmr@[redacted]>
>
>
> 收信人：<[redacted]@talisman.org>
>
>
> 日期：Thu, 19 Nov 2009 18:37:37 -0600
>
>
> 主题：RE: What do -you- call your #!<something> line?
>
>
> 我不记得我们曾经给它取过一个适当的名字。导入这一特性已经是相当晚了--我觉得我是从关于伯克利 Unix 的 UCB 会议上的某人那里得到的这一灵感；我可能是首先实现它的人之一，但这个创意是来自于别人的。
>
>
> 至于它的名字：可能是类似于“hash-bang”的英国风描述性文字，但我没有在任何场合使用类似宠物的名字来描述它。
>
>
> 此致,
>
>
> Dennis
>
>
>

### 用途

Shebang 这个符号通常在 Unix 系统的脚本中第一行开头中写到，它指明了执行这个脚本文件的解释程序。

1. 如果脚本文件中没有 `#!` 这一行，那么它执行时会默认用当前 Shell 去解释这个脚本(即：`$SHELL` 环境变量）。

2. 如果`#!`之后的解释程序是一个可执行文件，那么执行这个脚本时，它就会把文件名及其参数一起作为参数传给那个解释程序去执行。

3. 如果`#!`指定的解释程序没有可执行权限，则会报错“bad interpreter: Permission denied”。如果`#!`指定的解释程序不是一个可执行文件，那么指定的解释程序会被忽略，转而交给当前的 shell 去执行这个脚本。

4. 如果`#!`指定的解释程序不存在，那么会报错“bad interpreter: No such file or directory”。注意：`#!`之后的解释程序，需要写其绝对路径（如：`#!/bin/bash`），它是不会自动到 $PATH 中寻找解释器的。

5. 当然，如果你使用 `bash test.sh` 这样的命令来执行脚本，那么`#!`这一行将会被忽略掉，解释器当然是用命令行中显式指定的 bash。


在Linux上安装Android 4.4 KitKat来玩玩喜爱的游戏和应用

Summary: Android (x86)项目致力于移植Android系统到X86处理器上，使用户可以更容易的在任何电脑上安装Android。他们通过使用android源码，增加补丁来使Android能够在X86处理器，笔记本电脑和平板电脑下工作。前一段时间，项目组发布了最新的“Android KitKat 4.4 RC2”，下面，我将说明如何在VirtualBox上安装，不过有一个小问题，安装完成Android后鼠标指针不工作了，我猜，如果你根据本教程将它安装成主系统，这个鼠标应该可以工作，否则我们只能使用键盘了。

[求关注][求关注]

转发微博。

我会说，关掉vbox里面的鼠标指针自动切换选项，鼠标就可以用了吗？

最右你有试过在开发者选项里打开触摸反馈么//@Linux中国://@玟茵开源: 我会说，关掉vbox里面的鼠标指针自动切换选项，鼠标就可以用了吗？

马了改天玩玩//@Linux中国://@玟茵开源: 我会说，关掉vbox里面的鼠标指针自动切换选项，鼠标就可以用了吗？

安卓最初的賣點之一不就是指令集無關麼，而且x86版最開始就有何謂移植…文中的方法用虛擬機了，還不如直接用sdk提供的x86虛擬機。真正的移植是讓Android/dalvik/art跑在X11/wayland/gnu userland下，而不是借助虛擬化技術

回复@farseerfc:说的对…用虚拟技术就算了

这个好玩。。。

学习学习

有空玩玩

# 在Linux上安装Android 4.4 KitKat来玩玩喜爱的游戏和应用

**Android (x86)**项目致力于移植Android系统到X86处理器上，使用户可以更容易的在任何电脑上安装Android。他们通过使用android源码，增加补丁来使Android能够在X86处理器，笔记本电脑和平板电脑下工作。

*在Linux安装Android 4.4 KitKat*

前一段时间，项目组发布了最新的“Android KitKat 4.4 RC2”，下面，我将说明如何在VirtualBox上安装，不过有一个小问题，安装完成Android后鼠标指针不工作了，我猜，如果你根据本教程将它安装成主系统，这个鼠标应该可以工作，否则我们只能使用键盘了。

### 第一步: 在linux上安装VirtualBox

**1.** 大多数的Linux发行版中，官方源都有VirtualBox，例如在Ubuntu中安装

```
$ sudo apt-get install virtualbox

```

其他的Linux发行版，像**RHEL, CentOS and Fedora**,请参考下面文章来安装VirtualBox

* [Install VirtualBox in RHEL, CentOS and Fedora](http://www.tecmint.com/install-virtualbox-on-redhat-centos-fedora/)

### 第二步: 下载并在VirtualBox中安装Android 4.4 kitkat

**2.** 这步挺简单的，只是需要去[androud Sourceforge.net](http://sourceforge.net/projects/android-x86/)项目下载 **Android 4.4 x86 Kit Kat**文件

**3.** 要想安装**Android 4.4 kitkat**，首先，你需要启动刚刚下载.iso文件，打开 **VirtualBox**,创建一个新的虚拟机，然后按照下面图片设置：

*创建新的虚拟机*

**4.** 接下来，它会询问你新设备的内存大小，Android 4.4 kikat需要1G内存才能完美运行，但是由于我的电脑只有1G内存，我只能选择512MB。

*设置内存*

**5.** 选择“现在创建虚拟硬盘”（“Create a virtual hard drive now”）来创建一个新的硬盘。

*创建虚拟硬盘*

**6.** 它现在会询问你新虚拟硬盘的类型，选择**VDI**

*选择硬盘驱动类型*

*选择存储方式*

**7.** 现在设置虚拟硬盘大小，你可以按照你的所需来设置任何大小，但是除了将来安装Apps所用的空间，至少需要**4G**来保证系统正确安装。

*设置虚拟硬盘大小*

**8.** 现在你的新虚拟设备创建好了，可以启动下载的**.iso**文件了，从左边的列表选择创建的虚拟机，点击**设置** -> **存储** ，如下图，选择**android 4.4 kitkat RC2**的镜像文件。

*选择Android KitKat ISO*

**9.** 点击**OK**, 打开机器,启动.iso镜像, 选择 “**安装**” 开始在虚拟机上安装系统.

*选择安装Android Kit Kat*

**10.** 请选择一个分区来安装Android-x86

*选择 Partition Drive*

**11.** 如下图，你可以看见cfdisk界面，cfdisk是一个分区工具，我们将要使用它来创建一个新的硬盘分区，用来安装Android 4.4，现在，点击 “**New**”

*创建新分区*

**12.** 选择“**Primary**”作为分区类型

*选择主分区*

**13.** 接下来，设置分区大小

*设置分区大小*

**14.** 现在我们必须给硬盘创建新的引导使其能够写入新的分区表，点击“**Bootable**”给引导标记新的分区，你不会注意到有任何变化，但是引导标记将会自己给选中分区。

*制作分区引导*

**15.** 完成之后，点击“**Write**”对硬盘写入新的分区。

*应用新分区*

**16.** 它会询问你是否确认，输入“**yes**”并点击**Enter**

*确认分区改变*

**17.** 现在我们的新硬盘已经创建，点击 **Quit** 你就可以看来类似下图的显示，选中刚刚创建的用来安装Android 的分区，点击**Enter**

*选择分区来安装Android*

**18.** 选择“**ext3**”作为硬盘文件系统并格式化

*选择Ext3分区类型*

*格式化分区*

**19.** 它将会询问你是否需要安装GRUB启动器，当然选择**Yes**，如果不这样，你将不能启动新系统，所以选择**Yes**并点击**Enter**

*安装启动加载器 GRUB*

**20.** 最后，它会问你是否设置**/system**分区能写入，选择**yes**，它会在安装完系统后帮助你减少很多麻烦。

*使分区能写入*

**21.** 安装将会开始它的任务，安装器结束工作后，选择重启，在我做测试的时候，“Run-Android x86”不起作用，所以你不得不重启。

*Android Kit kat 安装完成*

**22.** 我们已经完成安装**Android 4.4 KitKat RC2**，问题是VirtualBox将会继续加载**.iso**镜像文件而不是从虚拟硬盘驱动启动，所以为了修正这个问题，选择**设置** -> **存储** ->移除iso文件

*移除Android Kit Kat 镜像*

**23.** 你可以启动你的虚拟设备，运行你的Android系统了

*启动Android Kit Kat 系统*

*Android标志界面*

**24.** 使用**Android**之前，你需要完成一个向导来进行配置。你会看见如下屏幕，现在的问题是，鼠标不能在**android 4.4 kitkat**工作，这意味着我们需要展示我们高超的键盘试用技巧了。首先，选择语言，你需要使用键盘**上**键和**下**键，进行到下一步，敲击**右**键移动光标，选择**Enter**

*Android 欢迎界面*

*选择WiFi网络*

*创建Android Google账户*

*注册Google账户*

*设置日期和时间*

*输入你的信息*

*Android 4.4 Kit Kat 主界面*

如果你没有智能手机而又想轻松使用**Play Store** apps，那么安装**Android x86**是个不错的选择。你曾经尝试过安装android x86吗？结果怎样呢？你有没有想过android可以成为一个目标指向桌面功能的**真正操作系统**？

作者：[Hanny Helal](http://www.tecmint.com/)，自2010年起，成为Linux和自由软件用户，致力于多个自由软件项目。

---

via: <http://www.tecmint.com/install-android-kitkat-in-linux/>

译者：[Vic\_\_\_](http://www.vicyu.net/) 校对：[Caroline](https://github.com/carolinewuyan)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


检查linux中硬盘损坏的扇区和区块

Summary: badblocks是linux及其类似的操作系统中，扫描检查硬盘和外部设备损坏扇区的命令工具。损坏的扇区或者损坏的区块是硬盘中因为永久损坏或者是操作系统不能读取的空间。Badblocks命令可以探测硬盘中所有损坏的扇区或者区块并将结果保存在一个文本文档中，这样，我们就可以使用e2fsck命令来配置操作系统不在这些损坏的扇区中存储数据。

@我的印象笔记

马

e2fsck命令使系统不使用磁盘坏存储区。

很有用！

# 检查linux中硬盘损坏的扇区和区块

**badblocks**是linux及其类似的操作系统中，扫描检查硬盘和外部设备损坏扇区的命令工具。损坏的扇区或者损坏的区块是硬盘中因为永久损坏或者是操作系统不能读取的空间。

<img src="content_image/album_201408_25_091940ulcoy5ny0t4ve4yz.jpg" alt="" title="">

Badblocks命令可以探测硬盘中所有损坏的扇区或者区块并将结果保存在一个文本文档中，这样，我们就可以使用**e2fsck**命令来配置操作系统不在这些损坏的扇区中存储数据。

### 步骤:1 使用fdisk命令识别硬盘信息

```
# sudo fdisk -l

```

### 步骤:2 扫描硬盘的损坏扇区或区块

```
# sudo badblocks -v /dev/sdb > /tmp/bad-blocks.txt

```

只需将“/dev/sdb”替换为自己机器的硬盘/分区。执行完成上述命令后，一个名为“bad-blocks”文本文档将会在/tmp下创建，它将包含所有的损坏区块。

例如：

[](https://camo.githubusercontent.com/8464ef3cc91386ae99f17d873221becf608e8961/687474703a2f2f7777772e6c696e757874656368692e636f6d2f77702d636f6e74656e742f75706c6f6164732f323031342f30382f626164626c6f636b732e706e67)

### 步骤: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](http://www.linuxtechi.com/author/pradeep/) 译者：[Vic\_\_\_](http://www.vicyu.net/) 校对：[Caroline](https://github.com/carolinewuyan)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


[快速技巧]如何设定你的 Ubuntu 14.04 自动关机

Summary: 当你系统还在运行某些程序的时候，无法关闭计算机，但是你又不能让计算机跑一整夜！可能你会发现你曾面临相似的处境：你需要在Ubuntu或者其它Linux系统下设定计算机自动关机。在这篇文章中，我们就来看看如何使用GUI或者在CLI下设定你的Ubuntu关机.使用EasyShutdown设定你的Ubuntu关机。

# [快速技巧]如何设定你的 Ubuntu 14.04 自动关机

[](https://camo.githubusercontent.com/60c86509924b3822714b19fb1b8f40ed2fd57170/687474703a2f2f697473666f73732e697473666f73732e6e6574646e612d63646e2e636f6d2f77702d636f6e74656e742f75706c6f6164732f323031342f30382f5363686564756c655f53687574646f776e5f5562756e74752e6a706567)

当你系统还在运行某些程序的时候，无法关闭计算机，但是你又不能让计算机跑一整夜！可能你会发现你曾面临相似的处境：你需要在Ubuntu或者其它Linux系统下设定计算机自动关机。

在这篇文章中，我们就来看看如何使用GUI或者在CLI下设定你的Ubuntu关机.

### 使用EasyShutdown设定你的Ubuntu关机

EasyShutdown是一个轻量级的应用程序，它提供给你简洁的GUI，你可以很容易就能设定你的Ubuntu关机。你可以在[EasyShutdown的launchpad页面下载.deb文件](https://launchpad.net/easyshutdown)。只要双击它，就可以安装了。默认情况下，它会打开Ubuntu Software Center

安装完成，从Unity Dash启动它。界面非常简单，你只需要提供你想关机的时间就可以了。举个例子：如果你想在03:30 AM关机，像下图那样操作：

[](https://camo.githubusercontent.com/4d587732babf4e4cd09a8243f9011e9f013cd87c/687474703a2f2f697473666f73732e697473666f73732e6e6574646e612d63646e2e636f6d2f77702d636f6e74656e742f75706c6f6164732f323031342f30382f5363686564756c655f536875646f776e5f5562756e74752e6a706567)

请注意：EasyShutdown并没有后台程序或者系统托盘，所以，你必须让它一直运行，否则将不能正常工作。但EasyShutdown的优点是：它会在你安排关机时间的前一分钟通知你，那样你就可以选择停止它。

### 使用命令行设定Ubuntu关机

使用命令行选项来**安排Ubuntu关机**同样很简单。你要做的就是使用“shutdown”命令。举个例子：想在03:30 AM关机，你可以使用下面的命令：

```
 sudo shutdown -h 03:30

```

注意，你必须一直运行这个命令。所以要么保持这个终端，要么在后台运行。

我希望这些快速技巧可以帮助您学会如何设定Ubuntu或者其它Linux系统自动关机，比如Linux Mint。如有问题或者建议欢迎您随时提出。

---

via: <http://itsfoss.com/schedule-shutdown-ubuntu/>

作者：[Abhishek](http://itsfoss.com/author/Abhishek/) 译者：[su-kaiyao](https://github.com/su-kaiyao) 校对：[Caroline](https://github.com/carolinewuyan)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


Budgie桌面5.1 ：给保守用户的超好桌面环境

Summary: Evolve OS的开发者Ikey Doherty，制作了这款叫做Budgie Desktop的新桌面环境并且发布了它的新版本。 Evolve OS还没有发布，但开发者正积极地进行关于它的工作。系统中并没有采用任何现有的桌面环境，他们决定最好还是制作一个自己的。这个桌面基于GNOME并用了不少GNOME的包，但它看起来却截然不同。事实上，它使用了与MATE和Cinnamon桌面相同的模式，尽管Budgie似乎更有现代感更优美一些。 有趣的是，桌面这个关键的技术部分却先于其将要服务的操作系统发布了，但是对此感兴趣的用户完全不必惊讶。由此也出现了可用于Ubuntu 14.04 LTS 和U

很赞！转了。有机会试试！

没有拍扁，差评！

背景图片挺好看

这不是Chrome OS的即视感吗？

这不是KDE吗

运行速度慢，可能只在我机子上体现，不怎么进这个桌面。

看起来挺特别的

“进化”os的包管理器到现在我都没明白是怎么回事，居然是个从来没听说过的Pisi

传统桌面，值得一试。

# Budgie桌面5.1 ：给保守用户的超好桌面环境

<img src="content_image/album_201408_25_232740gb6p4bjvvii5bdp8.jpg" alt="" title="">

**Evolve OS的开发者Ikey Doherty，制作了这款叫做Budgie Desktop的新桌面环境并且发布了它的新版本。**

Evolve OS还没有发布，但开发者正积极地进行关于它的工作。系统中并没有采用任何现有的桌面环境，他们决定最好还是制作一个自己的。这个桌面基于GNOME并用了不少GNOME的包，但它看起来却截然不同。事实上，它使用了与MATE和Cinnamon桌面相同的模式，尽管Budgie似乎更有现代感更优美一些。

有趣的是，桌面这个关键的技术部分却先于其将要服务的操作系统发布了，但是对此感兴趣的用户完全不必惊讶。由此也出现了可用于Ubuntu 14.04 LTS 和Ubuntu 14.10的[PPA](https://launchpad.net/%7Esukso96100/+archive/ubuntu/budgie-desktop)，但这不是官方的。Arch Linux用户也将还会在AUR库中发现新的桌面环境。

“从V4版本以来，几乎所有的改变都与面板有关。它已被使用Vala语言重写，这降低了维护开销也大大降低了新贡献者进入的门槛。所以，如果你使用OBS的话，当你（希望是）今天在OBS上获取到更新，或者对Evolve OS用户，你已经安装了更新，你将只能感觉到很小的视觉差异。我的想法是不去改变外观，而是重写代码来使它更好些。”

“将它重写成Vala语言的程序付出了很多努力，但马上就会见到成效。将来桌面整个都将会用Vala重写，成为‘第二次写’——第二次我们会做的更好”Ikey Doherty在发布[公告](https://evolve-os.com/2014/07/20/budgie-desktop-v5-1-released/)中这样说。

虽然这个桌面环境看起来已经很好了，但从版本号码可以看出，还是有很多的提升空间。开发者承诺，下一个版本6.x系列，将允许用户使用任何libpeas支持的语言编写插件，其中语言包括C，Vala，JavaScript和Python。

用户还会注意到，Budgie桌面的一些主要元素仍然保持原样，像菜单的位置以及图标的大小。将来，有可能可以去改变它们，但现在，用户需要关心的是哪些是可用的。

即使在这个初期阶段，Budgie桌面5.1看起来也要比那些可以在其他操作系统上找到的很多可选的桌面要好。

立即下载支持Ubuntu和Arch Linux的源代码包

* [GIT 源代码](https://github.com/evolve-os/budgie-desktop/)[sources] [0 KB]
* [Ubuntu 14.04 PPA 库](https://launchpad.net/%7Esukso96100/+archive/ubuntu/budgie-desktop?field.series_filter=trusty)[ubuntu\_deb] [0 KB]
* [Arch Linux 二进制包](https://aur.archlinux.org/packages/budgie-desktop-git)[binary] [0 KB]

---

via: <http://news.softpedia.com/news/Budgie-Desktop-5-1-Is-a-Superb-New-Desktop-Environment-For-Conservative-Users-451477.shtml>

原文作者：[Silviu Stahie](http://news.softpedia.com/editors/browse/silviu-stahie)

译者：[linuhap](https://github.com/linuhap) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


Linux 内核测试和调试（4）

Summary: 自动测试工具 这里列出一些能满足不同需求的测试工具供你选择。本小节只是简单介绍个大概，并不提供详细操作指南。 AuToTest  AuToTest 是一个全自动测试框架，存在的主要目的就是测试 Linux 内核，当然也可以用来测试其他东西，比如测试一块新硬件是否能稳定工作。AuToTest 是开源软件，以 GPL 方式授权，运行于 server-client 架构（即 C/S 架构）。你可以通过配置 server 端来对运行了 client 端的系统执行初始化、运行与监测工作，也可以自己在目标系统上让 client 运行起来。另外你可以为这个测试框架添加测试用例，详情请参考AuToTe

转发微博。

先转

好高端哟~

mark

柳青日 >>>[思考]>买粉Qз９8зO５4

竟然有autotest...每天都在用..hoho

分享点你的经验呗。

autotest的框架大体分为server端和client端,目前client端中包含了几十种类型的小测试框架,client端里最成熟的是虚拟化测试,他在里面有自己的一个成熟框架virt-test,我目前使用的最多的就是virt-test,因为我做的是虚拟化相关的东西,大体结构是这样的:

autotest-----server

           |

            -----client------cgroup-test

                        |

                        ------stress

                        |

                        ------ (其他很多测试类型)

                        |

                        -------virt-test-----qemu

                                          |

                                          -----libvirt

这是个纯python的框架,测试脚本也是用python写的,virt-test里每个测试分为测试文件和对应的测试配置文件,根据配置文件,一个测试文件可以测试任意多个测试case.virt-test不仅仅是对guest进行测试,对HOST以及远端HOST也能进行测试,比如测试文件系统的使用等等

写篇小文出来如何？

# Linux 内核测试和调试（4）

### 自动测试工具

这里列出一些能满足不同需求的测试工具供你选择。本小节只是简单介绍个大概，并不提供详细操作指南。

#### [AuToTest](http://autotest.github.io/)

>
> AuToTest 是一个全自动测试框架，存在的主要目的就是测试 Linux 内核，当然也可以用来测试其他东西，比如测试一块新硬件是否能稳定工作。AuToTest 是开源软件，以 GPL 方式授权，运行于 server-client 架构（即 C/S 架构）。你可以通过配置 server 端来对运行了 client 端的系统执行初始化、运行与监测工作，也可以自己在目标系统上让 client 运行起来。另外你可以为这个测试框架添加测试用例，详情请参考[AuToTest 白皮书](https://github.com/autotest/autotest/wiki/WhitePaper)。
>
>
>

#### Linaro Automated Validation Architecture

>
> LAVA 自动测试框架用于自动安装于运行测试。举个例子：你在 LAVA 里面只需运行几个命令就可以跑 LTP（LCTT：Linux Test Project，中文是 Linux 测试计划，SGI发起并由IBM负责维护，目的是为开源社区提供测试套件来验证Linux的可靠性、健壮性和稳定性）。通过 LAVA 命令可以自动为你安装 LTP 所需要的所有依赖包，下载源码、编译编码、将 LTP 安装到某个独立的地方，方便卸载 LTP 时能移除所有二进制文件。安装好 LTP 后，运行 LAVA 命令时添加 'ltp' 选项就可以运行 LTP 测试任务了，它会将测试结果以文件方式保存下来，文件名包含测试名称、时间戳。这些测试结果可以留着供以后参考。这是个发现软件退化（如果软件退化了的话）的好方法。下面列出 LAVA 配合 LTP 使用的一些命令：
>
>
>

显示 LAVA 支持的测试列表：

```
lava-test list-tests

```

安装测试套件：

```
lava-test install ltp

```

运行测试：

```
lava-test run ltp

```

查看结果：

```
lava-test results show ltp-timestamp.0

```

卸载测试套件：

```
lava-test uninstall ltp

```

### 内核调试功能

Linux 内核本身包含很多调试功能，比如 kmemcheck 和 kmemleak。

<img src="content_image/album_201408_25_235728nl3i7772sll1v6xz.png" alt="" title="">

#### kmemcheck

>
> kmemcheck 是一个动态检查工具，可以检测出一些未被初始化的内存（LCTT：内核态使用这些内存可能会造成系统崩溃）并发出警告。它的功能与 Valgrind 类似，只是 Valgrind 运行在用户态，而 kmemchecke 运行在内核态。编译内核时加上 CONFIG\_KMEMCHECK 选项打开 kmemcheck 调试功能。你可以阅读 Documentation/kmemcheck.txt 来学习如何配置使用这个功能，以及如何看懂调试结果。
>
>
>

#### kmemleak

>
> kmemleak 通过类似于垃圾收集器的功能来检测内核是否有内存泄漏问题。而 kmemleak 与垃圾收集器的不同之处在于前者不会释放孤儿目标（LCTT：不会再被使用的、应该被释放而没被释放的内存区域），而是将它们打印到 /sys/kernel/debug/kmemleak 文件中。用户态的 Valgrind 也有一个类似的功能，使用 --leak-check 选项可以检测并报错内存泄漏问题，但并不释放这个孤儿内存。编译内核时使用 CONFIG\_DEBUG\_KMEMLEAK 选项打开 kmemcleak 调试功能。阅读 Documentation/kmemleak.txt 来学习怎么使用这个工具并读懂调试结果。
>
>
>

### 内核调试接口

Linux 内核通过配置选项、调试用的 API、接口和框架来支持动态或静态的调试。我们现在就好好学习学习这些牛逼的功能，从静态编译选项开始讲。

### 调试配置选项：静态编译

大部分 Linux 内核以及内核模块都包含调试选项，你只要在编译内核或内核模块的时候添加这个静态调试选项，程序运行时后就会产生调试信息，并记录在 dmesg 缓存中。

### 调试的 API

调试 API 的一个很好的例子是 DMA-debug，用来调试驱动是否错误使用了 DMA 提供的 API。它会跟踪每个设备的映射关系，检测程序有没有试图为一些根本不存在的映射执行“取消映射”操作，检测代码建立 DMA 映射后可能产生的“映射丢失”的错误。内核配置选项 CONFIG\_HAVE\_DMA\_APT\_DEBUG 和 CONFIG\_DMA\_API\_DEBUG 可以为内核提供这个功能。其中，CONFIG\_DMA\_API\_DEBUG 选项启用后，内核调用 DMA 的 API 的同时也会调用 Debug-dma 接口。举例来说，当一个驱动调用 dma\_map\_page() 函数来映射一个 DMA 缓存时，dma\_map\_page() 会调用debug\_dma\_map\_page() 函数来跟踪这个缓存，直到驱动调用 dma\_unmap\_page() 来取消映射。详细内容请参考[使用 DMA 调试 API 检测潜在的数据污染和内存泄漏问题](http://events.linuxfoundation.org/sites/events/files/slides/Shuah_Khan_dma_map_error.pdf)。

### 动态调试

动态调试功能就是你可以决定在程序运行过程中是否要 pr\_debug(), dev\_dbg(), print\_hex\_dump\_debug(), print\_hex\_dump\_bytes() 这些函数正常运行起来。什么意思？当程序运行过程中出现错误时，你可以指定程序打印有针对性的、详细的调试信息。这功能牛逼极了，我们不再需要为了添加调试代码定位一个问题，而重新编译安装内核。你可以指定 CONDIF\_DYNAMIC\_DEBUG 选项打开动态调试功能，然后通过 /sys/kernel/debug/dynamic\_debug/control 接口指定要打印哪些调试日志。下面分别列出代码级别和模块级别打印日志的操作方法：

让 kernel/power/suspend.c 源码第340行的 pr\_debug() 函数打印日志：

```
echo 'file suspend.c line 340 +p' > /sys/kernel/debug/dynamic_debug/control

```

让内核模块在加载过程中打开动态调试功能：

>
> 使用 modprobe 命令加在模块时加上 dyndbg='plmft' 选项。
>
>
>

让内核模块的动态调试功能在重启后依然有效：

>
> 编辑 /etc/modprobe.d/modname.conf 文件（没有这个文件就创建一个），添加 dyndbg='plmft' 选项。然而对于哪些通过 initramfs 加载的驱动来说，这个配置基本无效（LCTT：免费奉送点比较高级的知识哈。系统启动时，需要先让 initramfs 挂载一个虚拟的文件系统，然后再挂载启动盘上的真实文件系统。这个虚拟文件系统里面的文件是 initramfs 自己提供的，也就是说你在真实的文件系统下面配置了 /etc/modprobe.d/modname.conf 这个文件，initramfs 是压根不去理会的。站在内核驱动的角度看：如果内核驱动在 initramfs 过程中被加载到内核，这个驱动读取到的 /etc/modprobe.d/modname.conf 是 initramfs 提供的，而不是你编辑的那个。所以会有上述“写了配置文件后重启依然无效”的结论）。对于这种刁民，呃，刁驱动，我们需要修改 grub 配置文件，在 kernel 那一行添加 module.dyndbg='plmft' 参数，这样你的驱动就可以开机启动动态调试功能了。
>
>
>

想打印更详细的调试信息，可以使用 dynamic\_debug.verbose=1 选项。参考 Documentation/dynamic-debug-howto.txt 文件获取更多信息。

### 设置追踪点

到目前为止，我们介绍了多种动态和静态调试方法。静态调试选项和静态调试钩子函数（比如 DMA Debug API）需要的编译过程打开或关闭，导致了一个难过的事实：需要重新编译安装内核。而动态编译功能省去了“重新编译”这件麻烦事，但是也有不足的地方，就是调试代码引入了条件变量，用于判断是否打印调试信息。这种方法可以让你在程序运行时决定是否打印日志，但需要执行额外的判断过程。“追踪点”代码只会在程序运行过程中使用“追踪点”功能才会被触发。也就是说，“追踪点”代码与上述说的两种方法都不一样。当用不到它时，它不会运行（LCTT：动态调试的话，代码每次都需要查看下变量，然后判断是否需要打印日志；而“追踪点”貌似利用某种触发机制，不需要每次都去查看变量）。当你需要用到它时，程序的代码会把“追踪点”代码包含进去。它不会添加任何条件变量来增加系统的运行负担。

详细信息请参考[布置追踪代码的小技巧](http://www.linuxjournal.com/content/july-2013-linux-kernel-news)。

### “追踪点”的原理

追踪点使用“跳跃标签”，这是一种使用分支跳转的编码修正（code modification）技术。

当关闭追踪点的时候，其伪代码看起来时这样的：

```
[ code1 ]
nop
back:
[ code2 ]
return;
tracepoint:
[ tracepoint code ]
jmp back;

```

当打开追踪点的时候，其伪代码看起来时这样的：（注意追踪点代码出现的位置）

```
[ code1 ]
jmp tracepoint
back:
[ code2 ]
return;
tracepoint:
[ tracepoint code ]
jmp back;

```

（LCTT：咳咳，解释解释上面两段伪代码吧，能看懂的大神请忽略这段注释。不使用追踪点时，代码运行过程是：code1->code2->return结束；使用追踪点时，代码运行过程是：code1->跳到tracepoint code执行调试代码->跳回code2->return结束。两段代码的唯一区别就是第二行，前者为 nop（不做任何操作），后者为 jmp tracepoint （跳到调试代码）。）

### Linux 电源管理子系统的测试

使用静态调试、动态调试和追踪调试技术，我们来跑一下磁盘的电源管理测试。当系统被挂起时，内核会为磁盘创建一个休眠镜像，使磁盘进入休眠模式，当系统重新被唤醒时，内核又利用这个休眠镜像重新唤醒磁盘。

设置挂起设备与唤醒设备需要的时间：

```
echo 1 > /sys/power/pm_print_times

```

以 reboot 模式挂起磁盘：

```
echo reboot > /sys/power/disk
echo disk > /sys/power/state

```

以 shutdown 模式挂起磁盘 —— 与 reboot 模式一样，只是重新唤醒磁盘的话还需要电源提供。

```
echo shutdown > /sys/power/disk
echo disk > /sys/power/state

```

以 platform 模式挂起磁盘 —— 能测试更多内容，比如 BIOS 挂起和唤醒，会涉及到 ACPI 功能。我们推荐你使用这种方式，把 BIOS 也拉下水陪你玩挂起和唤醒游戏。

```
echo platform > /sys/power/disk
echo disk > /sys/power/state

```

---

via:<http://www.linuxjournal.com/content/linux-kernel-testing-and-debugging?page=0,3>

译者：[bazz2](https://github.com/bazz2) 校对：[校对者ID](https://github.com/%E6%A0%A1%E5%AF%B9%E8%80%85ID)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


Linux 内核测试和调试（5）

Summary: 仿真环境下进行 Linux 电源管理子系统测试 Linux 电源管理子系统在仿真环境下提供5种测试方式。这些方式仅仅在内核各层之间运行休眠的代码而不是真正的让系统进入休眠状态。有些平台不能挂起系统，比如说我们需要模拟飞机的飞行环境，这时候使用这种仿真环境就非常有用处了。  freezer - 测试停掉处理器： echo freezer  /sys/power/pm_test echo platform  /sys/power/disk echo disk  /sys/power/state  devices - 测试停掉处理器以及挂起设备： echo devices  /sys/power/pm_test echo platform  /sys/power/disk echo disk  /sys/powe

mark

@kunis

缺方法呀

# Linux 内核测试和调试（5）

### 仿真环境下进行 Linux 电源管理子系统测试

Linux 电源管理子系统在仿真环境下提供5种测试方式。这些方式仅仅在内核各层之间运行休眠的代码而不是真正的让系统进入休眠状态。有些平台不能挂起系统，比如说我们需要模拟飞机的飞行环境，这时候使用这种仿真环境就非常有用处了。

<img src="content_image/album_201408_26_000115uiv82zc6dvrdxpba.png" alt="" title="">

freezer - 测试停掉处理器：

```
echo freezer > /sys/power/pm_test
echo platform > /sys/power/disk
echo disk > /sys/power/state

```

devices - 测试停掉处理器以及挂起设备：

```
echo devices > /sys/power/pm_test
echo platform > /sys/power/disk
echo disk > /sys/power/state

```

platform - 测试停掉处理器、挂起设备以及平台全局控制方法(\*)

```
echo platform > /sys/power/pm_test
echo platform > /sys/power/disk
echo disk > /sys/power/state

```

processors - 测试停掉处理器、挂起设备和平台全局控制方法(\*)，以及关闭未启动的 CPU。

```
echo processors > /sys/power/pm_test
echo platform > /sys/power/disk
echo disk > /sys/power/state

```

core - 测试停掉处理器、挂起设备和平台全局控制方法(\*)，关闭未启动的 CPU，以及挂起平台或系统的设备。注意：这个测试模式运行在 ACPI 系统。

```
echo core > /sys/power/pm_test
echo platform > /sys/power/disk
echo disk > /sys/power/state

```

### Linux 电源管理子系统追踪事件

电源管理子系统在运行过程中支持多种追踪点和追踪事件。我将对如何使用这些追踪时间以及如何找到追踪信息作一个简单的介绍：

在运行时开启电源管理事件：

```
cd /sys/kernel/debug/tracing/events/power
echo 1 > cpu_frequency/enable
cat /sys/kernel/debug/tracing/set_event
less /sys/kernel/debug/tracing/trace

```

为内核启动的命令添加一个参数：

```
trace_event=cpu_frequency

```

更多信息查看 Documentation/power/basic-pm-debugging.txt 以及同目录下其他的文档。

### git bisect 命令

git bisect 是一个非常有用非常强大的工具，用于将 git 上的一个 commit 分离出来。我简单过一遍它的用法。

下面是 git bisect 的用法：

```
git bisect start
git bisect bad   # 当前版本是坏的
git bisect good v3.14-rc6   # 上个版本是好的

```

一旦指定好好的版本和坏的版本，git bisect 就会开始把好坏两个版本之间的所有 commit 对半分，并将其中的一半提交 pull 下来。然后重新编译安装测试内核，并标记这个内核是好是坏。重复这个过程，知道某个你选好的 commit 被标记被好或者坏。我们可能需要测试多个内核版本，测到最后一个版本时，git bisect 会将一个 commit 标记为坏。下面的命令可以在 git bisect 分析过程中起到帮助作用：

查看 bisect 操作的过程：

```
git bisect log

```

重置 git bisect，标记错误时可以用到，保存 git log 的输出，重新操作上一次 bisect 的步骤：

```
git bisect reset

```

重放 git bisect 操作过程：

```
git bisect replay git_log_output

```

如果一个问题很清楚是在某个区域内，git bisect 命令可以定位到一个具体的内核源码树枝干上。举个例子，在调试一个镭龙显卡驱动的问题时，为 git bisect 指定 drivers/drm/radeon 参数，可以让 git bisect 只检索对 drivers/drm/radeon 里面的文件有修改的 commit。

让 git bisect 只检索内核树的某个枝干：

```
git bisect start drivers/drm/radeon

```

---

via: <http://www.linuxjournal.com/content/linux-kernel-testing-and-debugging?page=0,4>

译者：[bazz2](https://github.com/bazz2) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


Linux 内核的测试和调试（6）

人家叫 Greg Kroah-Hartman，不叫 Grey Kroah-Hartman……把这位大神的名字打错了，小心立刻被降下 kernel

Repost

转给需要的人

早安

Repost

m

@我的印象笔记

@我的印象笔记

[加油啊]

[鼓掌]

[赞]//@倍哥也是哥: [加油啊]

# Linux 内核的测试和调试（6）

### Linux 内核补丁测试

你试过自己写内核补丁吗？本节介绍在把你的补丁包提交到 Linux 邮箱列表之前，需要做哪些操作。另外我们还会介绍如何把它发送出去。

写好代码后，编译它。把 make 过程产生的输出保存到文档中，查看新代码有没有警告信息。找到所有的警告信息，处理掉。当你的代码编译过程没有任何不正常的输出，安装这个内核，然后启动测试。如果启动正常，查看 dmesg 里面有没于错误，与老内核生成的 dmesg 日志做个比较。运行一些压力测试，请参考我们以前讲过的测试内容。如果这个补丁用于修复某个 bug，请确保真的已经修复了。如果真的修复了，请确保能通过系统测试。找出打你补丁的模块下面的回归测试工具，运行一下。如果补丁涉及到其他架构，你需要交叉编译然后测试一下。请通过下面的目录查找测试工具：

* linux\_git/Documentation
* linux\_git/tools/testing
* 交叉编译参考：[在 x86\_64 架构上交叉编译 Linux 内核：初学者教程](http://events.linuxfoundation.org/sites/events/files/slides/Shuah_Khan_cross_compile_linux.pdf)

如果你对你的补丁测试结果感到很满意，你就可以提交补丁了。请确保提交 commit 的信息要描述得非常清楚。要让内核维护者和其他开发者看懂补丁所修改的内容，这一点非常重要。生成补丁后，执行 scripts/checkpatch.pl 脚本，找到 checkpatch 是产生的错误或警告（如果有的话），修复它们。重新生成补丁，直到补丁通过这个脚本的测试。重新测试这个补丁。将本补丁用于其他的内核源码上，保证不会有冲突产生。

现在你做好提交补丁的准备了。先运行 scriptst/get\_maintainer.pl 来确认你应该把补丁发给哪个内核维护者。注意不要以附件形式发送补丁，而是以纯文本形式粘贴在邮件里面。确保你的邮件客户端可以发送纯文本信息，你可以试试给自己发送一份补丁邮件来测试你的邮件客户端的功能。收到自己的邮件后，运行 checkpatch 命令并给自己的内核源码打上你的补丁。如果这两部都能通过，你就可以给 Linux 邮箱列表发送补丁了。使用 git send-email 命令是提交补丁最安全的方式，可以避免你的邮箱的兼容性问题。你的 .gitconfig 文件里面需要配置好有效的 smtp 服务器，详细操作参考 git 的帮助文档。

更多提交补丁的规矩，请参考下面的资料：

* linux\_git/Documentation/applying-patches.txt
* linux\_git/Documentation/SubmitChecklist
* linux\_git/Documentation/SubmittingDrivers
* linux\_git/Documentation/SubmittingPatches
* linux*git/Documentation/stable*kernel\_rules.txt
* linux*git/Documentation/stable*api\_nonsense.txt

下面是一些内核测试教程的资料：

* [USB Testing on Linux](http://www.linux-usb.org/usbtest/)
* [Linux Kernel Tester's Guide Chapter2](http://kernelnewbies.org/Linux_Kernel_Tester%27s_Guide_Chapter2)
* [Linux Kernel Tester's Guide](http://www.kerneltravel.net/downloads/tester_guide.pdf)
* [Testing resources at eLinux.org](http://elinux.org/Test_Systems)
* [eLinux Debugging Portal](http://elinux.org/Debugging_Portal)

### 内核测试套件和项目

除我们讨论过的测试资源之外，这里还有很多测试项目值得介绍，包括开源的和厂家自己提供的。这些项目每一个都是针对特定领域的，比如嵌入式或者企业自己使用。我们简单过一下。

[Linux 测试项目](http://ltp.sourceforge.net/documentation/how-to/ltp.php)（LTP）测试套件是一系列工具的集合，用于测试内核的可靠性、健壮性和稳定性。你可以为这个项目添加自己的测试代码，并且 LTP 项目欢迎你贡献自己的代码。runltp 脚本默认情况下会测试下面的子系统：

* 文件系统压力测试
* 磁盘 IO 测试
* 内存管理压力测试
* IPC（进程间通信）测试
* 调度器测试
* 命令的功能性验证测试
* 系统调用功能验证测试

[**LTP-DDT**](http://processors.wiki.ti.com/index.php/LTP-DDT) 是一个基于 LTP 的测试应用（LCTT：就是 LTP 的阉割版么），专注于测试嵌入式设备驱动。

[**Linux Driver Verification**](http://linuxtesting.org/project/ldv) 这个项目的目标是提高 Linux 设备驱动的质量，它为设备驱动验证开发了集成环境平台，并且利用与时俱进的研究来增强验证工具的质量。

### 一致性测试

如果你有将某个 Unix 平台下的应用一直到另一个平台的经验，你就能理解 [Linux Standard Base (LSB)](http://www.linuxfoundation.org/collaborate/workgroups/lsb) 和 LSB 一致性测试套件的重要性了。LSB 是 Linux Foundation 工作组创建的用于降低支持不同 Linux 平台所需要的开销，方法就是通过降低不同 Linux 发行版之间的差别，保证应用在不同发行版之间的可移植性。前事不忘后事之师，Unix 世界的分歧在 Linux 世界一定要避免。这就是为什么你可以把一个 rpm 包转化成 deb 包后还能安装并正常运行的秘密。

### 静态分析工具

静态分析之所以会被称为“静态分析”，是因为这些工具只分析代码，并不执行它们。分析 Linux 内核代码的静态分析工具有很多，Sparse 是 Linus Torvalds 写的专门用于检查内核静态类型的工具。它是一个语义检查器，会为 C 语言的语义建立语义检析树，执行惰性类型评估。内核编译系统支持 sparse，并且为编译内核的命令提供开启 sparse 的选项。

为内核所有需要重新编译的 C 文件执行 sparse 语义检查：

```
make C=1 allmodconfig

```

为内核所有 C 文件（即使不需要重新编译）执行 sparse 语义检查：

```
make C=2 allmodconfig

```

Sparse 的资源：

* [Sparse Archive](http://codemonkey.org.uk/projects/git-snapshots/sparse/)
* [Sparse How To](http://smatch.sourceforge.net/)

Smatch 分析程序代码的逻辑错误。它可以检测到诸如“为一个没锁上的 spinlock 执行解锁”的逻辑错误。内核源码支持 smatch：

在 Linux 内核中运行 smatch：

```
make CHECK="~/path/to/smatch/smatch -p=kernel" C=1 bzImage modules | tee warns.txt

```

请参考下面的资料来获取和编译 smatch。需要注意的是 smatch 是个正在发展的项目，架构会不断变化。

* [**Smatch**](http://smatch.sourceforge.net/)

那么我们该怎么处理 Sparse 和 Smatch 所发现的语义和逻辑上的错误呢？一些错误可以被分离为日常问题或模块问题，可以轻易被解决。但是有些语义错误涉及到全局，因为剪切粘贴了一些代码。在一些环境中，当一些接口函数被废弃不再使用，或者仅仅做了写微小的修改，你就需要大规模更新源码。这时候你需要 Coccinelle 来帮忙。，Coccinelle 使用 SmPL 语言（语义包语言）来为 C 代码提供匹配和转换代码的功能。Coccinelle 的从一开始就作为 Linux 的附属产品持续发展的。

举个例子：foo(int) 函数突然变成 foo(int, char \*) 函数，多出了一个输入参数（可以把第二个参数置为 null）。所有调用 foo() 函数的代码都需要更新了，这可能是个悲摧的体力活。但是使用 Coccinelle 的话，这项工作瞬间变得轻松，脚本会帮你找到调用 foo(parameter1) 的代码，然后替换成 foo(parameter1, NULL)。做完这些后，所有调用这个函数的代码都可以运行一遍，验证下第二个参数为 NULL 是否能正常工作。关于 Coccinelle 的更多信息，以及在不同项目中（当然，也包括 Linux 内核这个项目）的使用方法，请参考项目主页：[**Cocinelle**](http://coccinelle.lip6.fr/)。

### 参考文献

本文涵盖了很多方面，这里列出一些参考文档供读者做进一步研究。

* [KernelHacking](http://kernelnewbies.org/KernelHacking)
* [kernel Documentation](http://kernelnewbies.org/Documents)
* [Linux Device Drivers, Third Edition](http://lwn.net/Kernel/LDD3/)
* [Dynamic Event Tracing in Linux Kernel](http://events.linuxfoundation.org/slides/lfcs2010_hiramatsu.pdf)
* [Kernel Testing: Tool and Techniques](http://events.linuxfoundation.org/images/stories/slides/elc2013_porter.pdf)

### 鸣谢

感谢来自 Oracle 的 Khalid Aziz，审查校对并提供许多非常有价值的建议。感谢来自三星的 Mauro Chehab 和 Guy Martin，他们给了我多次反馈。感谢来自 Linux Foundation 的 Grey Kroah-Hartman 对本文的审阅。感谢来自三星的 Ibrahim Haddad，没有他的支持和鼓励，我可能还不会坐下来写出这篇文章。

---

作者：[Shuah Khan](http://www.linuxjournal.com/users/shuah-khan)

Shuah Khan 是三星公司开源组的高级 Linux 内核开发工程师。 她为 Linux 内核中的 IOMMU、DMA、电源管理、PCIe 贡献代码，同时维护内核，为内核提供补丁包。Shuah 有多年 Unix 内核开发经验。她也为 OpenHPI 和 LLDP 项目作贡献。

---

via: <http://www.linuxjournal.com/content/linux-kernel-testing-and-debugging?page=0,5>

译者：[bazz2](https://github.com/bazz2) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


超级树莓派兄弟

强

神奇的树莓派~

废话真多

# 超级树莓派兄弟

我已经不象以前那样玩那么多游戏了。虽然之前我当然花费了生命里的无数时间在任天堂，SNES，或是之后在我电脑上的第一人称射击游戏（只在Linux下，谢谢），如今，我更愿意把空余时间花在我累积起来的许多其他非游戏爱好上。

但是最近，我发现自己又抹掉了Wii手柄上的灰尘，这样就可以玩一玩我重新购买的NES和SNES游戏了。不过问题是，这些游戏需要用到一些特别的控制器，而且我已经有一个修改过的SNES控制器可以通过USB连接。这已经有足够的理由让我去寻找一个更合适的方案。

当然，我也可以简单地接上三个甚至四个手柄，然后在客厅里面堆满游戏。但是我已经习惯于把我的CD和DVD都提取成文件，然后在中心媒体服务器上挑选着听或是看。所以如果每次我想换游戏的时候，不用起身去翻游戏卡带，那就完美了。

当然，这意味着得使用模拟器。尽管之前我在一个改动过的Xbox上成功过，不过可惜它已经不在我手上了。然后我觉得一定有什么人已经在树莓派上实现过这种平台，结果是肯定的，在简单地搜索和一些命令之后，我在一个剩下的树莓派上搭起来一个完美的怀旧游戏中心。

树莓派项目的一个优点是，有大量的用户在使用相同的硬件。对我来说，这意味着我不用完整地参考别人的指引再根据自己的需求做出必要的改动，而只需要简单地完全按照别人的指导做就行了。在我这件事情上，我找到了RetroPie项目，它把你安装时需要用到的所有命令都包到了一个单一的大脚本中。在执行完后，你就完整地安装并配置好了RetroArch，它集成了所有的主流模拟器以及一个统一的配置方式，再加上一个在树莓派上开机启动的EmulationStation图形界面，通过它可以只用手柄就能方便地定位到你想玩的游戏。

### 安装RetroPie

在安装RetroPie之前，你可能需要确认一下你的Raspbian版本（树莓派默认的Linux发行版，这也是这个项目假设你在用的）是不是最新的，包括有没有新的固件。这只需要几个通用的apt命令。虽然，在这一步里你可以接个键盘到树莓派上，不过我觉得用ssh登录到树莓派上更方便。之后直接复制和粘贴下面的命令：

```
$ sudo apt-get update
$ sudo apt-get -y upgrade

```

现在树莓派已经更新到最新了，再确认一下是否安装了git和dialog，然后可以通过git来下载RetroPie：

```
$ sudo apt-get -y install git dialog
$ cd
$ git clone --depth=0 git://github.com/petrockblog/RetroPie-Setup.git

```

执行完上边的命令后会创建一个RetroPie-Setup目录，里面有主要的安装脚本。之后你只需要进去这个目录，并运行安装脚本：

```
$ cd RetroPie-Setup
$ chmod +x retropie_setup.sh
$ sudo ./retropie_setup.sh

```

这个脚本会在终端里显示一个菜单（图1），在里面你可以选择二进制安装或是源码安装，配置RetroPie，或是更新RetroPie安装脚本和执行文件。之后选择二进制安装或是源码安装，任选一个。二进制安装会快一些，不过有些软件版本可能不是最新的。源码安装需要编译软件，所以用的时间会比较长，但是完成之后，所有的一切都是最新版的。我个人会选择二进制安装，因为我知道在碰到任何问题之后，随时都可以重新执行这个脚本再选择源码安装。

*图1. RetroPie安装菜单*

在vanilla Raspbian固件版本中，这一步会需要很长时间，因为有大量不同的包需要下载和安装。在安装完成之后，返回在RetroPie安装主界面中，在主菜单里选择SETUP，在之后的二级菜单里，你可以调整设置，例如是否开机启动EmulationStation（推荐打开）以及是否允许欢迎界面。在我这里，我两个都允许了，因为我希望这个设备是一个独立的模拟游戏机。不过你需要了解的是，即便你打开了EmulationStation开机自动启动，你仍然可以ssh登录到机器上然后执行原始的RetroPie安装配置脚本来改变这个设置。

### 添加ROM

你也可以在RetroPie设置界面添加ROM。如果你在菜单里选择了Samba方式，就可以在网络上找一个Samba共享目录，然后从里面拷贝ROM。如果通过U盘的方式，RetroPie会在插到树莓派的U盘上创建一个目录结构，分别对应不同的模拟器。在这之后，你就可以把U盘插到其他电脑上，然后把ROM拷贝到合适的目录里，当再插回树莓派的时候，它会自动同步文件。最后（我就是这么做的），你还可以使用scp或者rsync来拷贝ROM到~/RetroPie/roms/的合适目录下。举个例子，NES游戏需要拷贝到~/RetroPie/roms/nes/目录里。

当你完成了配置并退出了RetroPie的设置脚本后，应该会想重启并进入EmulationStation，但是在那之前，你应该重新配置树莓派的内存空间，设为192或者128，运行命令：

```
$ sudo raspi-config

```

然后选择高级设置，调整内存空间设定。之后就可以安全地重启了。

### EmulationStation

重启完之后，你会很高兴地看到EmulationStation界面，之后它会提示你设定控制杆，游戏手柄，或键盘按键，这样就可以控制EmulationStation菜单了。不过注意一下，这并不会影响手柄在游戏里的按键定义，只是用于控制EmulationStation菜单的。在设定完手柄后，你应该可以按下向右或向左方向键来切换不同的模拟器菜单了。在我这里，我将会在游戏里用到手柄上的所有按钮，所以我特别将另一个键盘上的键映射到菜单功能，这样在我玩完一个游戏后，不用重启树莓派就可以退出来。

EmulationStation只会显示已经侦测到ROM的模拟器，所以，如果你还没有拷贝ROM的话，得先做这件事情，然后可能还得重启一下才会有效果。而且，默认情况下，你的手柄没有为任何游戏做配置，但是，如果你在EmulationStation里一直按向右键足够多次以后，会弹出输入设定界面，你可以在里面映射手柄按键。有一个亮点是，当你设定好按键后，它会相应地应用到其他模拟器中。

就是这些了。在这之后，你可以浏览你收藏的各种游戏，然后按下绑定到“确定”的那个按键开始游戏。一开始我还担心树莓派可能不够强劲来玩我的游戏，但是直到现在，我试过地所有游戏都可以完美地运行。

### 资源

RetroPie项目主页：<http://blog.petrockblock.com/retropie>

RetroPie安装文档：<https://github.com/petrockblog/RetroPie-Setup>

---

via: <http://www.linuxjournal.com/content/super-pi-brothers>

译者：[zpl1025](https://github.com/zpl1025) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


Summary: 问题：我试着编译一个C++程序，但是我碰到了以下错误：“fatal error: jsoncpp/json/json.h: No such file or directory” 我怎样修复这个问题呢？该错误指出你缺少JsonCpp开发文件（例如，JsonCpp库和头文件）。JsonCpp是一个用于JSON格式数据复制的C++库。下面给出了在不同Linux发行版上安装JsonCpp开发文件的方法。

# Linux有问必答：如何修复"fatal error: jsoncpp/json/json.h: No such file..."

>
> **问题**：我试着编译一个C++程序，但是我碰到了以下错误：
>
>
> “fatal error: jsoncpp/json/json.h: No such file or directory”
>
>
> 我怎样修复这个问题呢？
>
>
>

<img src="content_image/album_201408_26_104057xq3yfhfc0lwhfay8.jpg" alt="" title="">

该错误指出你缺少JsonCpp开发文件（例如，JsonCpp库和头文件）。[JsonCpp](https://github.com/open-source-parsers/jsoncpp)是一个用于JSON格式数据复制的C++库。下面给出了在不同Linux发行版上安装JsonCpp开发文件的方法。

在Debian, Ubuntu或者Linux Mint上：

```
$ sudo apt-get install libjsoncpp-dev

```

在Fedora上：

```
$ sudo yum install jsoncpp-devel

```

在CentOS上，没有JsonCpp的预编译包。因此你可以通过以下源码构建一个JsonCpp包并安装。

```
$ sudo yum install cmake
$ git clone https://github.com/open-source-parsers/jsoncpp.git
$ cd jsoncpp
$ mkdir -p build/debug
$ cd build/debug
$ cmake -DCMAKE_BUILD_TYPE=debug -DJSONCPP_LIB_BUILD_SHARED=OFF -G "Unix Makefiles" ../../
$ make
$ sudo make install

```

---

via: <http://ask.xmodulo.com/fix-fatal-error-jsoncpp.html>

译者：[GOLinux](https://github.com/GOLinux) 校对：[Caroline](https://github.com/carolinewuyan)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


慕尼黑市议会称： LiMux 项目的死讯被过分夸大了

Summary: 慕尼黑市议会的新闻发言人试图澄清其计划重新审视当地政府 IT 系统使用的所有开源软件的背后原因。 大量德国媒体披露，慕尼黑市新任市长要求提交一份关于 LiMux 使用率的报告，LiMux是一个在该市超过 80% 的市政府部门中使用的开源 Linux 发行版 ，慕尼黑市议会新闻发言人正是针对这条新闻所做的反应。 该报告引用了一位不愿透露姓名的市政府官员的话，他声称政府雇员在使用开源软件时非常痛苦，还有人人称其为昂贵的失败。副市长 Josef Schmid 说，（更换到开源系统）这件事是意识形态驱使的，并非理性的财务行为。 过去被看成是大规模迁

切换到wps，包你完美兼容微软office，就是不知道金山搞不

这就是传说中的LiMux？还停留在10年前的古董啊！

要不那些人看着不爽呢？不过我觉得这种古板，颇类德国人的风格啊。

网上居然搜索不到LiMux的主页，哪里下载试用？谢谢！

用了中国的wps办公，就不会出现什么兼容性问题了。在政府上班的人是不是要玩游戏啊！

# 慕尼黑市议会称： LiMux 项目的死讯被过分夸大了

<img src="content_image/album_201408_26_221050c03lioq7o7ll17x3.jpg" alt="LiMux – 慕尼黑市议会的官方操作系统" title="LiMux – 慕尼黑市议会的官方操作系统">

慕尼黑市议会的新闻发言人试图澄清其[计划重新审视当地政府 IT 系统使用的所有开源软件](http://linux.cn/article-3635-1.html)的背后原因。

大量德国媒体披露，“慕尼黑市新任市长要求提交一份关于 LiMux 使用率的报告”，LiMux是一个在该市超过 80% 的市政府部门中使用的开源 Linux 发行版 ，慕尼黑市议会新闻发言人正是针对这条新闻所做的反应。

该报告引用了一位不愿透露姓名的市政府官员的话，他声称政府雇员在使用开源软件时“非常痛苦”，还有人人称其为“昂贵的失败”。副市长 Josef Schmid 说，（更换到开源系统）这件事是“意识形态驱使的”，并非理性的财务行为。

过去被看成是大规模迁移 Linux 的典范的慕尼黑市，如今这个背道而驰的新闻迅速像病毒一样扩散开来。现在市议会的新闻发言人 Stefan Hauf 正试着澄清这件事。

### “未来计划”

Hauf 确认了新任市长要求重新审查城市 IT 系统以及操作系统选择的事，但这份报告的目的并不像之前报道中暗示的那样仅仅是为了决定什么时候退回到 Microsoft Windows。

**“这是有关机构、经费、性能和可用性以及用户满意度的事，”** [Techrepublic](http://www.techrepublic.com/article/no-munich-isnt-about-to-ditch-free-software-and-move-back-to-windows/) 引用了他的言辞。

**“（这仅仅是在收集）现实情况，为我们决定市议会今后该如何处理提供依据。”**

Hauf 同时也确认了市议会员工的确抱怨过 LiMux，但是主要集中在 OpenOffice 的兼容性问题上，有些问题只要换到 LibreOffice 就能解决。

那么，慕尼黑市会用回 Windows 吗？正如我们在之前的报道中所说：不能排除这种可能，但是现在下结论还太早。

目前该报告所建议的截止日期还没定，任何和慕尼黑 IT 基础设施相关的决定都需要由他们自己投票决定，主流选民目前抱有“支持” LiMux 的态度。

---

via: <http://www.omgubuntu.co.uk/2014/08/munich-council-say-talk-limux-demise-greatly-exaggerated>

作者：[Joey-Elijah Sneddon](https://plus.google.com/117485690627814051450/?rel=author) 译者：[sailing](https://github.com/sailing) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


在 Linux 中为非 SSH 用户配置 SFTP 环境

Summary: 在某些环境中，系统管理员想要允许极少数用户在可以传输文件到Linux机器中，但是不允许使用 SSH。要实现这一目的，我们可以使用SFTP，并为其构建chroot环境。  SFTP  chroot背景： SFTP是指SSH文件传输协议（SSH File Transfer protocol）或安全文件传输协议（Secure File Transfer Protocol），它提供了可信数据流下的文件访问、文件传输以及文件管理功能。当我们为SFTP配置chroot环境后，只有被许可的用户可以访问，并被限制到他们的家目录中，换言之：被许可的用户将处于牢笼环境中，在此环境中它们甚至不能切换它们的目录。 在本文中

@我的印象笔记

@演員帆特西

nice~~

@我的印象笔记

@mywiz

常用这个方法

Linux 中为非 SSH 用户配置 SFTP 环境

@我的印象笔记

转发微博。

@我的印象笔记

Mk

@我的印象笔记 //@Jason阿堅://@IT男那点事:Linux 中为非 SSH 用户配置 SFTP 环境

@我的印象笔记

@有道云笔记收藏

我还是喜欢vsftp的虚拟用户那一套,对本地用户有阴影//@南非蜘蛛: 转发微博

→_→

@我的印象笔记

真心不错的教程

Redhat 3.10.0-123.el7.x86_64，按本文上的操作，但是chroot并没有生效，还是可以去到/etc之类的目录

# 在 Linux 中为非 SSH 用户配置 SFTP 环境

在**某些环境**中，系统管理员想要允许极少数用户在可以传输文件到Linux机器中，但是不允许使用 SSH。要实现这一目的，我们可以使用**SFTP**，并为其构建chroot环境。

### SFTP & chroot背景：

**SFTP**是指**SSH文件传输协议（SSH File Transfer protocol）或安全文件传输协议（Secure File Transfer Protocol）**，它提供了可信数据流下的文件访问、文件传输以及文件管理功能。当我们为SFTP配置chroot环境后，只有被许可的用户可以访问，并被限制到他们的**家目录**中，换言之：被许可的用户将处于牢笼环境中，在此环境中它们甚至不能切换它们的目录。

在本文中，我们将配置**RHEL 6.X** 和 **CentOS 6.X中的SFTP Chroot环境**。我们开启一个用户帐号‘**Jack**’，该用户将被允许在Linux机器上传输文件，但没有ssh访问权限。

### 步骤：1 创建组

```
[root@localhost ~]# groupadd  sftp_users

```

### 步骤：2 分配附属组(sftp\_users)给用户

如果用户在系统上不存在，使用以下命令创建（ LCTT 译注：这里给用户指定了一个不能登录的 shell，以防止通过 ssh 登录）：

```
[root@localhost ~]# useradd  -G sftp_users  -s /sbin/nologin  jack
[root@localhost ~]# passwd jack

```

对于**已经存在的用户**，使用以下usermod命令进行修改：

```
[root@localhost ~]# usermod –G sftp_users  -s /sbin/nologin  jack

```

**注意**：如果你想要修改用户的**默认家目录**，那么可以在useradd和usermod命令中使用‘**-d**’选项，并设置**合适的权限**。

### 步骤：3 现在编辑配置文件 “/etc/ssh/sshd\_config”

```
# vi /etc/ssh/sshd_config
#comment out the below line and add a line like below
#Subsystem sftp /usr/libexec/openssh/sftp-server
Subsystem sftp internal-sftp

# add Below lines  at the end of file
  Match Group sftp_users
  X11Forwarding no
  AllowTcpForwarding no
  ChrootDirectory %h
  ForceCommand internal-sftp

```

#### 此处：

* **Match Group sftp\_users** – 该参数指定以下的行将仅仅匹配sftp\_users组中的用户
* **ChrootDirectory %h** – 该参数指定用户验证后用于chroot环境的路径（默认的用户家目录）。对于用户 Jack，该路径就是/home/jack。
* **ForceCommand internal-sftp** – 该参数强制执行内部sftp，并忽略任何~/.ssh/rc文件中的命令。

重启ssh服务

```
# service sshd restart

```

### 步骤：4 设置权限：

```
[root@localhost ~]# chmod 755 /home/jack
[root@localhost ~]# chown root /home/jack
[root@localhost ~]# chgrp -R sftp_users /home/jack

```

如果你想要允许jack用户上传文件，那么创建一个上传文件夹，设置权限如下：

```
[root@localhost jack]# mkdir /home/jack/upload
[root@localhost jack]# chown jack. /home/jack upload/

```

### 步骤：5 现在尝试访问系统并进行测试

尝试通过ssh访问系统

正如下图所示，用户jack通过SFTP登录，而且因为chroot环境不能切换目录。

现在进行**上传和下载**测试，如下图：

正如上图所示，jack用户的上传下载功能都工作得很好。

---

via: <http://www.linuxtechi.com/configure-chroot-sftp-in-linux/>

原文作者：[Pradeep Kumar](http://www.linuxtechi.com/author/pradeep/)

译者：[GOLinux](https://github.com/GOLinux) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


10大 Linux 免费游戏

Summary: 假如当你考虑从 Windows 平台迁移至 Linux 平台时，我能在 Linux 平台上游戏吗？这类疑问正困扰着你，那么对此这有一个答案就是  快去 Linux 平台吧！。感谢开源组织一直以来坚持不懈为 Linux 操作系统开发不同类型的游戏，还有从不缺乏好的商业游戏，并且在 Linux 平台下游戏时的乐趣完全不亚于其他几个平台（比如 Windows 平台）的在线数字发行平台  Steam。 接下来我们基于流行程度、免费游戏的名号以及安装难易度向你展现今年 10 款最佳 Linux 平台下的免费游戏。 注意  如果你对第一人称射击类（First Person Shooter，FPS）游戏感兴

转发微博。

Repost

提个神，醒个脑～

绝大多数都玩过，尤其是fps类，代替cs的，最终发现还是代替不了啊

显卡驱动一直不解决   渲染类都是噩梦！

阀门是好公司啊

Repost

nexuiz应该替换为xonotic

我挺喜欢xonotic的。

回复@Palm-Pc:我用NV的私有驱动。 //@Palm-Pc:显卡驱动一直不解决   渲染类都是噩梦！

回复@Palm-Pc:我用NV的私有驱动。

开源万岁！

推《韦诺之战》《马基埃亚尔的传说》

回复@比特暴民:我也很喜欢韦诺之战

回复@比特暴民:我也很喜欢韦诺之战//@比特暴民:推《韦诺之战》《马基埃亚尔的传说》

回复@cs起源吧戴维:[嘻嘻]

回复@火志溟:你是谁 推荐的 专有 test 吗？  那个某些支持还不行  比如 T430 偶尔启动不能进入桌面  发热依旧  烫手//@火志溟:回复@Palm-Pc:我用NV的私有驱动。

这些里，我只玩过 Urban Terror 。

dota2?//@Linux中国: 回复@cs起源吧戴维:[嘻嘻]//@cs起源吧戴维:nexuiz应该替换为xonotic

7G的军团要塞 2 -_-

@秋水殇花绕深川 ！好像都是外国星人的

haha

cs就是cs,为什么要找其他fps代替？//@袁飞-snowhawkyrf: 绝大多数都玩过，尤其是fps类，代替cs的，最终发现还是代替不了啊

后八个游戏太老了，还不如直接坐等 Metro Redux for Linux.

2K 出的 Civilization V 和 XCOM 也都很好玩，前几天打折过。

还有个仿C&C的开源红警呢~

我怎么提不起兴趣呀？？？

哈哈，说明你过了玩游戏的年龄了~~

是的，先生。

恭喜你又“熟”了一点：》

关键是，整天用Linux，为了打局CS再跑到Windows下面很不方便。。。

不是说好10个的吗？

不是说好10个的吗？

y有链接么？

steam有linux版

# 10大 Linux 免费游戏

假如当你考虑从 Windows 平台迁移至 Linux 平台时，“我能在 Linux 平台上游戏吗？”这类疑问正困扰着你，那么对此这有一个答案就是 ———— “快去 Linux 平台吧！”。感谢开源组织一直以来坚持不懈为 Linux 操作系统开发不同类型的游戏，还有从不缺乏好的商业游戏，并且在 Linux 平台下游戏时的乐趣完全不亚于其他几个平台（比如 Windows 平台）的在线数字发行平台 ———— Steam。

接下来我们基于流行程度、“免费游戏”的名号以及安装难易度向你展现今年 10 款最佳 Linux 平台下的免费游戏。

**注意** – 如果你对第一人称射击类（First Person Shooter，FPS）游戏感兴趣的话，请阅读我们的另一篇文章[10 款 Linux 下流行的第一人称射击类游戏](http://mylinuxbook.com/10-popular-fps-linux-games/)。

### 1.《军团要塞 2》

《军团要塞 2》是一款由 Valve 公司开发的基于团队的在线 FPS 类电子游戏，是 1996 年最初 Quake 修改版的续作。这款游戏最早于 2007 年 10 月 10 日发布了 Windows 版与 Xbox 360 版，随后在 2013 年 2 月 14 日作为独立游戏发行了 Linux 版。游戏在 1998 年就发布了预告，最早由 Valve 的 GoldSrc 引擎驱动，但是发行过程却在其长达九年的开发周期中被游戏的设计更新严重推迟。游戏在 2011 年 6 月 23 日成为一款免费游戏。

《军团要塞 2》已经收到了许多称赞性评论与大奖，这主要跟它充满艺术的表现手法、游戏的平衡性、幽默感，以及图像风格有关。与其他游戏，如使命召唤、半条命，采取极度真实的画面不同，这款游戏的设定看起来像是把卡通元素带进了世界中。

\*\* 游戏介绍 \*\*：和原版游戏一样，《军团要塞 2》围绕两支相互对立的队伍进行；红队（可信赖的拆迁队）与蓝队（建筑者联合团体），两队都为了以战斗为基础的主要目标相互竞争。

玩家可以选择九种角色，分别是侦察兵、士兵、火焰兵、爆破兵、重装兵、工程师、医疗兵、狙击手和间谍，每一个角色都有其独特的武器、优势与弱点。

#### 系统需求：

|  |  |  |
| --- | --- | --- |
|  | **推荐配置** | **最低配置** |
| **CPU** | 奔腾4处理器或者 Athlon XP 或者更佳 | 奔腾4处理器或者 Athlon XP 或者更佳 |
| **CPU 速率** | 3.0 GHz 处理器 | 1.7 GHz |
| **内存（RAM）** | 1 GB | 512 MB |
| **显卡** | 支持 DirectX 9 的显卡（NVIDIA GeForce 7900+ / ATI Radeon X1900+） | 支持 DirectX 8.1 的显卡（NVIDIA GeForce4+ / ATI Radeon 8500+） |
| **声卡** | 必需 | 必需 |
| **剩余硬盘空间** | 5 GB | 5 GB |

### 2.《Dota 2》

《Dota 2》，是《Dota》的续作，是一款由 Valve 公司开发的多人在线战术竞技类（Multiplayer Online Battle Arena，MOBA）电子游戏。《DOTA 2》发行时就完全免费，于 2013 年 7 月 9 日发行 Windows 版，于 2013 年 7 月 18 日发行 Linux 版，并且只能通过 Valve 的在线数字发行平台 Steam 进行游戏。Dota 2 因为其令人愉悦的游戏体验和大幅提高的游戏品质得到了电子游戏评论家的热烈称赞。尽管 Dota 2 也因为其陡峭的学习曲线受到批评。

\*\* 游戏介绍 \*\*：每一场标准的 Dota 2 比赛都是独立的，同时由 2 支相互敌对的团体参与，天辉和夜魇，每个团队均由 5 名玩家组成。每个团队占据地图的一角作为大本营，每个团队的大本营上均有一座被称作“远古神迹”的建筑存在。为了赢得游戏，任意一方团队必须摧毁对方的远古神迹。Dota 2 中有 9 种游戏模式与 107 个英雄可供挑选。每名玩家控制一位英雄，通过升级、获取物品、收集金币还有击败敌对团队以获取胜利。

#### 系统需求：

|  |  |  |
| --- | --- | --- |
|  | **推荐配置** | **最低配置** |
| **CPU** | Intel 酷睿 2 双核处理器，2.4GHz | 奔腾 4 处理器，3.0GHz |
| **CPU 速率** | 2.4 GHz 处理器 | 3.0 GHz |
| **内存（RAM）** | 1 GB | 1 GB |
| **显卡** | 支持 DirectX 9 的显卡，带有 3.0. 优化渲染引擎模式（NVidia 7600, ATI X1600）或更优显卡 | 支持 DirectX 9 的显卡，带有 128 MB 的 2.0. 优化渲染引擎模式（ATI X800, NVidia 6600）或更优显卡 |
| **声卡** | 必需 | 必需 |
| **剩余硬盘空间** | 2.5 GB | 2.5 GB |

### 3.《Urban Terror》

《Urban Terror》，缩写作 UrT，是一款由 FrozenSand 开发的免费多人 FPS 电子游戏。游戏于 2007 年作为免费独立游戏发行，使用 ioquake3（某游戏引擎项目，作为一个纯净基础包向更多的图像和音频特性提供改进支持）作为引擎。

正如这款官方游戏格言‘现实的乐趣’所述，它是一个封包很好的产品，同时安装简便、画质优良、依赖需求少，并且游戏非常平衡，这些特色使这款游戏成为了独一无二的、令人享受并且吸引人的游戏。2007 年的 Mod DB 上，Urban Terror 被提名为年度 Mod 奖。

\*\* 游戏介绍 \*\*：这款游戏被标为“好莱坞战术射击游戏”，具有多种游戏的混合元素，例如：《雷神之锤 III 竞技场》、《虚幻竞技场》以及《反恐精英》。这款 Mod 通过一系列改变使得游戏更加真实，比如武器和现实中的类似，具有后坐力，射击时精准度会下降，并且当弹药库用完时需要重新填装。伤害同样现实化了，比如伤口需要包扎，腿伤或脚伤会拖慢玩家的速度。

#### 系统需求：

|  |  |  |
| --- | --- | --- |
|  | **推荐配置** | **最低配置** |
| **CPU** | 奔腾4处理器 1.2 GHz 或者更高 | 奔腾4处理器 1.2 GHz |
| **CPU 速率** | 1.2 GHz | 1.2 GHz |
| **内存（RAM）** | 512 MB | 256 MB |
| **显卡** |  NVidia 或者 ATI 卡，256MB 显存或更高 |  NVidia 或者 ATI 卡，128MB 显存 |
| **硬盘** | 50 GB 或更多 | 50 GB |

### 4.《外星人竞技场 2008》

《外星人竞技场》是一款独立 3D 第一人称在线死亡竞技射击类电子游戏，基于 id software 的雷神 II 与雷神 III 引擎的源代码制作而成。这款由 COR entertainment 开发的游戏于 2004 年 10 月发行，发行之日起即宣布免费，并且目前为止仍没有变更为付费游戏的计划。

游戏特色包括新的粒子引擎与特效、32 位画面、反光水面特效、光影、高分辨率画质及皮肤、染色地图，等等，使得《外星人竞技场 2008》成为一款引人注目的游戏。游戏从最初的版本“红色代码：外星人竞技场”到发行走了一段很长的路，其间更新了全部游戏角色、将近 24 张地图、武器模块，以及许多很重要的引擎提升与优化。

\*\* 游戏介绍 \*\*：37 个等级是外星人竞技场的重要特点，并且具有快速流畅的游戏体验以及高科技氛围。玩家可以选择在线与他人对战或者与红色代码构建的具有多种技能等级，如火箭跳跃及机枪扫射跳跃的机器人对战。游戏也提供了夺旗模式（Capture The Flag，CTF）与全队攻击模式（All Out Assault，AOA），玩家可以通过这些模式来进行战斗、死亡击球以及团队核心战斗。

#### 系统需求：

|  |  |  |
| --- | --- | --- |
|  | **推荐配置** | **最低配置** |
| **CPU** | Intel 奔腾 4 处理器，1.7 GHz 或者 AMD Athlon XP 1800 | 奔腾 3 处理器，800MHz |
| **CPU 速率** | 1.7 GHz | 800MHz (或者 1 GHz) |
| **内存（RAM）** | 512 MB | 256 MB |
| **显卡** | BFG GeForce 7800 GS OC | NVIDIA GeForce 4400+ 或者 ATI Radeon 8500+ (32 MB 显存) |
| **显存** | 64 MB | 32 MB |
| **声卡** | 可兼容 DirectX | 可兼容 DirectX |
| **DirectX** | 9.0c | 9.0c |
| **硬盘** | 500 MB | 500 MB |

### 5.《Nexuiz》

《Nexuiz》是一款由 Alientrap 开发并于 2005 年 5 月 31 日发行的第一人称射击死亡竞技类 3D 电子游戏，由一款名为 DarkPlaces 的修改过的雷神 1 引擎基础上制作，其特色包括 Quake3bsp 支持，日冕，新的粒子特效，真实世界时间系统还有动态光影，改进过的菜单系统和 Md3 模块支持。游戏需要在互联网或者局域网环境下进行。

\*\* 游戏介绍 \*\*：游戏是死亡竞技模式，同时附带极高的速度与难以想象的武器，提供急速行走方式。除了死亡竞技外还有其他几种游戏模式，如：团队竞技模式、猎杀模式、夺旗模式、多人变异者模式，武器选项模式也包含火箭竞技场模式、instagib 模式。尽管 Nexuiz 以多人模式为主，但同时包含完整的单人战役模式，允许一名玩家在丰富多彩的多人地图模式的基础上与本地机器人游戏。

#### 系统需求：

|  |  |  |
| --- | --- | --- |
|  | **推荐配置** | **最低配置s** |
| **CPU** | Intel 酷睿 2 双核，2Ghz 或者 AMD Athlon 64 x2，2 Ghz，或者更好的处理器 | 奔腾 III 处理器，1 Ghz 或者 AMD Athlon |
| **内存（RAM）** | 2 GB | 512 MB |
| **显卡** | NVidia 8800GT，512 Mb 显存，ATI 3850HD，512Mb 显存，或者更好的显卡 | GeForce 2 或者 同等性能的显卡 |
| **硬盘** | 3 GB | 400 MB |

### 6.《Tremulous》

《Tremulous》是一款免费开源的游戏，包含有团队 FPS 模式与即时战略元素。游戏由 Dark Legion Development 在 ioquake2 游戏引擎的基础上开发，于 2005 年 8 月 11 日发行。尽管游戏的起源是雷神 3 的一个 mod，但最后却独立出来了。

《Tremulous》荣获了 Mod Database 举办的 2006 年 “年度 Mod” 颁奖典礼中的 “玩家评选的年度最佳独立游戏” 奖项，同时也获得了 Planet Quake 网站玩家投票的第一个“以雷神引擎开发的基于 GPL 协议的最佳免费游戏”。

\*\* 游戏介绍 \*\*：游戏背景可推测设定在未来，在那个时代人类与蜘蛛外形的外星人进行战斗。玩家可以在两个仅有的种族——人类与外星人——中选择自己的种族，每个种族的玩家都可以像即时战略游戏一样在游戏中进行建筑。其中最重要的建筑是重生点，重生点允许死亡的队友重新加入游戏。

#### 系统需求：

|  |  |  |
| --- | --- | --- |
|  | **推荐配置** | **最低配置** |
| **CPU** | 奔腾 4 处理器，3.46GHz 或者 Athlon 64 3800+ | 奔腾 4 处理器，1.8GHz 或者 Athlon XP 1700+ |
| **内存（RAM）** | 2 GB | 256 MB |
| **显卡** | Nvidia GeForce GT 120 , AMD Radeon HD 4550 | Nvidia GeForce 210 , AMD Radeon X600 系列s |
| **DirectX 版本** | DX 9.0c | DX 9.0c |
| **硬盘空间** | 4 GB | 125 MB |

### 7.《Warsow》

《Warsow》是一款在线的第一人称射击类（FPS）电子游戏，其创作灵感来源于 90 年代末期以及 20 世纪初期的快速步行射击。Warsow 的代码库是免费开源的软件，遵循 GPL 协议，在雷神 II 引擎的改进版 Qfusion 的基础上开发而来。Warsow 吸引人的地方在于其独一无二的体验，这些体验来自于其开发团队努力追求着去开发一款有趣、快速的动作类游戏，并且致力于速度、花样跳跃与动作的艺术。这款游戏在卡通风格中运用了细节阴影图像技术，使得游戏主题呈现出赛博朋克的风格。

\*\* 游戏介绍 \*\*：这款快速步行 3D 单人射击游戏将主要目标集中于移动和花样跳跃，其中许多花样来自于雷神系列，包括圆周跳跃、兔子跳跃、二段跳、斜坡滑行，以及火箭跳跃。除了这些花样，《Warsow》也允许玩家飞奔、闪避或者沿墙跳跃，这个动作很有可能是来源于《Urban Terror》。

### 系统需求：

|  |  |
| --- | --- |
|  | **最低配置** |
| **CPU** | 奔腾 II 处理器，300 Mhz 或者更好的处理器 |
| **内存（RAM）** | 64 MB |
| **显卡** | 16 MB 显存（Riva TNT 或者更好的显卡） |
| **硬盘** | 400 MB |

\*\* 注意 \*\* – 这款游戏的推荐配置可能不准确。下面是我们从一些论坛的讨论中得到的结果：

* CPU – Intel 奔腾 4 处理器 (3.00 GHz)
* 内存（RAM） - 512 MB
* 显卡 - 256 MB (nVidia GeForce 5500 FX)
* 硬盘 - 2 GB

### 8.《开放竞技场》（OA）

《开放竞技场》是一款开源的多人 FPS 类游戏，基于由 id tech 3 引擎 fork 的 ioquake3 开发而来。游戏由 OpenArena 团队开发，并且遵守 GPLv2协议。游戏官方网站的下载版本包括 GNU/Linux，Microsoft Windows 以及 Mac OS X 操作系统的对应版，同样支持诸如 Debian、Gentoo、Fedora、Arch、Mandriva 还有 Ubuntu 等 Linux 发行版。开放竞技场是一款可以离线或者在线进行的免费游戏，玩家也可以自己架设局域网或者 Internet 服务器。

\*\* 游戏介绍 \*\*：《开放竞技场》几乎和《雷神 III 竞技场》一样：通过杀敌得分获得游戏胜利，在不同的场景下可以使用一系列为平衡游戏所设计的武器。每场竞赛都有其独特的“竞技场”，地图上玩家们互相残杀；游戏包含多种游戏类型：死亡竞赛、锦标赛、团队死亡竞赛，还有夺旗模式。由于暴力以及成人因素，这款游戏由于其暴力程度并不适于 17 岁以下的孩子。

#### 系统需求：

|  |  |  |
| --- | --- | --- |
|  | **推荐配置** | **最低配置** |
| **CPU** | 奔腾 III 处理器，700MHz / AMD Athlon XP 2800+ | 奔腾 II 处理子，233MHz / AMD K6-2 300MHz 或者同等性能的处理器 |
| **内存（RAM）** | 256 MB | 64 MB |
| **显卡** | Geforce 4 Ti 4400 | 16 MB（附带 OpenGL 加速） |
| **硬盘空间** | 270 MB | 50 MB |

### 9.《Freecol》

《FreeCol》是一款免费开源的回合制策略类电子游戏，是古老游戏《殖民帝国》的仿制游戏，并且和《文明》非常相似。游戏最早于 2003 年 1 月 2 日发行，但是游戏的稳定版在 17 个 月前的 2013 年 1 月 7 日才刚刚发行。从游戏内容与过程来说，稳定版保持了最初版的样子，但是其游戏图像经过了重新设计。

\*\* 游戏介绍 \*\*：游戏时的目标是开拓新的殖民世界。游戏设定开始于 1492 年，初始有几艘船以及一些殖民者，玩家通过殖民者进行建筑并殖民扩张，同时与其他欧洲殖民者进行对抗。殖民者的扩张在欧洲王国的帮助下进行直到不再需要任何来自欧洲的协助，这表明殖民者已经独立并且不再需要任何来自外部的协助，接着宣布从王国独立出来。如果殖民者可以抵挡住来自王国的攻击，那么游戏就获胜了。

#### 系统需求：

|  |  |  |
| --- | --- | --- |
|  | **推荐配置** | **最低配置** |
| **CPU** | Intel(R) 酷睿(TM)2 双核 CPU P8700，2.53 GHz | 奔腾 3 处理器，1GHz |
| **内存（RAM）** | 512 MB | 256 MB |
| **Java 版本** | JRE 7(Java Runtime Environment 7) | JREt 5 (or JRE 6) |
| **屏幕分辨率** | 1024 X 768 | 1024 X 768 |

### 10.《急速 Tux 竞赛》

《急速 Tux 竞赛》，原名《Tux 竞赛》，是一款免费的 3D 电脑游戏软件，允许玩家使用 Linux 吉祥物，Tux 企鹅进行游戏。游戏于 2000 年 10 月 2 日，由在加拿大安大略省滑铁卢大学就读的在校生 Jasmin Patry 发行。游戏是一款非常新颖的 Linux 游戏，是非常有趣简单的竞速比赛，没有任何复杂或者暴力的元素，这使得游戏适合于任何年龄段的玩家。

\*\* 游戏介绍 \*\*：游戏里，Tux 沿着各种不同的赛道在陡峭的被冰雪覆盖的山上滑行，以冲击最短时间与最高分数为目标。可以通过在赛道上冲刺滑行时收集鲱鱼来提高分数。在雪地滑行时活动将更加灵活，在冰上滑行能加快 Tux 的速度，在岩石上滑行则会拖慢 Tux 的速度。

### 系统需求：

|  |  |  |
| --- | --- | --- |
|  | **推荐配置** | **最低配置** |
| **CPU** | 400 MHz 的处理器，或者更好的处理器 | 奔腾处理器，200MMX |
| **内存（RAM）** | 128 MB | 64 MB |
| **显卡** | TNT2/Voodoo3-class 3D 显卡，或者更好的显卡 | 3D 显卡，附带完全 OpenGL 支持 |
| **声卡** | 16-bit | 16-bit |
| **硬盘** | 20 MB | 20 MB |

有话要说？在下面发表你的评论吧。

---

via: <http://mylinuxbook.com/top-10-free-linux-games/>

作者：[Himanshu Arora](http://mylinuxbook.com/author/himanshuc/) 译者：[SteveArcher](https://github.com/SteveArcher) 校对： [wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


Linux有问必答：如何检查PDF中使用了哪种字体

Summary: 问题：我想要知道PDF文件中使用了什么字体，或者嵌入了什么字体。Linux中有工具可以检查PDF文档中使用了哪种字体吗？  要检查PDF文件中包含了，或者使用了什么字体，你可以使用命令行工具：pdffonts，它是一个PDF字体分析工具。pdffonts是Poppler PDF工具集包中的一个部分。  安装PDF工具集到Linux 要安装Poppler到Debian，Ubuntu或Linux Mint： $ sudo apt-get install poppler-utils  要安装PDF工具集到Fedora，CentOS或RHEL： $ sudo yum install poppler-utils  检查PDF字体 pdffonts可以列出PDF文档中使用的所有字体。pdffonts的基本

一般情况下我用evince的属性查看，Linux上的文档阅读器差不多都有这个功能，真的比命令行方便些……

看属性就好了，这是炫技么？

在终端下能正常显示汉字，运行这个命令pdffonts doc.pdf后，显示？？？？字体。如何才能看到缺少什么字体？

还真不知道，帮顶求问。

用evince的属性查看,同样字体显示乱码。

# Linux有问必答：如何检查PDF中使用了哪种字体

>
> **问题**：我想要知道PDF文件中使用了什么字体，或者嵌入了什么字体。Linux中有工具可以检查PDF文档中使用了哪种字体吗？
>
>
>

要检查PDF文件中包含了，或者使用了什么字体，你可以使用命令行工具：pdffonts，它是一个PDF字体分析工具。pdffonts是Poppler PDF工具集包中的一个部分。

<img src="content_image/album_201408_27_005030kd3j1dds1wlidzjj.png" alt="" title="">

### 安装PDF工具集到Linux

要安装Poppler到Debian，Ubuntu或Linux Mint：

```
$ sudo apt-get install poppler-utils

```

要安装PDF工具集到Fedora，CentOS或RHEL：

```
$ sudo yum install poppler-utils

```

### 检查PDF字体

**pdffonts**可以列出PDF文档中使用的所有字体。pdffonts的基本用法如下。

```
$ pdffonts doc.pdf
```

**pdffonts**工具显示了各个已使用的字体的各种信息，如字体名称/类型，或者字体是否内嵌等等。

如果一个PDF文档有多页，你可以使用“-f”（首页）和“-l”（末页）选项来限制字体扫描页面范围。例如，如果你想要找出某个文档中的5-10页中使用了哪种字体，运行该命令：

```
$ pdffonts -f 5 -l 10 doc.pdf

```

---

via: <http://ask.xmodulo.com/check-which-fonts-are-used-pdf-document.html>

译者：[GOLinux](https://github.com/GOLinux) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


Linux系统中使用 DD 命令测试 USB 和 SSD 硬盘的读写速度

有用

Mk

[赞]

good

@mywiz

恩 我的u盘写入在kb级别

这个很有用！

# Linux系统中使用 DD 命令测试 USB 和 SSD 硬盘的读写速度

###

### 磁盘驱动器速度

磁盘驱动器的速度是以一个单位时间内读写数据量的多少来衡量的。DD 命令是一个简单的命令行工具，它可用对磁盘进行任意数据块的读取和写入，同时可以度量读取写入的速度。

在这篇文章中，我们将会使用 DD 命令来测试 USB 和 SSD 磁盘的读取和写入速度。

数据传输速度不但取决于驱动盘本身，而且还与连接的接口有关。比如， USB 2.0 端口的最大传输速度是 35 兆字节/秒，所以如果您把一个支持高速传输的 USB 3.0 驱动盘插入 USB 2.0 端口的话，它实际的传输速度将是 2.0 端口的下限。

这对于 SSD 也是一样的。 SSD 连接的 SATA 端口有不同的类型。平均是 375 兆字节/秒的 SATA 2.0 端口理论上最大传输速度是 3 Gbit/秒，而 SATA 3.0 是这个速度的两倍。

### 测试方法

挂载上驱动盘，从终端进入此盘目录下。然后使用 DD 命令，首先写入固定大小块的一个文件，接着读取这个文件。

DD 命令通用语法格式如下：

```
dd if=path/to/input_file of=/path/to/output_file bs=block_size count=number_of_blocks

```

当写入到驱动盘的时候，我们简单的从无穷无用字节的源 /dev/zero 读取，当从驱动盘读取的时候，我们读取的是刚才的文件，并把输出结果发送到无用的 /dev/null。在整个操作过程中， DD 命令会跟踪数据传输的速度并且报告出结果。

### 固态硬盘

我们使用的是一块“三星 Evo 120G” 的固态硬盘。它性价比很高，很适合刚开始用固态硬盘的用户，也是我的第一块固态硬盘，并且也是市场上效果最好的固态硬盘之一。

这次实验中，我们把硬盘接在 SATA 2.0 端口上。

#### 写入速度 ####

首先让我们写入固态硬盘

```
$ dd if=/dev/zero of=./largefile bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 4.82364 s, 223 MB/s

```

的大小实际上是相当大的。你可以尝试用更小的尺寸如 64K 甚至是 4K 的。

#### 读取速度

现在读回这个文件。但是，得首先清除内存的缓存，以确保这个文件确实是从驱动盘读取的。

运行下面的命令来清除内存缓存

```
$ sudo sh -c "sync && echo 3 > /proc/sys/vm/drop_caches"

```

现在读取此文件

```
$ dd if=./largefile of=/dev/null bs=4k
165118+0 records in
165118+0 records out
676323328 bytes (676 MB) copied, 3.0114 s, 225 MB/s

```

在 Arch Linux 的维基页上有一整页的关于不同的厂商，如英特尔、三星、Sandisk 等提供的各类固态硬盘 读/写速度的信息。点击如下的 url 可以查看相关信息。

[https://wiki.archlinux.org/index.php/SSD\_Benchmarking](http://wiki.archlinux.org/index.php/SSD_Benchmarking)

### USB

此次实验我们会测量普通的 USB/随身笔的读写速度。驱动盘都是接入标准的 USB 2.0 端口的。首先用的是一个 4GB 大小的 sony USB 驱动盘，随后用的是一个 16GB 大小的 strontium 驱动盘。

首先把驱动盘插入端口，并挂载上，使其可读。然后从命令行下面进入挂载的文件目录下。

#### Sony 4GB - 写入

这个实验中，用 DD 命令向驱动盘写入一个有 10000 块，每块 8K 字节的文件。

```
# dd if=/dev/zero of=./largefile bs=8k count=10000
10000+0 records in
10000+0 records out
81920000 bytes (82 MB) copied, 11.0626 s, 7.4 MB/s

```

因此，写入速度约为7.5兆字节/秒。这是一个很低的数字。

#### Sony 4GB - 读取

把相同的文件读取回来，测试速度。首先运行如下命令清除内存缓存。

```
$ sudo sh -c "sync && echo 3 > /proc/sys/vm/drop_caches"

```

现在就可以使用 DD 命令来读取文件了。

```
# dd if=./largefile of=/dev/null bs=8k
8000+0 records in
8000+0 records out
65536000 bytes (66 MB) copied, 2.65218 s, 24.7 MB/s

```

读取速度出来大约是25兆字节/秒，这大致跟廉价 USB 驱动盘的标准相匹配吧。

>
> USB2.0 理论上最大信号传输速率为480兆比特/秒，最小为60兆字节/秒。然而，由于各种限制实际传输速率大约280兆比特/秒和35兆字节/秒之间。除了这个，实际的速度还取决于驱动盘本身的质量好坏以及其他的因素。
>
>
>

上面实验中， USB 驱动盘插入USB 2.0 端口，读取的速度达到了 24.7兆字节/秒，这是很不错的读速度。但写入速度就不敢恭维了。

下面让我们用 16GB 的 Strontium 驱动盘来做相同的实验。虽然 Strontium 的 USB 驱动盘很稳定，但它也是一款很便宜的品牌。

#### Strontium 16gb 盘写入速度

```
# dd if=/dev/zero of=./largefile bs=64k count=1000
1000+0 records in
1000+0 records out
65536000 bytes (66 MB) copied, 8.3834 s, 7.8 MB/s

```

#### Strontium 16gb 盘读取速度

```
# sudo sh -c "sync && echo 3 > /proc/sys/vm/drop_caches"

# dd if=./largefile of=/dev/null bs=8k
8000+0 records in
8000+0 records out
65536000 bytes (66 MB) copied, 2.90366 s, 22.6 MB/s

```

它的读取速度就要比 Sony 的低了。

### 参考资料

* <http://en.wikipedia.org/wiki/USB>
* [https://wiki.archlinux.org/index.php/SSD\_Benchmarking](http://wiki.archlinux.org/index.php/SSD_Benchmarking)

---

[](https://camo.githubusercontent.com/20a3dae353e06af1e185ddcef445fd31b2d253ff/687474703a2f2f302e67726176617461722e636f6d2f6176617461722f65323366323736376536393037653739386461356232383639346132626632383f733d363426643d26723d47)

关于 Silver Moon

Php 开发者, 博主 和 Linux 爱好者. 通过 [m00n.silv3r@gmail.com](https://github.com/LCTT/TranslateProject/blob/master/translated/tech/m00n.silv3r@gmail.com) 或者 [Google+](http://plus.google.com/117145272367995638274/posts) 可联系到他。


[博文赠书]《Zabbix企业级分布式监控系统》点评赠书

Summary: 第一本Zabbix中文图书，企业级开源监控系统必选！即日起关注@LINUX中国 @博文视点Broadview 评论说说喜爱本书的理由，或说说在众多开源监控系统中Zabbix具有什么优势？即有机会获得《Zabbix企业级分布式监控系统》图书1本（共5本）

使用zabbix很久了，好处多多啊！

1.支持多种监控方式；

2.分布式；

3.支持自定义监控；

4.自动发现；

5.api支持；

等等。。。。。。

多少次，评书赠书活动我都放弃了，想把更多的机会留给大家。可是这次我不想放弃，我很想了解这方面的技术，有点抓狂的想。不知道自己买了多少关于linux的书籍，实在囊中羞涩了，但是还是抓狂般的想要这本书，这也是我第一次参加赠书评论，望给个机会啊

使用的多了，所以要把，机会留给没使用过的同学么，谢谢！

这本书由浅入深地讲解Zabbix ，从安装配置到高级应用，十分全面，尤其是数据库分表、高可用、性能调优、架构设计，使用zabbix的用户可以当作参考书哦[偷乐]

这书是作者在运维领域多年实践的精彩总结，没有花哨的语言，不是砖头书。从头至尾，循序渐进，抽丝剥茧，让你对Zabbix的基本操作及其原理有全面、系统的认识。作者大部分篇幅都采用图例加脚本实例阐述，相信这也是他对Zabbix架构的深刻理解，只有掌握了扎实的原理架构，才能让实战操作井井有条！赞

这本书系统支持分布式部署和WEB集中管理（通过WEB页面设置或查看报警结果）。 自动发现主机和网络设备。WEB监控：可以监控WEB下载速度，返回码及响应时间。 提供实时和历史的监控分析数据。EMAIL报警。

理由就是专业！

专业 靠谱

作者的博客本就是中文资料的精品，出书更是融会贯通大圆满啊，强烈推荐！

@brightin在成都 @段旭东2012 @余小梁Leon

@shanlon @suwu @he_chaoxi 分布式系统的监控管理也是重要一环，尤其互联网行业。

!!!!!!![花心][花心][花心][花心]

关注你这么久了，一直在看你们的论坛，给点书看看。

@Winnie说说

我是ONLY，特别想要这本书，真的特别特别！

[赞]@Winnie说说

[赞]

[奥特曼]//@itnihao:[赞]@Winnie说说

不错看看

[给力]//@杨中兴: @Winnie说说

既然被at到就说点儿，zabbix的主要特点： 安装与配置简单，学习成本低 - 支持多语言（包括中文），免费开源等优势。以后可以被大规模应用的。 等等//@Linux中国_笑语彦然: @brightin在成都 @段旭东2012 @余小梁Leon

好东西啊！急需ing...

'''''''''''''''''''''''''''''那么多人反对我‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’

理论与是实战结合.清晰的思路带我们进入zabbix监控中去,多案例剖析监控技巧,zabbix属于自动化运维类里的一个工具,值得拥有.

方便机器性能、服务监控

每天都来瞅一眼！

目前对于运维来说，选择选择一个监控系统的时候面临了两个选择。Zabbix和Nagios，究竟是哪一个更好一点，相信这个问题是大家心里疑问最多的。究竟我们该如何抉择，我想我更推荐使用Zabbix，而且有不少nagios用户正在往zabbix平台上迁移或者准备迁移。Nagios优点是作为一个轻量级监控系统，部署灵活，维护相对容易，如果只是仅仅进行实现监控报警Nagios是个不错的选择，图表处理这块与cacti整合后也是不尽人意，可谓是一大弱点。

Zabbix监控的信息更加全面，作为一个重量级分布式免费开源监控系统，能够在大型网络进行部署，安装配置也很简单，能够通过WEB界面直接进行配置管理，自定义监控更加简单，更加直观。自动发现服务器和网络设备是nagios所没有的功能。有API功能，能够与其他平台整合，比如与Saltstack或者Puppet进行整合实现自动化运维管理平台，也可进行二次开发。

实时监控及报警，图表给力，人性化。进行日志监控分析这也是nagios无法实现的，总之Zabbix是趋势，自动化运维利器首选。

一个套好的监控系统是一个计算机集群正常高校运转的保证，更是自动化运维的核心。作为一个业余的运维，对自动化运维不是很熟，只了解过Triquae。大致阅读了样章提供的前9章，首先的感觉就是“详细”。Zabbix和其他开源监控系统的对比，Zabbix的安装和配置，都写的非常详细。Zabbix安装不难，使用也比较简单（刚从样章里学到的），确实值得赞一个。另外，对于本书，搜索了一下作者博客，作者最早关于Zabbix的博客是2012年5月份写的，也是从安装开始。所以这本书应该是作者从0开始探索Zabbix的历程，对于学习和使用Zabbix应该会是一本不可多得的好书，可以让大家少走很多弯路。

我看过开源版本的，和这差不多！很喜欢Zabbix监控，再加上puppet自动化运维管理，Very Good！！！

本次写的书和开源版本PDF有些区别，思路不太相同，只是内容有部分重复。

itnihao回复：确实如此，本书正是本人的亲自实践所得，相对知识，更注重于思路的引导，相信能帮助到需要研究Zabbix的朋友

..............有多特别？

监控系统使运维人员及时发现问题，并且提供了系统优化的基础数据，是企业系统稳定运行的一大基础保障。zabbix使用客户端手机数据，然后在服务端处理数据的方式还是很能接受的。有时候还是可以通过脚本来获取数据，不一定要使用zabbix的客户端。用过zabbix，感觉功能很强大，但是有些时候缺少一些内容，缺少文档，不知如何下手啊！

Zabbix监控系统有哪些功能：

1 适合分布式控制：支持多种采集方式和采集客户端适合于构建分布式监控系统，具有node，proxy2种分布式模式

2 自动管理功能：自动发现，自动注册主机，自动添加模板，自动添加分组

3 添加触发器：报警条件有多重判断机制，

4 支持多种监控方式：agentd，snmp，ipmi，jmx，

5 提供api功能：便于监控系统的扩展

# [博文赠书]《Zabbix企业级分布式监控系统》点评赠书

**第一本****Zabbix****中文图书，企业级开源监控系统必选！**

即日起关注@LINUX中国 @博文视点Broadview 对本书进行评论，说说你喜爱它的理由，或者说说在众多开源监控系统中Zabbix具有什么优势？即有机会获得《Zabbix企业级分布式监控系统》图书1本（共5本）

<img src="content_image/album_201408_27_165939zecs4p4zsmtt4ttu.jpg" alt="" title="">

### **活动内容**

活动时间：2014年8月27日-2014年9月10日

活动要求：

**活动形式一** ：在新浪微博关注[@LINUX中国](http://linux.cn/home.php?mod=space&uid=16101) [@博文视点Broadview](http://weibo.com/broadviewbj) 转发本微博并添加有效评论。
 **活动形式二：**在Linux中国（[http://linux.cn](http://linux.cn/)）对本书进行如下任意话题讨论。

1. 监控系统在企业中具有什么作用？
2. 监控系统如何去设计？
3. Zabbix监控系统有哪些功能？
4. 在众多开源监控系统中，Zabbix具有什么优势？
5. 在Zabbix使用过程中，有哪些经验可以分享给大家？

活动奖品：《Zabbix企业级分布式监控系统》图书一本（共5本）

**特此注意：**

**1****、本站论坛评论方式参与的用户，评论前需登录您的****Linux****中国账号，匿名评论无效**

**2****、微博用户参与活动，活动结束后注意查看****[@LINUX中国](http://linux.cn/home.php?mod=space&uid=16101)** **官方微博公布的中奖名单或留意您的微博私信，本站用户参与活动，注意查看您注册****Linux****中国时所填写的邮箱。****我们会通过微博私信以及电子邮件两种方式获取您的邮寄信息。**

### **基本信息**

作者：吴兆松[@itnihao](http://weibo.com/itnihao)

出版社：电子工业出版社

出版时间：2014-08-01

页数：356

版次：1

### **媒体推荐**

运维离不开监控就像鱼离不开水，一款功能强大的监控系统可以有力地保证业务的性能和稳定性。近几年各种监控系统层出不穷，Zabbix作为监控系统的新兴贵族迅速崛起，不过中文资料还比较少，itnihao作为Zabbix监控系统国内领先的使用者，厚积薄发撰写了此书，大家可以通过这本书详细地了解Zabbix的各个方面，熟悉它、了解它、使用它，并最后爱上它。

——窦喆（@南非蜘蛛），中国最大开源社区ChinaUnix创始人之一

本书理论与实践相结合，包含Zabbix的各项技术细节，由浅入深，无论是新手还是老用户，看完本书，一定能给你带来技术和思路的拓展，正如作者所言，本书学的不止是技术，而是解决问题的思路。

 ——邝玲，高级系统运维工程师

### **内容简介**

 本书从入门到高级应用，从Zabbix基本应用到安装包定制、协议、API，全面剖析、应有尽有。包含大量监控案例，详解触发器、告警等Zabbix监控中令人头疼的问题，学到的不止是技术，还有思路和方法。

《Zabbix企业级分布式监控系统》适合想了解、学习和规划构建监控系统的人员阅读，可以作为学习Zabbix 的工具书，也适合有一定基础，想更深入学习Zabbix 的读者，通过大量的案例，让读者真正理解Zabbix。

### **作者简介**

 吴兆松，运维开发工程师，具有丰富的一线运维实战经验，曾做过CDN运维、游戏运维、云计算运维，对Linux系统、云计算、监控系统有较深入的研究，熟悉运维自动化工具的使用和二次定制开发，乐于折腾开源软件，偶尔写写博客、技术文档，其始终坚信，技术的积累只是时间问题，而解决问题的思路和思想高于具体的技术细节。

**样章地址：**<http://wenku.it168.com/d_001521656.shtml>

**购买链接：**<http://www.dwz.cn/r1Mkq>

**更多博文图书，请点击：**<http://www.dwz.cn/r1MzG>


怎样在ubuntu 14.04上安装轻量级的Budgie桌面

Summary: 如果你在推特上关注了我们，你可能看见了我们最近分享的一张截图，和这张截图一起的还有对它所展示的桌面进行命名的邀请。 你猜对了吗? 答案就是Budgie  一种为基于openSUSE 的linux发行版Evolve OS所设计、但不仅仅只能用于 Evolve OS的简易桌面环境。  我们第一次提到Budgie是在三月份，当时我们被它的整洁、小巧的美感、灵活的架构，还有再次使用在当今大多数发行版中所使用的GNOME 3.10 成熟技术中的公共部分和标堆栈的决定所折服。 我对此项目的领导者Ikey Doherty所作出的开发选择非常佩服。无可否认另起炉灶有它的优点，但决定从上

轻好，目前我电脑上只能分出50G来给Ubuntu

不喜欢，Chrome OS风格太浓了 //@Garfield550:轉發微博

所以不喜欢 //@0xCAFE:就是仿的Chrome OS //@MegaTRabbit:不喜欢，Chrome OS风格太浓了 //@Garfield550:轉發微博

漂亮w 喜欢w //@0xCAFE：就是仿的Chrome OS //@MegaTRabbit:不喜欢，Chrome OS风格太浓了 //@Garfield550:轉發微博

这个好

Repost

看起来听简洁的～

# 怎样在ubuntu 14.04上安装轻量级的Budgie桌面

**如果你在推特上关注了我们，你可能看见了我们最近分享的一张截图，和这张截图一起的还有对它所展示的桌面进行命名的邀请。**

你猜对了吗? 答案就是[Budgie](http://www.omgubuntu.co.uk/2014/03/budgie-desktop-chrome-os-like) —— 一种为基于openSUSE 的linux发行版Evolve OS所设计、但不仅仅只能用于 Evolve OS的简易桌面环境。

<img src="content_image/album_201408_27_175242r2c92e72pz6sppi5.png" alt="" title="">

我们第一次提到Budgie是在三月份，当时我们被它的整洁、小巧的美感、灵活的架构，还有再次使用在当今大多数发行版中所使用的GNOME 3.10 成熟技术中的公共部分和标堆栈的决定所折服。

我对此项目的领导者Ikey Doherty所作出的开发选择非常佩服。无可否认另起炉灶有它的优点，但决定从上游的项目获取帮助将可以整个项目进展得更快，无论是在发展方面（更轻的技术负担）还是在用户可使用方面（更容易在其它发行版上运行）。

除了政治因素选择以外，这款桌面干净、小巧，向谷歌Chrome OS的Ash桌面致敬。如果你不介意有些许粗糙的边缘，那它值得你玩玩。那么怎样在Ubuntu安装Budgie呢？

### 非官方的PPA是不正式的

开源意味着如果你有一点终端使用知识的话，你就可以在获得Budgie桌面的源代码后进行编译，然后运行。

但如果你很懒，想不费周折就在Ubuntu 14.04 LTS（或者一个基于它的发行版）运行Budgie，那么你可以通过比较容易的途径来实现。

只要添加一个**非官方的PPA**，刷新你的软件源然后进行安装。几分钟后在这个家庭中你将有一位[名叫Bob](http://en.wikipedia.org/wiki/Bob)的新叔叔，并且有一个新的桌面可以玩耍。

### 添加Budgie PPA

将以下命令复制进一个打开的终端窗口，在提示过后输入你的密码（如果需要的话）:

```
sudo add-apt-repository ppa:sukso96100/budgie-desktop
sudo apt-get update && sudo apt-get install budgie-desktop

```

### 登入Budgie会话

安装完成后你就可以在Unity欢迎界面的会话选择器中选择“Budgie”了。（别忘了以后要把选择项改回到稳定的桌面环境）

### 注意

**budgie是不稳定、不完善的，并且它在Ubuntu上也没有被正式支持。**它正在积极开发中，功能还仍然有些缺失，包括但不仅限于：不支持网络管理，没有音量控制小程序（键盘按键工作良好），没有通知系统，无法将应用程序“固定”在任务栏。

它对UBUNTU的叠加滚动条、一些GTK主题的支持也不是很好，而且在使用upstart的发行版（例如ubuntu，[即使它正在改变之中](http://www.omgubuntu.co.uk/2014/02/ubuntu-debian-switching-systemd)）中会话管理器（例如，注销，重启等等）将无法工作。

一个应变方法是：禁用叠加滚动条，设置一个默认主题，通过在终端中使用以下命名来退出会话：

```
gnome-session-quit

```

脑海中有了上述这些警告后，我得建议那些自己的理智倾向于使用稳定、可靠的系统的人现在暂时不要使用它。

**而剩下那些狂热的业余爱好者们呢？好吧，请在下面留言告诉我们你觉得它如何。我给Bob让路。**

---

via: <http://www.omgubuntu.co.uk/2014/07/install-budgie-evolve-os-desktop-ubuntu-14-04>

译者：[Love-xuan](https://github.com/Love-xuan) 校对：[reinoir](https://github.com/reinoi)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


Linux slabtop命令——显示内核片缓存信息

Summary: Linux内核需要为临时对象如任务或者设备结构和节点分配内存，缓存分配器管理着这些类型对象的缓存。现代Linux内核部署了该缓存分配器以持有缓存，称之为片。不同类型的片缓存由片分配器维护。本文集中讨论slabtop命令，该命令显示了实时内核片缓存信息。1. 命令用法：该命令用起来很简单，默认执行时不要求任何参数。但是它要求root特权来读取内核片信息。以普通用户执行该命令会出现以下错误：

nice！~


Summary: Mesosphere，一家试图围绕鲜为人知的 Apache Mesos 项目开展商业活动的公司，刚刚从 Andreessen Horowitz 那里获得了 1000 万美元投资。以下是为什么这个项目能够吸引如此巨款的原因。 事实上 Mesos 这款自动扩放软件已经出现了五年了。据 Mesosphere 的CEO及联合创始人 Florian Leibert 所述，Mesos 已经在 Twitter 内已经管理了超过 50,000 个以上的CPU。此外， EBay, AirBnB, Netflix 还有 HubSpot 也是这款软件的使用者。 当那些互联网巨头发现 Mesos 的时候，这项技术却并不为大多数企业所知。但它确实可以满足一些公司在他们内部的

# 鲜为人知的 Apache Mesos 项目帮助 Mesosphere 公司得到了千万美元投资

<img src="content_image/album_201408_28_164959dmm3j9jfbxdyrmze.jpg" alt="" title="">

[Mesosphere](http://mesosphere.io/)，一家试图围绕鲜为人知的 Apache Mesos 项目开展商业活动的公司，刚刚从 Andreessen Horowitz 那里获得了 1000 万美元投资。以下是为什么这个项目能够吸引如此巨款的原因。

事实上 Mesos 这款自动扩放软件已经出现了五年了。据 Mesosphere 的CEO及联合创始人 Florian Leibert 所述，Mesos 已经在 Twitter 内已经管理了超过 50,000 个以上的CPU。此外， EBay, AirBnB, Netflix 还有 HubSpot 也是这款软件的使用者。

当那些互联网巨头发现 Mesos 的时候，这项技术却并不为大多数企业所知。但它确实可以满足一些公司在他们内部的数据中心上应用公共云的一些技术的需求。

Mesos 管理集群机器，根据需要自动扩放应用。它在每台机器上只依赖很少的软件，它由一个主调度程序协调。据 Leibert 所说，其CPU 占用为 0 并且几乎不消耗任何内存。在其工作的每台机器上的该软件会向调度程序报告关于虚拟机或者服务器的容量信息，接着调度程序向目标机器分派任务。

“如果一项任务终断并且没有返回任何结果，主调度程序知道如何重新调度它和它所用的资源在哪里。” Mesosphere 的资深副总裁 Matt Trifiro 说。

Mesos 能自动扩放一系列的任务，包括 Hadoop 数据库，Ruby on Rails 节点，以及 Cassandra 。

使用 Mesos 使得 Hubspot 削减了一半的 AWS(Amazon Web Services) 的费用支出，Liebert 说道。这是因为 Mesos 能够在目标机器之间有效地分配作业量的原因。

然而，Mesos 更有可能应用到那些试图真正地在内部创建一个类 AWS 环境的企业，一位来自 451 Research 的分析员 Jay Lyman 说。AWS 提供一些[自动扩放工具](http://aws.amazon.com/autoscaling/)，但大多数公司对于在公共云基础设施上运行所有东西还是感到不安。与此同时，他们并不想着反对他们的开发者采用 AWS 那样的公共云中可用的优异性能。他们希望他们的私有云能集成这些可用的优点。

“如你所见，类似 AWS 风格的界面风格，与监控、命令、操控以及稳定性相融合，” Liebert 继续说道。

Mesos 既可以在一个私有云上也可以在 AWS 上运行，向企业提供最有效率地使用其内部云的方法，并在需要扩放时自动切换到 AWS 去。

但是，从另外的方面说 Mesos 也是有一些缺点的。它[并不能运行](http://mesosphere.io/learn/)任何 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 在这个领域并不唯一。Rightscale，Scalr 以及现在归 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) 校对： [wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


Summary: RHEL/CentOS 7.0中一个最主要的改变，就是切换到了systemd。它用于替代红帽企业版Linux前任版本中的SysV和Upstart，对系统和服务进行管理。systemd兼容SysV和Linux标准组的启动脚本。Systemd是一个Linux操作系统下的系统和服务管理器。它被设计成向后兼容SysV启动脚本，并提供了大量的特性，如开机时平行启动系统服务，按需启动守护进程，支持系统状态快照，或者基于依赖的服务控制逻辑。

挺好用

这几天用了下。还不错。就是各种名字挺别扭的。

比如：

查看所有服务：

# systemctl list-unit-files -t service

为什么不是：

# systemctl list service

目前我所我所维护的服务器都还停留在CentOS 5.4 5.6 最高的也就6.4  目前这个还真的没有用过 看了下介绍和大家的说明 其实是一个不错的工具，不过就是需要改掉一个已有的习惯，大家不太习惯吧~

已习惯

# Linux Systemd——在RHEL/CentOS 7中启动/停止/重启服务

<img src="content_image/album_201408_29_173235jrrhehuyu43fgi74.jpg" alt="" title="">

RHEL/CentOS 7.0中一个最主要的改变，就是切换到了**systemd**。它用于替代红帽企业版Linux前任版本中的SysV和Upstart，对系统和服务进行管理。systemd兼容SysV和Linux标准组的启动脚本。

**Systemd**是一个Linux操作系统下的系统和服务管理器。它被设计成向后兼容SysV启动脚本，并提供了大量的特性，如开机时平行启动系统服务，按需启动守护进程，支持系统状态快照，或者基于依赖的服务控制逻辑。

先前的使用SysV初始化或Upstart的红帽企业版Linux版本中，使用位于/etc/rc.d/init.d/目录中的bash初始化脚本进行管理。而在RHEL 7/CentOS 7中，这些启动脚本被服务单元取代了。服务单元以.service文件扩展结束，提供了与初始化脚本同样的用途。要查看、启动、停止、重启、启用或者禁用系统服务，你要使用systemctl来代替旧的service命令。

>
> 注：为了向后兼容，旧的service命令在CentOS 7中仍然可用，它会重定向所有命令到新的systemctl工具。
>
>
>

### 使用systemctl来启动/停止/重启服务

要启动一个服务，你需要使用如下命令：

```
# systemctl start httpd.service

```

这会启动httpd服务，就我们而言，Apache HTTP服务器。

要停掉它，需要以root身份使用该命令：

```
# systemctl stop httpd.service

```

要重启，你可以使用restart选项，如果服务在运行中，它将重启服务；如果服务不在运行中，它将会启动。你也可以使用try-start选项，它只会在服务已经在运行中的时候重启服务。同时，reload选项你也可以有，它会重新加载配置文件。

```
# systemctl restart httpd.service
# systemctl try-restart httpd.service
# systemctl reload httpd.service

```

我们例子中的命令看起来会像下面这样：

[](https://camo.githubusercontent.com/c48466bdace319ac5de6170de3ab30e50b04fc00/687474703a2f2f6c696e6f786964652e636f6d2f77702d636f6e74656e742f75706c6f6164732f323031342f30382f73797374656d63746c2d73746172742d73746f702d726573746172742e676966)

### 检查服务状态

要检查服务状态，你可以使用status选项，看这里：

```
# systemctl status httpd.service

```

输出结果就像这样：

[](https://camo.githubusercontent.com/2051c28c1b00a4f865115bfa13a894998e395a30/687474703a2f2f6c696e6f786964652e636f6d2f77702d636f6e74656e742f75706c6f6164732f323031342f30382f73797374656d63746c2d7374617475732e676966)

它会告诉你运行中的服务的方方面面。

### 使用启用/禁用服务来控制开机启动

你也可以使用enable/disable选项来控制一个服务是否开机启动，命令如下：

```
# systemctl enable httpd.service
# systemctl disable httpd.service

```

输出结果看这里：

[](https://camo.githubusercontent.com/214f58a29c28aa1c162fc401890625e35d648a54/687474703a2f2f6c696e6f786964652e636f6d2f77702d636f6e74656e742f75706c6f6164732f323031342f30382f73797374656d63746c2d656e61626c652e676966)

虽然在过去的几年中，对systemd的采用饱受争议，然而大多数主流发行版都已经逐渐采用或打算在下一个发行版中采用它。所以，它是一个有用的工具，我们需要好好熟悉它。

---

via: <http://linoxide.com/linux-command/start-stop-services-systemd/>

作者：[Adrian Dinu](http://linoxide.com/author/adriand/) 译者：[GOLinux](https://github.com/GOLinux) 校对：[Caroline](https://github.com/carolinewuyan)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


Ubuntu Touch 截图先睹为快

Summary: 据微博网友@敲代码的Joey_Chan透露，Ubuntu Touch 将在今年十月伴随 Ubuntu 预定的版本发布周期一同发布，不过魅族搭载 Ubuntu Touch 的手机是否能同期推出，尚不确定。 以下截图来自 @敲代码的Joey_Chan，大家可以先睹为快，期待真机出现，小编现在对 Ubuntu Touch 十分渴望：  启动图  锁屏图  解锁图  拨号界面  应用界面  应用切换  浏览器

没钱了。。。

Repost

我喜欢的风格，必须买

汉字回退有问题

漂亮

看着挺爽，但是细想一下有点坑，linux最爽最虐心的是命令行界面和vim操作。还有多适用服务器的一些系统版本。手机不就求个傻瓜些的么[疑问]当然这是一种技术上的NB创新和突破。所以还是很爽...干嘛说这些，浪费时间，自己觉得是这么回事就行了

别有新意，另辟蹊径～

漂亮 流口水

还是iPhone吧。

那个圆不圆，椭不椭的图标太没有美感了[晕]

ubuntu 14.04终端里运行unity8，会出来一个东西。。。

如果输入法能完美解决，出来了真想刷上去用用

图标还比较丑，但期待中……

在Nexus系列机器中安装multirom可多引导直接安装ubuntu touch

@忆飘落的救赎  好看么

帅

字体跟桌面系统一样丑，任务栏还是给人安卓的感觉，不过后台程序窗口感觉比ios人性化一点

这货能像电脑的一样运行命令么？

是真喜欢，关键是理念好

转发微博。

我的手机装不上去......

有点帅//@完颜许哲Jason-USTC:Repost

@SD小星 @齐天大圣也爱国

[亲亲]

多任务切换界面做的真不错！

⊙▽⊙安卓系统？

想要

卖一下萌 [兔子]

@尐倩醬是尐衰妹 改天我把note2刷個這個 嘻嘻

亲儿子买买买 //@敲代码的Joey_Chan:卖一下萌 [兔子]

回复@暮日渐昏:Ubuntu

目前应该只能在 Nexus 上吧，不过看魅族啥时候出了。

好棒！不过我感觉ubuntu的紫红色好丑//@Linux中国: 回复@i_Ricky:我觉得那是必须的，否则叫啥 Ubuntu，即便官方没有，肯定也会有第三方的 APP 出来，不见 IPHONE 都有 TERM么。 //@i_Ricky:这货能像电脑的一样运行命令么？

我能说在nexus5上有很多bug吗？ //@Linux中国:回复@i_Ricky:我觉得那是必须的，否则叫啥 Ubuntu，即便官方没有，肯定也会有第三方的 APP 出来，不见 IPHONE 都有 TERM么。 //@i_Ricky:这货能像电脑的一样运行命令么？

不错哦

之前有看过相关帖子,有个通用安装器,但是下载ubuntu安装包总是提示安装包损坏.

我想试试这货[嘻嘻] @照照照相sadgen

漂亮！//@Linux中国:回复@i_Ricky:我觉得那是必须的，否则叫啥 Ubuntu，即便官方没有，肯定也会有第三方的 APP 出来，不见 IPHONE 都有 TERM么。 //@i_Ricky:这货能像电脑的一样运行命令么？

回复@Linux中国:安卓机可以刷不？

小米可以刷吗？//@Linux中国:回复@i_Ricky:我觉得那是必须的，否则叫啥 Ubuntu，即便官方没有，肯定也会有第三方的 APP 出来，不见 IPHONE 都有 TERM么。 //@i_Ricky:这货能像电脑的一样运行命令么？

赞//@Linux中国: 回复@i_Ricky:我觉得那是必须的，否则叫啥 Ubuntu，即便官方没有，肯定也会有第三方的 APP 出来，不见 IPHONE 都有 TERM么。 //@i_Ricky:这货能像电脑的一样运行命令么？

碉堡了//@Linux中国:回复@i_Ricky:我觉得那是必须的，否则叫啥 Ubuntu，即便官方没有，肯定也会有第三方的 APP 出来，不见 IPHONE 都有 TERM么。 //@i_Ricky:这货能像电脑的一样运行命令么？

这个你不知道吧[哈哈]@junjundeyuanwang //@Linux中国:回复@i_Ricky:我觉得那是必须的，否则叫啥 Ubuntu，即便官方没有，肯定也会有第三方的 APP 出来，不见 IPHONE 都有 TERM么。 //@i_Ricky:这货能像电脑的一样运行命令么？

界面很漂亮，但是性能怎们样，还求证实

第六张图，联系人三个字不一致。。

[爱你]//@校长Ubuntu:转发微博

基本应用都有吗？qq，微信，微博之类的

火钳刘明[呵呵]//@敲代码的Joey_Chan:卖一下萌 [兔子]

貌似很爽的样子//@Linux中国: 回复@i_Ricky:我觉得那是必须的，否则叫啥 Ubuntu，即便官方没有，肯定也会有第三方的 APP 出来，不见 IPHONE 都有 TERM么。 //@i_Ricky:这货能像电脑的一样运行命令么？

ubuntu touch确实可以运行终端，使用shell命令，不过ubuntu touch用起来好卡，体验太差了，不知道出新版本了没有。之前nexus 5刷过之后就又删掉了。。体验太差。。 //@Linux中国:回复@i_Ricky:我觉得那是必须的，否则叫啥 Ubuntu，即便官方没有，肯定也会有第三方的 APP 出来，不见 IPHONE 都有 TERM么

根据我多年使用ubuntu的经验，不论在什么终端上ubuntu都是大毛病没有小bug不断//@篮下SanSiro:看着很好！//@Linux中国: 回复@i_Ricky:我觉得那是必须的，否则叫啥 Ubuntu，即便官方没有，肯定也会有第三方的 APP 出来，不见 IPHONE 都有 TERM么。 //@i_Ricky:这货能像电脑的一样运行命令么？

想到关机在terminal里面输shutdown，查看文件用ls，该有多吊!!!

以后要买个魅族了

可以把miui_v4移植到天语touch3吗？//@吾就爱智能网:你移植了？//@592ZN-DELL:[亲亲]

兴趣不是很大

等得蛋蛋都碎了

@Simple光头 //@吾就爱智能网:你移植了？//@592ZN-DELL:[亲亲]

新一代安卓？

电脑估计用不了，适合平板和手机。

# Ubuntu Touch 截图先睹为快

据微博网友 [@敲代码的Joey\_Chan](http://weibo.com/n/%E6%95%B2%E4%BB%A3%E7%A0%81%E7%9A%84Joey_Chan?from=feed&loc=at) 透露，Ubuntu Touch 将在今年十月伴随 Ubuntu 预定的版本发布周期一同发布，不过魅族搭载 Ubuntu Touch 的手机是否能同期推出，[尚不确定](http://weibo.com/2678876822/BkoXKtrMu?mod=weibotime)。

以下截图来自 [@敲代码的Joey\_Chan](http://weibo.com/n/%E6%95%B2%E4%BB%A3%E7%A0%81%E7%9A%84Joey_Chan?from=feed&loc=at) ，大家可以先睹为快，期待真机出现，小编现在对 Ubuntu Touch 十分渴望：

启动图

锁屏图

解锁图

拨号界面

应用界面

应用切换

浏览器

仿古式终端


Linux上最先进的免费赛车游戏：StuntRally 2.4

Summary: StuntRally，免费的赛车游戏，拥有超过150个赛道和大量的车型，刚刚发布2.4版本，并带来了大量的更新和新功能。 这个游戏使用了多项技术， 例如 Vdrift、物理引擎 bullet、面向对象图形渲染引擎 OGRE、 网格的渲染优化 PagedGeometry 和 MyGUI 等等，不一一列举，开发者将其全部整合在一起构造了一个非常复杂和有趣的赛车游戏. 玩家可以在147个赛道和26个不同的场景中游戏，总计有四个小时的车程时间。在如此多的选择下，你要知道，而StuntRally是完全免费的！ 其他功能包括在幽灵驾驶（可以跟踪你的车子在赛道上的最佳瞬间），赛道幽灵（

@校长Ubuntu 不只是学习哟！

[兔子]//@农民企业家曹梓剑:@校长Ubuntu 不只是学习哟！

@抖森抖啊抖 [爱你]//@校长Ubuntu:[兔子]//@农民企业家曹梓剑:@校长Ubuntu 不只是学习哟！

有空试下

回去试一试，不然哥GTX860M只拿来渲染网页就浪费了

我觉得Speed Dreams比VDrift更像模拟驾驶。这个游戏基于VDrift开发，不知有什么改进。

Repost

好东西

采用orge食人魔引擎。之前尝试编译没成功过。感觉很吃性能

可以移植到安卓上吗

# Linux上最先进的免费赛车游戏：StuntRally 2.4

<img src="content_image/album_201408_30_123017di0anlrroe5fafel.jpg" alt="StuntRally" title="StuntRally">

**StuntRally，免费的赛车游戏，拥有超过150个赛道和大量的车型，刚刚发布2.4版本，并带来了大量的更新和新功能。**

这个游戏使用了多项技术， 例如 Vdrift、物理引擎 bullet、面向对象图形渲染引擎 OGRE、 网格的渲染优化 PagedGeometry 和 MyGUI 等等，不一一列举，开发者将其全部整合在一起构造了一个非常复杂和有趣的赛车游戏.

玩家可以在147个赛道和26个不同的场景中游戏，总计有四个小时的车程时间。在如此多的选择下，你要知道，而StuntRally是完全免费的！

其他功能包括在幽灵驾驶（可以跟踪你的车子在赛道上的最佳瞬间），赛道幽灵（赛道上的最佳驾驶，一个绿幽灵赛车，可以出现在所有轨道），回放（记录你的驾驶过程，并可以从其它的摄像头角度查看），许多的教程，几个总冠军杯赛，一些挑战赛，分屏赛车，和多人游戏。

最重要的是，开发商还提供了一个轨道编辑器，允许用户实时编辑道路节点及其参数，改变所有的赛道参数，调整地形生成器，甚至修改驾驶中的汽车的属性。

根据更新日志，添加了6个新的地图，删除了12个旧关卡，更新了一些赛道，增加了两个名为Crystals 和 GreeceWhite的场景，实现了太空飞船式气垫船，一半的赛道添加了新的天空纹理贴图，一些赛道上的静态景物现在可以用了，汽车属性页有了状态条、速度图，并添加了一个短列表视图。

同时，字体现在他们已重新调整得更大了，增加了包括胜利、失败、过圈最佳时间和故障检测排除等声音，已修复了多人游戏中用户昵称出现两次的问题，在一些赛道实现了地形、浓雾、水体的影响，关卡编辑器已经做了一些改进，汽车转向控制进行了改进，修复了游戏中的汽车表面调整窗口。

关于StuntRally更多最新消息可以参考 [通告](https://code.google.com/p/vdrift-ogre/wiki/VersionHistory)。

下载 StuntRally 2.4:

* [Stunt Rally 2.4 tar.xz](http://sourceforge.net/projects/stuntrally/files/2.4/StuntRally-2.4-linux64.tar.xz/download)[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](http://news.softpedia.com/editors/browse/silviu-stahie) 译者：[fbigun](https://github.com/fbigun) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


在基于RedHat或Debian的系统上安装 Wine 1.7

Summary: Wine,Linux上最流行也是最有力的软件, 可以顺利地在Linux平台上运行Windows程序和游戏。  这篇文章教你怎么在像CentOS, Fedora, Ubuntu, Linux Mint一样基于Red Hat和Debian的系统上安装最新的Wine 1.7。 在Linux安装 Wine 1.7 不幸的, 在基于Red Hat的系统上没有官方的 Wine 仓库，所以唯一的安装方式是从源码编译。你需要安装一些依赖的包比如gcc, flex, bison, libX11-devel freetype-devel 和 Development Tools，这些包用来从源码编译Wine。我们可以用yum命令安装他们。 在 RedHat, Fedora 和 CentOS 上 # yum -y groupinstall 'Deve

[good]

m k

能用它玩魔兽世界吗？

这么强大？[吃惊]

转发微博.

自带的版本比较低，更新一下

还有不少软件不支持linux'哎@开源中国

好[哈哈]

回复首先，你得安装wine的最新开发版本。只需要在终端下输入下面的命令： sudo add-apt-repository ppa:ubuntu-wine/ppa sudo apt-get update sudo apt-get install wine1.7 sudo apt-get install wine1.7-i386 接下来运行winecfg 选择Libraries（函数库）标签，在New override for library框中输入dbg

可惜不支持龙芯！

这个不错，装了wine，Linux就可以当windows了。不过想用windows,为什么不直接装windows呢？

Wine [good]

yum install wine 完事

下载wine安装包的链接怎么访问不上去了，有没有人帮忙发一下wine的安装包

下载wine安装包的链接怎么访问不上去了，有没有人帮忙发一下wine的安装包

# 在基于RedHat或Debian的系统上安装 Wine 1.7

Wine,Linux上最流行也是最有力的软件, 可以顺利地在Linux平台上运行Windows程序和游戏。

<img src="content_image/album_201408_30_211803yk7vlgkajllblkug.png" alt="安装Wine " title="安装Wine ">

这篇文章教你怎么在像CentOS, Fedora, Ubuntu, Linux Mint一样基于**Red Hat**和**Debian**的系统上安装最新的**Wine 1.7**。

### 在Linux安装 Wine 1.7

不幸的, 在基于**Red Hat**的系统上没有官方的 Wine 仓库，所以唯一的安装方式是从源码编译。你需要安装一些依赖的包比如gcc, flex, bison, libX11-devel freetype-devel 和 Development Tools，这些包用来从源码编译Wine。我们可以用**yum**命令安装他们。

#### 在 RedHat, Fedora 和 CentOS 上

```
# yum -y groupinstall 'Development Tools'
# yum -y install flex bison libX11-devel freetype-devel

```

接下来，下载最新的开发版本(如**1.7.21**)并用下面的命令解压。

```
$ cd /tmp
$ wget http://citylan.dl.sourceforge.net/project/wine/Source/wine-1.7.21.tar.bz2
$ tar -xvf wine-1.7.21.tar.bz2 -C /tmp/

```

现在，要以普通用户身份编译并搭建Wine的安装程序。(**注意**: 根据机器性能和网络速度的不同，安装过程需要 **15-20** 分钟，安装过程中会要求输入 **root** 密码。)

**32位系统上**

```
$ cd wine-1.7.21/
$ ./tools/wineinstall

```

**64位系统上**

```
$ cd wine-1.7.21/
$ ./configure --enable-win64
$ make
# make install

```

#### 在Ubuntu, Debian 和 Linux Mint 上

在基于**Ubuntu** 的系统上, 你可以用官方的 **PPA**来轻松安装最新的Wine。打开一个新终端用sudo运行如下命令。

```
$ sudo add-apt-repository ppa:ubuntu-wine/ppa
$ sudo apt-get update
$ sudo apt-get install wine 1.7 winetricks

```

一旦装完了，你可以以如下方式运行基于Windows的软件和游戏。

```
$ wine notepad
$ wine notepad.exe
$ wine c:\\windows\\notepad.exe

```

**注意**: 请记住，如果是开发版本不要用在生产环境。 建议只用在测试用途

如果你想安装最近的稳定版Wine, 请看下面的文章, 在文章里介绍了在几乎所以Linux系统中安装Wine的方法

* [Install Wine 1.6.2 (Stable) in RHEL, CentOS and Fedora](http://www.tecmint.com/install-wine-in-rhel-centos-and-fedora/)
* [Install Wine 1.6.2 (Stable) in Debian, Ubuntu and Mint](http://www.tecmint.com/install-wine-on-ubuntu-and-linux-mint/)

### 参考链接

* [WineHQ Homepage](http://www.winehq.org/)

---

via: <http://www.tecmint.com/install-wine-in-linux/>

译者：[2q1w2007](https://github.com/2q1w2007) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出