Merge pull request #14 from LCTT/master

Merge pull request #13 from LCTT/master
This commit is contained in:
shipsw
2015-01-27 13:25:18 +08:00
725 changed files with 69179 additions and 3412 deletions

2
.gitignore vendored
View File

@@ -1,3 +1,5 @@
*.md~
members.md
*.html
*.bak
.DS_Store

162
README.md
View File

@@ -1,11 +1,11 @@
简介
-------------------------------
LCTT是Linux中国社区[http://linux.cn/](http://linux.cn/)的翻译组负责从国外优秀媒体翻译Linux相关的技术、资讯、杂文等内容。
LCTT是Linux中国[http://linux.cn/](http://linux.cn/)的翻译组负责从国外优秀媒体翻译Linux相关的技术、资讯、杂文等内容。
LCTT已经拥有近百余名活跃成员并欢迎更多的Linux志愿者加入我们的团队。
![logo](http://img.linux.net.cn/static/image/common/linuxcn_qqq_lctt.gif)
![logo](http://img.linux.net.cn/static/image/common/lctt_logo.png)
LCTT的组成
-------------------------------
@@ -18,11 +18,10 @@ LCTT的组成
**发布**,负责将校对后的文章,排版进行发布。
加入我们
-------------------------------
请首先加入翻译组的QQ群群号是198889102加群时请说明是志愿者。加入后记得修改您的群名片为您的github的ID。
请首先加入翻译组的QQ群群号是198889102加群时请说明是志愿者。加入后记得修改您的群名片为您的github的ID。
加入的成员,请先阅读[WIKI 如何开始](https://github.com/LCTT/TranslateProject/wiki/01-如何开始)。
@@ -31,64 +30,6 @@ LCTT的组成
请阅读[WIKI](https://github.com/LCTT/TranslateProject/wiki)。
活跃成员
-------------------------------
目前活跃成员有:
- CORE [wxy](https://github.com/wxy),
- CORE [carolinewuyan](https://github.com/carolinewuyan),
- CORE [DeadFire](https://github.com/DeadFire),
- CORE [geekpi](https://github.com/geekpi),
- CORE [tinyeyeser](https://github.com/tinyeyeser),
- CORE [vito-L](https://github.com/vito-L),
- CORE [jasminepeng](https://github.com/jasminepeng),
- CORE [willqian](https://github.com/willqian),
- CORE [vizv](https://github.com/vizv),
- [luoxcat](https://github.com/Luoxcat),
- [runningwater](https://github.com/runningwater),
- [bazz2](https://github.com/bazz2),
- [flsf](https://github.com/flsf),
- [Vic020](https://github.com/Vic020),
- [Linux-pdz](https://github.com/Linux-pdz),
- [KayGuoWhu](https://github.com/KayGuoWhu),
- [crowner](https://github.com/crowner),
- [woodboow](https://github.com/woodboow),
- [Linchenguang](https://github.com/Linchenguang),
- [zpl1025](https://github.com/zpl1025),
- [blueabysm](https://github.com/blueabysm),
- [yechunxiao19](https://github.com/yechunxiao19),
- [scusjs](https://github.com/scusjs),
- [hyaocuk](https://github.com/hyaocuk),
- [theo-l](https://github.com/theo-l),
- [NearTan](https://github.com/NearTan),
- [ThomazL](https://github.com/ThomazL),
- [l3b2w1](https://github.com/l3b2w1),
- [boredivan](https://github.com/boredivan),
- [rogetfan](https://github.com/rogetfan),
- [liuaiping](https://github.com/liuaiping),
- [whatever1992](https://github.com/whatever1992),
- [tenght](https://github.com/tenght),
- [linuhap](https://github.com/linuhap),
- [icybreaker](https://github.com/icybreaker),
- [SteveArcher](https://github.com/SteveArcher),
- [FineFan](https://github.com/FineFan),
- [ailurus1991](https://github.com/ailurus1991),
- [zzlyzq](https://github.com/zzlyzq),
- [tomatoKiller](https://github.com/tomatoKiller),
- [small-Wood](https://github.com/small-Wood),
- [ggaaooppeenngg](https://github.com/ggaaooppeenngg),
- [yujianxuechuan](https://github.com/yujianxuechuan),
- [Hao-Ding](https://github.com/Hao-Ding),
- [Maclauring](https://github.com/Maclauring),
- [lijhg](https://github.com/lijhg),
- [zsJacky](https://github.com/zsJacky),
- [stduolc](https://github.com/stduolc),
更新于2014/05/16
谢谢大家的支持!
历史
-------------------------------
@@ -102,4 +43,99 @@ LCTT的组成
* 2013/11/10 举行第一次北京线下聚会。
* 2014/01/02 增加了Core Translators 成员: geekpi。
* 2014/05/04 更换了新的QQ群198889102
* 2014/05/16 增加了Core Translators 成员: will.qian、vizv。
* 2014/05/16 增加了Core Translators 成员: will.qian、vizv。
* 2014/06/18 由于GOLinux令人惊叹的翻译速度和不错的翻译质量升级为Core Translators成员。
* 2014/09/09 LCTT 一周年,做一年[总结](http://linux.cn/article-3784-1.html)。并将曾任 CORE 的成员分组为 Senior以表彰他们的贡献。
* 2014/10/08 提升bazz2为Core Translators成员。
* 2014/11/04 提升zpl1025为Core Translators成员。
* 2014/12/25 提升runningwater为Core Translators成员。
活跃成员
-------------------------------
目前活跃成员有:
- CORE [wxy](https://github.com/wxy),
- CORE [carolinewuyan](https://github.com/carolinewuyan),
- CORE [DeadFire](https://github.com/DeadFire),
- CORE [geekpi](https://github.com/geekpi),
- CORE [GOLinux](https://github.com/GOLinux),
- CORE [reinoir](https://github.com/reinoir),
- CORE [bazz2](https://github.com/bazz2),
- CORE [zpl1025](https://github.com/zpl1025),
- Senior [tinyeyeser](https://github.com/tinyeyeser),
- Senior [vito-L](https://github.com/vito-L),
- Senior [jasminepeng](https://github.com/jasminepeng),
- Senior [willqian](https://github.com/willqian),
- Senior [vizv](https://github.com/vizv),
- [runningwater](https://github.com/runningwater),
- [luoxcat](https://github.com/Luoxcat),
- [Vic020](https://github.com/Vic020),
- [KayGuoWhu](https://github.com/KayGuoWhu),
- [alim0x](https://github.com/alim0x),
- [ZTinoZ](https://github.com/ZTinoZ),
- [2q1w2007](https://github.com/2q1w2007),
- [flsf](https://github.com/flsf),
- [blueabysm](https://github.com/blueabysm),
- [barney-ro](https://github.com/barney-ro),
- [su-kaiyao](https://github.com/su-kaiyao),
- [crowner](https://github.com/crowner),
- [Linchenguang](https://github.com/Linchenguang),
- [Linux-pdz](https://github.com/Linux-pdz),
- [linuhap](https://github.com/linuhap),
- [yechunxiao19](https://github.com/yechunxiao19),
- [woodboow](https://github.com/woodboow),
- [SPccman](https://github.com/SPccman),
- [disylee](https://github.com/disylee),
- [cvsher](https://github.com/cvsher),
- [ThomazL](https://github.com/ThomazL),
- [Stevearzh](https://github.com/Stevearzh),
- [felixonmars](https://github.com/felixonmars),
- [scusjs](https://github.com/scusjs),
- [johnhoow](https://github.com/johnhoow),
- [hyaocuk](https://github.com/hyaocuk),
- [MikeCoder](https://github.com/MikeCoder),
- [theo-l](https://github.com/theo-l),
- [wangjiezhe](https://github.com/wangjiezhe),
- [jiajia9linuxer](https://github.com/jiajia9linuxer),
- [NearTan](https://github.com/NearTan),
- [l3b2w1](https://github.com/l3b2w1),
- [shipsw](https://github.com/shipsw),
- [boredivan](https://github.com/boredivan),
- [Love-xuan](https://github.com/Love-xuan),
- [JonathanKang](https://github.com/JonathanKang),
- [luoyutiantang](https://github.com/luoyutiantang),
- [owen-carter](https://github.com/owen-carter),
- [icybreaker](https://github.com/icybreaker),
- [tenght](https://github.com/tenght),
- [rogetfan](https://github.com/rogetfan),
- [liuaiping](https://github.com/liuaiping),
- [nd0104](https://github.com/nd0104),
- [szrlee](https://github.com/szrlee),
- [lfzark](https://github.com/lfzark),
- [ggaaooppeenngg](https://github.com/ggaaooppeenngg),
- [CNprober](https://github.com/CNprober),
- [coloka](https://github.com/coloka),
- [213edu](https://github.com/213edu),
- [guodongxiaren](https://github.com/guodongxiaren),
- [Tanete](https://github.com/Tanete),
- [zzlyzq](https://github.com/zzlyzq),
- [yujianxuechuan](https://github.com/yujianxuechuan),
- [ailurus1991](https://github.com/ailurus1991),
- [FineFan](https://github.com/FineFan),
- [shaohaolin](https://github.com/shaohaolin),
- [tomatoKiller](https://github.com/tomatoKiller),
- [CHINAANSHE](https://github.com/CHINAANSHE),
- [stduolc](https://github.com/stduolc),
- [Maclauring](https://github.com/Maclauring),
- [Hao-Ding](https://github.com/Hao-Ding),
- [zsJacky](https://github.com/zsJacky),
- [small-Wood](https://github.com/small-Wood),
- [cereuz](https://github.com/cereuz),
- [lijhg](https://github.com/lijhg),
- [fbigun](https://github.com/fbigun),
更新于2014/12/02以Github contributors列表排名
谢谢大家的支持!

83
lctt2014.md Normal file
View File

@@ -0,0 +1,83 @@
LCTT 2014 LCTT 成立一年总结
============================
### 缘起 ###
一年前,我因为开发 Linux 中国的微信公众号,想着在公众号里面提供 Linux 的 man 手册应该是个不错的主意,因此在网上遍寻中文 man 手册。虽然我之前也寻找过中文的 man 手册,知道颇多不全和错漏,但是这次仔细搜寻之下,却发现还远较我预计的还差。
无奈之下,只能先使用了英文版本作为 man 的内容,并因此萌发了组织一个翻译 man 手册的活动或组织的想法。说干就干,当时我就在 Linux 中国的 QQ 群里面发起了倡议,还真得到了大家响应。
于是2013 年 9 月 10日草草而就的 LCTT 就成立了,很快就创建了一个 QQ 群作为交流并确定了名称为“Linux.CN Translate Team”简称 LCTT。考虑到需要多人协作几乎没有多想就决定了采用 GITHUB 作为翻译平台——虽然现在看起来GITHUB 作为主要工作平台有利也有弊但是总体来说还是不错的。LCTT 就这样启动了。
### 发展 ###
次日,我们就组织起来了翻译,并初步拟定了翻译流程、分工之类的内容。
LCTT 草创,各种方面都没有经验,也出现过一些失误。比如说,开始时对于 GITHUB 以及 GIT大部分人包括我都不是很熟悉因此并未采用 Pull-Request 模式,而是共同控制的方式,也由于一些协调和经验的原因,出现过版本错误和回滚,甚至回滚得更乱。还有,初期还要求 LINUX 中国网站 的注册身份,但是后来发现这完全不必要。
本来成立 LCTT 的目标是为了 man 手册的翻译,但是经过研究,我发现翻译 man 手册还有一些困难:
1. man 手册是二进制的 groff 格式,因此生成和解析需要一些额外的过程,甚至需要一些特定的环境;
2. man 手册对翻译的能力要求较高,并且应该对 man 手册所对应的命令有足够的了解,才能翻译得当,因为一字之差就可能导致很多误解。
所以,当时商量决定,先期启动普通的 Linux 方面、开源方面的文章翻译,以此来摸索翻译流程和锻炼协作,并作为翻译 man 手册的人员筛选环节。
我安排 Linux 中国站长,原本经常独自翻译发表来自国外文章的 DeadFire 来做选题。他负责将选题从英文的页面,转换成 Markdown 格式。我又找了朋友 jasminepeng 和 carolinewuyan 帮忙做校对,我自己则主要承担发布的工作。
初期,很快就涌现出了一些积极参与的人员,如 tinyeyeser、vito-L、boredivanivan等等不一一列举了他们不但积极参与翻译而且还帮助撰写了第一批的翻译组 Wiki 文档,对引导新人起到了很大作用。
伴随着 LCTT 的逐步运作,一个月之后,我和大家感觉时间比较成熟了,就启动了 man 翻译计划。
### man 翻译计划的夭折 ###
_写下这个标题时,我也颇感觉惭愧的,这也算是我正视这个结果吧。不管怎么说,现在还是深夜,未过零点,我终究是在 LCTT 一周年之前正视了失败。_
其实,前面提到过,我检索过各种可以找到的中文 man 翻译项目的结果,但种种结果让人无法满意,因此我觉得,我应该能吸取其中的教训,为 Linux、为开源做点实事出来。
我总结的之前的 man 翻译项目失败的原因大概如下:
1. 缺乏足够的驱动力,翻译者无论从利益还是荣誉,都得不到鼓励,因此往往难以为继。
2. 由于依赖个人热情,没有形成流动机制,因此,当某个人热情耗尽之后,就没有人继续接手维护。
3. 翻译流程简单,没有形成初译、校对、发布等流程,无法保证质量,也没有保持同步更新的流程。
因此,我觉得,通过建立一个翻译的公益组织(即 LCTT、建立翻译流程、翻译后保留翻译和校对等人员的署名可以解决一些以上的问题。
但是,其实我还忽视了一点,翻译 man 手册,其实无论是环境还是流程,比较复杂,因此限制了参与者。参与门槛高,导致发展不能持续。
因此实际上man 翻译项目在大概运作了一个月之后就逐渐停滞下来了虽然后期willqian 独立完成了很多篇但是总体来说man 翻译项目算是失败了。
### 总结这一年 ###
抛开 man 翻译项目的失败不说其实LCTT 还是成果累累。
这一年,我们完成了 5820 次提交,发起了 1482 个 PR翻译了 805 篇文章。
这一年,我们有了 98 个贡献者,得到了 162 个 fork。
我使用了一个工具,根据这一年来我们 LCTT 翻译项目的 git 日志,生成了一段[视频](http://img.linux.net.cn/static/video/lctt2014.mp4)。看着视频中如辛勤的工蜂一样忙忙碌碌的志愿者们;看着如穿花蝴蝶一样,承担了更多工作量的选题、校对们;看着归档时如同施展魔法一样,瞬间变出了一朵朵花,我感觉我们这一年是有收获的一年!
请大家观赏我们这一年: http://img.linux.net.cn/static/video/lctt2014.mp4 213M720p
这是我用 kdenlive 合成配音的。虽然我的乐感很差,只能选择一首自己觉得还算配的音乐;虽然我根本不会用 kdenlive连配音淡出都琢磨半天虽然我编译用于生成这个视频的 gource 都花费了几个小时来解决问题;但是,看到这份视频,我为我们 LCTT 这一年来的工作感到骄傲。
### 感谢你们 ###
虽然很俗套,但是此刻,已经是 2014 年 9 月 10 日凌晨00:50了我心情很激动真心感谢所有的参与者、贡献者。几乎每个 LCTT 的成员我都知道也有几个我特别熟悉LCTT 的成员有新来的,也有逐渐淡出的,但是不论是那种,我都记得你们。
名单太长,我就不一一列举了: https://github.com/LCTT/TranslateProject/graphs/contributors
### 接下来 ###
我会说man 计划我不会放弃么?
是的man 计划是 LCTT 之所以发起的原因,也是 LCTT 能够持久发展的基础,而 man 翻译也是真正对国内的 Linux 、开源发展有实在意义的事情,所以,我不会放弃。
我会投入精力开发一个翻译平台,用于 man 项目的翻译、校对和发布,将复杂的翻译环境配置和使用方法隐藏在后面;并增加可视化的图表和进度显示,明了的体现翻译工作进展;对接 man7.org 的最新更新,保持 man 内容的及时更新等等。
期待 LCTT 的下一个年度的发展吧!
----
LCTT wxy
2014 年 9 月 10 日

View File

@@ -73,21 +73,21 @@ Nagios安装过程中可以设置邮件服务器安装后也可以进行自
root@mrtg:/etc/nagios3/conf.d/# vim linux-server.cfg
-
define host{
name linux-server ; 名称,需修改
name linux-server ; 名称,需修改
notifications_enabled 1
event_handler_enabled 1
flap_detection_enabled 1
failure_prediction_enabled 1
process_perf_data 1
process_perf_data 1
retain_status_information 1
retain_nonstatus_information 1
check_command example-host-check ; 检查所用脚本,需修改
check_interval 3 ; 连续检查的间隔,需修改
max_check_attempts 3 ; 产生邮件告警前的自检次数,需修改
notification_interval 0
check_command example-host-check ; 检查所用脚本,需修改
check_interval 3 ; 连续检查的间隔,需修改
max_check_attempts 3 ; 产生邮件告警前的自检次数,需修改
notification_interval 0
notification_period 24x7
notification_options d,u,r
contact_groups admins ; 邮件将要发送至的组,需修改
contact_groups admins ; 邮件将要发送至的组,需修改
register0
}
@@ -100,22 +100,22 @@ Nagios安装过程中可以设置邮件服务器安装后也可以进行自
root@mrtg:/etc/nagios3/conf.d/# vim cisco-device.cfg
-
define host{
name cisco-device ;名称,需修改
name cisco-device ;名称,需修改
notifications_enabled 1
event_handler_enabled 1
flap_detection_enabled 1
failure_prediction_enabled 1
process_perf_data 1
process_perf_data 1
retain_status_information 1
retain_nonstatus_information 1
check_command example-host-check ; 检查时使用的脚本,需修改
check_interval 3 ; 连续检查间隔,需修改
max_check_attempts 3 ; 产生邮件告警前的自检次数,需修改
notification_interval 0
notification_period 24x7
check_command example-host-check ; 检查时使用的脚本,需修改
check_interval 3 ; 连续检查间隔,需修改
max_check_attempts 3 ; 产生邮件告警前的自检次数,需修改
notification_interval 0
notification_period 24x7
notification_options d,u,r
contact_groups admins ; 邮件将要发至的组,需修改
register 0
contact_groups admins ; 邮件将要发至的组,需修改
register 0
}
### 添加主机 ###
@@ -148,13 +148,13 @@ Nagios安装过程中可以设置邮件服务器安装后也可以进行自
root@mrtg:/etc/nagios3/conf.d/# vim hostgroups_nagios2.cfg
-
define hostgroup {
hostgroup_name linux-server ; 主机组名
hostgroup_name linux-server ; 主机组名
alias Linux Servers
members our-server ; 组员列表
}
define hostgroup {
hostgroup_name cisco-device ; 主机组名
hostgroup_name cisco-device ; 主机组名
alias Cisco Devices
members our-server ; comma separated list of members
}
@@ -176,18 +176,18 @@ Nagios安装过程中可以设置邮件服务器安装后也可以进行自
-
define service {
hostgroup_name linux-server
service_description Linux Servers
check_command example-host-check
use generic-service
notification_interval 0 ; 初始化设置为0
service_description Linux Servers
check_command example-host-check
use generic-service
notification_interval 0 ; 初始化设置为0
}
define service {
hostgroup_name cisco-device
service_description Cisco Devices
check_command example-host-check
use generic-service
notification_interval 0 ; 初始化设置为0
check_command example-host-check
use generic-service
notification_interval 0 ; 初始化设置为0
}
### 联系人定义 ###
@@ -205,12 +205,12 @@ Nagios安装过程中可以设置邮件服务器安装后也可以进行自
host_notification_options d,r
service_notification_commands notify-service-by-email
host_notification_commands notify-host-by-email
email root@localhost, sentinel@example.tst
email root@localhost, sentinel@example.tst
}
最后试运行初始化检测是否有配置错误。如果没有错误Nagios开始安全运行。
root@mrtg:~#nagios v /etc/nagios3/nagios.cfg
root@mrtg:~# nagios -v /etc/nagios3/nagios.cfg
root@mrtg:~# service nagios3 restart
## CentOS/RHEL上的Nagios配置 ##
@@ -229,33 +229,33 @@ Redhat系统中Nagios的配置文件地址如下所示。
[root@mrtg objects]# vim templates.cfg
-
define host{
name linux-server
use generic-host
name linux-server
use generic-host
check_period 24x7
check_interval 3
retry_interval 1
check_interval 3
retry_interval 1
max_check_attempts 3
check_command example-host-check
notification_period 24x7
check_command example-host-check
notification_period 24x7
notification_interval 0
notification_options d,u,r
contact_groups admins
register 0
notification_options d,u,r
contact_groups admins
register 0
}
define host{
name cisco-router
use generic-host
define host{
name cisco-router
use generic-host
check_period 24x7
check_interval 3
retry_interval 1
check_interval 3
retry_interval 1
max_check_attempts 3
check_command example-host-check
notification_period 24x7
check_command example-host-check
notification_period 24x7
notification_interval 0
notification_options d,u,r
contact_groups admins
register 0
notification_options d,u,r
contact_groups admins
register 0
}
### 添加主机和主机组 ###
@@ -267,7 +267,7 @@ Redhat系统中Nagios的配置文件地址如下所示。
-
#Adding Linux server
define host{
use linux-server
use linux-server
host_name our-server
alias our-server
address 172.17.1.23
@@ -275,7 +275,7 @@ Redhat系统中Nagios的配置文件地址如下所示。
#Adding Cisco Router
define host{
use cisco-router
use cisco-router
host_name our-router
alias our-router
address 172.17.1.1
@@ -310,10 +310,10 @@ Redhat系统中Nagios的配置文件地址如下所示。
告警要发送的邮件地址添加至Nagios中。
[root@objects objects]# vim contacts.cfg
-
-
define contact{
contact_name nagiosadmin
use generic-contact
use generic-contact
alias Nagios Admin
email nagios@localhost, sentinel@example.tst
}
@@ -326,7 +326,7 @@ Redhat系统中Nagios的配置文件地址如下所示。
### 配置后访问Nagios ###
现在一切就绪可以开始Nagios之旅了。Ubuntu/Debian用户可以通过打开http://IP地址/nagios3网页访问NagiosCentOS/RHEL用户可以打开http://IP地址/nagios如http://172.17.1.23/nagios3来访问Nagios。“nagiosadmin”用户则需要认证来访问页面。
现在一切就绪可以开始Nagios之旅了。Ubuntu/Debian用户可以通过打开 http://IP地址/nagios3 网页访问NagiosCentOS/RHEL用户可以打开 http://IP地址/nagios ,如 http://172.17.1.23/nagios3 来访问Nagios。“nagiosadmin”用户则需要认证来访问页面。
[![](http://farm4.staticflickr.com/3834/11198394806_4f4a753778_z.jpg)][9]

View File

@@ -0,0 +1,54 @@
10款适合Linux用户使用的数据库管理工具
================================================================================
从内容管理系统到简单的表格,数据库是每一个开发项目的一部分。这就是为什么开发者们如此强调使用正确类型的数据库工具。下面这些可能对您有所帮助!
![](http://www.efytimes.com/admin/useradmin/photo/LuMX31155AM5132014.jpeg)
#### 1. [Autotabla][1] ####
Autotabla是一个你的程序的SQL数据表的CGI管理界面。只需要提供你数据库架构的XML描述你就可以创建/修改/删除数据库记录。 HTML输出可以通过CSS完全自定义。使用Perl/DBI模块而支持各种数据库。
#### 2. [Cruddy!][2] ####
Cruddy是一个以CGI::CRUD为框架的应用程序它为你的数据库提供了一个即时的Web前端的CRUD接口。
#### 3. [myPhile][3] ####
这是一个可定制的MySQL表的通用管理界面。
#### 4. [NG-Admin][4] ####
这是一个数据库内容的管理工具。
#### 5. [phpMoAdmin][5] ####
这是一个PHP写的MongoDB管理工具。
#### 6. [phpMSAdmin][6] ####
phpMSAdmin是用PHP编写的工具它允许您通过Web浏览器管理一个微软的SQL Server 而不需要Windows或专有的企业管理器。它允许你创建/修改:数据库,表,视图,触发器等
#### 7. [RockMongo][7] ####
RockMongo一个MongoDB的管理工具在PHP5中实现类似phpMyAdmin。
#### 8. [WizMySQLAdmin][8] ####
WizMySQLAdmin类似最有名的MySQL数据库管理器phpMyAdmin但它非常易于安装和维护。它只由一个文件组成并支持多种数据库和表的创建和处理。
--------------------------------------------------------------------------------
via: http://www.efytimes.com/e1/fullnews.asp?edid=138307
译者:[乌龙茶](https://github.com/yechuxiao19) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://sourceforge.net/projects/autotabla/
[2]:http://www.thesmbexchange.com/cruddy/
[3]:http://efytimes.com/e1/companionway.net
[4]:http://www.ng-marketing.com/wuerzburg/
[5]:http://phpmoadmin.com/
[6]:http://sourceforge.net/projects/phpmsadmin/
[7]:http://rockmongo.com/
[8]:http://sourceforge.net/projects/wizmysqadmin/

View File

@@ -0,0 +1,67 @@
10款专为嵌入式系统打造的Linux平台
==========================================
Linux 有着广泛的用途。该平台用于很多家庭的简单使用同时它也深受程序员和黑客们的青睐。此外Linux 还广泛地应用在嵌入式系统中有一系列专门适用于此类系统的发行版。我们将为大家推荐十个非常优秀的专为嵌入式系统发行的linux版本
![] (http://www.efytimes.com/admin/useradmin/photo/UJVP24130PM532014.jpeg)
### 1.[Ampro 嵌入式 Linux][1] ###
这是一个自由和开放源代码的从Ubuntu精简来的轻量级操作系统。
### 2. [BlueCat Linux from Lynx][2] ###
这个基于 Linux 的发行版是Lynx套件的一部分并为嵌入式系统打造。
### 3. [CacheGuard OS][3] ###
CacheGuard OS 是一个从零开始建立的集成了安全解决方案的基于Linux的版本专门为网络管理设计的。
### 4. [Darma NAS OS][4] ###
这个发行版有一个基于 SSL 的加密客户端的服务器和基于 Java 的图形用户界面。
### 5. [DIET-PC][5] ###
这是开源的瘦客户端软件 kitset它允许用户建立网络应用。
### 6. [ELinOS][6] ###
这个发行版为在嵌入式系统上工作的用户提供大量的技术。它是一个相当受欢迎的嵌入式 Linux 平台。
### 7. [eLux][7] ###
这个发行版有一个非常简单和容易使用的界面,适用于用户和管理员都不具有任何有关 Linux 的知识的特殊情况下。
### 8. [eLux NG][8] ###
这个发行版为支持 eLux 的处理器列表中添加了新的型号。
### 9. [Embedded Coyote Linux][9] ###
这种基于 Coyote Linux的防火墙和 VPN 服务器一直为很多人选择的平台。
### 10. [嵌入式 Debian 项目][10] ###
这个项目的目的是使 Debian GNU/Linux 成为嵌入式系统的第一选择。
--------------------------------------------------------------------------------
via: http://www.efytimes.com/e1/fullnews.asp?edid=137612
译者:[owen-carter](https://github.com/owen-carter) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://www.ampro.com/company/News/04_08_08_Ampro_Reveals_Ubuntu_Embedded_Linux.htm
[2]:http://www.lynuxworks.com/embedded-linux/embedded-linux-virtualization.php
[3]:http://www.cacheguard.com/cacheguard-os.html
[4]:http://nas.darma.com/
[5]:http://www.dietpc.org/
[6]:http://www.sysgo.com/products/elinos-embedded-linux/
[7]:http://www.myelux.com/index.htm?Unicon_Session=32bf53f198c94ba2ac2ce1ea45211754
[8]:http://www.myelux.com/eluxng.htm
[9]:http://www.myelux.com/eluxng.htm
[10]:http://www.emdebian.org/

View File

@@ -1,8 +1,8 @@
在Ubuntu 14.04 上使用Bacula和Webmin设置备份服务器
================================================================================
**Bacula**是一个开源网络备份解决方案,允许你在本地或者远程计算机组上备份或者还原数据。许多高级存储管理特性配置与安装是很容易的
**Bacula**是一个开源网络备份解决方案允许你在本地或者远程计算机组上备份或者还原数据。配置与安装很容易,并支持许多高级存储管理特性。
主机名是**server.unixmen.local**。现在让我们进入教程吧。
本教程中让我们来学习一下如何在Ubuntu 14.04服务器上安装和配置Bacula。我的机器的IP是**192.168.1.250/24**主机名是**server.unixmen.local**。现在让我们进入教程吧。
### 安装 Bacula ###
@@ -34,7 +34,7 @@ Bacula默认使用Postfix MTA。安装过程中你会被要求配置Postfix
![](http://180016988.r.cdn77.net/wp-content/uploads/2014/05/sk@server-_0041.png)
输入服务器完整域名
输入服务器完整域名FQDN
![](http://180016988.r.cdn77.net/wp-content/uploads/2014/05/sk@server-_0051.png)
@@ -46,7 +46,7 @@ Bacula默认使用Postfix MTA。安装过程中你会被要求配置Postfix
![](http://180016988.r.cdn77.net/wp-content/uploads/2014/05/sk@server-_0071.png)
设置bacula-director-mysql密码注册数据库。如果空白,会生成一个随机密码。
设置数据库的bacula-director-mysql用户的密码。如果留空不输入,会生成一个随机密码。
![](http://180016988.r.cdn77.net/wp-content/uploads/2014/05/sk@server-_0081.png)
@@ -88,7 +88,7 @@ Bacula有很多配置文件需要我们配置。
}
[...]
滚动到“list of files to be backed up”字段并设置备份的目录。本篇教程中我希望备份“**/home/sk**”目录。所以我这个目录包含进了“File”参数中。
滚动到“list of files to be backed up”字段并设置备份的目录。本篇教程中我希望备份“**/home/sk**”目录。所以我这个目录包含进了“File”参数中。
[...]
@@ -121,9 +121,9 @@ Bacula有很多配置文件需要我们配置。
保存并关闭文件。
**更新 Bacula 存储守护进程设置:**
**更新 Bacula 存储守护进程设置**
编辑 **/etc/bacula/bacula-sd.conf**,
编辑 **/etc/bacula/bacula-sd.conf**
sudo vi /etc/bacula/bacula-sd.conf
@@ -163,7 +163,6 @@ Bacula有很多配置文件需要我们配置。
使用下面的命令在Ubuntu 14.04上安装Webmin。
- [在 Ubuntu 14.04 LTS上安装Webmin][1]
注:此链接文章在另一篇里,如果也翻译发布了,那么可以更改这个链接地址
现在使用URL https://ip-address:10000进入Webmin界面。在左边的窗格中进入系统标签并点击模块配置链接。如果在系统下没有找到它在未使用模块一栏中查找。
@@ -183,8 +182,8 @@ Bacula有很多配置文件需要我们配置。
via: http://www.unixmen.com/setup-backup-server-using-bacula-webmin-ubuntu-14-04/
译者:[geekpi](https://github.com/geekpi) 校对:[校对者ID](https://github.com/校对者ID)
译者:[geekpi](https://github.com/geekpi) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://www.unixmen.com/install-webmin-ubuntu-14-04/
[1]:http://linux.cn/article-3113-1.html

View File

@@ -0,0 +1,33 @@
为什么我们不应该接受低劣的Linux移植游戏
================================================================================
由于最近The Witcher 2的惨败我想写下些想法为什么我们不应该接受来自开发人员的品质低劣的移植游戏。
最近几年在我们的Linux游戏库里面有如此多游戏以至于你现在可以看到来自Linux玩家的评论“我们已经有很多游戏了”可能这些声音来自很多像你一样的人。感谢Valve 和 Steam之前我们从来没有得到过这么多的开发者的关注。
同样由于开发者的推进,我们看见了伴随而来的各种移植游戏,坦率地说,它们的质量十分的低劣,或者说对于大多数人们来说根本不值得去看一眼。
现在的问题就是如果我们继续接受这种低水平质量的移植Linux就会赢得一个游戏质量水平低的名声。请认真考虑一下这样的后果吧
再想象一下如果那些AAA级的开发者给Linux推送了大量游戏其中使用了The Witcher2 移植所用的“eON”技术。看起来就像我们有了大量开发者突然之间Linux有很多大牌游戏了。然后你可以看见大量的人尝试Linux却发现它们的游戏在同等硬件之下却有着糟糕的画面就会给他们一个印象Linux对游戏不友好。这对我们所有人都很糟糕。
我已经看见许多人说“这个工具包用于移植没关系?”。这在我的眼里看来是一个非常天真的想法。当然,这有关系, 它意味Linux的游戏里面的光线和白天的不同品质。这就直接追溯到我上面关于Linux游戏的观点上了。
你可以坚持说工具包没有关系,而且使用任何一个你想用的比较/类比的效果但如果工具包是导致问题的根源就像我们说的计算机占用了99%的处理能力的软件一样,是的,它当然有关系!
如今,我已经看见许多来自其他主流网站发表的评论,“我们应该接受它们并且作感谢状,我们毕竟拥有了它们”。那些都是鼠目寸光的人们说的胡话!
![](http://www.gamingonlinux.com/uploads/articles/article_images/1401025331gol2.jpg)
想想那些开发者和发行商看到那些低劣的Linux移植游戏也能被接受时他们的脑里只有钱。消费者对Linux游戏的感知就会进一步恶化就是因为这些低劣的移植品。
我可以接受这些来自开发者的移植,毕竟是我运营着这个网站( http://www.gamingonlinux.com/ 。但是如果我作为一个消费者不愿意为在windows运行挺好的游戏买单而却为在Linux慢得像蜗牛一样的游戏买单我会么你会么
最后附加的一点你绝不应该攻击一个试图在社区里面解决问题的开发者这样是不可以的。反馈是很好骂人却是很幼稚的这会使得Linux看起来更糟。
--------------------------------------------------------------------------------
via: http://www.gamingonlinux.com/articles/why-we-shouldnt-accept-bad-linux-ports.3765
译者:[Vic020](http://www.vicyu.net) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@@ -7,13 +7,15 @@
不管出于什么原因如果你在Ubuntu中想要个底部面板那么[tint][2]就是你的菜。
### 在Ubuntu 14.04中添加底部任务栏 ###
打开终端Ctrl+Alt+T然后输入下面的命令
sudo apt-get install tint2
这样就把tint2安装好了。你可以在终端中输入tint2来运行它了但这不是我们想要干的活,因为我们的目的根本不在于此。在此我们需要让tint2来开机启动这样每次启动Ubuntu的时候它都会在桌面底部恭候你了。
这样就把tint2安装好了。你可以在终端中输入tint2来运行它了但这不是我们希望的方式,因为我们的并不想这么麻烦每次手工运行它。在此我们需要让tint2来开机启动这样每次启动Ubuntu的时候它都会在桌面底部恭候你了。
#### 怎样让tint2开机启动 ####
打开Unity Dash按下Windows键吧然后搜索启动程序。
![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/01/Startup_Applications_Ubuntu.jpeg)
@@ -22,13 +24,13 @@
![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/05/Windows_Like_Taskbar_Ubuntu.jpeg)
好了。赶快注销并重新登录进去看看吧,任务栏会乖乖地在下面等着你了。第一张图片看到了吗?就是那个样子的。像[Conky][3]一样tint2也能进行大量配置但要进行深度配置你得修改配置文件了。就算你很懒惰安好了啥都不做那它也会干得很好了。你已经试过了你感觉tint2怎么样呢
好了。赶快注销并重新登录进去看看吧,任务栏会乖乖地在下面等着你了。题图看到了吗?就是那个样子的。像[Conky][3]一样tint2也能大量配置选项,但要进行深度配置,你得修改配置文件了。不过就算你很懒惰安好了啥都不做那它也会干得很好了。你已经试过了你感觉tint2怎么样呢
--------------------------------------------------------------------------------
via: http://itsfoss.com/add-windows-like-bottom-taskbar-in-ubuntu-unity-14-04/
译者:[GOLinux](https://github.com/GOLinux) 校对:[校对者ID](https://github.com/校对者ID)
译者:[GOLinux](https://github.com/GOLinux) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@@ -2,14 +2,13 @@
================================================================================
**嗨,极客们!**
今天,我们介绍给大家一个新的系列节目,它叫命令行星期二。为什么叫命令行星期二?因为在该系列节目中,就像你们这样的忠实的计算机迷们,每天将会试着走出图形用户界面GUI文化的藩篱GUI文化就是让事情变得简单而大众化。
今天,我们介绍给大家一个新的系列节目,它叫命令行星期二。为什么叫命令行星期二?因为在该系列节目中,每天坐在计算机前的你们,将会试着走出图形用户界面GUI文化的藩篱从今天开始“让事情变得简单而大众化
当然如果你访问过任何与GNU/Linux相关的社区论坛的话你可能耳闻目睹了一次火热的辩论,当然这是个假设,话题是哪个实际上更易用。是让GUI掌控一切还是只是学习并享受命令行界CLI面带来的乐趣
当然如果你访问过任何与GNU/Linux相关的社区论坛的话你可能已经看到了关于GUI和命令行哪个更好的讨论非常热烈。是让GUI掌控一切还是只是学习并享受命令行界CLI面带来的乐趣呢?
![Terminal](http://sholva.org/assets/images/blog/2009/review-opensuse-11.2/opensuse-terminal.png)
终端
对于使用或抛弃GUI工具的争论有很多。正方最常提到的优点之一就是我们是在点击的计算模式下长大的所以它基本上就是我们和机器进行交互的一种语言或文化形式。我们日复一日重复着这样的模式,点击那个大按钮来让它干我们需要它干的事。
对于使用或抛弃GUI工具的争论有很多。正方最常提到的优点之一就是我们是在点击的计算模式下长大的所以它基本上就是我们和机器进行交互的一种语言,或者你可以说是一种文化。我们日复一日重复着这样的模式,点击那个大按钮来让它干我们需要它干的事。
而对于反方我读到的关于命令行的优点的最有趣的评论之一就是你可以通过命令行来更快更简单地做更多事情比GUI工具来得快。但你需要明白的是你需要学习命令。是的学习它们就像学一首诗一样。
@@ -17,27 +16,28 @@
### 寓言 ###
我已经用了Linux超过3年了。27岁是个文学专业学生我对任何形式的技术都没有太大的兴趣。我直到中学才有了一台属于自己的计算机我想大概是17岁那年吧。对于我而言只用了10年的计算机。我只用过三个程序BS播放器Winamp和足球经理偶尔也用用MS Word。大约三年多以前我做临时工时的一位同事在我正和另外一位同僚谈话时告诉我说有个新版的东西它一下子就抓住了我的心它看起来确实与众不同。我现在想想它就是Ubuntu的敏捷的独角鲸。在和这位同事讨论这个新版本后他指出了一些常见的优点这些优点也是我们经常向新手宣传的不需要杀毒软件启动快捷安全性更高附带有软件中心等等之类。最突出的一点它背后的自由和开源FOSS哲学。他用他不带侵害性和没一点孩子气的方式把我带了进去。
我已经用了Linux超过3年了。27岁是个文学专业学生我对任何形式的技术都没有太大的兴趣。我直到中学才有了一台属于自己的计算机我想大概是17岁那年吧。对于我而言只用了10年的计算机。我只用过三个程序BS播放器Winamp和足球经理偶尔也用用MS Word。大约三年多以前我做临时工时的一位同事在我正和另外一位同僚谈话时告诉我说有个新版的东西它一下子就抓住了我的心它看起来确实与众不同。我现在想想它就是Ubuntu的敏捷的独角鲸。在和这位同事讨论这个新版本后他指出了一些常见的优点这些优点也是我们经常向新手宣传的不需要杀毒软件启动快捷安全性更高附带有软件中心等等之类。最突出的一点它背后的自由和开源FOSS哲学。他用他温和而优雅的方式把我带了进去。
我决定来一次尝试而从那以后便一发不可收拾。而至于我是怎么又从第一次对Ubuntu的浅尝辄止转而投向openSUSE 11.4的咋们下回再讲吧。而我发现它只是一个完美而甜蜜的小插曲那就完完全全另外一回事了。问题在于我最终进入了Linux领域。这很有趣感觉很不一样它让我的计算机跑得更好它也更稳定我也和它相处得很好似乎我是在不经意间买到了相当正统的硬件。Linux似乎也远不止是桌面,所以我只是在不得不使用终端的时候也使用终端。但是这么说吧它是Linux中一个最为讨厌的最为可怕最令人不爽的工具之一。如果没有GUI来进行特别的操作,我马上会诚惶诚恐,十分不安了。因为当我从论坛复制/粘贴命令的时候,我都不知道我究竟在干些什么。
我决定来一次尝试而从那以后便一发不可收拾。而至于我是怎么又从第一次对Ubuntu的浅尝辄止转而投向openSUSE 11.4的,咋们下回再讲吧。而我发现它只是一个完美而甜蜜的小插曲那就完完全全另外一回事了。问题在于我最终进入了Linux领域。这很有趣感觉很不一样它让我的计算机跑得更好它也更稳定我也和它相处得很好似乎我是在不经意间买到了相当普通的硬件)。似乎Linux并不是一个完全的桌面系统,所以我有时不得不使用终端。但是这么说吧它是Linux中一个最为讨厌的最为可怕最令人不爽的工具之一。如果某些操作没有GUI可以做的话,我马上会诚惶诚恐,十分不安了。因为当我从论坛复制/粘贴命令的时候,我都不知道我究竟在干些什么。
随着时间流逝情况发生了变化。相对于其他以消费者为导向的系统发生在我身上的事可能有点与一般人相反。在那三年中我感觉不是我在玩系统而是系统在玩我。我学会了怎样寻找基本问题提交bug报告怎样正确地在论坛上提问。对于碰到的每个问题我学会了为那些更有能力帮我解决问题的人提供更有用的信息。
不久以前,我女朋友发泄,她简直不敢相信,我主要为了用计算机而用计算机,而不是用它来做一些别的事情。你只用它来进行音乐收藏和做些Linux的乱七八糟的事情Nenad. Gaawd它让我想啊使劲想。Linux特别是openSUSE发行版它成了我的爱好之一。我不是一个专家不管怎么说都说得通Linux不在我的专业知识范畴内。但我有足够的知识来搞定它搞定一些小问题修改一些配置文件等等。但是我终于认识到随着玩Linux日久对系统的调整日多我真的需要熟悉一下命令行CLI了。我也了解到我在对底层的东西一无所知的情况下对系统胡作非为。我要对着ETC大喊大叫了,它究竟是个什么东西?BIN又是个什么东西?为什么会有个.sh在后面问什么这个文件在这里那个文件又在那里为什么我得点击那一大堆的文件夹来找到正确的文件进行修改然后我读到你可以用一个命令来简单地列出某个地方的所有文件时,它又变得很有趣了,我突然感到迫不及待要想试试了。
不久以前,我女朋友发泄,她简直不敢相信,我主要为了用计算机而用计算机,而不是用它来做一些别的事情。你只用它来进行音乐收藏和做些Linux的乱七八糟的事情Nenad. Gaawd它让我想啊使劲想。Linux特别是openSUSE发行版它成了我的爱好之一。我不是一个专家不管怎么看都是这样Linux不在我的专业知识范畴内。但我有足够的知识来搞定它搞定一些小问题修改一些配置文件等等。但是我终于认识到随着玩Linux日久对系统的调整日多我真的需要熟悉一下命令行CLI了。我也了解到我在对底层的东西一无所知的情况下对系统胡作非为。我要对着etc大喊大叫了,它究竟是个什么东西?bin又是个什么东西?为什么会有个.sh在后面问什么这个文件在这里那个文件又在那里为什么我得点击那一大堆的文件夹来找到正确的文件进行修改然后我读到你可以用一个命令来简单地列出某个地方的所有文件时,它又变得很有趣了,我突然感到迫不及待要想试试了。
### 好吧,让我们干吧! ###
我们来了……。作为一位新的openSUSE的新闻发布者我会试着以我所见最有成效的方式来发表我的看法这样的方式我想对社区中绝大多数人会奏效。该高举旗帜一起开始学习命令行了。如果是是什么吸引你到Linux和openSUSE中来这么个态度,就想我,引领你走了这么远,那么是时候走得更远一点了。
我们来了……。作为一位新的openSUSE的新闻发布者我会试着以我所见最有成效的方式来发表我的看法这样的方式我想对社区中绝大多数人会奏效。该高举旗帜一起开始学习命令行了。如果是哲学理念吸引你到Linux和openSUSE中来的,就像我一样,那么是时候走得更远一点了。
![](http://beerepiphany.files.wordpress.com/2010/04/pinky_brain.jpg)
我就知道在那外头有一大堆像我这样的人。我知道你也许没有抓住90后极客们的要点黑屏-绿字-手指在键盘上乱飞-让一切都激情澎湃。但这在很多地方都很有用。我们将以一种有趣的,而又共有的方式来学习目录是用来干什么什么文件放在什么地方以及一些最常用的终端命令。在我们在控制台处理一些任务时这将让我们更轻松一些在碰到一些问题时获得更大的回报。它也会让bug处理者更轻松些如果他们从我们这头收到正确的信息的话。它也让我们的爱好变得乐趣无穷。
我就知道在那外头有一大堆像我这样的人。我知道你也许没有抓住90后极客们的要点黑屏-绿字-手指在键盘上乱飞-让一切都激情澎湃。但这在很多地方都很有用。我们将以一种有趣的,而又通用的方式来学习目录是用来干什么什么文件放在什么地方以及一些最常用的终端命令。在我们在控制台处理一些任务时这将让我们更轻松一些在碰到一些问题时获得更大的回报。它也会让bug处理者更轻松些如果他们从我们这头收到正确的信息的话。它也让我们的爱好变得乐趣无穷。
我是说我的天啊你已经过渡到连Dilber和xkcd都感到有趣的阶段了。是时候到终端下去了。
附录:
要用到的一些参考资料:威廉 · 肖茨—— 《Linux命令行》,以及克罗地亚黑客韦利米尔 ·巴克沙,别名鲁塞拉斯,《关于最常用命令的简短教程》。对于你们的要求:
要用到的一些参考资料:威廉·肖茨—— 《Linux命令行》,以及克罗地亚黑客韦利米尔·巴克沙,别名鲁塞拉斯,《关于最常用命令的简短教程》。对于你们的要求:
- 每周1到2小时的空闲时间
- 一品脱冰冻啤酒或者其它饮料
- 有人已经指出,使用[Gedit][1],或者手工记录本(你懂的,笔和纸,呵呵)可以让学习更简单一些。
@@ -50,7 +50,7 @@
via: https://news.opensuse.org/2014/05/27/command-line-tuesdays-the-introductory/
译者:[GOLinux](https://github.com/GOLinux) 校对:[校对者ID](https://github.com/校对者ID)
译者:[GOLinux](https://github.com/GOLinux) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@@ -1,10 +1,10 @@
使用`NginxApache`安装RainLoop Webmail(一个网页邮件客户端)
在Arch上使用Nginx/Apache安装RainLoop Webmail
================================================================================
Rainloop是一个使用PHP编写的开源免费的网页邮件客户端。他支持包括Google,Yahoo,OutLook在内的主流的邮件服务器当然他也支持你自己的本地邮件服务器。他主要的表现看起来像使用IMAP和SMTP协议的MUA(邮件客户端)。
Rainloop是一个使用PHP编写的开源免费的网页邮件客户端。他支持包括GoogleYahooOutLook在内的主流的邮件服务器当然他也支持你自己的本地邮件服务器。它看起来大致就像使用IMAP和SMTP协议的MUA(邮件客户端)一样
#### RainLoop 示例 ####
可以看一下作者编写的安装文档 [http://demo.rainloop.net/][1].
可以看一下RainLoop作者安装的演示页面 [http://demo.rainloop.net/][1]
![在Arch Linux上安装RainLoop](http://www.tecmint.com/wp-content/uploads/2014/05/Install-RainLoop-in-Arch-Linux.jpg)
在Arch Linux上安装RainLoop
@@ -17,24 +17,28 @@ If you also need references on installing Rainloop on **Debian** and **Red Hat**
如果你还是需要一篇在**Debian** 和 **Red Hat** 安装 RainLoop Webmail 的教程,你可以看这篇文章:
- [Install RainLoop Webmail on Debian and Red Hat based Systems][2]
- [ Debian RedHat 系的 Linux 上安装 RainLoop Webmail][2]
以及在 **Ubuntu** 服务器中安装 RainLoop Webmail 的教程,你可以看这篇文章:
- [如何在 Ubuntu server 中设置 RainLoop Webmail][8]
### 系统要求 ###
#### 对 Nginx ####
- [Install LEMP (Nginx, PHP, MySQL with MariaDB engine and PhpMyAdmin) in Arch Linux][3]
- [Create Virtual Hosts in Nginx Web Server][4]
- [在 Arch Linux 上安装 LEMP (Nginx, PHP, MySQL/MariaDB PhpMyAdmin)][3]
- [在 Nginx 上创建虚拟主机][4]
#### 对 Apache ####
- [Install LAMP (Linux, Apache, MySQL/MariaDB, and PHP/PhpMyAdmin) in Arch Linux][5]
- [在 Arch Linux 上安装 LAMP (Linux, Apache, MySQL/MariaDB PHP/PhpMyAdmin)][5]
### Step 1: Nginx 或者 Apache 提供虚拟Host###
### Step 1: Nginx 或者 Apache 上创建虚拟主机###
**1.** 假设你已经配置您的服务器(**Nginx**或**Apache**如上面介绍的链接描述的,你需要做的第一件事是在Hosts文件里创建一个指向**的Arch Linux*系统的IP。
**1.** 假设你已经如上面介绍的链接所述,配置好了您的服务器(**Nginx**或**Apache**你需要做的第一件事是在Hosts文件里创建一个原始解析记录,以指向**的Arch Linux**系统的IP。
Linux系统修改 **/etc/hosts** 文件并且在你localhost下添加 Rainloop virtual 域。如下:
Linux系统修改 **/etc/hosts** 文件并且在你localhost条目之下添加 Rainloop 的虚拟域。如下:
127.0.0.1 localhost.localdomain localhost rainloop.lan
192.168.1.33 rainloop.lan
@@ -42,11 +46,11 @@ If you also need references on installing Rainloop on **Debian** and **Red Hat**
![Add Domain Host Entry](http://www.tecmint.com/wp-content/uploads/2014/05/Install-RainLoop-in-Arch-Linux-01.jpg)
添加域信息
对于Windows系统则修改 **C:\Windows\System32\drivers\etc\hosts** 并且将接下来的内容添加到你的文件里:
如果是Windows系统则修改 **C:\Windows\System32\drivers\etc\hosts** 并且将接下来的内容添加到你的文件里:
192.168.1.33 rainloop.lan
**2.** After you verify local domain using **ping** command, create the necessary **Virtual Hosts** and **SSL** configurations for **Apache** or **Nginx**.
**2.** 使用 **ping** 命令确认本地的 Rainloop 域名创建成功之后,然后在 **Apache** **Nginx** 中创建所需的 **虚拟主机** **SSL** 配置。
#### Nginx 虚拟主机 ####
@@ -141,10 +145,10 @@ If you also need references on installing Rainloop on **Debian** and **Red Hat**
$ sudo nginx_gen_ssl.sh
![Generate Certificate and Keys](http://www.tecmint.com/wp-content/uploads/2014/05/Install-RainLoop-in-Arch-Linux-04.jpg\)
![Generate Certificate and Keys](http://www.tecmint.com/wp-content/uploads/2014/05/Install-RainLoop-in-Arch-Linux-04.jpg)
生成证书和密钥
生成证书和SSL密钥后创建Rainloop**根**网络服务器的文件路径Rainloop PHP文件所在的位置然后启用虚拟主机并重新启动Nginx的守护进程应用配置。
生成证书和SSL密钥后创建Rainloop Web服务器**根**的文件路径Rainloop PHP文件所在的位置然后启用虚拟主机并重新启动Nginx的守护进程应用配置。
$ sudo mkdir -p /srv/www/rainloop
$ sudo n2ensite rainloop
@@ -232,7 +236,7 @@ If you also need references on installing Rainloop on **Debian** and **Red Hat**
输入组织信息
After the Certificate and SSL keys are created, add Rainloop **DocumentRoot** path, then enable Virtual Hosts and restart Apache daemon to apply configurations.
在证书和密钥建立之后,添加RainLoop **DocumentRoot**目录之后激活虚拟主机并且重启Apache应用设置。
在证书和密钥建立之后,创建 RainLoop **DocumentRoot** 所指向的目录之后激活虚拟主机并且重启Apache应用设置。
$ sudo mkdir -p /srv/www/rainloop
$ sudo a2ensite rainloop
@@ -244,11 +248,11 @@ After the Certificate and SSL keys are created, add Rainloop **DocumentRoot** pa
### Step 2: 添加必要的PHP支持 ###
**3.** 无论您使用的是**Apache**或**Nginx**Web服务器您需要激活**php.ini**文件下中的PHP扩展包括新的服务器**DocumentRoot**目录。
**3.** 无论您使用的是**Apache**或**Nginx**Web服务器您需要激活**php.ini**文件下中的PHP扩展并将新服务器**DocumentRoot**目录放到 open_basedir 配置中
$ sudo nano /etc/php/php.ini
找到并且取消如下的PHP扩展的注释
找到并且取消如下的PHP扩展的注释LCTT译注即启用这些模块
extension=iconv.so
extension=imap.so
@@ -258,12 +262,11 @@ After the Certificate and SSL keys are created, add Rainloop **DocumentRoot** pa
extension=openssl.so ( enables IMAPS and SMTP SSL protocols on mail servers)
extension=pdo_mysql.so
open_basedir语句应该看起来和这个一样。
open_basedir语句应该看起来类似如下:
open_basedir = /srv/http/:/home/:/tmp/:/usr/share/pear/:/usr/share/webapps/:/etc/webapps/:/srv/www/
**4.** After the **php.ini** file was modified restart your server than check **phpinfo** file to see if **SSL** protocols are enabled.
**4.** 在修改好**php.ini**之后,重启你得服务器,然后检查 **phpinfo** 文件,去看看**SSL**协议是否已经激活。
**4.** 在修改好**php.ini**之后,重启你的服务器,然后检查 **phpinfo()** 输出,去看看**SSL**协议是否已经激活。
----------对于 Apache Web 服务器----------
$ sudo systemctl restart httpd
@@ -275,22 +278,22 @@ open_basedir语句应该看起来和这个一样。
$ sudo systemctl restart php-fpm
![Check PHP Information](http://www.tecmint.com/wp-content/uploads/2014/05/Install-RainLoop-in-Arch-Linux-10.png)
Check PHP Information
查看 PHP 信息
### Step 3: 下载和安装 RainLoop Webmail ###
**5.**现在是时候从官方网站下载并解压缩Rainloop应用到文档根目录但是需要首先安装**wget的**和**unzip**程序。
**5.**现在可以从官方网站下载Rainloop应用并解压缩到文档根目录,但是需要首先安装**wget的**和**unzip**程序LCTT译注如果你已经有了可以忽略此步
$ sudo pacman -S unzip wget
**6.** 使用**wget**命令或通过使用浏览器导航到[http://rainloop.net/downloads/] [6]下载最新的源码包Rainloop zip归档
**6.** 使用**wget**命令或通过使用浏览器访问[http://rainloop.net/downloads/] [6]下载最新的源码包Rainloop 压缩包
$ wget http://repository.rainloop.net/v1/rainloop-latest.zip
![Download RainLoop Package](http://www.tecmint.com/wp-content/uploads/2014/05/Install-RainLoop-in-Arch-Linux-11.png)
下载 RainLoop 包
**7.** 下载过程完成后解压Rainloop归档到虚拟主机文档根目录路径( **/srv/www/rainloop/** )。
**7.** 下载过程完成后解压Rainloop压缩包到虚拟主机文档根目录路径( **/srv/www/rainloop/** )。
$ sudo unzip rainloop-latest.zip -d /srv/www/rainloop/
@@ -309,7 +312,7 @@ Check PHP Information
**9.** Rainloop应用程序可以通过两种方式进行配置使用浏览器或者系统shell。如果要在终端配置就打开和编辑位于**/ srv/www/rainloop/data/_data_da047852f16d2bc7352b24240a2f1599/_default_/configs/**的application.ini**文件。
**10.** 若要从浏览器访问管理界面使用下面的URL地址** https://rainloop.lan/?admin**,然后提供默认的应用程序用户名密码
**10.** 若要从浏览器访问管理界面使用下面的URL地址** https://rainloop.lan/?admin**,然后提供输入默认的应用程序用户名密码,如下:
User= admin
Password= 12345
@@ -317,7 +320,7 @@ Check PHP Information
![Rainloop Web Interface](http://www.tecmint.com/wp-content/uploads/2014/05/Install-RainLoop-in-Arch-Linux-14.png)
Rainloop Web 界面
**11.** 首次登录后,你被警更改默认密码,所以我劝你做这一点。
**11.** 首次登录后,你被警示需要更改默认密码,所以我劝你做这一点。
![Change Default Password](http://www.tecmint.com/wp-content/uploads/2014/05/Install-RainLoop-in-Arch-Linux-15.png)
修改默认 Password
@@ -325,7 +328,7 @@ Rainloop Web 界面
![Set New Admin Password](http://www.tecmint.com/wp-content/uploads/2014/05/Install-RainLoop-in-Arch-Linux-16.png)
设置新的 Admin Password
**12.** 如果您要启用**Contact**就登录到MySQL数据库并创建上有一个特权用户和一个新的数据库,然后提供**Contacts**字段数据库凭据
**12.** 如果您要启用**Contact**(联系人)功能就登录到MySQL数据库并创建一个新的数据库及其用户,然后提供**Contacts**字段里面输入数据库信息
mysql -u root -p
create database if not exists rainloop;
@@ -338,9 +341,9 @@ Rainloop Web 界面
在 RainLoop 中激活联系人
![Enter Contact Database Details](http://www.tecmint.com/wp-content/uploads/2014/05/Install-RainLoop-in-Arch-Linux-18.png)
添加联系人数据
添加联系人数据库配置
**13.** 默认情况下Rainloop提供** Gmail****Yahoo**和**Outlook**的邮件服务器的配置文件,但是你如果愿意,你也可以添加其他的邮件服务器域。
**13.** 默认情况下Rainloop提供** Gmail****Yahoo**和**Outlook**的邮件服务器的配置文件,但是你如果愿意,你也可以添加其他的邮件服务器域。
![Default Mail Domains](http://www.tecmint.com/wp-content/uploads/2014/05/Install-RainLoop-in-Arch-Linux-19.png)
默认 Mail 域
@@ -348,26 +351,26 @@ Rainloop Web 界面
![Add New Domain](http://www.tecmint.com/wp-content/uploads/2014/05/Install-RainLoop-in-Arch-Linux-20.png)
添加新域
**14.** 登录你的邮件服务器,浏览** https://rainloop.lan**,并提供您的域名服务器验证信息。
**14.** 登录你的邮件服务器,访问** https://rainloop.lan**,并提供您的域名服务器验证信息。
![Login to Mail Domain](http://www.tecmint.com/wp-content/uploads/2014/05/Install-RainLoop-in-Arch-Linux-21.png)
登录到邮件页面
登录到Yahoo邮件页面
![Login to Gmail Domain](http://www.tecmint.com/wp-content/uploads/2014/05/Install-RainLoop-in-Arch-Linux-22.png)
登录Gmail
![RainLoop Email Interface](http://www.tecmint.com/wp-content/uploads/2014/05/Install-RainLoop-in-Arch-Linux-23.png)
RainLoop Email 界面
RainLoop 登录后的Email 界面
想要了解更多的文件,可以访问:[http://rainloop.net/docs/][7].
通过Rainloop你可以从浏览器中访问具有Internet连接的任何邮件服务器。唯一的缺憾就是在Arch Linux下使用Rainloop应用的人缺乏修改电子邮件帐户密码的poppassd插件包。
通过Rainloop你可以从浏览器中访问具有Internet连接的任何邮件服务器。唯一的缺憾就是在Arch Linux下使用Rainloop应用的话,少一个修改电子邮件帐户密码的poppassd插件包。
--------------------------------------------------------------------------------
via: http://www.tecmint.com/install-rainloop-webmail-in-arch-linux/
译者:[MikeCoder](https://github.com/MikeCoder) 校对:[校对者ID](https://github.com/校对者ID)
译者:[MikeCoder](https://github.com/MikeCoder) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
@@ -377,4 +380,5 @@ via: http://www.tecmint.com/install-rainloop-webmail-in-arch-linux/
[4]:http://www.tecmint.com/create-virtual-hosts-using-nginx-on-arch-linux/
[5]:http://www.tecmint.com/install-lamp-in-arch-linux/
[6]:http://rainloop.net/downloads/
[7]:http://rainloop.net/docs/
[7]:http://rainloop.net/docs/
[8]:http://linux.cn/article-2794-1.html

View File

@@ -0,0 +1,140 @@
如何在MacBook Pro Retina上安装Linux
================================================================================
![](http://main.makeuseoflimited.netdna-cdn.com/wp-content/uploads/2014/05/linux-macbook-pro-retina-840x420.jpg?ec7b17)
MacBook Pros拥有非常强大的配置但是有些人想强上加强他们想用Linux系统。
不管您是想要更开放和个性化的操作系统又或者是您只想要使用某些在Linux特有的软件您都会想要在您的MacBook上安装Linux。 可惜的是MacBook Pro们可是一块块密不透风砖头让您想装其他系统又无从下手。尤其是Linux比在MacBook上装Windows还难。 Boot Camp对于Linux来说也没有什么用处。 虽然如此,但并不代表您完全不能做到,装机走起!
### 为什么要在MacBook Pro Retina上装Linux ###
买MacBook不就是为了OS X吗为何要装Linux 其实买MacBook的原因不仅仅只是因为它的操作系统 其极致的硬件性能,超长的电池寿命,以及抗操抗造都是购买它的原因。 这些这么好的硬件再加上一块能让您体验到HiDPI的清晰度Retina显示屏其不皆是买入的理由乎
但是如果您对OS X无爱又或者您真心想要使用Linux为何不将这自由、开源、小巧、个性化的Linux塞进您的高大上的硬件呢苹果可能有话要说了可谁在乎呢~
注:在本期教程我们将会使用[最流行的Linux发行版][1] - Ubuntu来作为我们这次安装的选择。您也可以用自己想用的的Linux发行版但相关的步骤会和本教程略有出入。 如果您把自己的系统玩坏了,我们将不承担任何责任。 本教程将教您如何 Linux 和 OS X 双系统启动另外只有在OS X才能升级固件所以我们建议您不要将OS X 删除。
但在我们开始之前请您用您喜欢的方法比如Time Machine 或 CrashPlan将您的电脑彻底备份以防万一。
### 下载 Ubuntu ###
首先您需要下载一份[Ubuntu桌面版安装镜像][2] 。 务必选择64位的桌面版虽然该镜像并不是为Mac提供的。该镜像在BIOS和EFI模式下都能启动而Mac的镜像却只能在BIOS启动。Mac是专门设计成这样的但是我们要使之以EFI模式下启动。
### 写到U盘USB ###
其次, 找个2GB以上的USB 我们将会用该USB作为Ubuntu的安装启动盘。 你可以按照 [Ubuntu官方指导的步骤][3] 或者 [使用专用的图形化工具][4] 来准备安装盘.
### 调整分区大小 ###
![](http://main.makeuseoflimited.netdna-cdn.com/wp-content/uploads/2014/05/mac_linux_disk_utility.jpg?ec7b17)
当你完成上一步后你的Mac Book Pro就做好安装的准备了。 打开Disk Utility磁盘工具 点击左边选择你的硬盘, 选择Partitions分区标签页。 把Mac分区缩小到你喜欢的大小 - 我们将会用新创建的可用空间来安装Ubuntu。
### 启动Ubuntu镜像 ###
![](http://main.makeuseoflimited.netdna-cdn.com/wp-content/uploads/2014/05/mac_linux_boot.jpg?ec7b17)
上述步骤完成后将U盘插入并重启Mac Book Pro。当关机之后屏幕一黑时请按住Option键alt直到你看到不同的启动选项。选择EFI选项如果有两个的话选择左边的哪一个来从USB启动Ubuntu.
当你看到“Try Ubuntu" 和 "Install Ubuntu" 两个选项的时候, 选择 "Try Ubuntu" 因为我们需要在安装完成之后重启之前弄一些其他的东西。
### 安装器 ###
当Ubuntu的桌面加载好之后一路向下走直到你看到分区的这一步。 如果你连接不上WiFi的话就代表你的Ubuntu还暂时不知道如何跟你这位高大上Mac做朋友 不过不用担心, 我们暂时还不需要网络, 在你迟些重启的时候会自动识别你的驱动。
![](http://main.makeuseoflimited.netdna-cdn.com/wp-content/uploads/2014/05/mac_linux_installer_partitions.jpg?ec7b17)
到分区这个步骤之后, 选择 "Do Something else" 这个选项。 然后请确保那块大约128MB左右的分区已经被识别为EFI启动分区你可以点击它然后选择Option来确定一下 另外,那个分区应该是 /dev/sda1。下一步 你要在新建的空间里创建一个 ext4分区在其上挂载“/”路径。 如果你知道你自己在干嘛的话也可以创建几个不同的分区切记这不是Windows啊孩纸
在你开始下一步之前请确保你的安装引导程序boot loader是选择了 /dev/sda1GRUB也是装到该分区的。 然后按照平常一样该咋装咋装。
### 修改 EFI 引导 ###
![](http://main.makeuseoflimited.netdna-cdn.com/wp-content/uploads/2014/05/mac_linux_efibootmgr.jpg?ec7b17)
当你的安装器装完Ubuntu之后不要按重启 我们还需要弄这么点东西才能使用GRUB。 请运行下列的指令:
sudo apt-get install efibootmgr
这个将会暂时地安装一个EFI boot的配置工具然后 运行:
sudo efibootmgr
这个将会显示出当前的启动设置, 你应该看到的是 "ubuntu" 和 "Boot0000*"当前的EFI设置是把系统指向 Boot0080*这样的话就会跳过GRUB然后直接跳入OS X所以我们要用以下指令来修复它
sudo efibootmgr -o 0,80
现在就可以重启了!
恭喜你啦~你的Ubuntu现在应该就可以用了哦不过下列的一些调整会让性能提升哦
### 坑爹地调整设置 ###
首先你需要改一下GRUB的设置这样你的SSD盘才不会偶尔死机 在Terminal输入
sudo nano /etc/default/grub
找到 **GRUB\_CMDLINE\_LINUX**那一行 把它改成 **GRUB\_CMDLINE\_LINUX="libata.force=noncq"** 。 按下CTRL + X保存然后按Y来确定保存。 接下来你要在Terminal输入
sudo nano /etc/grub.d/40_custom
打开一个新的文件,请使用真丶精准手指准确地一字一字输入:
menuentry "Mac OS X" {
exit
}
这将会让你boot到你安装好的Mac OS XGRUB的32-bit和64-bit项不能用。然后CTRL+X 和 Y 保存退出,然后输入:
sudo update-grub
最后必须要重启才能生效。
![](http://main.makeuseoflimited.netdna-cdn.com/wp-content/uploads/2014/05/mac_linux_small_retina.jpg?ec7b17)
在极其高清的Retina显示屏上神马都这么小坑爹啊啊 去Setting -> Display 里把 Scaling Factor弄大一点吧不然妈妈又要担心你的近视眼了。
你也可能觉得在边边上改变窗口大小是一件极其困难的事情,坑爹啊啊? 去Terminal输入
sudo nano /usr/share/themes/Ambiance/metacity-1/metacity-theme-1.xml
然后在里面修改成下面的参数:
<distance name="left_width" value="4"/>
<distance name="right_width" value="4"/>
<distance name="bottom_height" value="4"/>
如果还是太小把上面的东西改成6吧
最后如果你觉得你的Linux把你那Retina鲜艳的颜色洗掉了请到你的OS X盘找到以下的文件
/Library/ColorSync/Profiles/Displays/Color LCD-xxxxxx.icc
xxxxxx只是一串随机的字符不过这路径应该只有一个文件。把他搬到你Ubuntu的Home folder 然后到 System Settings > Color 选择 Add New Profile 并选择你那刚弄过来的icc文件。
### 总结 ###
![](http://main.makeuseoflimited.netdna-cdn.com/wp-content/uploads/2014/05/mac_linux_final.jpg?ec7b17)
恭喜你啦, 现在终于有一台属于你的Linux MacBook Pro Retina啦如果你想把你的Ubuntu弄得更手熟请按 [让你的Ubuntu 像家一样舒服][5] 尽情地修改配置吧! 该教程也可用于其他的Mac系统当然每种Mac都有不同的好处和坏处。 如果你用的是其他的Mac请翻一翻[这篇为Ubuntu写的文档][6]
另外你还可以看一下其他可以在Mac安装的[Linux 发行包][7]哦!
Image Credits: [K?rlis Dambr?ns][8] Via Flickr
--------------------------------------------------------------------------------
via: http://www.makeuseof.com/tag/install-linux-macbook-pro/
译者:[213edu](https://github.com/213edu) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://www.makeuseof.com/tag/windows-xp-users-switch-ubuntu-14-04-lts-trusty-tahr/
[2]:http://www.ubuntu.com/download/desktop/
[3]:http://www.ubuntu.com/download/desktop/create-a-usb-stick-on-mac-osx
[4]:http://www.makeuseof.com/tag/how-to-boot-a-linux-live-usb-stick-on-your-mac/
[5]:http://www.makeuseof.com/tag/11-tweaks-perform-ubuntu-installation/
[6]:https://help.ubuntu.com/community/MacBookPro
[7]:http://www.makeuseof.com/pages/best-linux-distributions
[8]:https://www.flickr.com/photos/janitors/10037346335

View File

@@ -1,10 +1,10 @@
Linux script命令—— 终端里的记录器
Linux script命令 —— 终端里的记录器
================================================================================
当你在终端或者控制台工作时你可能想要记录在终端中所做的一切。这些记录可以用来当作史料保存终端所发生的一切。比如说你和一些Linux管理员们同时管理着相同的机器或者你让某人远程登陆到了你的服务器上你可能想要终端里发生的一切。要实现这个目标你可以使用script命令。
当你在终端或者控制台工作时你可能想要记录在终端中所做的一切。这些记录可以用来当作史料保存终端所发生的一切。比如说你和一些Linux管理员们同时管理着相同的机器或者你让某人远程登陆到了你的服务器上你可能记录想要终端里发生的一切。要实现这个目标你可以使用script命令。
### script是什么 ###
scirpt就是一个命令可以把打字稿打印到终端。对于那些想要记录终端会话的硬拷贝的人来说,这很有用。该记录可以保存并在以后再打印出来。
scirpt就是一个命令可以制作一份记录输出到终端的记录。对于那些想要真实记录终端会话的人来说,这很有用。该记录可以保存并在以后再打印出来。
### 怎么用 ###
@@ -21,23 +21,26 @@ scirpt就是一个命令可以把打字稿打印到终端。对于那些想
![Define script file](http://linoxide.com/wp-content/uploads/2014/03/start_script.png)
当你再次见到命令提示符,这意味着终端将记录打印到终端的任何东西。
你会看到当前目录有个名为typescript的文件。
你会看到当前目录有个名为myscript的文件。LCTT译注此处原文有误。这里指定了记录文件名为myfile而不是默认的 typescript。
### 为什么我们要用script命令 ###
因为在之前已经提到过script命令的主要功能是记录所有的东西。下面给出了两个使用该命令的环境
因为在之前已经提到过script命令的主要功能是记录所有的东西。下面给出了两个使用该命令的场景
#### 和同事共事时 ####
当和同事一起工作时我们可以通过script来记录大家的活动。
当和同事一起工作时我们可以通过script来记录的活动。
比如,我们会使用名为**collaborate**的打印文件,来完成打印:
$ script collaborate
![Create collaborate file](http://linoxide.com/wp-content/uploads/2014/03/collaborate.png)
然后,在完成一些任务后,试想一下你需要把你干的活发给另外一个工程师,那就把那文件发给他。所以当另外一个工程师需要复查所做的事情,他只要用文本编辑器打开这个文件就行了。
如果他想要更新该文件,可以使用**-a**选项。
然后,在完成一些任务后,假如你需要把你干的活发给另外一个工程师,那就把那文件发给他。所以当另外一个工程师需要复查所做的事情,他只要用文本编辑器打开这个文件就行了。
如果他想要更新该文件(以增加他的工作部分),可以使用**-a**选项。
$ script -a collaborate
@@ -78,6 +81,6 @@ Script命令在你需要记录或者存档终端活动时可能很有用
via: http://linoxide.com/linux-command/script-command-recorder/
译者:[GOLinux](https://github.com/GOLinux) 校对:[校对者ID](https://github.com/校对者ID)
译者:[GOLinux](https://github.com/GOLinux) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@@ -8,15 +8,15 @@ APP Grid:一个优秀的Ubuntu软件中心替代品
### App GridUbuntu软件中心替代品 ###
自从2011年的彻底改造后Ubuntu的旗舰应用商店的界面就没怎么变过。这并不是说它在此期间被完全忽略了12.04的开发周期中可以看到[在启动时间上的工作][1]已经做了一些
自从2011年的彻底改造后Ubuntu的旗舰应用商店的界面就没怎么变过。这并不是说它在此期间被完全忽略了12.04的开发周期中可以看到已经做了一些[减少打开耗时的工作][1]。
撇开那个不算,ol USC还是一如既往一篮子的潜力还没被开发。
撇开那个不算,Ubuntu软件中心还是一如既往还有许多潜在功能还没被开发。
App Grid的目标解决这些问题。从零开始,它要求更快的启动时间,更快的反应时间,而且“不感觉混乱,不让人失望”。
App Grid的目标解决这些问题。从零开始,它要求更快的启动时间,更快的反应时间,而且“不感觉混乱,不让人失望”。
在大部分这些方面App Grid取得了成功。它几乎可以立即打开而在界面上点击也确实反应迅速。“不感觉混乱”这一承诺或许有一点小小的争议。该应用有时候要你横向滚动而另外的时候又要你纵向滚动。也有人禁不住会想如果这个应用能把它的网格背景样式扔了可能看起来会显得更专业一些。
作为在Ubuntu上筛选应用程序的一个方式App Grid做出了极大的努力。它支持Ubuntu One上的订购、评级和评论作为Ubuntu默认应用商店的替代品它更好用。
作为在Ubuntu上筛选应用程序的一个方式App Grid做出了极大的努力。它支持Ubuntu One上的订购、评级和评论作为Ubuntu默认应用商店的替代品它更好用。
如果非要说点什么缺点的话,那就是它不是一个开源的应用程序,第一次运行时会显示以下免责声明:
@@ -27,18 +27,19 @@ App Grid的目标时解决这些问题。从零开始它要求更快的启动
App Grid可运行在Ubuntu 12.04 LTS13.10以及14.04 LTS版本下。可以通过添加以下PPA软件源来安装
sudo add-apt-repository -y ppa:appgrid/stable
sudo apt-get update && sudo apt-get install app grid
sudo apt-get update && sudo apt-get install appgrid
或者,也可以[从项目网站][2]抓取一个.deb安装包来安装。
- [下载用于Ubuntu 14.04的App Grid安装包][3]
试试吧,试过后请到我们开的空间里来发表一下你的看法吧……
试试吧,试过后请发表一下你的看法吧……
--------------------------------------------------------------------------------
via: http://www.omgubuntu.co.uk/2014/05/appgrid-ubuntu-software-centre-alternative
译者:[GOLinux](https://github.com/GOLinux) 校对:[校对者ID](https://github.com/校对者ID)
译者:[GOLinux](https://github.com/GOLinux) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@@ -0,0 +1,370 @@
黑客内核编写属于你的第一个Linux内核模块
================================================================================
> 曾经多少次想要在内核游荡?曾经多少次茫然不知方向?你不要再对着它迷惘,让我们指引你走向前方……
内核编程常常看起来像是黑魔法,而在亚瑟 C 克拉克的眼中它八成就是了。Linux内核和它的用户空间是大不相同的抛开漫不经心你必须小心翼翼因为你编程中的一个bug就会影响到整个系统。浮点运算做起来可不容易堆栈固定而狭小而你写的代码总是异步的因此你需要想想并发会导致什么。而除了所有这一切之外Linux内核只是一个很大的、很复杂的C程序它对每个人开放任何人都去读它、学习它并改进它而你也可以是其中之一。
学习内核编程的最简单的方式也许就是写个内核模块一段可以动态加载进内核的代码。模块所能做的事是有限的——例如他们不能在类似进程描述符这样的公共数据结构中增减字段LCTT译注可能会破坏整个内核及系统的功能。但是在其它方面他们是成熟的内核级的代码可以在需要时随时编译进内核这样就可以摒弃所有的限制了。完全可以在Linux源代码树以外来开发并编译一个模块这并不奇怪它称为树外开发如果你只是想稍微玩玩而并不想提交修改以包含到主线内核中去这样的方式是很方便的。
在本教程中,我们将开发一个简单的内核模块用以创建一个**/dev/reverse**设备。写入该设备的字符串将以相反字序的方式读回“Hello World”读成“World Hello”。这是一个很受欢迎的程序员面试难题当你利用自己的能力在内核级别实现这个功能时可以使你得到一些加分。在开始前有一句忠告你的模块中的一个bug就会导致系统崩溃虽然可能性不大但还是有可能的和数据丢失。在开始前请确保你已经将重要数据备份或者采用一种更好的方式在虚拟机中进行试验。
### 尽可能不要用root身份 ###
> 默认情况下,**/dev/reverse**只有root可以使用因此你只能使用**sudo**来运行你的测试程序。要解决该限制,可以创建一个包含以下内容的**/lib/udev/rules.d/99-reverse.rules**文件:
>
> SUBSYSTEM=="misc", KERNEL=="reverse", MODE="0666"
>
> 别忘了重新插入模块。让非root用户访问设备节点往往不是一个好主意但是在开发其间却是十分有用的。这并不是说以root身份运行二进制测试文件也不是个好主意。
#### 模块的构造 ####
由于大多数的Linux内核模块是用C写的除了底层的特定于体系结构的部分所以推荐你将你的模块以单一文件形式保存例如reverse.c。我们已经把完整的源代码放在GitHub上——这里我们将看其中的一些片段。开始时我们先要包含一些常见的文件头并用预定义的宏来描述模块
#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/module.h>
MODULE_LICENSE("GPL");
MODULE_AUTHOR("Valentine Sinitsyn <valentine.sinitsyn@gmail.com>");
MODULE_DESCRIPTION("In-kernel phrase reverser");
这里一切都直接明了,除了**MODULE\_LICENSE()**它不仅仅是一个标记。内核坚定地支持GPL兼容代码因此如果你把许可证设置为其它非GPL兼容的“Proprietary”[专利]),某些特定的内核功能将在你的模块中不可用。
### 什么时候不该写内核模块 ###
> 内核编程很有趣,但是在现实项目中写(尤其是调试)内核代码要求特定的技巧。通常来讲,在没有其它方式可以解决你的问题时,你才应该在内核级别解决它。以下情形中,可能你在用户空间中解决它更好:
> - 你要开发一个USB驱动 —— 请查看[libusb][1]。
> - 你要开发一个文件系统 —— 试试[FUSE][2]。
> - 你在扩展Netfilter —— 那么[libnetfilter\_queue][3]对你有所帮助。
> 通常,内核里面代码的性能会更好,但是对于许多项目而言,这点性能丢失并不严重。
由于内核编程总是异步的,没有一个**main()**函数来让Linux顺序执行你的模块。取而代之的是你要为各种事件提供回调函数像这个
static int __init reverse_init(void)
{
printk(KERN_INFO "reverse device has been registered\n");
return 0;
}
static void __exit reverse_exit(void)
{
printk(KERN_INFO "reverse device has been unregistered\n");
}
module_init(reverse_init);
module_exit(reverse_exit);
这里,我们定义的函数被称为模块的插入和删除。只有第一个的插入函数是必要的。目前,它们只是打印消息到内核环缓冲区(可以在用户空间通过**dmesg**命令访问);**KERN\_INFO**是日志级别(注意,没有逗号)。**\_\_init**和**\_\_exit**是属性 —— 联结到函数或者变量的元数据片。属性在用户空间的C代码中是很罕见的但是内核中却很普遍。所有标记为**\_\_init**的会在初始化后释放内存以供重用还记得那条过去内核的那条“Freeing unused kernel memory…[释放未使用的内核内存……]”信息吗?)。**\_\_exit**表明,当代码被静态构建进内核时,该函数可以安全地优化了,不需要清理收尾。最后,**module\_init()**和**module\_exit()**这两个宏将**reverse\_init()**和**reverse_exit()**函数设置成为我们模块的生命周期回调函数。实际的函数名称并不重要,你可以称它们为**init()**和**exit()**,或者**start()**和**stop()**,你想叫什么就叫什么吧。他们都是静态声明,你在外部模块是看不到的。事实上,内核中的任何函数都是不可见的,除非明确地被导出。然而,在内核程序员中,给你的函数加上模块名前缀是约定俗成的。
这些都是些基本概念 - 让我们来做更多有趣的事情吧。模块可以接收参数,就像这样:
# modprobe foo bar=1
**modinfo**命令显示了模块接受的所有参数,而这些也可以在**/sys/module//parameters**下作为文件使用。我们的模块需要一个缓冲区来存储参数 —— 让我们把这大小设置为用户可配置。在**MODULE_DESCRIPTION()**下添加如下三行:
static unsigned long buffer_size = 8192;
module_param(buffer_size, ulong, (S_IRUSR | S_IRGRP | S_IROTH));
MODULE_PARM_DESC(buffer_size, "Internal buffer size");
这儿我们定义了一个变量来存储该值封装成一个参数并通过sysfs来让所有人可读。这个参数的描述最后一行出现在modinfo的输出中。
由于用户可以直接设置**buffer\_size**,我们需要在**reverse\_init()**来清除无效取值。你总该检查来自内核之外的数据 —— 如果你不这么做,你就是将自己置身于内核异常或安全漏洞之中。
static int __init reverse_init()
{
if (!buffer_size)
return -1;
printk(KERN_INFO
"reverse device has been registered, buffer size is %lu bytes\n",
buffer_size);
return 0;
}
来自模块初始化函数的非0返回值意味着模块执行失败。
### 导航 ###
> 但你开发模块时Linux内核就是你所需一切的源头。然而它相当大你可能在查找你所要的内容时会有困难。幸运的是在庞大的代码库面前有许多工具使这个过程变得简单。首先是Cscope —— 在终端中运行的一个比较经典的工具。你所要做的,就是在内核源代码的顶级目录中运行**make cscope && cscope**。Cscope和Vim以及Emacs整合得很好因此你可以在你最喜爱的编辑器中使用它。
> 如果基于终端的工具不是你的最爱,那么就访问[http://lxr.free-electrons.com][4]吧。它是一个基于web的内核导航工具即使它的功能没有Cscope来得多例如你不能方便地找到函数的用法但它仍然提供了足够多的快速查询功能。
现在是时候来编译模块了。你需要你正在运行的内核版本头文件(**linux-headers**,或者等同的软件包)和**build-essential**或者类似的包。接下来该创建一个标准的Makefile模板
obj-m += reverse.o
all:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
clean:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
现在,调用**make**来构建你的第一个模块。如果你输入的都正确在当前目录内会找到reverse.ko文件。使用**sudo insmod reverse.ko**插入内核模块,然后运行如下命令:
$ dmesg | tail -1
[ 5905.042081] reverse device has been registered, buffer size is 8192 bytes
恭喜了!然而,目前这一行还只是假象而已 —— 还没有设备节点呢。让我们来搞定它。
#### 混杂设备 ####
在Linux中有一种特殊的字符设备类型叫做“混杂设备”或者简称为“misc”。它是专为单一接入点的小型设备驱动而设计的而这正是我们所需要的。所有混杂设备共享同一个主设备号10因此一个驱动(**drivers/char/misc.c**)就可以查看它们所有设备了,而这些设备用次设备号来区分。从其他意义来说,它们只是普通字符设备。
要为该设备注册一个次设备号(以及一个接入点),你需要声明**struct misc\_device**,填上所有字段(注意语法),然后使用指向该结构的指针作为参数来调用**misc\_register()**。为此,你也需要包含**linux/miscdevice.h**头文件:
static struct miscdevice reverse_misc_device = {
.minor = MISC_DYNAMIC_MINOR,
.name = "reverse",
.fops = &reverse_fops
};
static int __init reverse_init()
{
...
misc_register(&reverse_misc_device);
printk(KERN_INFO ...
}
这儿我们为名为“reverse”的设备请求一个第一个可用的动态的次设备号省略号表明我们之前已经见过的省略的代码。别忘了在模块卸下后注销掉该设备。
static void __exit reverse_exit(void)
{
misc_deregister(&reverse_misc_device);
...
}
fops字段存储了一个指针指向一个**file\_operations**结构在Linux/fs.h中声明而这正是我们模块的接入点。**reverse\_fops**定义如下:
static struct file_operations reverse_fops = {
.owner = THIS_MODULE,
.open = reverse_open,
...
.llseek = noop_llseek
};
另外,**reverse\_fops**包含了一系列回调函数(也称之为方法),当用户空间代码打开一个设备,读写或者关闭文件描述符时,就会执行。如果你要忽略这些回调,可以指定一个明确的回调函数来替代。这就是为什么我们将**llseek**设置为**noop\_llseek()**,(顾名思义)它什么都不干。这个默认实现改变了一个文件指针,而且我们现在并不需要我们的设备可以寻址(这是今天留给你们的家庭作业)。
#### 关闭和打开 ####
让我们来实现该方法。我们将给每个打开的文件描述符分配一个新的缓冲区并在它关闭时释放。这实际上并不安全如果一个用户空间应用程序泄漏了描述符也许是故意的它就会霸占RAM并导致系统不可用。在现实世界中你总得考虑到这些可能性。但在本教程中这种方法不要紧。
我们需要一个结构函数来描述缓冲区。内核提供了许多常规的数据结构链接列表双联的哈希表树等等之类。不过缓冲区常常从头设计。我们将调用我们的“struct buffer”
struct buffer {
char *data, *end, *read_ptr;
unsigned long size;
};
**data**是该缓冲区存储的一个指向字符串的指针,而**end**指向字符串结尾后的第一个字节。**read_ptr**是**read()**开始读取数据的地方。缓冲区的size是为了保证完整性而存储的 —— 目前,我们还没有使用该区域。你不能假设使用你结构体的用户会正确地初始化所有这些东西,所以最好在函数中封装缓冲区的分配和收回。它们通常命名为**buffer\_alloc()**和**buffer\_free()**
static struct buffer *buffer_alloc(unsigned long size)
{
struct buffer *buf;
buf = kzalloc(sizeof(*buf), GFP_KERNEL);
if (unlikely(!buf))
goto out;
...
out:
return buf;
}
内核内存使用**kmalloc()**来分配,并使用**kfree()**来释放;**kzalloc()**的风格是将内存设置为全零。不同于标准的**malloc()**,它的内核对应部分收到的标志指定了第二个参数中请求的内存类型。这里,**GFP_KERNEL**是说我们需要一个普通的内核内存不是在DMA或高内存区中以及如果需要的话函数可以睡眠重新调度进程。**sizeof(*buf)**是一种常见的方式,它用来获取可通过指针访问的结构体的大小。
你应该随时检查**kmalloc()**的返回值访问NULL指针将导致内核异常。同时也需要注意**unlikely()**宏的使用。它(及其相对宏**likely()**)被广泛用于内核中,用于表明条件几乎总是真的(或假的)。它不会影响到控制流程,但是能帮助现代处理器通过分支预测技术来提升性能。
最后,注意**goto**语句。它们常常为认为是邪恶的但是Linux内核以及一些其它系统软件采用它们来实施集中式的函数退出。这样的结果是减少嵌套深度使代码更具可读性而且非常像更高级语言中的**try-catch**区块。
有了**buffer\_alloc()**和**buffer\_free()****open**和**close**方法就变得很简单了。
static int reverse_open(struct inode *inode, struct file *file)
{
int err = 0;
file->private_data = buffer_alloc(buffer_size);
...
return err;
}
**struct file**是一个标准的内核数据结构,用以存储打开的文件的信息,如当前文件位置(**file->f\_pos**)、标志(**file->f\_flags**),或者打开模式(**file->f\_mode**)等。另外一个字段**file->privatedata**用于关联文件到一些专有数据它的类型是void *,而且它在文件拥有者以外,对内核不透明。我们将一个缓冲区存储在那里。
如果缓冲区分配失败,我们通过返回否定值(**-ENOMEM**来为调用的用户空间代码标明。一个C库中调用的**open(2)**系统调用(如 **glibc**)将会检测这个并适当地设置**errno** 。
#### 学习如何读和写 ####
“read”和“write”方法是真正完成工作的地方。当数据写入到缓冲区时我们放弃之前的内容和反向地存储该字段不需要任何临时存储。**read**方法仅仅是从内核缓冲区复制数据到用户空间。但是如果缓冲区还没有数据,**revers\_eread()**会做什么呢?在用户空间中,**read()**调用会在有可用数据前阻塞它。在内核中你就必须等待。幸运的是有一项机制用于处理这种情况就是wait queues
想法很简单。如果当前进程需要等待某个事件,它的描述符(**struct task_struct**存储current信息被放进非可运行睡眠中状态并添加到一个队列中。然后**schedule()**就被调用来选择另一个进程运行。生成事件的代码通过使用队列将等待进程放回**TASK\_RUNNING**状态来唤醒它们。调度程序将在以后在某个地方选择它们之一。Linux有多种非可运行状态最值得注意的是**TASK\_INTERRUPTIBLE**(一个可以通过信号中断的睡眠)和**TASK\_KILLABLE**(一个可被杀死的睡眠中的进程)。所有这些都应该正确处理,并等待队列为你做这些事。
一个用以存储读取等待队列头的天然场所就是结构缓冲区,所以从为它添加**wait\_queue\_head_t read\_queue**字段开始。你也应该包含**linux/sched.h**头文件。可以使用DECLARE\_WAITQUEUE()宏来静态声明一个等待队列。在我们的情况下,需要动态初始化,因此添加下面这行到**buffer\_alloc()**
init_waitqueue_head(&buf->read_queue);
我们等待可用数据;或者等待**read\_ptr != end**条件成立。我们也想要让等待操作可以被中断通过Ctrl+C。因此“read”方法应该像这样开始
static ssize_t reverse_read(struct file *file, char __user * out,
size_t size, loff_t * off)
{
struct buffer *buf = file->private_data;
ssize_t result;
while (buf->read_ptr == buf->end) {
if (file->f_flags & O_NONBLOCK) {
result = -EAGAIN;
goto out;
}
if (wait_event_interruptible
(buf->read_queue, buf->read_ptr != buf->end)) {
result = -ERESTARTSYS;
goto out;
}
}
...
我们让它循环,直到有可用数据,如果没有则使用**wait\_event\_interruptible()**(它是一个宏,不是函数,这就是为什么要通过值的方式给队列传递)来等待。好吧,如果**wait\_event\_interruptible()**被中断它返回一个非0值这个值代表**-ERESTARTSYS**。这段代码意味着系统调用应该重新启动。**file->f\_flags**检查以非阻塞模式打开的文件数:如果没有数据,返回**-EAGAIN**。
我们不能使用**if()**来替代**while()**,因为可能有许多进程正等待数据。当**write**方法唤醒它们时,调度程序以不可预知的方式选择一个来运行,因此,在这段代码有机会执行的时候,缓冲区可能再次空出。现在,我们需要将数据从**buf->data** 复制到用户空间。**copy\_to\_user()**内核函数就干了此事:
size = min(size, (size_t) (buf->end - buf->read_ptr));
if (copy_to_user(out, buf->read_ptr, size)) {
result = -EFAULT;
goto out;
}
如果用户空间指针错误,那么调用可能会失败;如果发生了此事,我们就返回**-EFAULT**。记住,不要相信任何来自内核外的事物!
buf->read_ptr += size;
result = size;
out:
return result;
}
为了使数据在任意块可读,需要进行简单运算。该方法返回读入的字节数,或者一个错误代码。
写方法更简短。首先,我们检查缓冲区是否有足够的空间,然后我们使用**copy\_from\_userspace()**函数来获取数据。再然后**read\_ptr**和结束指针会被重置,并且反转存储缓冲区内容:
buf->end = buf->data + size;
buf->read_ptr = buf->data;
if (buf->end > buf->data)
reverse_phrase(buf->data, buf->end - 1);
这里, **reverse\_phrase()**干了所有吃力的工作。它依赖于**reverse\_word()**函数,该函数相当简短并且标记为内联。这是另外一个常见的优化;但是,你不能过度使用。因为过多的内联会导致内核映像徒然增大。
最后,我们需要唤醒**read\_queue**中等待数据的进程,就跟先前讲过的那样。**wake\_up\_interruptible()**就是用来干此事的:
wake_up_interruptible(&buf->read_queue);
耶!你现在已经有了一个内核模块,它至少已经编译成功了。现在,是时候来测试了。
### 调试内核代码 ###
> 或许,内核中最常见的调试方法就是打印。如果你愿意,你可以使用普通的**printk()** (假定使用**KERN\_DEBUG**日志等级。然而那儿还有更好的办法。如果你正在写一个设备驱动这个设备驱动有它自己的“struct device”可以使用**pr\_debug()**或者**dev\_dbg()**:它们支持动态调试(**dyndbg**)特性,并可以根据需要启用或者禁用(请查阅**Documentation/dynamic-debug-howto.txt**)。对于单纯的开发消息,使用**pr\_devel()**除非设置了DEBUG否则什么都不会做。要为我们的模块启用DEBUG请添加以下行到Makefile中
> CFLAGS_reverse.o := -DDEBUG
>
> 完了之后,使用**dmesg**来查看**pr_debug()**或**pr_devel()**生成的调试信息。
> 或者,你可以直接发送调试信息到控制台。要想这么干,你可以设置**console_loglevel**内核变量为8或者更大的值**echo 8 /proc/sys/kernel/printk**),或者在高日志等级,如**KERN_ERR**,来临时打印要查询的调试信息。很自然,在发布代码前,你应该移除这样的调试声明。
> 注意内核消息出现在控制台不要在Xterm这样的终端模拟器窗口中去查看这也是在内核开发时建议你不在X环境下进行的原因。
### 惊喜,惊喜! ###
编译模块,然后加载进内核:
$ make
$ sudo insmod reverse.ko buffer_size=2048
$ lsmod
reverse 2419 0
$ ls -l /dev/reverse
crw-rw-rw- 1 root root 10, 58 Feb 22 15:53 /dev/reverse
一切似乎就位。现在,要测试模块是否正常工作,我们将写一段小程序来翻转它的第一个命令行参数。**main()**(再三检查错误)可能看上去像这样:
int fd = open("/dev/reverse", O_RDWR);
write(fd, argv[1], strlen(argv[1]));
read(fd, argv[1], strlen(argv[1]));
printf("Read: %s\n", argv[1]);
像这样运行:
$ ./test 'A quick brown fox jumped over the lazy dog'
Read: dog lazy the over jumped fox brown quick A
它工作正常!玩得更逗一点:试试传递单个单词或者单个字母的短语,空的字符串或者是非英语字符串(如果你有这样的键盘布局设置),以及其它任何东西。
现在,让我们让事情变得更好玩一点。我们将创建两个进程,它们共享一个文件描述符(及其内核缓冲区)。其中一个会持续写入字符串到设备,而另一个将读取这些字符串。在下例中,我们使用了**fork(2)**系统调用而pthreads也很好用。我也省略打开和关闭设备的代码并在此检查代码错误又来了
char *phrase = "A quick brown fox jumped over the lazy dog";
if (fork())
/* Parent is the writer */
while (1)
write(fd, phrase, len);
else
/* child is the reader */
while (1) {
read(fd, buf, len);
printf("Read: %s\n", buf);
}
你希望这个程序会输出什么呢?下面就是在我的笔记本上得到的东西:
Read: dog lazy the over jumped fox brown quick A
Read: A kcicq brown fox jumped over the lazy dog
Read: A kciuq nworb xor jumped fox brown quick A
Read: A kciuq nworb xor jumped fox brown quick A
...
这里发生了什么呢?就像举行了一场比赛。我们认为**read**和**write**是原子操作,或者从头到尾一次执行一个指令。然而,内核确实无序并发的,随便就重新调度了**reverse\_phrase()**函数内部某个地方运行着的写入操作的内核部分。如果在写入操作结束前就调度了**read()**操作呢就会产生数据不完整的状态。这样的bug非常难以找到。但是怎样来处理这个问题呢
基本上,我们需要确保在写方法返回前没有**read**方法能被执行。如果你曾经编写过一个多线程的应用程序你可能见过同步原语如互斥锁或者信号。Linux也有这些但有些细微的差别。内核代码可以运行进程上下文用户空间代码的“代表”工作就像我们使用的方法和终端上下文例如一个IRQ处理线程。如果你已经在进程上下文中和并且你已经得到了所需的锁你只需要简单地睡眠和重试直到成功为止。在中断上下文时你不能处于休眠状态因此代码会在一个循环中运行直到锁可用。关联原语被称为自旋锁但在我们的环境中一个简单的互斥锁 —— 在特定时间内只有唯一一个进程能“占有”的对象 —— 就足够了。处于性能方面的考虑,现实的代码可能也会使用读-写信号。
锁总是保护某些数据在我们的环境中是一个“struct buffer”实例而且也常常会把它们嵌入到它们所保护的结构体中。因此我们添加一个互斥锁struct mutex lock到“struct buffer”中。我们也必须用**mutex\_init()**来初始化互斥锁;**buffer\_alloc**是用来处理这件事的好地方。使用互斥锁的代码也必须包含**linux/mutex.h**。
互斥锁很像交通信号灯 —— 要是司机不看它和不听它的,它就没什么用。因此,在对缓冲区做操作并在操作完成时释放它之前,我们需要更新**reverse\_read()**和**reverse\_write()**来获取互斥锁。让我们来看看**read**方法 —— **write**的工作原理相同:
static ssize_t reverse_read(struct file *file, char __user * out,
size_t size, loff_t * off)
{
struct buffer *buf = file->private_data;
ssize_t result;
if (mutex_lock_interruptible(&buf->lock)) {
result = -ERESTARTSYS;
goto out;
}
我们在函数一开始就获取锁。**mutex\_lock\_interruptible()**要么得到互斥锁然后返回,要么让进程睡眠,直到有可用的互斥锁。就像前面一样,**\_interruptible**后缀意味着睡眠可以由信号来中断。
while (buf->read_ptr == buf->end) {
mutex_unlock(&buf->lock);
/* ... wait_event_interruptible() here ... */
if (mutex_lock_interruptible(&buf->lock)) {
result = -ERESTARTSYS;
goto out;
}
}
下面是我们的“等待数据”循环。当获取互斥锁时,或者发生称之为“死锁”的情境时,不应该让进程睡眠。因此,如果没有数据,我们释放互斥锁并调用**wait\_event\_interruptible()**。当它返回时,我们重新获取互斥锁并像往常一样继续:
if (copy_to_user(out, buf->read_ptr, size)) {
result = -EFAULT;
goto out_unlock;
}
...
out_unlock:
mutex_unlock(&buf->lock);
out:
return result;
最后,当函数结束,或者在互斥锁被获取过程中发生错误时,互斥锁被解锁。重新编译模块(别忘了重新加载),然后再次进行测试。现在你应该没发现毁坏的数据了。
### 接下来是什么? ###
现在你已经尝试了一次内核黑客。我们刚刚为你揭开了这个话题的外衣里面还有更多东西供你探索。我们的第一个模块有意识地写得简单一点在从中学到的概念在更复杂的环境中也一样。并发、方法表、注册回调函数、使进程睡眠以及唤醒进程这些都是内核黑客们耳熟能详的东西而现在你已经看过了它们的运作。或许某天你的内核代码也将被加入到主线Linux源代码树中 —— 如果真这样,请联系我们!
--------------------------------------------------------------------------------
via: http://www.linuxvoice.com/be-a-kernel-hacker/
译者:[GOLinux](https://github.com/GOLinux) [disylee](https://github.com/disylee) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://www.libusb.org/
[2]:http://fuse.sf.net/
[3]:http://www.linuxvoice.com/be-a-kernel-hacker/www.netfilter.org/projects/libnetfilter_queue
[4]:http://lxr.free-electrons.com/

View File

@@ -0,0 +1,42 @@
命令行之秘
================================================================================
有很多使用命令行的理由。正如我们在[issue 3 of Linux Voice][1]中展示的那样,它是与你的计算机交互的最强大和简明的方法。但是,我们还是先来看一下命令行的一些隐晦的使用场景(或许有些人会觉得没有意义)。
### 浏览网页 ###
Firefox和Chromium都是很好的浏览器但是你有没有发现它们有点太图形化了没有看一下下面的视频我们使用elinks web浏览器显示了与黑客相关的新闻。界面可能没有其他浏览器好看但是它的目标是显示绝大多数的web页面
<iframe width="570" scrolling="no" height="418" src="http://shelr.tv/records/5368d80796608063a3000072/embed" style="border: 0; id="shelr_record_5368d80796608063a3000072"></iframe>
作为一个极客当你只有SSH连接方式时需要快速检查一下能否访问网页时这将是一个很便利的方法。
### 在维基百科上查找想要的信息 ###
是的上面我们已经提到了使用Web但是web不是查看维基百科的唯一方式。David Leadbeater已经构建了一个将维基百科的内容放入DNS记录的DNS服务器。这能够让你使用像dig这样的命令行工具来抓取你想要的信息。
<iframe width="570" scrolling="no" height="418" src="http://shelr.tv/records/5368bfa896608063a300006d/embed" style="border: 0;" id="shelr_record_5368bfa896608063a300006d"></iframe>
### 看电影 ###
当你想要看《星球大战 4 新的希望》时不再需要使用Netflix或者YouTube只要在你的终端中直接telnet towel.blinkenlights.nl就行了。
<iframe width="570" scrolling="no" height="418" style="border: 0" src="http://shelr.tv/records/5368be5296608063a300006c/embed" id="shelr_record_5368be5296608063a300006c" border="0"></iframe>
### 玩游戏 ###
再Steam来之前Linux下就有许多游戏并且很多都不需要图形界面比如NetHack、Robots和Greed。下面是Moon Buggy 的一个演示:
<iframe width="570" scrolling="no" height="418" style="border: 0" src="http://shelr.tv/records/5368ca4596608063a300006f/embed" id="shelr_record_5368ca4596608063a300006f" border="0"></iframe>
LCTT译注大家注意到这篇文章中的视频了么不是通常的FLA也不是MP4、AVI。而是一个专门演示脚本“功夫”的一个网站提供的http://shelr.tv/ ,欢迎大家也去演练下你的脚本功夫吧!
LCTT译注为了正常呈现我专门临时打开了网站对IFRAME的限制。。。
--------------------------------------------------------------------------------
via: http://www.linuxvoice.com/commandline-secrets/
译者:[johnhoow](https://github.com/johnhoow ) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://www.linuxvoice.com/issue-3-is-out/

View File

@@ -0,0 +1,135 @@
在linux桌面上观看2014年巴西世界杯比赛
================================================================================
足球是世界上受众最广和观众最多的运动现代足球起源于英国。足球运动员平均每场比赛要跑6个多英里。上届南非世界杯有近10亿的电视观众而今年的的观赛数量预计还要增加。
2014年第20界世界杯在巴西举行时间安排为从6月12号开始持续到7月13号共有32个国家参加这项赛事。
爱足球的小伙子们我们将要介绍一款可以提供最新的赛况以及你喜欢的球队的进球数信息的应用程序它叫做“icup 2014 Brazil”。下面让我们介绍它的特点用法和安装等。
![iCup 2014 Brazil](http://www.tecmint.com/wp-content/uploads/2014/06/Football-World-Cup-2014.jpeg)
*iCup 2014 Brazil*
### 什么是“icup 2014 Brazil” ###
“icup 2014 Brazil”简单的说是一个应用程序在linux桌面为你提供2014年世界杯的最新比赛赛况。
### “icup 2014 Brazil”的特点###
- 自适应的用户界面,比如自动缩放
- 迅速查看战绩
- 支持Facebook、twitter和Google+社交分享功能
- 支持Retina显示输出
- 实时跟踪比赛结果
- 包括32个国家的国歌小工具配合露天广场效果很不错
- 内置日历和时区工具,实时的显示当天数据,图像化展示最新的战况和得分
- 支持代理
### 平台和框架支持 ###
这款软件可以运行在Mac、windows和linux上特别提醒在Linux上它是为x86的CPU设计的虽然它也可以在x64的平台上安装不过我们需要做一下设置。
#### 在不同平台的技术规范 ####
- 实时结果,日历,数据分组,第二阶段整合,社交网络连接和多语言支持,这些支持全平台
- Retina显示支持这个不支持windows和linux仅支持Mac OS
- 详细的统计-支持linux。在windows和Mac需要捐赠才行
- 声音小工具-支持MAC和linuxwindows不确定
**重要**: 上面的特点都支持一些具体的特性除了linux外都不是免费提供的这是为了支付服务器和带宽费用。对于linux用户来说任何细节不需要关心高兴的用去吧。
### Linux下安装“icup 2014 Brazil” ###
首先去[“icup 2014 Brazil”官方下载页面][1]下载你电脑平台的软件版本
#### 32位下的安装步骤 ####
# cd Downloads/
# tar xvf iCup_2014_FREE-Brazil_1.1_linux.tar.bz2
# cd iCup\ 2014\ FREE\ -\ Brazil\ 1.1/
# chmod 755 iCup\ 2014\ FREE\ -\ Brazil
如上文所说这个应用程序只为X86架构设计为了在64位架构下安装32位的软件我们需要在系统上安装一些软件包**GTK+2**和**libstdc++.so.6**。
不只是这款软件一大堆Linux下的软件不支持64位架构例如**Skype**,我们也需要这样调整我们的系统来安装这些软件。
#### 在64位系统下 ####
安装**GTK+2**和**libstdc++so.6**用如下apt或者yum命令
$ sudo apt-get install libgtk2.0-0 libstdc++6 [在基于Debian系统上执行这个命令]
如果有报错的话,运行下面的命令来解决
$ sudo apt-get -f install
----------
# yum install gtk2 libstdc++ [在基于Redhat系统上执行这个命令]
需要的软件包安装完后就可以在64位系统下安装32位的软件了进入你的下载目录找到“**icup 2014 Brazil**”安装包然后执行下面的命令
# cd Downloads/
# tar xvf iCup_2014_FREE-Brazil_1.1_linux.tar.bz2
# cd iCup\ 2014\ FREE\ -\ Brazil\ 1.1/
# chmod 755 iCup\ 2014\ FREE\ -\ Brazil
然后,进入软件所在目录,双击可执行文件启动软件。下面的截屏图中看不到所有的信息,**因为本文写作时2014年世界杯现在还没开始呢开始后我们就能看到结果了**。
![iCup Brazil 2014](http://www.tecmint.com/wp-content/uploads/2014/06/Football-World-Cup-2014-01-620x437.jpeg)
iCup Brazil 2014
无具体信息,世界杯尚未开始。
![Match Detailed Information](http://www.tecmint.com/wp-content/uploads/2014/06/Football-World-Cup-2014-02-620x439.jpeg)
Match Detailed Information
分组和队伍
![Groups and Teams](http://www.tecmint.com/wp-content/uploads/2014/06/Football-World-Cup-2014-03-620x439.jpeg)
Groups and Teams
第二阶段详细信息
![2nd stage Detailed Information](http://www.tecmint.com/wp-content/uploads/2014/06/Football-World-Cup-2014-04-620x438.jpeg)
2nd stage Detailed Information
比赛细节,尚未完整
![Match Summary](http://www.tecmint.com/wp-content/uploads/2014/06/Football-World-Cup-2014-05-620x440.jpeg)
Match Summary
集成语言切换和社交分享按钮
![Language Change](http://www.tecmint.com/wp-content/uploads/2014/06/Football-World-Cup-2014-06-620x440.jpeg)
Language Change
Linux上捐赠是可选的你可以贡献你的心意。
![Donation](http://www.tecmint.com/wp-content/uploads/2014/06/Football-World-Cup-2014-07-620x435.jpeg)
Donation
### 总结 ###
上面的这个软件有望成为足球粉丝的一大福利,赶快在线试用吧。
好了我马上又有一个有趣的文章了。请保持关注Tecmint.com。请在评论区对我们的工作给予反馈。
--------------------------------------------------------------------------------
via: http://www.tecmint.com/view-fifa-world-cup-matche-results/
译者:[jiajia9linuxer](https://github.com/jiajia9linuxer) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://www.e-link.it/icup/brazil2014/icup-brazil-2014-desktop-app.php

View File

@@ -0,0 +1,71 @@
如何使用ffmpeg从视频中提取图片
================================================================================
你曾想过从一个视频文件中提取图片吗在Linux下就可以在这个教程中我将使用ffmpeg来从视频中获取图片。
### 什么是ffmpegWhat is ffmpeg? ###
ffmpeg是一个非常有用的命令行程序它可以用来转码媒体文件。它是领先的多媒体框架FFmpeg的一部分其有很多功能比如解码、编码、转码、混流、分离、转化为流、过滤以及播放几乎所有的由人和机器创建的媒体文件。
在这个框架中包含有各种工具每一个用于完成特定的功能。例如ffserver能够将多媒体文件转化为用于实时广播的流ffprobe用于分析多媒体流ffplay可以当作一个简易的媒体播放器**ffmpeg**则能够转换多媒体文件格式。
如果你感兴趣以下列出的是FFmpeg框架中包含的开发者库
- libavutil是一个包含简化编程功能的库其中包括随机数生成器数据结构数学代码核心多媒体工具等更多东西。
- libavcodec是一个包含音频/视频解码器和编码器的库。
- libavformat是一个包含了多媒体格式的分离器和混流器的库。
- libavdevice是一个包含输入输出设备的库用于捕捉和渲染很多来自常用的多媒体输入/输出软件框架的数据包括Video4LinuxVideo4Linux2VfW和ALSA。
- libavfilter是一个包含媒体过滤器的库。
- libswscale是一个用于执行高度优化的图像缩放和颜色空间/像素格式转换操作的库。
- libswresample是一个用于执行高度优化的音频重采样重新矩阵和取样格式转换操作的库。
**注意**ffmpeg和FFmpeg不是同一个东西。FFmpeg是框架而ffmpeg是一个其中的一个功能。
### 开始行动 ###
如果你想跟着教程做你需要在你的linux机中安装ffmpeg命令行功能。Ubuntu用户可以在终端运行以下命令轻松安装ffmpeg功能。
sudo apt-get install ffmpeg
Fedora用户可以从源中直接安装ffmpeg。
yum install ffmpeg
或者你可以编译源代码。在你使用源代码编译并安装它之前,你需要从官网上下载源代码,使用以下命令。
wget http://www.ffmpeg.org/releases/ffmpeg-2.2.3.tar.bz2
用下面命令解压文档。
tar -xvjf ffmpeg-2.2.3.tar.bz2
文档解压完成后进入解压后的目录运行以下命令。
./configure
make
编译完成后运行下面的命令安装ffmpeg。
su -c 'make install'
全部的事情并没有完成,而你将要做的所有事就是在终端键入一些命令而且将能够从任何视频文件中抓取图片。
在做之后的步骤前确保你在想要提取图片的视频文件的目录下。使用cd命令切换到正确的目录。教程中我使用的视频在我的桌面上我用以下命令将目录切换到我的桌面。
cd /home/oltjano/Desktop
之后我使用以下命令从视频中提取图片。
ffmpeg -i "你是我的小呀小苹果儿.mp4" -r 1 -q:v 2 -f image2 image-3%d.jpeg
**-i**选项用来获取输入文件,在这里是视频文件名**你是我的小呀小苹果儿.mp4**-r选项设置每秒提取图片的帧数。我想要每秒提取一帧。
之后有一个重要的选项是-q:v应该留意这个选项并且我很喜欢用它它用来设置提取到的图片质量。我总是设置值为2来从视频中获取高质量图片。
--------------------------------------------------------------------------------
via: http://www.unixmen.com/extract-images-videos-using-ffmpeg/
译者:[linuhap](https://github.com/linuhap) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@@ -0,0 +1,33 @@
在Linux上用iCup追世界杯
================================================================================
![](http://180016988.r.cdn77.net/wp-content/uploads/2014/06/icup2014-790x389.png)
Linux 极客们,
在本文简短的叙述中我将教您如何在Linux中安装一个非常棒的2014FIFA世界杯APP。这个应用叫iCup支持WindowsMac以及伟大的Linux。
我看足球比赛已经有很长的时间了所以我得在我的电脑上装个这样的应用来保持更新2014世界杯的最新情况。我可不想在我朋友们面前看起来像一无所知的笨货。iCup应用正好提供了每一场赛程、比分、球队教练组等信息。更有提供实时比赛更新给您提供 正在进行的比赛的最新数据。
### 支持以下功能: ###
- 30种语言支持完全本地化使用语言菜单选择
- 独家的灵活界面可随意调整窗口大小
- 可按日期或阶段检索比赛日历
- 可视化分组
- 支持自动转变比赛时间来适应本地时间和格式
- 一键化社交网络发表比赛评论支持FacebookGoogle+和Twitter
- 支持代理(支持基本认证和摘要认证方法)
我已经在Ubuntu12.04LTS上用过而且真的很好用!目前为止,这款软件还没有出错或者崩溃过。通过[官方网站][1]您可以下载到压缩包并且十分轻松地安装这个很棒的应用然后您可以解压到任何您喜欢的地方。解压完成后双击iCup 2014 FREE- Brazil运行。
iCup真心好用我希望您也能用其享受世界杯
--------------------------------------------------------------------------------
via: http://www.unixmen.com/install-icup-2014-linux/
译者:[Vic020](http://www.vicyu.net) 校对:[213edu](http://ryanhu.me/)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://www.e-link.it/icup/brazil2014/icup-brazil-2014-desktop-app.php

View File

@@ -0,0 +1,115 @@
Linux使用bash删除目录中的特定文件
================================================================================
![](http://s0.cyberciti.org/images/category/old/terminal.png)
我是一名Linux新用户。现在我需要清理一个下载目录中的文件其实我就是想从/Download/文件夹删去除了以下格式的文件外所以其它文件:
- *.iso - 所有的iso格式的文件。
- *.zip - 所有zip格式的文件。
我如何在一个基于LinuxOS X 或者 Unix-like 系统上的bash shell中删除特定的文件呢
Bash shell 支持丰富的文件模式匹配符例如:
- * 匹配所有的文件。
- 匹配文件名中的单个字母。
- [...] 匹配封闭括号中的任何一个字母。
### 策略 #1: 见识一下扩展的模式匹配符 ###
这里你需要用系统内置的shopt命令来开启shell中的extglob选项然后你就可以使用扩展的模式符了这些模式匹配符如下
1. ?(模式列表) 匹配零次或一次给定的模式。
1. *(模式列表) 匹配零次或多次给定的模式。
1. +(模式列表) 至少匹配一次给定的模式。
1. @(模式列表) 匹配一次给定的模式。
1. !(模式列表) 不匹配给定模式。
一个模式列表就是一个或多个用 | 分开的模式(文件名)。
首先要打开extgolb选项
shopt -s extglob
#### 在Bash中删掉除*.zip和*.iso文件以外的所有文件 ####
rm 命令的语法格式为:
## 仅保留 file1 文件 ##
rm !(file1)
## 仅保留 file1 和 file2 文件##
rm !(file1|file2)
## 仅保留 zip 文件 ##
rm !(*.zip)
## 仅保留 zip 和 iso 文件 ##
rm !(*.zip|*.iso)
## 你也可以使用完整的目录 ##
rm /Users/vivek/!(*.zip|*.iso|*.mp3)
## 也可以传递参数 ##
rm [选项] !(*.zip|*.iso)
rm -v !(*.zip|*.iso)
rm -f !(*.zip|*.iso)
rm -v -i !(*.php)
最后,关闭 extglob 选项方法如下:
shopt -u extglob
### 策略 #2: 使用bash的 GLOBIGNORE 变量删除指定文件以外的所有文件 ###
摘自 [bash(1)][1] 手册页:
> 这是一个用冒号分开的模式列表通过路径展开方式定义了要忽略的文件集合。如果一个匹配到路径展开模式的文件也匹配GLOBIGNORE中的模式那么它会从匹配列表中移除。
要删除所有文件只保留 zip 和 iso 文件,应如下设置 GLOBIGNORE
## 只在 BASH 中可行 ##
cd ~/Downloads/
GLOBIGNORE=*.zip:*.iso
rm -v *
unset GLOBIGNORE
### 策略 #3: 用 find 命令删除所有其它文件仅保留 zip 和 iso 文件 ###
如果你正在使用 tcsh/csh/sh/ksh 或者其它shell你可以在Unixlike系统上试着用下面find命令的语法格式来删除文件
find /dir/ -type f -not -name '匹配模式' -delete
或者
## 对于怪异的文件名可以使用 xargs ##
find /dir/ -type f -not -name '匹配模式' -print0 | xargs -0 -I {} rm {}
find /dir/ -type f -not -name '匹配模式' -print0 | xargs -0 -I {} rm [选项] {}
想要删除 /source 目录下除 php 以外的文件,键入:
find ~/sources/ -type f -not -name '*.php' -delete
或者
find ~/sources/ -type f -not -name '*.php' -print0 | xargs -0 -I {} rm -v {}
只保留 *.zip 和 *.iso 文件的语法如下:
find . -type f -not \( -name '*zip' -or -name '*iso' \) -delete
更多信息参见[bash command man page][1]和[find command man page][2]。
--------------------------------------------------------------------------------
via: http://www.cyberciti.biz/faq/linux-bash-delete-all-files-in-directory-except-few/
译者:[Linchenguang](https://github.com/Linchenguang) 校对:[Caroline](https://github.com/carolinewuyan)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://www.manpager.com/linux/man1/bash.1.html
[2]:http://www.manpager.com/linux/man1/find.1.html

View File

@@ -1,28 +1,30 @@
Linux下的在线云音乐播放器 —— Nuvola Player 2.4.0发布
================================================================================
**Nuvola Player**是一个开源的播放器,在它自身的web界面中运行像Amazon云播放器BandcampDeezer8tracksGoogle Play音乐GroovesharkHyper Machine以及Pandora等等云音乐服务同时它也能整合到Linux桌面中。
**Nuvola Player**是一个开源的播放器,可以在其web界面中运行像Amazon云播放器BandcampDeezer8tracksGoogle Play音乐GroovesharkHyper Machine以及Pandora等等云音乐服务同时它也能整合到Linux桌面中。
该应用程序以插件的形式提供了大量的功能特性像桌面通知、系统托盘、多媒体键、媒体播放器小程序、停靠栏菜单、歌词、last.fm等等。
**2014年5月31日****Nuvola Player 2.4.0**的一个新版本发布了 —— 它带来了一些新的特性,包括两个新的服务罗技媒体服务器和这是我的果酱以及众多的bug修复。
**2014年5月31日****Nuvola Player 2.4.0**的一个新版本发布了 —— 它带来了一些新的特性,包括两个新的服务“Logitech Media Server”和“This is My Jam ”以及众多的bug修复。
### 这个发布中有什么新东西 ###
- 删除了破损的隐藏Google+按钮选项因为Google修改代码过于频繁。
- 删除了破损的隐藏Google+按钮选项因为Google修改代码过于频繁
- 加快了服务设置的启用速度,不需要再重新加载。
- 修复了暂停和播放/暂停动作开关。
- 为Chrome添加了兼容问题警告桌面通知。
- 提供了页面内导航按钮现在用户可以在Google Play标识旁边的顶部栏中找到它
- 添加了罗技媒体服务器和这是我的果酱服务。
- 添加了“Logitech Media Server”和“This is My Jam ”服务。
- 包含了对鼠标后退/前进按钮的支持。
- 修复了对GNOME锁屏通知的支持。
要查看完整的特性列表,请访问官方发行[声明页面][1]
### 在Debian, Ubuntu和Linux Mint中安装Nuvola Player ###
## 在Debian, Ubuntu和Linux Mint中安装Nuvola Player ##
官方的Nuvola Player仓库中包含了**Ubuntu 14.04, 13.10, 12.10, 12.04**以及**Linux Mint 17, 16, 15, 14.**可用的二进制包你可以通过添加Nuvola Player仓库到你的系统中来安装二进制包nuvolaplayer
#### 在Ubuntu和Linux Mint上 ####
### 在Ubuntu和Linux Mint上 ###
打开终端并运行以下一系列命令:
$ sudo add-apt-repository ppa:nuvola-player-builders/stable
@@ -36,7 +38,8 @@ Linux下的在线云音乐播放器 —— Nuvola Player 2.4.0发布
$ sudo apt-get --no-install-recommends install nuvolaplayer
#### 在Debian上 ####
### 在Debian上 ###
对于**Debian Wheezy**和**Debian Sid**可以从官方仓库中获取稳定的Nuvola Player二进制包。你可以使用下面这一堆命令来安装最新的稳定版。
首先,打开终端并导入公钥,然后添加仓库到‘**sources.list**文件接着像下面这样进行一次系统更新来安装nuvolaplayer。
@@ -97,7 +100,7 @@ Rdio音乐服务
via: http://www.tecmint.com/install-nuvola-player-in-linux/
译者:[GOLinux](https://github.com/GOLinux) 校对:[校对者ID](https://github.com/校对者ID)
译者:[GOLinux](https://github.com/GOLinux) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@@ -12,7 +12,7 @@
### 1. 写一个shell脚本来得到当前的日期时间用户名和当前工作目录。 ###
> **Answer** : 输出用户名当前日期和时间以及当前工作目录的命令就是lognamedatewho i am和pwd。
> **答案** : 输出用户名当前日期和时间以及当前工作目录的命令就是lognamedatewho i am和pwd。
现在,创建一个名为**`userstats.sh`**文件,将下面的代码添加到它。
@@ -22,7 +22,7 @@
echo "User is `who i am`"
echo "Current directory `pwd`"
添加执行权限,并且执行他。
添加执行权限,并且执行他。
# chmod 755 userstats.sh
# ./userstats.sh
@@ -34,10 +34,9 @@
User is avi pts/0 2014-06-07 11:59 (:0)
Current directory /home/avi/Desktop
### 2.写一个shell脚本进行两个数字的相加如果没有输入参数就输出错误信息和使用说明###
### 2.写一个shell脚本进行两个数字的相加如果没有输入参数就输出错误信息和一行使用说明###
> **Answer** :
下面是简单的shell脚本以及描述如果没有命令行参数它会抛出错误与如何使用脚本的说明。
> **答案** : 下面是简单的shell脚本以及描述如果没有命令行参数它会抛出错误与如何使用脚本的说明。
再创建一个名为**`twonumbers.sh`**文件和下面的内容添加到文件里。
@@ -70,24 +69,24 @@
# chmod 755 two-numbers.sh
**Condition 1**: 未输入两个数字作为命令行参数运行脚本,你将得到下面的输出。
**情形一**: 未输入两个数字作为命令行参数运行脚本,你将得到下面的输出。
#### Sample Output ####
#### 样例输出 ####
# ./two-numbers.sh
Usage - ./two-numbers.sh x y
Where x and y are two nos for which I will print sum
**Condition 2**: 当数字存在时,你会得到如图所示的结果。
**情形二**: 当数字存在时,你会得到如图所示的结果。
$ ./two-numbers.sh 4 5
Sum of 4 and 5 is 9
因此上述shell脚本满足条件作为问题提出了建议
因此上述shell脚本满足了问题的要求
### 3.你需要打印一个给定的数字的反序如输入10572输出27501如果没有输入数据应该抛出错误和使用脚本说明。在此之前告诉我你需要在这里使用的算法。 ###
### 3.你需要打印一个给定的数字的反序如输入10572输出27501如果没有输入数据应该抛出错误和使用脚本说明。在此之前告诉我你需要在这里使用的算法。 ###
#### 算法 ####
@@ -95,7 +94,7 @@
2. 赋值 rev=0, sd=0 (反向和单个数字设置为0)
3. n % 10, 将得到最左边的数字
4. 反向数字可以用这个方法生成 rev * 10 + sd
5. 对输入数字进行-1操作
5. 对输入数字进行右位移操作除以10
6. 如果n > 0, 进入第三步,否则进行第七步
7. 输出rev
@@ -126,9 +125,9 @@
# chmod 755 numbers.h
**Condition 1**: 当输入不包含命令行参数,你将得到下面的输出。
**情形一**: 当输入不包含命令行参数,你将得到下面的输出。
#### Sample Output ####
#### 样例输出 ####
./numbers.sh
@@ -136,7 +135,7 @@
I will find reverse of given number
For eg. ./2.sh 123, I will print 321
**Condition 2**: 正常输入
**情形二**: 正常输入
$ ./numbers.sh 10572
@@ -146,9 +145,7 @@
### 4. 你应该直接用终端而不是依靠任何shell脚本来进行实数计算。你会怎么做比如实数7.56+2.453 ###
> **Answer** :
我们需要用如下所述的特殊方式使用bc命令。将7.56+2.453作为输入通过管道进入bc中。
> **答案** : 我们需要用如下所述的特殊方式使用bc命令。将7.56+2.453作为输入通过管道进入bc中。
$ echo 7.56 + 2.453 | bc
@@ -156,13 +153,13 @@
### 5. 你需要给出圆周率的值精度为小数点后100位什么是最简单的方法。 ###
> **Answer** : 找圆周率的值最简单的方法,我们只是需要发出以下命令。
> **答案** : 找圆周率的值最简单的方法,我们只是需要发出以下命令。
# pi 100
3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067
很明显!安装我们必须有包**`pi`**。只一个**apt**或**yum**命令,就能获得所需的软件包,同时用最简单方法来实现这个需求。
很明显!安装我们必须有包**`pi`**。只一个**apt**或**yum**命令,就能获得所需的软件包,同时用最简单方法来实现这个需求。
就是这样。我会很快在Tecmint.com发表另一个有趣的文章。至此敬请关注。别忘了向我们提供您在的评论和反馈。
@@ -170,7 +167,7 @@
via: http://www.tecmint.com/practical-interview-questions-on-linux-shell-scripting/
译者:[MikeCoder](https://github.com/MikeCoder) 校对:[校对者ID](https://github.com/校对者ID)
译者:[MikeCoder](https://github.com/MikeCoder) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@@ -1,6 +1,7 @@
如何在Linux中知道你的系统是否有USB 3.0 端口[快速技巧]
[小白技巧]如何在Linux中知道你的系统是否有USB 3.0 端口
================================================================================
Most of the new computers come with USB 3.0 ports these days. But **how can you know if your computer has USB 3.0 port** or not? In this quick tip, we shall see how to find if your system has USB 3 or USB 2 in Linux.
近来的大多数的新计算机都有了USB 3.0接口了。但是**你怎么知道你的计算机有没有USB 3.0接口**这篇短文中我们会告诉如何在Linux下知道你的系统上有USB 3还是USB3接口。
### 在Linux终端中检测是否有USB 3.0 端口 ###
@@ -16,7 +17,7 @@ Most of the new computers come with USB 3.0 ports these days. But **how can you
### 辨别哪个口是USB 3.0 ###
通常USB 3.0 口被标记为SS“Super Speed”的缩写。如果你的系统制造商没有标记SS或者USB 3,那么你可以检查端口的内部通常是色的。
通常USB 3.0 口被标记为SS“Super Speed”的缩写。如果你的系统制造商没有标记SS或者USB 3,那么你可以检查端口的内部通常是色的。
![find usb 3.0 port](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/06/usb3.0port.jpg)
@@ -26,6 +27,6 @@ Most of the new computers come with USB 3.0 ports these days. But **how can you
via: http://itsfoss.com/find-usb-3-port-linux/
译者:[geekpi](https://github.com/geekpi) 校对:[校对者ID](https://github.com/校对者ID)
译者:[geekpi](https://github.com/geekpi) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@@ -0,0 +1,33 @@
开源LDAP解决方案
================================================================================
LDAP轻量级目录访问协议是一个用于访问目录服务的应用协议它运行在TCP/IP堆栈的上一层采用简单的编码方法并提供了便捷的方式来连接到互联网目录特别是基于X.500的目录服务并对它们进行搜索和修改。LDAP是一个开放的、中立的并且具有工业标准的应用协议它采用客户端-服务器模式。
该协议主要针对管理应用程序和提供对目录读/写操作的浏览器应用程序。
使用LDAP服务器的主要好处在于整个组织的信息可以合并到一个中央仓库统一管理。LDAP支持安全套接协议层SSL和传输层安全协议TLS因而敏感信息可以受到保护。LDAP服务器用于多种任务包括但不限于这些服务用户认证、机器认证、用户/系统分组、资源追踪、组织演示以及应用配置存储。
为了提供对可用开源软件质量的深刻了解我们列出了5个高品质的LDAP解决方案。
现在让我们浏览手头上的5个LDAP解决方案吧。每个标题我们都提供了连接页面里面有对其功能特性的深度分析同时提供了相关资源和评论的链接。
### LDAP解决方案 ###
- [389目录服务器][1] - 企业级开源LDAP服务器
- [OpenDJ][2] - API经济的云目录服务
- [OpenLDAP][3] - 应用程序和开发工具的LDAP套件
- [freeIPA][4] - 身份/策略管理
- [ApacheDS][5] - 编写的LDAP和Kerberos服务器
--------------------------------------------------------------------------------
via: http://www.linuxlinks.com/article/20140607022012848/LDAPSolutions.html
译者:[GOLinux](https://github.com/GOLinux) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://port389.org/
[2]:http://opendj.forgerock.org/
[3]:http://www.openldap.org/
[4]:http://www.freeipa.org/
[5]:http://directory.apache.org/apacheds/

View File

@@ -0,0 +1,40 @@
嵌入式多媒体中心 OpenELEC 4.0.4
================================================================================
![] (http://i1-news.softpedia-static.com/images/news2/OpenELEC-4-0-4-Is-Out-and-Based-on-XBMC-13-1-quot-Gotham-quot-445802-2.jpg)
**OpenELEC 4.0.4已经发布它是一个专门设计运行XBMC的嵌入式系统一个开放源代码的娱乐媒体中心。它构建 XBMC 13.1 基础之上。**
OpenELEC 开发商非常密切地跟着 XBMC 的产品开发周期,目前已经发布了他们的最新的 4.0.4 的版本。它基于 XBMC 13.1 "Gotham",并且开发者们做了一些自己的改动。
“此版本包括一些bug修正、安全修复和来自于 OpenELEC 4.0.3 的改进。除了通常的错误修正和软件包更新,我们已经使用最新的补丁文件升级 XBMC 至最新的 XBMC 13.1 (final)。这个版本包含了在 XBMC 13.0 发布之后的很多已知问题的修复(其中有些我们已包括 OpenELEC 4.0.0中)。”
“我们在popcornmix的帮助下发现并修复了一些和树莓派相关内核问题、 固件和 XBMC 代码中的问题,非常感谢他的帮助 OpenELEC 4.0.4 现在是一个稳定版本包含了OpenELEC 4.0系列的bug修正和安全漏洞修复 。”开发商的官方网站上如是写道。
OpenELEC 4.0.4 界面更加美观而且更新和修复了许多问题。例如e2fsprogs 已更新到版本 1.42.10、 bluez 已更新到版本 5.19、 fontconfig 版本更新到 2.11.1,也默认集成了 systemd 213 和修复了一些安全问题的gnutls 3.2.12,而且使用了一个新的 Linux 内核3.14.5。
此外DVB T2 已经添加了对 GeniaTech T220 / August T210 设备的支持由于其驱动程序尚不完善而允许禁用WOL、也添加了尚不完善的"e1000e"驱动,树莓派的支持补丁已更新。
如果你已经有一个旧版的 OpenELEC你可能需要考虑升级的系统而不是从头开始安装它。如果想顺利地完成安装至少应该是 3.2 版本。
如果您尝试从旧版本操作系统的更新,您可能发现一些插件和插件都不再工作。所以最明智的办法就是,在尝试升级之前备份你的系统。
以 XBMC 13.1 "Gotham" 版本为基,配有 Android 硬件解码、 许多树莓派和 Android 速度方面的改善,立体 3D 渲染,更好的触摸屏支持,改进了 UPnP 功能,很多的音频引擎的改进,更好地字幕搜索、 对开发者增加的如 Python 和 JSON RPC API等 FFmpeg 1.2,还有更多。
查阅官方 [公告] [1] 的更改和改进的完整列表。
### 下载最新的 OpenELEC 4.0.4 ###
- [OpenELEC 4.0.4 (tar.bz2) 64-bit][2][binary] [145 MB]
- [OpenELEC 4.0.4 (tar.bz2) 32-bit][3][binary] [142 MB]
--------------------------------------------------------------------------------
via: http://news.softpedia.com/news/OpenELEC-4-0-4-Is-Out-and-Based-on-XBMC-13-1-quot-Gotham-quot-445802.shtml
译者:[owen-carter](https://github.com/owen-carter) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://openelec.tv/news/22-releases/129-openelec-4-0-4-released
[2]:http://openelec.tv/get-openelec/download/viewdownload/8/339
[3]:http://openelec.tv/get-openelec/download/viewdownload/8/338

View File

@@ -0,0 +1,118 @@
怎样使用linux的iptables工具进行网络共享
================================================================================
在本教程中我将解释多个设备怎样在linux下共享一个网络连接。目前无线路由器已经成为主流的消费品从而解决了本文这一问题。这里假设你家中并没有一台无线路由器不过你却有一台已经有"猫"和有线网卡的的linux主机。"猫"是以动态公有IP地址的模式连接到互联网主机的网卡连接到你的交换机或者集线器。其他设备如linux或者windows的PC或者笔记本以网桥的形式连接并且没有连接到互联网。为了共享linux主机的互联网你必须把主机转换成网关以便它能实现从其他设备中传送和接受信息。
### 术语字汇 ###
- **私有IP地址**路由不可达地址是一个被用于本地局域网的IP地址在互联网中不可见
- **公用IP地址**路由可达地址是一个在互联网中可见的IP地址。
- **IP伪装**是一项允许一系列机器通过MASQ网关连接互联网的功能。这些MASQ网关之外的机器在互联网中是不可见的。MASQ之后的机器中任何流入或流出的数据必须经过MASQ网关。
- **网络地址转换**NAT是一项通过IP伪装技术可以使私有IP地址访问互联网的功能。
### Hardware Requirements ###
硬件要求
- 一台有两个接口一个公有IP地址和其他的私有IP地址的linux主机这个主机将被用作网关。
- 一台或者多台拥有私有IP地址的linux/windows系统的PC或者笔记本。
- 交换机/集线器(可选)。
### 教程步骤 ###
接下来的过程需要在linux主机用于共享的网关上完成。
#### 1、激活IP转发 ####
为了设置网络共享你需要在linux主机上更改一个内核参数来使能IP转发功能。内核启动参数设定在/etc/sysctl.conf文件中。
打开这个文件,定位到含有"# net.ipv4.ip_forward = 0"的这一行,移除#号即取消注释然后将其值设置为1改好之后应该和下面的一致。
net.ipv4.ip_forward = 1
你还要使激活IP转发功能生效通过执行下面的命令
$ sudo sysctl -w net.ipv4.ip_forward=1
$ sudo sysctl -p
#### 2、NAT配置 ####
另一个网络共享的重要部分是NAT配置这可以通过使用iptables的命令iptables包含四个防火墙的规则表
- FILTER (默认表格)
- NAT
- MANGLE
- RAW
这个教程中我们将仅使用两个表格FILTER和NAT表格。
首先,刷新所有活跃的防火墙的规则。
$ sudo iptables -X
$ sudo iptables -F
$ sudo iptables -t nat -X
$ sudo iptables -t nat -F
在输入表格中你需要设置转发链FORWARD成可接受的ACCEPT目的地因此所有通过主机的数据包将会被正确的处理。
$ sudo iptables -I INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
$ sudo iptables -I FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
在NAT表中你必须为你的WAN口启用IP伪装功能我们假设WAN口协议是ppp0。为了在ppp0接口上使能IP伪造技术我们使用以下的命令
$ sudo iptables -t nat -I POSTROUTING -o ppp0 -j MASQUERADE
#### 3、配置私有IP地址 ####
在linux主机上的所有配置完成后你需要配置其他设备linux/windows的PC或笔记本的DNS服务器以及默认网关让它们的数据流可以指向linux主机。注意你不需要在linux主机上设置一个DNS服务器从其他设备发出的每一个DNS请求都会通过上游的ISP自动转发到linux主机上。
如果你的其他设备上用的系统是linux你可以通过以下命令来更改他们的默认网关和DNS服务器。假设你的网段是192.168.1.0/24的私有IP地址网段linux主机上绑定的IP地址是192.168.1.1。
$ sudo ip route del default
$ sudo ip route add default via 192.168.1.1
$ sudo sh -c "echo 'nameserver 192.168.1.1' > /etc/resolv.conf"
如果还有其他的linux设备那么你可以重复以上命令。
如果你有windows设备你可以通过控制面板的网络连接属性来更改默认网关和DNS服务器。
#### 4、完整的脚本 ####
这是一个在linux主机上设置网络连接共享的一个完整的脚本。WAN口ppp0协议需要根据你具体的网络接口协议来替换。
$ sudo vi /usr/local/bin/ishare
----------
#!/bin/bash
## Internet connection shating script
sysctl -w net.ipv4.ip_forward=1
sysctl -p
iptables -X
iptables -F
iptables -t nat -X
iptables -t nat -F
iptables -I INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -I FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -t nat -I POSTROUTING -o ppp0 -j MASQUERADE
保存以上的脚本到/usr/local/bin/ishare然后添加可执行权限通过执行下面的命令。
$ sudo chmox +x /usr/local/bin/ishare
如果你需要这个脚本开机启动,你需要在/etc/rc.local文件中执行这个脚本并在该文件中的"exit 0"之前添加下面一行。
/usr/local/bin/ishare
--------------------------------------------------------------------------------
via: http://xmodulo.com/2014/06/internet-connection-sharing-iptables-linux.html
译者:[yujianxuechuan](https://github.com/yujianxuechuan) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@@ -0,0 +1,32 @@
Linux防火墙发行版 IPFire 发布新版本
================================================================================
![](http://i1-news.softpedia-static.com/images/news2/IPFire-2-13-Core-78-Linux-Firewall-OS-Receives-OpenSSL-Fixes-445876-2.jpg)
**ipfire.org团队的 Michael Tremer 发布了 IPFire 2.13 Core 78 的最新稳定版本, 这是一个基于Linux的防火墙发行版本次发布已经包含了最新的OpenSSL补丁。**
IPFire 是一个模块化 Linux 发行版,它可以用为防火墙、 代理服务器或 VPN 网关。IPFire 开发人员的主要关注点之一就是安全,每一步修改都确保用户的安全。
开发者在其博客上说“在负责提供SSL/TLS协议和其他加密功能的openssl库中发现了几个安全漏洞。详细的细节可以在原始的 openssl 安全建议里面找到”
他们解释说所有计划为Core Update 78准备的更新被延迟提交到core Update 79。这意味着用户为其需要等更长时间。
OpenSSL 的开发人员发现了另一轮的 OpenSSL 的问题但问题很快被修复最新Linux发行版已包含此次修复。
开发者推荐 IPFire 的所有用户升级。更多的细节可以在[这里][1]发现.
下载IPFire 2.13 Core 78:
- [IPFire 2.15 Core 78 (ISO)][2][iso] [122 MB]
- [IPFire 3.0 Alpha 1 (ISO)][3][iso] [76 MB]
--------------------------------------------------------------------------------
via: http://news.softpedia.com/news/IPFire-2-13-Core-78-Linux-Firewall-OS-Receives-OpenSSL-Fixes-445876.shtml
译者:[2q1w2007](https://github.com/2q1w2007) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://www.ipfire.org/news/ipfire-2-15-core-update-78-released
[2]:http://downloads.ipfire.org/releases/ipfire-2.x/2.15-core78/ipfire-2.15.i586-full-core78.iso
[3]:http://www.rowie.at/ipfire/iso/ipfire-3.0-alpha1.i686.iso

View File

@@ -0,0 +1,27 @@
开源SDN项目OpenDaylight添加新成员
================================================================================
[Linux基金会][1]的[OpenDaylight][2] 项目旨在促进开源的[软件定义网络][3] (SDN) 发展。 [Extreme Networks][4] (EXTR), [Flextronics][5]和[Oracle][6] (ORCL) 现在也加入了该项目。
三个公司6月5日正式加入OpenDaylight其成员数达到到39。该项目还有195位协作开发人员以建立一个开放源码的SDN平台。
新成员带来了在数据中心和云计算的设计和基础设施的专长。Extreme Networks是专业提供高性能网络解决方案的企业而Flextronics提供系统设计、生产和物流。Oracle有广泛的业务同时专注于各种领域的云计算和数据中心。
OpenDaylight 领导人很高兴该项目的会员增多并进一步走向创造一个以开放标准为中心和避免垄断的SDN生态系统。OpenDaylight执行主任Jacques Neela说"更多的声音意味着更多的讨论和更好的代码我们很高兴看到各种多样性的新成员加入来加宽探讨SDN和NFV的领域"。
OpenDaylight的第一款正式软件是在2013年4月发布的该软件在同年二月首次以Hydrogen的名字出现。
--------------------------------------------------------------------------------
via: http://thevarguy.com/open-source-application-software-companies/open-source-sdn-project-opendaylight-adds-new-members
译者:[2q1w2007](https://github.com/2q1w2007) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://linuxfoundation.org/
[2]:http://www.opendaylight.org/
[3]:http://thevarguy.com/sdn
[4]:http://www.extremenetworks.com/
[5]:http://www.flextronics.com/
[6]:http://oracle.com/
[7]:http://thevarguy.com/open-source-application-software-companies/020514/embargo-until-feb-4-1130-am-est-opendaylight-releases-fir

View File

@@ -0,0 +1,68 @@
Linux 平台七大桌面环境通览
================================================================================
通常的 Linux 发行版都使用 KDE 或者 GNOME 作为默认的桌面环境。它们都给用户提供了一个原始的并且有吸引力的桌面,并且内置了各式各样的多媒体软件、系统程序、游戏、实用程序、网页开发工具、编程工具等等。这两个桌面致力于提供给用户一个拥有类似于 Windows 操作系统体验的尖端计算环境,而不是如何更少的占用系统资源。
如果你正在使用 Ubuntu (或者其他Linux发行版) 并且厌倦了始终使用 Unity 桌面,那么你应该看看这些可以替代 Unity 的选择。我收集了 7 种桌面环境。它们都很棒。在你读完这篇文章之后,请试着使用它们吧。
### [Mate][1] ###
![](http://i0.wp.com/pulpybucket.com/wp-content/uploads/2014/06/mate.png)
MATE 是 GNOME2 的一个分支。它提供了一个自然且吸引人的桌面环境。它是 Linux 和其它类 Unix 工作环境中的传统工作框架的代表。MATE 在保留传统的桌面体验的同时正在不断进步使用新的技术。
在 Ubuntu 14.04 中,可以直接从 Ubuntu 软件中心获取 MATE 桌面。
### [KDE][2] ###
![](http://i2.wp.com/pulpybucket.com/wp-content/uploads/2014/06/Kubuntu-9.04-DesktopEffects.png)
KDE 是另一个类似于 GNOME 一样的重量级桌面环境。它在本文章所提及的7种桌面环境中被认为是最华丽最重量级的一个。它同样是一个类似于 Windows 的桌面,在这一点上没有什么特殊的变化。不过 KDE 非常有特点,但是随之而来的是可以通过大量的设置来提升你的桌面体验。同样的,有很多关于 KDE 的话题,所以你可以很舒服的使用 KDE并让它以你希望的方式工作。
### [Cinnamon][3] ###
![](http://i1.wp.com/pulpybucket.com/wp-content/uploads/2014/06/WD9O-C08B-ESP5.jpg)
Cinnamon 是一个基于 Gtk+ 的环境。它最初作为 GNOME Shell 的一个用户界面分支,由 Linux Mint 为其创建的。 Cinnamon 的核心设计目标是让桌面终端和触屏设备都能完美操作。无论是使用鼠标,还是使用触摸屏都可以获得同样便捷的操作。不像 KDE Plasma 工作空间,只有一种图形用户体验。当前版本—— Cinnamon 2.0 于2013年10月10日发布。
### [Unity][4] ###
![](http://i1.wp.com/pulpybucket.com/wp-content/uploads/2014/06/Ubuntu_13.10_Desktop.png)
Unity 是 GNOME 桌面环境的一个界面,由 Canonical 公司创建,用于 Ubuntu 系统中。Unity 最初现身于 Ubuntu 10.10 的上网本版本中。它起初打算充分利用上网本的屏幕空间例如一个竖直的应用启动器和一个节省空间的多功能顶部菜单栏。Unity 不像 GNOME、KDE、 Xfce 或者 LXDE 是许多软件的合集,它是为了可用性而开发的。
### [GNOME Shell][5] ###
![](http://i0.wp.com/pulpybucket.com/wp-content/uploads/2014/06/GNOME_Shell_3.6.png)
GNOME 提供了桌面核心接口例如交换窗口启动应用程序以及显示提示。它利用先进的图形硬件来实现吸引人的、创新的界面思想提供了愉悦简单的用户体验。GNOME Shell 定义了 GNOME 3 的客户体验。
作为 GNOME 的一个重要组成部分, GNOME Shell 的稳定版本首次发布于2011年3月3日。
### [Xfce][6] ###
![](http://i0.wp.com/pulpybucket.com/wp-content/uploads/2014/06/New-Picture1.jpg)
Xfce 是一个轻量级的桌面环境,围绕 GTK 框架实现。它看起来很像 Gnome 2 和 MATE然而 Xfce 是它们的轻量级替代品。相较于 KDE 和 GNOME 3 而言Xfce 非常轻量级,所以它对于运行轻量级的工具或者那些希望实现最大执行效率的框架使用者来说是理想的环境。它还不是可以获得的最轻量级的选择 - 请继续往下看 - 然而Xfce 的确完成了执行效率和功能的平衡。
### [LXDE][7] ###
![](http://i2.wp.com/pulpybucket.com/wp-content/uploads/2014/06/LXDE_desktop_full.png)
LXDE 显然是桌面环境中最轻量级的选择,至少在传统的桌面标准中是这样。这个基于 GTK 的桌面环境使用了很多轻量级的选择替代了默认的应用(例如 Abiword, Gnumeric, 而不是 LibreOffice。它没有提供炫目的视觉震撼 总体感觉也不是特别的棒没有高级的设置。但是LXDE 仍然提供了漂亮的桌面和完整的功能。当你需要快速简洁时,它就是你的选择。
--------------------------------------------------------------------------------
via: http://pulpybucket.com/top-7-desktop-environment-linux/
译者:[wwhio](https://github.com/wwhio) 校对:[Caroline](https://github.com/carolinewuyan)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://mate-desktop.org/
[2]:http://kde.org/
[3]:http://cinnamon.linuxmint.com/
[4]:https://unity.ubuntu.com/
[5]:http://www.gnome.org/
[6]:http://xfce.org/
[7]:http://lxde.org/

View File

@@ -0,0 +1,84 @@
Linux 与 BSD 有什么不同?
================================================================================
![](http://cdn.howtogeek.com/wp-content/uploads/2014/06/freebsd-devil-mascot-and-ubuntu-linux.jpg)
Linux 和 BSD 都是免费的开源的类Unix系统。他们甚至使用很多相同的软件。他们看上去简直就像是一个操作系统那么它们有什么不同吗
其实,两者之间的不同,远远超出了我们下面提到的这些,尤其是在构建完整操作系统和许可授权的哲学思想上,更是相差甚远。通过这篇短文将可以简单的了解它们之间的不同。
### 基础 ###
[许多人所称的“Linux”实际上不是 Linux][1]。Linux 从技术上说只是 Linux 内核,典型的 Linux 发行版则包括了 Linux 内核和许多软件。这是[为什么 Linux 有时被称为 GNU/Linux][2]。事实上,许多在 Linux 上使用的软件同样也在 BSD 上使用。
Linux 和 BSD 都是类 UNIX 操作系统。我们可以通过阅读[类 UNIX 操作系统历史][3]发现 Linux 和 BSD 有不同的谱系。Linux 是由 Linus Torvalds 在芬兰上大学的时候开发的。BSD 则代表“Berkeley Software Distribution伯克利软件套件”其源于对加州大学伯克利分校所开发的贝尔实验室UNIX的一系列修改它最终发展成一个完整的操作系统现在有多个不同的BSD分支。
![](http://cdn.howtogeek.com/wp-content/uploads/2014/06/freebsd-boot-screen.png)
### 内核 vs. 完整操作系统 ###
严格的说Linux 是只是一个内核。制作 Linux 发行版所要做的工作就是,汇集那些创建一个完整 Linux 操作系统所需的所有软件,将它组合成一个像 Ubuntu、Mint、Debian、RedHat 或者是 Arch 这样的 [Linux 发行版][4]。有许多不同的 Linux 发行版。
与此相反的是BSD 这个名字则代表其内核和操作系统。例如FreeBSD 提供了 FreeBSD 内核和 FreeBSD 操作系统。它是作为一个单一的项目维护的。换句话说,如果你想要安装 FreeBSD就只有一个 FreeBSD 可供你安装。如果你想要安装 Linux你首先需要在许多 Linux 发行版之间选择。
BSD 包括一个名为 Ports 的系统它提供了一种安装软件包的方式。Ports 系统包含了软件包的源代码,所以您的计算机如果想安装软件的话,则需要先编译他们。(如果您曾经使用过以前流行的 Gentoo有点类似那样。不过软件包也可以是预安装的二进制形式以便你不需要花时间和系统资源编译他们就能运行。
![](http://cdn.howtogeek.com/wp-content/uploads/2014/06/ubuntu-14.04-unity-desktop.png)
### 许可证 ###
许可证是典型的差异虽然它不会对大多数人产生影响。Linux 使用 GNU 通用公共许可证,即 GPL。如果你修改了 Linux 内核,并将其分发,你就必须放出您的修改的源代码。
BSD 使用 BSD 许可证。如果你修改了 BSD 内核或发行版,并且发布它,你根本不需要必须发布其源代码。你可以自由地对你的 BSD 代码做任何你想做的事情,你没有义务发布的你修改的源代码,当然你想发布也行。
两者都是[开放源码][5]的但是以不同的方式。人们有时会陷入关于哪种许可证是“更自由”的辩论。GPL 可以帮助用户以确保他们可以拥有 GPL 软件的源代码并限制开发人员迫使他们开放代码。BSD 许可证并不能确保用户可以拥有源代码,而是给开发人员选择是否公布代码的权利,即使他们想要把它变成一个闭源项目。
### BSD分支 ###
以下是通常认可的三个“主流” BSD 操作系统:
- [FreeBSD][6]: FreeBSD 是最受欢迎的 BSD针对高性能和易用性。它支持英特尔和 AMD 的32位和64位处理器。
- [NetBSD][7]: NetBSD 被设计运行在几乎任何架构上,支持更多的体系结构。在他们的主页上的格言是"理所当然,我们运行在 NetBSD 上"。
- [OpenBSD][8]:OpenBSD 为最大化的安全性设计的 —— 这不仅仅它宣称的功能,在实践中也确实如此。它是为银行和其他重要机构的关键系统设计的。
还有两个其他的重要 BSD 操作系统:
- [DragonFly BSD][9]: DragonFly BSD 的设计目标是提供一个运行在多线程环境中的操作系统 —— 例如,计算机集群。
- [Darwin / Mac OS X][10]: Mac OS X 实际上基于 Darwin 操作系统,而 Darwin 系统基于 BSD。它与其他的 BSD 有点不同,虽然底层内核和其他的软件是开源代码(BSD 代码),但操作系统的大部分是闭源的 Mac OS 代码)。苹果在 BSD 基础上开发了 Mac OS X 和 iOS这样他们就不必写操作系统底层就像 [谷歌在 Linux 基础上开发 android 系统][11]一样。
![](http://cdn.howtogeek.com/wp-content/uploads/2014/06/mac-os-x-is-built-on-darwin-bsd.png)
### 你为什么会选择 BSD 而不是 Linux###
Linux 显然比 FreeBSD 更受欢迎。例如Linux 往往会比 FreeBSD 更早提供新硬件的支持。BSD 有一个兼容包可用,使之能像大多数的其他软件一样原生的执行 Linux 二进制程序。
如果您使用过 Linux FreeBSD 不会让你感觉到太大的不同。如果把 FreeBSD 作为桌面操作系统,你也可以使用相同的 GNOMEKDE 或 Xfce [桌面环境][12]你也可以在BSD上使用 Linux 上的大多数的其他软件。有一点需要注意FreeBSD 不会自动安装的图形化桌面,所以你要花相对于 Linux 更多的心思来照顾你的BSD。BSD 更守旧一些。
FreeBSD 的可靠性和稳定性也许更适合作为服务器的操作系统。而厂商也会选择 BSD 而不是 Linux 作为其操作系统,因为这样他们就不必放出他们修改的代码。
如果你是一个 PC 桌面用户,你真的不需要太过在意 BSD。你可能会喜欢 Linux因为它具有更先进的硬件支持更容易安装具有现代操作系统的特点。如果你关注服务器或嵌入式的设备你可能会更喜欢 FreeBSD。
我们可能会听到一些人说他们在桌面电脑上使用 FreeBSD你当然也可能是其中之一但像 Ubuntu 或 Mint 一样的开源操作系统对于多数用户来说更体验良好和更先进些。
图片来源: [atzerok on Flickr][13]
--------------------------------------------------------------------------------
via: http://www.howtogeek.com/190773/htg-explains-whats-the-difference-between-linux-and-bsd/
译者:[MikeCoder](https://github.com/MikeCoder) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://www.howtogeek.com/177213/linux-isnt-just-linux-8-pieces-of-software-that-make-up-linux-systems/
[2]:http://www.howtogeek.com/139287/the-great-debate-is-it-linux-or-gnulinux/
[3]:http://www.howtogeek.com/182649/htg-explains-what-is-unix/
[4]:http://www.howtogeek.com/132624/htg-explains-whats-a-linux-distro-and-how-are-they-different/
[5]:http://www.howtogeek.com/129967/htg-explains-what-is-open-source-software-and-why-you-should-care/
[6]:http://www.freebsd.org/
[7]:http://www.netbsd.org/
[8]:http://www.openbsd.org/
[9]:http://www.dragonflybsd.org/
[10]:http://opensource.apple.com/
[11]:http://www.howtogeek.com/189036/android-is-based-on-linux-but-what-does-that-mean/
[12]:http://www.howtogeek.com/163154/linux-users-have-a-choice-8-linux-desktop-environments/
[13]:http://www.flickr.com/photos/atzerok/5378691454

View File

@@ -0,0 +1,87 @@
[小白技巧]如何在Linux中阻止其它用户访问你的家目录
================================================================================
![](http://cdn.howtogeek.com/wp-content/uploads/2014/05/00_lead_image_home_directory.png)
如果你和其他人共享Ubuntu机器那么你可能要设置多个用户希望其他用户登录到他们自己的帐号并只能访问他们自己的家目录。但是默认情况下任何一个用户都可以访问任何一个家目录。
当你在Ubuntu中添加一个新用户时adduser工具为新的帐号添加了一个新的家目录。默认情况下该目录位于根下面的/home/目录下,并以该帐号的用户名命名。例如,/home/lori。Ubuntu中创建的用户家目录具有其它人可读/执行权限,这就给系统中所有其他用户可以读另外外一些用户的家目录中的内容的权利。具体请阅读我们的[文件权限在Linux中是如何工作的][1]一文。
**注**:当我们在文中提到输入什么时,输入的文字内容是在引号中的,不要输入引号,除非我们另外指定。
你可以很容易地修改你的家目录的权限来保护你的私人文件。要检查你家目录的权限输入Ctrl + Alt + T打开终端窗口并在提示符后输入以下命令然后按回车。使用你自己的用户名来替换下面的“用户名”。
ls -ld /home/lori
**注**该命令仅包含小写的L而不是数字1。LCTT译注这是给完全小白的提示绝大部分人可以无视这个备注了
在该行的开头,列出了该文件的权限。就像我们在[文章][1]中关于Linux权限部分讲的那样。
> r表示“读”w表示“写”而x表示“执行”。目录权限以“d”开头而不是“-”。你也会注意到权限值占了10个位置。你可以忽略第一个后面是3个一组分为3组。第一组是属主owner权限第二组是属组group权限最后一组是其它人other或world权限。
因此,下面列出的家目录的属主具有读、写和执行权限,而属组和其它人具有读和执行权限。
![](http://cdn.howtogeek.com/wp-content/uploads/2014/05/01_permissions_for_home_folder.png)
要修改这些权限,在提示符下输入以下行并回车
sudo chmod 0750 /home/lori
当提示你输入密码时,请输入并回车。
**注**chmod命令使用八进制数作为一种指定权限的方式。我们讲Linux权限的[文章][1]中使用了一种不同的方法,它需要几个步骤,但是可能更易于理解。使用八进制数来指定权限,是一种更快的方法。不管使用什么方法,只要你用着舒服就好。要学习使用八进制数设置权限,请阅读此[文章][2]。
![](http://cdn.howtogeek.com/wp-content/uploads/2014/05/02_changing_permissions_for_home_folder.png)
按上箭头两次再次调用“ls -ld /home/用户名”命令来检查权限。注意,其它人权限现在都是破折号(-),这就意味着其它人将无法读、写或执行你家目录中的任何东西了。
然而和你同组的用户可以读和执行你家目录中的文件和文件夹。如果你不想除你之外的任何人访问你的家目录可以在chmod命令中输入“0700”。
**注**要获取关于Linux中用户和组管理的更多信息请查看我们的[文章][3]
要关闭终端窗口在提示符下输入“exit”并回车。
![](http://cdn.howtogeek.com/wp-content/uploads/2014/05/03_new_permissions.png)
现在,当其系统中的其他用户试着要访问你的家目录时,下面的对话框就会弹出来了。
![](http://cdn.howtogeek.com/wp-content/uploads/2014/05/04_location_could_not_be_displayed.png)
甚至你也可以在创建新用户时让Ubuntu使用指定的权限。要完成此项任务你需要编辑adduser配置文件。要编辑该文件在提示符下输入以下命令并回车。
gksudo gedit /etc/adduser.conf
我们使用gedit来编辑该文件你也可以使用你想要的其它文本编辑器。
gksudo命令看似和sudo命令一样但是它是用来以root身份运行图形化程序的而sudo命令用来以root身份运行命令行程序。
![](http://cdn.howtogeek.com/wp-content/uploads/2014/05/05_opening_gedit_as_root.png)
在弹出对话框中的密码编辑框内输入你的密码并按回车或点击确定OK
![](http://cdn.howtogeek.com/wp-content/uploads/2014/05/06_entering_password.png)
在adduser.conf文件中向下滚动到DIR_MODE命令处这里的默认值是“0755”。修改该值来反映你想要授权给各种用户类型属主属组其它人的不同权限rwx如我们先前讨论过的“0750”或“0700”。点击保存Save
![](http://cdn.howtogeek.com/wp-content/uploads/2014/05/07_changing_dir_mode.png)
从gedit的文件File菜单选择退出Quit来关闭gedit你也可以点击窗口左上角的X按钮来关闭它。
![](http://cdn.howtogeek.com/wp-content/uploads/2014/05/08_closing_gedit.png)
点击窗口左上角的X来关闭终端窗口。
![](http://cdn.howtogeek.com/wp-content/uploads/2014/05/09_closing_terminal_window_with_x.png)
现在,你家目录中文件会保持私有。切记,如果有其他用户和你处于同一组中,你也许要为你的家目录权限剔除组和大众权限。
--------------------------------------------------------------------------------
via: http://www.howtogeek.com/190084/how-to-prevent-other-users-from-accessing-your-home-directory-in-ubuntu-14.04/
译者:[GOLinux](https://github.com/GOLinux) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://www.howtogeek.com/67987/htg-explains-how-do-linux-file-permissions-work/
[2]:http://www.linux.org/threads/file-permissions-chmod.4094/
[3]:http://www.howtogeek.com/howto/36845/the-beginners-guide-to-managing-users-and-groups-in-linux/

View File

@@ -0,0 +1,62 @@
命令行星期二 —— 第一篇
================================================================================
极客们,我们又回来了!真抱歉让你们久等了,但我保证,我们又回归正轨了。我们满怀热情与大家相约,让我们激情燃烧,寻找刺激吧:)
现在整个的想法已经在之前的开场白中告诉你们了所以现在让我们来干点正事吧。就像肖茨先生书里讲得那样我们需要来了解一下shell是个什么东西终端模拟器又是个什么东西因为我们要在这里头干活。
肖茨在他的书中写道shell实际上是当我们谈论命令行时所谈论的东西。shell基本上一个程序它将你敲击键盘的动作传递给计算机它也是某种形式的翻译器将你所讲的东西翻译给计算机听。在这世界上活着的shell真是五花八门但是活得最好的要数**bash**了它在GNU/Linux中随处可见。我们也叫它Bourne Again Shell这是一个精巧的双关语因为自从Bourne先生创造了它的祖先**sh**后Brian Fox又把它重写成为一个自由的sh替代品。啊哈GUN人和他们的幽默真的很精明。:)
![](http://paste.opensuse.org/images/54535272.jpg)
接下来我所需要是一个让我们能和shell交互的东西它就是终端模拟器。每个Linux发行版都自带了一个至于长什么样就得看你使用的桌面环境了可能是KDE的**Konsole**也可能是Gnome的**Gnome terminal**等等。肖茨先生说了,你可以挖掘出你所偏爱的一个,但是大部分时间我还是用桌面环境给我提供的那个吧。
现在来发动你的终端。打开后你会见到一行字这行字告诉你用户名和机器的主机名它叫作shell提示符。它告诉你它准备好了你可以输入命令了。让我们来随便玩玩随便输入点什么东西进去然后敲回车看看。
呵呵,还记开篇我们讲过,我们需要像学诗歌一样来学习命令吗?记得就好,随意乱来可干不了啥事。
现在按那个上箭头你会发现命令又回来了。这是啥魔法你键盘上的上箭头用来取出历史命令。终端会保存总计500个你输入过的命令所以别一次又一次地重复敲它们了你可以用上/下箭头来查找它们。左右箭头用来在指定行中移动光标,这样你就可以在文本中编辑或者插入了。另外注意,想用**ctrl+v**来粘贴文本是不行的。你可以在某个地方将它设置成快捷键但是它常常不是那么回事。检查你的模拟器的快捷键在Konsole中它位于设置 > 配置快捷键)
现在,为了我们不再被‘命令找不到’抽一巴掌,让我们试试一些简单的。敲个**date**来试试。(是的,我不知道有这么个命令,这真着实让我兴奋了一把):)
![](http://paste.opensuse.org/images/7123365.png)
你又来了。当你能打开终端并输入date命令来查看日期时为什么在时钟中看看内建日历会让你不胜其烦 :) 只是开个玩笑。就像肖茨书里写的那样它确实是个简单的命令更有用也更复杂的命令会在以后介绍。跟date相关的命令是cal - 它会显示当前月的日历。
你也可以试试**df**,它会列出你驱动器上的空闲空间。
![](http://paste.opensuse.org/images/44662534.png)
或者试试**free**来显示空闲内存:
![](http://paste.opensuse.org/images/44548116.png)
如果你已经跟上了敲击键盘的节奏,你可以输入**exit**命令来关闭终端模拟器了而不是去点击那个x了。
嗯,本周我们就到此为止吧,免得有太多的要学的东西来占据你紧巴巴的日程了。下面来个小结(你可以把结论写下来,做个备份吧),在这一篇中,我们学习了:
- 什么是shell
- 我们需要用什么来和shell交流终端模拟器
- 使用光标按钮来驾驭终端命令以及退出终端
四个简单的命令:
- **date** 显示当前日期
- **cal** 显示当前月份的日历
- **df** shows the amount of free space on your hard drives
- **free** amount of free memory
### 下周二我们将会做什么呢? ###
我们会学习在文件系统中导航bin、etc等等这所有的文件夹都是些什么东西它们用来干什么怎样通过终端来浏览它们。到那时……
### 你就有得乐了! ###
![](http://paste.opensuse.org/images/40949666.jpg)
--------------------------------------------------------------------------------
via: https://news.opensuse.org/2014/06/10/command-line-tuesdays-part-one/
译者:[GOLinux](https://github.com/GOLinux) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@@ -0,0 +1,25 @@
Ubuntu 14.04中Dpkg的漏洞已被修复
================================================================================
![](http://i1-news.softpedia-static.com/images/news2/Dpkg-Vulnerabilities-Closed-in-Ubuntu-14-04-446282-2.jpg)
**Canonical宣布存在于Ubuntu 14.04 LTSUbuntu 13.10Ubuntu 12.10Ubuntu 12.04 LTS以及Ubuntu 10.04 LTS操作系统中的dpkg漏洞已经被修复。**
Canonical公司刚刚放出dpkg包的一个更新修复了这个用于所有Ubuntu版本的重要软件中的一个问题。
“我们发现这个问题出现在dpkg在解压源码包的时候它会使dpkg不能正确地处理某些补丁。如果一位用户或一个自动化系统被欺骗而解压了特别修改过的源码包远程攻击者就能修改目标解压路径之外的文件导致拒绝服务攻击或潜在的获取系统权限的风险。”安全通知中这样写道。
想了解这个问题的更多细节描述你可以查看Canonical的[安全通知][1]。Canonical建议用户尽快升级自己的系统。
如果你将各个发行版系统的libdpkg-perl包升级到最新版本即可修复这个漏洞。要安装这个更新你只需运行更新管理器/软件更新器即可。
一般来说一个普通的系统更新就可以完成所有必需的改动用户不必重启PC或笔记本来应用这个补丁。这个更新同样可以在终端中实现只需使用 apt-get dist-upgrade 命令。
--------------------------------------------------------------------------------
via: http://news.softpedia.com/news/Dpkg-Vulnerabilities-Closed-in-Ubuntu-14-04-446282.shtml
译者:[alim0x](https://github.com/alim0x) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://www.ubuntu.com/usn/usn-2242-1/

View File

@@ -0,0 +1,45 @@
Numix图标主题张冠李戴Fedora 20劲爆酷爽
================================================================================
[Numix主题][1]现在已经风行了有一段时间了,我想我们大多数人都知道它。在上一篇稿子中,我们已经讨论了[在Manjaro Linux上安装Numix主题和其它社区分支][2]。
今天我们打算在Fedora 20上搞点相同的花样出来。
我们首先需要安装**fedy**这个东西将帮助我们一起来干这事。如果你现在还没在你的Fedora系统上安上Fedy那么[追随我们前一教程的脚步来安装它][3]。
### 安装Numix主题 ###
打开终端把下面的命令跑一遍吧确定你已经安装了fedy了吧
sudo fedy -e numix_themes
![sudo fedy -e numix_themes](http://180016988.r.cdn77.net/wp-content/uploads/2014/06/sudo-fedy-e-numix_themes.png)
### 安装Gnome优化工具 ###
sudo yum install gnome-tweak-tool
启动Gnome优化工具
![Gnome_Tweak_tool_launch](http://180016988.r.cdn77.net/wp-content/uploads/2014/06/Gnome_Tweak_tool_launch.png)
现在修改外观设置下的所有设置把他们全都指向Numix吧就像下面的图表中那样。
![Numix_apply_done](http://180016988.r.cdn77.net/wp-content/uploads/2014/06/Numix_apply_done.png)
你已经搞定了!
![Fedora 20 Numix Enock Seth](http://180016988.r.cdn77.net/wp-content/uploads/2014/06/Fedora-20-Numix-Enock-Seth.png)
尽情爽吧!
--------------------------------------------------------------------------------
via: http://www.unixmen.com/install-numix-icon-theme-fedora-20/
译者:[GOLinux](https://github.com/GOLinux) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://numixproject.org/
[2]:http://www.unixmen.com/install-numix-icon-theme-manjaro-linux/
[3]:http://www.unixmen.com/tweak-fedora-system-using-fedy/

View File

@@ -0,0 +1,39 @@
运行Unity 8的Ubuntu镜像已可下载测试
================================================================================
![ ](http://www.omgubuntu.co.uk/wp-content/uploads/2014/05/1.jpg)
*运行在平板上的Unity 8 *
**出乎意料默认使用Unity 8和Mir的Ubuntu 14.10 桌面版,[现已可下载了][1]**
根据[上个月的讨论][2]Ubuntu 14.10镜像计划提供单独的Unity 8桌面。 提供此镜像目的是给开发者和测试人员提供一个了解从传统界面到使用两种新技术的界面的变化的手段。
此镜像并不用于普通用户测试。这个版本会并将会是极不稳定而充满bug的在十月之前还会不断有变动。所有想要一个完美的、可用的或统一的的桌面的人都会失望因为这个Unity 8桌面版镜像现在用的是平板的UI。
### 工作进行中 ###
为Mir和Unity 8建立完备的窗口管理特性的工作正在进行中。同样的在桌面显卡完全兼容Mir之前硬件支持和用户体验之间还相距甚远而且还不支持虚拟机。
桌面Unity 8界面将开始融合平板UI用户会提出界面与原来相差太大的问题对此详见Ubuntu的创始人Mark Shuttleworth最近的视频的问答模块。
这是个好消息微软在桌面Windows8上强加了平板界面和为触摸屏设计的UI。结果被骂的不轻不得不总是进行"改进"——在你吐槽后才让步,来对付投诉。
### 下载Unity 8桌面版本 ###
按计划标准的Ubuntu 14.10预定在10月23日发行稳定版其继续基于 X.OrgCompiz和Unity 7。而运行在Mir的Unity8则预计在2016年4月的下一个 LTS之前成为新的的默认桌面。
此版本还不具有可用性下方链接的镜像只是为了协助开发人员测试和完善并不能让你穿越体验到未来的Ubuntu。
- [下载下一代Ubuntu14.10 (.iso)][3]
--------------------------------------------------------------------------------
via:http://www.omgubuntu.co.uk/2014/06/unity-8-daily-build-images-go-live
译者:[2q1w2007](https://github.com/2q1w2007) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:https://blueprints.launchpad.net/ubuntu/+spec/client-1410-unity8-desktop-iso
[2]:http://www.omgubuntu.co.uk/2014/05/ubuntu-unity-8-desktop-flavour-discussed
[3]:http://cdimage.ubuntu.com/ubuntu-desktop-next/daily-live/current/

View File

@@ -0,0 +1,29 @@
手机版Ubuntu在第10,000台设备上被激活
================================================================================
![](http://i1-news.softpedia-static.com/images/news2/Ubuntu-for-Phones-Activated-on-10-000-Devices-446824-2.jpg)
**Canonical公司日前宣布手机版Ubuntu操作系统在第10,000台设备上被激活这是一个重要的里程碑。**
手机版Ubuntu项目于2013年初公布开发团队之后就一直在上面工作。他们花了一些时间才拿出一个可用的版本之后在这个基础上不断地改善。
这个10,000台里程碑之所以重要是因为公司本身并没有销售任何装载这款操作系统的设备。到目前为止只有Nexus用户手机或平板才可以安装它。这对于一个只提供下载的操作系统来说意义重大。
“Ubuntu手机/平板用户需要在他们的设备上登录Ubuntu One账号才可以下载或更新应用。这就让我们可以为用户提供许多从Android或iOS借鉴过来的功能例如在新手机上或是手机重置之后自动重新安装所有应用或是浏览商城网站很快发布时可以选择直接安装应用到设备上。”
“这个功能的另外一个效果是它可以让我们知道有多少唯一的Ubuntu One账号登陆过商城来下载应用而这个数字在本周突破了10,000的记录。”科能公司的Michal Hall[说][1]。
目前用户不需要在Nexus设备上删除Android因为可以支持双启动而且还有好几种方式。而预装Ubuntu系统的设备将在今年晚些时候出货希望赶在假日旺季之前社区成员已经有非常高的热情了。
Canonical公司还建立了一套Ubuntu SDK来帮助开发者为这个新操作系统开发应用而且已经有很多从其他平台移植的原生应用了。它们还没做好但是离正式发布还有几个月还有大量时间来准备足够数量的原生应用不仅仅是替代的网页应用。
如果你有Nexus 4手机或是Nexus 7平板你现在就可以在上面安装Ubuntu。细节上仍然还有些粗糙但是你会发现你已经熟悉的设备会变得大不一样请多花点时间然后你会喜欢它的。
--------------------------------------------------------------------------------
via: http://news.softpedia.com/news/Ubuntu-for-Phones-Activated-on-10-000-Devices-446824.shtml
译者:[zpl1025](https://github.com/zpl1025) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://developer.ubuntu.com/2014/06/10000-users-of-ubuntu-phone/

View File

@@ -0,0 +1,82 @@
14个可以提升Linux桌面体验的应用程序
==============================
转战到Ubuntu或者是别的流行的Linux发行版不仅仅是操作系统的操作方式的改变更多的是你还需要一些能支持你完成工作的好的应用。
在这篇文章中,我将分享一些我精选出来不可或缺的应用程序,并谈谈在我的日常工作中如何有效地使用它们。
### 日常使用的应用程序 ###
一般当说到Linux桌面上的应用我总是将这些应用划分为两大类频繁使用的和一些别的应用。下边我为大家介绍的是一些自己日常使用的应用。
1 **Firefox** — 有时我也会使用用其他的浏览器,但最近[火狐浏览器][1]已经成为我可以长期信赖的朋友。可靠的、 安全的、 跨平台的,火狐浏览器完全满足了我的日常冲浪需求。
除了访问书签和网页,我还依靠火狐浏览器来处理我的各种部署在局域网服务器上的工作,如 [Plex][2], [Zoneminder][3], 路由器/WEB应用防火墙, 及我的文件服务器。所有这些均可以使用火狐浏览器进行访问。
2 **Parcelite**— 如果没有一个像样的剪贴板管理器我简直没法开始工作至少对我来说你无法找到在GNOME 下的[Parcelite][4]有什么不足。使用简单易于访问而且它提供了很多的有用的选项。Parcelite选项应有尽有包括了从热键设置到空格处理方式。尽管已经有很多的剪贴板管理器但它们却很难击败 Parcelite。
3 **Bittorrent Sync** — 我已经使用过了各种开源替代方案进行文件同步,但是他们在正式发布之前还需要进行进一步开发。应该说[Bittorrent Synchas][5]从来没有让我失望过。它运行和安装都很简单和方便这多亏了新的GUI的实现而且 Bittorrent Sync 允许我快速地从一台机器到另外一台机器传输巨大的视频文件,而无需浪费时间去将大量的文件同步到“云端”。
我还发现它是与别人分享大型文件的最佳方法,在分享的同时能一直保持 IP 地址和目录的隐蔽。尽管有许多的替代品我仍然坚定地成为了Bittorrent Sync的骨灰粉丝。
4 **System Monitor** — 因为TOP实在是滚动地太快了所以我个人更喜欢一个具有选项卡式的 GUI因为它能够让我的眼睛更轻松些。使用 GNOME 的系统监视器我可以很快地发现一个失控的进程并且轻松地kill掉它而不需吹灰之力。与[TOP][7]这样的终端程序不同的是,我可以实时的以图形化的方式去查看我的 CPU、 内存和磁盘的使用情况。作为一个拥有正常视觉的人,很难找到一个比用条形图来展示我还拥有多少的空间的更好方式。当然这也同样适用于其它的实时资源使用情况的监视。
5 **PulseAudioControl** — 每一天,我总是需要在多个声音设备之间来回穿梭。有时我需要将其中一个设为默认设备,然后却可能会从火狐浏览器音频完全切换到到另一个设备。因为我想控制我的尽可能多的音频,然后我就发现 [PulseAudioControl][8]是一个无价的工具。
### 一些别的软件 ###
在本节中,我将分享我使用,但可能并不一定是每天都使用的应用程序。许多这些应用程序都是开放源代码的,有一些不是,但是它们对我个人都非常具有价值。
6 **Skype** — 无论是拨入[Jupiter Broadcasting][9] 收听每周共同主持的播客,或者只是简单联系一个业务,[Skype][10] 见证了互联网视频会议的发展史。测试完成无数的替代品后我总是会发现自己还是终回到了Skype。即使有真的很棒的开源选择像[Ekiga][11] 和 [Jitsi][12]而在最后Skype总是与大家同在 —— 切换到Skype是一件很幸运的事。
7**Kdenlive** — 我使用两个不同的视频编辑器,当我要处理一个需要大量编辑的视频剪辑项目的时候,[Kdenlive][13]是我用于图片合成和编辑大型的复杂的视频的工具。我已经成功地在 Kdenlive 里边做过6个素材轨道的编辑但同样的负载量早已经让别的视频剪辑软件崩溃了。
8**OpenShot** — 大多数情况下,我会将[OpenShot][14]作为视频剪辑任务的首选神兵利器。快速的编辑和两个素材轨道工作区让你可以流畅而操作简单。我还发现它提供了很棒的无与伦比的特效。调制标题效果和超赞的的视频转场效果使OpenShot在我自己的视频项目上成为一款超棒的视频制作软件。
9**SpiderOak** — 在使用了无数云备份服务这么多年后, [SpiderOak][15] 已经成为了我的至爱。易于安装和使用我超喜欢它所提供的增量选项而且使用起来是如此的简单。只需一次设置不再操心之后SpiderOak将会挑起你的文件搬运大任。
10 **Dropbox** — 许多年来,我已经与[Dropbox][16] 爱恨交织。尽管它的跨平台特性这意味着我可以从任何位置访问文件,我慢慢地发现我自己越来越少依赖这个基于云计算的备份解决方案。尽管如此,它允许我从任何 web 浏览器中访问文件,即使是从我不经常使用的计算机,这使得抛弃 Dropbox 更是难上加难。
11 **Writer** — 自从我第一次在Windows的OpenOffice里面使用过它之后我一直都在使用[Writer][17]。今天我使用LibreOffice 所带的Writer来满足我的需求它可以做一切一个文字处理器可以做的事情。现在公正地说一些专有的办公套件可能会提供附加功能在Writer中是没有的但是99%的人需要的功能在Writer这里都有。就我个人而言我会永远是一个LibreOffice Writer粉。
12**SimpleScreenRecorder** — 多年来,我发现自己使用 [SimpleScreenRecorder][18]远超过其他同类软件,它能很好支持多监视器模式,再加上它甚至可以捕获基于 OpenGL 的应用程序的视频。易于使用和可靠的 SimpleScreenRecorder 让我的工作更加得心应手。我把它推荐给那些只是偶尔需要,懒得使用其它屏幕捕捉软件的同学们。
13**SimpleScan** — 当我需要扫描文档的时候,我一点都不想将大把大把的时间花费在配置的臃肿的程序上。 [Simple Scan][19] 可以在这方面做得很好。智能的SANE扫描数据库Simple Scan将与市面上的任何扫描仪或多功能一体打印机/扫描仪很好的进行协作。此外还有一点好处就是它会设置成的最佳分辨率,当然你还可以很方便手动调整任何你需要的设置。
14**Baobab**(磁盘使用分析器) — 我不断听到关于如何硬盘价格已回落。这或许没错,但现实却是我却囊中羞涩。这意味着我需要充分利用我能利用的所有硬盘空间,为了实现这个目的,我使用 [Baobab][20] 来观察我在我的硬盘上的可用空间,而且还可以直观地看到到底是哪一个目录正在蚕食我宝贵的硬盘空间。
### 真正的具有生产力的软件 ###
谈到我所依赖的这些软件我们真正关心的是他们能为我们完成什么样的任务而不是它们所拥有的光辉头衔和自身的许可证。linux不需要软件的传奇时代早已过去。多数的计算机上的工作除了有限的几个例外大都可以在linux桌面上轻松地如我所说的那样完成。
很明显有一些对于你来说是必不可少的软件,但是也许不是我必须用的。你所倚重的软件是什么?您可在下方进行评论并与我们的读者进行分享那些优秀的软件。
------
via: http://www.datamation.com/applications/14-apps-to-boost-ubuntu-1.html
译者:[owen-carter](https://github.com/owen-carter) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://www.mozilla.org/en-US/firefox/new/
[2]:https://plex.tv/
[3]:http://www.zoneminder.com/
[4]:http://parcellite.sourceforge.net/
[5]:http://www.bittorrent.com/sync
[6]:https://help.gnome.org/users/gnome-system-monitor/3.12/
[7]:http://linux.about.com/od/commands/l/blcmdl1_top.htm
[8]:http://freedesktop.org/software/pulseaudio/pavucontrol/
[9]:http://en.wikipedia.org/wiki/Jupiter_Broadcasting
[10]:http://www.skype.com/en/download-skype/skype-for-linux/
[11]:http://ekiga.org/
[12]:https://jitsi.org/
[13]:http://www.kdenlive.org/
[14]:http://www.openshot.org/
[15]:https://spideroak.com/
[16]:https://www.dropbox.com/
[17]:http://www.libreoffice.org/discover/writer/
[18]:http://www.maartenbaert.be/simplescreenrecorder/
[19]:https://launchpad.net/simple-scan
[20]:http://www.marzocca.net/linux/baobab/baobab-getting-started.html

View File

@@ -0,0 +1,31 @@
用笔记本模式工具1.65来延长电池续航能力
================================================================================
![](http://i1-news.softpedia-static.com/images/news2/Improve-Battery-Life-with-Laptop-Mode-Tools-1-65-447397-2.jpg)
笔记本模式工具是一个Liunx电源管理工具包它可以让用户以多种方式延长笔记本电池续航能力现在它已经升级到1.65。
笔记本模式工具的发布的版本曾经很少而且间隔很长,但开发者在最新的版本中做了一些很有意思的改变,虽然此次更新与以前不同。
根据更新日志grep找不到$device/uevent的错误已得到修复、 sysfs/enabled已被"ip link down"所取代、 添加了对iwlwifi的支持运行时电源管理框架现在更健壮并且usb-autosuspend模块已被去除。
此外,当笔记本电脑恢复时,笔记本模式工具将强制以初始化模式运行,最新版本已添加英特尔 PState 驱动程序的模块,并已实现挂起/休眠接口。
用户不须更改自动设置。更改自动设置可能会导致更多的问题,但通常看来他们总是会去动它。此外,要注意到每个功能究竟是做什么的,否则你可能会搞出更多问题。
看官方[公告][1]来了解更多细节。
现在就下载用笔记本模式工具1.65:
- [http://samwel.tk/laptop_mode/packages][2]
--------------------------------------------------------------------------------
via: http://news.softpedia.com/news/Improve-Battery-Life-with-Laptop-Mode-Tools-1-65-447397.shtml
译者:[2q1w2007](https://github.com/2q1w2007) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:https://launchpad.net/laptop-mode-tools/+announcement/12779
[2]:http://samwel.tk/laptop_mode/packages

View File

@@ -0,0 +1,31 @@
红帽携手eNovance共进OpenStack市场
================================================================================
![](http://farm4.static.flickr.com/3108/3191608123_67e1da2b79_o.jpg)
正在OpenStack峰会于亚特兰大举办的同时红帽确认了数项与OpenStack相关的项目。其中一项是红帽正与开源云计算市场的领导者eNovance进行[合作][1] 。双方将推动网络功能虚拟化Network Functions Virtualization及将电信功能融入OpenStack中。红帽[宣布][2]将以七千万欧元或九千五百万美金的现金和股票投资eNovance。
eNovance 是OpenStack市场上重要的角色 特别以其和电信公司的合作而为人所知。eNovance帮助服务提供商和大型私企搭建部署云基础架构快速且成本低廉。这也将为红帽开创新的产品线。
IDC 分析员 Laura DuBois 和 Ashish Nadkarni 在2014春季OpenStack 峰会上指出 “像eNovance这样的集成商将继续助力云服务提供商和企业建立OpenStack云。OpenStack的前景开起来十分光明。"
eNovance 是OpenStack十大上游贡献者之一, 也是OpenStack 基金唯一的欧洲金牌合作商。 该公司在全球有超过150家客户包括 Alcatel-Lucent、 AXA,、 Cisco、 Cloudwatt 和 Ericsson. 在巴黎、蒙特利尔、班加罗尔、印度,都设有办公室。
2013年红帽和 eNovance 第一次展开[合作][3] 为其共同客户提供OpenStack 部署和集成服务。该服务基于Red Hat Enterprise Linux OpenStack 平台。 今年五月的OpenStack峰会上, 两家公司宣布了[进一步的合作][4] ,推动网络功能虚拟(NFV) 和电信在OpenStack上的创新意在提供业界最完整、电信级的 通讯服务基于Linux、内核级虚拟机 (KVM)和 OpenStack。
eNovance的联合创始人、首席执行官Raphaël Ferreira 在声明中说:
> “和红帽一样eNovance也认为部署和集成OpenStack已成趋势这是企业市场上的变革力量。 我们非常高兴能成为红帽的一部分。红帽不仅仅提供一流的OpenStack发行版本也和我们一样坚信 最好以连续、无缝的方式部署、集成OpenStack。”
--------------------------------------------------------------------------------
via: http://ostatic.com/blog/red-hat-to-acquire-enovance-focus-together-on-openstack
译者:[tengpeng](https://github.com/tengpeng) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://www.redhat.com/about/news/press-archive/2014/5/red-hat-and-enovance-to-deliver-carrier-grade-openstack
[2]:http://www.marketwatch.com/story/red-hat-to-acquire-enovance-a-leader-in-openstack-integration-services-2014-06-18
[3]:http://cts.businesswire.com/ct/CT?id=smartlink&url=http%3A%2F%2Fwww.redhat.com%2Fabout%2Fnews%2Fpress-archive%2F2013%2F11%2Fred-hat-and-enovance-partner-to-accelerate-adoption-of-red-hat-enterprise-linux-openstack-platform&esheet=50888828&newsitemid=20140618005543&lan=en-US&anchor=first+partnered+in+2013&index=1&md5=1721061ca22652d2a4413085db70361b
[4]:http://cts.businesswire.com/ct/CT?id=smartlink&ppppppppt-pt-lopppppppppptpt-lpt-pt-locapt-pt-ptptppptppppt-ptptptppp

View File

@@ -0,0 +1,34 @@
X 窗口系统已经30岁了
================================================================================
X.org基金会很自豪地宣布一个特别的日子30年前1984年六月19日Bob Scheifler发布了X窗口系统。
有关X窗口系统的介绍参见 [https://en.wikipedia.org/wiki/X11#Introduction][1]
在这30年中X作为UNIX桌面无处不在。在今天数以百万计的用户使用着桌面环境如GNOMEKDEXfceUnityEnlightenment等等而这些都使用X作为其底层技术。
X的开发者们做出了巨大的突破把X从原本为VAX VS100 CPU编写的一个程序发展成为在今天可在笔记本电脑上进行3D渲染的图形用户界面。事实上X的出现早于图形处理单元GPU概念的出现甚至是比推广这项技术公司——于1999上市的Nvidia更早。
![](http://static.cnbetacdn.com/newsimg/2014/0620/77_1403265316.png_600x600.png)
尽管X已经服务了很长时间但是X仍将做出改进并继续陪伴我们。
请不要感到惊奇, X的出现早于:
- Linux, FreeBSD, NetBSD, OpenBSD, Solaris, Microsoft Windows
- POSIX, C89, C99, C++, Java
- 互联网
- GPL 和 FSF
X是第一个主要的开源软件项目比Free Software 和 Open Source Software更早。和我们一起庆祝吧因为没有X桌面就不会是今天这个样子。
- X.Org 品牌总监
--------------------------------------------------------------------------------
via: http://comments.gmane.org/gmane.comp.freedesktop.xorg.announce/2177
译者:[2q1w2007](https://github.com/2q1w2007) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:https://en.wikipedia.org/wiki/X11#Introduction

View File

@@ -0,0 +1,69 @@
使用DNSCrypt来加密您与OpenDNS之间的通信
================================================================================
**正如SSL能将HTTP通信变为加密过的HTTPS通信DNSCrypt, 物如其名, 是一款能加密您电脑与OpenDNS之间的通信的小神器。**
DNSCrypt刚问世的时候官方公布它只是一款Mac才能用的工具但根据最近一篇由OpenDNS发的[文章][1]表明虽然还没有用户界面但其实当Mac版DNSCrypt推出的时候源码已经放到了Github上了 Linux的用户也可以安装以及使用哦
### 为神马要使用 DNSCrypt? ###
**DNSCrypt可以加密您电脑与OpenDNS服务器的所有通信加密可以防止中间人攻击信息窥觑DNS劫持。更能防止网络供应商对某些网站的封锁。**
这是世界上第一款加密DNS通信的工具虽然TOR可以加密DNS的请求但毕竟它们只是在出口节点加密而已。
> 这款工具并不需要对域名或其工作方式做任何的改变它只是提供了个该工具的用户与机房里的DNS服务器之间的加密方式而已。
您可以在[GitHub][3]的[OpenSND DNSCrypt][2]页面阅读更多的相关信息。
### 如何在Linux使用DNSCrypt ###
首先下载安装[Download DNSCrypt][4] 然后在Terminal里输入这个命令:
sudo /usr/sbin/dnscrypt-proxy --daemonize
![](http://4.bp.blogspot.com/-WLefdXHIzwg/Tz45kGKAZdI/AAAAAAAAH0k/KLBnWJom6-g/s1600/edit-network.png)
然后把您的DNS服务器调成"127.0.0.1" - 在GNOME界面下的话只要到Network Connections网络连接选项然后选择"Edit"并在"DNS servers"输入"127.0.0.1"就好了。如果您用的是DHCP的话请选择Automatic (DHCP) addresses only" 这样的话才能输入DNS服务器。然后只要重连网络便可。
您可以访问这条[链接][5]来测试您连接到了OpenDNS了没。
如果您想设置开机启动DNSCrypt可以自建一个init的脚本如果您用的是Ubuntu可以参考下面的。
**Arch Linux的用户可以通过[AUR][6]来安装DNSCrypt-proxy** 内含rc.d脚本
### Ubuntu下的DNSCrypt ###
如果您想在Ubuntu设置开机启动您可以使用这个[Upstart脚本][7]。
注: 在Ubuntu 12.04版在127.0.0.1有个本地的DNS cache 服务器dnsmasq在跑所以已经把改脚本改成让DNSCrypt使用127.0.0.2了, 所以按照上面的教程应该把127.0.0.1换成127.0.0.2了。
要安装此脚本请使用以下的指令(要首先解压下下来的压缩文件):
sudo cp dnscrypt.conf /etc/init/
sudo ln -s /lib/init/upstart-job /etc/init.d/dnscrypt
然后用这个指令来启动:
sudo start dnscrypt
现在DNSCrypt就应该是开机自启了如果您想停止的话可以使用
sudo stop dnscrypt
[下载DNSCrypt][8] (.deb、 .rpm以及源码都可供下载哦)
--------------------------------------------------------------------------------
via: http://www.webupd8.org/2012/02/encrypt-dns-traffic-in-linux-with.html
译者:[213edu](https://github.com/213edu) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:https://blog.opendns.com/2012/02/16/tales-from-the-dnscrypt-linux-rising/
[2]:http://www.opendns.com/technology/dnscrypt/
[3]:https://github.com/opendns/dnscrypt-proxy
[4]:http://download.dnscrypt.org/dnscrypt-proxy/
[5]:http://www.opendns.com/welcome
[6]:http://aur.archlinux.org/packages.php?ID=54702
[7]:http://webupd8.googlecode.com/files/dnscrypt-0.2.tar.gz
[8]:https://github.com/opendns/dnscrypt-proxy/downloads

View File

@@ -0,0 +1,159 @@
如何在Debian中启用测试版/不稳定版的软件库
================================================================================
为何要启用测试版/不稳定版?
测试版/不稳定版的Debian给开发者提供了一个比当前稳定版更新的环境以及软件。你们注意到了么其实这些稳定版啊不稳定版啊神马的都是别名比方说稳定版其实就是Debian的稳定发行版而测试版将会是下一个Debian的稳定发行版当然那是测试后的事了。截至发稿为止当前Debian的稳定发行版是Wheezy 7.x将会成为下一个稳定版的测试版则是Jessie。
当你需要一款应用的最新版本的时候,启用测试版/不稳定版将会是不二的选择。当初我因为工作需要要安装个Apache的 2.4.x到我的Debian Wheezy。测试版需要的是2.4.x的可是我的软件库里面只有2.2.x的。所以最好的解决方案当时是将测试版下下来啦。
通常来说当我们想尝试最新版本的应用时,都应该只在测试版软件库中搜索。
在这篇文章里我将教大家如何在不弄坏你系统的前提下设置好测试、不稳定版的Debain系统并在上面安装软件。
> Stable < Testing < Unstable (稳定 < 测试版 < 不稳定版)
> Wheezy < Jessie < Sid
### 1. 设置测试版/不稳定版的apt源 ###
第一步是把测试版/不稳定版的源加到你的sources.list文件里。在Debian Wheezy系统上/etc/apt/sources.list理应长得像这样
$ cat /etc/apt/sources.list
----------
...
deb http://security.debian.org/ wheezy/updates main
deb http://http.us.debian.org/debian/ wheezy main
deb-src http://security.debian.org/ wheezy/updates main
...
把你repo服务器的链接记下来比如http://http.us.debian.org/debian/
这个repo服务器将会是离你最近的一个服务器 在不同的地理位置会有不同的url这个将会用于下一步。
如果想加测试/不稳定源则需要在sources.list文件加上这些东西
# Testing repository - main, contrib and non-free branches
deb http://http.us.debian.org/debian testing main non-free contrib
deb-src http://http.us.debian.org/debian testing main non-free contrib
# Testing security updates repository
deb http://security.debian.org/ testing/updates main contrib non-free
deb-src http://security.debian.org/ testing/updates main contrib non-free
# Unstable repo main, contrib and non-free branches, no security updates here
deb http://http.us.debian.org/debian unstable main non-free contrib
deb-src http://http.us.debian.org/debian unstable main non-free contrib
格式将会是
deb <respository server/mirror> <repository name> <sub branches of the repo>
(deb <上一步弄的服务器或镜像url> <repo的名字> <repo底下的分支>)
当然啦除了用testing或者unstable这么烂的词也能使用他们的发行版代号比如Jessie或者Sid
deb http://http.us.debian.org/debian jessie main non-free contrib
deb http://security.debian.org/ jessie/updates main contrib non-free
deb http://http.us.debian.org/debian sid main non-free contrib
### 2. 钉住 apt这非常重要 ###
> 在加了测试/不稳定的repo之后当你更新系统的时候所有安装过并且可用的软件就会立马更新而后你的系统就被你玩火自焚了。
所以需要设置一些规则,以便选定的软件包在正常的更新时不会被更新到一个不稳定的测试版本。
我们需要使用“钉住APT”的方式来告诉apt系统除了我们希望使用测试版或不稳定版的特定软件包之外其它的总是使用稳定版的软件包来更新。
可以通过如下两个文件之一来设置如何设置APT的优先级来“钉住”。
/etc/apt/preferences
/etc/apt/preferences.d/my_preferences
打开这两个文件之一(如果没有的话就创建一个),然后输入如下内容:
Package: *
Pin: release a=stable
Pin-Priority: 700
Package: *
Pin: release a=testing
Pin-Priority: 650
Package: *
Pin: release a=unstable
Pin-Priority: 600
前面我们提到过稳定版指的是你当前的debian版本测试版是下一个而不稳定版则是更远的将来发行版。上面的设置中最主要的是优先级Pin-Priority。当前的稳定版应该有最高的优先级这就是说正常的apt-get操作只会从当前的稳定版的软件库现在是wheezy里面安装软件。
#### 更新包缓存 ####
在增加了新的软件库和指定了优先规则后,需要更新一下包缓存。
$ sudo apt-get update
#### 确认APT规则 ####
我们必须确认“钉住”的设置正确,优先级也没问题。使用 apt-cache 的 policy 参数来检查:
$ apt-cache policy apache2
apache2:
Installed: (none)
Candidate: 2.2.22-13
Version table:
2.4.7-1 0
600 http://http.us.debian.org/debian/ unstable/main amd64 Packages
2.4.6-3 0
650 http://http.us.debian.org/debian/ testing/main amd64 Packages
2.2.22-13 0
700 http://http.us.debian.org/debian/ wheezy/main amd64 Packages
如上的输出确认在wheezy 稳定版中, 2.2.22 版本的Apache是选定的版本它有最高的优先级。
### 3. 从测试版/不稳定版软件库中安装软件 ###
现在可以从测试版或不稳定版中选择一个特定的软件来安装它了。假如说我们要从测试版软件源中安装 apache2。
有两个不同的方法,并且其结果也有所不同。
#### 方式一 ####
# apt-get install apache2/testing
上述命令会从测试版软件库中安装 apache2并从稳定版软件库中安装其依赖包稳定版通过apt规则确定。这个命令在某些情况下会失败比如安装的软件包apache2所需的依赖包在稳定版软件库中没有更新到可以支持该软件时。
#### 方式二 ####
# apt-get -t testing install apache2
上述命令会从测试版软件库中安装apache2并从测试版软件库中安装其依赖包。这要比上面的命令工作的更好。
所以,要安装较新的软件包,直接从测试版/不稳定版的软件库中安装就行了。注意,优先级号码不只是一个数字而已,还有其特定意义。可以查看 apt_preferences的man页面了解更多
$ man 5 apt_preferences
### 总结 ###
使用“钉住”方式的测试版/不稳定版的软件库是一个获取较新版本软件包的一个好办法,不过其实并不推荐使用它们。如果弄错了,可能会从也许不兼容的分支上下载软件包,这会把你的系统搞乱。
一个更好的方式是,使用向后移植的软件库来安装更新的包。它从测试版和不稳定版的软件库中获取较新版本的软件包,但是为当前的稳定版软件库而编译。所以,对于 debian wheezy来说你可以使用wheezy-backports 软件库。访问http://backports.debian.org/ 了解更多。
### 资源 ###
- [https://wiki.debian.org/AptPreferences][1]
- [https://wiki.debian.org/DebianTesting][2]
- [https://www.debian.org/security/][3]
--------------------------------------------------------------------------------
via: http://www.binarytides.com/enable-testing-repo-debian/
译者:[213edu](https://github.com/213edu) [wxy](https://github.com/wxy) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://wiki.debian.org/AptPreferences
[2]:http://wiki.debian.org/DebianTesting
[3]:http://www.debian.org/security/

View File

@@ -0,0 +1,42 @@
Ubuntu的Orange Box首次亮相
================================================================================
> Orange Box现已推出它是一个便携的服务器集群Canonical用它来演示和培训基于Ubuntu的OpenStack云。
![](http://thevarguy.com/site-files/thevarguy.com/files/imagecache/medium_img/uploads/2014/06/grayscale_7.jpg)
Canonical刚刚发布的Orange Box是一个便携式服务器集群该公司用来展示[OpenStack][1][MAAS][2][Juju][3]和其它的基于Ubuntu Linux的云服务。
下面是它的介绍。
对于刚刚接触到它的人来说重要的是要了解Orange Box不是什么它不是一台Canonical用来盈利的硬件产品。到目前为止该公司并无表示计划大规模销售这些设备。如果你真的想[买一款][4]的话,大概价格为$12,900这个价格来自其合同制造商[TranquilPC Limited][5]。
从大的方面来说Orange Box是一个说服企业在基于Ubuntu的云计算投入资金的工具。Canonical的创始人马克·沙特尔沃思[上个月宣布了][6]Ubuntu OpenStack的战略这是该战略的一个关键组成部分更是该公司提供的称作[Jumpstart][7]的OpenStack的培训计划的一部分。
作为Jumpstart的一部分Canonical会将Orange Box借给合作伙伴以便他们的员工可以在Ubuntu集群上练习配置OpenStack和相关软件。Canonical的工作人员也将在培训期间提供咨询。
不过除开培训的目的不谈Orange Box[看起来真的很酷][8]。它装有10个[英特尔NUC][9]总计集成了160GB的RAM1200GB的存储空间和10个酷睿i5处理器这种设备在一个袖珍空间内提供了相当强大的计算能力。
![](http://www.intel.com/content/dam/www/public/us/en/images/product/wilson-canyon-nuc-front-angle-with-board.jpg)
更好的是Orange Box通过预装软件为启动基于Ubuntu的云技术打下了良好基础。
不过对于Canonical来说真正的考验是确保企业能够从Orange Box中获益。借出它们不只是为了让合作伙伴们体验一下不错的硬件设备而是为了通过一个真正令人信服的方式体验Ubuntu的云以吸引IT决策者选择Ubuntu所建立的下一代云基础设施。
--------------------------------------------------------------------------------
via: http://thevarguy.com/ubuntu/062314/canonical-debuts-orange-box-ubuntu-openstack-cloud-demos
译者:[乌龙茶](https://github.com/yechunxiao19) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://openstack.org/
[2]:https://maas.ubuntu.com/
[3]:http://juju.ubuntu.com/
[4]:http://www.tranquilpcshop.co.uk/ubuntu-orange-box/
[5]:http://www.tranquilpcshop.co.uk/
[6]:http://thevarguy.com/ubuntu/051614/shuttleworth-highlights-ubuntu-openstack-cloud-innovations
[7]:http://www.ubuntu.com/cloud/tools/jumpstart
[8]:http://arstechnica.com/information-technology/2014/06/hands-on-with-canonicals-orange-box-and-a-peek-into-cloud-nirvana/
[9]:http://www.intel.com/content/www/us/en/nuc/overview.html

View File

@@ -1,5 +1,3 @@
CNprober<travelwithheart@yeah.net, QQ619913541> 翻译完成
Bash Getopts - 让你的脚本支持命令行参数
================================================================================
@@ -152,7 +150,7 @@ Bash Getopts - 让你的脚本支持命令行参数
via: http://tuxtweaks.com/2014/05/bash-getopts/
译者:[daisy_love_daisy](https://github.com/CNprober) 校对:[校对者ID](https://github.com/校对者ID)
译者: CNprober \<travelwithheart@yeah.net, QQ619913541\> 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@@ -0,0 +1,102 @@
在UEFI模式下安装Ubuntu 14.04与Windows 8/8.1双启动
================================================================================
![](http://itsfoss.com/wp-content/uploads/2014/05/Dual_Boot_Windows8_Ubuntu_1404.jpeg)
之前我已经写过关于[如何安装Ubuntu Linux和Windows 7][1]以及8的双启动但是那些教程不包含那些预装Windows 8的系统。那些较新的预装了Windows 8或Windows 8.1的系统使用了UEFI来替代BIOS。这使得安装双启动变得和之前的常规方法有点不同。在这个教程中我们将看到**如何在UEFI模式下安装Ubuntu 14.04与Windows 8/8.1双启动**。
这个教程是在一台新买的戴尔灵越 7437酷睿i7第四代处理器 256GB SSD8GB内存以及内置1GB(共享内存) Intel显卡上演示的。为了使你能够成功安装UEFI下Linux和Windows 8的双启动我会提到你需要做的所有步骤。如果你已经完成这些步骤中的部分步骤直接跳到下一步。如果你有个全新的系统那就更好了。
在这里提到的这些步骤也适用于其它基于Ubuntu的Linux发行版如Linux MintElementary OS等等。不多说让我们来看看如何在启用了UEFI安全启动的Windows 8系统上双启动Linux。
### 让 Ubuntu 14.04 和 Windows 8 双启动: ###
要在一个UEFI系统上安装Ubuntu有多方面的前提条件。让我们来一个一个看
#### 第一步:做个备份 [可选] ####
做个备份总是个不错的选择,防止你把系统弄糟了。网上有众多文章教你如何备份系统。你可以参照[这个教程][2]。
#### 第二步创建一个Ubuntu的USB启动盘/光盘启动盘 ####
你需要做的下一件事是创建一个USB启动盘或光盘启动盘。我推荐在Windows下使用[Universal USB Installer][3]创建一个Linux OS的USB启动盘。
#### 第三步为Ubuntu划分一块安装分区 ####
假设你有一个全新的系统我们要做的第一件事是创建一个分区来安装Linux。我系统中的256GB磁盘出厂时就有若干个分区但主要是用来备份及其它目的的。主分区是安装了Windows 8.1的C盘约有220GB。
如果你也像这样只有一个分区你需要从中分割出一些空间给Linux。如果你有若干空间大小足够的分区可以使用它们中除C盘外的任意盘因为安装时会抹掉其中的数据。
要在Windows 8中创建分区需要使用磁盘管理工具。你可以通过在控制面板中搜索磁盘找到磁盘管理工具。
![](http://itsfoss.com/wp-content/uploads/2014/05/disk_partition.jpeg)
在磁盘管理工具中右键点击你想划分并缩小的卷。在我的演示中我选择C盘的卷进行缩小划分出未分配空间
![](http://itsfoss.com/wp-content/uploads/2014/05/disk_partition_Windows8.jpeg)
缩小后出现的未分配空间就放在那里好了不用对其分区和格式化。我们会在安装Ubuntu时用到它。
#### 第四步在Windows中禁用快速启动 [可选] ####
为了实现快速启动Windows 8引进了叫做“快速启动”的新特性。尽管不是强制要求最好还是将其禁用。
打开**控制面板 > 硬件与声音 > 电源选项 > 选择电源按钮的功能 > 更改当前不可用的设置**,取消选中**启用快速启动(推荐)**。
#### 第五步禁用Windows 8 and 8.1的安全启动secure boot ####
这是最重要的步骤。Windows 8新的安全启动secure boot原本是针对rootkit病毒的安全特性但它也阻止了Windows和Linux的双启动。为了实现Windows和Linux的双启动我们必须在UEFI中禁用安全启动secure boot
可以参见:[如何在 Win8 上禁用 UEFI 安全引导以安装Linux][4]。
#### 第六步安装Ubuntu与Windows 8共存 ####
一旦你禁用了安全启动secure boot那就是时候安装Ubuntu了。我希望你像第二步中提到的一样创建了一个USB启动盘。插入U盘然后从U盘启动系统。
要从USB启动需要在Windows中选择从USB启动的选项。从电脑设置像UEFI中选择选项或在点击“重新启动”的时候按住Shift键。
当你用USB启动盘启动后你会看到试用try或者安装installUbuntu的选择这里要点击“安装”。另外在屏幕上不多的设置选项里面你可以选择你用的语言。接下来是关于硬盘空间电源和网络连接等等的一些检查。只需点击**继续**。
![](http://itsfoss.com/wp-content/uploads/2014/05/Installing_Windows8_Ubuntu.jpeg)
安装窗口中你需要注意的是**安装类型Installation Type**。选择这里的**其它选项Something else**
![](http://itsfoss.com/wp-content/uploads/2014/05/Installing_Windows8_Ubuntu_1.jpeg)
还记得我们事先划分的未分配空间吗?我们将用它来创建根分区( / 交换空间Swap以及家目录Home。选择空闲free space然后点击加号+)。
![](http://itsfoss.com/wp-content/uploads/2014/05/Installing_Windows8_Ubuntu_2.jpeg)
它会给你提供创建Linux分区的选项。我们正在创建根分区 /。10到20GB空间就足够了。选择大小Size然后选择Ext 4作为文件系统以及 /意思是根作为挂载点Mount point
![](http://itsfoss.com/wp-content/uploads/2014/05/Installing_Windows8_Ubuntu_3.png)
点击确定会回到分区界面。下一步我们创建交换空间Swap。像之前一样再次点击加号+。这次我们选择作为交换空间Swap area。建议的交换空间大小是物理内存的两倍。
![](http://itsfoss.com/wp-content/uploads/2014/05/Installing_Windows8_Ubuntu_4.png)
以同样的方式创建家目录Home。给它分配最大的空间实际上是给它分配剩余的所有空间因为这是你会用来存储音乐图片以及下载的文件的位置。
![](http://itsfoss.com/wp-content/uploads/2014/05/Installing_Windows8_Ubuntu_5.png)
分配好了根分区( / 交换空间Swap和家目录Home之后点击**现在安装Install Now**
![](http://itsfoss.com/wp-content/uploads/2014/05/Installing_Windows8_Ubuntu_6.jpeg)
好了,你现在基本上以及赢得了这场战役了~露出胜利的微笑吧~接下来你会被要求设置用户名密码等等。基本上你现在只需点击下一步。
一旦安装完成重新启动电脑你应该会看到紫色的grub欢迎界面。尽情享受Ubuntu和Windows 8的双启动模式吧。译注对于可能出现grub系统选择中没有Windows 8选项或是无法正常启动的情况可搜索Boot Repair工具的使用
我希望这份指南能够帮你实现Ubuntu和Windows 8的UEFI模式双启动。虽然这篇文章是为Ubuntu写的它对其它的Linux OS应该也有所帮助。欢迎提出任何问题与建议。
--------------------------------------------------------------------------------
via: http://itsfoss.com/install-ubuntu-1404-dual-boot-mode-windows-8-81-uefi/
译者:[alim0x](https://github.com/alim0x) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://itsfoss.com/install-ubuntu-dual-boot-mode-windows/
[2]:http://www.makeuseof.com/tag/6-safest-ways-to-backup-restore-your-files-in-windows-7-8/
[3]:http://www.pendrivelinux.com/universal-usb-installer-easy-as-1-2-3/
[4]:http://linux.cn/article-3061-1.html

View File

@@ -0,0 +1,19 @@
[小白技巧]在Ubuntu 14.04中如何从Unity启动器上移除盘符图标
=======================================================
一个读者发来的问题在Ubuntu 14.04系统中我如何从Unity启动器上移除这些盘符图标我从来不使用它然而它占用着启动器的位置。
默认情况下无论你挂载与否系统上所有分区的盘符图标都会显示在Unity启动器上。事实上它可能会使 Unity 启动器的位置变得拥挤。刚刚接触 Ubuntu 的小白可能对如何将这些盘符移去感觉比较困扰,但是实际上这很容易。
要从Ubuntu 14.04系统的Untiy启动器上永久地移除盘符图标右键点击盘符然后选择"Unlock from Launcher"即可。
![Remove drive cons from Ubuntu 14.04 unity launcher](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/06/Remove_Drive_Icons_Ubuntu_Unity.jpeg)
就这样。你不需要做更多操作了。即使分区被挂载在Unity启动器上你再也看不到盘符图标了。我希望这能帮到你。如果你有任何问题可以随时问我。
--------------------------------------------------------------------------------
via: http://itsfoss.com/remove-drive-icons-from-unity-launcher-in-ubuntu/
译者:[lousam](https://github.com/lousam) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@@ -0,0 +1,36 @@
如何在同一台计算机上安装Windows 8.1和Ubuntu 14.04 LTS
================================================================================
![](http://i1-news.softpedia-static.com/images/news2/How-to-Install-Windows-8-1-and-Ubuntu-14-04-LTS-on-the-Same-Computer-440356-2.jpg)
**一些Windows用户希望试试Linux操作系统而不用删除他正在使用的系统。令人高兴的是想尝试下Linux是非常简单的而且Linux操作系统也能和其他操作系统在同一台机器上和平共处。**
举个例子如果你是Windows用户想试试Ubuntu这个过程实际上是相当简单的用户只需要付出一点小小的努力即可这个过程中稍微注意一点就行了。
在PC上正常安装一个操作系统并不复杂甚至是Ubuntu和其它Linux也一样简单。在大多数情况下用户单击对话框的“下一步”按照流程进行即可。当你想保留PC上的原来的操作系统时并不特指Windows还需要多一点操作才行但是很简单。
在Linux下刻录一个ISO镜像是很容易的有好几个程序可以提供这样的功能。而在Windows下你可以将Ubuntu刻录到DVD或制作成USB启动盘这样更好一些。要将Ubuntu正确复制到一个USB设备你将需要下载名为[Win32 Disk Imager 0.9.5][1]一个小工具。它具有一个简单的界面,是完全自动的。
在重启机器以安装Ubuntu前你要给Ubuntu一些可用的磁盘空间而且给Ubuntu一个磁盘分区是不够的。你将需要两个一个放Ubuntu本身大约10GB如果你不想安装太多的应用的话就足够了第二个是交换分区类似于Windows的页面文件它的大小一般是你的内存的两倍。你不需要格式化它们只要他们是可用的就行。如果你在第二块空闲硬盘安装Ubuntu那就更简单了。
插上USB启动盘并重新启动。你会得到一个提示询问是“试用”还是“安装”。选择“安装”并选择安装方式安装Ubuntu和Windows 8并存或任何你拥有的其他版本用Ubuntu替换Windows 8或者别的选项。
你可以选择“和Windows 8并存安装”但你也许不喜欢安装程序自动处理的方式。你也可以选择“其它Something Else”来手动控制安装过程。
找到你给Ubuntu保留的空闲分区安装程序无法读取和显示Windows卷的名称所以你要小心别选错了双击它选择ext4文件系统和“/”作为默认的安装点。
现在选择另外的那个较小的分区选择swap分区类型。就这些了。当你点击下一步安装程序将启动你将要输入用户名密码和其他信息。
当你启动你之后,将得到一个简单的列表,可以选择你要启动的操作系统。
尽情享受!
------------------
via: http://news.softpedia.com/news/How-to-Install-Windows-8-1-and-Ubuntu-14-04-LTS-on-the-Same-Computer-440356.shtml
译者:[CHINAANSHE](https://github.com/CHINAANSHE) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://www.softpedia.com/get/CD-DVD-Tools/Data-CD-DVD-Burning/Win32-Disk-Imager.shtml

View File

@@ -0,0 +1,107 @@
Linux + 漫画迷 = 二次元世界?
================================================================================
你是否从来都没有错过xkcd上的漫画连载及时地阅读到网络漫画。或者你是否想过从你喜欢的网站上备份所有漫画连载如你所愿开源社区将为你提供解决方案使用命令行程序从终端上下载所有你喜欢的漫画连载。
在我们开始之前,请记住一点,你下载的漫画连载仅供个人使用,在没有授权的情况下是不可以散播出去的。如果你确实喜欢该作者的作品,请支持通过捐赠或购买正版商品获得。
### 在Linux中安装Dosage
有一个下载漫画连载的开源程序叫[dosage][1]。由于该程序是用python写的所以安装漫画连载工具的方式有几种。今天我们就从一种简单的方法开始吧。
第一步,你需要[安装pip][2]LCTT译注这是一个用于安装和管理python包的工具并确保你的python版本在2.7.0至3.3区间。接下来使用pip安装dosage。
$ sudo pip install dosage
如果pip不能以某种方式来找到相关包例如Ubuntu14.04系统),可以使用下列命令来找到。
$ sudo pip install http://wummel.github.io/dosage/dist/dosage-2.13.tar.gz
dosage将会自动创建一个名为“Comics”新的文件夹。
### Dosage的基本用法
dosage的基本用法如下所述。使用dosage你可以在数据库中找到你喜欢阅读的网络漫画当最新一期的连载发布时你可以及时获取最新一期。从某种意义来说无论你在网络漫画中订阅多少连载dosage都会确保一期不落地帮你把没有读过的漫画连载下载下来。
下载和阅读你的离线网络漫画,首先要用以下命令将它们列出:
$ dosage -l
现在我们可以看到dosage将2000多套漫画从数据库列出。我个人建议用下面的这个命令来查找我们想要看的漫画
$ dosage -l | grep [keyword]
这样就会返回所有包含关键字标题的漫画了。
一旦你确定列表中哪一本漫画是你想要阅读的,使用以下命令订阅这本漫画:
$ dosage [name of the webcomic]
![](https://farm3.staticflickr.com/2940/13943751585_978ef260de_z.jpg)
订阅漫画时会自动在"Comics"目录下创建子目录,并把最新的连载漫画下载到在里边。
如果你不仅仅想下载最新连载的漫画而是完整的一部,那么你使用以下的命令就可以了:
$ dosage -a [name of the comic]
最后,订阅了几本网络漫画之后,你可以使用下面这条简单的命令,方便地下载到这几本漫画的所有更新:
$ dosage @
如果你不想错过每天的漫画更新,你可以每天执行这条命令确保不会错过。
### Dosage的高级用法
玩了一天dosage你也许想知道它的更多使用方法。这需要你掌握更多的命令语法和快捷入门。
如果你想在xkcd上下载更多的漫画连载你应该会看到一条dosage拒绝的提示使用成人选项确认你的年龄
use the --adult option to confirm your age
![](https://farm3.staticflickr.com/2929/13920634111_9d63589f74_z.jpg)
因为默认情况下dosage会忽略任何标记为仅限18岁以上的成年人浏览的网络漫画由于某些原因xkcd也属于其中的一个。如果你已经成人了请输入
$ dosage --adult xkcd
从之前的例子,你也许注意到'@'这个参数代表你所有已经下载的漫画书。而这个'@@'这个参数则是表示dosage数据库中的所有漫画书。
$ dosage @@
上面的命令会下载dosage所知道的每一本漫画的最新连载。
如果你想获取漫画从开始到特定的某一天的连载,你可以使用以下命令:
$ dosage -a [name of the comic]:[year-month-day]
举个例子我们想看《Calvin and Hobbes》2014年之前的所有连载运行这条命令
$ dosage -a calvinandhobbes:2014-01-01
最后对于所有想自己做些开发的人来说dosage可以在下载时生成rssjson和html日志文件。
$ dosage -o [type] [name of the comic]
在以上命令中,,[type]可以是rssjson或者html[name of comic]也可以只用'@'。例如,用'html'参数就会创建一个漂亮的HTML代码以看到所有已经下载到的漫画连载。
下面的命令会下载所有关于Calvin and Hobbes的连载并生成一个网页可以在你的浏览器中看到一个漂亮的网页呈现出所有连载漫画。
$ dosage -o html -a calvinandhobbes
![](https://farm4.staticflickr.com/3693/13920644962_1b041dc2f2_z.jpg)
最后,我会建议你[阅读手册][3]获取更多相关信息。dosage的确是一个非常简洁的工具它为广大网页漫画迷们服务。我很好奇地想知道像创建出一个json文件来下载连载漫画的这种创意是怎么诞生的
你还有其它更好的取代dosage的工具么或者说你是这些工具的粉丝并且用得非常过瘾那就在评论里推荐给我们吧。
--------------------------------------------------------------------------------
via: http://xmodulo.com/2014/04/download-webcomics-command-line-linux.html
译者:[disylee](https://github.com/disylee) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://wummel.github.io/dosage/
[2]:http://ask.xmodulo.com/install-pip-linux.html
[3]:http://wummel.github.io/dosage/dosage.1.html

View File

@@ -0,0 +1,71 @@
Linux桌面上的小饼饼让启动应用分外不同
================================================================================
最近你能听到很多关于Ubuntu新的Unity界面的抱怨。我记得当Unity开始兴起的时候我正好离开Archlinux。然而Unity间接地导致了一个后果随着人们对它不满意人们开始关注其他的桌面环境和Linux发行版。而如果你的系统支持Unity没有人会反对将它弄得更顺眼些。
所以今天我向你推荐一个绝对原创的程序启动器: Gnome-Pie。你们可能会认为他的灵感来自魔兽世界插件"OPie"。因为他们有着相似的概念: 键盘快捷方式可以打开圆形"菜单",您可以从中选择一个应用程序或命令来启动。这种设计背后的主要思想是用户不必记住命令,但需要记住他的方向和操作。它的饼形设计让指针可以用同样的距离启动每个应用程序。再加上我们还有如此多自定义组合键,极大的提高效率并且最大限度地实现了人机工程学。
### 安装Gnome-Pie ###
在Ubuntu上Gnome-Pie 可以从universe仓库中获得, 但是,某些原因,这个版本不是很稳定,常常会崩溃。作为一个备选方案,我建议你从官方的源进行下载。
$ sudo add-apt-repository ppa:simonschneegans/testing
$ sudo apt-get update
$ sudo apt-get install gnome-pie
在Fedora, 你可以使用以下命令:
$ sudo yum install gnome-pie
对于Archlinux, 你可以在[AUR][1]找到它。
### Gnome-Pie的基本用法 ###
默认的Gnome-Pie有一个比较可靠的初始配置。首先你可以使用 **Ctrl + Alt + a** 调出,它将显示你的系统的基本应用程序。
![](https://farm3.staticflickr.com/2917/14040269128_6dc6544c14_z.jpg)
接下来, 按下 **Ctrl+Alt+b** 调出第二个圆,这将显示你的文件管理器的书签。
![](https://farm3.staticflickr.com/2903/14040269088_8de29edd18.jpg)
第三个,也许是最有用的,它会显示你的应用程序菜单,按下 **Ctrl + Alt + 空格** 可调出。
![](https://farm3.staticflickr.com/2903/14040345657_071f40b22f_z.jpg)
第四个,仅用于控制音乐播放器。你可以猜到,快捷键是 **Ctrl + Alt + m**
![](https://farm3.staticflickr.com/2925/14226915065_8b0e3841c6_o.png)
第五个,你可以快速访问重新启动、 关机和注销命令 (**Ctrl + Alt + q**我猜q是代表退出吧
![](https://farm3.staticflickr.com/2931/14040303600_5b3a517335_o.png)
最后第六个你可以用Pie来控制窗口可以最小化、 规模、 关闭, 等等. 并且,快捷键是 **Ctrl+Alt+w**
![](https://farm3.staticflickr.com/2904/14226699514_42d364a4d4_o.png)
虽然我发现这种默认设置已经是相当令人满意,几乎和预置的启动器一样好。然而,如果让我鸡蛋里找骨头,我会说一些快捷方式很难用一只手执行。大多数情况是,我们用两只手打开菜单,然后再回到鼠标以选择该选项。太不爽了。
然而,我们在用 Linux谁会在乎默认设置自定义才是王道。Gnome-Pie将为你提供优良的服务。通过配置你可以编辑现有的Pie改变程序图标设计自己的Pie改变主题甚至将另外一个Pie菜单作为一个子菜单。
[![](https://farm6.staticflickr.com/5508/14247093043_1fe1188709_z.jpg)][2]
你甚至可以编辑它来访问 URL、 自由设置热键、运行你自己的命令。惟一的缺憾可能是它缺少Widgets。
![](https://farm3.staticflickr.com/2927/14040264609_b7aa66f078_z.jpg)
总之相较于传统的基于文本的启动器Gnome-Pie是一个相当有吸引力的可视化应用程序。我很喜欢他的自定义键盘和鼠标组合键让我想起了我在War3或者LOL中的神级操作。如果玩家使用这种操作方式它可以为你带来方便和高效。如果你想节约桌面空间我甚至建议你不要将预置的启动器放到桌面上。总之我甚至敢说它可以替代Gnome。
你觉得怎么样你在所有相信世界上有这么好的东西吗或者说随着新的Gnome shell出现Gnome-Pie开始失去竞争力欢迎评论。
--------------------------------------------------------------------------------
via: http://xmodulo.com/2014/05/launch-applications-differently-gnome-pie-linux-desktop.html
译者:[MikeCoder](https://github.com/MikeCoder) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:https://aur.archlinux.org/packages/gnome-pie/
[2]:https://www.flickr.com/photos/xmodulo/14247093043/

View File

@@ -1,13 +1,12 @@
Translating by GOLinux ...
如何使用phpIPAM来管理IP地址和子网
================================================================================
通常,网络或系统管理员有责任来管理所管理的网络下的一个或多个子网。例如,当一个网段分配了/24子网那么该子网就有254个IP地址可以用于不同目的。要跟踪某个IP被分配到了哪个主机就需要某种文件编制。最简单的方法就是使用一个电子表格来记录IP地址的分配信息。此方法对于只有一个管理员并且网络很小的情况下比较奏效。然而对于多个大型网络而言依赖于电子表格并不方便而且十分容易出错。更糟糕的是如果有多个管理员参与管理更新电子表格就十分麻烦了因为每个管理员可能生成各种不同版本的文档记录。
一种系统地管理IP地址分配的方式是使用网络化的IP地址管理工具。不仅仅是因为网络化管理工具能在任何地方访问并管理而且其后端数据库也能保证所有更新能正确同步并实时生效。尽管有许多可用的网络化应用工具但我们将在此教程中关注如何来安装[phpIPAM][1]IP地址管理工具。phpIPAM是一个开源、高效的IP地址管理应用软件有着以下一些特性
通常,网络或系统管理员有责任来管理其所管理的网络下的一个或多个子网。例如,当一个网段分配了/24子网那么该子网就有254个IP地址可以用于不同用途。要跟踪某个IP被分配到了哪个主机就需要通过某种方式记录下来。最简单的方法就是使用一个电子表格如Excel来记录IP地址的分配信息。此方法对于只有一个管理员并且网络很小的情况下比较奏效。然而对于多个大型网络而言依赖于电子表格并不方便而且十分容易出错。更糟糕的是如果有多个管理员参与管理更新电子表格就十分麻烦了因为每个管理员可能生成各种不同版本的文档记录
一种系统地管理IP地址分配的方式是使用网络化的IP地址管理工具。不仅仅是因为网络化管理工具能在任何地方访问并管理而且其后端数据库也能保证所有更新能正确同步并实时生效。尽管有许多可用的网络化应用工具但我们将在此教程中关注如何来安装[phpIPAM][1]IP Address Manager IP地址管理工具。phpIPAM是一个开源、高效的IP地址管理应用软件有着以下一些特性。
- 同时支持IPv4和IPv6和其它工具不同它对IPv6支持得很好
- 内建IPv4和IPv6计算器
- 内建IPv4和IPv6计算器
- 支持无类域间路由CIDR标记
- 支持MySQL数据库
- 子网嵌套
@@ -22,18 +21,23 @@ Translating by GOLinux ...
可访问[http://demo.phpipam.net][2]查看phpIPAM演示网站。
在本教程中,我们将**在Ubuntu环境中使用Apache来配置phpIPAM**。
### 在Ubuntu上安装phpIPAM ###
首先使用apt-get来安装需要的软件包。
# apt-get install apache2 mysql-server php5 php5-gmp php-pear php5-mysql php5-ldap wget
如果MySQL是首次安装请使用以下命令来设置root密码。
# mysqladmin -u root password NEWPASSWORD
phpIPAM可以安装在任何Web服务器目录中我们将会安装到Apache Web服务器的根目录下的/phpipam/子目录中。
下载phpIPAM软件包。
# wget http://kent.dl.sourceforge.net/project/phpipam/phpipam-1.0.tar
将软件包解压到Web服务器相应目录。
# cp phpipam-1.0.tar /var/www/
@@ -64,13 +68,15 @@ phpIPAM可以安装在任何Web服务器目录中我们将会安装到Apache
需要在提供的.htaccess文件中指定基准目录。
# vim /var/www/phpipam/.htaccess
> RewriteBase /phpipam/
---
RewriteBase /phpipam/
### 准备Apache Web服务器 ###
phpIPAM需要为该操作重写模块该模块可以在Ubuntu或Debian机器上使用以下命令来启用。
phpIPAM的运行需要Apache 的 Rewrite模块该模块可以在Ubuntu或Debian机器上使用以下命令来启用。
# a2enmod rewrite
接下来需要修改Apache的默认配置。请添加/修改你的配置,使它看起来像下面这样。
# vim /etc/apache2/sites-enabled/000-default
@@ -89,48 +95,57 @@ phpIPAM需要为该操作重写模块该模块可以在Ubuntu或Debian机器
# service apache2 restart
### 完成安装 ###
我们可以使用浏览器来完成phpIPAM的安装。将浏览器地址指向URL: http://<serverIP>/phpIPAM将会显示以下phpIPAM安装页面。我们可以开始自动化数据库安装。
![](https://farm3.staticflickr.com/2928/14216904555_0095bf048f_z.jpg)
![](https://farm3.staticflickr.com/2934/14193740116_afc44b8338_z.jpg)
现在phpIPAM应该已经起来并正在运行了我们可以使用以下默认凭证来登录。
现在phpIPAM应该已经起来并正在运行了我们可以使用以下默认用户来登录。
- **URL**: http://<serverIP>/phpipam
- **User**: Admin
- **Pass**: ipamadmin
### 使用phpIPAM管理IP地址 ###
在本教程的剩下部分我们将引领你进入phpIPAM的子网和IP地址管理。
#### 创建区域 ####
让我们从为我们的网络创建区域开始吧。点击“管理” > “区域”。
![](https://farm3.staticflickr.com/2926/14213603451_3c2918805c.jpg)
点击“添加区域”。现在我们可以为我们的添加的区域取个你想要的名称了,填上区域的详细情况。
点击“添加区域”。现在我们可以为我们的添加的区域取个你想要的名称了(如:"Our Network",填上区域的详细情况。
![](https://farm6.staticflickr.com/5195/14030287410_3d07a582ce_z.jpg)][3]
#### 创建子网 ####
接下来在“我们的网络”区域下添加一个新的子网172.16.1.0/24。点击“我们的网络” > “添加子网”
接下来在上面场景的区域“Our Network”下添加一个新的子网172.16.1.0/24。点击“Our Network” > “添加子网”
![](https://farm3.staticflickr.com/2925/14213603401_e16917bb7a_z.jpg)
![](https://farm3.staticflickr.com/2937/14216715144_0427165702_z.jpg)
现在我们可以很容易地在子网中添加IP地址了。一种方法是逐个来添加它们phpIPAM提供了一个可供选择的方法扫描所有主机并自动添加这一点都不麻烦。它可以扫描位于同一广播域下的本地子网也可以通过路由扫描到远程子网。在选择一个子网后像下面这样点击“扫描子网中的新主机”来扫描IP地址。
现在我们可以很容易地在子网中添加IP地址了。一种方法是逐个来添加它们phpIPAM提供了一个可的方法扫描所有主机并自动添加这一点都不麻烦。它可以扫描位于同一广播域下的本地子网也可以通过路由扫描到远程子网。在选择一个子网后像下面这样点击“扫描子网中的新主机”来扫描IP地址。
![](https://farm6.staticflickr.com/5157/14193740006_ac2a01a3aa_o.png)][4]
在扫描完成后发现的IP地址可以通过点击底部“添加发现的主机”按钮来将IP地址添加到数据库。
#### 创建IPv6子网 ####
可以通过相似的步骤来创建IPv6子网像下面截图中展示的那样来指定IPv6网络。
![](https://farm3.staticflickr.com/2922/14216715104_de8008bf94_z.jpg)
所有用于IPv4的工具也可以用于IPv6.
#### 创建嵌套子网 ####
phpIPAM也提供了创建嵌套子网的选项可以用于IPv4和IPv6。例如我们将172.16.1.0/24 IP区块划分成4个更小的子网/26每个子网用于组织内特定的部门。在选择/24子网后我们可以使用“添加新的嵌套子网”按钮来创建嵌套子网。截图中展示了添加嵌套子网的图标。
![](https://farm6.staticflickr.com/5272/14030318447_66e4511cd6_o.png)[5]
@@ -140,7 +155,8 @@ phpIPAM也提供了创建嵌套子网的选项可以用于IPv4和IPv6。例
![](https://farm6.staticflickr.com/5231/14216904305_5af77616f7_z.jpg)[6]
#### 添加用户和组 ####
首先,我们将为“我们的网络”创建一个具有读/写权限的组。这项工作可以通过选择“管理” > “组” > “创建组”来完成。
首先我们将为区域“Our Network”创建一个具有读/写权限的组。这项工作可以通过选择“管理” > “组” > “创建组”来完成。
![](https://farm3.staticflickr.com/2899/14030230539_73b1d5f7d4_z.jpg)
@@ -159,11 +175,12 @@ phpIPAM也提供了创建嵌套子网的选项可以用于IPv4和IPv6。例
最后小结phpIPAM是一个多样化的IP地址管理工具可以用于IPv4和IPv6。本教程仅关注基本内容以帮助你开始使用该工具。你一定要测试所有可用的特性如使用IP地址计算器添加设备VLAN和VRF以及使用.xls导入/导出。
希望本教程对你有所帮助。
--------------------------------------------------------------------------------
via: http://xmodulo.com/2014/05/manage-ip-addresses-subnets-phpipam.html
译者:[GOLinux](https://github.com/GOLinux) 校对:[校对者ID](https://github.com/校对者ID)
译者:[GOLinux](https://github.com/GOLinux) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@@ -1,17 +1,17 @@
如何使用命令行实时监控 Nginx 网站服务
ngxtop命令行实时监控 Nginx 的神
================================================================================
Nginx网站服务器在生产环境中[运行][1]的时候需要进行实时监控。实际上,诸如[Nagios][2], Zabbix, Munin 的网络监控软件是支持 Nginx 监控的。
如果你不需要以上软件提供的综合性报告或者长期数据统计功能,只是需要一种快速简便的办法去监控 Nginx 服务器的请求的话,我建议你采用一个叫 [ngxtop][3] 的命令行工具。
你马上就会发现 ngxtop 从界面和名称都借鉴了著名的top命令。ngxtop 是通过分析 Nginx 或者其他的日志文件,使用类似 top 命令的界面实时展示出来的。你可以说你知道的其他高端监控工具,但是在简洁这方面 ngxtop 无疑是最好的。简单是不是就意味着不可替代。
你马上就会发现 ngxtop 从界面和名称都借鉴了著名的top命令。ngxtop 是通过分析 Nginx 或者其他的日志文件,使用类似 top 命令的界面实时展示出来的。你可以说你知道的其他高端监控工具,但是在简洁这方面 ngxtop 无疑是最好的。简单就意味着不可替代。
本指南中,我将介绍如何使用 ngxtop 实时监控 Nginx 网站服务器。
### Linux 上安装 ngxtop ###
首先在 Linux 系统中安装依赖库[pip][4]。
首先在 Linux 系统中安装依赖库[pip][4]LCTT译注ngxtop是用python编写的
然后使用如下命令安装 ngxtop。
@@ -27,12 +27,12 @@ Nginx网站服务器在生产环境中[运行][1]的时候需要进行实时监
这里是一些通用选项。
- **-l <file>**: 日志文件的完整路径 (Nginx 或 Apache2)
- **-l <file>**: 指定日志文件的完整路径 (Nginx 或 Apache2)
- **-f <format>**: 日志格式
- **--no-follow**: 处理当前日志文件的快照,而不是实时处理日志文件
- **--no-follow**: 处理当前已经写入的日志文件,而不是实时处理新添加到日志文件的日志
- **-t <seconds>**: 更新频率
- **-n <number>**: 命令显示行
- **-o <var>**: 排序规则(默认数)
- **-n <number>**: 显示行
- **-o <var>**: 排序规则(默认是访问计数)
- **-a <exp> ..., --a <exp> ...**: 添加表达式(一般是聚合表达式如: sum, avg, min, max 等)到输出中。
- **-v**: 输出详细信息
- **-i <filter-expression>**: 只处理符合规则的记录
@@ -95,7 +95,7 @@ ngxtop 默认会从其配置文件 (/etc/nginx/nginx.conf) 中查找 Nginx 日
via: http://xmodulo.com/2014/06/monitor-nginx-web-server-command-line-real-time.html
译者:[shipsw](https://github.com/shipsw) 校对:[校对者ID](https://github.com/校对者ID)
译者:[shipsw](https://github.com/shipsw) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@@ -1,17 +1,19 @@
在Linux上配置基于web的轻量级系统监控
Monitorix :支持服务器和树莓派的轻量级系统监控系统
================================================================================
有时候,我们作为普通用户或者系统管理员,需要知道系统运行是否良好。与系统状态相关的许多问题,都可以通过检查活动服务生成的日志文件来获得答案。然而,即便对于历经数个春秋的系统管理员而言,要检查日志文件的每个细节都不是件容易的事。这也是为什么他们依赖于监控软件的原因,监控软件能够从不同的源收集信息,并以易于理解的格式给出分析报告,如图表、可视化图像、统计数据等。
有时候,无论是普通用户还是系统管理员,需要知道系统运行是否良好。与系统状态相关的许多问题,都可以通过检查运行的服务生成的日志文件来获得答案。然而,即便对于干过几年的系统管理员而言,要检查日志文件的每个细节都不是件容易的事。这也是为什么他们依赖于监控软件的原因,监控软件能够从不同的源收集信息,并以易于理解的格式给出分析报告,如图表、可视化图像、统计数据等。
市面上流传着许多复杂的系统监控软件,诸如[Cacti][1], [Nagios][2], Zabbix, Munin此类。在本文中我们向您介绍一个轻量级的监控工具——Monitorix该工具设计用于在Linux/BSD上监控系统资源和许多熟知的第三方应用程序。由于专为资源有限的嵌入式系统而优化Monitorix以使用简单消耗内存资源少而著称。它内建了一个HTTP服务器用于提供web界面并使用RRDtool数据库来存储时间序列统计数据RRDtool可以很容易地和任何脚本语言整合如PerlPythonshell脚本Ruby等。
市面上流传着许多复杂的系统监控软件,诸如[Cacti][1], [Nagios][2], Zabbix, Munin此类。在本文中我们选取了一个轻量级的监控工具——Monitorix该工具设计用于在Linux/BSD上监控系统资源和许多熟知的第三方应用程序。由于专为资源有限的嵌入式系统而优化Monitorix以使用简单消耗内存资源少而著称。它内建了一个HTTP服务器用于提供web界面并使用PRDtool来存储时间序列统计数据该PRDtoo可以很容易地和任何脚本语言整合如PerlPythonshell脚本Ruby等。
### 主要特性 ###
这里列出了Monitorix的主要特性。要查看完整列表请参阅[官方网站][3]
- 系统负载和系统服务需求
- 当前系统负载和系统服务
- CPU/GPU温度传感器
- 磁盘温度和健康
- 磁盘温度和健康
- 网络/端口流量和网络状况统计
- 邮件统计
- Web服务器统计ApacheNginxLight图片的
- Web服务器统计ApacheNginxLighttpd
- MySQL负载和统计
- Squid代理统计
- NFS服务器/客户端统计
@@ -28,8 +30,7 @@
$ sudo yum install monitorix
要配置Monitorix打开/etc/monitorix/monitorix.conf配置文件并修改选项。关于Monitorix的配置文件细节可以查阅[http://www.monitorix.org/documentation.html][6]。
要配置Monitorix打开`/etc/monitorix/monitorix.conf`配置文件并修改选项。关于Monitorix的配置文件细节可以查阅[http://www.monitorix.org/documentation.html][6]。
默认情况下内建的HTTP服务器监听8080端口。因此确保你的防火墙没有阻止TCP 8080端口。
@@ -40,9 +41,10 @@
启动你喜爱的Web浏览器然后通过http://<host-ip-address>:8080/monitorix来访问Monitorix的Web界面。
### 在Archlinux上安装并配置Monitorix ###
在Archlinux上可以从[AUR][7]上下载Monitorix包。
默认情况下Archlinux上是禁用内建HTTP服务器的。要启用内建的HTTP服务器请编辑/etc/monitorix.conf文件的如下区块。
默认情况下,Archlinux上是禁用了其内建HTTP服务器的。要启用内建的HTTP服务器请编辑/etc/monitorix.conf文件的如下区块。
<httpd_builtin>
enabled = y
@@ -65,10 +67,11 @@
打开你喜欢的Web浏览器然后通过http://<host-ip-address>:8080/monitorix来访问Monitorix的Web界面。
### 在Debian和Ubuntu上安装并配置Monitorix ###
对于Debian家族Monitorix可以通过两种方式安装手工安装或通过第三方软件仓库。
#### 手工安装(用于Debian) ####
Install all dependent packages first.
首先安装所有依赖包。
$ sudo apt-get install rrdtool perl libwww-perl libmailtools-perl libmime-lite-perl librrds-perl libdbi-perl libxml-simple-perl libhttp-server-simple-perl libconfig-general-perl libio-socket-ssl-perl
@@ -82,6 +85,7 @@ Install all dependent packages first.
$ sudo service apache2 reload
#### 通过软件仓库安装 (用于Ubuntu) ####
在/etc/apt/source.list中添加以下行来启用Izzysoft仓库。
deb http://apt.izzysoft.de/ubuntu generic universe
@@ -100,14 +104,15 @@ Install all dependent packages first.
$ sudo service monitorix start
要配置Monitorix请使用文本编辑器编辑/etc/monitorix/monitorix.conf并重启Monitorix服务。
要配置Monitorix请使用文本编辑器编辑`/etc/monitorix/monitorix.conf`并重启Monitorix服务。
$ sudo service monitorix restart
用于Ubuntu的内建Web服务器默认将被启用。要从Web查看监控结果在你喜爱的Web浏览器中访问http://<host-ip-address>8080/monitorix。
用于Ubuntu的内建Web服务器默认启用。要从Web查看监控结果在你喜爱的Web浏览器中访问http://<host-ip-address>8080/monitorix。
### 在Raspberry Pi上安装并配置Monitorix ###
如果想要在Raspberry Pi基于Debian上安装Monitorix你不能使用上面提到的Izzysoft仓库因为它不提供Monitorix的ARM端口。取而代之的是你可以参照如下基于Debian的手工安装。
如果想要在Raspberry Pi基于Debian上安装Monitorix你不能使用上面提到的Izzysoft仓库因为它不提供Monitorix的ARM移植。取而代之的是你可以参照如下基于Debian的手工安装。
首先,安装需要的软件包。
@@ -125,7 +130,7 @@ Install all dependent packages first.
安装完成后我们需要像下面这样对Monitorix配置稍作修改。
用你喜爱的文本编辑器打开/etc/monitorix/monitorix.conf向下滚动文本直到你找到<graphs enable>。搜索“raspberrypi = n”并用“y”替换“n”这将启用对Raspberry Pi时钟频率、温度和电压的监控。
用你喜爱的文本编辑器打开`/etc/monitorix/monitorix.conf`,向下滚动文本直到你找到<graphs enable>。搜索“raspberrypi = n”并用“y”替换“n”这将启用对Raspberry Pi时钟频率、温度和电压的监控。
编辑完成后重启Monitorix服务。
@@ -159,7 +164,7 @@ Monitorix主屏幕:
via: http://xmodulo.com/2014/05/web-based-lightweight-system-monitor-linux.html
译者:[GOLinux](https://github.com/GOLinux) 校对:[校对者ID](https://github.com/校对者ID)
译者:[GOLinux](https://github.com/GOLinux) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@@ -1,6 +1,6 @@
如何从Linux命令行截屏
如何从Linux命令行截屏
================================================================================
Linux上有着许多不同口味儿的截屏工具包括桌面环境专用的截屏程序 KSnapshot for KDEgnome-screenshot for GNOMScreenshooter for Xfce),或者是通用的截屏程序(如 Shutter。而Scort"SCReen shOT"的缩写)是最独一无二的截屏工具之一,它是一个**命令行截屏工具**。虽然它的界面十分简约但Scrotas在功能上和其它专用的基于GUI的屏幕捕获工具一样强大。举个例子Scrot支持延时截屏截屏调整品质/大小,命令行传递等功能。如果你是那些命令行迷中的一个Scrot应该是你加入兵器库中的又一实用工具。在这个教程中我将会描述**如何在命令行中用Scrot截屏**。
Linux上有着许多不同口味儿的截屏工具包括桌面环境专用的截屏程序 KDE里面的KSnapshotGNOME里面的gnome-screenshotXfce的Screenshooter或者是通用的截屏程序如 Shutter。而Scort"SCReen shOT"的缩写)是最独一无二的截屏工具之一,它是一个**命令行截屏工具**。虽然它的界面十分简约但Scrot在功能上和其它专用的基于GUI的屏幕捕获工具一样强大。举个例子Scrot支持延时截屏截屏调整品质/大小,命令行传递等功能。如果你是那些热衷命令行的爱好者之一Scrot应该是你加入兵器库中的又一实用工具。在这个教程中我将会描述**如何在命令行中用Scrot截屏**。
### 在Linux中安装Scrot ###
@@ -26,7 +26,7 @@ Linux上有着许多不同口味儿的截屏工具包括桌面环境专用的
### 用Scrot截屏 ###
在这个教程的剩余部分我会描述如何通过几种不同方法用Scrot截屏。
在这个教程的下面的部分我会描述如何通过几种不同方法用Scrot截屏。
#### 1. 截下整个桌面 ####
@@ -44,7 +44,7 @@ Scrot允许你在桌面选择一个特定的窗口或定义一个矩形区域来
$ scrot -s
运行这个命令后,继续用你的鼠标单击任意窗口或画出一个矩形,它能够触发对选定窗口/区域的屏幕截取。
运行这个命令后,继续用你的鼠标单击任意窗口或画出一个矩形,它能够触发对选定窗口/区域的屏幕截取。LCTT译注还要使用鼠标伐快乐
有时候你选定的区域或窗口可能会被桌面的其它窗口部分遮挡。在这种情况下,你在截屏前需要一点时间来清理那个部分。那正是延迟截屏能够帮到你的,就像下面所描述的那样。
@@ -76,7 +76,7 @@ Scrot允许你发送保存的截屏图像给任意一个命令作为它们的输
via: http://xmodulo.com/2014/05/take-screenshot-command-line-linux.html
译者:[alim0x](https://github.com/alim0x) 校对:[校对者ID](https://github.com/校对者ID)
译者:[alim0x](https://github.com/alim0x) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@@ -1,38 +1,38 @@
Linux LVM简明教程
================================================================================
LVM是一个多才多艺的硬盘系统工具。无论在Linux或者其他似的系统,都是非常的好用。传统分区使用固定大小分区,重新分区十分麻烦。但是LVM创建和管理从硬盘中分出来的“逻辑”卷,提供管理员弹性管理逻辑卷的扩大缩小,操作简单,不损坏已存储的数据。附加硬盘可以随意增加到LVM而且可以直接增加已经存在的逻辑卷。LVM不需要重启而只要内核知道分区的存在。
逻辑卷管理LVM是一个多才多艺的硬盘系统工具。无论在Linux或者其他似的系统,都是非常的好用。传统分区使用固定大小分区,重新调整大小十分麻烦。但是LVM可以创建和管理“逻辑”卷,而不是直接使用物理硬盘。可以让管理员弹性管理逻辑卷的扩大缩小,操作简单,不损坏已存储的数据。可以随意将新的硬盘添加到LVM以直接扩展已经存在的逻辑卷。LVM不需要重启就可以让内核知道分区的存在。
LVM使用分层结构如下图所示。
![](https://farm3.staticflickr.com/2910/14127487464_96b24a906b_z.jpg)
图中顶,首先是实际的物理卷。下一层,一个或多个物理卷可以用来创建卷组。再下一层,然后逻辑卷的创建基于卷组。只要在卷组中有可用空间,就可以随心所欲的创建逻辑卷。最下面层,文件系统的分区就是逻辑卷上创建,然后可以在操作系统挂载和访问。
图中顶,首先是实际的物理磁盘及其划分的分区和其上的物理卷PV。一个或多个物理卷可以用来创建卷组VG。然后基于卷组可以创建逻辑卷LV。只要在卷组中有可用空间,就可以随心所欲的创建逻辑卷。文件系统就是逻辑卷上创建,然后可以在操作系统挂载和访问。
### LVM测试说明 ###
本文将介绍**怎么在linux中创建和管理LVM卷**。我们将会分成两个部分。第一个部分,我们首要在一个硬盘上创建多个逻辑卷,然后将它们挂载在/lvm-mount目录。然后我们将要对创建好的卷调整大小。而第二部分我们将会从另外一块硬盘增加额外的卷到LVM中。
本文将介绍**怎么在linux中创建和管理LVM卷**。我们将会分成两个部分。第一个部分,我们首要在一个硬盘上创建多个逻辑卷,然后将它们挂载在/lvm-mount目录。然后我们将要对创建好的卷调整大小。而第二部分我们将会从另外一块硬盘增加额外的卷到LVM中。
### 准备磁盘分区 ###
通过使用fdisk创建磁盘分区。我们需要创建3个1G分区注意相同大小的分区不是强制的。同样分区需要使用8e类型来使他们兼容LVM。
通过使用fdisk创建磁盘分区。我们需要创建3个1G分区注意并不要求分区的大小一致。同样分区需要使用8e类型来使他们可用于LVM。
# fdisk /dev/sdb
----------
Command (m for help): n ## new
Command (m for help): n ## 新建
Command action
e extended
p primary partition (1-4)
p ## primary
p ## 主分区
Partition number (1-4): 1 ## partition number
First cylinder (1-1044, default 1): ## hit enter
Last cylinder, +cylinders or +size{K,M,G} (1-1044, default 1044): +1G ## size
Partition number (1-4): 1 ## 分区号
First cylinder (1-1044, default 1): ## 回车用默认的1
Last cylinder, +cylinders or +size{K,M,G} (1-1044, default 1044): +1G ## 大小
Command (m for help): t ## change type
Command (m for help): t ## 改变类型
Selected partition 1
Hex code (type L to list codes): 8e ## code for LVM
Hex code (type L to list codes): 8e ## LVM 的分区代码
Changed system type of partition 1 to 8e (Linux LVM)
重复上面的操作来创建其他两个分区。分区创建完成后,我们应该有类似如下的输出:
@@ -46,15 +46,15 @@ LVM使用分层结构如下图所示。
/dev/sdb2 133 264 1060290 8e Linux LVM
/dev/sdb3 265 396 1060290 8e Linux LVM
### 准备物理卷 ###
### 准备物理卷(PV) ###
刚创建的分区是用来储存物理卷的。LVM可以不同大小的物理卷上工作
刚创建的分区是用来储存物理卷的。LVM可以使用不同大小的物理卷。
# pvcreate /dev/sdb1
# pvcreate /dev/sdb2
# pvcreate /dev/sdb3
使用下列命令检查物理卷已经创建。下面截取部分输出。"/dev/sdb2"是一个新的"1.01 GiB"物理卷。
使用下列命令检查物理卷的创建情况。下面截取部分输出。"/dev/sdb2"是一个新的"1.01 GiB"物理卷。
# pvdisplay
@@ -75,8 +75,7 @@ LVM使用分层结构如下图所示。
# pvremove /dev/sdb1
### 准备卷组 ###
### 准备卷组(VG) ###
下列命令用来创建名为'volume-group1'的卷组,使用/dev/sdb1, /dev/sdb2 和 /dev/sdb3创建。
@@ -109,20 +108,19 @@ LVM使用分层结构如下图所示。
Free PE / Size 774 / 3.02 GiB
VG UUID bwd2pS-fkAz-lGVZ-qc7C-TaKv-fFUC-IzGNBK
从输出中,我们可以看见卷组的使用量/总量。物理卷给卷组提供空间。只要在这个卷组中还有可用空间,我们就可以随意创建逻辑卷。
使用下列命令删除卷组。
# vgremove volume-group1
### 创建逻辑卷 ###
### 创建逻辑卷(LV) ###
下列命令创建一个名为'1v1'、大小为100MB的逻辑卷。我们使用小分区减少执行时间。逻辑卷使用之前创建的卷组的空间。
下列命令创建一个名为'1v1'、大小为100MB的逻辑卷。我们使用小分区减少执行时间。这个逻辑卷使用之前创建的卷组的空间。
# lvcreate -L 100M -n lv1 volume-group1
逻辑卷使用lvdisplay命令查看。
逻辑卷使用lvdisplay命令查看。
# lvdisplay
@@ -143,13 +141,13 @@ LVM使用分层结构如下图所示。
- currently set to 256
Block device 253:2
现在逻辑卷已经准备好了我们可以格式化和挂载逻辑卷就像ext2/3/4分区一样
现在逻辑卷已经准备好了,我们可以格式化和挂载逻辑卷,就像其它ext2/3/4分区一样
# mkfs.ext4 /dev/volume-group1/lv1
# mkdir /lvm-mount
# mount /dev/volume-group1/lv1 /lvm-mount/
一旦逻辑卷挂载,我们就可以到挂载点/lvm-mount/读取/写入了。为了创建和挂载额外的逻辑卷,我们重复这个过程。
一旦逻辑卷挂载,我们就可以到挂载点 /lvm-mount/ 上读写了。要创建和挂载其它的逻辑卷,我们重复这个过程。
最后使用lvremove我们可以删除逻辑卷。
@@ -158,9 +156,9 @@ LVM使用分层结构如下图所示。
### 扩展一个LVM卷 ###
调整逻辑卷大小的功能是LVM最好的部分。这个章节会讨论我们怎么样扩展一个存在的逻辑卷。接下来我们将会扩展先前创建的逻辑卷lv1扩大到200MB。
调整逻辑卷大小的功能是LVM最有用的功能。这个部分会讨论我们怎么样扩展一个存在的逻辑卷。下面我们将会扩展先前创建的逻辑卷lv1扩大到200MB。
注意,调整逻辑卷大小之后,也需要对文件系统调整大小进行匹配。个额外的步骤各不相同,这取决于创建文件系统的类型。在本文中,我们使用'lv1'创建了ext4类型的文件系统所以这里的操作是针对ext4文件系统的。它也兼容ext2/3文件系统。命令的执行顺序是很重要的。
注意,调整逻辑卷大小之后,也需要对文件系统调整大小进行匹配。个额外的步骤各不相同取决于创建文件系统的类型。在本文中,我们使用'lv1'创建了ext4类型的文件系统所以这里的操作是针对ext4文件系统的。ext2/3文件系统也类同)。命令的执行顺序是很重要的。
首先我们卸载掉lv1卷
@@ -174,13 +172,12 @@ LVM使用分层结构如下图所示。
# e2fsck -f /dev/volume-group1/lv1
完成以后ext4信息已经更新。
运行以下命令扩展文件系统以后ext4信息更新
# resize2fs /dev/volume-group1/lv1
现在这个逻辑卷应该已经扩展到200MB了。我们检查LV的状态来验证。
# lvdisplay
----------
@@ -200,14 +197,13 @@ LVM使用分层结构如下图所示。
- currently set to 256
Block device 253:2
现在,这个逻辑卷可以再次挂载,同样这个方法使用其他分区。
现在,这个逻辑卷可以再次挂载,同样这个方法也可用于其他分区。
### 缩减一个LVM卷 ###
这章节介绍缩减LVM卷大小的方法。命令的顺序同样重要。并且下列命令对ext2/3/4文件系统同样有效。
注意减少逻辑卷的大小值若小于储存的数据大小,会出现数据丢失。
注意减少逻辑卷的大小值若小于储存的数据大小,存储在后面的数据会丢失。
首先,卸载掉卷。
@@ -217,7 +213,7 @@ LVM使用分层结构如下图所示。
# e2fsck -f /dev/volume-group1/lv1
接下来更新ext4信息。
接下来缩小文件系统更新ext4信息。
# resize2fs /dev/volume-group1/lv1 100M
@@ -254,8 +250,7 @@ LVM使用分层结构如下图所示。
### 扩展一个卷组 ###
本节将讨论扩展卷组的方法,将一个物理卷添加到卷组。让我们假设我们的卷组'volume-group1'已经满了,需要扩大。上的硬盘sdb已经没有其他空闲分区我们添加了另外一个硬盘sdc。我们将看到如何sdc扩展一个卷组,并增加一个分区
本节将讨论扩展卷组的方法,将一个物理卷添加到卷组。让我们假设我们的卷组'volume-group1'已经满了,需要扩大。上的硬盘sdb已经没有其他空闲分区我们添加了另外一个硬盘sdc。我们将看到如何sdc的分区添加到卷组以扩展。
检测现在卷组状态
@@ -316,7 +311,7 @@ LVM使用分层结构如下图所示。
# vgextend volume-group1 /dev/sdc1
使用vgdisplay来验证。
使用vgdisplay来验证(可以看到卷组大小已经增大)
# vgdisplay
@@ -343,7 +338,7 @@ LVM使用分层结构如下图所示。
Free PE / Size 1262 / 4.93 GiB
VG UUID bwd2pS-fkAz-lGVZ-qc7C-TaKv-fFUC-IzGNBK
注意尽管我们使用一个单独的磁盘做示范其实只要是8e类型的磁盘都可以用来扩展卷组。
注意尽管我们使用一个单独的磁盘做示范其实只要是8e类型的磁盘分区都可以用来扩展卷组。
总结一下LVM是一个非常给力的工具用来创建和管理可变大小的分区。本文中我们已经看见了动态分区如何在LVM中创建和使用。我们也看见了扩展/缩小逻辑卷和卷组的方法和如何增加一个新的磁盘到LVM。
@@ -353,6 +348,6 @@ LVM使用分层结构如下图所示。
via: http://xmodulo.com/2014/05/use-lvm-linux.html
译者:[Vic___](http://www.vicyu.net) 校对:[校对者ID](https://github.com/校对者ID)
译者:[Vic___](http://www.vicyu.net) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@@ -1,20 +1,23 @@
Ubuntu 14.04安装声云SoundCloud
================================================================================
[SoundCloud][1]是一个发现交流音乐或印地音乐的很棒的平台。如果你是声云SoundCloud的粉丝你可以在Ubuntu 14.04或者其早期版本以及Linux Mint、Elementary OS等其它Linux发行版中作为“桌面应用”来尝试。
[SoundCloud][1]是一个发现alternate音乐和 indi音乐的很棒的平台。如果你是声云SoundCloud的粉丝你可以在Ubuntu 14.04或者其早期版本以及Linux Mint、Elementary OS等其它Linux发行版中作为“桌面应用”来尝试。
要**在Ubuntu 14.04中安装声云SoundCloud**,我们将使用与[在Ubuntu中安装Google Keep][2]相同的方法来安装。上次我们使用Google Chrome来安装Google Keep而这次我们将使用Firefox来安装声云SoundCloud
### 在Ubuntu 14.04和Linux Mint中安装声云SoundCloud ###
由于Ubuntu以及大多数其它Linux发行版预装了Firefox只需打开Firefox并转到该地址[https://marketplace.firefox.com/][3]。
Firefox应用市场是Chrome商店的替代品里面提供了一些用于Firefox智能手机OS的应用和Firefox网页浏览器一样。在Firefox应用市场中搜索声云SoundCloud点击安装install来安装并作为Web应用添加到Ubuntu中。
Firefox应用市场是Chrome商店的替代品类似于Firefox网页浏览器的应用市场里面提供了一些用于Firefox智能手机OS的应用。在Firefox应用市场中搜索声云SoundCloud点击安装install来安装并作为Web应用添加到Ubuntu中。
![](http://itsfoss.com/wp-content/uploads/2014/05/Firefox_SoundClud.jpeg)
一旦完成你可以通过在Unity Dash中搜索声云SoundCloud应用来启动它。下图展示了Ubuntu 14.04 Unity中该应用的外观
完成你可以通过在Unity Dash中搜索声云SoundCloud应用来启动它。下图展示了Ubuntu 14.04 Unity中该应用的外观
![](http://itsfoss.com/wp-content/uploads/2014/05/SoundCloud_Ubuntu.jpeg)
### 卸载从Firefox应用市场安装的声云SoundCloud应用 ###
不要过于兴奋了。该桌面没有整合声音菜单我也不能对桌面通知持相同看法但是这的确比Web应用要好至少我是这么认为的。但是如果你感到不满意那么就卸载它吧这在Ubuntu中也很容易。
不要过于兴奋了。该桌面没有整合声音菜单桌面通知也一样没有但是这的确比Web版应用要好至少我是这么认为的。但是如果你感到不满意那么就卸载它吧这在Ubuntu中也很容易。
运行声云SoundCloud在Unity启动器上**右击**声云SoundCloud图标然后点击**卸载应用uninstall app**。
@@ -26,7 +29,7 @@ Firefox应用市场是Chrome商店的替代品里面提供了一些用于Fire
via: http://itsfoss.com/install-soundcloud-ubuntu-1404/
译者:[GOLinux](https://github.com/GOLinux) 校对:[校对者ID](https://github.com/校对者ID)
译者:[GOLinux](https://github.com/GOLinux) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@@ -0,0 +1,106 @@
Linux大神们的顶级命令行秘诀
================================================================================
![](http://www.linuxinsider.com/images/rw509807/command-line.jpg)
**好吧**Linux博客圈这里这周相对比较平静给网民们一个拖了很久的机会集体喘口气吧去享受一下龙舌兰、燕尾服、鸡尾酒带来的欢快吧然后评估一下过去几周来发生的和自由开放软件相关的事件吧。
“你是否曾经在听一张专辑的时候想过伙计这听起来不错但是我希望它能经常从用户空间过渡到内核空间去”粉丝们在Facebook上写道“我们会全力支持你的。我们的专辑现在完全可以作为一个可加载的Linux内核模块来播放。”
Linux女孩曾经认为她自己已经完全进入Linux世界了但是她现在却意识到她的想法是错误的。谢谢你们粉丝们是你们让生活一直这么有趣
### ‘命令行秘诀’ ###
![](http://www.linuxinsider.com/images/article_images/linuxgirl_bg_pinkswirl_150x245.jpg)
说到有趣没什么比围坐在吧台前谈论行业内的事情来度过平静的一周更带劲了而上周搞了一次。Linux博客圈内的生活很惬意。
座谈会内容是《Linux之声》——那本炫目出世的新杂志读者也许记得它是[去年年底发布的][6]——而谈话的主题恰恰就是[命令行秘诀][7]
Linux女孩太激动了。
### ‘它打算渲染大多数网页’ ###
“有很多使用命令行的真正的好理由”《Linux之声》的策划者写道“它是让你和计算机进行交互的强大而简明的方法“
“然而,我想花点时间来看看它里头一些更为晦涩的用法(有人会说毫无意义,不值得去做了)。“他们补充说。
杂志首先列出的是elinks网页浏览器“它可能看起来没有它的竞争对手那样光彩照人但它的目标是能够渲染大多数网页。”他们解释道“它也有着极客时尚当你需要快速检查你是否能从只能通过SSH访问的计算机上去访问网页时它就会派上用场了。“
之后谈到的包含了从维基百科上查阅一些定义等其它一些实用的小建议。
### '对维护很重要' ###
“命令行的小技巧很有趣真的很有趣。”比如Google+博主亚历桑德鲁:埃伯索尔满怀热情地说,“但是他们忘了[cowsay][8],它可以用来在黑漆漆的终端里博你一笑。“
”命令行对于维护很重要。“他补充说”大家可以使用bash脚本来自动化只需按几个快捷键或者只要一个就行来完成复杂的任务。”
其它命令行秘诀埃伯索尔会把它们放进原来的列表的包括sl蒸汽机车以及这些[这些奇怪的点子][9]
* % cat "food in cans"
cat: can't open food in cans
* % nice man woman
No manual entry for woman.
* % [Where is Jimmy Hoffa?
Missing ].
* % make love
Make: Don't know how to make love. Stop.
* % man: why did you get a divorce?
man:: Too many arguments.
### '最珍贵的精华' ###
“命令行秘诀?根本没这玩意。”博主[罗伯特:伯格森][10]告诉Linux女孩道”失望了吧新手那就猛敲help吧。还想要点提示随便man个什么吧。想更多来点不同ls /bin /sbin /usr/bin /usr/sbin | less随便捡几个宝贝命令出来整晚地man去吧。我已经干那活超过十年了到现在还玩得不亦乐乎。”
伯格森记不得多久以前他发现了ssh但是“它是自由/开源软件世界中最璀璨的宝石了。“他说。
”ssh的强大力量在于你可以在一台计算机上输入命令获得快乐你更可以在100台计算机上干同样的事情来获得100倍的快乐。“他补充道”当然要输入100次命令可不是闹着玩的。所以学习一下通过ssh安全地无密码登陆可以让ssh的远程登陆透明化。“
### '带着尊重来用吧' ###
当然”就像干任何快乐的事一样有人会沉迷于搞破坏。“伯格森警告道”作为root用户你可以输入命令来删除所有的东西或者把这一切搞乱。“
”这是核弹按钮,就像全球领袖处理世界事务一样,在按下那个键之前一定要三思而后行,评估干这事所产生的结果,带着尊重和高尚的动机来使用它。“他补充道。
”我曾经删除了一个文件系统,因为我的大拇指在输入一个命令时不小心蹭到了空格键。“伯格森总结道,”坦白地说,这种蠢事我只干过一次。“
### '很强大' ###
Google+博主贡萨洛贝拉斯科C不那么热情。
“即使[GUI][11]工具更易用,在*nix领域命令行仍然很强大。“他告诉Linux女孩”甚至一些高级MacOS用户也用它们。”
对于贡萨洛贝拉斯科C他自己而言“我想要掌握的唯一一些命令是进程控制和杀死命令想要使用ctrl+alt+退格键因为我可以用来处理给我造成麻烦的那个进程我还想要掌握tar.gz文件的管理——那玩意到现在还让我头痛。“他说。
#### '你正在做错事' ####
最后一点但并非不重要SoylentNews博主hairyfeet有一个完全不同的观点。
“我只想谈一件事情来充实一下命令行界面这个报道如果你不干IT而且做着一些重复的事情而这些事情只是很简单、很原始地去记录一些有用的事情但你还在用命令行那么你在走一条不归路“hairyfeet告诉Linux女孩”命令行界面没什么神奇——它只是1970年代以来的一个图形化界面
今天有很多“有用的图形化界面这要多亏了CPU速度的提升和内存的增加而不是一美元店里的廉价手表——我们甚至有IDE和脚本语言大大超过70年代那些古董可以在广域网或者局域网上工作并与操作系统最底层交互一切都在变得更易用这多亏了智能感应和自动完成这样的技术。“他解释说”所以上天作证如果你不是那3%的系统管理员,工作在以字节计数的世界里,你会把那一堆垃圾从陈年旧帐中翻出来?
这是Hairyfeet的最佳命令行建议“不要——被21世纪那些不切实际的想法所左右学学怎样真正来使用语言和工具吧。“他总结道”让命令行成为泡影把软盘都扔进历史的垃圾桶吧。“
> 本文作者Katherine Noyes总是尽忠职守扮演好她的Linux女孩那件斗篷她从2007穿到现在了。作为一个白天举止温和的女记者她晚上像逛夜店一样为了搜寻最新的小道消息在Linux博客圈上灌水。你也能在 [Twitter][12]和[Google+][13]上找到她。
--------------------------------------------------------------------------------
via: http://www.linuxinsider.com/story/80437.html?rss=1
译者:[GOLinux](https://github.com/GOLinux) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://www.computer.org/portal/web/pressroom/Linus-Torvalds-Named-Recipient-of-the-2014-IEEE-Computer-Society-Computer-Pioneer-Award
[2]:http://www.ieee.org/
[3]:http://www.linuxinsider.com/story/80386.html
[4]:https://www.facebook.com/netcatband/posts/755205877853161?stream_ref=10
[5]:http://www.netcat.co/
[6]:http://www.linuxinsider.com/story/79448.html
[7]:http://www.linuxvoice.com/commandline-secrets/
[8]:http://en.wikipedia.org/wiki/Cowsay
[9]:https://www.linux.com/community/blogs/133-general-linux/10408
[10]:http://mrpogson.com/
[11]:http://en.wikipedia.org/wiki/GUI
[12]:http://twitter.com/noyesk
[13]:https://plus.google.com/+KatherineNoyes?rel=author

View File

@@ -0,0 +1,126 @@
Linux终端下 dstat 监控工具
================================================================================
dstat 是一个可以取代vmstatiostatnetstat和ifstat这些命令的多功能产品。dstat克服了这些命令的局限并增加了一些另外的功能增加了监控项也变得更灵活了。dstat可以很方便监控系统运行状况并用于基准测试和排除故障。
dstat可以让你实时地看到所有系统资源例如你能够通过统计IDE控制器当前状态来比较磁盘利用率或者直接通过网络带宽数值来比较磁盘的吞吐率在相同的时间间隔内
dstat将以列表的形式为你提供选项信息并清晰地告诉你是在何种幅度和单位显示输出。这样更好地避免了信息混乱和误报。更重要的是它可以让你更容易编写插件来收集你想要的数据信息以从未有过的方式进行扩展。
Dstat的默认输出是专门为人们实时查看而设计的不过你也可以将详细信息通过CSV输出到一个文件并导入到Gnumeric或者Excel生成表格中。
###特性###
- 结合了vmstatiostatifstatnetstat以及更多的信息
- 实时显示统计情况
- 在分析和排障时可以通过启用监控项并排序
- 模块化设计
- 使用python编写的更方便扩展现有的工作任务
- 容易扩展和添加你的计数器(请为此做出贡献)
- 包含的许多扩展插件充分说明了增加新的监控项目是很方便的
- 可以分组统计块设备/网络设备,并给出总数
- 可以显示每台设备的当前状态
- 极准确的时间精度,即便是系统负荷较高也不会延迟显示
- 显示准确地单位和和限制转换误差范围
- 用不同的颜色显示不同的单位
- 显示中间结果延时小于1秒
- 支持输出CSV格式报表并能导入到Gnumeric和Excel以生成图形
### 安装方法 ###
Ubuntu/Mint和Debin系统
本地软件库中有相关安装包,你可以用下面命令安装:
# sudo apt-get install dstat
RHEL/Centos和Fedora系统:
你可以在romforge软件库中添加有相关安装包参照[指导][2],使用如下命令很简单就能进行安装:
# yum install dstat
ArchLinux系统
相关软件包在社区资源库中,你可以用这个命令来安装:
# pacman -S dstat
###使用方法 ###
dstat的基本用法就是输入dstat命令输出如下
![](http://cdn.linuxaria.com/wp-content/uploads/2014/05/dstat.png)
这是默认输出显示的信息:
**CPU状态**CPU的使用率。这项报告更有趣的部分是显示了用户系统和空闲部分这更好地分析了CPU当前的使用状况。如果你看到"wait"一栏中CPU的状态是一个高使用率值那说明系统存在一些其它问题。当CPU的状态处在"waits"时那是因为它正在等待I/O设备例如内存磁盘或者网络的响应而且还没有收到。
**磁盘统计**:磁盘的读写操作,这一栏显示磁盘的读、写总数。
**网络统计**:网络设备发送和接受的数据,这一栏显示的网络收、发数据总数。
**分页统计**系统的分页活动。分页指的是一种内存管理技术用于查找系统场景一个较大的分页表明系统正在使用大量的交换空间或者说内存非常分散大多数情况下你都希望看到page in换入和page out换出的值是0 0。
**系统统计**这一项显示的是中断int和上下文切换csw。这项统计仅在有比较基线时才有意义。这一栏中较高的统计值通常表示大量的进程造成拥塞需要对CPU进行关注。你的服务器一般情况下都会运行运行一些程序所以这项总是显示一些数值。
默认情况下dstat每秒都会刷新数据。如果想退出dstat你可以按"CTRL-C"键。
需要注意的是报告的第一行,通常这里所有的统计都不显示数值的。
这是由于dstat会通过上一次的报告来给出一个总结所以第一次运行时是没有平均值和总值的相关数据。
但是dstat可以通过传递2个参数运行来控制报告间隔和报告数量。例如如果你想要dstat输出默认监控、报表输出的时间间隔为3秒钟,并且报表中输出10个结果你可以运行如下命令
dstat 3 10
在dstat命令中有很多参数可选你可以通过man dstat命令查看大多数常用的参数有这些
- -l :显示负载统计量
- -m 显示内存使用率包括usedbuffercachefree值
- -r 显示I/O统计
- -s :显示交换分区使用情况
- -t :将当前时间显示在第一行
- fs 显示文件系统统计数据包括文件总数量和inodes值
- nocolor :不显示颜色(有时候有用)
- socket :显示网络统计数据
- tcp 显示常用的TCP统计
- udp 显示监听的UDP接口及其当前用量的一些动态数据
当然不止这些用法dstat附带了一些**插件**很大程度地扩展了它的功能。你可以通过查看/usr/share/dstat目录来查看它们的一些使用方法常用的有这些
- -disk-util :显示某一时间磁盘的忙碌状况
- -freespace :显示当前磁盘空间使用率
- -proc-count :显示正在运行的程序数量
- -top-bio 指出块I/O最大的进程
- -top-cpu 图形化显示CPU占用最大的进程
- -top-io 显示正常I/O最大的进程
- -top-mem :显示占用最多内存的进程
举一些例子:
查看全部内存都有谁在占用:
dstat -g -l -m -s --top-mem
显示一些关于CPU资源损耗的数据
dstat -c -y -l --proc-count --top-cpu
###如何输出一个csv文件###
想输出一个csv格式的文件用于以后可以通过下面的命令
# dstat output /tmp/sampleoutput.csv -cdn
--------------------------------------------------------------------------------
via: http://linuxaria.com/howto/linux-terminal-dstat-monitoring-tools
译者:[disylee](https://github.com/disylee) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://linuxaria.com/tag/network
[2]:http://www.tecmint.com/install-and-enable-rpmforge-repository-in-rhel-centos-6-5-4/

View File

@@ -0,0 +1,136 @@
让Linux宾至如归
================================================================================
**采用小企鹅不管是对于小企业还是大企业而言都是一个明智的选择。Linux曾经被认为是业余爱好者的操作系统但是经历了很长一段历程后现在它成了企业级系统。它很稳定而且很安全。Linux易于定制而且有庞大的社区提供帮助。这只是迁移到Linux桌面的部分理由。**
![](http://www.linuxinsider.com/images/rw979454/linux-migration.jpg)
迁移到一个不同的系统从来都不是件容易的事。继续开着窗户Windows或吃着苹果MacIntosh可能是个令人沮丧且代价高昂的体验。花钱升级新的硬件来赶上高贵的新软件时髦这往往是毫无价值的做法。
在家里或一个小型的办公环境中运行一个Linux发行版这是个有益的尝试它可以带来开支的节约和效率的提升。对于企业环境而言采用Linux服务器系统来替代微软基础架构常常是个明智的商业选择。
然而放弃熟悉操作系统下的舒适环境的过程看起来比实际更具挑战性。个人用户和中小型企业可以分阶段迁移到Linux桌面。软件是免费的而用户已有的硬件是可以支持Window和Linux架构的。
许多更大型的企业已经跑起了它们自己的Linux服务器仓库和完整的Linux桌面应用这里它更容易适应。基于云的软件的使用使得办公室人员在使用他们的工作站工作时意识不到有很大的改变。
“是否迁移到Linux取决于使用情况。如果在家里使用或者从事开发那么你会想使用Linux中所有可用的功能。那是没脑子的想法。迁移到另外一个操作系统从来没有一帆风顺的。没有哪种使用情况可以适合所有场合它取决于用户基础。“麦克 瓦伊塔尔,[Talkpoint][1]首席技术官告诉LinuxInsider。
在中小型企业中和企业客户一起工作瓦伊塔尔发现利用新技术的个人用户和公司领导者的数量在增长这些新技术将他们吸引到Linux中来。
### 舒适度期望值 ###
这些Linux技术之一就是Chrome OS还有现在由基于Linux的Chrome操作系统驱动的廉价笔记本。
由于用户已经熟悉Google的Chrome浏览器或者开源的Chronium浏览器项目使用Chromebook或者基于云的运载系统使得迁移到Linux变得小菜一碟。
“忽略使用的操作系统其中一个问题是浏览器的能力。我们已经发现用户85%的时间花在浏览器中”[Splashtop][2]的共同创立者及产品管理高级副总裁托马斯.邓这样对LinuxInsider说。
邓发现,那些有着快速学习曲线、能适应较新技术的人对此越来越有兴趣。人们使用多种多样的产品。因此迁移到一个与他们在其它设备上使用过的系统类似的系统,会使得迁移更平稳。
### Chrome迎合潮流 ###
移动设备用户不管是在家中还是工作中越来越精通Linux而他们根本不知道这是个什么系统。他们在几个操作系统间切换。伴随着熟练程度的提高开源环境也越发让人感觉舒适。通过云平台来分发跨平台软件这是一个附加的迁移措施。
“Google正在做的是与办公套件相关的一些真正有趣的事情。Google现在正在它的Chrome OS上敞开大门。”瓦伊塔尔说。
对于关闭窗户Windows敞开大门Chrome OS一个很好的例子是它的公司内部使用Chrome驱动的工具。例如Talkpoint使用ChromeBox设备。
“那就为多媒体团队和传统的AV用户敞开了大门。我们看到该技术上的很多进展。”瓦伊塔尔解释说。
### 平板打破传统 ###
另外一个Linux设备为迁移到桌面OS铺平道路的例子是安卓系统的流行。加上这个为智能手机和平板电脑改良的Linux发行版。
“对于迁移到Linux的人而言人们对平板界面感到很舒服尤其是在对Windows 8界面感到不满之后。我认识的每个人都试着回到Windows 7。”瓦伊塔尔说。
### 云计算具有Linux影响力 ###
人们希望使用像MS Offcie这样熟悉的生产工具来进行文字处理。而在Windows平台上开源产品不怎么被人熟知。因此在开始迁移到完整的Linux桌面之前先整合开源工具到原有平台会很有帮助。邓解释道。
随着Google Docs和Google Chrome浏览器的流行Windows用户不知道开源的趋势正在发生改变。他指出。
“让迁移到Linux变得方便的另外一条路是迁移到云端使用云端应用。”邓说。“对用户进行教育是将用户迁移到Linux的最有效的方式。Chromebook正大量被采用这是一条迁移到Linux便捷的道路。”
### 小企鹅威猛 ###
聘请TuxLinux的吉祥物小企鹅对于小企业和大企业来说都是明智的选择。它是一个成熟、稳定而又灵活的操作系统绝对可以帮你干活。据肖恩.塞乐,[视觉解决方案][3]高级产品经理说。
“对于小型商业公司运行Linux来替代其它操作系统是令人信服的选择而且也带来优势当然这取决于你的公司的需求。”塞乐告诉LinuxInsider。
它曾经被认为是业余爱好者的操作系统但是经历了很长一段历程后现在它成了企业级系统。它很稳定而且很安全。Linux易于定制而且有庞大的社区提供帮助。这只是迁移到Linux桌面的部分理由。
### 商业加分 ###
利用更多的社区支持模式可以节约成本塞乐说。Linux可以获得免费的社区支持也可以付费订阅完整的技术支持。一些Linux版本也有硬件和软件认证这些东西这些对于某些工作环境是很重要的。
例如小型商业公司和大型企业可以完整地免费运行像CentOS或者OpenSuse这样的发行版或者也可以从[Red Hat][4]或者Suse来整合付费的版本。即便是一个完整的订阅服务Linux也比Windows或者传统的Unix提供了更低的总拥有成本以及更好的投资回报塞乐解释道。
“我相信让小型企业来切身体验一下Linux很有意义。”塞乐补充道“由于在社区以及像IBM和Red Hat这样的公司的帮助下开源软件总体上正以快速的步伐帮助推动革新Linux有一个光明的前途。”
### 小心爽一把 ###
操作系统在家庭和工作场所有不同的忠实用户。就拿BDNA的CTO沃克.怀特来说吧。他在家里使用Linux作为桌面操作系统但是他的家人却对他热衷的东西并不买账。
“我的家人用Mac之类的。他们盲目追随市场营销和功能炒作而根本不考虑性能之类的东西。我在家里进行一个人的圣战试着策反更多的人来加入Linux阵营。”怀特告诉LinuxInsider。
在他的公司里有类似的死忠派在奋斗他说道他公司里Linux桌面使用并不普遍 —— 但他们为Linux在工作中更广泛地部署打下了基础。
BDNA在内部使用Google应用很多。公司也在把越来越多的东西迁移到基于云计算的产品中。无论如何这会给筹备中的工作更多的支持。
“当我切换到想OpenOffice这样的应用时该操作必须真正实现无缝操作以捕获更多人的心。从纯市场角度看开发者需要稍稍改变一下游戏规则。苹果赢得了年轻孩子和30岁年轻一代的心。我经常在我公司听到这样的想法。”他说。
### 小企鹅对战苹果 ###
增加新的硬件设备是高端的MacBook Pro的特点怀特解释道。尽管他们主要使用的工具是在线工具BDNA的职员还是想要华而不实的高度宣传的硬件。
为了打破这种观念,他不得不将操作系统和硬件的功能分离。战役的一部分是将用户与操作系统本身隔离。而这只有在企业同时有在线和离线的生产力应用程序才会发生,据怀特说。
“即使是使用文件管理器这样简单的事情,也应该将注意力放在操作系统允许我们在我们使用的应用里头做什么,而不是操作系统本身。”他说。
### 爽到极点 ###
操作系统多大程度上控制计算机用户这个问题对于迁移到Linux而言很关键怀特说。
想想Chromebook以及安卓手机和平板的不断成功消费者真的需要知道他们正在运行Linux么
“我认为迁移到Linux以及Linux在家里成功的关键在于我们可以在线做多少事情。”怀特说“因为我在家里使用Linux所以我看到了其中的优势。”
你是否启用家庭消费者层面的设置,或是转向家庭或小企业用户设置,重点在于用户可以兼容他们使用的工具和功能。这里头包括像共享和创建文档,以及与之相关的事情,他说明道。
### 迁移措施 ###
对于市场而言软件和硬件生产商需要减少对操作系统的关注。例如Chromebook正以苹果销售MacBook类似的方式获得大众认可。Google与其说是在贩卖Linux操作系统倒不如说它是在销售应用怀特回答道。
“开发者真正需要做的是改变工作重点让用户和Linux相处融洽而不是让他们停留在使用非Windows或者非Mac操作系统的踌躇上。不管你用什么必须可以让它做你想让它做的事。像Chromebook这样的事物正是秉承了这样的观点将Linux操作系统本身掩盖了起来。”他指出。
计算机生产商必须首先开始打破“它是Windows”或者“它是Mac”这样的模式。到那个时候迁移到Linux的数量才会大幅攀升怀特总结道。
“这无关操作系统品牌,”他说,“而在于运行该操作系统的设备所能做的事。”
--------------------------------------------------------------------------------
via: http://www.linuxinsider.com/story/80415.html
译者:[GOLinux](https://github.com/GOLinux) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://www.talkpointcommunications.com/
[2]:http://www.splashtop.com/
[3]:http://www.visionsolutions.com/
[4]:http://www.redhat.com/
[5]:http://www.bdna.com/
[6]:http://www.openoffice.org/
[7]:
[8]:
[9]:
[10]:
[11]:
[12]:
[13]:
[14]:
[15]:
[16]:
[17]:
[18]:
[19]:
[20]:

View File

@@ -0,0 +1,60 @@
谢天谢地,开源软件中的个人崇拜正在消亡!
================================================================================
“开源之神圣独裁者”越来越少了,不过没事!
Roy Rubin这位流行的电子商务开源项目[Magento][1]的联合创始人从这一2008年启动的项目中功成身退后在[这周说出了][2]上面这样的话语。
![](http://readwrite.com/files/styles/1400_0/public/fields/richardstallman_0.jpg)
这已经不是第一次一个开源项目的领导者出走项目了,但值得注意的是对于它带来的反响是:没啥大的反应。
并不是因为Rubin对于Magento项目不重要实际上他非常重要。六年来Rubin实际上是Magento项目的灵魂。但是开源软件一直在成长它一直在削弱个人对其的影响。当然没人希望Linux的创始人Linus Torvalds不小心被车撞了在这点上我们是[爱他][3]的。但是另外一方面其实我们并不太在意。
但是并不总是这样的。
### 崇拜开源之神圣独裁者! ###
在好的一面,成功的开源项目一直以来都和伟大的领导者密不可分。对一个充满活力又有独立思想的一个开发团体施加影响,必定是众口难调的事情。在一个专门的开源项目当中不同的观点会产生各种不同的路线(在代码层上,管它叫做“分支”),通常这时候,要么是“开源之神圣独裁者”,要么是项目领袖,将会介入,施展自己的领导才能让开发人员团结在一起。
“[开源之神圣独裁者 BDFL][0]”这个词[可能第一个用于Python项目的领导者Guido von Rossum][4]。它现在也被用到了Linux的发明人Linus Torvalds身上以及Ubuntu的领导者Mark Shuttleworth和其他人身上。有时候另外两个人也会冠以这个称号比如[Django][5]项目的Adrian Holovaty和Kaplan-Moss。LCTT译注BDFLbenevolent dictator for life 由LCTT 核心译者 Viz 建议译作“开源之神圣独裁者”。)
在他们影响力最大的时候这些领袖离开项目会对项目的将来产生灾难性的影响这展现出这些伟大领导者与项目之间紧密的关联。但是有时候也不总是这样。Django的领导者[去了其他的项目][6]但是Django依然不断前行着像Python、Lucene领导者Doug Cutting、Jboss领导者Marc Fleury和其他很多的项目也是这样。
现在开源软件研发的团体依然围绕着伟大的领导者,但我们似乎并不像曾经的那样依赖他们了。开源软件的“个人崇拜”正在褪色,也有可能已经消亡了,但是接下来会怎么样呢?
### Apache和开源社区的崛起 ###
是的社区开始崛起了。我意识到我在做出一些自以为是的论调但是根据我在开源项目15年的经验来说我观察到开源软件项目从非常严格的控制阶段缓慢的转向了松散的开源团体他们经常是因为兴趣才互相合作的。
当然并不清楚是先有 BSD/Apache之类的许可证的“鸡”还是后有开源软件相互合作的“蛋”这两个很明显的一起改变了开源软件的运作模式。
当然还是需要“开源之神圣独裁者”。举个例子当自由GNU还不是一个项目时很难想象如果没有了Richard Stallman会是怎么样。相反的很容易想象Apache Hadoop如果没有领导会怎么样…等等好像Hadoop真的没有人领导…
如果真的要说答案的话,那就是这里每个人或者[许多人][7]。当然Hadoop由Doug Cutting启动但是它已经发展成了一个公司和个人不过大多数的公司雇佣了这些人的协作的社区。
OpenStack与之类似[被涉及的公司所主导][8]如果某一个Openstack的开发者离开了Openstack依然能够继续。因此对于一个成员正在增加的开源项目来说这种类似是确信无疑的。
### 未来不需要“开源之神圣独裁者”吗? ###
并不是说在以后的开源项目中不需要领导者。需要但是越来越多的开源项目转为团体之间的合作失去他们的风险消失了。坦白的说即使公司们没有深入的参入进来Apache许可证的项目反正也不依赖“开源之神圣独裁者”们。
Photo of Richard Stallman [courtesy of Friprog on Flickr][9]
--------------------------------------------------------------------------------
via: http://readwrite.com/2014/05/02/open-source-magento-roy-rubin-bdfl#feed=/hack&awesm=~oDgSTEdnXAjUv0
译者:[jiajia9linuxer](https://github.com/jiajia9linuxer) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://magento.com/
[2]:http://magento.com/blog/magento-news/note-roy-and-mark#.U2JhPK1dVii
[3]:http://www.serverwatch.com/server-news/if-linus-torvalds-got-hit-by-a-bus-would-linux-die.html
[4]:http://www.artima.com/weblogs/viewpost.jsp?thread=235725
[5]:https://www.djangoproject.com/
[6]:http://www.theatlantic.com/technology/archive/2014/01/on-the-reign-of-benevolent-dictators-for-life-in-software/283139/
[7]:http://hadoop.apache.org/who.html
[8]:http://activity.openstack.org/dash/releases/
[9]:https://www.flickr.com/photos/friprog/
[0]:http://en.wikipedia.org/wiki/Benevolent_dictator_for_life

View File

@@ -0,0 +1,36 @@
点评 Redhat RHEL 7和PclinuxOS 2014.05
=================
在最近的Distrowatch杂志上Jesse Smith尝试了一下RHEL 7桌面版本。在安装上“从RHEL安装介质启动到一个图形化的系统安装界面RHEL用了和最近发布的Fedora一样的新的Anaconda安装方式。就我个人来说新的安装方式是一种倒退”他说道。这没啥大不了的他猜测在桌面版本就是这样的吧。Smith说他希望有一种图形化的软件包管理工具因为用户只能在命令行下使用YUM源只能使用标准的默认库。之后GNOME shell登录崩溃了只能使用KDE登录。虽然有些困惑但是他非常喜欢新的防火墙配置工具。请看他的[详细报告][2]。
**在**ZDNet.com上Jamie Watson对新发布的PCLinuxOS 2014.05发表了自己的看法。他说道:
> 这是个有趣的看法你可能从它的名字当中想到它包含了很多软件补丁驱动在非标准的分支中。最有趣的一点是基于活动聚焦的虚拟桌面配置。这种趋势使PCLinuxOS使用起来既有趣又简单提供了以下的桌面环境个性化的图标:
> 互联网:浏览器,邮件,聊天工具
> 工作office、kile、scribus
> 娱乐:游戏
> 多媒体:音乐,视频的编辑和创作
> 图形和图像:浏览,编辑和创作
> 管理:系统管理任务
“PCLinuxOS始终使用原来的安装方式它来源于Mandriva/Mandrake安装方式”Watson提到。它还带来了新的内核最新的软件和多样化互动的界面。[他总结道][3]“这个新发布的PcLinuxOS版本很不错”。另外Watson在几周前也测试过了Ubuntu、Debian和LMDE。
--------------------------------------------------------------------------------
via: http://ostatic.com/blog/pros-secrets-and-red-hat-7-and-pclinuxos-2014-05-reviews
译者:[jiajia9linuxer](https://github.com/jiajia9linuxer) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://www.linuxinsider.com/story/Linux-Pros-Top-Command-Line-Secrets-80437.html
[2]:http://distrowatch.com/weekly.php?issue=20140512#feature
[3]:http://www.zdnet.com/hands-on-with-pclinuxos-2014-05-kde-and-lxde-the-linux-with-something-for-everyone-7000029297/
[4]:http://www.zdnet.com/testing-ubuntu-debian-and-lmde-on-my-new-notebook-7000029202/

File diff suppressed because one or more lines are too long

View File

@@ -2,7 +2,7 @@ Ubuntu Linux社区经理Jono Bacon离开Canonical公司
================================================================================
![](http://thevarguy.com/site-files/thevarguy.com/files/imagecache/medium_img/uploads/2014/05/jonobacon.jpg)
几天后,Canonical——Ubuntu Linux背后的公司将告别其任职已久的社区经理。[Jono Bacon][1],一直是 Ubuntu 业界最熟悉的面孔之一,他将在[XPRIZE基金会][2]任新职。
Canonical——Ubuntu Linux背后的公司其任职已久的社区经理将离职。[Jono Bacon][1],一直是 Ubuntu 业界最熟悉的面孔之一,他将在[XPRIZE基金会][2]任新职。
Bacon于2006年加入Canonical从[其博客可知][3]他是在收到XPRIZE的录用通知后决定离开Canonical的XPRIZE[自称][4]为“创新引擎”和“造福人类的催化剂”。他将会在XPRIZE就任社区主管施展他过去八年中在帮助协调Ubuntu社区方面所获得的能力。

View File

@@ -1,27 +1,25 @@
CNprober 翻译完成.travelwithheart@yeah.net, 619913541
如何将Vim打造成一个成熟的IDE
================================================================================
如果你稍微写一点代码就能知道“集成开发环境”IDE是多么的便利。不管是Java、C还是Python当IDE会帮你检查语法、后台编译或者自动导入你需要的库时写代码就变得容易许多。另外如果你工作在Linux上你也会知道Vim在进行文本编辑的时候是多么的方便。所以你可能会想从Vim中也获取这些IDE特性。
如果你稍微写一点代码就能知道“集成开发环境”IDE是多么的便利。不管是Java、C还是Python当IDE会帮你检查语法、后台编译或者自动导入你需要的库时写代码就变得容易许多。另外如果你工作在Linux上你也会知道Vim在进行文本编辑的时候是多么的方便。所以你可能会想从Vim中也获取这些IDE特性。
事实上很少有方法可以帮你做到。有些人可能会想到试着把Vim打造成C语言IDE的 [c.vim][1] 或者把Vim集成到Eclipse里的 [Eclim][2] 。但是我想要告诉你的是一个更加通用的只用插件实现的方案。你肯定不想因为安装了太多的面板和特性而让你的编辑器变得臃肿不堪。只用插件实现的方案可以让你只选择那些你想要集成到Vim的特性。这样做的额外的一个好处是这个IDE不是专门针对某一种语言的可以让你写任何类型的代码。下面就来看一下我的 **把IDE特性带进Vim的前10款插件** 吧。
事实上很少有方法可以帮你做到。有些人可能会想到试着把Vim打造成C语言IDE的,比如[c.vim][1];也有把Vim集成到Eclipse里的 [Eclim][2] 。但是我想要告诉你的是一个更加通用的只用插件实现的方案。你肯定不想因为安装了太多的面板和特性而让你的编辑器变得臃肿不堪。只用插件实现的方案可以让你只选择那些你想要集成到Vim的特性。这样做的额外的一个好处是这个IDE不是专门针对某一种语言的可以让你写任何类型的代码。下面就来看一下我的 **把IDE特性带进Vim的前10款插件** 吧。
### 先来个福利: Pathogen ###
首先可能不是所有人都熟悉Vim的插件也不知道怎么安装这些插件。所以,我推荐的第一个插件就是[Pathogen][3]因为这个插件会让你更容易安装其他插件。如果你要安装另外的没有在这里列出来的插件用Pathogen会变得非常简单。[官方页面][3]文档写的非常好,去下载安装一个吧。接下来插件的安装也会变得容易很多。
首先可能不是所有人都熟悉Vim的插件知道怎么安装这些插件。所以,我推荐的第一个插件就是[Pathogen][3]因为这个插件会让你更容易安装其他插件。如果你要安装另外的没有在这里列出来的插件用Pathogen会变得非常简单。它的[官方页面][3]文档写的非常好,去下载安装一个吧。接下来插件的安装也会变得容易很多。
### 1. SuperTab ###
[![](https://farm6.staticflickr.com/5158/14332189422_34aeb086ed_z.jpg)][4]
![](https://c2.staticflickr.com/6/5158/14332189422_34aeb086ed_z.jpg)
我们习惯于IDE的第一件事就是它的自动补全功能。所以,我习惯这个非常方便的给了Tab键“超能力”的 [SuperTab][5] 插件。
我们习惯于IDE的第一个原因就是它的自动补全功能。所以,我喜欢这个非常方便的给了Tab键“超能力”的 [SuperTab][5] 插件。
### 2. Syntastic ###
![](https://farm4.staticflickr.com/3894/14354095583_ce9b112b97_z.jpg)
如果你需要使用超过一种语言进行编,有时候是非常容易混淆不同语言之间的语法的。幸运的是,[syntastic][6] 会帮你检查,然后告诉你是否应该加上圆括号或者方括号,或者告诉你在某个地方,你忘了一个分号。
如果你需要使用一种以上的语言进行编,有时候是非常容易混淆不同语言之间的语法的。幸运的是,[syntastic][6] 会帮你检查,然后告诉你是否应该加上圆括号或者方括号,或者告诉你在某个地方,你忘了一个分号。
### 3. Auto Pairs ###
@@ -29,11 +27,11 @@ CNprober 翻译完成.travelwithheart@yeah.net, 619913541
### 4. NERD Commenter ###
如果你在找一个可以支持多种程序语言的注释代码的快捷键,你可以试试 [NERD Commenter][8]。即使你不是程序员我也非常非常推荐这款插件因为它会让你在注释bash 脚本或者其他任何东西的时候都会变得非常高效。
如果你在找一个可以支持多种程序语言的注释代码的快捷键,你可以试试 [NERD Commenter][8]。即使你不是程序员我也非常非常推荐这款插件因为它会让你在注释bash脚本或者其他任何东西的时候都会变得非常高效。
### 5. Snipmate ###
任何一个程序员都知道,好的coder写代码,杰出的coder重用代码。[snipmate][9] 可以容易的插入代码片段到你的文件里面,大大的减少了你敲键盘的次数。它默认的很多各种语言的代码片段,你也可以非常容易的添加你自己。
任何一个程序员都知道,好的码农写代码,杰出的码神重用代码。[snipmate][9]可以容易的插入代码片段到你的文件里面,大大的减少了你敲键盘的次数。它默认的包含了很多各种语言的代码片段,你也可以非常容易的添加你自己
### 6. NERDTree ###
@@ -46,19 +44,22 @@ CNprober 翻译完成.travelwithheart@yeah.net, 619913541
![](https://farm4.staticflickr.com/3904/14332189492_209a3ee2dc_z.jpg)
为了打造一个文件浏览器,支持同时打开多个文件,没有什么比一个好的缓冲区管理器更重要了。[MiniBufferExplorer][11] 就可以非常漂亮和高效地完成这个工作。它甚至为你的缓冲区设置了不同的颜色和切换快捷键。
### 8. Tag List ###
![](https://farm4.staticflickr.com/3889/14147244138_c04731826a_z.jpg)
当你同时有多个文件打开时,很容易忘了你都在这些文件里添加了什么。为了防止你忘记,[Tag List][12] 这个代码查看器将会用一种漂亮简洁的格式展示不同的变量和函数。
当你同时有多个文件打开时,很容易忘了你都在这些文件里添加了什么。为了防止你忘记,[Tag List][12] 这个代码查看器将会用一种漂亮简洁的格式展示其中的的变量和函数。
### 9. undotree ###
![](https://farm3.staticflickr.com/2913/14354095453_8bb87a3e31_z.jpg)
对于我们之中那些喜欢undoredo然后又undo某些更改然后依据这些来查看整个编辑完成过程的人来说 [undotree][13] 是一个不错插件可以以一棵树的形式看到你的undo和redo历史。这个功能跟代码完全没有关系所以这是我非常喜欢的一个插件。
### 10. gdbmgr ###
最后,但并非不重要的是每个人都在某时刻需要一个调试器。如果你喜欢gdb那么[gbdmgr][14]就是为你准备的因为它集成了那个著名的调试器到Vim中。
最后,但并非不重要,每个人都在某时刻需要一个调试器。如果你喜欢gdb那么[gbdmgr][14]就是为你准备的因为它集成了那个著名的调试器到Vim中。
总结一下不管你是不是一个疯狂的coder能有一些额外的Vim功能在手总是非常方便的。像我在简介里说到的如果你不需要你不用安装这里所有的这些插件。或者你想要安装另外的也行这些其实只是一个基础入门级的插件。
@@ -68,7 +69,7 @@ CNprober 翻译完成.travelwithheart@yeah.net, 619913541
via: http://xmodulo.com/2014/06/turn-vim-full-fledged-ide.html
译者:[love_daisy_love](https://github.com/CNprober) 校对:[校对者ID](https://github.com/校对者ID)
译者:[love\_daisy\_love](https://github.com/CNprober) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@@ -0,0 +1,81 @@
微软真的改变对开源软件的态度了吗?
================================================================================
> **在今天的开源软件摘要中微软或许没有对开源软件有一个新的态度就像安卓和windows的对抗Cinnamon和Unity在Ubuntu14.04的对抗。**
微软因为以前对开源软件的态度而臭名昭著但是公司改建后对开源软件发出了积极的信号。CNet报道了微软对开源软件认知的行为的改变。
> [CNet][1]消息:
> 虽然微软资助开源软件有一些时间了,并且那些曾经反对开源软件的领导者们已经退出了或者不在位了。开源软件现在用在遍布全世界的公司当中,但这些与微软帝国无关。
> 一些新的想法反映了企业顶层的一些变化今年二月初Satya Nadella代替鲍尔默成为了微软CEONadella已经给微软带来了一些新的东西改变了微软以前的一些束缚。
>
> [更多报道][2]
>
> ![](http://www.itworld.com/sites/default/files/microsoft-open-source-communist_1.jpg)
>
> 微软和开源社区
> Image credit: [Curako's Blog][3]
我是一个持悲观态度的人但是我认为微软和开源软件之间的信任关系是有待确定的。一个新的CEO和些许改变或许会改变微软在开源世界中的存在状态但是对于微软这么大的企业来说改变并不容易所以对于开源的世界来说微软是否真的改变还有待确定。
我也从来不会忘记微软用“欢迎,扩大,压死”的策略来打翻其他的竞争软件,光这一条凡是微软参合的开源项目就必须瞪大眼睛,或许这家公司真的改了,但如果没有呢!我们还是用几年时间来观察下吧。
### 安卓对抗windows ###
ZDNet曾经报道过使用数量最多的Linux发行版本不过现在桌面环境仍然是windows的天下但是安卓今年很可能会是用户数量最大的用户终端操作系统。
> [ZDNet][4]报道:
>
> 如果桌面和平板依旧像预期增长的销量安卓平板渐渐蚕食苹果的市场PC市场继续萎缩安卓在2014年末很有可能成为终端用户数量最多的操作系统而且不算安卓PC。
>
> 总而言之安卓几乎统治了Linux终端用户。你可能不会想把它作为桌面使用尽管Intel和AMD努力在让它变成现实但是安卓正在变成使用量第一的终端操作系统。
>
> [更多消息][4]
>
> ![](http://www.itworld.com/sites/default/files/android-devices-versus-windows-pcs.jpg)
> Image credit: [ZDNet][4]
上面提到的并不算真的惊喜移动终端的革命发展了接近10年了。桌面依然还像原来那样重要微软也确实没有真正的在乎过移动设备。即使现在微软在艰难的推他的手机和平板他仍旧认为移动终端市场并不重要。
谷歌严重的破坏了微软在移动领域的努力而现在他在桌面市场又对微软发起了挑战。从chrome OS到安卓谷歌给微软一连串的打击如果你查看下Amazon最受欢迎的[台式机][5]和[笔记本][6]的话你会看到很多chrome OS的电脑甚至是装有安卓的PC。所以人们的购买需求在变得多样化并不局限在windows一家了。
### Cinnamon和Unity在Ubuntu14.04上的对抗 ###
Tech Republic发表了一篇文章介绍了如何在Ubuntu14.04上安装Cinnamon研究了一下Ubuntu14.04上用Cinnamon替换unity的可行性。
> [Tech Republic][7]报道:
>
> 如果你寻求性能为主不需要其他有特色的可自定义的桌面Cinnamon适合你。Cinnamon是一个直观简洁的桌面任何人都可以使用不论你是IT工作者还是你的老妈妈。它非常的简单易用。Cinnamon很平淡不会和你开什么玩笑也不会让你感到有惊奇的感觉但这就是它所注重的。它只会给桌面带来在标准层面上带来实用性它不求突破不耍花招不加条条框框。
>
> Cinnamon是一个很平凡的桌面它只集成了最好的功能并且把它们集成到一起完美整合到一块。如果你可以用一个看起来和用起来都点老掉牙但是性能很好的桌面的话Cinnamon完全适合你。如果你喜欢各种花哨的界面和看起来很现代的感觉Cinnamon可能就不适合你了。
> [ 更多消息][7]
>
> ![](http://www.itworld.com/sites/default/files/cinnamon-versus-unity-in-ubuntu-1404.jpg)
>
> Image credit: [Tech Republic][7]
我是站在Cinnamon这边的Unity有自己的长处但是我从来没用习惯过。Cinnamon更接近传统桌面我用起来不错
但是在别人眼里漂亮的桌面总是很受欢迎。Linux最大的特色就是提供很多很多不同的选择如果你真不知道Unity和Cinnamon该选择谁你就用自己最喜欢的就行了。
你赞成那些呢?请在下方留下你的评论吧
作者的观点和ITworld无关
--------------------------------------------------------------------------------
via: http://www.itworld.com/open-source/421894/has-microsoft-really-changed-its-attitude-toward-open-source
译者:[jiajia9linuxer](https://github.com/jiajia9linuxer) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://www.cnet.com/news/dead-and-buried-microsofts-holy-war-on-open-source-software/
[2]:http://www.cnet.com/news/dead-and-buried-microsofts-holy-war-on-open-source-software/
[3]:http://curako.wordpress.com/2010/12/06/the-uneasy-alliance-free-software-vs-open-source/
[4]:http://www.zdnet.com/the-five-most-popular-end-user-linux-distributions-7000030058/http://www.zdnet.com/the-five-most-popular-end-user-linux-distributions-7000030058/
[5]:http://www.amazon.com/Best-Sellers-Electronics-Desktop-Computers/zgbs/electronics/565098/?_encoding=UTF8&camp=1789&creative=390957&linkCode=ur2&tag=fnh-20&linkId=REWXUPB7SQXPDSOL
[6]:http://www.amazon.com/Best-Sellers-Computers-Accessories-Laptop/zgbs/pc/565108/?_encoding=UTF8&camp=1789&creative=390957&linkCode=ur2&tag=fnh-20&linkId=POG3J2CFBHDWBAVL
[7]:http://www.techrepublic.com/article/is-cinnamon-a-worthy-replacement-for-ubuntu-unity/

View File

@@ -0,0 +1,159 @@
适合新用户的最佳的Linux发行版
================================================================================
这个争论无疑给许多Linux用户带来了麻烦。争论的焦点一般不是哪个发行版是真正最适合新用户的而是哪个发行版受这些争论者的喜爱。如果我们撇开个人喜爱我们会看到更清楚的一面。但即使这样明确的结论也会受到被新用户的需求和期望的影响。考虑到这点我决定采取一个不同的方法来找出“对新用户来说最好的发行版”。我评判最好发行版的标准不仅是易用而且还要具有由日益增长的移动界面风格所带来的现代设计理念。
对于这次评测,我们对发行版有如下要求:
- 非常友好
- 包括,开箱即用,所有常用的应用程序
- 包括某个形式的应用程序商店
- 提供一个时尚的用户界面
让我解释一下各个标准
### 用户友好 ###
这是一个备受争议的话题。但事实的真相是——新用户必须能够选择某种风格的Linux并开始使用只需要很少或不需要解释。如果必须很出太多解释那么这个发行版便不是用户友好的。我不喜欢那些操作系统但是几乎任何用户都可以在近乎零指导的情况下坐在Windows 7或OS X桌面前并开始使用它。这是每一个Linux桌面都应当争取去做的。
### 常用应用程序 ###
安装好系统后用户不应该再去安装必需的程序。那么什么是必需的呢?每年列表都会变短。目前,必备的程序列表如下:
- 网页浏览器Chrome或者Firefox对不起根本不需要其他的浏览器
- 电子邮件客户端Thunderbird是显而易见的选择。
- Office办公套件LibreOffice。就这样。
- 音乐播放器播放本地文件以及连接到流媒体服务比如Spotify
这是几乎所有用户需要的应用程序的简表。
### 应用程序商店 ###
由于移动设备需求的日益增长用户已经习惯了应用商店。Linux有应用商店很长时间了Synaptic是最古老的一个。没有一个经深思熟虑做的应用商店用户将会挣扎于在Linux环境中添加软件。毫无疑问这一点至关重要。
### 时尚的界面 ###
我已经多次提到移动设备的美化。由于iOS和Android用户越来越喜欢时尚的界面。Linux的桌面需要进行效仿并且用独特的、时尚的和易用的界面来吸引用户注意力。旧的风格在支持多触控的移动世界里不再有影响力。
## 排名前三的发行版 ##
以文中的标准,哪个发行版本满足了(或超过)我们的需求?首先,让我们来审查一下前三名的候选者。以下哪个满足了(或超过)标准。
### Ubuntu ###
[Ubuntu Linux][1]一直是用户友好型Linux的王者。开箱即用寻找一个比它更迷人和易用的桌面Unity有点困难甚至是对于那些对平台不熟悉的人也是这样的。它的桌面布局虽然与众不同但却是合乎逻辑和很直观的。对于在桌面环境中添加一个最强大的搜索工具在Linux中Ubuntu Unity应当获得最高成就。
### Linux Mint ###
如果认为有一个篡夺王位的发行版,那它就是[Linux Mint][2]。Linux Mint做了更多桌面的标准方法但是图层华丽且多变使其从老旧的桌面隐喻中脱颖而出。Linux Mint基于Ubuntu所以它得益于“老大哥”Ubuntu的稳定性和可靠性。
### Linux Deepin ###
用户友好型列表中的新成员是[Linux Deepin][3]。这个相对较新的受欢迎的发行版来自中国而且应该正视它所带来的成就。为什么这样说因为它使得Linux桌面转变为艺术美同时也保持了高水平的用户友好性。我期待它的新版本发布将是个大事件。Linux Deepin使用的是GNOME 3桌面并将它重组得完全不同的完全不可思议。
## 各发行版的比分 ##
在最佳的竞争者名单中,我们来比较一下每一个标准和等级。每个发行版的比分如下:对于每个标准,发行版排名从高到底(第一名得一分,最后一名得三分)。最后,总分决定谁是冠军——最低得分获胜。
### 用户友好性 ###
这可能是最严密的分类和最艰难的判别。每个发行版以不同的方法在用户友好性上都各有优势。最后,我的排名是:
1. Linux Mint
2. Ubuntu Linux
3. Linux Deepin
为什么是这样呢Mint仅有微小的优势因为它的开始按钮任务栏和桌面图标仍然使用旧的桌面风格。胜者的优势很微小Ubuntu和Linux Deepin要求的学习曲线近乎为零——甚至是对于小白们。
### 常用的应用程序 ###
这一类别难以判断的唯一原因是因为每个发行版都包括所有必要的应用程序。虽然Linux Deepin目前提供的是金山Office一个最好的移动办公套件解决方案之一它计划在2014发行版本中默认使用LibreOffice。
关于常用程序的我的一个问题是音乐播放器。虽然我在线听过很多音乐使用Spotify客户端但当我播放本地音乐时总是使用Clementine。他们的默认播放器是
- Ubuntu: Rhythmbox
- Linux Mint: Banshee
- Linux Deepen: DMusic.
三者中Banshee图1提供了最多的功能DMusic图2提供了最好的界面令人惊讶的Rhythmbox图3目前最不稳定。
![](http://www.linux.com/images/stories/41373/banshee.png)
banshee
![](http://www.linux.com/images/stories/41373/dmusic.png)
dmusic
![](http://www.linux.com/images/stories/41373/rhythmbox.png)
rhythmbox
所以,他们得分多少?如下:
1. Linux Mint
2. Ubuntu Linux
3. Linux Deepin
### 应用程序商店 ###
如果不分析这部分将难进行。为什么呢因为对于新用户应用商店可以轻易成就或是毁掉一个Linux发行版。总会有应用需求而且没有用户想经过命令行的重重考验。每个发行版都有自己的应用商店。
- Ubuntu: Ubuntu软件中心
- Mint: 软件管理器
- Linux Deepin: Deepin软件中心
应该说这些工具中的每一个都是基于Ubuntu软件中心的。奇怪的是Ubuntu软件中心却正好排在最底。主要原因是Ubuntu软件中心太慢了——甚至在一个非常强大的机器上。
我将应用商店排名设为如下:
1. Linux Deepin
2. Linux Mint
3. Ubuntu Linux
每个应用商店有非常相似的功能。Linux Deepin获得第一的原因有两个界面易于控制而且程序开启速度远远快于Ubuntu软件中心和Mint软件管理器。
### 时尚的界面 ###
在这部分Linux Mint远远落后。尽管它提供了一个华美的界面和有很浅的学习曲线但相比之下它仍然是一个非常过时的桌面。甚至在强大的硬件有强大的显卡Linux Mint仍然很容易被看成是来自90年代末的桌面。为了评判结果我们必须看看是Ubuntu Linux还是Linux Deepin能带我们走进未来。胜者是
1. Linux Deepin
2. Ubuntu Linux
3. Linux Mint
Linux Deepin使用GNOME 3来制作一个使用起来很漂亮的GNOME和OSX的混合体你会认为你在处理一件互动的艺术品。
## 总冠军 ##
虽然这是很初步的对新用户来说最好的Linux发行版顺序应该是
1. Linux Mint的总得分是7
2. Linux Deepin的总得分是8
3. Ubuntu Linux的总得分是9
如果你想知道关于这篇文章的作者观点要知道我已经使用Ubuntu Linux很多年了而且仍在用。我最近一直在说“如果有一个Linux发行版能动摇我使用Ubuntu的想法它便是Linux Deepin。”虽然我很欣赏Linux Mint但我只是用它来进行测试。当说到对新用户最好的Linux发行版Linux Mint是显而易见的赢家。
这件事真正的真相是——你在使用这些桌面中任何一个都不会错。他们都各有所长。如果你追求真正的美丽使用Linux Deepin吧。如果你想要漂亮外观与易用结合那就使用Ubuntu Linux。如果你只想要简单而且并不在乎漂亮的外观那就用Linux Mint。不管你选哪一个这都是三赢的局面。
你怎么认为你会如何排这三个桌面的名次或者你是否会写一个不同的Linux发行版该发行版在外表上来说对新用户最好的还有原因是什么
--------------------------------------------------------------------------------
via: http://www.linux.com/news/software/applications/775873-the-best-linux-distribution-for-new-users/
译者:[linuhap](https://github.com/linuhap) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://www.ubuntu.com/
[2]:http://www.linuxmint.com/
[3]:http://www.linuxdeepin.com/index.en.html

View File

@@ -0,0 +1,74 @@
什么是Unix以及它为什么这么重要
================================================================================
![](http://cdn.howtogeek.com/wp-content/uploads/2014/02/ken-thompson-and-dennis-richie-at-pdp-11.jpg)
大多数操作系统可以被划分到两个不同的家族。除了微软的基于Windows NT的操作系统外几乎所有其他的都可以追溯到Unix。
LinuxMac OS XAndroidiOSChrome OSPlayStaion 4上运行的Orbis OS运行在路由器上的各种固件所有这些操作系统通常都被称为“类Unix”操作系统。
### Unix的设计现在都还在应用 ###
Unix在20世纪60年代中晚期诞生于AT&T的贝尔实验室中。最初发布的Unix中的一些重要设计因素到如今都还在使用。
其中一个设计是“Unix哲学”建立小的模块化的应用只做一件事情并把它做好。如果你对Linux终端很熟悉的话应该对这个不陌生系统提供了大量的应用可以通过[管道或其他特性][1]形成不同的组合来完成更复杂的任务。甚至图形界面程序也经常会在后台调用更简单的应用去做比较耗时的任务。这种模式也让[建立终端脚本][2]更为简单,通过文本把一些简单工具结合起来去做复杂的事情。
Unix还设计了一个单一的文件系统程序可以通过它互相通讯。这也是[为什么在Linux里说“一切都是文件”][3]包括硬件设备文件和提供系统信息及其他数据的特殊文件。这也是为什么只有Windows系统中才有磁盘盘符这是从DOS继承过来的在其他操作系统中所有文件都是一个单一目录结构中的一部分。
![](http://cdn.howtogeek.com/wp-content/uploads/2014/02/unix-bell-labs.jpg)
### 那些从Unix派生出的系统 ###
类似任何可以往前追溯40年的历史Unix的历史和它的派生系统一片混乱。为了简单我们把Unix的派生系统大致分成两组。
一组Unix派生系统是学术界开发的。
首先是BSD伯克利软件发布版一个开源的类Unix操作系统。BSD如今还存在于FreeBSDNetBSD和OpenBSD等系统中。NeXTStep基于最初版的BSD开发苹果的Mac OS X基于NeXTStepiOS基于Mac OS X。许多其他操作系统包括运行在PlayStation 4上的Orbis OS也源于各种BSD操作系统。
Richard Stallman建立GNU项目的目的是为了反对AT&T的Unix软件协议条款日渐严格的限制。MINIX是一个类Unix操作系统为教育目的而实现的而Linux则是受到了MINIX的启发。[我们今天所熟悉的Linux其实应该叫GNU/Linux][4]因为它是由Linux内核和大量GNU应用组成的。GNU/Linux不是直接从BSD继承下来的但是它继承了Unix的设计而且根植于学术界。如今许多操作系统包括AndroidChrome OSSteam OS以及数量巨大的在各种设备上使用的嵌入式操作系统都基于Linux。
另一组是商用的Unix操作系统。AT&T UNIXSCO UnixWareSun Microsystem SolarisHP-UXIBM AIXSGI IRIX许多大型企业都希望建立并授权自己版本的Unix。它们如今并不常见但其中一些仍然存在。
![](http://cdn.howtogeek.com/wp-content/uploads/2014/02/history-of-unix.png)
图片致谢: [Wikimedia Commons][5]
### DOS和Windows NT的崛起 ###
许多人希望Unix能够成为工业标准操作系统但是DOS和“IBM PC兼容”计算机却最终人气爆发而普及开来。微软的DOS也成为众多DOS系统中最成功的一个。DOS完全没有参照Unix这也是[为什么Windows使用反斜杠划分文件路径而其他所有系统都使用正斜杠][6]。这个决定是在早期的DOS系统中做出的而之后的Windows版本继承了这一设定就像BSDLinuxMac OS X和其他类Unix操作系统继承了许多Unix设计因素一样。
Windows 3.1Windows 95Windows 98和 Windows ME都是建立在DOS的基础上。当时微软已经在开发一个更现代更稳定的操作系统叫做Windows NT意思是“Windows新技术”。Windows NT最终通过Windows XP应用到普通计算机用户中但是之前它都只用于针对企业用户的Windows 2000和Windows NT。
如今所有微软的操作系统都基于Windows NT内核。Windows 7Windows 8Windows RTWindows Phone 8Windows Server以及Xbox One上的操作系统都在使用Windows NT内核。不像其他大多数操作系统那样Windows NT没有被开发成一个类Unix操作系统。
当然微软也不是完全从零开始的。为了维护DOS和旧版本Windows软件的兼容性Windows NT继承了许多DOS里的设定比如磁盘盘符反斜杠区分文件路径正斜杠作为命令行参数开关。
![](http://cdn.howtogeek.com/wp-content/uploads/2014/02/windows-2000-professional-built-on-nt-technology.jpg)
### 为什么它影响很大 ###
不知道你有没有看过Mac OS X终端或是文件系统有没有注意到它们和Linux是如此相似而又和Windows是如此不同好吧原因是Mac OS X和Linux两个都是类Unix操作系统。
了解了这点历史就可以帮助你理解什么是“类Unix”操作系统以及为什么这么多操作系统看起来都差不多而Windows却那么与众不同。这也可以解释为什么Linux极客对Mac OS X上的终端会感觉如此熟悉而[Windows 7上的Command Prompt和PowerShell][7]相对于其他命令行环境显得格格不入。
这只是一点快速掠过的历史帮助了解是如何发展到今天的而不用陷入到细节中。如果你想了解更多可以找到许多关于Unix历史的整本的书籍。
图片致谢: [Peter Hamer on Flickr][8], [Takuya Oikawa on Flickr][9], [CJ Sorg on Flickr][10]
--------------------------------------------------------------------------------
via: http://www.howtogeek.com/182649/htg-explains-what-is-unix/
译者:[zpl1025](https://github.com/zpl1025) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://www.howtogeek.com/110150/become-a-linux-terminal-power-user-with-these-8-tricks/
[2]:http://www.howtogeek.com/107217/how-to-manage-processes-from-the-linux-terminal-10-commands-you-need-to-know/
[3]:http://www.howtogeek.com/117939/htg-explains-what-everything-is-a-file-means-on-linux/
[4]:http://www.howtogeek.com/139287/the-great-debate-is-it-linux-or-gnulinux/
[5]:http://en.wikipedia.org/wiki/File:Unix_history.svg
[6]:http://www.howtogeek.com/181774/why-windows-uses-backslashes-and-everything-else-uses-forward-slashes/
[7]:http://www.howtogeek.com/163127/how-powershell-differs-from-the-windows-command-prompt/
[8]:http://www.flickr.com/photos/peter-hamer/2876612463/
[9]:http://www.flickr.com/photos/takuyaoikawa/2060554607/
[10]:http://www.flickr.com/photos/cjsorg/2726088549/

View File

@@ -0,0 +1,84 @@
优秀的Linux文本编辑器
================================================================================
想要挑起狂热Linux爱好者之间的激烈争辩吗那就问问他们最喜欢的文本编辑器是什么吧。在开源社区中选择一个用来写文本或者更进一步用来写代码的编辑器比选择一个球队或者游戏控制器还要重要。但是任何一个Linux新手都不该为过多的建议和各种各样的煽动而感到焦虑不安取而代之先去试着熟悉熟悉一堆不同的文本编辑器吧。所以今天我将要给你建议一个简单主题的列表里面的编辑器都可以在Linux下编辑文本。这个列表不包括那些成熟的只用来编程的IDE也不包括那些专门进行LaTex排版的编辑器。如果你对后者感兴趣我可以建议你去看看[这里][1].
### 1. Vim & Emacs ###
![](https://farm3.staticflickr.com/2936/14371977196_1a4522359b_z.jpg)
让我们直接从这两个“大咖”开始。当有人在一个聊天室里问关于Linux下的编辑器时会有一个人立马回答[Vim][2],然后会有另外一个说[Emacs][3]。LCTT译注这就是V党和E党啊~)之所以会这样,理由很充分。这两个都是非常强大的编辑器,有很多的特性,很多插件,很强大的社区支持。如果你一点都不熟悉它们的话,要描述清楚它们强大的功能是有点困难。但是简单来讲,它们允许你在文本中快速移动,简单地做出大量的修改,记录宏以及你能想到基本上任何疯狂的编辑方式。这两个编辑器共同的缺点是,不可避免地花时间去学习。讲完这点之后,我不会陷入到哪一个更好的争论中去,但是我真的想建议每一个人至少学习这两者之一。
![](https://farm4.staticflickr.com/3916/14393718612_a880b86a52_z.jpg)
### 2. Sublime Text & Lime & Atom ###
![](https://farm3.staticflickr.com/2917/14391734181_0f0ec76e4f_z.jpg)
一款叫做[Sublime Text][4]的文本编辑器在过去几年逐渐兴起。一些人可能会将它视为Vim或者Emacs的友好版专为编程而设计的。事实上它保持了一些与Vim和Emacs的相似特性。比如批量编辑和函数跳转都会让人或多或少想起Emacs或者[一个充满活力的Vim][5]。然而它保留了更多的可视性并且更加容易使用。同样大量的插件吸引大家进行个性化定制。LCTT译注实际上译者认为Sublime Text与其说是像Vim或Emacs不如说更像是Mac上的编辑器神器textmate。另外Sublime Text的发展最近已经陷入停滞了。
Sublime Text唯一的“污点”是它的许可证如果你只使用开源软件的话你可以放弃它了。LCTT译注但是Sublime Text可以全功能一直试用下去没有一点区别只是如果你觉得应该支持的话付费比较好虽然挺贵。为此最近出现了一个雄心勃勃的克隆版 [Lime][6] 。这个软件正处在重度开发当中但是它的理念是跟Sublime Text相似的用户体验但是带着开源的韵味。对于Lime除了满满的期待没有更多要说的了。
距现在更近的GitHub以开源形式发布了[Atom][7]展开了与Sublime Text正式的竞争。Atom打包了所有你想要的文件跳转代码片段使用等特性提供一个完整特性的编辑器而不是简单的编辑框。使用HTMLCSS和集成Node.js环境可以轻易地定制文本处理过程这正是它的魅力所在。这其实已经要涉及到IDE的定义了我们的列表最多会覆盖到这里。LCTT译注好吧我觉得从Sublime Text转移出来的最佳出口就是Atom。
![](https://farm4.staticflickr.com/3907/14395083745_469b7e49c9_z.jpg)
### 3. Gedit & Kate & Mousepad & Leafpad ###
![](https://farm3.staticflickr.com/2927/14371977076_c95a557233_z.jpg)
如果不谈这些超级厉害的神器我们可以转向我认为的“桌面环境经典版”编辑器。这些编辑器感觉上更加的传统有些也可以用插件进行强化但是它们的重点是输入简单。如果你头脑里有一些想法想要在忘记之前赶快记下来我必须怪罪那些视频游戏让我的注意力变得短暂。你不需要学习Vim或者Sublime Text的快捷键。你只需要一些空白的地方进行输入。这类编辑器的好处是它们或多或少的和你的桌面环境集成在一起。在这一类编辑器中Gnome 下的 [Gedit][8] 和 KDE下的 [Kate][9] 都很好的集成在桌面系统中可以通过插件进行个性化定制。比如更容易的进行LaTeX排版。[Mousepad][10] 和 [Leafpad][11] 更适合于轻量级的桌面比如Xfce和LXDE。它们在某种程度上很像Windows的记事本。所以如果你需要的是灵活和便捷请选择它们。
![](https://c2.staticflickr.com/6/5522/14415259703_d3885b3952_z.jpg)
### 4. Nano & Qute ###
![](https://farm3.staticflickr.com/2938/14208641327_49fc7286ba_z.jpg)
另外一个流行的文本编辑器“大家族”是“无打扰编辑器”。如果你喜欢在后台持续地开着Facebook或者Twitter或者每5分钟就收一次邮件你就会知道把注意力集中在那篇明天要交的散文或者这些还没编译通过的代码是多么困难的事。如果是这样你需要一个编辑器它可以占满整个屏幕空间并且屏蔽掉所有的其它事情。
也许这类编辑器里面最不受欢迎的是Nano。如果你想屏蔽所有分心的事关掉X serverLCTT译注关掉桌面只用文字终端界面Nano就是工作在这种模式下。实际上这时nano就是接管了X Server的工作。。这是最简单和直接的方式。事实上《权力游戏(Game of Thrones)》的作者Geogge R. R. Martin最近就在[一次采访][13]中说他使用一个类似DOS Word的文本处理程序写他的小说。
如果你想要一款更顺眼一点的编辑器,你可以试试我的最爱:[Qute][14]。没有酷炫的特性也许有一点LaTeX排版使它开起来更美观但是重点其实是在它的界面的。它提供了一个舒适的导航和编辑体验。如果你对终端感觉不太舒服Qute是个不错的选择。
![](https://farm3.staticflickr.com/2927/14395083485_7f8f0d6d59_z.jpg)
### 5. LibreOffice & Calligra & Abiword ###
![](https://farm4.staticflickr.com/3845/14395083565_b07b33abf0_z.jpg)
最后办公套件也是文本编辑器。我不确定你能否轻松使用办公套件编程但是它确实更适合纯文本编辑也比LaTeX更容易学习。在这类编辑器中[LibreOffice][15] 和 [Calligra][16] 不能避而不谈。这两个编辑器因为它们丰富的特性和响亮的名声成为这类编辑器中的巨兽。这两者我都喜欢但是很多人明确的偏向于前者。如果你怀念微软的Word处理软件你会有自己的选择。稍处下风的[Abiword][17]相对前面的两个是一个轻量级的选择。如果你的目的只是编辑一个文本文档不关心电子表格或者数据库Abiword的特性可以达到理想的效果。
![](https://farm3.staticflickr.com/2915/14371976966_4d252928ec_z.jpg)
简单总结一下如果我仅有一条建议给你那么就是选择你周围的人正在使用的编辑器。如果因为某些疯狂的理由每一个你周围的人都用LibreOffice写C程序或者用Sublime Text写小说而你也要做同样的事你应该跟随潮流。原因就是当你遇到一个问题需要帮助的时候他们可以更容易的给你提供帮助。
你最喜欢的文本编辑器是什么?你都用它来做什么?请在评论中和我们分享吧。
--------------------------------------------------------------------------------
via: http://xmodulo.com/2014/06/good-text-editor-linux.html
译者:[love\_daisy\_love](https://github.com/CNprober) 校对:[Caroline](https://github.com/carolinewuyan)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://xmodulo.com/2014/04/latex-editor-software-linux.html
[2]:http://www.vim.org/
[3]:https://www.gnu.org/software/emacs/
[4]:http://www.sublimetext.com/
[5]:http://xmodulo.com/2014/06/turn-vim-full-fledged-ide.html
[6]:http://limetext.org/
[7]:https://atom.io/
[8]:https://wiki.gnome.org/Apps/Gedit
[9]:http://kate-editor.org/
[10]:http://www.home.unix-ag.org/bmeurer/xfce/apps.html
[11]:http://tarot.freeshell.org/leafpad/
[12]:https://www.flickr.com/photos/xmodulo/14415259703/
[13]:https://www.youtube.com/watch?v=X5REM-3nWHg
[14]:http://www.inkcode.net/qute
[15]:https://www.libreoffice.org/
[16]:http://www.calligra-suite.org/
[17]:http://www.abisource.com/

View File

@@ -0,0 +1,127 @@
如何拯救一台GRUB 2启动失败的Linux电脑
================================================================================
![Figure 1: GRUB 2 menu with cool Apollo 17 background.](http://www.linux.com/images/stories/41373/grub-command-shell.jpg)
旧版GRUB我们使用了一段时间了这个重要的Linux通用引导器的版本已经到了0.97。尽管旧版GRUB有很多的优点但是它已经有点陈旧了并且它的开发者也希望添加更多的功能于是GRUB 2 时代就要来了。
GRUB 2 做了几个明显的改进。它可以从移动存储设备上启动并且可以通过配置一个选项来进入系统BIOS。相对于将所有的配置都放到一个配置文件`/boot/grub/menu.lst`中 (现在默认是`/boot/grub/grub.cfg `),使用各种脚本来配置会更复杂。你不要直接编辑这个文件,那不是人干的事,太复杂了,我们需要使用其它的脚本来改变。我们卑微的人类可以编辑修改`/etc/default/grub`文件它主要是控制Grub菜单的外观。我们还可以修改` /etc/grub.d/ `下的脚本这些脚本用于启动操作系统、控制外部应用程序如memtest 、os_prober和theming等等 。`./boot/grub/grub.cfg`是由`/etc/default/grub``/etc/grub.d/*`生成的。当你修改了某个地方你必须要运行update-grub命令来生成它。
好消息是update-grub脚本可以可靠的检测内核、启动文件并添加所有的操作系统自动生成你的启动菜单所以你不必手动的修改他们。
我们还要学习如何解决两个常见的故障。当启动系统时它会停在grub>提示上这是一个完整的GRUB 2命令界面所以不要惊慌。这意味着GRUB 2依旧可以正常启动和加载normal.mod模块它和其他模块分别位于/boot/grub/[架构]/ 下但没有找到你的grub.cfg文件。如果你看到grub rescue> 这意味着它无法找到normal.mod因此它有可能找不到你的启动文件。
这是如何发生的因为内核可能改变驱动器分区号码的分配或者您移动了您的硬盘驱动器或者你手动改变一些分区也有可能是安装一个新的操作系统或者移动一些文件。在这些情况下你的启动文件仍然存在但GRUB不能找到他们。所以你可以在GRUB提示符中找到启动文件设置它们的位置然后启动您的系统并修复GRUB配置。
### GRUB 2 命令行 ###
GRUB 2 的命令界面和上一代GRUB中的一样强大。你可以用它来找到引导镜像内核和根文件系统。事实上它可以让你避开权限和其它访问控制完全访问本地计算机上的所有文件。有些人可能会认为这是一个安全漏洞但是你知道古老的UNIX的名言有物理访问机器权限的人就是拥有它的人。
当你在` grub > `提示时你有许多类似命令行界面的功能如命令历史和tab补全。但是`grub rescue> `模式是受限的没有命令历史没有tab补全。
如果你是在一个正常运作的系统上练习那就当GRUB菜单出现时可以按下C来打开GRUB命令行界面。你可以通过向上和向下光标键滚动你的菜单条目来停止启动倒计时。在GRUB命令行下做实验是安全的因为做不了永久的修改一切都是暂时的。如果你已经看到`grub > ``grub rescue> `提示符,那就说明你的表现时刻到了。
接下来的几个命令可以在`grub>``grub rescue`模式下运行。你应该运行的第一个命令是设置一个分页器,将长的命令分页。如下:
grub> set pager=1
等号两侧必须不能出现空格。现在让我们做一点探索。输入`ls`来列出的GRUB识别的所有分区
grub> ls
(hd0) (hd0,msdos2) (hd0,msdos1)
msdos是什么这意味着该系统具有老式的MS-DOS分区表而不是全新的全局唯一标识符的分区表GPT。参见“[在Linux下使用新的GUID分区表和古老的MBR说再见][1]”。如果你正在运行的GPT它会出现(hd0GPT1)。现在让我们看看使用ls命令查看你的系统里面有什么文件
grub> ls (hd0,1)/
lost+found/ bin/ boot/ cdrom/ dev/ etc/ home/ lib/
lib64/ media/ mnt/ opt/ proc/ root/ run/ sbin/
srv/ sys/ tmp/ usr/ var/ vmlinuz vmlinuz.old
initrd.img initrd.img.old
太好了我们已经找到了根文件系统。你可以省略msdos和GPT的标签。如果没有加分区后面的斜杠/则只会列出分区的信息。你可以用cat命令显示文件系统上的任何文件
grub> cat (hd0,1)/etc/issue
Ubuntu 14.04 LTS \n \l
在一个多引导系统上,通过/etc/issue文件可以知道这是哪个Linux系统。
### 从 grub> 中启动###
下面讲述如何设置启动文件并从`grub >`提示下启动系统。我们已经知道如何从Linux根文件系统(hd0,1)下运行ls命令你可以一直寻找直到找到你的/boot/grub所在位置。然后运行以下命令记得使用您自己的根分区内核和initrd映像等参数
grub> set root=(hd0,1)
grub> linux /boot/vmlinuz-3.13.0-29-generic root=/dev/sda1
grub> initrd /boot/initrd.img-3.13.0-29-generic
grub> boot
第一行设置分区的根文件系统。第二行告诉GRUB您想要使用的内核位置。开始输入/boot/vmli然后使用tab补完填写。输入`root= /dev/sdX`设置根文件系统位置。是的这似乎是多余的但如果你忘记了输入你会得到一个kernel panic。你知道怎么找到正确的分区吗hd0,1 即 /dev/sda1hd1,1 即 /dev/sdb1hd3,2 即 /dev/ sdd2。我想你可以自己推算剩下的了。
第三行设置initrd文件必须是和内核相同的版本号。
最后一行启动系统。
在一些Linux系统上内核和initrd是被符号链接到当前的根文件系统的根目录就像
$ ls -l /
vmlinuz -> boot/vmlinuz-3.13.0-29-generic
initrd.img -> boot/initrd.img-3.13.0-29-generic
所以,你也可以这样输入命令:
grub> set root=(hd0,1)
grub> linux /vmlinuz root=/dev/sda1
grub> initrd /initrd.img
grub> boot
### 从grub rescue> 中启动 ###
如果你处在grub rescue> 命令界面下命令有所不同你必须要先加载两个模块normal.mod 和 linux.mod。
grub rescue> set prefix=(hd0,1)/boot/grub
grub rescue> set root=(hd0,1)
grub rescue> insmod normal
grub rescue> normal
grub rescue> insmod linux
grub rescue> linux /boot/vmlinuz-3.13.0-29-generic root=/dev/sda1
grub rescue> initrd /boot/initrd.img-3.13.0-29-generic
grub rescue> boot
在你加载了这两个模块之后tab补完的功能就可以用了。
### 永久性的修复 ###
当你成功地启动你的系统运行这些命令来永久修复GRUB
# update-grub
Generating grub configuration file ...
Found background: /usr/share/images/grub/Apollo_17_The_Last_Moon_Shot_Edit1.tga
Found background image: /usr/share/images/grub/Apollo_17_The_Last_Moon_Shot_Edit1.tga
Found linux image: /boot/vmlinuz-3.13.0-29-generic
Found initrd image: /boot/initrd.img-3.13.0-29-generic
Found linux image: /boot/vmlinuz-3.13.0-27-generic
Found initrd image: /boot/initrd.img-3.13.0-27-generic
Found linux image: /boot/vmlinuz-3.13.0-24-generic
Found initrd image: /boot/initrd.img-3.13.0-24-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
done
# grub-install /dev/sda
Installing for i386-pc platform.
Installation finished. No error reported.
当你运行 `grub-install`记得GRUB是安装到整个硬盘驱动器的主引导扇区而不是到一个具体分区所以不要加上像/dev/sda1一样的分区号。
### 如果还是不能使用 ###
如果你的系统是如此的倒霉,而且这个方式没有能起作用,那就尝试[超级GRUB2现场救援磁盘][2]吧。[官方GNU GRUB手册][3]也应该有所帮助。
--------------------------------------------------------------------------------
via: http://www.linux.com/learn/tutorials/776643-how-to-rescue-a-non-booting-grub-2-on-linux
译者:[MikeCoder](https://github.com/MikeCoder) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://www.linux.com/learn/tutorials/730440-using-the-new-guid-partition-table-in-linux-good-bye-ancient-mbr-
[2]:http://www.supergrubdisk.org/
[3]:https://www.gnu.org/software/grub/manual/grub.html

View File

@@ -0,0 +1,37 @@
Linux 截屏软件 Shutter
================================================================================
![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/06/shutter.jpg)
**[Shutter][1]是一款Linux平台下广受欢迎的截屏软件。最近的更新中该软件修复了若干bug并且使用了新的应用图标。**
这款开源并且功能强大的截屏工具可以让你选择桌面的任意区域、指定应用窗口或者整个屏幕区域来进行截屏。此外,你还可以添加注释、文本或者特效。
0.91版本修复了若干明显的bug包括在Ubuntu 14.04中缩略图无法正常地在应用切换栏中显示的问题。由于'imm.io'在今年早期停止了服务所以此次更新还取消了将截图上传到Pixlr图像服务的选项。
最后,这次更新突出了由 Lucas Romero Di Benedetto 精心设计的相机快门式应用图标。
![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/06/compare-350x200.png)
### 在Ubuntu环境下安装Shutter 0.91版本 ###
升级到Shutter的最新版本是非常简单的——前提是你添加了该软件的PPA。[The Shutter PPA][2] 面向Ubuntu 12.04 LTS、13.10、14.04 LTS提供该软件最新稳定的发行版。
sudo add-apt-repository ppa:shutter/ppa
sudo apt-get update && sudo apt-get install shutter
不喜欢PPA那么你也可以从该项目的主页下载Debian安装包。如果你使用的是Ubuntu 14.04 LTS系统你可以点击下面的链接来下载安装包。
- [下载适用于Ubuntu 14.04 LTS系统的Shutter 0.91][3]
--------------------------------------------------------------------------------
via: http://www.omgubuntu.co.uk/2014/06/shutter-0-91-new-icon
译者:[JonathanKang](https://github.com/JonathanKang) 校对:[Caroline](https://github.com/carolinewuyan)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:https://apps.ubuntu.com/cat/applications/shutter/
[2]:https://launchpad.net/~shutter/+archive/ppa
[3]:https://launchpad.net/~shutter/+archive/ppa/+files/shutter_0.91%7Eppa2%7Eubuntu14.04.1_all.deb

View File

@@ -0,0 +1,86 @@
教你用NeoBundle管理Vim插件
================================================================================
[NeoBundle][1] 是一个 [Vim][2] 的插件管理器,以 [Vundle][3] 为基础Vundle 是一个基于 [Pathogen][4] 的 Vim 插件管理器)。在之前的文章中,我[非常不推荐使用 Neobundle][5]原因是它当时还处于高速开发阶段LCTT意味着不稳定、变数大并且当时它的英文文档很少。现在已经过了一年多了这两个问题都早已不再是问题。
我们为什么要使用插件管理器Vim 支持大量插件但是由于它没有严格定义框架插件的文件可以胡乱分布在不同目录下导致用户管理起来会很困难LCTT当然前提是你有很多插件还有点小小的强迫症觉得理一理这些插件心里会舒服点。而一款插件管理器能让管理变得简单许多。Pathogen, Vundle 和 NeoBundle 的工作就是为不同插件建立一个目录,然后将这些目录扔到 ~/.vim/bundle 目录下。这个文件整理方法可以让你方便彻底地删除插件,使用 'rm -rf <插件目录>' 或直接在文件管理器里面把插件所在的目录删除就可以了,绝对绿色环保无残留。同时,这种方法还能最大程度避免插件与插件之间的不兼容性。
NeoBundle 是一个基于 Vundle 的项目,如同 Vundle它们都可以安装和升级插件。然而 NeoBundle 的说明文件上明确指出“NeoBundle 不是一个稳定的插件管理器,如果你想要一个稳定的,请选择 Vundle”。最新的 release-note 上也有警告“可能会造成兼容性问题”——这是一个开发者写的注解,说明这个管理器还不能让人放心使用。
所以,我们为什么要使用 NeoBundle它都不能保证稳定运行好吧它还是有可取之处的。Vundle 只支持 [Git][6] 这种版本控制系统,而 NeoBundle 可以支持 [Subversion][7] 和 [Mercurial][8]。另一个原因是如果你不想插件升级时破坏你的 Vim 生态环境,你可以锁住 NeoBundle让它只使用某个插件的固定版本。
另外NeoBundle 创建者Shougo MatsuishitaLCTT名字看着像日本人正在将它的命令接口添加到其他插件项目以便减少他们的命令使用量。现在 NeoBundle 支持3种插件[unite.vim][9]Vim 使用的文件和缓存管理器;[vimshell.vim][10]Vim 使用的脚本程序;[vimproc.vim][11],运行于 vimshell.vim 中,用于对异步事件的支持。上面说的都是特殊案例,缺少英文文档,所以用户希望有人能完善它们。在正式使用它们之前,我们需要把注意力先集中在一些基本操作上。
### 安装并初始化 NeoBundle ###
NeoBundle 支持 Vim 7.2.051 或更高版本,需要 git 和 [cURL][12](用于下载文件)。你可以手动下载 NeoBundle也可以使用 cURL 下载它在 GitHub 上的库。在你的 home 目录下使用如下命令,可以将 NeoBundle 插件下载到 .vim/bundle/neobundle.vim 目录里,然后 NeoBundle 就能管理它自己了。
curl https://raw.githubusercontent.com/Shougo/neobundle.vim/master/bin/install.sh | sh
你还需要修改 .vimrc 文件。NeoBundle 的 GitHub 主页提供一个 .vimrc 范本但是直接使用这个范本NeoBundle 需要你安装5个可能不需要插件。如果不需要它们你可以使用下面的最小配置
if has('vim_starting')
set nocompatible
set runtimepath+=~/.vim/bundle/neobundle.vim/
call neobundle#begin(expand('~/.vim/bundle/'))
NeoBundleFetch 'Shougo/neobundle.vim'
call neobundle#end()
filetype plugin indent on
上述配置的作用是:启动 NeoBundle 并且像其他插件一样升级自己。NeoBundle 默认从 GitHub 下载并升级,如果你正好在使用 GitHub你只需要为这个插件指定维护者的用户名和路径。在上面的配置中NeoBundleFetch 只需要指定为“Shougo/neobundle.vim”而不是完整的 GitHub 路径。如果你想使用其他网站,比如是 Subversion 或 Mecurial 的网站,你就需要添加完整的 URL。
如果你想安装其他插件,你可以使用下面的命令:
curl -k https://github.com/[项目维护者]/[插件路径] > ~/.vim/bundle/[插件路径]
举个例子:你想安装 [vim-abolish][13],一个超级 NB 的文本搜索和替换插件,就使用下面的命令:
curl -k https://github.com/tpope/vim-abolish > ~/.vim/bundle/abolish
如果要让它自动升级,在 NeoBundleFetch 那行下面添加一行:
NeoBundle 'tpope/vim-abolish'
再介绍一个小技巧你可以为插件指定一个分支或版本号。什么意思NeoBundle 只会使用这个插件的某个分支或版本,而忽略其版本更新。如果你使用的某个插件处于高速开发过程,你就可以使用这个技巧,避免用到有 bug 的插件版本。举个例子:
NeoBundle 'Shougo/vimshell', { 'rev' : '3787e5' }
还有一个技巧:在 .vimtc 文件内添加一行关于“NeoBundleCheck”的属性。NeoBundle 会根据配置检查没安装的插件,并提示你安装它们。你也可以使用命令“:NeoBundleInstall”LCTT这是要在 Vim 编辑器的命令模式下输入)来安装或升级插件。
### NeoBundle 用法 ###
很多 NeoBundle 命令用起来和 Vundle 类似,但命令的名字不一样。下面是 NeoBundle 命令的用法:
- `:NeoBundleUpdate`:安装或升级插件,如果你手动把一个插件的目录删除了,这个命令会重新安装这个插件。在这个命令后面加上插件名称,就只升级一个插件;不加参数,会将所有己安装但没被记录在案的插件给记录下来。`:NeoBundleInstall` 命令效果相同。
- `:NeoBundle {REPOSITORY URI} [[REVISION}] [,OPTIONS}]]`:将一个插件锁定到固定版本,防止胡乱升级。
- `:NeoBundleList`:列出所有未初始化的插件。
- `:NeoBundleClean`:进入交互界面,删除插件。
这些命令在配合 unite.vim LCTT就是上面举过的32个例子之一使用时效果会稍微有些出入。你可以使用“:help neobundle”命令了解更多信息。
### 是否使用 NeoBundle自己决定 ###
NeoBundle 是强大的工具正处于高速开发状态。任何处于这种状态的项目都会被帖上“有前途”和“不稳定”两个标签看你自己怎么选。如果你想要最新的稳定版本的插件NeoBundle 能够把 Vundle 和 Pathogen 甩出几条街。
然而在线帮助文档已经给出警告,它不是个稳定的产品,不及时更新版本可能造成一些插件运行出错。最后,你需要在 .vimrc 文件为你的 Neoundle 和其他插件指定一个稳定的版本。记住这警告,然后你可以在使用这些尖端技术产品时游刃有余。
--------------------------------------------------------------------------------
via: http://www.openlogic.com/wazi/bid/348084/Managing-Vim-extensions-with-NeoBundle
译者:[bazz2](https://github.com/bazz2) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:https://github.com/Shougo/neobundle.vim
[2]:http://olex.openlogic.com/packages/vim
[3]:https://github.com/gmarik/Vundle.vim
[4]:https://github.com/tpope/vim-pathogen
[5]:http://www.openlogic.com/wazi/bid/262302/Three-tools-for-managing-Vim-plugins
[6]:http://olex.openlogic.com/packages/git
[7]:http://olex.openlogic.com/packages/subversion
[8]:http://olex.openlogic.com/packages/mercurial
[9]:https://github.com/Shougo/unite.vim
[10]:https://github.com/Shougo/vimshell.vim/blob/master/doc/vimshell.txt
[11]:https://github.com/Shougo/vimproc.vim/blob/master/doc/vimproc.txt
[12]:http://olex.openlogic.com/packages/curl
[13]:https://github.com/tpope/vim-abolish

View File

@@ -0,0 +1,58 @@
保护你的Linux系统的九个老生常谈
================================================================================
在现在这个世道中保障基于Linux的系统的安全是十分重要的。但是你得知道怎么干。一个简单反恶意程序软件是远远不够的你需要采取其它措施来协同工作。那么试试下面这些手段吧。
![](http://www.efytimes.com/admin/useradmin/photo/2Rak10143PM6172014.jpeg)
### 1. 使用SELinux ###
[SELinux][1]是用来对Linux进行安全加固的有了它用户和管理员们就可以对访问控制进行更多控制。SELinux为访问控制添加了更细的颗粒度控制。与仅可以指定谁可以读、写或执行一个文件的权限不同的是SELinux可以让你指定谁可以删除链接、只能追加、移动一个文件之类的更多控制。LCTT译注虽然NSA也给SELinux贡献过很多代码但是目前尚无证据证明SELinux有潜在后门
### 2. 订阅漏洞警报服务 ###
安全缺陷不一定是在你的操作系统上。事实上,漏洞多见于安装的应用程序之中。为了避免这个问题的发生,你必须保持你的应用程序更新到最新版本。此外,订阅漏洞警报服务,如[SecurityFocus][2]。
### 3. 禁用不用的服务和应用 ###
通常来讲用户大多数时候都用不到他们系统上的服务和应用的一半。然而这些服务和应用还是会运行这会招来攻击者。因而最好是把这些不用的服务停掉。LCTT译注或者干脆不安装那些用不到的服务这样根本就不用关注它们是否有安全漏洞和该升级了。
### 4. 检查系统日志 ###
你的系统日志告诉你在系统上发生了什么活动,包括攻击者是否成功进入或试着访问系统。时刻保持警惕,这是你第一条防线,而经常性地监控系统日志就是为了守好这道防线。
### 5. 考虑使用端口试探 ###
设置[端口试探Port knocking][4]是建立服务器安全连接的好方法。一般做法是发生特定的包给服务器,以触发服务器的回应/连接(打开防火墙)。端口敲门对于那些有开放端口的系统是一个很好的防护措施。
下面是来自 http://www.portknocking.org/ 的示意图:
![](http://www.portknocking.org/images/portknocking-explained-01.png)![](http://www.portknocking.org/images/portknocking-explained-02.png)![](http://www.portknocking.org/images/portknocking-explained-03.png)![](http://www.portknocking.org/images/portknocking-explained-04.png)
### 6. 使用Iptables ###
Iptables是什么这是一个应用框架它允许用户自己为系统建立一个强大的防火墙。因此要提升安全防护能力就要学习怎样一个好的防火墙以及怎样使用Iptables框架。
### 7. 默认拒绝所有 ###
防火墙有两种思路一个是允许每一点通信另一个是拒绝所有访问提示你是否许可。第二种更好一些。你应该只允许那些重要的通信进入。LCTT译注即默认许可策略和默认禁止策略前者你需要指定哪些应该禁止除此之外统统放行后者你需要指定哪些可以放行除此之外全部禁止。
### 8. 使用入侵检测系统 ###
入侵检测系统或者叫IDS允许你更好地管理系统上的通信和受到的攻击。[Snort][3]是目前公认的Linux上的最好的IDS。
### 9. 使用全盘加密 ###
加密的数据更难窃取,有时候根本不可能被窃取,这就是你应该对整个驱动器加密的原因。采用这种方式后,如果有某个人进入到你的系统,那么他看到这些加密的数据后,就有得头痛了。根据一些报告,大多数数据丢失源于机器被盗。
--------------------------------------------------------------------------------
via: http://www.efytimes.com/e1/fullnews.asp?edid=141368
译者:[GOLinux](https://github.com/GOLinux) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://selinuxproject.org/page/Main_Page
[2]:http://www.securityfocus.com/rss/vulnerabilities.xml
[3]:http://www.snort.org/
[4]:http://en.wikipedia.org/wiki/Port_knocking

View File

@@ -0,0 +1,235 @@
Linux下掌控磁盘分区的九大神器
================================================================================
在这篇文章中,我们来了解一些用来检查你的系统分区的一些命令,这些命令将检查每个磁盘的分区情况和其它细节,例如总空间容量,已用完的空间和文件系统等。
像fdisksfdisk和cfdisk命令这样的常规分区工具不仅可以显示分区信息还可以修改。
### 1. fdisk ###
Fdisk是检查磁盘上分区的最常用命令fdisk命令可以显示分区和细节如文件系统类型但是它并不报告每个分区的字节大小。
$ sudo fdisk -l
Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x30093008
Device Boot Start End Blocks Id System
/dev/sda1 * 63 146801969 73400953+ 7 HPFS/NTFS/exFAT
/dev/sda2 146802031 976771071 414984520+ f W95 Ext'd (LBA)
/dev/sda5 146802033 351614654 102406311 7 HPFS/NTFS/exFAT
/dev/sda6 351614718 556427339 102406311 83 Linux
/dev/sda7 556429312 560427007 1998848 82 Linux swap / Solaris
/dev/sda8 560429056 976771071 208171008 83 Linux
Disk /dev/sdb: 4048 MB, 4048551936 bytes
54 heads, 9 sectors/track, 16270 cylinders, total 7907328 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0001135d
Device Boot Start End Blocks Id System
/dev/sdb1 * 2048 7907327 3952640 b W95 FAT32
每个设备都单独显示其详细信息容量大小扇区数设备ID及其包含的每个分区。
### 2. sfdisk ###
Sfdisk是另一种跟fdisk用途相似的实用工具但具有更多的功能。它能够以MB为单位显示每个分区的大小。
$ sudo sfdisk -l -uM
Disk /dev/sda: 60801 cylinders, 255 heads, 63 sectors/track
Warning: extended partition does not start at a cylinder boundary.
DOS and Linux will interpret the contents differently.
Units = mebibytes of 1048576 bytes, blocks of 1024 bytes, counting from 0
Device Boot Start End MiB #blocks Id System
/dev/sda1 * 0+ 71680- 71681- 73400953+ 7 HPFS/NTFS/exFAT
/dev/sda2 71680+ 476938 405259- 414984520+ f W95 Ext'd (LBA)
/dev/sda3 0 - 0 0 0 Empty
/dev/sda4 0 - 0 0 0 Empty
/dev/sda5 71680+ 171686- 100007- 102406311 7 HPFS/NTFS/exFAT
/dev/sda6 171686+ 271693- 100007- 102406311 83 Linux
/dev/sda7 271694 273645 1952 1998848 82 Linux swap / Solaris
/dev/sda8 273647 476938 203292 208171008 83 Linux
Disk /dev/sdb: 1020 cylinders, 125 heads, 62 sectors/track
Warning: The partition table looks like it was made
for C/H/S=*/54/9 (instead of 1020/125/62).
For this listing I'll assume that geometry.
Units = mebibytes of 1048576 bytes, blocks of 1024 bytes, counting from 0
Device Boot Start End MiB #blocks Id System
/dev/sdb1 * 1 3860 3860 3952640 b W95 FAT32
start: (c,h,s) expected (4,11,6) found (0,32,33)
end: (c,h,s) expected (1023,53,9) found (492,53,9)
/dev/sdb2 0 - 0 0 0 Empty
/dev/sdb3 0 - 0 0 0 Empty
/dev/sdb4 0 - 0 0 0 Empty
### 3. cfdisk ###
Cfdisk是一个基于ncurses提供字符终端处理库包括面板和菜单的带有交互式用户界面的Linux分区编辑器它可以用来列出现有分区以及创建或修改这些分区。
下面是一个如何使用Cfdisk来列出分区的例子。
![linux cfdisk disk partitions](http://www.binarytides.com/blog/wp-content/uploads/2014/06/linux-cfdisk.png)
Cfdisk一次只能列出一个分区所以如果你需要看某一磁盘的细节可以把该磁盘的设备名作为Cfdisk的参数。
$ sudo cfdisk /dev/sdb
### 4. parted ###
Parted是另一个命令行实用程序可以列出分区如果需要的话也可进行修改。
下面是一个例子,列出了详细的分区信息。
$ sudo parted -l
Model: ATA ST3500418AS (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 32.3kB 75.2GB 75.2GB primary ntfs boot
2 75.2GB 500GB 425GB extended lba
5 75.2GB 180GB 105GB logical ntfs
6 180GB 285GB 105GB logical ext4
7 285GB 287GB 2047MB logical linux-swap(v1)
8 287GB 500GB 213GB logical ext4
Model: Sony Storage Media (scsi)
Disk /dev/sdb: 4049MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 1049kB 4049MB 4048MB primary fat32 boot
### 5. df ###
Df是不是一个分区工具但它打印出挂装文件系统的细节Df可以列出甚至不是真实的磁盘分区的文件系统。
这里是个简单的例子:
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda6 97G 43G 49G 48% /
none 4.0K 0 4.0K 0% /sys/fs/cgroup
udev 3.9G 8.0K 3.9G 1% /dev
tmpfs 799M 1.7M 797M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 3.9G 12M 3.9G 1% /run/shm
none 100M 20K 100M 1% /run/user
/dev/sda8 196G 154G 33G 83% /media/13f35f59-f023-4d98-b06f-9dfaebefd6c1
/dev/sda5 98G 37G 62G 38% /media/4668484A68483B47
只有以 /dev 开始的文件系统才是实际的设备或分区。
可以使用grep命令来筛选出实际的硬盘分区或文件系统。
$ df -h | grep ^/dev
/dev/sda6 97G 43G 49G 48% /
/dev/sda8 196G 154G 33G 83% /media/13f35f59-f023-4d98-b06f-9dfaebefd6c1
/dev/sda5 98G 37G 62G 38% /media/4668484A68483B47
要只显示真正的磁盘分区与分区类型可以这样使用Df
$ df -h --output=source,fstype,size,used,avail,pcent,target -x tmpfs -x devtmpfs
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda6 ext4 97G 43G 49G 48% /
/dev/sda8 ext4 196G 154G 33G 83% /media/13f35f59-f023-4d98-b06f-9dfaebefd6c1
/dev/sda5 fuseblk 98G 37G 62G 38% /media/4668484A68483B47
请注意Df只显示已挂载的文件系统或分区并不是所有。
### 6. pydf ###
它是用Python写的Df的改进版本以易读的方式打印出所有磁盘分区。
$ pydf
Filesystem Size Used Avail Use% Mounted on
/dev/sda6 96G 43G 48G 44.7 [####.....] /
/dev/sda8 195G 153G 32G 78.4 [#######..] /media/13f35f59-f023-4d98-b06f-9dfaebefd6c1
/dev/sda5 98G 36G 61G 37.1 [###......] /media/4668484A68483B47
另外pydf被限制为仅显示已挂载的文件系统。
### 7. lsblk ###
列出了所有的块存储设备,包括磁盘分区和光盘驱动器。细节包括所有分区/块总大小和挂载点。
它不会报告分区上的已使用和空闲磁盘空间。
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 465.8G 0 disk
├─sda1 8:1 0 70G 0 part
├─sda2 8:2 0 1K 0 part
├─sda5 8:5 0 97.7G 0 part /media/4668484A68483B47
├─sda6 8:6 0 97.7G 0 part /
├─sda7 8:7 0 1.9G 0 part [SWAP]
└─sda8 8:8 0 198.5G 0 part /media/13f35f59-f023-4d98-b06f-9dfaebefd6c1
sdb 8:16 1 3.8G 0 disk
└─sdb1 8:17 1 3.8G 0 part
sr0 11:0 1 1024M 0 rom
如果没有挂载点这就意味着文件系统未安装而对于cd/dvd这意味着没有插入光盘。
lsblk能够显示每个设备的更多信息如标签和型号更多请查看信息手册。
### 8. blkid ###
显示块设备分区和存储介质属性例如UUID和文件系统类型不报告分区空间。
$ sudo blkid
/dev/sda1: UUID="5E38BE8B38BE6227" TYPE="ntfs"
/dev/sda5: UUID="4668484A68483B47" TYPE="ntfs"
/dev/sda6: UUID="6fa5a72a-ba26-4588-a103-74bb6b33a763" TYPE="ext4"
/dev/sda7: UUID="94443023-34a1-4428-8f65-2fb02e571dae" TYPE="swap"
/dev/sda8: UUID="13f35f59-f023-4d98-b06f-9dfaebefd6c1" TYPE="ext4"
/dev/sdb1: UUID="08D1-8024" TYPE="vfat"
### 9. hwinfo ###
hwinfo是一个通用的硬件信息的工具可以用来打印出磁盘和分区表但是输出不再像上面的命令那样打印每个分区的详细信息。
$ hwinfo --block --short
disk:
/dev/sda ST3500418AS
/dev/sdb Sony Storage Media
partition:
/dev/sda1 Partition
/dev/sda2 Partition
/dev/sda5 Partition
/dev/sda6 Partition
/dev/sda7 Partition
/dev/sda8 Partition
/dev/sdb1 Partition
cdrom:
/dev/sr0 SONY DVD RW DRU-190A
### 总结 ###
parted的输出可以得到简洁而完整的不同分区的概述、其上的文件系统以及总空间。pydf和df它们一样只是被限制为只显示已挂载文件系统。
fdisk和sfdisk显示完整大量的信息需要花些时间来解释。cfdisk是一个交互式分区工具每次显示一个单一的设备。
来尝试下这些命令吧,别忘了在下面评论哟!
--------------------------------------------------------------------------------
via: http://www.binarytides.com/linux-command-check-disk-partitions/
译者:[tenght](https://github.com/tenght) 校对:[Caroline](https://github.com/carolinewuyan)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@@ -0,0 +1,85 @@
如何通过网络在Windows、MAC和Linux之间共享文件
================================================================================
![](http://cdn.howtogeek.com/wp-content/uploads/2014/06/windows-mac-and-linux-network.jpg)
家庭[文件共享][1]曾经是一个噩梦即使在不同的Windows版本之间—— 甚至不考虑Mac和Linux但现在这些操作系统可以相互通信并且无需特殊软件就可共享文件。
我们之前使用SMB协议来做到这点。Windows使用SMB来做文件共享同时Mac和Linux发行版都内置支持SMB。Microsoft甚至给开源Samba项目[提交过补丁][2]来改进它!
### 在Windows上共享文件夹 ###
既然其他操作系统不能访问家庭组,您需要[启用Windows老式的文件共享][3]。要做到这点,打开控制面板进入网络和共享> 更改高级共享设置。启用“网络发现”和“文件与打印共享”。
如果你想要无需密码访问共享文件夹你还需要微调一下其它选项。
![](http://cdn.howtogeek.com/wp-content/uploads/2014/06/enable-file-and-printer-sharing-for-mac-and-linux-on-windows.png)
在Windows Explorer或者File Explorer中找到你想共享的文件夹右键点击选择属性。点击共享标签并使用这里的选项来共享和配置文件夹的权限。
![](http://cdn.howtogeek.com/wp-content/uploads/2014/06/share-windows-folders-with-mac-and-linux-on-local-network.png)
### 在Windows上访问共享文件夹 ###
在Windows Explorer或者File Explorer中访问网络面板来浏览其他计算机共享给你的文件。你会看到正确配置后的Mac和Linux计算机在Windows PC机附近出现了。双击一台计算机来查看它的共享文件。
![](http://cdn.howtogeek.com/wp-content/uploads/2014/06/access-ubuntu-linux-shared-folder-on-windows.png)
如果你知道计算机名或者IP地址你同样可以直接连接到这台计算机上只需要在Windows Explorer或者File Explorer中输入\\计算名后按下回车就可以了。如果你希望直接通过IP地址连接只需要将计算机名换成IP地址就可以了
![](http://cdn.howtogeek.com/wp-content/uploads/2014/06/directly-access-network-share-on-windows.png)
### 在Mac OS X 上共享文件夹 ###
你需要在你的Mac上启用网络文件共享来共享文件。点击桌面左上角的苹果logo并选择系统偏好。点击共享图标并启用文件共享。点击选项按钮并确认“使用SMB共享文件和文件夹”已经启用。
在共享文件夹那列中选择添加要共享的文件夹。使用用户列来选择哪些用户和组可以访问和写入它们
![](http://cdn.howtogeek.com/wp-content/uploads/2014/06/share-folder-with-windows-from-mac-os-x.png)
### 在 Mac OS X 访问共享目录###
打开Finder在屏幕顶部的菜单中点击Go选择连接到服务器输入下面的地址用Windows计算机名代替COMPUTERNAMEsmb://COMPUTERNAME。你同样可以输入计算机IP来代替计算机名。
![](http://cdn.howtogeek.com/wp-content/uploads/2014/06/directly-connect-to-windows-file-share-on-a-mac.png)
你会被提醒你应该用相应的凭证来验证或者以访客方式登录。连接完成后在Finder的侧边栏的共享列中就会出现这台计算机
要在你每次登录后自动链接到共享文件夹,打开系统偏好窗口并进入用户与组 > 登录项。从finder中的共享列中的网络共享拖拽到登录项列表中
![](http://cdn.howtogeek.com/wp-content/uploads/2014/06/windows-shared-folder-on-mac.png)
### 在 Linux 中共享文件夹 ###
在Linux上使用你桌面文件管理器来共享文件夹。这里我们使用Ubuntu 14.04上的Nautilus不过其他文件管理器上的过程应该是相似的。
打开文件管理器在想要共享的文件上右键选择属性。点击本地网络共享标签并对这个文件启用共享。如果这是你第一次启用共享你会被提示要求安装Samba软件——这在你提供密码的时候会自动显示。
在安装完Samba软件后配置共享设置- 确认点击创建共享按钮来开始共享文件夹。
![](http://cdn.howtogeek.com/wp-content/uploads/2014/06/share-folder-from-ubuntu-linux-with-windows-pc-over-local-network.png)
### 在 Linux 上访问共享文件夹 ###
你的Linux桌面文件管理器可能包含了一个网络浏览器它可以用来定位并访问在本地网络的共享文件夹。
在文件管理器的侧边栏点击浏览网络选项。接着双击Windows网络选项双击你的工作组默认是WORKFROUP双击邻近的计算机来浏览它的共享文件。
![](http://cdn.howtogeek.com/wp-content/uploads/2014/06/browse-windows-network-shares-on-ubuntu.png)
要直接连接到一台计算机选中Nautilus中的“连接到服务器”选项并输入像这样的远程计算机地址smb://COMPUTERNAME
![](http://cdn.howtogeek.com/wp-content/uploads/2014/06/directly-connect-to-windows-shared-folder-on-ubuntu.png)
不过在你连接时,你可能需要使用具有访问远程计算机权限的用户名和密码来验证。这依赖于你是否启用了访客访问以及你如何设置你的文件夹共享权限。
--------------------------------------------------------------------------------
via: http://www.howtogeek.com/191116/how-to-share-files-between-windows-mac-and-linux-pcs-on-a-network/
译者:[geekpi](https://github.com/geekpi) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://www.howtogeek.com/166407/how-to-easily-share-files-between-nearby-computers/
[2]:http://www.samba.org/samba/news/developers/ms-patch.html
[3]:http://www.howtogeek.com/school/windows-network-sharing/lesson3/

View File

@@ -0,0 +1,111 @@
使用Linux的lsblk命令列出块设备信息
================================================================================
**lsblk**(列出块设备)命令用于列出所有可用块设备的信息,但是,它**不会列出RAM盘的信息**。块设备有硬盘闪存盘CD-ROM等等。
### 如何安装lsblk ###
lsblk命令包含在util-linux-ng包中现在该包改名为util-linux。这个包带了几个其它工具如dmesg。要安装lsblk请在[此处][1]下载util-linux包。
### Fedora中安装lsblk ###
Fedora用户可以通过以下方法来安装该包
$ sudo yum install util-linux-ng
该命令有几个选项:
### 默认选项 ###
lsblk命令默认情况下将以树状列出所有块设备。打开终端并输入以下命令
$ lsblk
输出如下:
![lsblk default](http://linoxide.com/wp-content/uploads/2014/03/lsblk-default.jpg)
7个栏目名称如下
**NAME** : 这是块设备名。
**MAJ:MIN** : 本栏显示主要和次要设备号。
**RM** : 本栏显示设备是否可移动设备。注意在本例中设备sdb和sr0的RM值等于1这说明他们是可移动设备。
**SIZE** : 本栏列出设备的容量大小信息。例如298.1G表明该设备大小为298.1GB而1K表明该设备大小为1KB。
**RO** : 该项表明设备是否为只读。在本案例中所有设备的RO值为0表明他们不是只读的。
**TYPE** :本栏显示块设备是否是磁盘或磁盘上的一个分区。在本例中sda和sdb是磁盘而sr0是只读存储romLCTT译注此处sr0的RO项没有标记为1可能存在一些错误
**MOUNTPOINT** : 本栏指出设备挂载的挂载点。
### 列出所有设备 ###
默认选项不会列出所有空设备。要查看这些空设备,请使用以下命令:
$ lsblk -a
该选项将列出所有设备,包括空设备在内。
![lsblk bytes sda](http://linoxide.com/wp-content/uploads/2014/03/lsblk-bytes-sda.png)
### 列出设备权限和属主 ###
lsblk命令也可以用于列出一个特定设备的拥有关系同时也可以列出组和模式。可以通过以下命令来获取这些信息
$ lsblk -m
![lsblk permissions](http://linoxide.com/wp-content/uploads/2014/03/lsblk-permissions.png)
### 列出指定设备 ###
该命令也可以只获取指定设备的信息。这可以通过在提供给lsblk命令的选项后指定设备名来实现。例如你可能对了解以字节显示你的磁盘驱动器大小比较感兴趣那么你可以通过运行以下命令来实现
$ lsblk -b /dev/sda
或者,以下命令等同:
$ lsblk --bytes /dev/sda
### 以列表形式列出不带头的设备 ###
你也可以组合几个选项来获取指定的输出。例如,你也许想要以列表格式列出设备,而不是默认的树状格式。你可能也对移除不同栏目名称的标题感兴趣。可以将两个不同的选项组合,以获得期望的输出,命令如下:
$ lsblk -nl
或者,你可以使用下面的长选项,它们也能给出相同的输出。
$ lsblk --noheadings --list
![lsblk no header and list](http://linoxide.com/wp-content/uploads/2014/03/lsblk-no-header-and-list.png)
### 列出SCSI设备 ###
要获取SCSI设备的列表你只能使用-S选项。该选项是大写字母S不能和-s选项混淆该选项是用来以颠倒的顺序打印依赖的。
$ lsblk -S
![](http://linoxide.com/wp-content/uploads/2014/03/lsblk-SCSI-devices.png)
lsblk列出SCSI设备而-s是逆序选项LCTT译注将设备和分区的组织关系逆转过来显示其将给出如下输出。输入命令
$ lsblk -s
或者
$ lsblk --inverse
![](http://linoxide.com/wp-content/uploads/2014/03/lsblk-inverse.png)
你可以使用lsblk来获取关于你的块设备的更多信息自己把它试着显示出来吧
--------------------------------------------------------------------------------
via: http://linoxide.com/linux-command/linux-lsblk-command/
译者:[GOLinux](https://github.com/GOLinux) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:ftp://ftp.kernel.org/pub/linux/utils/util-linux/

View File

@@ -0,0 +1,51 @@
在 Ubuntu 上体验 Mac 风格
================================================================================
![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/06/Make_Ubuntu_Look_Like_Mac_OS.jpeg)
虽然 Ubuntu Unity 本身已经是一款很漂亮的桌面了,但世界各地还是有很人被 Mac OS X 的外观所震撼。如果您恰好是其中之一,要获得 Mac OS X 一样外观体验,是不需要丢掉 Ubuntu 的,相反,您可以对它来个美化改造,**使 Ubuntu 14.04 看起来就像 Mac OS X**。
### 让 Ubuntu 14.04 看起来像 Mac OS X ###
要使 Ubuntu 美化成 Mac 的样子,我们得使用 Zukimac 主题。
- 从后面的链接获得 Zukimac 主题包:[下载 Zukimac Theme for Ubuntu 14.04][1]
- 解压下载的 Zip 包,解压后会出现 Zukimac 和 Zukimac-ml 两个目录文件。把这些目录拷贝到您的 home 目录下的 .themes 文件夹中。进入 Home 目录中,按下快捷键 Ctrl+H 可以显示所有隐藏的文件,如果没有 .themes 文件夹,需要创建一个。
- 使用 [Unity Tweak Tool 来改变主题][2].
就这些操作。Zukimac 提供了一些基本的 Mac OS 系统的外观和视窗感觉。下面是带有默认的 OS X Maveric 壁纸的外观。
![Make Ubuntu 14.04 look like Mac OS X](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/06/Ubuntu_MAC_OS_Looks.jpeg)
### Ubuntu 14.04 中获得更多 Mac 体验 ###
通常,您可以**安装像 Plank 或 Docky 这样的 dock 启动面板**。在 Ubuntu 14.04 中要安装 Plank 可以使用下面的命令:
sudo add-apt-repository ppa:ricotz/docky
sudo apt-get update
sudo apt-get install plank
安装完 dock 启动面板后,您也可以安装 **Synapse indicator 来代替模拟 Mac 中的 Spotlight**。使用来自于 Noobslabs 的 PPA 源来安装 Synapse indicator如下示
sudo add-apt-repository ppa:noobslab/apps
sudo apt-get update
sudo apt-get install indicator-synapse
不想安装上面的两软件的话,您也可以安装 **Slingscold launcher用来代替模拟 Mac OS X 的启动面板**。在 Ubuntu 14.04 中,使用上面提到的 Noobslabs 的 PPA 源来安装 Slingscold 启动面板,如下示:
sudo add-apt-repository ppa:noobslab/apps
sudo apt-get update
sudo apt-get install slingscold
老实说,我是个狂热的 Ubuntu 迷,我喜欢 Ubuntu 默认的 Unity 主题样式外观。此外,还有很多[关于 Ubuntu 14.04 的漂亮图标主题样式][3] 可用来美化默认的外观。但正如我上面提到的仍有很多用户喜欢 Mac OS X 的主题样式,我希望这篇文章能帮助到他们,使其能把 Ubuntu 14.4 装扮成 Mac OS X 的样式。
--------------------------------------------------------------------------------
via: http://itsfoss.com/ubuntu-1404-mac-zukimac-theme/
译者:[runningwater](https://github.com/runningwater) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://gnome-look.org/content/show.php/Zukimac?content=165450
[2]:http://itsfoss.com/how-to-install-themes-in-ubuntu-13-10/
[3]:http://itsfoss.com/best-icon-themes-ubuntu-1404/

View File

@@ -0,0 +1,297 @@
安装Linux Mint 17后要做的20件事
================================================================================
### Linux Mint 17 Qiana Cinnamon ###
Linux Mint 17已经[发布][1]定名为Qiana。Mint是Linux最佳发行版之一它定位于桌面用户关注可用性和简洁。它携带了风格迥异的桌面环境如Mate以及Cinnamon并基于不同的发行版如Ubuntu或Debian。
在本文中我们使用的是Linux Mint 17的cinnamon版本。要获取更多关于Cinnamon版本的信息包括下载链接可以访问 - http://linux.cn/article-3260-1.html
下载适合你系统的正确的iso烧录成dvd或者也可以制作成usb启动盘来启动。安装完毕是时候来使用一些优化工具和基本应用程序来优化系统性能和体验让你系统激情澎湃吧
### 1. 更新系统 ###
第一件事情是重中之重,就是让你的系统保持时刻最新。赶紧在终端中运行以下命令吧。
$ sudo apt-get update
$ sudo apt-get upgrade
或者你也可以使用更新管理器mintUpdate来干这事你可以在菜单Menu> 管理Administration中找到它。
![linux mint 17 qiana](http://www.binarytides.com/blog/wp-content/uploads/2014/06/linux-mint-17-qiana.png)
### 2. 找回旧壁纸 ###
每个Linux Mint发行版都自带了一套最新的漂亮的壁纸。但是你也可以安装先前版本中的壁纸。
$ sudo apt-get install mint-backgrounds-*
### 3. 多安装些浏览器 ###
Linux Mint 17默认安装了firefox你也可以获得更多的浏览器如Chronium和Google Chrome。
Chronium浏览器可以在仓库中获取。
$ sudo apt-get install chromium-browser
至于Google Chrome请访问google.com/chrome下载deb包并使用gdebi来安装。
# 64 位
$ wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
$ sudo gdebi google-chrome-stable_current_amd64.deb
# 32 位
$ wget https://dl.google.com/linux/direct/google-chrome-stable_current_i386.deb
$ sudo gdebi google-chrome-stable_current_i386.deb
### 4. 安装Flash Player ###
Mint上默认安装adobe flash插件包adobe-flashplugin因此你可以在Firefox中畅玩flash游戏也可以尽情享受网页版视频了。
Google Chrome现在使用了基于flash player的Pepper API而且该插件也内建于Chrome中因此你也不需要为它额外做任何事情了。
然而对于Chronium基于flash player的Pepper没有被囊括进来因为它不是个自由组件所以你需要手动安装了。
安装以下包来为Chronium安装pepper flash player。它会自动从Google Chrome浏览器中下载pepper flash player并加入到Chronium中。
$ sudo apt-get install pepperflashplugin-nonfree
上面的命令应该帮你将flash player安装到Chronium里头了。万一下载失败你可以使用下面的命令重新进行安装。
$ sudo dpkg-reconfigure pepperflashplugin-nonfree
### 5. 安装多媒体解码 ###
受限的额外包可以帮你安装大多数基本的解码可以让你播放像mp3这样的格式。它也会帮你安装微软字体。
$ sudo apt-get install ubuntu-restricted-extras
要启用加密dvd的回放请安装以下包。
$ sudo apt-get install libdvdread4
$ sudo /usr/share/doc/libdvdread4/install-css.sh
### 6. 安装专有驱动 ###
如果你有一张Nvidia或者ati的图形卡或者broadcom的无线网卡那么请安装厂商提供的专有驱动这些驱动会为你带来最佳的硬件性能。
要安装Nvidia驱动你可以参照先前的这篇文章
[如何在Linux Mint上安装最新的Nvidia驱动][3]
### 7. 安装Dropbox ###
Linux mint仓库已经提供了dropbox的客户端软件包所以你不必满世界找了。
$ sudo apt-get install dropbox python-gpgme
如果你还是比较喜欢从官方网站下载,那么翻墙可直达[https://www.dropbox.com/install?os=lnx][4]请遵照说明下载用于Ubuntu的deb安装包。LCTT译注墙内用户还是忽视此条吧。
Copy是另外一个云存储解决方案它也有本地Linux客户端。详情可查阅[copy.com][5],它也有[ppa仓库][6]。
### 8. Skype ###
Skype可以在Ubuntu canonical合作仓库中找到。
$ sudo apt-get install skype
### 9. 安装rar和其它归档工具 ###
要想在Nemo这样的文件管理器中通过上下文菜单创建rar归档请安装rar工具。安装rar的同时也可安装其它几个包以增加对其它归档格式的支持。
$ sudo apt-get install unace p7zip-rar sharutils rar arj lunzip lzip
### 10. 安装剪贴板管理器 ###
剪贴板管理器允许你维护和访问通过像Ctr+C这样的操作拷贝的项目历史gnome下有很多的剪贴板管理器像diodonclipitglipperparcellite。
Diodon在cinnamon桌面上似乎存在一些问题在历史列表增长时会出现滚动条。Clipit和Gipper工作得很好你也可以安装
$ sudo apt-get install glipper
# 或者
$ sudo apt-get install clipit
然后,你可以从应用程序菜单中启动它们,它们应该会在你每次登录时启动。
### 11. 优化桌面 ###
#### 1. 修复系统托盘上的日期格式 ####
在底部面板右边的时间小程序只显示了时间,它也可以设置显示日期。右击底部面板右边的日期-时间小程序,然后点击配置,选中标有“使用自定义日期格式”的选框,然后填入
%B %e, %I:%M %p
这会以带有AM/PM的12小时格式显示月份名称、日期和时间。
#### 2. 安装主题、扩展、小程序、桌面组件 ####
为你的桌面搞一些好东西玩玩。你可以在桌面区域放置一些桌面组件,在面板上放些小程序,为桌面效果添加一些扩展,以及为桌面设计安装一些主题。
去系统设置吧,点击指定的图标,你可以看见一个可供选择的列表。点击“在线获取更多”标签来下载更多的好东西。
#### 3. 修改Firefox的搜索引擎 ####
你也许注意到Firefox默认选择了Yahoo搜索引擎而搜索引擎列表中并没有Google。点击“管理搜索引擎” > 获取更多搜索引擎,它会带你去[http://www.linuxmint.com/searchengines.php][7]。
向下拉动滚动条到商业搜索引擎部分找到并点击Google图标。进入下一页后再次点击搜索引擎列表而这次你会看到“添加Google”选项点击它就可以用上Google搜索了。LCTT译注墙内用户也请忽略此条。怒
### 12. 优化字体渲染 ###
Linux mint默认使用Dejavu Sans字体它看起来真普通啊。你可以使用Droid和Noto字体获得好看得多视觉享受。请参照我们先前的教程它会一步一步带你渐入佳境。[如何在Linux Mint上获得华丽好看的字体][8]
### 13. Guake下拉终端 ###
下拉终端让你可以通过点击单个键来访问终端Guake就是这其中之一它用于基于gtk的桌面。下拉终端按要求显示/隐藏,并保持运行,因此你无需从菜单或者启动器中打开终端了。这对于热衷于终端的人来说,这是一个必不可少的工具。
$ sudo apt-get install guake
Guake需要配置以便在每次登陆时启动。首先找到guake命令的路径。
$ which guake
/usr/bin/guake
现在,把它添加到启动程序列表中。出门左拐,请往系统设置 > 启动程序,然后点击添加。在对话框中填写
> 名称 - Guake下拉终端
> 命令 - /usr/bin/guake
点击添加。现在Guake已经跑到你的运行程序列表中去了并每次会自动启动。
### 14. Uget下载管理器 ###
Uget是一个简洁而健壮的跨平台下载管理器在Linux上工作得很好。虽然它缺少分段下载文件功能但是仍然是一个十分稳定的下载管理器。
$ sudo apt-get install uget
### 15. Deluge BitTorrent客户端 ###
Linux Mint自带了Transmission这是个简洁而高效的torrent客户端。如果正在寻找一个更有特色的torrent客户端那么你可以试试deluge或者vuze正式名称是azureus还可以试试qbittorent。
$ sudo apt-get install deluge-torrent
### 16. Hardinfo - 系统信息工具 ###
Hardinfo是一个十分便利的GUI工具它可以用来报告大量完整的系统硬件信息。你可以通过它来集中查看处理器、内存、存储设备、网络配置、打印机、usb设备、声音/视频适配器等等信息。它具有测试和评估系统性能的功能。
$ sudo apt-get install hardinfo
### 17. 安装MATE桌面环境 ###
除了CinnamonLinux Mint还自带了另一个流行的桌面环境MATEMaatay桌面。如果你想试试那么就来安装吧。
$ sudo apt-get install mint-meta-mate
现在你可以在登陆屏幕选择MATE会话了。
### 18. 让其它分区可写 ###
如果你有其它ext分区比如想用来存储和备份文件那么你需要让它们可写以免每次都要使用root特权。
首先使用gksudo在文件管理器里打开分区挂载目录
$ gksudo nemo
导航到分区目录,右击去往属性 > 权限标签
赋予“目录访问” - 创建和删除文件权限给用户、组和其它。
赋予“文件访问” - 读和写权限给用户、组和其它。
对于NTFS分区你不需要做此事。
### 19. 安装Conky ###
Conky是一个轻量级系统监控工具它通过桌面图形组件显示系统各种资源的统计数据如cpu、内存、网络等。它不是必须的但是可以让你的桌面更加绚丽夺目。
$ sudo apt-add-repository -y ppa:teejee2008/ppa
$ sudo apt-get update
$ sudo apt-get install conky-manager
从应用程序菜单启动Conky管理器并添加组件到桌面。也可以选中开机启动选项来让Conky开机启动。
### 20. 安装一些游戏 ###
Linux确实有一些酷爽的游戏很具娱乐性而且是免费的。注意某些游戏像supertuxkart和0ad要求专用的图形处理器以优化性能。
# 0ad - 像帝国时代那样的策略游戏
$ aptitude search 0ad
# supertuxkart - 赛车游戏
$ aptitude search supertuxkart
# openarena
$ aptitude search openarena
仓库中还有更多的游戏可供你安装像Alien arena, secret maryo chronicles, supertux, frozen bubbles等等。
### 清除 ###
做完这一切后,请为系统进行一次大扫除,移除一些不必要的包。
$ sudo apt-get autoremove
### 注 ###
#### 为Google Chrome/Chronium提供Java小程序支持 ####
默认情况下已经安装了"icedtea-plugin"用以为firefox提供java小程序支持。
然而Chrome和Chronium却不再支持基于NPAPI的插件。因此java小程序在没有获得基于Pepper api的java插件前java小程序是不能在这些浏览器中工作的。要查看更多信息请往[这里][9]。
#### 更多应用程序 ####
如果你正在为你的Mint盒子寻找更多的应用程序那么这里列出了一部分更好的应用程序所有这些都可以在软件管理器中安装。
* Opera - 网页浏览器
* Gnome Encfs Manager - 管理使用Encfs加密的文件和文件夹
* Smplayer - 多媒体播放器
* Rhythmbox, Clementine - 音乐播放器
* Openshot, Kdenlive - 视频编辑器
* Audacity - 音频编辑器
* Inkscape - 图形和图像编辑
* Gparted - 分区编辑器
* Gufw - 防火墙配置工具
* qBittorrent, Vuze - Torrent客户端
* Gwenview - 图像浏览
* Team viewer - 远程桌面
* Tv-maxe - 查看电视频道
* Grub Customizer - 修改GRUB启动菜单设置
* Linrunner TLP - 电源管理工具,对笔记本节电很有用
* Virtualbox - 虚拟化
* Kazam, recordMyDesktop - 桌面录像/演示
* Bleachbit - 通过删除旧的/临时文件释放磁盘空间
* Cheese - 使用网络摄像头拍照
* Shutter - 带有众多功能的屏幕截图工具
那么请选择你喜欢的那些并尽情享受Linux Mint吧
### 资源 ###
下载最新Linux Mint
[http://www.linuxmint.com/download.php][10]
社区教程
[http://community.linuxmint.com/tutorial][11]
Linux Mint论坛
[http://forums.linuxmint.com/][12]
--------------------------------------------------------------------------------
via: http://www.binarytides.com/better-linux-mint-17-cinnamon/
译者:[GOLinux](https://github.com/GOLinux) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://blog.linuxmint.com/?p=2626
[2]:http://blog.linuxmint.com/?p=2626
[3]:http://www.binarytides.com/install-nvidia-drivers-linux-mint-16/
[4]:http://www.dropbox.com/install?os=lnx
[5]:http://copy.com/?r=DSwtSd
[6]:http://launchpad.net/~paolorotolo/+archive/copy
[7]:http://www.linuxmint.com/searchengines.php
[8]:http://www.binarytides.com/optimize-fonts-linux-mint/
[9]:http://bugs.launchpad.net/ubuntu/+source/chromium-browser/+bug/1309508
[10]:http://www.linuxmint.com/download.php
[11]:http://community.linuxmint.com/tutorial
[12]:http://forums.linuxmint.com/

View File

@@ -0,0 +1,113 @@
如何在 Linux/Unix/Mac 下清除 DNS 查询缓存
================================================================================
![](http://figs.cyberciti.biz/3rdparty/configure.png)
我在Linux下使用拨号连接上网频繁的拨号断线造成DNS的问题。我如何在Linux/Unix发行版下使用shell命令清除DNS缓存
在MS-Windows下,你可以使用[ipconfig命令来清除dns缓存][1]。然而Linux和Unix提供了不同的方法来清除缓存。Linux可以运行 nscd 或者 BIND 或者 dnsmasq 作为名称服务缓存守护进程。大型或者工作组服务器可能使用BIND或者dnsmasq作为专用缓存服务器来加速查询。
### 如何: 清除 nscd dns 缓存 ###
Nscd 会缓存libc发起的名称服务的请求。如果把检索NSS数据看做很慢那么nscd能够显著加快连续访问同一数据的速度并能提高整个系统的性能。只需重启nscd即可刷新缓存
$ sudo /etc/init.d/nscd restart
# service nscd restart
# service nscd reload
这个守护进程给最常用的名称服务请求提供了高速缓存。默认的配置文件/etc/nscd.conf其决定了高速缓存守护进程的行为。
### 清除 dnsmasq dns 缓存 ###
[dnsmasq的是一个轻量级的DNS][2]、TFTP和DHCP服务器。它的目的是给局域网提供配对的DNS和DHCP服务。 dnsmasq接受DNS查询并从一个小的本地高速缓存应答它们或将其转发到一个真正的递归DNS服务器。该软件也被安装在很多便宜的路由器上来缓存DNS查询。只需重新启动dnsmasq的服务来清除DNS缓存
$ sudo /etc/init.d/dnsmasq restart
或者
# service dnsmasq restart
### 清除BIND缓存服务器的dns缓存 ###
一台BIND缓存服务器从另一台服务器区域主响应主机的查询而获得信息然后保存缓存)数据到本地。您所要做的就是重启BIND以清除其缓存
# /etc/init.d/named restart
你也可以使用下面rndc命令来清除所有的缓存:
# rndc restart
或者
# rndc exec
BIND v9.3.0 及其以上版本支持一个清除一个特定域名的所有记录缓存的命令rndc flushname。本例中刷新cyberciti.biz相关域的所有记录
# rndc flushname cyberciti.biz
同样也可以清除BIND View。比如LAN和WAN的View可以用下面的命令清除:
# rndc flush lan
# rndc flush wan
### 给 Mac OS X Unix 用户的提示 ###
Mac下用root用户输入下面的命令:
# dscacheutil -flushcache
或者
$ sudo dscacheutil -flushcache
如果你正在使用OSX 10.5 或者更早的版本,尝试使用下面的命令:
lookupd -flushcache
### 关于 /etc/hosts 文件的一个提示 ###
/etc/hosts用作静态查询主机的表格。你需要在类Unix操作系统下依据你的要求移除并且/或者更新它:
# vi /etc/hosts
#### 示例输出: ####
127.0.0.1 localhost
127.0.1.1 wks01.WAG160N wks01
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
10.37.34.2 build
192.168.1.10 nas01
192.168.1.11 nas02
192.168.1.12 nas03
#192.168.2.50 nfs2.nixcraft.net.in nfs2
#192.168.2.51 nfs1.nixcraft.net.in nfs1
172.168.232.50 nfs1.nixcraft.net.in nfs1
172.168.232.51 nfs2.nixcraft.net.in nfs2
192.168.1.101 vm01
### 参考 ###
相关: 在Windows Vista / XP中用ipconfig 命令[清除 DNS 缓存][3]
--------------------------------------------------------------------------------
via: http://www.cyberciti.biz/faq/rhel-debian-ubuntu-flush-clear-dns-cache/
译者:[geekpi](https://github.com/geekpi) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://theos.in/windows-vista/flush-dns-cache-with-ipconfig/
[2]:http://www.cyberciti.biz/tips/how-do-i-improve-dns-performance-on-linuxwindows-desktop.html
[3]:http://theos.in/windows-vista/flush-dns-cache-with-ipconfig/

Some files were not shown because too many files have changed in this diff Show More