Merge pull request #1 from LCTT/master

2013年11月10日 00:32:23
This commit is contained in:
scusjs 2013-11-09 08:32:31 -08:00
commit 8880d2dc58
89 changed files with 3871 additions and 3009 deletions

1
.gitignore vendored
View File

@ -1,2 +1,3 @@
members.md
*.html

View File

@ -0,0 +1,127 @@
安装Ubuntu13.10后必做的10件事
================================================================================
**Ubuntu 13.10发布了而且你已经升级了然后你想知道现在要做些什么。不要着急这里有10件安装完Ubuntu 13.10后必做的事。**
我们以前为ubuntu每个版本整理了一个安装后核对表但是因为新功能的到来以及不断的进步我们建议的步骤也在不断改变和转换。
因此升级到ubuntu 13.10后最好做哪些事情呢?
### 1. 加快速度 ###
尽管Ubuntu 13.10相较于之前的发布版包含了较少的面向用户的特征但是新的Smart scopes服务还是不可错过的。
### 2. 使用第三方驱动 ###
![](http://www.omgubuntu.co.uk/wp-content/uploads/2013/04/drivers.jpg)
Ubuntu本身已经支持了大量的硬件。但是虽然免费而又开源的的驱动能力越来越强,在Steam 或 Steam HD video 上玩儿游戏仍会感觉性能差强人意。
如果是这样,可以 **安装并使用专有驱动** 它们在Software & Updates (软件和更新)工具中。
在启动器里打开*软件源应用* (或者通过系统设置)然后点击进入“其他驱动”选项卡,然后按照屏幕上的提示操作。
### 3. 安装Ubuntu的影音解码器 ###
![](http://www.omgubuntu.co.uk/wp-content/uploads/2013/10/mus.jpg)
由于一个很大的法律问题的纠缠Ubuntu不能即刻支持很多流行的音频视频格式。这是一项很大的先天缺陷。
但是安装这些支持所需要的仅仅只是几下点击。在安装过程中只需勾选*使用限制格式* 框来导入需要的解码器或者如果你忘了的话也可以从Ubuntu软件中心安装所有的多媒体相关工具。
- [安装第三方解码器][1]
### 4.建立你的社会生活###
![](http://www.omgubuntu.co.uk/wp-content/uploads/2013/04/account-toggles.jpg)
Facebook, Twitter, Google Talk, Gmail以及其他的社交账号可以在*在线账号* 里一起设置。
只需要添加一个网络然后**决定哪些程序可以使用它**。例如关掉Empathy默认启动Google Chat从Social Lens里过滤FaceBook。
支持的服务包括Twitter, Google, Yahoo!, Facebook (包括 Facebook Chat), Flickr 以及正在增长的大量其他的应用。
### 5. 添加第三方应用 ###
![](http://www.omgubuntu.co.uk/wp-content/uploads/2013/04/apps.jpg)
Ubuntu默认提供了一整套的应用但是众口难调如果你不喜欢某个应用或者发现自己缺少了什么应用你可以很轻松的找到并添加软件。
打开Ubuntu软件中心可以看到成千上万的程序包括下面这些很流行的选择
- **Dropbox** - 流行,跨平台的云存储服务
- **Steam** 游戏发布平台
- **GIMP** 强大的图像处理软件
- **VLC** 流行的影音软件
您还可以找到像我们这样列出了丰富的附加软件的网站 - 看看我们的*Apps*标签你会有一些想法。
- [在OMG上查看Ubuntu App 列表! !][2]
### 6.保护你的隐私 ###
![](http://www.omgubuntu.co.uk/wp-content/uploads/2013/10/priv.jpg)
最近隐私问题是一个烫手山芋因此很高兴看到最新版的Ubuntu改进了它的隐私设置提供了一个新的界面和大量的新选择。
不论你是想在启动器上隐藏一个文件还是一个应用限制从睡眠状态到进入电脑时的访问或者选择什么样的系统崩溃向Canonical发送信息在“隐私和安全”面板总是可以提供你想要的工具。
### 7.享受互联网 ###
![](http://www.omgubuntu.co.uk/wp-content/uploads/2013/04/gmails.jpg)
Canonical宣称在Ubuntu Touch 上,网站可以很容易的打包、整合并用于安装, 以吸引web开发人员。
该方式已经包含在桌面 Ubuntu 一些版本中。超过300个流行网站-包括Gmail, Yahoo! 和Rd.io-可以和桌面无缝集成。
例如,添加 GMail 您可以在启动器和消息菜单上获得喜爱的Gmail选项 启用Rd.io您可以使用“声音”Sound) 菜单控制回放。
### 8. 设置自己的Unity Yours ###
![](http://www.omgubuntu.co.uk/wp-content/uploads/2013/10/unity_tweak_tool_310.png)
Unity比人们想的定制性更好。 *Unity Tweak Tool* 是一个第三方应用可以让您调整桌面Unity以打造一个适合您的环境。
选择包括:
- 调整启动器透明度
- 设置启动器图标动画
- 启动工作台
- 设置快捷键
- 移动窗口的控制
但是,不要期望太大,它不会让你移动启动器的。
- [从Ubuntu软件中心安装Unity Tweak Tool][3]
### 9. 过滤噪音 ###
Ubuntus新的Smart Scopes服务号称要做成一个很方便的工具但是现在还不像声称的那样智能。
好消息是这个特性只需一击就可以关闭所以没有必要因噎废食顺带着排斥Ubuntu。
如果你每次搜索时还顺带了一堆毫不相关的不知名的音乐结果或者购物建议,你可以单独禁用该范围。
![](http://www.omgubuntu.co.uk/wp-content/uploads/2013/10/Screen-Shot-2013-10-15-at-11.36.26-750x480.png)
如果你发现自己每一个搜索都被无关的音乐结果淹没了,可以禁用“音乐范围”。不想要亚马逊的建议?关掉它。
### 10. 传播关于Ubuntu13.10的信息 ###
我知道在我们的“应当去做”列表上这是比较尴尬的一项。但是只有人们知道Ubuntu 13.10才会去尝试它,因此请出一份力量,多多分享关于它的新闻。
无论你是把这篇文章贴到Facebook上还是为你的OS X粉搭档制作了一个LiveUSB对于Ubuntu的认知度的提高都是很有帮助的。
别忘了享受使用它。去检查下Facebook上的简介听一些音乐享受一下用Firefox上网。
--------------------------------------------------------------------------------
via: http://www.omgubuntu.co.uk/2013/10/10-things-installing-ubuntu-13-10
译者:[crowner](https://github.com/译者ID) 校对:[jasminepeng](https://github.com/jasminepeng)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:https://apps.ubuntu.com/cat/applications/ubuntu-restricted-extras/
[2]:http://www.omgubuntu.co.uk/category/app
[3]:apt:unity-tweak-tool

View File

@ -1,14 +1,14 @@
思科布新的开源H.264编解码器
思科布新的开源H.264编解码器
================================================================================
![](http://www.omgubuntu.co.uk/wp-content/uploads/2012/04/youtube.jpg)
*YouTube是众多使用H.264的网站之一*
**美国网络设备公司思科[宣布计划提供一个开源的H.264编解码器](1) - 也就是在WebRTC中播放电影就再也没有问题了。**
**美国网络设备公司思科[宣布计划提供一个开源的H.264编解码器](1) - 也就是说以后在WebRTC中播放电影就再不会有问题了。**
尽管H.264广泛应用于HTML5视频流中但是不是所有的浏览器和操作系统都可以利用H.264。
这是因为使用可以编码与解码H.264视频的编解码器需要向持有相关专利的MPEG LA组织支付高昂的使用费也许不是巧合[一些专利为思科所拥有](2))。
此外用于H.264的编解码器禁止随同像网页浏览器这样的开源软件一同分发。
@ -19,17 +19,17 @@
这家公司谈到通过开源他们的H.264编解码器和为他们预编译的二进制文件提供免费下载这将给像WebRTC这样的允许浏览器间实时通信的HTML5 API提供强大动力。
>思科并不是第一个去创建H.264开源实现的。。。
>思科并不是第一个去创建H.264开源实现的...
实际上Mozilla[已经宣布](3)它计划在Firefox中支持思科的H.264二进制模块。
思科并不是第一个去创建H.264的开源实现的。GNU的libavcodec库已经包括了解码器和编码器后者基于[x264](4)。但是思科提供的开源实现实有法律立足点的 - 而这正是其它的开源实现所缺乏的。这使得思科的解码器对象Mozilla这样的公司来说就非常有用,这可以使得它们无需担心法律问题。
思科并不是第一个去创建H.264的开源实现的。GNU的libavcodec库已经包括了解码器和编码器后者基于[x264](4)。但是思科提供的开源实现是有法律支持的 - 而这正是其它的开源实现所缺乏的。这使得思科的解码器对象Mozilla这样的公司来说就非常有用这可以使得它们无需担心法律问题。
然而,思科公司为何提供这样一个新编解码器的真相还不很清楚。
然而,思科公司为何提供这样一个新编解码器的原因还不很清楚。
思科将开源他们的H.264栈。这将随着预编译二进制模块一同可从他们的网站上免费下载。像Firefox这样的应用就可以在需要解码H.264视频的时候载入它(甚至可在需要的时候自动下载它)。
于此同时思科将要向MPEG LA组织支付专利费用而这些费用无法向使用它们模块的用户收取。对于直接由源代码进行编译的行为的限制也不清晰。尽管如此,随着代码下周在Github网站上进行托管我们就可以获得更多信息。
于此同时思科将要向MPEG LA组织支付专利费用而这些费用无法向使用它们模块的用户收取。对于直接由源代码进行编译的行为的限制也不清晰。尽管如此随着代码在Github网站上进行托管我们就可以获得更多信息。
###总结###
@ -41,7 +41,7 @@
via: http://www.omgubuntu.co.uk/2013/10/cisco-announce-open-source-h-264-codec
译者:[Linux-pdz](https://github.com/Linux-pdz) 校对:[校对者ID](https://github.com/校对者ID)
译者:[Linux-pdz](https://github.com/Linux-pdz) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -1,6 +1,7 @@
Linux系统上用encfs创建和管理加密文件夹
================================================================================
如果你想使你计算机上的某些信息免于被窥视的话这儿正是所到之地。保护信息的一种方法就是加密你的home目录但是一旦你登陆系统后你的home目录下的信息将暴露于外。过去我已经写过关于怎样[在你的系统上使用Cryptkeeper来创建加密的文件夹][1]。Cryptkeeper是一个图形前端后端是**encfs**。encfs允许你创建一个加密的文件夹然后把它当作使用[FUSE][2]来实现的用户文件系统来挂载。在这篇教程里我会教你怎么在Linux系统上的命令行下面使用encfs工具来创建和管理一个加密的文件夹。
如果你想使你计算机上的某些信息免于被窥视的话可以看看这篇文字。保护信息的一种方法就是加密你的home目录但是一旦你登录系统后你的home目录下的信息将暴露于外。过去我已经写过关于怎样[在你的系统上使用Cryptkeeper来创建加密的文件夹][1]。Cryptkeeper是一个图形前端后端是 **encfs**。encfs允许你创建一个加密的文件夹然后通过[FUSE][2]来挂载作为用户文件系统。在这篇教程里我会教你怎么在Linux系统上的命令行下面使用encfs工具来创建和管理一个加密的文件夹。
![](http://tuxtweaks.com/wp-content/uploads/2013/10/encfs.png)
@ -12,11 +13,11 @@ Linux系统上用encfs创建和管理加密文件夹
### 用encfs创建加密文件夹 ###
一旦在系统中安装好了encfs后你就能在home目录下创建一个加密的文件夹。在这个示例当中我将会创建一个叫做tuxtweaks的加密文件夹这通过终端窗口就可以实现。当创建一个新的文件夹的时候,你需要指定全路径名,当然也可以使用如下所示的标准快捷方式。
一旦在系统中安装好了encfs后你就能在你的home目录下创建一个加密的文件夹。在这个示例当中我将会创建一个叫做tuxtweaks的加密文件夹这通过终端窗口就可以完成。当创建一个新的文件夹的时候,你需要指定全路径名,当然也可以使用如下所示的标准快捷方式。
encfs ~/.tuxtweaks ~/tuxtweaks
这会创建两个文件夹。第一个.**tuxtweaks**,它包含被加密的信息第二个tuxtweaks,当你想要访问信息的时候,解密的版本信息将会挂载到下面。如果这些文件夹都不存在,系统将会提示询问是否创建它们。在提示下面键入‘**y**’以允许创建文件夹,然后你应该能看到如下所示的一些信息:
这会创建两个文件夹。第一个.**tuxtweaks**,它包含被加密的信息第二个tuxtweaks当你想要访问信息的时候,解密的版本信息将会挂载到下面。如果这些文件夹都不存在,系统将会提示询问是否创建它们。在提示下面键入‘**y**’以允许创建文件夹,然后你应该能看到如下所示的一些信息:
Creating new encrypted volume.
Please choose from one of the following options:
@ -26,7 +27,7 @@ Linux系统上用encfs创建和管理加密文件夹
如果你想要最高级别的加密文件夹的话,在提示符下输入**p**选项。否则只需敲击**[Enter]键**,就会以标准选项来创建新的加密文件夹。
之后,你将会看到新加密卷的参数列表及一些警告信息,随之提示符会让输入一个密码。确保不要忘记使用的密码,回为没有密码找回机制。在输入密码能以第二次输入校验通过后,新的文件夹会被创建出来,并自动挂载进文件系统,就可以开始使用了。
之后,你将会看到新加密卷的参数列表及一些警告信息,随之提示符会让输入一个密码。确保不要忘记使用的密码,因为没有密码找回机制。在输入密码并以第二次输入校验通过后,新的文件夹会被创建成功,并自动挂载进文件系统,可以开始使用了。
### 使用加密文件夹 ###
@ -38,11 +39,11 @@ Linux系统上用encfs创建和管理加密文件夹
### 卸载encfs创建的加密文件夹 ###
一旦你完成文件访问或者数据创建等操作最好把加密文件夹卸载以便里面的信息安全的隐藏掉。encfs自身不带有卸载的命令一旦用它创建了用户文件系统就可以利用FUSE来处理卸载任务。下面我们会使用fusermount命令来卸载我们的加密文件夹。
一旦你完成文件访问或者数据创建等操作最好把加密文件夹卸载以便里面的信息安全的隐藏掉。encfs自身不带有卸载的命令一旦用它创建了用户文件系统就可以利用FUSE来处理卸载任务。下面我们会使用fusermount命令来卸载我们的加密文件夹。
fusermount -u ~/tuxtweaks
切换到home目录下会看到tuxtweaks目录仍然存在但进入文件夹你会发现里面是空的。
切换到home目录下会看到tuxtweaks目录仍然存在但进入文件夹你会发现里面是空的。译注因为tuxtweaks目录只是一个挂载点真实的数据是以加密的方式存储在.tuxtweaks目录下的
### 挂载用encfs创建的加密文件夹 ###
@ -50,8 +51,8 @@ Linux系统上用encfs创建和管理加密文件夹
encfs ~/.tuxtweaks ~/tuxtweaks
### 使用 ###
### 用 ###
我发现使用**encfs**加密文件夹来安全地存储财务信息非常便捷比如纳税申报表以及用于存储日志列表凭据。这样我只需要记住我加密文件夹的密码然后就可以进入访问记录有其他登录ID和密码的名单文件。
你会使用encfs来做什么呢在评论中给我们分享吧。
@ -60,7 +61,7 @@ Linux系统上用encfs创建和管理加密文件夹
via: http://tuxtweaks.com/2013/10/encrypted-folders-linux-encfs/
译者:[runningwater](https://github.com/runningwater) 校对:[校对者ID](https://github.com/校对者ID)
译者:[runningwater](https://github.com/runningwater) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -1,10 +1,11 @@
Ubuntu每日小技巧-改变登陆窗口背景
每日Ubuntu小技巧-改变登陆窗口背景
================================================================================
这儿给你提供了一下简单的小技巧告诉你如何用你自己图片来替换登陆窗口的背景。Ubuntu的登陆窗口挺不错的可能比大多数发行版的都要好但是假如你要用一张你自己的图片比如一张可以让你回忆起某个特定的地方或事情的图片你就可以按照下面的步骤来更换上它。
有许多方法可以做到这一点这篇博文介绍的只是其中一种。下面介绍的方法使用dconf-editor和lightdm用户来达到同样的效果。跟着我做切换到root用户给予lightdm用户访问x-server的权限。下一步使用lightdm用户组权限运行dconf-editor然后做出更改
本文为你提供了一个简单的小技巧告诉你如何用你自己图片来替换登陆窗口的背景。Ubuntu的登陆窗口挺不错的可能比大多数发行版的都要好但是如果你想要使用一张你自己的图片比如一张可以让你回忆起某个特定的地方或事情的图片你就可以按照下面的步骤来更换上它
在设置完自定义图片并且重启后你应该就能在你每次启动你的电脑时看到你设置的图片。若设置的图片是一张你非常喜欢的并且能给你带给你很多回忆的图片那么你每次启动电脑登陆到Ubuntu时一定非常开心。
有许多方法可以做到这一点这篇博文介绍的只是其中一种。下面介绍的方法可以使用dconf-editor和lightdm用户身份来完成这样的效果。简单来说就是切换到root用户给予lightdm用户访问x-server的权限。然后使用lightdm用户身份运行dconf-editor然后做出修改。
在设置完自定义图片并且重启后每次启动电脑时你就应该能看到你设置的图片。若设置的图片是一张你非常喜欢的并且能给你带给你很多回忆的图片那么你每次启动电脑登陆到Ubuntu时一定非常开心。
这个手册假设你已经在你的电脑上安装了dconf-editor。若没有你可以运行以下命令来安装dconf-editor
@ -14,7 +15,7 @@ Ubuntu每日小技巧-改变登陆窗口背景
sudo i
下一步运行以下命令给予lightdm用户访问X-server的权限。Lightdm是一个管理登陆窗口背景的服务程序因此假如你要更换登陆窗口的背景图片你就要改lightdm用户。
下一步运行以下命令给予lightdm用户访问X-server的权限。Lightdm是一个管理登陆窗口背景的服务程序因此假如你要更换登陆窗口的背景图片你就要改lightdm用户。
xhost +SI:localuser:lightdm
@ -26,12 +27,13 @@ Ubuntu每日小技巧-改变登陆窗口背景
dconf-editor
当工具打开后,浏览到**com->canonical->unity-greeter**。然后改变背景值为自定义的图盘。你可能需要勾掉draw-grid。
当工具打开后,浏览到 **com->canonical->unity-greeter**。然后改变背景值为自定义的图盘。你可能需要勾掉draw-grid。
![](http://www.liberiangeek.net/wp-content/uploads/2013/09/logon-screen-background.png)
重启你的电脑。玩的开心~
重启电脑,尽情享受~
![](http://www.liberiangeek.net/wp-content/uploads/2013/09/logon-screen-background-1.png)
--------------------------------------------------------------------------------
@ -40,4 +42,4 @@ via: http://www.liberiangeek.net/2013/09/daily-ubuntu-tipschange-logon-screen-ba
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
译者:[Linux-pdz](https://github.com/Linux-pdz) 校对:[校对者ID](https://github.com/校对者ID)
译者:[Linux-pdz](https://github.com/Linux-pdz) 校对:[Caroline](https://github.com/carolinewuyan)

View File

@ -0,0 +1,23 @@
可在Ubuntu上运行的游戏编辑器Leadwerks 3.1
====================================
[Leadwerks][1]是一个多用途游戏开发应用现在正在往Linux上移植以便于在LinuxUbuntu上开发原生游戏。
数月前Leadwerks在kickstarter平台上发起了一个众筹项目以便于集资给这个游戏创建工具增加Linux平台支持项目目标包括成功达到预定的集资目标和放出leadwerks的beta版。
在它的官网上Leadwerks的开发者[贴出了][2]一张有 **leadwerks 3.1** 运行在Ubuntu上的图片。图片显示它有着原生的外观和感觉而且和桌面进行了恰当的集成这些成就明显的推动了仍在开发中的leadwerks在Ubuntu上的可用性。这是Leadwerks真正运行在Ubuntu上的第一张截图尽管仍然还有许多工作要做但是看到它确实已经可以运行在Ubuntu上了无论怎样这真的是一个**大的里程碑**。我们使用GTK所以Leadwerks的Linux版的外观和使用的感受和Linux原生应用一样。
![](http://iloveubuntu.net/pictures_me/leadwerks%20running%20on%20ubuntu.jpg)
伴随Leadwerks而来的特性有快速迭代可通过导入先前代码在代码水平和架构上构建单一顶层设计的多种实现方式无需额外的工具以及软件使用当前主流标准C++和Lua构建
---
via: http://iloveubuntu.net/game-editor-leadwerks-31-demoed-running-ubuntu-native-look-feel
译者:[Linux-pdz](https://github.com/Linux-pdz) 校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://www.leadwerks.com/
[2]:http://www.leadwerks.com/werkspace/page/gallery/_/leadwerks-31-editor-on-ubuntu-r251

View File

@ -0,0 +1,109 @@
一步步安装Ubuntu 13.10服务版
========================
如你所见,这是一篇关于**Ubuntu 13.10服务版的安装**的指南。
下载最新的版本**[Ubuntu 13.10 服务版][4]**然后用刻录好的Ubuntu 13.10服务版光盘引导你的服务器,你将会看到类似下面的显示。
首先选择您的语言:(建议使用英文)
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/10/Server1.png)
点击安装Ubuntu服务版
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/10/Server2.png)
选择安装过程中所使用的语言:
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/10/Server3.png)
选择你的国家(译注:用于决定时区,请选择中国,使用+8时区
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/10/Server4.png)
配置区域设置译注对于服务器版本我们建议一律采用英文的locale—— en_US.UTF-8当然你可以增加中文字体包但是保持服务器环境是英文环境有助于减少出现奇怪问题的几率。
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/10/Server5.png)
检测键盘布局(译注:一般不必检测):
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/10/Server6.png)
选择键盘布局(译注:如下图的英文即可):
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/10/Server7.png)
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/10/Server8.png)
自动检测网络设置:
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/10/Server9.png)
输入你的服务器主机名(译注:作为服务器,尤其是运行在互联网上的,一般都输入包括域名在内的完全限定主机名。):
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/10/Server10.png)
输入用户名以创建一个非特权用户(译注:操作服务器要习惯使用普通用户操作,**仅仅**在必要使用使用sudo来使用root权限。
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/10/Server11.png)
设置用户的密码:
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/10/Server12.png)
如果你想加密用户主目录选择Yes否则选择No译注这点无所谓。
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/10/Server13.png)
选择分区方案译注如果你有特定需求可以采用manual分区方式没有经验的用户可以使用预设的Guied分区模式。关于分区是一个值得系统管理员仔细研究的课题建议搜索更多深入的文章来看看或者在此进行讨论
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/10/Server14.png)
开始安装:
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/10/Server15.png)
如果在你的网络上有代理服务输入代理服务的IP地址译注绝大多数的服务器都是直接接入互联网并有公网IP的所以不会使用代理服务器的。
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/10/Server16.png)
选择安全更新的安装方式,然后回车(译注:我不同意原文的选择。对于服务器,不建议采用自动更新,因为服务器的第一要务是稳定;在出现必要的安全更新补丁时,系统管理员要评估并测试是否应该安装,是否会对现有应用造成影响,如果可以通过其他方式,如防火墙来消除安全隐患,那么一动不如一静,不安装任何补丁和更新为好。):
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/10/Server17.png)
选择要安装的软件(译注:仅仅选择你的服务器所必须的,暂时不用的,最好不要选择。将来需要增加或许修改时,你还有足够的时间去改变。):
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/10/Server18.png)
点击Yes安装Grub引导装载程序译注这里一般没有别的选择肯定是安装Grub除非你有特别的理由给服务器安装其他的引导器。
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/10/Server20.png)
安装完成以后选择continue重启服务器即可
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/10/Server21.png)
登入Ubuntu服务器
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/10/Server22.png)
输入用户名和密码登录译注如你所见服务器版默认是没有图形界面的一般而言除非你有一个必须图形界面运行的程序否则不要安装图形界面。不安装图形界面的主要原因是减少不必要的包和服务每多一个服务就会多带来一份安全威胁的可能性当然也会消耗一点内存和处理能力。你现在可以在登录后输入ps或者pstree看看已经运行的服务有多少。
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/10/Server23.png)
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/10/Server24.png)
这就是这次的指南。现在你的Ubuntu 13.10 服务版已经启动运行了。
--------------------------------------------------------------------------------
via: http://www.unixmen.com/install-ubuntu-server-13-10-step-step/
译者:[Luoxcat](https://github.com/Luoxcat) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://www.unixmen.com/ubuntu-13-10-saucy-salamander-released-screenshots/
[2]:http://www.unixmen.com/upgrade-ubuntu-13-04-raring-ubuntu-13-10-saucy-salamander/
[3]:http://www.unixmen.com/top-things-installing-ubuntu-13-10/
[4]:http://releases.ubuntu.com/saucy/

View File

@ -1,26 +1,29 @@
通过PPA在Ubuntu中安装qBittorrent 3.1.0
================================================================================
[qBittorrent][1]是一个由志愿者开发的自由开源的跨平台BT客户端软件利用libtorrent-rasterbar库由C++/Qt写成是现在流行的BT客户端软件[µtorrent][2]的一个替代选择。最新的版本qBittorrent 3.1.0 已经在2013年10月份放出。qBittorrent轻巧快速支持unicode编码而且提供一个完美整合的搜索引擎。它也支持UPnP/NAT-PMP端口转发支持扩展和PeX(兼容utorrent)。
[qBittorrent][1]是一个由志愿者开发的自由开源的跨平台BT客户端软件利用libtorrent-rasterbar库由C++/Qt写成是现在流行的BT客户端软件[µtorrent][2]的一个替代选择。最新的版本qBittorrent 3.1.0 已经在2013年10月份放出。
qBittorrent轻巧快速支持unicode编码而且提供一个完美整合的搜索引擎。它也支持UPnP端口转发和NAT-PMP、加密兼容Vuze、FAST扩展和PeX支持(兼容utorrent)。
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/10/qbittorrent_about.png)
### qBittorrent v3.1.0 的特性###
- 精心打磨的类µTorrent界面
- 完美整合,可扩展的搜索引擎
- 同时在众多著名BT网站中进行搜索
- 精心雕琢的类µTorrent界面译注至少我觉得LOGO就很精致
- 完美整合的搜索引擎,并可扩展
- 在众多著名BT网站中进行并发搜索
- 对搜索请求进行预分类(例如,书籍,音乐,电影)
- 支持各种BT扩展
- 支持各种Bittorrent扩展
- 可通过web页面进行远程操作
- 可对trackers, peers 和 torrents进行高级控制
- Web界面很接近桌面客户端采用AJAX操作
- 可对trackers、peers 和 torrents进行高级控制
- 连接排队和优选
- Torrent内容选择和优选
- Torrent内容筛选和优先级设置
- 支持UPnP / NAT-PMP端口转发
- 支持大约25中语言支持Unicode
- 种子创建工具
- 支持RSS过滤下载例如正则表达式
- IP过滤兼容eMule和PeerGuardian
- 兼容IPv6
- 顺序下载(也可以叫做按序下载)
- 顺序下载(也可以叫做按数字顺序下载)
- 支持各种平台: LinuxMac OS X, Windows, OS/2, FreeBSD
### 安装qBittorrent ###
@ -36,7 +39,7 @@
via: http://www.unixmen.com/install-qbittorrent-3-1-0-ubuntu-via-ppa/
译者:[Linux-pdz](https://github.com/Linux-pdz) 校对:[校对者ID](https://github.com/校对者ID)
译者:[Linux-pdz](https://github.com/Linux-pdz) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -1,37 +1,38 @@
在Ubuntu下用Python搭建桌面算法交易研究环境
================================================================================
这篇文章将讨论在ubuntu下,使用Python编程语言,来搭建一个强大,高效和易交互的算法交易策略研究环境.几乎所有的后续的算法交易文章都将利用此环境.
====================================
搭建此环境需要安装以下软件,它们都是开源的或免费下载的:
这篇文章将讨论在ubuntu下使用Python编程语言来搭建一个强大、高效和易交互的算法交易策略研究环境。我们后继的算法交易文章都将利用此环境。
- [Oracle VirtualBox][1] - 虚拟机
搭建此环境需要安装以下软件,它们都是开源且免费下载的:
- [Oracle VirtualBox][1] - 用于虚拟操作系统
- [Ubuntu Desktop Linux][2] - 作为我们的虚拟操作系统
- [Python][3] - 核心编程环境
- [NumPy][4]/[SciPy][5] - 快速、高效的数组和矩阵运算
- [IPython][6] - Python的可视化交互环境
- [matplotlib][7] - 图形化的虚拟数据
- [pandas][8] - 数据“冲突”和时间序列分析
- [scikit-learn][9] - 机器学习和人工智能算法
- [NumPy][4]/[SciPy][5] - 用于快速、高效的数组和矩阵运算
- [IPython][6] - 用于Python的可视化交互开发
- [matplotlib][7] - 用于数据的图形可视
- [pandas][8] - 用于数据“冲突”和时间序列分析
- [scikit-learn][9] - 用于机器学习和人工智能算法
这些工具(配合合适的 [证券master数据库][10]将使我们能够创建一个快速可交互的策略研究环境。Pandas是专为数据“冲突”设计的它可以高效地导入和清洗时间序列数据。NumPy/SciPy在底层运行使得系统被很好的优化。IPython/matplotlib (qtconsole详见下文)使结果可视化可交互并快速迭代。scikit-learn可让我们将机器学习技术应用到我们的策略中以进一步提高性能。
这些工具(配合合适的 [证券master数据库][10]将使我们能够创建一个快速可交互的策略研究环境。Pandas是专为数据“冲突”设计的它可以高效地导入和清洗时间序列数据。NumPy/SciPy在底层运行使得系统被很好的优化。IPython/matplotlib (以及qtconsole详见下文)使结果可视化可交互并快速迭代。scikit-learn可让我们将机器学习技术应用到我们的策略中以进一步提高性能。
请注意我写这篇教程是为了那些无法或不愿意直接安装ubuntu系统的windows或Mac OSX用户通过VirtualBox来搭建此环境。VirtualBox使我们可在host操作系统中创建一个虚拟机可模拟guest操作系统而丝毫不影响host操作系统。由此我们可以在完整安装Ubuntu前练习Ubuntu和Python工具。如果已经安装Ubuntu桌面系统跳过“在Ubuntu下安装Python研究环境包”这一节。
请注意我写这篇教程是为了那些无法或不愿意直接安装ubuntu系统的windows或Mac OSX用户通过VirtualBox来搭建此环境。VirtualBox使我们可在主控操作系统中创建一个虚拟机可模拟guest操作系统而丝毫不影响主控操作系统。由此我们可以在完整安装Ubuntu前练习Ubuntu和Python工具。如果已经安装Ubuntu桌面系统直接跳到“在Ubuntu下安装Python研究环境包”这一节。
##安装VirtualBoX和Ubuntu##
##安装VirtualBoX和Ubuntu Linux##
Mac OSX操作系统上关于VirtualBox安装的部分已经写过了这里将简单的移到Windows环境中。一旦各种host操作系统下的VirtualBox安装完毕其它过程就都一样了。
Mac OSX操作系统上关于VirtualBox安装的部分已经写过了这里将简单的移到Windows环境中。一旦各种主控操作系统下的VirtualBox安装完毕其它过程就都一样了。
开始安装前我们需要先下载Ubuntu和VirtualBox。
**下载Ubuntu桌面磁盘镜像**
打开收藏夹,导航到[Ubuntu 桌面][11]主页然后选择Ubuntu 13.04
打开Web浏览器,导航到[Ubuntu 桌面][11]主页然后选择Ubuntu 13.04
![](https://s3.amazonaws.com/quantstart/media/images/qs-python-ubuntu-install-0004.png)
*下载Ubuntu13.0464位如适用*
你会被问及是否愿意捐赠一些money不过这个是可选的。进入下载页面后选择Ubuntu 13.04。你需要选择是否要下载32位或64位版本。很可能你是64位系统但如果你有疑问那么选择32位。在Mac OSX系统上Ubuntu桌面ISO磁盘镜像将保存到下载目录下。安装VirtualBox后我们就要用到它了。
你会被问及是否愿意捐赠一些money不过这个是可选的。进入下载页面后选择Ubuntu 13.04。你需要选择是否要下载32位或64位版本。很可能你是64位系统但如果你有疑问那么选择32位。在Mac OSX系统上Ubuntu桌面ISO磁盘镜像将保存到Downloads目录下。安装VirtualBox后我们就要用到它了。
**下载和安装VirtualBox**
@ -49,20 +50,20 @@ Mac OSX操作系统上关于VirtualBox安装的部分已经写过了这里将
*双击安装包图标安装VirtualBox*
打开后按照安装说明操作保持默认除非你觉得有必要修改他们。VirtualBox安装完毕后可从Applications文件夹中打开可通过Finder搜索到。VirtualBox运行过程中它的图标将出现在Dock栏里,如果你以后想经常以虚拟机方式使用Ubuntu,你可以将VirtualBox图标永久保存在Dock栏中:
打开后按照安装说明操作保持默认除非你觉得有必要修改他们。VirtualBox安装完毕后可从Applications文件夹中打开可通过Finder搜索到。VirtualBox运行过程中它的图标将出现在下面的Dock栏里,如果你以后想经常以虚拟机方式使用Ubuntu,你可以将VirtualBox图标永久保存在Dock栏中:
![](https://s3.amazonaws.com/quantstart/media/images/qs-python-ubuntu-install-0008.png)
*还没有磁盘镜像的VirtualBox*
点击类似齿轮的图标,创建一个新的虚拟盒子(也就是虚拟机),命名为"Ubuntu Desktop 13.04 Algorithmic Trading"(你可以使用别的类似的描述):
点击“新建”(类似齿轮的图标),创建一个新的“virtual box”(例如,虚拟操作系统),命名为"Ubuntu Desktop 13.04 Algorithmic Trading"(你可以使用别的类似的描述):
![](https://s3.amazonaws.com/quantstart/media/images/qs-python-ubuntu-install-0009.png)
*命名我们的新虚拟环境*
分配虚拟机内存.因为是测试系统,所以我只分配了512Mb.一个实际的回溯引擎因为效率原因需要一个本地安装(这样才能明显分配到更多内存):
分配虚拟机内存.因为是测试系统,所以我只分配了512Mb.一个实际的backtesting引擎因为效率原因可能需要本地安装(因此需分配多的多的内存):
![](https://s3.amazonaws.com/quantstart/media/images/qs-python-ubuntu-install-0010.png)
@ -74,7 +75,6 @@ Mac OSX操作系统上关于VirtualBox安装的部分已经写过了这里将
*选择镜像所使用的硬盘类型*
You will now see a complete system with listed details:
完整系统的详细信息如下:
![](https://s3.amazonaws.com/quantstart/media/images/qs-python-ubuntu-install-0012.png)
@ -114,7 +114,7 @@ You will now see a complete system with listed details:
*输入您的用户名和密码(此密码是管理员密码)*
现在, Ubuntu将安装文件。它应该是比较快的因为它是从硬盘复制到硬盘完成后VirtualBox将重启。如果不自行重启你可以去菜单强制关机。接下来将回到Ubuntu的登录界面
现在, Ubuntu将安装文件。它应该是比较快的因为它是从硬盘复制到硬盘完成后VirtualBox将重启。如果不自行重启你可以去菜单强制重启。接下来将回到Ubuntu的登录界面
![](https://s3.amazonaws.com/quantstart/media/images/qs-python-ubuntu-install-0019.png)
@ -128,22 +128,22 @@ You will now see a complete system with listed details:
*Ubuntu桌面登录后的整体界面*
最后需要做的事是点击火狐图标通过访问一个网站我选择QuantStart.com有意思吧来测试互联网/网络功能是正确的
最后需要做的事是点击火狐图标通过访问一个网站我选择QuantStart.com有意思吧来测试互联网/网络功能正常
![](https://s3.amazonaws.com/quantstart/media/images/qs-python-ubuntu-install-0021.png)
*Ubuntu中的火狐浏览器(注:原文此处为"The Ubuntu Desktop login screen"*
*Ubuntu中的火狐浏览器
现在Ubuntu桌面已经安装完毕接下来我们就可以开始安装算法交易研究环境软件包。
现在Ubuntu桌面已经安装完毕接下来我们就可以开始安装算法交易研究环境软件包。
## Installing the Python Research Environment Packages on Ubuntu ## 在Ubuntu上安装Python研究环境软件包
## 在Ubuntu上安装Python研究环境软件包
点击左上角的搜索按钮在输入框里输入“Terminal”弹出命令行界面。双击终端图标启动终端
![](https://s3.amazonaws.com/quantstart/media/images/qs-python-ubuntu-install-0022.png)
**Ubuntu中的终端界面(注:原文此处为"Ubuntu Desktop login screen"*
**Ubuntu中的终端界面*
所有后续的命令都在此终端输入。
@ -159,13 +159,13 @@ You will now see a complete system with listed details:
E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)
为了解决这个问题,你只需再次运行"sudo apt-get -y update"或者万一第一种方式不起作用,你可以在该站点([http://penreturns.rc.my/2012/02/could-not-get-lock-varlibaptlistslock.html][13])上查看是否有其他的命令。
为了解决这个问题,再次运行"sudo apt-get -y update",如果它不起作用,你可以在该站点([http://penreturns.rc.my/2012/02/could-not-get-lock-varlibaptlistslock.html][13])上查看是否有其他的命令。
一旦这更新命令成功执行接下来我们需要安装PythonNumPy/SciPymatplotlibpandasscikit-learn和IPython。我们将开始安装Python开发包和编译器,编译器将在编译所有软件的时候用到:
一旦这两个更新命令成功执行接下来我们需要安装PythonNumPy/SciPymatplotlibpandasscikit-learn和IPython。我们将从Python开发包和编译器开始安装,编译器将在编译所有软件的时候用到:
sudo apt-get install python-pip python-dev python2.7-dev build-essential liblapack-dev libblas-dev
一旦安装必要的软件包我们就可以通过pip即Python包管理器安装NumPy。pip将下载NumPy的zip包然后从源代码编译。请记住编译需要花费一些时间大概10-20分钟
一旦必要的软件包已安装我们就可以通过pip即Python包管理器安装NumPy。pip将下载NumPy的zip包然后从源代码编译。请记住编译需要花费一些时间大概10-20分钟
sudo pip install numpy
@ -238,11 +238,11 @@ NumPy安装完了后,我们需要在继续之前检查它是否可用。如果
Index: []
>>> exit()
最后, 我们需要安装IPython.这是一个交互式的Python解释器提供了一个更精简的工作流相比标准的Python控制台。在以后的教程中我将讲述IPython在算法交易开发中的充分的用处
最后, 我们需要安装IPython.这是一个交互式的Python解释器它相比标准的Python控制台,提供了一个更精简的工作流。在以后的教程中我将讲述IPython在算法交易开发中的完整用途
sudo pip install ipython
虽然IPython本身已经相当有用它通过包含qtconsole可以有更强大的能力,qtconsole提供了内联matplotlib可视化的能力。尽管如此它需要多一点点的工作以使它启动和运行。
虽然IPython本身已经相当有用它通过包含qtconsole可以有更强大的能力,qtconsole提供了内联matplotlib可视化的能力。尽管如此它需要多一点点的工作以使它启动和运行。
首先,我们需要安装[Qt库][14]。对于这一点,你可能需要更新你的软件包(我做了!):
@ -283,7 +283,7 @@ qtconsole有一些附加的包,即ZMQ和Pygments库:
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
译者:[coolpigs](https://github.com/coolpigs) 校对:[校对者ID](https://github.com/校对者ID)
译者:[coolpigs](https://github.com/coolpigs) 校对:[jasminepeng](https://github.com/jasminepeng)
[1]:https://www.virtualbox.org/
[2]:http://www.ubuntu.com/desktop
@ -298,4 +298,4 @@ qtconsole有一些附加的包,即ZMQ和Pygments库:
[11]:http://www.ubuntu.com/desktop
[12]:https://www.virtualbox.org/
[13]:http://penreturns.rc.my/2012/02/could-not-get-lock-varlibaptlistslock.html
[14]:http://qt-project.org/downloads
[14]:http://qt-project.org/downloads

View File

@ -0,0 +1,118 @@
Linux Pmap 命令 - 查看进程用了多少内存
================================================================================
Pmap 提供了进程的内存映射pmap命令用于显示一个或多个进程的内存状态。其报告进程的地址空间和内存状态信息。Pmap实际上是一个Sun OS上的命令linux仅支持其有限的功能。但是它还是对查看完整的进程地址空间很有帮助。我们需要PID或者运行的进程的唯一进程ID来查看[进程内存状态][1],我们可以通过/proc或者常规命令比如top或ps得到它。
### 语法或用法 ###
#pmap PID
或者
#pmap [options] PID
在输出中它显示全部的地址,kbytes,mode还有mapping。
### 选项 ###
- -x extended显示扩展格式
- -d device显示设备格式
- -q quiet不显示header/footer行
- -V 显示版本信息
### 单一进程内存状态 ###
[root@info ~]# pmap 1013
1013: /usr/sbin/sshd
00110000 1480K r-x- /usr/lib/libcrypto.so.1.0.0
00282000 80K rw-- /usr/lib/libcrypto.so.1.0.0
00296000 12K rw-- [ anon ]
00299000 36K r-x- /lib/libkrb5support.so.0.1
002a2000 4K rw-- /lib/libkrb5support.so.0.1
002a3000 16K r-x- /lib/libplc4.so
002a7000 4K rw-- /lib/libplc4.so
002ab000 88K r-x- /lib/libaudit.so.1.0.0
002c1000 4K r-- /lib/libaudit.so.1.0.0
002c2000 4K rw-- /lib/libaudit.so.1.0.0
002c3000 216K r-x- /lib/libgssapi_krb5.so.2.2
002f9000 4K rw-- /lib/libgssapi_krb5.so.2.2
002fa000 808K r-x- /lib/libkrb5.so.3.3
003c4000 24K rw-- /lib/libkrb5.so.3.3
003ca000 152K r-x- /lib/libk5crypto.so.3.1
003f0000 4K rw-- /lib/libk5crypto.so.3.1
003f1000 92K r-x- /usr/lib/libnssutil3.so
00738000 4K r--- /lib/libresolv-2.12.so
00739000 4K rw-- /lib/libresolv-2.12.so
0073a000 8K rw-- [ anon ]
00825000 120K r-x- /lib/ld-2.12.so
00843000 4K r--- /lib/ld-2.12.so
00844000 4K rw-- /lib/ld-2.12.so
0090d000 32K r-x- /lib/libwrap.so.0.7.6
00915000 4K rw-- /lib/libwrap.so.0.7.6
00948000 484K r-x- /usr/sbin/sshd
009c1000 8K rw-- /usr/sbin/sshd
009c3000 20K rw-- [ anon ]
009e0000 92K r-x- /lib/libpthread-2.12.so
009f7000 4K r--- /lib/libpthread-2.12.so
total 8232K
### 多进程内存状态 ###
我们可以检查多进程内存通过插入多个PID。加入多个PID中间使用空格分隔。
pmap 1013 1217 1118
### 扩展进程内存 ###
[root@info ~]# pmap -x 1013
1013: /usr/sbin/sshd
Address Kbytes RSS Dirty Mode Mapping
00110000 1480 92 0 r-x- libcrypto.so.1.0.0
00282000 80 80 80 rw-- libcrypto.so.1.0.0
00296000 12 8 4 rw-- [ anon ]
00299000 36 0 0 r-x- libkrb5support.so.0.1
002a2000 4 4 4 rw-- libkrb5support.so.0.1
002a3000 16 0 0 r-x- libplc4.so
002a7000 4 4 4 rw-- libplc4.so
002ab000 88 4 0 r-x- libaudit.so.1.0.0
002c1000 4 4 4 r--- libaudit.so.1.0.0
002c2000 4 4 4 rw-- libaudit.so.1.0.0
002c3000 216 4 0 r-x- libgssapi_krb5.so.2.2
002f9000 4 4 4 rw-- libgssapi_krb5.so.2.2
002fa000 808 4 0 r-x- libkrb5.so.3.3
003c4000 24 24 24 rw-- libkrb5.so.3.3
003ca000 152 4 0 r-x- libk5crypto.so.3.1
003f0000 4 4 4 rw-- libk5crypto.so.3.1
003f1000 92 0 0 r-x- libnssutil3.so
00408000 12 12 12 rw-- libnssutil3.so
0040b000 12 0 0 r-x- libplds4.so
0040e000 4 4 4 rw-- libplds4.so
--- --- --- --- ---
total kB 8232 - - -
这里的AddressKbyteDirtyRSSmode还有mapping的说明如下
### 扩展和设备格式区域 ###
- Address: 内存开始地址
- Kbytes: 占用内存的字节数KB
- RSS: 保留内存的字节数KB
- Dirty: 脏页的字节数包括共享和私有的KB
- Mode: 内存的权限read、write、execute、shared、private (写时复制)
- Mapping: 占用内存的文件、或[anon](分配的内存)、或[stack](堆栈)
- Offset: 文件偏移
- Device: 设备名 (major:minor)
--------------------------------------------------------------------------------
via: http://linoxide.com/linux-command/pmap-command/
译者:[flsf](https://github.com/flsf) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://www.linoxide.com/linux-shell-script/linux-memory-usage-program/

View File

@ -0,0 +1,35 @@
Linux上首款太空剧场级游戏'The Mandate'发布令人震撼的预告片!!
================================================================================
Perihelion Interactive已经宣告发布了一个在Kickstater倍受瞩目的太空类游戏 'The Mandate' 的首个游戏预告片。
根据开发者的简述The Mandate是由六个玩家协作控制一辆载着数百人巨船的沙盒类科幻RPG游戏.
游戏会根据不同的情境变化。在太空里,这类似于<银河创世纪:木星事件>,但 The Mandate 提供了更完整的RPG体验.
举例来说,玩家能以第一视角登上他正在攻击的船只,而他的伙伴却再太空中另外的船上。当然,他们也需要同样保护他们自己的船只。
![](http://i1-news.softpedia-static.com/images/news2/Linux-s-First-Space-Opera-Game-quot-The-Mandate-quot-Gets-a-Fabulous-Trailer-394858-2.jpg)
'游戏预告开头部分是中立的Zukov星际飞船遭到海盗的袭击后发出了遇难信号。信号被由效忠Mandate女王阿济莫夫指挥战斗中队的一个队员截获。队员与海盗交涉给了他们投降和撤回的机会但是战争却随之来到。'摘自官方[宣告][1]
游戏由Unity 3D引擎开发!!!但是目前游戏仍处于开发初级阶段,与最终产品可能看起来很不同。
工作室内都是行业的资深人士曾开发过佷多有影响力的游戏像刺客信条I和II、黑手党II、孤岛惊魂2、科南时代:西伯莱人大冒险、使命召唤3和神秘世界等。更重要的是他们都是痴迷CRPG的玩家喜爱星际争霸、星际迷航、巴比伦5号和萤火虫。
来自Perihelion Interactive 公司的开发者已经成功募集三分之一的资金他们还有34天的时间来达成募款目标。
游戏预计将在2015年3月发行如果你对这个项目有兴趣你可以看看Kickstarter官方网站。
youtube video:[http://www.youtube.com/embed/lf-lB51wlNo][2]
--------------------------------------------------------------------------------
via: http://news.softpedia.com/news/Linux-s-First-Space-Opera-Game-quot-The-Mandate-quot-Gets-a-Fabulous-Trailer-394858.shtml
译者:[Luoxcat](https://github.com/Luoxcat) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://www.kickstarter.com/projects/1964463742/the-mandate/posts
[2]:http://www.youtube.com/embed/lf-lB51wlNo

View File

@ -0,0 +1,49 @@
实例论证NSA在安全标准中植入后门
=====================
前不久我[写到][1]NSA可能在安全标准中植入后门。今天我们谈一谈NSA被指责在标准中植入后门的两个案例然后通过它们来区分两种后门之间的不同。
###第一个案例
是关于NIST标准[SP 800-90A][2]该标准详细说明了一种伪随机数生成器PseudoRandom Generator 以下简称PRG。一个RPG可以通过计算得到一小组不可预料的随机比特并进而“延展”得到大量的随机比特数。在密码学中PRG作为大多数密钥的源头是必需的。因此如果你能“破解”某些人的PRG你就能预测其使用的密钥进而击溃其整个加密算法。
NIST标准中提供了一些核心算法供PRG选择。其中一个算法使用了一种叫做椭圆曲线的数学结构在这里我并不打算展开介绍这个数学概念。总之这个算法使用了两个“公开参数”P和Q它们均在标准中有指定的值因此说它们是公开的。
密码学家相信如果P和Q是随机的PRG就是安全的。但是2006年两个独立密码学家指出通过某种方法选定P和Q后它们之间就具有了某种特殊的关系。一个“局外人”可能并不知道这种特殊关系的存在但是如果你知道了描述P和Q之间关系的“密钥”就可以轻松击溃PRG的安全体系。
知道了这一点会发现很多事实突然变得有趣起来。首先NSA看起来十分执意要将这种算法写入标准即使它的运行效率很低其次NSA在标准中指定了P和Q的建议取值范围第三NSA并未解释这些给定的取值范围是如何得出的。怎么样是不是有点儿意思
不仅如此现在已经可以通过一些已公开的步骤得出新的随机的P和Q也就是说以上三种问题都可以得到解决但是NSA并没有这么做。
值得注意的是也许是为了辟谣前不久9月10日NIST[重新开放][3]了SP 800-90A的公开评论。
###第二个案例
是由John Gilmore提出的他在IPSEC标准中发现了问题。IPSEC被视为安全技术的一块基石能够为因特网中的个人IP数据包提供完整可靠的加密。一个成功广泛部署的IPSEC协议可以大大强化因特网安全为多种网络通信提供加密保护。
John说NSA及其代理部门始终在降低该标准的安全水平与执行效率同时却不断提高其复杂程度和安全方面的实现难度。尽管John还没有掌握NSA植入后门的确凿证据但是他发现NSA的确在不断削弱该标准的效力事实上IPSEC已经没有人们想象中的那样安全可靠。
---
上述案例向我们展示了两种不同类型的后门。第一个关于PRG的案例中我们怀疑NSA尝试建立一个只有它能使用的后门因为只有它知道关联P和Q的密钥。第二个关于IPSEC的案例中NSA不断削弱用户的安全防护能力这样它就能更轻易地访问你的数据但同时其他所有人都具有了这样的机会。
可以确定的是一个私有后门很可能无法一直“私有”。如果真有这样一个magic密钥能让NSA窥探所有人的秘密那这把钥匙很可能会被滥用或泄露到外界。因此NSA私有后门和公开后门之间的界限并不明显。
但是看起来这两种后门之间还是引起了不同的政策辩论。前者使得NSA能秘密地轻易访问每个人的数据后者则赋予了每个人这种访问权限后者的影响力要更加严重。
同时我们应该看到一个后门是如何创造出来的。在PRG的案例中需要获得制定标准的专家们通过NSA才能使其加密过程中那微小的缺陷“蒙混过关”。在IPSEC的案例中则貌似需要在标准的整个制定过程中不断协调公关活动才有机会制造那小小的缺陷在这个过程中即使没有人发现某种模式也应该能注意到某些单个步骤但是却没有
也许有人会怀疑这些案例真的是NSA有意而为之还是只是空穴来风。对此我们并不敢保证。但是只要NSA一直拥有参与制定安全标准的许可权限我们就有必要对他们所参与制定的任何标准保持怀疑。
---
via: https://freedom-to-tinker.com/blog/felten/on-security-backdoors/
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
译者:[Mr小眼儿](http://blog.csdn.net/tinyeyeser) 校对:[Caroline](https://github.com/carolinewuyan)
[1]:https://freedom-to-tinker.com/blog/felten/nsa-apparently-undermining-standards-security-confidence/
[2]:http://csrc.nist.gov/publications/drafts/800-90/draft_sp800_90a_rev1.pdf
[3]:http://www.nist.gov/director/cybersecuritystatement-091013.cfm

View File

@ -0,0 +1,296 @@
树莓派Raspberry Pi完美的家用服务器
================================
自从树莓派发布后,所有在互联网上的网站为此激动人心的设备提供了很多有趣和具有挑战性的使用方法。虽然这些想法都很棒,但树莓派( **RPi** )最明显却又是最不吸引人的用处是:创建你的完美家用服务器。
如果你有几个不同的电脑需要同步和自动化备份RPi可以做到。如果你想通过家中的任意屏幕来访问你的音乐和视频RPi也能实现。也许你有一个或两个打印机你想要简单与大家共享树莓派在硬件和时间上用最小投资就能满足你的这些需求。
###树莓派的好处
低成本35美元约合242元RMBB型的RPi接近一台完整的电脑512M内存100Mb以太网SD卡插槽2个USB接口音频输出和HDMI或RCA视频输出。我知道HDMI电缆就比树莓派贵。
能源效率硬件成本只是服务器费用的一部分因为你需要考虑能源成本去不断运行设备。家用服务器所需要的服务不会占用太多CPU大部分时间它都处于空闲状态等待发挥功效。RPi's超低功率组件非常适合这个工作负载这有助于降低你的电费消耗。我的一个B型的RPi加上外部硬盘消耗总共只有8瓦然而用老式速龙代替的机器在闲置时消耗54瓦。假设10美分每千瓦一小时这使得一个RPi每年的电费在7美元。一个基于速龙的机器是47美元。在不到一年的时间里RPI基本上能够收回成本。
低噪音因为RPi没有风扇和移动部件在你最终配置中的唯一能生成噪音或明显热量的组件就是硬盘。如果你担心噪音像[Silent PC Review][1]发烧友网站经常在他们的评论中涉及到噪声基准。我的体会是现代驱动器足够安静要比其他的设备安静的多如媒体中心游戏机或其他电脑。如果你家里没有为布线提供更多的灵活性选择RPi的小尺寸、少量发热和低噪音也许让你走过它旁边都很难发现。
![](http://www.linuxjournal.com/files/linuxjournal.com/ufiles/imagecache/large-550px-centered/u1002061/11454f1.jpg)
图1,一个简洁高效的家用服务器
新机会:一个不怎么实际的好处是-简单快乐的尝试新事物对我来说这是我第一次真正工作在基于Debian的发行版很可能也是许多Linux爱好者们第一次有机会尝试一个基于ARM的体系结构。
###布置硬件
对于一个家庭服务器来说你将需要一个中等容量的SD闪存卡作为本地存储。它可以使用一个USB引导但那会占用两个宝贵的USB插槽之一。闪存卡不需要很大容量但是速度越快越好。我选择了一个名牌SD卡8GB容量和CLASS 10的速度等级。对于备份和存储多媒体文件一个有USB连接插槽的硬盘驱动器是必须的。我选择一个1.5TB的硬盘和一个Calvary EN-CAHDD-D 2-bay USB 2.0硬盘连接基座。这个连接基座有个功能在RAID-0模式中连接两个硬盘总有一天会有用的。最后RPi不带电源线但可以用大多数智能手机充电器所用的5v微型USB。看看RPi是否挑剔电源我为电源已换了三个不同的微型USB手机充电器。我在这周内尝试了每一个在任何一个上都没有问题。
###安装操作系统
安装RPi操作系统包括了许多方面的大量细节但这里有一些家用特定服务器的安装提示大致按需要的顺序讲述。
1直接通过[http://www.raspberrypi.org/downloads][2]获取Raspbian "Wheezy"安装镜像并复制到SD卡用网站上已列出的步骤。
2第一次引导RPi时连接一个键盘、鼠标和显示器。在引导RPi之前别忘打开显示器可以检测到正确的HDMI或混合输出端口。
3RPi有一个很好的"raspi-config"屏幕,在第一次启动时你会看到。对于家庭服务器来说,以下选择将会有用:
- expand_rootfs调整默认2GB OS镜像的大小来填满闪存卡剩余的内存。
- change_pass修改默认密码"raspberry",但是,越安全的密码越好。
- 设置你的地点和时区。
- memory_split给GPIU服务分配最少的内存16M尽可能为其他服务留下更多内存。
- SSH别忘开启SSH服务。
- boot_behaviour关闭“启动至桌面boot to desktop再次为你的其他服务节省内存
完成后,你将在出现 `pi@raspberrypi` 提示符下。安装脚本可以在任何时间通过 `sudo raspi-config` 重新运行。
还有一些其他配置,然后操作系统就可以用了。
1一个静态IP让一切变得更容易切换eth0的网络设置
>> sudo nano -w /etc/network/interfaces
更改eth0的那行 `iface eth0 inet dhcp` ,如下所示(根据你的家庭网络设置修改):
======/etc/network/interfaces======
...
iface eth0 inet static
address 192.168.1.10
netmask 255.255.255.0
gateway 192.168.1.1
...
======/etc/network/interfaces======
2创建本地用户并加入到users组和sudo组
>> sudo adduser YOURUSERIDHERE
>> sudo usermod -a -G users YOURUSERIDHERE
>> sudo usermod -a -G sudo YOURUSERIDHERE
3更新系统确保所有的库是最新最好的
>> sudo apt-get update; sudo apt-get upgrade
4好了准备重新启动吧先关闭PI
>> sudo /sbin/shutdown -h now
一旦关闭注意RPi电路板上的绿色LED状态指示灯可以知道什么时候完成关闭了拔下显示器键盘鼠标和电源线。插入USB端口上的硬盘然后插回电源重启RPi。
5一旦RPi开启这些绿色LED指示灯用来描述状态你可以从远程网络上从任何其他机器ssh到RPi并完成所有的配置更改以下命令里的IP为你的静态IP
>> ssh YOURUSERIDHERE@192.168.1.10
祝贺你,有了一个可以工作的树莓派!
###外设
第一件事是要连接外设。用dmesg来寻找你的存储设备会发现——几乎可以肯定是/dev/sda。我喜欢使用自动挂载去挂载移动存储设备这样更灵活因为在启动时这些设备也许没有或者没准备好
>> sudo apt-get install autofs
>> sudo nano -w /etc/auto.master
======/etc/auto.master======
...
/misc /etc/auto.misc
...
======/etc/auto.master======
>> sudo nano -w /etc/auto.misc
注意我的外部存储设备是ext4格式如果需要话可以在下面更改
======/etc/auto.misc======
...
storage -fstype=ext4:/dev/sda1
...
======/etc/auto.misc======
>> sudo /etc/init.d/autofs restart
>> ls -lat /misc/storage
可选的,创建一个符号链接的短路径:
>> ln -s /misc/storage /storage
###备份仓库
在任何家庭服务器功能列表里面最重要的是提供坚如磐石的备份。对于RPi来说这很简单而优美在Linux中有丰富的网络共享选项Samba/CIFS用于Windows机器NFS用于基于UNIX的设备并且甚至SFTP可以用于更多新的备份客户端如deja-dup。由于RPi只有100MB以太网接口和USB上的存储设备它没有非常快的传送速度。不过在另一方面好的备份客户端是在后台自动运行的所以你不会注意略微缓慢的传输速度。
我的家庭网络包括一台Windows 7电脑。对于它我通过Samba在RPi's外部USB存储设备上导出一个备份目录。因为备份程序在Windows7基础版上不支持网络设备作为备份目标我使用[SyncBack Free][3]去设置使其自动化,每日备份。
配置Samba是容易的。
1安装samba和common-bin库具有smbpasswd效用
>> sudo apt-get install samba samba-common-bin
2使用 `smbpasswd` 让你的本地ID能访问
>> sudo smbpasswd -a YOURUSERIDHERE
3编辑samba配置文件
>> sudo nano -w /etc/samba/smb.conf
4更改 `workgroup = WORKGROUP` 行以匹配你的Windows工作组名称。
5注释掉或删除[homes]和[printers]共享。(打印机共享稍后将通过直接CUPS访问来完成。)
6为Windows备份路径增加一个条目。这是我的示例放置在该文件的底部
======/etc/samba/smb.conf======
...
[win7pc]
comment=Backup for windows PC
path=/storage/win7pc
writeable=Yes
create mask=0777
directory mask=0777
browsable=Yes
public=Yes
valid users=YOURUSERIDHERE
...
======/etc/samba/smb.conf======
7重启Samba使你的编辑生效
>> sudo /etc/init.d/samba restart
8从Windows机器文件资源管理器通过映射一个网络设备测试连通。
对Linux设备来说设置和使用deja-dup非常简单。它被默认安装在我的Fedora 18和Ubuntu 12.10上。包的名称是“deja-dup”程序名简单的称为“Backup备份”。虽然RPi很容易支持NFS导出我发现使用deja-dup的SSH选项更容易更方便在RPi上它不需要额外服务的支持。指定一个deja-dup加密密码是一个好主意除非你不在意一旦丢失了存储器别人就可以拿走全部数据
>> sudo mkdir /storage/linuxlaptop
>> sudo chown -R YOURUSERIDHERE:YOURUSERIDHERE /storage/linuxlaptop
从linux客户端启动备份程序选择“SSH”作为备份位置输入RPi的IP地址和你创建的存储位置。首次备份会很慢但是以后的运行将只发送增量变化速度更快。
![](http://www.linuxjournal.com/files/linuxjournal.com/ufiles/imagecache/medium-350px-centered/u1002061/11454f2.png)
图2,Deja-dup客户端设置
###多媒体服务器DLNA
现在每个人的文件都已安全备份。让我们继续看些有趣的一个DLNA服务器可以让你集中存储你的电影、音乐和图片。通过这个中心库家中每一个屏幕的DLNA客户端都可以轻松重放此内容。
至少这是一个宣称。事实是这样的DNLA规格并不太确定一些重要的事情如支持哪些格式或编码。每个客户端通常对于支持什么格式和服务器功能都有略微不同的想法。很多高功率的服务器也许能转码本地内容到移动设备支持的格式但是在RPi上是不可能的在即时转码上经常扰乱其他功能如暂停快进和倒带。一般情况下高功率设备如PS3、Xbox和WD TV设备支持大多数格式而无需任何转码。低端设备如智能TVs或Blu-ray播放器只支持更有限的编码列表。
对于RPi来说最好的办法是支持你的主要的DLNA设备的标准编码然后测试你的其他DLNA客户端。如果没有完美播放在下一节的提示也许有帮助。在我的情况下我的PlayStation 3充当DLNA客户端PS3能够流畅播放经Handbrake制作后的.m4v文件。
对于RPi的DLNA服务器来说Minidlna是个很好的选择。它已经在Raspbian发行版中易于设置和使用最小服务资源运行
>> sudo apt-get install minidlna
>> sudo nano -w /etc/minidlna.conf
这是我/etc/minidlna.conf文件的相关部分
...
# I found keeping video + audio in different paths helpful
media_dir=V,/storage/dlna/video
media_dir=A,/storage/dlna/music
...
presentation_url=http://192.168.1.10:8200/
...
friendly_name=MyRPi
...
# Since I add new media infrequently, turning off
# inotify keeps minidlna for polling for
# content changes. It's simple enough to run
# sudo /etc/init.d/minidlna force-reload
# when new content is added.
inotify=no
一旦完成编辑重启minidlna以加载新配置
>> sudo /etc/init.d/minidlna force-reload
Minidlna能够为你的设备支持的电影提供电影海报缩略图像PS3。这让我能够更方便地在几十个电影文件中滚屏查找我想要的那个电影。我发现每个电影一个目录是最兼容的文件布局只包含影片文件和缩略图图像命名为“Cover.jpg”。使用像"MovieName.m4v"和"MovieName.jpg"的格式在PS3上工作的很好但它不太适合VLC除非你能让VLC uPNP插件首先查找服务器的话
通过PS3你可以通过转到在XMB栏上的"Video"测试连通性。当视频列表向下翻页时,你以前设置的"friendly_name"应该是可见的测试确保Minidlna是通过浏览器转到http://192.168.1.10:8200/。
###非DLNA设备的多媒体
当你让DNLA与你的一些设备一起工作时你可能会发现有些设备并不适合它所以多媒体计划B是个好主意。Nginx网站服务器有一个MP4插件尝试在旧式的HTTP连接上改善流媒体传输但是浏览器回放的性能差别很大在一部电影里快进也一直不工作。看起来多媒体共享或非 DLNA 设备的最低共同特性是使用传统Samba共享的访客只读访问。
这是/etc/samba/smb.conf的部分示例
[dlna]
path=/storage/dlna
read only=yes
browsable=yes
public=yes
定义了共享设置后重启Samba `sudo /etc/init.d/samba restart` ),你可以开始测试你的客户端。
我用一个混合的编码m4v视频文件测试了以下客户端
- Android 4.0.4手机:"ES File Explorer"与"ES Media Player"(播放器附带安装)。
- Android 4.1.2平板电脑:"ES File Explorer"与"ES Media Player"(播放器附带安装)。
- Linux设备自动挂载//192.168.1.10/dlna然后使用VLC或MPlayer。
- Windows挂载//192.168.1.10:/dlna然后使用VLC。
所有设备都能几乎立即开始播放和快进没有延迟的情况。
###打印服务器
RPi运行CUPS相当不错所以它容易共享一个较旧的没有本地网络接口的打印机。
安装你的打印机所需的CUPS和任何软件包。我需要hplip-cups因为我有一个HP喷墨打印机
>> sudo apt-get install cups hplip-cups
更新“Listen”行和增加 `Allow @LOCAL` 到位置指令如下所示你可以使用其他机器在你的LAN上去管理CUPS
======/etc/cups/cupsd.conf======
#Listen localhost:631 #Comment this out
Listen 192.168.1.10:631 #Add this line
...
<Location />
Order allow,deny
Allow @LOCAL
</Location>
# Restrict access to the admin pages...
<Location /admin>
Order allow,deny
Allow @LOCAL
</Location>
# Restrict access to configuration files...
<Location /admin/conf>
AuthType Default
Require user @SYSTEM
Order allow,deny
Allow @LOCAL
</Location>
======/etc/cups/cupsd.conf======
添加你的本地ID到lpadmin组就能管理CUPS
>> sudo usermod -a -G lpadmin YOURUSERIDHERE
重启CUPS
>> sudo /etc/init.d/cups restart
然后转到http://192.168.1.10:631/并点击 "Adding Printers and Classes"去设置你的打印机。我的打印机是自动发现的USB设备所以我只需点击“share”就可以。同样访问https://192.168.1.10:631/admin确保检查“Share printers connected to this system共享连接至这个系统的打印机”。
完成后你可以用通常的方式设置你的客户端。当我输入主机名我的Linux客户端就能够自动发现打印机并选择正确的驱动程序。在我的Windows7的机器上一旦我选择“Network Printer网络打印机我必须点击“The printer that I want isn't listed我想要的打印机未列出选择“Select a shared printer by name通过名称选择共享的打印机然后从CUPS网络接口输入URLhttp://192.168.1.10:631/printers/HP_J4500。
###结论
用最少的额外的硬件和配置树莓派是高效、简洁的家用服务器。它能够花最小的硬件费用来为你的家庭环境带来由Linux提供的广泛企业服务。
--------------------------------------------------------------------------------
via: http://www.linuxjournal.com/content/raspberry-pi-perfect-home-server
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
译者:[Vito](https://github.com/vito-L) 校对:[Caroline](https://github.com/carolinewuyan)
[1]:http://www.silentpcreview.com/
[2]:http://www.raspberrypi.org/downloads
[3]:http://www.2brightsparks.com/freeware/freeware-hub.html

View File

@ -0,0 +1,25 @@
Linux内核4.0就要来了准备对3.x说再见吧
================================================================================
**Linux Torvalds目前正在考虑尽快更换内核的版本号到4.0新版本将主要专注于bug修复**
据Linux内核开发维护人员介绍不远的将来为了便于管理Linux的内核版本号将从3.x跳到4.x。Linus Torvalds表示会尽快将其付诸实施。
他在Linux内核3.12的[声明][1]中说道“我不希望我们再有类似2.x那样令人发狂的版本号经历因此很快某个时候我们将直接从3.x跳到4.x这样版本号更短更便于记忆。虽然目前暂时还未实现但是我会尽快可能最多一年左右吧到时也许是3.19什么的之后就会是4.0。”
然而不能什么也不干就只是单纯更新主版本号这样太不厚道了因此大神Linus想到了一个好主意。当决定来到4.x的时候所有的开发者必须专注于bug修复要让新版本成为一个非常非常稳定的版本这样才配得上这次重要的主版本号更新。
“如果我们吸引足够的注意力让人们都*意识*到,(公司/高层也能意识到这一次发布的更新只专注于修复bug也许人们会真正有理由相信这次的更新是值得的。”
Linus说“之所以我提到4.0是因为如果我们用几乎一年的时间专注于ok3.19之后,我们将会发布一款*仅仅*修复bug的更新它就是4.0’!这一刻多爽啊~”
一个全新的、极其稳定的4.0版本内核,将会极大地推动各个发行版开发者们,将这样一个内核发布整合进他们的操作系统。
--------------------------------------------------------------------------------
via: http://news.softpedia.com/news/Say-Hello-to-Linux-Kernel-4-0-and-Say-Goodbye-to-3-x-396734.shtml
译者:[Mr小眼儿](http://blog.csdn.net/tinyeyeser) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:https://lkml.org/lkml/2013/11/3/160

View File

@ -0,0 +1,36 @@
系统信息工具I-Nex 0.5.4发布
================================================================================
[I-Nex][1] 是一个免费开源的系统信息工具,它收集、分类并在一个干净清晰的界面显示关于计算机相关信息。
从本质上说I-Nex显示一个非常详细的系统组件信息包括驱动内核RAM网络USBCPUGPU主板音频允许用户很容易的掌握自己的计算机和操作系统信息。
启动I-Nex它的主窗口和几个选项卡会出现可以通过选项卡切换显示不同的信息例如点击 `CPU` 选项卡了显示关于CPU的名称频率系列模式扩展高速缓存等等基本上它就是一个方便的信息汇总。
![](http://iloveubuntu.net/pictures_me/i-nex%20054%20cpu.png)
I-Nex 已经更新至 **0.5.4** ,在原本的基础上增加了新的功能扩展支持还有under-the-hood增强。
新版本丰富了选项卡条目,比如 `GPU`;点击 `GPU` 选项卡,用户可以注意到新的 `Total Memory`, `Monitor name`, `Manufacturer`, `Serial number` 条目,增加了新的明细描述系统组件。
![](http://iloveubuntu.net/pictures_me/i-nex%20054%20gpu.png)
此外0.5.4版本有多个修复进一步朝着更稳定更强大的系统信息应用程序工具发展它已经在Ubuntu上替代其他广泛使用的系统信息应用。
我们怎么 **安装** I-Nex 0.5.4呢?
增加 **official** PPA (Ubuntu 10.04, Ubuntu 12.04, Ubuntu 12.10, Ubuntu 13.04, Ubuntu 13.10)
sudo add-apt-repository ppa:i-nex-development-team/stable && sudo add-apt-repository ppa:nemh/gambas3
sudo apt-get update
sudo apt-get install i-nex
--------------------------------------------------------------------------------
via: http://iloveubuntu.net/system-information-tool-i-nex-054-released-improvements
译者:[flsf](https://github.com/flsf) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:https://launchpad.net/i-nex

View File

@ -1,5 +1,5 @@
戴文的Linux内核专题05 配置内核 (1)
================================================================================
================================================================================
![](http://www.linux.org/attachments/slide-jpg.299/)
@ -16,11 +16,11 @@
- make silentoldconfig - 和oldconfig相似但是不会显示配置文件中已有的问题的回答。
- make olddefconfig -和silentoldconfig相似但有些问题已经以它们的默认值选择。
- make defconfig - 这个选项将会创建一份以当前系统架构为基础的默认设置文件。
- make ${PLATFORM}_defconfig - 创建一份使用arch/$ARCH/configs/${PLATFORM}_defconfig中的值的配置文件。
- make ${PLATFORM}\_defconfig - 创建一份使用arch/$ARCH/configs/${PLATFORM}\_defconfig中的值的配置文件。
- make allyesconfig - 这个选项将会创建一份尽可能多的问题回答都为yes的配置文件。
- make allmodconfig - 这个选项将会创建一份将尽可能多的内核部分配置为模块的配置文件。
> 注意:内核代码可以放进内核自身,也可以成为一个模块。例如,用户可以将蓝牙驱动作为一个模块加入(独立于内核),或者直接放到内核,或者完全不加蓝牙驱动。当代码放到内核本身时,内核将会请求更多的内存并且启动会花费更长的时间。然而,内核会执行的更好。如果代码作为模块加入,代码将会一直存在于硬盘上直到被需要时加载。接着模块被加载到内存中。这可以减少内核的内存使用并减少启动的时间。然而,因为内核和模块在内存上相互独立所以会影响内核的性能。另一种选择是不添加一些代码。举例来说,内核开发人员假如知道系统永远都不会使用蓝牙设备,因此这个驱动就可以不加到内核中。这提升了内核的性能。然而,如果用户之后需要蓝牙设备,那么他么需要安装蓝牙模块或者升级内核才行。
> 注意:内核代码可以放进内核自身,也可以成为一个模块。例如,用户可以将蓝牙驱动作为一个模块加入(独立于内核),或者直接放到内核,或者完全不加蓝牙驱动。当代码放到内核本身时,内核将会请求更多的内存并且启动会花费更长的时间。然而,内核会执行的更好。如果代码作为模块加入,代码将会一直存在于硬盘上直到被需要时加载。接着模块被加载到内存中。这可以减少内核的内存使用并减少启动的时间。然而,因为内核和模块在内存上相互独立所以会影响内核的性能。另一种选择是不添加一些代码。举例来说,内核开发人员假如知道系统永远都不会使用蓝牙设备,因此这个驱动就可以不加到内核中。这提升了内核的性能。然而,如果用户之后需要蓝牙设备,那么他么需要安装蓝牙模块或者升级内核才行。
- make allnoconfig - 这个选项只会生成内核所必要代码的配置文件。它对尽可能多的问题都回答no。这有时会导致内核无法工作在为编译该内核的硬件上。
- make randconfig - 这个选项会对内核选项随机选择(译注:这是做什么用途的?!)。
@ -41,17 +41,17 @@
注意:每一项选择会改变接下来显示什么问题及何时显示。我会(在教程里)包含上我的选择让读者可以在他们自己的系统上跟上配置的进度。
接下来,用户会看到“Local version - append to kernel release (LOCALVERSION) []”(本地版本号,附加到内核版本号后面)。这使开发人员可以给定一个特殊版本号或命名他们自定义的内核。我将输入“LinuxDotOrg”这样内核版本会显示为“3.9.4-LinuxDotOrg”。接下来配置工具会询问“Automatically append version information to the version string (LOCALVERSION_AUTO) [N/y/?]”是否自动添加版本信息到版本号后。如果本地有一个git版本库git的修订号会被添加到版本号后面。这个例子中我们没有使用git所以我回答"no"。不然git修订号将会追加到版本号中。还记得vmlinuz和几个类似的文件么好了下一个问题就是问使用哪一种格式压缩内核。开发人员可以从五个选项中选择一个。它们是
接下来,用户会看到“Local version - append to kernel release (LOCALVERSION) []”。这使开发人员可以给定一个特殊版本号或命名他们自定义的内核。我将输入“LinuxDotOrg”这样内核版本会显示为“3.9.4-LinuxDotOrg”。接下来配置工具会询问“Automatically append version information to the version string (LOCALVERSION_AUTO) [N/y/?]”是否自动添加版本信息到版本号后。如果本地有一个git版本库git的修订号会被添加到版本号后面。这个例子中我们没有使用git所以我回答"no"。不然git修订号将会追加到版本号中。还记得vmlinuz和几个类似的文件么好了下一个问题就是问使用哪一种格式压缩内核。开发人员可以从五个选项中选择一个。它们是
1. Gzip (KERNEL_GZIP)
2. Bzip2 (KERNEL_BZIP2)
3. LZMA (KERNEL_LZMA)
4. XZ (KERNEL_XZ)
5. LZO (KERNEL_LZO)
1. Gzip (KERNEL\_GZIP)
2. Bzip2 (KERNEL\_BZIP2)
3. LZMA (KERNEL\_LZMA)
4. XZ (KERNEL\_XZ)
5. LZO (KERNEL\_LZO)
Gzip是默认值所以我选择"1"并按回车。每种压缩格式和其他压缩格式相比都有更高或者更低的压缩比。更好的压缩比意味着更小的体积,但是与低压缩比文件相比,它解压时需要更多的时间。
现在这行显示“Default hostname (DEFAULT_HOSTNAME) [(none)]”(默认主机名)。这里可以配置主机名。通常地,开发者这行留空(我这里留空)以便以后Linux用户可以自己设置他们的主机名。
现在这行显示“Default hostname (DEFAULT\_HOSTNAME) [(none)]”。这里可以配置主机名。通常地,开发者这行留空(我这里留空)以便以后Linux用户可以自己设置他们的主机名。
接下来开发者可以启用或者禁用交换分区。Linux使用一个叫做"swap space"的独立分区来使用虚拟内存。这相当于Windows中的页面文件。典型地开发者在这行“Support for paging of anonymous memory (swap) (SWAP) [Y/n/?]”是否支持匿名内存换页回答“Y”。
@ -59,7 +59,7 @@ Gzip是默认值所以我选择"1"并按回车。每种压缩格式和其他
下一个问题“open by fhandle syscalls (FHANDLE) [Y/n/?]”是否使用文件句柄系统调用来打开文件是问当有需要进行文件系统操作的时候程序是否允许使用文件句柄而不是文件名进行。默认上这个选择是“Y”。
有时开发者在做了一些选择后某些问题会自动回答。比如下一个问题“Auditing support (AUDIT) [Y/?]”是否支持审计会在没有提示的情况下自动回答因为先前的选项需要这个特性。审计支持会记录所有文件的访问和修改。下一个关于审计的问题“Enable system-call auditing support (AUDITSYSCALL) [Y/n/?]”是否启用系统调用审计支持。如果启用所有的系统调用都会记录下来。如果开发者想要更好的性能那么最好尽可能地禁用审计特性并且不把它加入内核。而另外一些开发者可能为了安全监控而启用审计。这个问题我选择“n”。下一个审计方面的问题“Make audit loginuid immutable (AUDIT_LOGINUID_IMMUTABLE) [N/y/?]”是否要审计进程身份ID不可变是询问进程是否可以改变它们的loginuid(LOGIN User ID)如果启用用户空间的进程将无法改变他们的loginuid。为了更好的性能我们这里禁用这个特性。译注对于使用systemd这样的系统其是通过中央进程来重启登录服务的设置为“y”可以避免一些安全问题而使用较旧的SysVinit和Upstart的系统其需要管理员手工重启登录服务应该设置为“N”
有时开发者在做了一些选择后某些问题会自动回答。比如下一个问题“Auditing support (AUDIT) [Y/?]”是否支持审计会在没有提示的情况下自动回答因为先前的选项需要这个特性。审计支持会记录所有文件的访问和修改。下一个关于审计的问题“Enable system-call auditing support (AUDITSYSCALL) [Y/n/?]”是否启用系统调用审计支持。如果启用所有的系统调用都会记录下来。如果开发者想要更好的性能那么最好尽可能地禁用审计特性并且不把它加入内核。而另外一些开发者可能为了安全监控而启用审计。这个问题我选择“n”。下一个审计方面的问题“Make audit loginuid immutable (AUDIT\_LOGINUID\_IMMUTABLE) [N/y/?]”是否要审计进程身份ID不可变是询问进程是否可以改变它们的loginuid(LOGIN User ID)如果启用用户空间的进程将无法改变他们的loginuid。为了更好的性能我们这里禁用这个特性。译注对于使用systemd这样的系统其是通过中央进程来重启登录服务的设置为“y”可以避免一些安全问题而使用较旧的SysVinit和Upstart的系统其需要管理员手工重启登录服务应该设置为“N”
注意当通过“make config”配置时这些通过配置工具回答的问题会显示出来但是用户无法改变答案。当通过"make menuconfig"配置时,无论用户按任何键都无法改变选项。开发者不需要去改变这些选项,因为之前的选择决定了另外一个问题的选择。
@ -69,4 +69,4 @@ via: http://www.linux.org/threads/the-linux-kernel-configuring-the-kernel-part-1
译者:[geekpi](https://github.com/geekpi) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -4,9 +4,9 @@
这一部分我们讲配置内核IRQ子系统。中断请求(IRQ)是硬件发给处理器的一个信号它暂时停止一个正在运行的程序并允许一个特殊的程序占用CPU运行。
这个目录中的第一个问题属于内核特性(Expose hardware/virtual IRQ mapping via debugfs (IRQ\_DOMAIN\_DEBUG))通过debugfs来显示硬件/虚拟的IRQ映射它询问是否可以使用虚拟的调试文件系统来映射硬件及对应Linux上的IRQ中断号。这个用作调试目的大多数用户不需要用到所以我选择了"no"。
这个目录中的第一个问题属于内核特性(Expose hardware/virtual IRQ mapping via debugfs (IRQ\_DOMAIN\_DEBUG))通过debugfs来显示硬件/虚拟的IRQ映射它询问是否可以使用虚拟的调试文件系统来映射硬件及Linux上对应的IRQ中断号。这个用作调试目的大多数用户不需要用到所以我选择了"no"。
下一个标题显示"Timers subsystem"计时器子系统。第一个有关定时器子系统的问题是“Tickless System (Dynamic Ticks) (NO\_HZ)”(无CPU滴答系统。我选择了“yes”这会启用一个无滴答系统。这意味着定时器中断将会按需使用定时器中断允许任务以特定的时间间隔执行。下一个问题(High Resolution Timer Support (HIGH\_RES\_TIMERS))问的是是否支持高精度定时器。并不是所有的硬件支持这个,通常地说,如果硬件很慢或很旧,那么选择"no",否则像我一样选择"yes".
下一个标题显示"Timers subsystem"计时器子系统。第一个有关定时器子系统的问题是“Tickless System (Dynamic Ticks) (NO\_HZ)”无滴答系统。我选择了“yes”这会启用一个无滴答系统。这意味着定时器中断将会按需使用定时器中断允许任务以特定的时间间隔执行。下一个问题(High Resolution Timer Support (HIGH\_RES\_TIMERS))问是否支持高精度定时器。并不是所有的硬件支持这个,通常地说,如果硬件很慢或很旧,那么选择"no",否则像我一样选择"yes"
下一个标题"CPU/Task time and stats accounting"CPU/任务用时与状态统计),这个是关于进程的追踪。第一个问题看上去像这样:
@ -20,7 +20,7 @@ TICK_CPU_ACCOUNTING会在每个CPU滴答中检测/proc/stat。这是默认的选
注意CPU滴答是抽象测量CPU时间的方式。每个处理器、操作系统和安装的系统都不同比如说一个更强大的处理器会比老的处理器拥有更多的CPU滴答。如果你安装了一个Linux系统然后接着在同一块磁盘上重新安装了它你可能会得到一个更快或更慢的CPU滴答时间(至少一些计算机技术书上这么说)。通常来讲一个更快的时钟速度意味着更多的CPU滴答。
如果启用了VIRT\_CPU\_ACCOUNTING_GEN任务和CPU时间统计将由监视内核-用户边界实现。这个选择的代价是会增加额外的开销。
如果启用了VIRT\_CPU\_ACCOUNTING\_GEN任务和CPU时间统计将由监视内核-用户边界实现。这个选择的代价是会增加额外的开销。
IRQ\_TIME\_ACCOUNTING记账方式则通过检测IRQ状态间的时间戳工作这个性能开销很小。
@ -42,7 +42,7 @@ RCU Implementation RCU 实现方式)
choice[1]: 1
这里就选择“1”。除了TREE\_RCU还有classic RCU(更老的实现)。下一个问题(Consider userspace as in RCU extended quiescent state (RCU\_USER\_QS) [N/y/?])(是否在用户空间记录扩展的安静状态)问的是RCU是否可以在CPU运行在用户空间时设置一个特殊的状态。这个选项通常被禁用因为这会增加太多消耗。下面是另一个RCU问题(Tree-based hierarchical RCU fanout value (RCU\_FANOUT) [64])树形分层结构的RCU端点数问的是关于端点数。下一个问题(Tree-based hierarchical RCU leaf-level fanout value (RCU\_FANOUT\_LEAF) [16])树形分层结构的RCU叶级端点数是另外一个关于端点数的问题但它只处理叶级。还有另外一个RCU问题(Disable tree-based hierarchical RCU auto-balancing (RCU\_FANOUT\_EXACT) [N/y/?])是否禁用树形分层结构的RCU的自动平衡询问是否禁用RCU自动平衡树而采用上述的端点数。
这里就选择“1”。除了TREE\_RCU还有classic RCU(更老的实现)。下一个问题(Consider userspace as in RCU extended quiescent state (RCU\_USER\_QS) [N/y/?])(是否在用户空间记录扩展的quiescent状态RCU是否可以在CPU运行在用户空间时设置一个特殊的quiescent状态。这个选项通常被禁用因为这会增加太多消耗。下面是另一个RCU问题(Tree-based hierarchical RCU fanout value (RCU\_FANOUT) [64])树形分层结构的RCU端点数问的是关于端点数。下一个问题(Tree-based hierarchical RCU leaf-level fanout value (RCU\_FANOUT\_LEAF) [16])树形分层结构的RCU叶级端点数是另外一个关于端点数的问题但它只处理叶级。还有另外一个RCU问题(Disable tree-based hierarchical RCU auto-balancing (RCU\_FANOUT\_EXACT) [N/y/?])是否禁用树形分层结构的RCU的自动平衡询问是否禁用RCU自动平衡树而采用上述的端点数。
接下来,配置脚本将会询问"Accelerate last non-dyntick-idle CPU's grace periods (RCU\_FAST\_NO\_HZ)"加速最后的非dyntick-idle CPU的RCU宽限期。在这之后会显示"Offload RCU callback processing from boot-selected CPUs (RCU\_NOCB\_CPU)"从选择引导的CPU里面卸载RCU回调译注此处作者没做解释。前一个能够节省电力但是降低了性能后一个用于调试。
@ -50,7 +50,7 @@ choice[1]: 1
下一个问题是内核使用多大的log缓冲区(Kernel log buffer size (16 => 64KB, 17 => 128KB) (LOG\_BUF\_SHIFT) [17])(内核日志缓冲区大小)。小的缓冲区意味着它无法像更大的缓冲区那样保持日志更长的时间。这个选择取决于开发者想要日志保持的时间,我选择的是"12"。
接着出现了另外一个问题。该问题询问关于是否启用NUMA(非一致性内存访问)的内存/任务的均衡(Automatically enable NUMA aware memory/task placement (NUMA_BALANCING\_DEFAULT\_ENABLED))自动启用NUMA的内存/任务均衡。如果在NUMA的机器上设置了该选项那么NUMA自动平衡就会启用。在NUMA下处理器可以比非本地内存(内存分配给另外一个处理器或在处理器之间共享的内存)更快地访问它的本地内存。如果上面启用了(我启用了),那么最好对这个问题"Memory placement aware NUMA scheduler (NUMA\_BALANCING)"由NUMA调度器进行内存分配回答"yes"这是一个NUMA调度器。
接着出现了另外一个问题。该问题询问关于是否启用NUMA(非一致性内存访问)的内存/任务的均衡(Automatically enable NUMA aware memory/task placement (NUMA\_BALANCING\_DEFAULT\_ENABLED))自动启用NUMA的内存/任务均衡。如果在NUMA的机器上设置了该选项那么NUMA自动平衡就会启用。在NUMA下处理器可以比非本地内存(内存分配给另外一个处理器或在处理器之间共享的内存)更快地访问它的本地内存。如果上面启用了(我启用了),那么最好对这个问题"Memory placement aware NUMA scheduler (NUMA\_BALANCING)"由NUMA调度器进行内存分配回答"yes"这是一个NUMA调度器。
在新的标题"Control Group support"Cgroup支持因为先前的选择"Control Group support (CGROUPS)"Cgroup支持被自动地回答了"yes"。
@ -66,73 +66,73 @@ choice[1]: 1
启用cgroup统计子系统(Simple CPU accounting cgroup subsystem (CGROUP\_CPUACCT))Cgroup子系统的简单CPU统计会生成一个资源控制器来监控在一个cgroup组内的独立任务的CPU使用情况。我选择了"no"。
资源计数器(Resource counters (RESOURCE\_COUNTERS))使控制器独立资源能够统计工作在cgroup上的设备。我选择了"no"。
资源计数器(Resource counters (RESOURCE\_COUNTERS))使控制器独立资源统计功能能够统计cgroup。我选择了"no"。
下一个问题(Enable perf_event per-cpu per-container group (cgroup) monitoring (CGROUP_PERF))允许开发者扩展扩展每个CPU的模式使它可以只监控运行在特定CPU上的一个特别的cgroup组的线程。
下一个问题(Enable perf\_event per-cpu per-container group (cgroup) monitoring (CGROUP\_PERF))启用每个CPU、每个容器组的pref_event监控允许开发者扩展每个CPU的模式使它可以只监控运行在特定CPU上的一个特别的cgroup组的线程。
下一章节是"Group CPU Scheduler"。前两个已经回答的问题包括:
下一章节是"Group CPU Scheduler"CPU分组调度器。前两个已经回答的问题包括:
Group CPU scheduler (CGROUP_SCHED)
Group scheduling for SCHED_OTHER (FAIR_GROUP_SCHED)
Group CPU scheduler (CGROUP_SCHED)CPU分组调度器
Group scheduling for SCHED_OTHER (FAIR_GROUP\_SCHED)SCHED\_OTHER分组调度
第一个已回答的问题(CPU bandwidth provisioning for FAIR_GROUP_SCHED (CFS_BANDWIDTH))询问的是内核是否允许用户设置在公平组调度器内执行的任务的CPU带宽限制。没有限制的组会被认为不受约束并会没有限制地运行。
第一个已回答的问题(CPU bandwidth provisioning for FAIR\_GROUP\_SCHED (CFS\_BANDWIDTH))CPU带宽分配询问的是内核是否允许用户设置在公平组调度器内执行的任务的CPU带宽限制。没有限制的组会被认为不受约束并会没有限制地运行。
注意:并不是所有内核选项都在这个组里。我这里提到的组只是为了阅读舒适并指出这是一个新的,大的主题。了解所有组并不重要。当使用图形工具配置内核时,分组系统是有帮助的。那么开发者可以在搜索特定的设置时直接浏览分组后的菜单就可以了
注意:并不是所有内核选项都在这里。我这里提到的组只是为了便于阅读,并挑出那些新的和大的部分。并不需要了解所有的分组。分组有助于使用图形工具配置内核,这样开发者可以在搜索特定的设置时,直接通过分组菜单找到。
开发者可以通过回答"Group scheduling for SCHED_RR/FIFO (RT_GROUP_SCHED)"这个问题为"是"使用户可以分配CPU带宽到任务组中。
开发者可以通过回答"Group scheduling for SCHED\_RR/FIFO (RT\_GROUP\_SCHED)"SCHED\_RR/FIFO分组调度这个问题为"yes"来让用户可以分配CPU带宽到任务组中。
下一个问题是"Block IO controller (BLK_CGROUP)"。这样任务组可以被识别并且它们的磁盘带宽是由使用块IO控制器实现的CFQ IO调度器分配的。BIO在块的限制逻辑使用块IO控制器来提供设备上的IO速率上限。
下一个问题是"Block IO controller (BLK\_CGROUP)"阻塞IO控制器。任务组可以被识别并且它们的磁盘带宽是由使用块IO控制器实现的CFQ IO调度器分配的。BIO在块的限制逻辑使用块IO控制器来提供设备上的IO速率上限。
这里有一个调试问题(Enable Block IO controller debugging (DEBUG_BLK_CGROUP) [N/y/?])询问的是是否启用块IO控制器的调试。为了制作一个精简的内核好禁用这个特性。
这里有一个调试问题(Enable Block IO controller debugging (DEBUG_BLK_CGROUP) [N/y/?])启用阻塞IO控制器的调试询问是否启用块IO控制器的调试。为了制作一个精简的内核好禁用这个特性。
为了启用内核中的检查点和还原特性。这个问题“Checkpoint/restore support (CHECKPOINT_RESTORE)”我们回答是。为了更低的负载这里我选择了否。启用这个特性会正经啊辅助的进程控制代码来设置进程的代码段,数据段和堆的大小。并增加了一些额外的程序入口。
为了启用内核中的检查点和还原特性。这个问题“Checkpoint/restore support (CHECKPOINT_RESTORE)”检查点及还原支持可以选择“yes”不过为了更低的负载这里我选择了“n”。启用这个特性会增加辅助的进程控制代码来设置进程的代码段、数据段和堆的大小并增加了一些额外的程序入口。
下面我们就要配置命名空间的支持了。命名空间是一组标识符的容器。比如,/usr/lib/python3/dist-packages/re.py就是一个标识符/usr/lib/python3/dist-packages/就是一个命名空间。而re.py是这个命名空间下的本地名称。
第一个命名空间问题(Namespaces support (NAMESPACES))询问的是是否启用命名空间。这允许可以使用相同的PID但在不同的命名空间内(译注:原文为" This will allow the same PIDs (Process ID) to be used but indifferent namespaces",这里indiffernt根据上下文应该是少了空格)否则PID永远不会重复。
第一个命名空间问题(Namespaces support (NAMESPACES))询问的是是否启用命名空间。这允许可以使用相同的PID但在不同的命名空间内(译注:原文为" This will allow the same PIDs (Process ID) to be used but indifferent namespaces",这里indiffernt根据上下文应该是少了空格)否则PID永远不会重复。
下一个问题(UTS namespace (UTS_NS))询问是否可以让UTS命名空间内的任务可以在uname()系统调用中看到不同的信息。uname()系统调用提供查看机器和操作系统的信息。
下一个问题(UTS namespace (UTS\_NS))询问是否可以让UTS命名空间内的任务可以在uname()系统调用中看到不同的信息。uname()系统调用提供查看机器和操作系统的信息。
启用IPC命名空间(IPC namespace (IPC_NS))将允许在这个命名空间内的任务与其他IPC ID相对应的不同命名空间内的对象共同工作。
启用IPC命名空间(IPC namespace (IPC\_NS))将允许在这个命名空间内的任务与其他命名空间内相对应IPC ID的对象协同工作。
PID命名空间(PID Namespaces (PID_NS))就是进程ID命名空间。这可以使不同的进程在使用相同的PID时使用不同的PID命名空间。这是一个构建块的容器
PID命名空间(PID Namespaces (PID\_NS))就是进程ID命名空间。这可以使不同的进程在不同的PID命名空间使用相同的PID。这是一个容器的构建块
接下来,启用网络命名空间(Network namespace (NET_NS))可以使用户创建一个拥有多个实例的网络栈。
接下来,启用网络命名空间(Network namespace (NET\_NS))可以使用户创建一个拥有多个实例的网络栈。
当启用后,自动进程分组调度(SCHED_AUTOGROUP)会填充并创建任务组来优化桌面程序的调度。它将把占用大量资源的应用程序放在它们自己的任务组这有助于性能提升。
当启用后,自动进程分组调度(SCHED\_AUTOGROUP)会填充并创建任务组来优化桌面程序的调度。它将把占用大量资源的应用程序放在它们自己的任务组这有助于性能提升。
这里是一个调试特性,除非你有特别的需求否则应该禁用它。这个问题(Enable deprecated sysfs features to support old userspace tools (SYSFS_DEPRECATED))询问是否启用sysfs。这是调式内核时用的虚拟文件系统。
这里是一个调试特性,除非你有特别的需求否则应该禁用它。这个问题(Enable deprecated sysfs features to support old userspace tools (SYSFS_DEPRECATED))启用不推荐的sysfs功能来支持旧式的用户空间工具询问是否启用sysfs这是调试内核时用的虚拟文件系统。
接下来,因为当前的配置需要它,所以"Kernel->user space relay support (formerly relayfs) (RELAY)"已经被设成"yes"了。最好启用initrd(初始化内存文件系统和内存盘(initramfs/initrd))支持(BLK_DEV_INITRD))
接下来,因为当前的配置需要它,所以"Kernel->user space relay support (formerly relayfs) (RELAY)"(内核->用户空间的中继支持即relayfs已经被设成"yes"了。最好启用initrd支持(Initial RAM filesystem and RAM disk (initramfs/initrd) support (BLK\_DEV\_INITRD))(初始化内存文件系统和内存盘(initramfs/initrd)
用户会被问及哪里放置initramfs源文件。如果没有需要请留空。
接下来,开发人员会被询问关于初始虚拟磁盘(Linux的内核映像文件)所支持的压缩格式。你可以启用所有支持的压缩格式。
Support initial ramdisks compressed using gzip (RD_GZIP)
Support initial ramdisks compressed using bzip2 (RD_BZIP2)
Support initial ramdisks compressed using LZMA (RD_LZMA)
Support initial ramdisks compressed using XZ (RD_XZ)
Support initial ramdisks compressed using LZO (RD_LZO)
- Support initial ramdisks compressed using gzip (RD\_GZIP)
- Support initial ramdisks compressed using bzip2 (RD\_BZIP2)
- Support initial ramdisks compressed using LZMA (RD\_LZMA)
- Support initial ramdisks compressed using XZ (RD\_XZ)
- Support initial ramdisks compressed using LZO (RD\_LZO)
这里设置了内核的编译内核编译选项(Optimize for size (CC_OPTIMIZE_FOR_SIZE))。开发者可以让编译器在编译时优化代码。我选择了"yes"。
这里设置了内核的编译内核编译选项(Optimize for size (CC\_OPTIMIZE\_FOR\_SIZE))(优化大小)。开发者可以让编译器在编译时优化代码。我选择了"yes"。
用户想要配置更多的内核特性,那么下个问题就回答"yes"(Configure standard kernel features (expert users) (EXPERT))。
用户想要配置更多的内核特性,那么下个问题就回答"yes"(Configure standard kernel features (expert users) (EXPERT))(配置标准内核特性(专家级用户))
要启用遗留的16位UID系统调用封装器这个问题设成"yes"(Enable 16-bit UID system calls (UID16))。系统调用就会使用16位UID。
要启用过时的16位UID系统调用封装器这个问题设成"yes"(Enable 16-bit UID system calls (UID16))。系统调用就会使用16位UID。
我们建议启用"sysctl syscall"(Sysctl syscall support (SYSCTL_SYSCALL))支持。这使/proc/sys成为二进制路径的接口。
推荐启用"sysctl syscall"(Sysctl syscall support (SYSCTL_SYSCALL))支持。这使/proc/sys成为二进制路径的接口。
接下来的两个问题已经被预先回答了"yes",它们是"Load all symbols for debugging/ksymoops (KALLSYMS)"和"“Include all symbols in kallsyms (KALLSYMS_ALL)"。这些都是启用调试标志。
接下来的两个问题已经被预先回答了"yes",它们是"Load all symbols for debugging/ksymoops (KALLSYMS)"(载入所以的调试符号)和"“Include all symbols in kallsyms (KALLSYMS_ALL)"包括所有的kallsyms符号。这些都是启用调试标志。
下一步开发者应该启用printk支持( (Enable support for printk (PRINTK)))。这会打印内核消息到内核日志中。这在内核出错时是很重要的。编译一个"哑巴"内核并不是一个好主意。然而,如果我们有做了选择,一些开发者就会看到它的目的。否则,我们没有选择的余地
下一步开发者应该启用printk支持( (Enable support for printk (PRINTK))),这会输出内核消息到内核日志中。这在内核出错时是很重要的。编译一个"哑巴"内核并不是一个好主意。然而,如果我们启用了这个支持,就会被一些开发者看到这些出错,要么就不要启用
除非有必要开发者可以禁用bug支持(BUG() support (BUG))。禁用这项将会一处WARN和BUG信息的支持。这会减小内核的体积。
除非有必要开发者可以禁用bug支持(BUG() support (BUG))。禁用这项将会不支持WARN信息和BUG信息。这会减小内核的体积。
--------------------------------------------------------------------------------
via: http://www.linux.org/threads/the-linux-kernel-configuring-the-kernel-part-2.4318/
译者:[geekpi](https://github.com/geekpi) 校对:[校对者ID](https://github.com/校对者ID)
译者:[geekpi](https://github.com/geekpi) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -0,0 +1,130 @@
戴文的Linux内核专题07 配置内核 (3)
================================================================================
OK我们还继续配置内核。还有更多功能等待着去配置。
下一个问题(Enable ELF core dumps (ELF\_CORE))询问的是内核是否可以生成内核转储文件。这会使内核变大4KB。所以我选择了"no"。
注意:内核转储文件(内存或者系统的转储)是程序崩溃前已记录的状态。内核转储是用来调试问题的。这个转储文件的格式是ELF(Executable and Linkable Format )。
下面可以启用PC扬声器(Enable PC-Speaker support (PCSPKR\_PLATFORM))。大多数计算机用户拥有并使用扬声器,所以这个启用它。
虽然下面的特性会增加内核的大小(Enable full-sized data structures for core (BASE\_FULL))(启用完全大小的内核数据结构),但性能也随之增加。所以我选择"yes"。
为了使内核可以运行基于glibc的程序必须启用FUTEX(Enable futex support (FUTEX))。这个特性启用了快速用户空间互斥锁(Fast Userspace muTEXes)。
注意glibc(GNU C Library)是由GNU实现的标准C库。
注意FUTEX (fast userspace mutex)是用来防止两个线程访问同一个不能被多个线程使用的共享资源。
下一个问题(Enable eventpoll support (EPOLL))可以通过回答"no"来禁用epoll系统调用。然而为了含有epoll系统调用我选择了"yes"。epoll是一种I/O事件通知系统。
为了收到来自文件描述符的信号我们启用signalfd系统调用(Enable signalfd() system call (SIGNALFD)。
如果启用这个特性(Enable timerfd() system call (TIMERFD)),它允许程序使用定时器事件获取文件描述符。
我们现在的配置必须启用eventfd系统调用(Enable eventfd() system call (EVENTFD))。它默认启用访问共享内存文件系统(Use full shmem filesystem (SHMEM)。共享内存文件系统是一种虚拟内存文件系统。
下一个问题是"Enable AIO support (AIO)"。这个特性启用了线程化程序使用的POSIX异步I/O。
注意异步I/O用来处理输入/输出,它允许线程在传输完成前就完成处理。
如果你正在给一个嵌入式系统配置一个内核那么问题“Embedded system (EMBEDDED)”可以选择"yes"。否则就像我一样选择"no"。
注意:嵌入式系统是运行在一个更大的电子系统的实时计算机。
现在,我们可以配置内核性能事件和计时器了。配置工具没有给开发者选择,直接启用了事件和计数器(Kernel performance events and counters (PERF\_EVENTS))(内核性能事件和计数器)。这是一个重要特性。
接下来,我们可以禁用另外一个调试特性(ebug: use vmalloc to back perf mmap() buffers (DEBUG\_PERF\_USE\_VMALLOC))。
如果启用了VM事件计数器那么事件计数就会显示在/proc/vmstat(Enable VM event counters for /proc/vmstat (VM\_EVENT\_COUNTERS))。如果禁用了事件计数就不会显示,/proc/vmstat只会显示内存页计数。
为了更好地支持PCI芯片(Enable PCI quirk workarounds (PCI\_QUIRKS))回答yes。这会启用对PCI芯片的怪异行为和bug的临时解决方案。
下面一个调试特性可以像我一样禁用掉(Enable SLUB debugging support (SLUB\_DEBUG))。这个特性会耗费很多空间并且会禁用用于调试内核的SLB sysfs。如果这个特性被禁用那么/sys/slab就不会存在并且系统上也不再支持缓冲验证。
堆随机化是一个让利用堆漏洞更加困难的特性(Disable heap randomization (COMPAT\_BRK))。然而我们不应该去启用它因为任何基于libc5的软件都无法工作在这个系统上只有我们有特别的理由这么做或者如果你不会使用基于libc5的软件时才去启用它。我禁用了这个特性。当编译一个通用的内核时开发这会希望禁用这个特性。
接下来必须选择一个SLAB分配器。SLAB分配器是一个没有碎片且有效率地将内核对象放置在内存中的内存管理系统。默认选择是"2"。
Choose SLAB allocator
1. SLAB (SLAB)
> 2. SLUB (Unqueued Allocator) (SLUB)
3. SLOB (Simple Allocator) (SLOB)
choice[1-3?]: 2
为了支持扩展性能支持,(Profiling support (PROFILING))回答"yes"。
下一个问题让开发者选择是否启用OProfile系统。它可以禁用、启用或者添加为一个模块在需要时载入。我选择禁用这个特性。
Kprobes允许用户捕捉几乎任意的内核地址去启动一个回调函数。这是一个可以像我一样禁用的调试工具(Kprobes (KPROBES))。
这个优化特性可以启用(Optimize very unlikely/likely branches (JUMP\_LABEL))(优化非常近似/不近似的分支)。这使分支预判更加简单并可以减小开销。
配置工具启用了一个实验性特性"透明用户空间探针"(Transparent user-space probes (EXPERIMENTAL) (UPROBES))。不过不要担心,系统可以很好工作,并不是所有的实验性特性是不稳定或者坏的。
接下来我们会被询问基于gcov的内核分析(Enable gcov-based kernel profiling (GCOV\_KERNEL))。这可以被禁用。
为了允许内核加载模块,需要启用可加载模块支持(Enable loadable module support (MODULES))。
内核一般只能加载有版本号的模块。如果想允许内核加载没有版本号的模块,就启用这个特性(Forced module loading (MODULE\_FORCE\_LOAD))(强制模块载入)。这么做是一个很糟糕的注意,所以我已经禁用了它,除非你有特定的需求需要这个特性。
如果启用了这个特性(Module unloading (MODULE\_UNLOAD))Linux内核也能卸载模块最好启用。如果内核判断你要卸载的模块不应该被卸载那么用户则无法卸载模块。启用强制卸载也行但是不建议(Forced module unloading (MODULE\_FORCE\_UNLOAD)。
为了使用不是为你的内核开发的或者并不适用你的版本号的模块,可以启用版本支持(Module versioning support (MODVERSIONS))。最好不要混用不同版本号的模块,所以我禁用了这个特性。
模块在它们的modinfo(模块信息)里有一个字段名为"srcverion"。这个字段允许开发者知道使用什么源码版本来编译模块。启用这个选项可以在编译模块的时候加入这个字段。这个并不必要,所以我禁用了它(Source checksum for all modules (MODULE\_SRCVERSION\_ALL))。如果启用了先前的选项,开发者可以将校验和加入到模块中(Source checksum for all modules (MODULE\_SRCVERSION\_ALL))。
为了启用模块签名验证(Module signature verification (MODULE\_SIG)),这个选项回答"yes"。因为这个并不必要,我选择了"no",否则内核在加载模块前会检查并验证签名。
为了启用块级支持(Enable the block layer (BLOCK)),像我一样选择"yes"。禁用这个将会使块设备无法使用并且无法启用某些文件系统。
下面SG支持已经默认启用(Block layer SG support v4 (BLK\_DEV\_BSG))块级SG支持V4版并且辅助库也启用了(Block layer SG support v4 helper lib (BLK\_DEV\_BSGLIB))。
下面回答的问题是关于对块设备的数据完整性支持(Block layer data integrity support (BLK\_DEV\_INTEGRITY))。这个特性允许拥有更好的数据完整性来提供设备数据保护特性。许多设备不支持这个特性,所以我禁用了它。
如果启用了块级bio带宽限制(Block layer bio throttling support (BLK\_DEV\_THROTTLING))那就可以限制设备的IO速率。
为了启用外部分区方案的支持,这个问题就回答"yes"(Advanced partition selection (PARTITION\_ADVANCED))。我禁用了这个特性。
为了启用CSCAN(译注:循环扫描)和FIFO过期请求那就启用最后期限IO调度器(Deadline I/O scheduler (IOSCHED\_DEADLINE))。
CFQ IO调度器在处理器之间平均地分配带宽。因此启用这个特性feature (CFQ I/O scheduler (IOSCHED\_CFQ))是个好主意。
下面开发者可以启用或禁用CFQ组支持(CFQ Group Scheduling support (CFQ\_GROUP\_IOSCHED))。接下来开发者可以选择默认的IO调度器最好选择DEFAULT\_DEADLINE。
对于小于32位寻址的设备下面的特性会分配16MB的寻址空间(DMA memory allocation support (ZONE\_DMA))。如果你不使用这些设备,那么这个是可以禁用的,所以我禁用了它。
对于有多个CPU的系统最好启用SMP(Symmetric multi-processing support (SMP))。对于只有单个处理器的设备,内核会在禁用这个特性后执行得更快。我启用了这个特性。
对于支持x2apic的CPU启用x2apic支持support (Support x2apic (X86_X2APIC))。如果你的系统缺乏这个特性就像我一样禁用它。
接下来我们可以启用对那些缺乏合适的ACPI支持的旧式SMP系统的MPS表(Enable MPS table (X86\_MPPARSE))。一些拥有ACPI、DSDT、MADT支持的更新的系统不需要这个特性。我禁用了它。
下面的问题允许我们启用扩展x86平台的支持(Support for extended (non-PC) x86 platforms (X86\_EXTENDED\_PLATFORM))。只有在你需要一个通用内核或者内核运行在某个特定的需要扩展支持的处理器上时才启用它。我禁用了这个特性。
为了支持Intel低功耗子系统就启用这个特性(Intel Low Power Subsystem Support (X86\_INTEL\_LPSS))。
单一深度WCHAN输出(Single-depth WCHAN output (SCHED\_OMIT\_FRAME\_POINTER))是用来计算电量(/proc/<PID>/wchan),然而这会导致更多的功耗。
下面,我们启用虚拟客户系统支持(Paravirtualized guest support (PARAVIRT\_GUEST))。这允许一个Guest操作系统与主操作系统一起运行。我会禁用这个特性。
Memtest是一个在系统启动时检测内存的软件。Memtest可以配置为每次或者有时开机运行。Memtest并不必要所以我禁用了它。
这里我们可以选择一个内核应该支持的处理器家族。我选择了5 Generic-x86-64。这是一个64位的系统x86是32系统。
下面我们能选择也支持x86(32位)处理器 (Supported processor vendors (PROCESSOR\_SELECT))。
为了发现机器异常我们可以启用DMI扫描(Enable DMI scanning (DMI)),这可以检测异常。
要启用DMA访问系统上32位内存的3GB以上的内存下一个问题(GART IOMMU support (GART_IOMMU))我们回答"yes"。
--------------------------------------------------------------------------------
via: http://www.linux.org/threads/the-linux-kernel-configuring-the-kernel-part-3.4369/
译者:[geekpi](https://github.com/geekpi) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -0,0 +1,53 @@
在Ubuntu上升级到Linux内核3.11.6
================================================================================
Ubuntu 13.10已经发布不过它的内核可不是最新的。当然坚持Ubuntu 13.10当前内核不是一件坏事。事实上。不特别建议升级超出你的Linux发行版的官方仓库测试过的特定版本。
但另一方面,如果你不害怕一再折腾Ubuntu那么你可以试试升级到最新Ubuntu支持的Linux内核。你会发觉最新的内核总是有改善的、修补了漏洞和添加特性的.
所以如果你的电脑有些运行不正常那么更新Linux内核可能就能修复。但记住当你升级时你也有可能导致系统崩溃。
如果你不再惧怕和我一起永往直前吧让我们开始升级Ubuntu Linux 内核到 3.11.6!!
首先,在你开始升级之前,请先备份你的数据,以防升级时出错无法恢复。小心行得万年船!!!
更多关于这个内核版本信息,[阅读更改日志][1]。
当你一切准备就绪,运行下列命令来升级你的机器并删除包括比当前更旧的内核在内的旧软件包。
sudo apt-get update && sudo apt-get dist-upgrade && sudo apt-get autoremove
然后,进到/tmp目录。
cd /tmp
接着复制粘贴下列命令按回车下载32位的Linux内核
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.11.6-saucy/linux-headers-3.11.6-031106-generic_3.11.6-031106.201310181453_i386.deb http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.11.6-saucy/linux-headers-3.11.6-031106_3.11.6-031106.201310181453_all.deb http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.11.6-saucy/linux-image-3.11.6-031106-generic_3.11.6-031106.201310181453_i386.deb
对于64位Linux内核版本则复制粘贴下行。
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.11.6-saucy/linux-headers-3.11.6-031106-generic_3.11.6-031106.201310181453_amd64.deb http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.11.6-saucy/linux-headers-3.11.6-031106_3.11.6-031106.201310181453_all.deb http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.11.6-saucy/linux-image-3.11.6-031106-generic_3.11.6-031106.201310181453_amd64.deb
下载适合你的版本,运行下列命令,开始安装:
sudo dpkg -i *.deb
最后运行下列命令升级Grub。
sudo update-grub2
就这样!重启你的电脑,完成升级!!
玩的开心!
--------------------------------------------------------------------------------
via: http://www.liberiangeek.net/2013/10/upgrade-linux-kernel-3-11-6-ubuntu/
译者:[Luoxcat](https://github.com/Luoxcat) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.11.6

View File

@ -1,7 +1,9 @@
#使用Wine在Linux上玩游戏这儿是一些你为什么应该立即转到Steam平台的理由#
还在使用Wine在Linux上玩游戏别傻了用Steam吧
==================================
![](http://main.makeuseoflimited.netdna-cdn.com/wp-content/uploads/2012/12/steamforlinux.png)
在过去的几个月中Steam平台受到了众人的关注。并不是因为它带来的游戏而是由于它拓展支持了不同的操作系统。假如你好没有听说那么我告诉你官方宣布Steam计划支持Linux而且已经持续改进他们的beta版Linux客户端。花不了多长时间就可以让Steam的Linux客户端平稳下来所以现在需要做的事情就只是把游戏移植到Linux上了。
在过去的几个月中Steam平台受到了众人的关注。并不是因为它带来的游戏而是由于它拓展支持了不同的操作系统。假如你还没有听说过那么我告诉你官方宣布Steam计划支持Linux而且还在持续改进他们的beta版Linux客户端。花不了多长时间就可以让Steam的Linux客户端平稳下来所以现在需要做的事情就只是把游戏移植到Linux上了。
现在这项非常重要的服务已经可以在我们可爱的企鹅上使用这儿还有好多理由指出你为什么应该至少考虑一下转换到Linux平台。
@ -9,25 +11,25 @@
我将以这个明显的优点作为开始 - 使用Steam玩游戏时性能表现会好很多。当然同使用Wine玩游戏相比那就更加显得更加快速咯因为游戏是原生运行的无需兼容层。性能是玩游戏时最重要的因素之一所以人们怎么可以错过这么一个显著的优点呢。
另外我还注意到使用Steam玩游戏比在Windows上玩游戏还更加快速同样的硬件同一款游戏在linux上的表现比Windows上的表现还好。这一点别说人,连我自己都没想到。
另外我还注意到使用Steam玩游戏比在Windows上玩游戏还更加快速同样的硬件同一款游戏在linux上的表现比Windows上的表现还好。这一点别说人,连我自己都没想到。
###兼容性###
![](http://main.makeuseoflimited.netdna-cdn.com/wp-content/uploads/2013/01/switch_steam_wine.jpg)
无论何时你购买一个游戏,你无法保证你购买的游戏可以在Wine上良好运行。虽然有一个Wine兼容性数据库上面列出了Wine兼容的应用和游戏但是这只是通过告诉你那些你想购买但是有可能不兼容的应用或游戏从而节省你的金钱 。然而使用Steam那些支持Linux的所有游戏都可以保证兼容不需要去询问任何兼容性问题。
无论何时你购买一个游戏,你无法保证你购买的游戏可以在Wine上良好运行。虽然有一个Wine兼容性数据库上面列出了Wine兼容的应用和游戏但是这只是告诉你有哪些想购买但是有可能不兼容的应用或游戏从而节省你的金钱。然而使用Steam那些支持Linux的所有游戏都可以保证兼容不需要去询问任何兼容性问题。
###Steam的优点###
![](http://main.makeuseoflimited.netdna-cdn.com/wp-content/uploads/2013/01/switch_steam_window.jpg)
当然转到Steam平台你就可以获得它所有的好处。这包括偶尔的价格优惠尤其是那些在售的游戏完全在在线体验不在需要物理媒介,游戏和客户端 更新时你可以保持同步更新等。
当然转到Steam平台你就可以获得它所有的好处。这包括偶尔的价格优惠尤其是那些在售的游戏完全在线体验,不再需要物理介质,游戏和客户端更新时你可以保持同步更新等。
例如若你在你的电脑上重装了系统你只需打开Steam坐在一旁休息它就可以自动下载并安装所有你安装过的游戏。在Windows和Mac OS X上人们非常喜欢Steam的这种运作方式所以这是一个你购买游戏的好去处。
###让你的声音被听到###
###后排的朋友,让我听到你的声音!###
最后转到Steam平台你是在表明你的态度。若Steam对于Linux平台的努力无法引起你游戏的兴趣那么我会感到非常惊讶。作为社区的一份子我们需要对那些我们喜欢的项目 表示支持。转到Steam平台不仅可以让Steam公司对于在Linux平台上的冒险值得而且也告诉了其它人Linux完全可以作为游戏平台——只是由于历史的缘故人们只是没有在这方面投入足够的时间和经历使其取得突破而已。
最后转到Steam平台你是在表明你的态度。若Steam对于Linux平台的努力无法引起你游戏的兴趣那么我会感到非常惊讶。作为社区的一份子我们需要对那些我们喜欢的项目表示支持。转到Steam平台不仅可以让Steam公司觉得对于在Linux平台上的冒险值得而且也告诉了其它人Linux完全可以作为游戏平台——只是由于历史的缘故人们只是没有在这方面投入足够的时间和经历使其取得突破而已。
假如我们向人们展示使用Linux的人们也是喜欢玩游戏的而且通过支持Linux是可以获得利润的那么人们就可能更加乐意开发支持Linux的游戏。另外我们都希望有更多的Linux原生游戏难道不是吗
@ -39,6 +41,6 @@
via: http://www.makeuseof.com/tag/using-wine-to-play-games-on-linux-heres-why-you-should-switch-to-steam-right-now/
译者:[Linux-pdz](https://github.com/Linux-pdz) 校对:[校对者ID](https://github.com/校对者ID)
译者:[Linux-pdz](https://github.com/Linux-pdz) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -4,9 +4,9 @@ gcp 源于CP的高级命令行文件拷贝工具
### gcp 高级命令行文件拷贝器 ###
gcp — 根据操作手册介绍 — 是一款高级命令行文件拷贝工具软件,其灵感来自于标准的 [cp命令工具][2] 但它提供了像进度条显示、源文件列表、拷贝过程中出现错误文件不中断继续拷贝等cp所不具有的各项高级功能。
根据操作手册介绍gcp是一款高级命令行文件拷贝工具软件,其灵感来自于标准的 [cp命令][2] 但它提供了像进度条显示、源文件列表、拷贝过程中出现错误文件不中断继续拷贝等cp所不具有的各项高级功能。
下面是完整的选项列表:
下面是部分功能列表:
![](http://mylinuxbook.com/wp-content/uploads/2013/10/gcp-main.png)
@ -22,67 +22,67 @@ gcp — 根据操作手册介绍 — 是一款高级命令行文件拷贝工具
**1. 复制进度显示**
gcp命令提供了进度显示功能以便用户能监控到复制操作的时时状态。
gcp命令提供了进度显示功能以便用户能监控到复制操作的当前状态。
下面是例子:
![](http://mylinuxbook.com/wp-content/uploads/2013/10/gcp-1.png)
所以,你可以看到gcp命令显示了如文件大小、复制完成的百分比、传输速率和复制操作完成的剩余时间的所有细节。
可以看到gcp命令显示了如文件大小、复制完成的百分比、传输速率和复制操作还需多久完成等细节。
**2. 使用-r选项递归拷贝目录**
**2. 使用-r选项递归拷贝目录**
要递归拷贝完整的目录,可以使用-r选项。
面是例子
示例如下:
![](http://mylinuxbook.com/wp-content/uploads/2013/10/gcp-2.png)
所以你可以看到gcp命令显示了用来统计所有文件夹大小的复制情况的进度条。
可以看到gcp命令显示了完整文件夹复制情况的进度条。
**3. 精心设计的错误描述显示**
任何情况的错误gcp命令都会把拷贝失败的文件的信息显示出来
如遇到错误gcp命令会显示拷贝失败的文件的错误信息
面是例子
示例如下:
![](http://mylinuxbook.com/wp-content/uploads/2013/10/gcp-3.png)
所以,你可以看到gcp命令列出了详细的错误消息关于**August Rush.avi**文件已经在目标目录中存在,拷贝失败。但这个错误并不会影响其它文件的正常拷贝操作。
可以看到gcp命令列出了详细的错误消息即**August Rush.avi**文件已经在目标目录中存在,拷贝失败。但这个错误并不会影响其它文件的正常拷贝操作。
**4. 使用-v选项输出详细信息**
详细选项-v参数可以用来跟踪gcp命令执行时的所有详细消息。
下面是例子
示例如下
![](http://mylinuxbook.com/wp-content/uploads/2013/10/gcp-4.png)
所以,你可以看到,使用-v选项可以输出很多细节信息。
可以看到,使用-v选项可以输出很多细节信息。
**5. 创建和使用源列表**
gcp命令的一个很炫的功能就是可以创建源文件列表以供后期使用。
gcp命令的一个很炫的功能就是可以创建源文件列表以供以后再次使用。
例如,在下面的拷贝操作中,我使用**-sources-save**选项来保存一个源文件列表。
![](http://mylinuxbook.com/wp-content/uploads/2013/10/gcp-5-1.png)
这例子的列表名叫做**SOURCES_SAVE**。你可以用**sources-list**选项参数来确认及查看保存的列表。
本例中,列表名叫**SOURCES_SAVE**。你可以用**sources-list**选项参数来确认已保存的列表。
![](http://mylinuxbook.com/wp-content/uploads/2013/10/gcp-5-3.png)
那么你可以看到列表名**SOURCES_SAVE**已保存上了
可以看到列表名**SOURCES_SAVE**已保存。
现在,删除我们在第一步中拷贝的文件:
![](http://mylinuxbook.com/wp-content/uploads/2013/10/gcp-5-2.png)
重复第一步的操作,但不要加上源文件路径名,使用**sources-load**选项参数来从**SOURCES_SAVE**列表文件中加载源文件路径名。
重复第一步的操作,但不要加上源文件路径名,使用**sources-load**选项参数来从**SOURCES_SAVE**列表文件中加载源文件名。
![](http://mylinuxbook.com/wp-content/uploads/2013/10/gcp-5-4.png)
所以,你可以看到gcp命令从**SOURCES_SAVE**列表文件中读取源文件路径名,并且正常的执行拷贝操作。
可以看到,gcp命令从**SOURCES_SAVE**列表文件中读取源文件名,并且正常的执行拷贝操作。
下面是关于源文件列表的其它选项参数:
@ -90,7 +90,7 @@ gcp命令的一个很炫的功能就是可以创建源文件列表以供后
gcp命令还提供了各式名样的其它有用选项。要查看完整的选项请阅读[gcp帮助主页][3]。
### Download/Installation/Configuration ###
### 下载/安装/配置 ###
下面是关于gcp命令的一些主要链接站点
@ -103,7 +103,7 @@ gcp命令还提供了各式名样的其它有用选项。要查看完整的选
### 优点 ###
- 状态条显示和源文件列表是这个工具的核心。
- 出现有问题的文件会直接跳过,不会影响正常文件的复制操作。
- 跳过有问题的文件,不影响正常文件的复制操作。
- 跟标准的cp命令的用法很相似。
### 不足 ###
@ -113,9 +113,9 @@ gcp命令还提供了各式名样的其它有用选项。要查看完整的选
### 结论 ###
如果你厌倦了通过标准cp命令拷贝大量文件而无休止的等待的话gcp命令是个不错的选择。系统管理员会喜欢上源文件列表的功能的。它是必备工具。
如果您厌倦了使用标准cp命令拷贝大文件时的盲目等待gcp命令是个不错的选择。系统管理员会喜欢上源文件列表的功能的。它是必备工具。
**你曾经使用过gcp或者类cp的命令行工具吗可以把你的使用心得跟我们分享。**
**你曾经使用过gcp或者类cp的高级命令行工具吗?可以把你的使用心得跟我们分享。**
--------------------------------------------------------------------------------

View File

@ -1,6 +1,6 @@
ttyrec & ttyplay - Linux记录播放终端会话
================================================================================
有些时候你可能想要记录一个终端会话为了保存一个复杂的命令行操作为将来使用的参考或者是为了知识分享。你可能也想记录的文件尺寸尽可能的小一点并且希望当播放记录文件时可以做一个快速回放。在这个文章中我们将讨论两个命令行工具( **ttyrec 和 ttyplay** )来供你记录,保存和播放终端会话。
有些时候你可能想要记录一个终端会话,也许是为了保存一个复杂的命令行操作为将来使用的参考,或者是为了知识分享。你可能也希望记录的文件尺寸尽可能的小一点,并且希望当播放记录文件时可以做一个快速回放。在这个文章中我们将讨论两个命令行工具( **ttyrec** 和 **ttyplay** )来让你记录、保存和播放终端会话。
### ttyrec & ttyplay ###
@ -32,11 +32,11 @@ ttyrec & ttyplay - Linux记录播放终端会话
$ ttyrec [文件名]
参数 **[文件名]** (上面显示的命令)是一个选项如果要使用,就要用一个你想要用的名字。这个记录文件将会用这个名字保存下来。如果你没有指定一个文件名ttyrec就会用 **ttyrecord** 作为缺省文件名。
参数 **[文件名]** (上面显示的命令)是一个选项,可以指定你想要的任何名字。这个记录文件将会用这个名字保存下来。如果你没有指定一个文件名ttyrec就会用 **ttyrecord** 作为缺省文件名。
**步骤-2**
现在就开始记录会话了,当你想要记录的时候你就可以运行这个命令。ttyrec命令甚至可以记录命令行类似vinanoemacslynx等这些命令行工具的会话。
当你想要记录的时候你就可以运行这个命令,就开始记录会话了。ttyrec命令甚至可以记录命令行类似vinanoemacslynx等这些命令行工具的会话。
**步骤-3**
@ -46,7 +46,7 @@ ttyrec & ttyplay - Linux记录播放终端会话
$ ttyplay [文件名]
参数 **[文件名]** 就是记录文件名,也就是通过 **ttyrec** 命令给定参数一样的那个名字。如果没有指定文件名,那么缺省文件名就是 **ttyrecord**
参数 **[文件名]** 就是记录文件名,就是上面通过 **ttyrec** 命令给定参数的那个名字。如果没有指定文件名,那么缺省文件名就是 **ttyrecord**
当你运行ttyplay回放会话记录就会开始。这里给出一些当你回放会话的时候你可以用的快捷键。
@ -61,17 +61,19 @@ ttyrec & ttyplay - Linux记录播放终端会话
![](http://mylinuxbook.com/wp-content/uploads/2013/10/ttyrec-1.png)
> ttyplay
**> ttyplay**
![](http://mylinuxbook.com/wp-content/uploads/2013/10/ttyplay-1.png)
还有另一个小工具 **ttytime** 可以用来显示用ttyrec工具会话记录的时间。很容易使用并且只需要记录文件名作为命令行参数。
举一个例子:
$ ttytime record_file
29 record_file
$ ttytime record_file
29 record_file
这样你就可以看到ttytime命令显示的会话记录文件record_file的时间。
这样你就可以看到ttytime命令显示会话记录文件record_file的时间。
这有一个ttyrec和ttyplay命令的很有用的视频
@ -86,29 +88,29 @@ ttyrec & ttyplay - Linux记录播放终端会话
你可以使用任何命令行下载管理器比如apt-get或者yum来下载ttyrecttyplay和ttytime。Ubuntu用户也可以通过Ubuntu软件中心下载安装这些工具。
### 赞同 ###
### 优点 ###
- 轻量级并且易用
- 可以记录多种流行的命令行工具比如vinanolynx等
- 没有学习曲线。
### 反对 ###
### 缺点 ###
- 不能在IRIX6.4下工作
- 不能在IRIX6.4下工作(译注:这还算事吗?)
- 依赖终端尺寸
- 大多数Linux发行版没有预装。
- 大多数Linux发行版没有预装。
### 结论 ###
如果你正在找一些Linux轻量级命令行工具用来记录播放终端会话那么ttyrec和ttyplay是理想的工具。我真的喜欢使用它们带来的轻松。试一下这些工具你不会失望的。
**你使用过ttyrecttyplay或者其它的终端 记录/播放 工具?分享你的经历给我们吧。**
**你使用过ttyrecttyplay或者其它的终端记录/播放 工具?分享你的经历给我们吧。**
--------------------------------------------------------------------------------
via: http://mylinuxbook.com/ttyrec-ttyplay-record-and-play-terminal-sessions-in-linux/
译者:[flsf](https://github.com/flsf) 校对:[校对者ID](https://github.com/校对者ID)
译者:[flsf](https://github.com/flsf) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -1,172 +0,0 @@
10 Lesser Known Linux Commands Part 2
================================================================================
Continuing the last conversation from [11 Lesser Known Useful Linux Commands Part I][1](注:此文已经被其他网站翻译,链接:[http://www.searchsv.com.cn/showcontent_77595.htm][2]或者:[http://www.oschina.net/translate/11-lesser-known-useful-linux-commands][5]) here in this article we will be focusing on other lesser known Linux commands, that will prove to be very much useful in managing Desktop and Server.
![](http://www.tecmint.com/wp-content/uploads/2013/10/10-Lesser-Known-Commands.png)
*10 Lesser Known Linux Commands*
### 12. <space> Command ###
Every piece of command you type in terminal gets recorded in the **history** and can be retried using **history** command.
How about cheating [history command][2]? Yeah you can do it and its very easy. Just put one or more white space before typing a command in terminal and your command wont be recorded.
Lets give it a try, we will try five common Linux commands (say** ls, pwd, uname, echo “hi”** and **who**) in terminal after one white space and check if these commands are docked in history or not.
avi@localhost:~$ ls
avi@localhost:~$ pwd
avi@localhost:~$ uname
avi@localhost:~$ echo “hi”
avi@localhost:~$ who
Now run **history** command to see whether these above executed commands are recorded or not.
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
You see our last executed commands are not logged. we can also cheat history by using an alternate command **cat | bash** of-course without quotes, in the same way as above.
### 13. stat Command ###
The **stat** command in Linux displays the status information of a file or filesystem. The **stat** shows a whole lot of information about the file which name is passed as argument. Status Information includes file **Size, Blocks, Access Permission, Date-time** of file last access, **Modify, change**, etc.
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. <alt>. and <esc>. ###
The above key combination is not actually a command but a tweak which put the last command argument at prompt, in the order of last entered command to previous entered command. Just press and hold **Alt** or **Esc** and continue pressing **.**.
### 15. pv command ###
You might have seen simulating text in **Movies** specially **Hollywood Movies**, where the text appears as if it is being typed in the Real time. You can echo any kind of text and output in simulating fashion using **pv** command, as pipelined above. The **pv** command might not be installed in your system, and you have to **apt** or **yum** the required packages to install **pv** into your box.
root@localhost:# echo "Tecmint [dot] com is the world's best website for qualitative Linux article" | pv -qL 20
**Sample Outpit**
Tecmint [dot] com is the world's best website for qualitative Linux article
### 16. mount | column -t ###
The above command shows the list of all the mounted filesystem in a nice formatting with specification.
avi@localhost:~$ mount | column -t
**Sample Outpit**
/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 command ###
Before going further, let me ask you how you clear your terminal. Hmmm! You type “**clear**” at prompt. Well the above command perform the action of cleaning your terminal all at a once. Just press “**Ctr+l**” and see how it clears your terminal all at once.
### 18. curl command ###
How about checking your **unread mail** from the **command line**. This command is very useful for those who work on headless server. Again it asks for password at run time and you need not hard code your password in the above line, which is otherwise a security risk.
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>/;'
**Sample Outpit**
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 Command ###
The **screen** command makes it possible to detach a long running process from a session that can again be reattached, as and when required which provides flexibility in command execution.
To run a process (long) we generally execute as
avi@localhost:~$ ./long-unix-script.sh
Which lacks flexibility and needs the user to continue with the current session, however if we execute the above command as.
avi@localhost:~$ screen ./long-unix-script.sh
It can be **de-attached** or **re-attached** in different sessions. When a command is executing press “**Ctrl + A**” and then “**d”** to **de-attach**. To attach run.
avi@localhost:~$ screen -r 4980.pts-0.localhost
**Note**: Here, the later part of this command is **screen id**, which you can get using **screen -ls** command. To know more about **screen command** and their usage, please read our article that shows some useful [10 screen commands with examples][4].
### 20. file ###
No! the above command is not a typo. **file** is a command which gives you information about the type of file.
avi@localhost:~$ file 34.odt
34.odt: OpenDocument Text
### 21. id ###
The above command print real and effective **user** and **group** ids.
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)
Thats all for now. Seeing the success of last article of this series and this very article, Ill be coming with another part of this article containing several other **Lesser Known Linux** commands very soon. Till then **Stay Tuned** and connected to **Tecmint**. Dont Forget to provide us with your **value-able Feedback** in **Comments**.
--------------------------------------------------------------------------------
via: http://www.tecmint.com/10-lesser-known-linux-commands-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.tecmint.com/11-lesser-known-useful-linux-commands/
[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/
[5]:http://www.oschina.net/translate/11-lesser-known-useful-linux-commands

View File

@ -1,125 +0,0 @@
翻译中 by Linux-pdz
12 Practical Examples of Linux grep Command
================================================================================
Have you ever been confronted with the task of looking for a particular string or pattern in a file, yet have no idea where to start looking? Well then, here is **grep** to the rescue!
![](http://www.tecmint.com/wp-content/uploads/2013/11/Grep-Command-Examples.png)
*12 Grep Command Examples*
**grep** is a powerful file pattern searcher that comes equipped on every distribution of **Linux**. If, for whatever reason, it is not installed on your system, you can easily install it via your package manager (**apt-get** on **Debian/Ubuntu** and **yum** on **RHEL/CentOS/Fedora**).
$ sudo apt-get install grep #Debian/Ubuntu
$ sudo yum install grep #RHEL/CentOS/Fedora
I have found that the easiest way to get your feet wet with **grep** is to just dive right in and use some real world examples.
### 1. Search and Find Files ###
Lets say that you have just installed a fresh copy of the new **Ubuntu** on your machine, and that you are going to give **Python** scripting a shot. You have been scouring the web looking for tutorials, but you see that there are two different versions of **Python** in use, and you dont know which one was installed on your system by the **Ubuntu** installer, or if it installed any modules. Simply run this command:
$ sudo dpkg l | grep i python
#### Sample Output ####
ii python2.7 2.7.3-0ubuntu3.4 Interactive high-level object-oriented language (version 2.7)
ii python2.7-minimal 2.7.3-0ubuntu3.4 Minimal subset of the Python language (version 2.7)
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
First, we ran **dpkg l**, which lists installed ***.deb** packages on your system. Second, we piped that output to **grep i** python, which simple states “go to grep and filter out and return everything with python in it.” The **i** option is there to ignore-case, as **grep** is case-sensitive. Using the **i** option is a good habit of getting into, unless of course you are trying to nail down a more specific search.
### 2. Search and Filter Files ###
The grep can also be used to search and filter within individual files or multiple files. Lets take this scenario:
You are having some trouble with your **Apache Web Server**, and you have reached out to one of the many awesome forums on the net asking for some help. The kind soul who replies to you has asked you to post the contents of your **/etc/apache2/sites-available/default-ssl** file. Wouldnt it be easier for you, the guy helping you, and everyone reading it, if you could remove all of the commented lines? Well you can! Just run this:
$ sudo grep v “#” /etc/apache2/sites-available/default-ssl
The **v** option tells **grep** to invert its output, meaning that instead of printing matching lines, do the opposite and print all of the lines that dont match the expression, in this case, the **#** commented lines.
### 3. Find all .mp3 Files Only ###
The **grep** can be very useful for filtering from **stdout**. For example, lets say that you have an entire folder full of music files in a bunch of different formats. You want to find all of the ***.mp3** files from the artist **JayZ**, but you dont want any of the remixed tracks. Using a **find command** with a couple of **grep** pipes will do the trick:
$ sudo find . name “*.mp3” | grep i JayZ | grep vi “remix”
In this example, we are using find to print all of the files with a ***.mp3 extension**, piping it to **grep i** to filter out and prints all files with the name “**JayZ**” and then another pipe to **grep vi** which filters out and does not print all filenames with the string (in any case) “**remix**”.
- [35 Practical Examples of Linux Find Command][1]
### 4. Display Number of Lines Before or After Search String ###
Another couple of options are the A and B switches, which displays the matched line and number of lines either that come before or after the search string. While the man page gives a more detailed explanation, I find it easiest to remember the options as A = after, and B = before:
$ sudo ifconfig | grep A 4 eth0
$ sudo ifconfig | grep -B 2 UP
### 5. Prints Number of Lines Around Match ###
The greps **C** option is similar, but instead of printing the lines that come either before or after the string, it prints the lines in either direction:
$ sudo ifconfig | grep C 2 lo
### 6. Count Number of Matches ###
Similar to piping a **grep** string to word count (**wc** program) greps built-in option can perform the same for you:
$ sudo ifconfig | grep c inet6
### 7. Search Files by Given String ###
The **n** option for **grep** is very useful when debugging files during compile errors. It displays the line number in the file of the given search string:
$ sudo grep n “main” setup..py
### 8. Search a string Recursively in all Directories ###
If you would like to search for a string in the current directory along with all of the subdirectories, you can specify the **r** option to search recursively:
$ sudo grep r “function” *
### 9. Searches for the entire pattern ###
Passing the **w** option to grep searches for the entire pattern that is in the string. For example, using:
$ sudo ifconfig | grep w “RUNNING”
Will print out the line containing the pattern in quotes. On the other hand, if you try:
$ sudo ifconfig | grep w “RUN”
Nothing will be returned as we are not searching for a pattern, but an entire word.
### 10. Search a string in Gzipped Files ###
Deserving some mention are greps derivatives. The first is **zgrep**, which, similar to **zcat**, is for use on **gzipped** files. It takes the same options as **grep** and is used in the same way:
$ sudo zgrep i error /var/log/syslog.2.gz
### 11. Match Regular Expression in Files ###
The **egrep** is another derivative that stands for “**Extended Global Regular Expression**”. It recognizes additional expression meta-characters such **at + ?** | and **()**. egrep is very useful for searching source files, and other pieces of code, should the need arise. It can be invoked from regular grep by specifying the **E** option.
$ sudo grep E
### 12. Search a Fixed Pattern String ###
The **fgrep** searches a file or list of files for a fixed pattern string. It is the same as **grep F**. A common way of using **fgrep** is to pass a file of patterns to it:
$ sudo fgrep f file_full_of_patterns.txt file_to_search.txt
This is just a starting point with **grep**, but as you are probably able to see, it is invaluable for a variety of purposes. Aside from the simple one line commands we have implemented, **grep** can be used to write powerful **cron** jobs, and robust **shell scripts**, for a start. Be creative, experiment with the options in the **man page**, and come up with **grep expressions** that serve your own purposes!
--------------------------------------------------------------------------------
via: http://www.tecmint.com/12-practical-examples-of-linux-grep-command/
译者:[译者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/35-practical-examples-of-linux-find-command/

View File

@ -1,39 +0,0 @@
Vic020翻译中
Daily Ubuntu Tips Resize Ubuntu Unity Launcher
================================================================================
Heres another tip for users who are new to Ubuntu. This series aims to help new users to Ubuntu configure and manage their computer easily. Its not geared towards Ubuntu power users or pros, rather users who are just starting with Ubuntu.
Ubuntu launcher is a key part of Ubuntu Unity Desktop. The launcher is the vertical bar with icons that sits on the left hand side of your screen when you logon. It allows you to easily open or launch programs from your desktop. It also provides quick access to applications, workspaces, removable devices and the trash bin.
By default, the launch size is set to 48 even for smaller screens. If you want to increase or decrease the size of the launcher, then continue below to learn how.
There are many reasons why youd want to adjust Unity launcher. One good reason is to resize it to fit on smaller screens. If your screen is small and the default size isnt suitable, then you may want to change it.
If the default size of the icons are too small and want to increase it, then adjust the launcher to increase the icons so theyre easy to click.
To get started, click the gear button at the top right of the menu bar as shown below.
![](http://www.liberiangeek.net/wp-content/uploads/2013/09/ubuntulockscreendisable3.png)
Next, select Appearance
![](http://www.liberiangeek.net/wp-content/uploads/2013/09/unitylauncherubuntu.png)
Finally, use the slider to adjust (increase / decrease) the launcher icon size.
![](http://www.liberiangeek.net/wp-content/uploads/2013/09/unitylauncherubuntu1.png)
The changes should apply automatically. Remember, if you want to stick with the default, move it back to 48.
This is another Ubuntu tip for new users. Keep coming back for more tips on Ubuntu. If youre power users and wish to contribute, please leave a comment below
Enjoy!
--------------------------------------------------------------------------------
via: http://www.liberiangeek.net/2013/09/daily-ubuntu-tips-resize-ubuntu-unity-launcher/
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)

View File

@ -1,27 +0,0 @@
France's Ministry of the Interior achieved 5-"10 times less expensive" with open-source software
================================================================================
By looking at the world, the observer is to perceive a massive amount of nationalities, languages, habits, tastes, political structures, as well as differently-developed countries spanning from poverty to wealthy regions.
Yet, perhaps rather strange and non-intelligent, all countries,--more or less--, are characterized by the usage of proprietary software, proprietary software spreading its tentacles across the globe, where it has managed to solidify a monopoly rooted into one goal: the maintenance of monopoly.
Yet, definitely exciting, various countries have started to identify the benefits of the open-source software, perception that instantly reveals the years-and-years of non-productive usage of proprietary software: operating systems, email applications, office suites.
Moreover, adopting open-source software, even in small percentages, has the capacity of resurrecting state departments and companies, schools and city administrations, resurrection happening in steps and extremely visible: first, there are massive decreases in money used for software, second, the entities adopting open-source software are independent from the proprietary companies and, thus, are able to much more accurately, precisely and sanely conduct their computing lives, essentially, becoming completely new highly-empowered entities.
The **Open source observatory** has [published][1] an interesting article, talking about the conclusion reached by **France's Ministry of the Interior** after using open-source software on 200,000 PCs since 2008, namely, achieving five times cheaper money-spending on software.
![](http://iloveubuntu.net/pictures_me/france%20open-source%20ministry%20of%20the%20interior.png)
The five-times-cheaper achievement has been reached with the open-source Thunderbird email-application, while using GLPI and OCS,-- free software tools useful to manage computer assets--, has decreased the costs up to 10 times less, "**this is 10 times less expensive than the previous proprietary tool**".
As related to servers, the ministry has adopted open-source software, too, software that, packed with open-source databases and office tools, is "leading to substantial savings".
--------------------------------------------------------------------------------
via: http://iloveubuntu.net/frances-ministry-interior-achieved-5-10-times-decreases-costs-open-source-software
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:https://joinup.ec.europa.eu/community/osor/news/french-interior-ministry-open-source-5-10-times-cheaper

View File

@ -1,22 +0,0 @@
Game-editor Leadwerks 3.1 demoed as running on Ubuntu with native look & feel
================================================================================
[Leadwerks][1] is a versatile game-development application, currently traversing a porting-to-Linux road with the purpose of enabling game-development actions running natively on Linux (Ubuntu).
Months ago, Leadwerks started a kickstarter funding campaign launched in mind with adding Linux support to the handy game-creator tool, campaign both reaching its successful financial goal and releasing a BETA version of Leadwerks.
On its official website, the Leadwerks developers have [posted][2] an image with Leadwerks **3.1** running on Ubuntu, version presenting itself with a native look & feel, being properly integrated into the desktop, achievement significantly pushing forward the still-**in-progress** Leadwerks' availability for Ubuntu, "this is the first screenshot of the Leadwerks 3.1 editor actually running on Ubuntu! There's still a lot of work to do, but it's a **big milestone** to see it actually working, to any extent. We're using GTK so Leadwerks for Linux looks and feels like a native Linux application".
![](http://iloveubuntu.net/pictures_me/leadwerks%20running%20on%20ubuntu.jpg)
As features, Leadwerks comes with fast-iterations nature (via agile asset import, build of levels and code structuring), multiple capabilities expressed under a singular roof (not requiring additional tools), as well as being erected on top of today's standards (C++ and Lua).
--------------------------------------------------------------------------------
via: http://iloveubuntu.net/game-editor-leadwerks-31-demoed-running-ubuntu-native-look-feel
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://www.leadwerks.com/
[2]:http://www.leadwerks.com/werkspace/page/gallery/_/leadwerks-31-editor-on-ubuntu-r251

View File

@ -1,44 +0,0 @@
Heres How To Enable DVD Playback In Ubuntu 13.10
================================================================================
If you find yourself struggling to play DVDs in Ubuntu 13.10 after installing, heres the reason why. You see, Ubuntu is always shipped with some limitations when it comes to playing DVDs and other media. For legal reasons, Canonical, the parent company of Ubuntu leaves out these packages and programs that are required to play DVDs and most media in Ubuntu.
I am not going to tell you what the reasons are, but heres how to get these packages in Ubuntu so you can play and watch commercial DVD as well as other encrypted media.
There are many options available to you. You could install free versions of these packages or get some paid versions if you want to help those behind the efforts of making Ubuntu media friendly.
Another method thats no longer available was to use Medibuntu repositories to install these packages which will allow you play DVDs. Now, Medibuntu has [stopped support][1] for Ubuntu 12.10 and up.
So, to play DVDs again in Ubuntu, follow the steps below.
[Purchase Fluendo DVD Player][2] this program is designed to help Ubuntu users play commercial DVDs. It supports full DVD playback, full screen and support for subtitles.
If you dont want to buy software that allows you to play DVDs, install these free tools.
Press **Ctrl Alt T** on your keyboard to open the terminal. When it opens, run the commands below.
sudo apt-get install ubuntu-restricted-extras
Next, run the commands below.
sudo apt-get install libavformat-extra-53 libavcodec-extra-53 libdvdread4
Finally, run the commands below and youre done.
sudo /usr/share/doc/libdvdread4/install-css.sh
You may have to restart your computer. After that, insert your DVD and try again. If all of the above steps fail, run the commands below to install VLC Player.
sudo apt-get install vlc
Enjoy!
--------------------------------------------------------------------------------
via: http://www.liberiangeek.net/2013/10/heres-enable-dvd-playback-ubuntu-13-10/
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://gauvain.pocentek.net/node/61
[2]:https://apps.ubuntu.com/cat/applications/fluendo-dvd/

View File

@ -1,65 +0,0 @@
How to Control Your Linux PC with an Android Device
================================================================================
**The following tutorial will teach all Linux users how to install SSH on their systems, in order to access their computers remotely from an Android tablet of smartphone.**
![](http://i1-news.softpedia-static.com/images/news2/How-to-Control-Your-Linux-PC-with-an-Android-Device-396004-2.jpg)
These days we all have a tablet or phablet device, and we often find ourselves later at night watching a movie or TV show, listening to music, or reading a good book. You can call this article a tutorial for the lazy, for people who are too tired at night to start some process(es) on their computer, move, delete, copy or rename some files, or even to shutdown their PC.
Yes, there are all sorts of remote desktop solutions out there, but many costs a fortune or are badly implemented and don't work as expected, forcing you to go to the PC after all and do the stuff you want to do.
For this tutorial we will use a simple, secure and effective protocol called SSH (Secure Shell), which can be easily installed from your default software repositories (openssh in Arch Linux, or openssh-server in Ubuntu).
### Configuring the SSH server ###
After installation, you will need to do basic configuration for the SSH server. For this, you need to edit the /etc/ssh/sshd_config file with a text editor.
1. Add the following line (where yourusername will be replaced with your actual username on your Linux box) at the end of the file:
AllowUsers yourusername
2. Uncomment the "#PermitRootLogin yes" line and add "no" instead of "yes" making it look like this:
PermitRootLogin no
2. For security reasons, you need to modify the 22 port, which is used by default on SSH connections, to a higher port, such as 55441 in our example below (but don't use 55441, be original, find another five or four digit number). To do this, uncomment and edit the "#Port 22" line to look like this:
Port 55441
### Starting the SSH server ###
On Ubuntu, the SSH service can be started using the following command:
sudo /etc/init.d/ssh start
...and every time you make modifications to the aforementioned configuration file, you can restart it using the following command:
sudo /etc/init.d/ssh restart
On Arch Linux you can start the SSH service using the following command:
sudo systemctl start sshd
### Configuring the SSH client on your Android device ###
One of the best SSH clients for Android appears to be JuiceSSH, which is free, but those who find it poor in functionality, can pay a small amount of money for more advanced features, such as Amazon AWS/EC2 integration, team collaboration, and much more.
Once the software is installed, open it and you will be asked to add an encryption password, which will keep your connections safe, encrypted with AES-256 so no one can access them in case your device is stolen.
![](http://i1-news.softpedia-static.com/images/extra/LINUX/large/sshlinuxandroid-large_001.jpg)
Now, add a new connection by choosing a name, the IP address of your computer, the port set above, and an identity, which needs to be created...
![](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)
...and here's my Arch Linux box, as viewed from the JuiceSSH client on my Android tablet. Do not hesitate to comment below if you run into problems during this tutorial.
--------------------------------------------------------------------------------
via: http://news.softpedia.com/news/How-to-Control-Your-Linux-PC-with-an-Android-Device-396004.shtml
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -0,0 +1,95 @@
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

View File

@ -0,0 +1,39 @@
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/) 荣誉推出

View File

@ -0,0 +1,56 @@
**【晨光】翻译中**
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/

View File

@ -1,33 +0,0 @@
How to convert DOCX, DOC, RTF, ODT to PDF with LibreOffice
================================================================================
Books, documents, tutorials, how-tos, etc, are spread all over the web, as well as in schools, work places, governments, etc, documents being encapsulated in numerous file formats.
Sometimes, there are cases requiring certain file conversions, like for example, converting an x file to PDF, in order to satisfy user-specific needs, action easily performed via [LibreOffice][1].
Essentially, via LibreOffice **Writer**, the user is able to hassle-free convert books, documents, etc, to PDF, Writer permitting an easy conversion from every file open-able in Writer to PDF.
For example, converting a DOC file to PDF is as simple as:
- open the DOC file with LibreOffice by `right-clicking on it-->Open With LibreOffice Writer`
![](http://iloveubuntu.net/pictures_me/libreoffice%20convert%20pdf%20ubuntu%2013.10.png)
- navigate to `LibreOffice-->File-->Export` as PDF, action that summons a `PDF Options` dialog where (on-demand) the user can in-depth tweak the fields (dialog featuring a sane set of recommended default options)
![](http://iloveubuntu.net/pictures_me/libreoffice%20export%20as%20pdf%2013.10.png)
hit the `Export` button, action that converts the DOC file to PDF and saves the newly-created PDF to a specified location
The **result**: next to the DOC file, there is now a PDF file (the original DOC document is retained).
The presented method can be successfully applied to RTF, DOCX, ODT, etc, file formats.
--------------------------------------------------------------------------------
via: http://iloveubuntu.net/how-convert-docx-doc-rtf-odt-pdf-libreoffice
译者:[译者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/

View File

@ -0,0 +1,100 @@
我知道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/

View File

@ -1,36 +0,0 @@
How to observe system components' usage in Ubuntu 13.10 via System Load Indicator
================================================================================
[System Load Indicator][1] is a lightweight yet powerful and handy manner of displaying the user's usage of system components on the easiness of the Unity panel.
Basically, System Load Indicator is an appindicator located on the Unity panel that exposes graphs for relevant computer components, such as **CPU**, **RAM**, swap, harddisk, network traffic, etc, permitting a hassle-free observation of the usage of the mentioned components in real time.
System Load Indicator does not require additional efforts or configuration, directly,--after its launch--, presenting the graphs on the Unity panel.
Installing and launching `System Load Indicator` (via the Dash by typing system load indicator in the search area), pushes a single block on the Unity panel, block housing constantly-updated graphs of CPU, component monitored and displayed accordingly by default.
Yet, clicking on `System Load Indicator appindicator-->Preferences` summons a window from where other components can be 1-click away enabled; meaning, (for example) checking `Memory` and `Harddisk`, adds two new blocks on the Unity panel, thus there are now three components monitored by System Load Indicator: CPU, RAM and harddisk.
![](http://iloveubuntu.net/pictures_me/system%20load%20indicator%20ubuntu%2013.10%20usc%20main.png)
Under Colors, the user is able to select custom colors for the graphs-enabled blocks, meaning, changing the blue and dark colors to green and orange, renders the CPU's block with green and orange.
![](http://iloveubuntu.net/pictures_me/system%20load%20indicator%20ubuntu%2013.10%20config%201.png)
Moreover, System Load Indicator pairs its visual-based monitoring with accurate text-based values, clicking on System Load Indicator appindicator, opens its menu where the user is to digest the accurate text-based values of monitored components, values updated in real time.
![](http://iloveubuntu.net/pictures_me/system%20load%20indicator%20ubuntu%2013.10%20usc.png)
Recently, Ubuntu 13.10 was released, version containing System Load Indicator in its Ubuntu Software Center, permitting to the user to easily install the versatile tool.
System Load Indicator 0.3 is [available][2] via Ubuntu 13.10's Ubuntu Software Center (Ubuntu 13.04 and Ubuntu 14.04, too).
--------------------------------------------------------------------------------
via: http://iloveubuntu.net/how-observe-system-components-usage-ubuntu-1310-system-load-indicator
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:https://launchpad.net/indicator-multiload
[2]:apt://indicator-multiload

View File

@ -1,3 +1,5 @@
翻译中 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.
@ -119,4 +121,4 @@ via: http://xmodulo.com/2013/10/set-web-based-network-traffic-monitoring-linux.h
[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/
[10]:http://www.flickr.com/photos/xmodulo/10486995114/

View File

@ -1,116 +0,0 @@
疯狂站坑
Install Ubuntu 13.10 Server Step by Step
================================================================================
Yesterday was a big day for Canonical and Ubuntu fans. Yes, After 6 months long effective development, Ubuntu 13.10 Desktop & Server, Lubuntu 13.10, Kubuntu 13.10 was finally made available to download.
You might want to check out our existing guides:
- >>> [pUbuntu 13.10 has been released | Installation instructions with screenshots][1]
- >>> [How to upgrade from Ubuntu 13.04 Raring to Ubuntu 13.10 Saucy Salamander][2]
- >>> [Top things to do after installing Ubuntu 13.10 Saucy Salamander][3](注:这个文章我们翻译过,可以把链接改成我们发布的地址,发布的时候删除包括括号在内的这些文字)
In the above awesome series, we want to add one more guide about **Ubuntu 13.10 server installation**. Here you go.
Download the latest version of **[Ubuntu 13.10 server edition here][4]**. Boot your server with latest Ubuntu 13.10 server ISO. You will see the following like screen.
Select your desired language.
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/10/Server1.png)
Click Install Ubuntu Server.
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/10/Server2.png)
Select Installation language.
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/10/Server3.png)
Select your Country.
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/10/Server4.png)
Configure locale settings.
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/10/Server5.png)
Detect keyboard layout.
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/10/Server6.png)
Select the keyboard layout.
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/10/Server7.png)
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/10/Server8.png)
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/10/Server9.png)
Enter your server hostname.
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/10/Server10.png)
Enter the username.
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/10/Server11.png)
Choose user password.
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/10/Server12.png)
If you want to encrypt the user home directory, select Yes, else select No.
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/10/Server13.png)
Select the partitioning method.
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/10/Server14.png)
Now installation will begin.
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/10/Server15.png)
If you have any proxy server on your network, enter the proxy server IP address.
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/10/Server16.png)
Select Install security updates automatically and press enter.
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/10/Server17.png)
Choose the software to install.
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/10/Server18.png)
Click Yes to install Grub boot loader.
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/10/Server20.png)
Installation is completed now. Select Continue to reboot the server.
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/10/Server21.png)
Login to Ubuntu server.
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/10/Server22.png)
Enter the username and password to login.
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/10/Server23.png)
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/10/Server24.png)
Thats it. Your Ubuntu 13.10 server is up and running now.
--------------------------------------------------------------------------------
via: http://www.unixmen.com/install-ubuntu-server-13-10-step-step/
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://www.unixmen.com/ubuntu-13-10-saucy-salamander-released-screenshots/
[2]:http://www.unixmen.com/upgrade-ubuntu-13-04-raring-ubuntu-13-10-saucy-salamander/
[3]:http://www.unixmen.com/top-things-installing-ubuntu-13-10/
[4]:http://releases.ubuntu.com/saucy/

View File

@ -0,0 +1,447 @@
Package Management Using YUM In Red Hat Linux
================================================================================
![](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 thats what I will demonstrate in this article.
Yum installs the package dependencies automatically, for example yum install httpd will install https apache server and its 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.
The yum utility fetches the package information from a hosted repository (usually by the OS vendor). A repository is basically a collection of rpms 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.
### Search package from repository ###
# yum search httpd
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
httpd-devel.x86_64 : Development interfaces for the Apache HTTP server
httpd-manual.noarch : Documentation for the Apache HTTP server
httpd-tools.x86_64 : Tools for use with the Apache HTTP Server
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
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 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 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
Dependencies Resolved
=====================================================================
Package Arch Version Repository Size
=====================================================================
Installing:
php x86_64 5.3.3-23.el6_4 rhui-REGION-rhel-server-releases 1.1 M
php-gd x86_64 5.3.3-23.el6_4 rhui-REGION-rhel-server-releases 106 k
php-pdo x86_64 5.3.3-23.el6_4 rhui-REGION-rhel-server-releases 75 k
php-pear noarch 1:1.9.4-4.el6 rhui-REGION-rhel-server-releases 393 k
php-xml x86_64 5.3.3-23.el6_4 rhui-REGION-rhel-server-releases 103 k
Installing for dependencies:
libXpm x86_64 3.5.10-2.el6 rhui-REGION-rhel-server-releases 51 k
php-cli x86_64 5.3.3-23.el6_4 rhui-REGION-rhel-server-releases 2.2 M
php-common x86_64 5.3.3-23.el6_4 rhui-REGION-rhel-server-releases 524 k
Transaction Summary
========================================================================
Install 8 Package(s)
Total download size: 4.5 M
Installed size: 16 M
Is this ok [y/N]: y
Downloading Packages:
(1/8): libXpm-3.5.10-2.el6.x86_64.rpm | 51 kB 00:00
(2/8): php-5.3.3-23.el6_4.x86_64.rpm | 1.1 MB 00:00
(3/8): php-cli-5.3.3-23.el6_4.x86_64.rpm | 2.2 MB 00:00
(4/8): php-common-5.3.3-23.el6_4.x86_64.rpm | 524 kB 00:00
(5/8): php-gd-5.3.3-23.el6_4.x86_64.rpm | 106 kB 00:00
(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
Transaction Test Succeeded
Running Transaction
Installing : php-common-5.3.3-23.el6_4.x86_64 1/8
Installing : php-cli-5.3.3-23.el6_4.x86_64 2/8
Installing : libXpm-3.5.10-2.el6.x86_64 3/8
Installing : php-gd-5.3.3-23.el6_4.x86_64 4/8
Installing : 1:php-pear-1.9.4-4.el6.noarch 5/8
Installing : php-5.3.3-23.el6_4.x86_64 6/8
Installing : php-xml-5.3.3-23.el6_4.x86_64 7/8
Installing : php-pdo-5.3.3-23.el6_4.x86_64 8/8
Verifying : 1:php-pear-1.9.4-4.el6.noarch 1/8
Verifying : php-xml-5.3.3-23.el6_4.x86_64 2/8
Verifying : php-common-5.3.3-23.el6_4.x86_64 3/8
Verifying : libXpm-3.5.10-2.el6.x86_64 4/8
Verifying : php-cli-5.3.3-23.el6_4.x86_64 5/8
Verifying : php-5.3.3-23.el6_4.x86_64 6/8
Verifying : php-pdo-5.3.3-23.el6_4.x86_64 7/8
Verifying : php-gd-5.3.3-23.el6_4.x86_64 8/8
Installed:
php.x86_64 0:5.3.3-23.el6_4 php-gd.x86_64 0:5.3.3-23.el6_4 php-pdo.x86_64 0:5.3.3-23.el6_4
php-pear.noarch 1:1.9.4-4.el6 php-xml.x86_64 0:5.3.3-23.el6_4
Dependency Installed:
libXpm.x86_64 0:3.5.10-2.el6 php-cli.x86_64 0:5.3.3-23.el6_4 php-common.x86_64 0:5.3.3-23.el6_4
Complete!
### Install package using YUM ###
A package can be installed using yum install command as below:
# 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
Dependencies Resolved
=============================================================================
Package Arch Version Repository Size
=============================================================================
Installing:
httpd x86_64 2.2.15-29.el6_4 rhui-REGION-rhel-server-releases 821 k
Installing for dependencies:
apr x86_64 1.3.9-5.el6_2 rhui-REGION-rhel-server-releases 123 k
apr-util x86_64 1.3.9-3.el6_0.1 rhui-REGION-rhel-server-releases 87 k
apr-util-ldap x86_64 1.3.9-3.el6_0.1 rhui-REGION-rhel-server-releases 15 k
httpd-tools x86_64 2.2.15-29.el6_4 rhui-REGION-rhel-server-releases 73 k
Transaction Summary
==============================================================================
Install 5 Package(s)
Total download size: 1.1 M
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.
If you want yum not to prompt for the [y/N] option. Use **yum install -y httpd**
**Update an existing package using yum update command.**
# 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 yums repository.
**Update all packages on the server.**
# 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.
### Download RPM without installing ###
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 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
Dependencies Resolved
===========================================================================
Package Arch Version Repository Size
===========================================================================
Installing:
yum-plugin-downloadonly noarch 1.1.30-14.el6 rhui-REGION-rhel-server-releases 20 k
Transaction Summary
===========================================================================
Install 1 Package(s)
Total download size: 20 k
Installed size: 21 k
Is this ok [y/N]: y
Downloading Packages:
yum-plugin-downloadonly-1.1.30-14.el6.noarch.rpm | 20 kB 00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : yum-plugin-downloadonly-1.1.30-14.el6.noarch 1/1
Verifying : yum-plugin-downloadonly-1.1.30-14.el6.noarch 1/1
Installed:
yum-plugin-downloadonly.noarch 0:1.1.30-14.el6
Complete!
Now you can just download a package from repository without installing it by using this command:
# yum install httpd-devel downloadonly
By default packages are downloaded to **/var/cache/yum/<arch\>** directory but you can download them a specified location by adding another option to yum command
# yum install httpd-devel downloadonly downloaddir=/opt
If you have a rpm of a package but you dont 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. Lets install the httpd-devel-2.2.15-29.el6_4.x86_64 RPM that we just downloaded.
# 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
Dependencies Resolved
=============================================================================
Package Arch Version Repository Size
=============================================================================
Installing:
httpd-devel x86_64 2.2.15-29.el6_4 /httpd-devel-2.2.15-29.el6_4.x86_64 526 k
Installing for dependencies:
apr-devel x86_64 1.3.9-5.el6_2 rhui-REGION-rhel-server-releases 176 k
apr-util-devel x86_64 1.3.9-3.el6_0.1 rhui-REGION-rhel-server-releases 69 k
cyrus-sasl-devel x86_64 2.1.23-13.el6_3.1 rhui-REGION-rhel-server-releases 302 k
db4-cxx x86_64 4.7.25-18.el6_4 rhui-REGION-rhel-server-releases 588 k
db4-devel x86_64 4.7.25-18.el6_4 rhui-REGION-rhel-server-releases 6.6 M
expat-devel x86_64 2.0.1-11.el6_2 rhui-REGION-rhel-server-releases 120 k
openldap-devel x86_64 2.4.23-32.el6_4.1 rhui-REGION-rhel-server-releases 1.1 M
Updating for dependencies:
db4 x86_64 4.7.25-18.el6_4 rhui-REGION-rhel-server-releases 563 k
db4-utils x86_64 4.7.25-18.el6_4 rhui-REGION-rhel-server-releases 130 k
Transaction Summary
=======================================================================
Install 8 Package(s)
Upgrade 2 Package(s)
Total size: 10 M
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Updating : db4-4.7.25-18.el6_4.x86_64 1/12
Installing : apr-devel-1.3.9-5.el6_2.x86_64 2/12
Installing : expat-devel-2.0.1-11.el6_2.x86_64 3/12
Installing : db4-cxx-4.7.25-18.el6_4.x86_64 4/12
Installing : db4-devel-4.7.25-18.el6_4.x86_64 5/12
Installing : cyrus-sasl-devel-2.1.23-13.el6_3.1.x86_64 6/12
Installing : openldap-devel-2.4.23-32.el6_4.1.x86_64 7/12
Installing : apr-util-devel-1.3.9-3.el6_0.1.x86_64 8/12
Installing : httpd-devel-2.2.15-29.el6_4.x86_64 9/12
Updating : db4-utils-4.7.25-18.el6_4.x86_64 10/12
Cleanup : db4-utils-4.7.25-17.el6.x86_64 11/12
Cleanup : db4-4.7.25-17.el6.x86_64 12/12
Verifying : apr-devel-1.3.9-5.el6_2.x86_64 1/12
Verifying : cyrus-sasl-devel-2.1.23-13.el6_3.1.x86_64 2/12
Verifying : apr-util-devel-1.3.9-3.el6_0.1.x86_64 3/12
Verifying : db4-cxx-4.7.25-18.el6_4.x86_64 4/12
Verifying : httpd-devel-2.2.15-29.el6_4.x86_64 5/12
Verifying : openldap-devel-2.4.23-32.el6_4.1.x86_64 6/12
Verifying : expat-devel-2.0.1-11.el6_2.x86_64 7/12
Verifying : db4-devel-4.7.25-18.el6_4.x86_64 8/12
Verifying : db4-4.7.25-18.el6_4.x86_64 9/12
Verifying : db4-utils-4.7.25-18.el6_4.x86_64 10/12
Verifying : db4-4.7.25-17.el6.x86_64 11/12
Verifying : db4-utils-4.7.25-17.el6.x86_64 12/12
Installed:
httpd-devel.x86_64 0:2.2.15-29.el6_4
Dependency Installed:
apr-devel.x86_64 0:1.3.9-5.el6_2 apr-util-devel.x86_64 0:1.3.9-3.el6_0.1
cyrus-sasl-devel.x86_64 0:2.1.23-13.el6_3.1 db4-cxx.x86_64 0:4.7.25-18.el6_4
db4-devel.x86_64 0:4.7.25-18.el6_4 expat-devel.x86_64 0:2.0.1-11.el6_2
openldap-devel.x86_64 0:2.4.23-32.el6_4.1
Dependency Updated:
db4.x86_64 0:4.7.25-18.el6_4 db4-utils.x86_64 0:4.7.25-18.el6_4
Complete!
### Removing packages using yum. ###
yum remove Remove a package.
# 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
Dependencies Resolved
========================================================================
Package Arch Version Repository Size
========================================================================
Removing:
httpd x86_64 2.2.15-29.el6_4 @rhui-REGION-rhel-server-releases 2.9 M
Removing for dependencies:
httpd-devel x86_64 2.2.15-29.el6_4 @/httpd-devel-2.2.15-29.el6_4.x86_64 526 k
php x86_64 5.3.3-23.el6_4 @rhui-REGION-rhel-server-releases 3.5 M
Transaction Summary
==========================================================================
Remove 3 Package(s)
Installed size: 7.0 M
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Erasing : httpd-devel-2.2.15-29.el6_4.x86_64 1/3
Erasing : php-5.3.3-23.el6_4.x86_64 2/3
Erasing : httpd-2.2.15-29.el6_4.x86_64 3/3
Verifying : httpd-2.2.15-29.el6_4.x86_64 1/3
Verifying : httpd-devel-2.2.15-29.el6_4.x86_64 2/3
Verifying : php-5.3.3-23.el6_4.x86_64 3/3
Removed:
httpd.x86_64 0:2.2.15-29.el6_4
Dependency Removed:
httpd-devel.x86_64 0:2.2.15-29.el6_4 php.x86_64 0:5.3.3-23.el6_4
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
Loaded plugins: amazon-id, downloadonly, rhui-lb, security
Installed Packages
ConsoleKit.x86_64 0.4.1-3.el6 @koji-override-0/$releasever
ConsoleKit-libs.x86_64 0.4.1-3.el6 @koji-override-0/$releasever
MAKEDEV.x86_64 3.24-6.el6 @koji-override-0/$releasever
PyYAML.x86_64 3.10-3.1.el6 @koji-override-0/$releasever
Red_Hat_Enterprise_Linux-Release_Notes-6-en-US.noarch
4-2.el6 @koji-override-0/$releasever
SDL.x86_64 1.2.14-3.el6 @koji-override-0/$releasever
abrt.x86_64 2.0.8-15.el6 @koji-override-0/$releasever
abrt-addon-ccpp.x86_64 2.0.8-15.el6 @koji-override-0/$releasever
abrt-addon-kerneloops.x86_64 2.0.8-15.el6 @koji-override-0/$releasever
abrt-addon-python.x86_64 2.0.8-15.el6 @koji-override-0/$releasever
abrt-cli.x86_64 2.0.8-15.el6 @koji-override-0/$releasever
abrt-libs.x86_64 2.0.8-15.el6 @koji-override-0/$releasever
abrt-tui.x86_64 2.0.8-15.el6 @koji-override-0/$releasever
acl.x86_64 2.2.49-6.el6 @koji-override-0/$releasever
acpid.x86_64 1.0.10-2.1.el6 @koji-override-0/$releasever
aic94xx-firmware.noarch 30-2.el6 @koji-override-0/$releasever
.
.
Output Truncated.
### List the available repository from which packages are being queried, installed and updated. ###
# 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
rhui-REGION-rhel-server-releases Red Hat Enterprise Linux Server 6 (RPMs) 10994
rhui-REGION-rhel-server-releases-optional Red Hat Enterprise Linux Server 6 Optional (RPMs) 6250
repolist: 17248
--------------------------------------------------------------------------------
via: http://linoxide.com/linux-command/package-management-yum-redhat-linux/
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -0,0 +1,39 @@
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/) 荣誉推出

View File

@ -1,35 +0,0 @@
Linux Top 3: RHEL 6.5, Debian 7.2 and EOL for Linux 3.0.x
================================================================================
**Linux 3.0.100 Released**
Though it might seem like Linux 3.0 was released just yesterday, the truth is that it was [released back in July of 2011][1].
Since then some 100 milestone update have been released fixing bugs and providing some security updates. The Linux 3.0.x kernel had been selected as a Long Term Support kernel, meaning that it is maintained for up to two years.
In August of this year, Linux kernel developer, Greg Kroah-Hartman [declared][2] that the 3.10 Linux kernel would be a longterm support release. That release now supersedes the longterm 3.0.x kernel
"Linux stable kernel 3.0.100 is now released, please move to 3.4.x or 3.10.x as this might be the last release of 3.0.x," Kroah-Hartman wrote on October 13th.
**Red Hat Enterprise Linux 6.5 Beta**
Barely a week after Red Hat released Red Hat Enterprise Linux 5.10, the Linux vendor is now out with a beta release for its next generation platform.
RHEL 6.5 beta provides support for the precision timing protocol, as an improvement of the traditional network timing protocol (NTP). Precision Time Protocol (PTP) is important to users who require sub-microsecond time stamping of transactions.
**Debian 7.2**
Debian is also out with an update. The Debian 7.2 update is the second since Debian 7.x aka Wheezy was released earlier this year.
"This update mainly adds corrections for security problems to the stable release, along with a few adjustments for serious problems," The Debian project [stated][3]. "Security advisories were already published separately and are referenced where available. Please note that this update does not constitute a new version of Debian 7 but only updates some of the packages included."
--------------------------------------------------------------------------------
via: http://www.linuxplanet.com/news/linux-top-3-rhel-6-5-debian-7-2-and-eol-for-linux-3.html
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
[1]:http://www.datamation.com/open-source/linux-3.0-debuts-with-xen-integration.html
[2]:http://www.eweek.com/developer/linux-3.10-goes-long-term-why-it-matters-for-the-enterprise-consumers/
[3]:http://www.debian.org/News/2013/20131012

View File

@ -1,53 +0,0 @@
Mark Shuttleworth Brands Mir Opponents “The Open Source Tea Party”
================================================================================
**The free software community has been rocked by recent comments made by Ubuntu founder Mark Shuttleworth.**
> At least we know now who belongs to the Open Source Tea Party
In a blog post announcing the codename of Ubuntu 14.04 LTS, the multi-millionaire space tourist describes opponents of Ubuntus new display server Mir as “The Open Source Tea Party”.
These “outraged individuals” are, he argues, attacking the project “on purely political grounds”, explaining:
> “When a project says “we will not accept a patch to enable support for Mir” they are saying you should not have the option. When thats typically a project which goes to great lengths to give its users every option, again, I suggest there is a political motive.”
His accusations havent gone over well in the wider free software community.
### “Debate” ###
In one of the more level-headed responses to the remarks, prominent KDE developer Aaron Seigo [has invited Mark to join a live, public debate][1] on “*the merits of Mir, Wayland and their implications vis-à-vis Free software.*”
A public airing would, Seigo feels, help show that the arguments against Mir are technically, as opposed to politically, motivated.
Ubuntu Community Manager Jono Bacon, in response to Seigos offer, has described the fallout from Shuttleworths comments “yet another pointless Open Source bickering match”, suggesting that parties on both sides of the argument should ”*stop biting at each others ankles about their respective projects.*”
### “Tensions” ###
![](http://www.omgubuntu.co.uk/wp-content/uploads/2013/10/wayland.png)
Tensions between Mir proponents and those who see Wayland as the afforded successor to X have been building ever since Canonical announced plans to roll with their own solution earlier this year.
The decision came as a surprise to many as, in 2010, Mark Shuttleworth had been explicit about the need to work with Wayland developers rather than against them. He wrote at the time:
> “We evaluated the cost of building a new display manager, informed by the lessons learned in Wayland. We came to the conclusion that any such effort would only create a hard split in the world which wasnt worth the cost of having done it. There are issues with Wayland, but they seem to be solvable, wed rather be part of solving them than chasing a better alternative.”
This sudden u-turn was not helped by Canonical allegedly making inaccurate and erroneous assumptions about Wayland in initial statements explaining their decision to not use it. Canonical later retracted and amended their claims.
> The grievances felt by parties on both sides of the divide show no signs of abating.
Shuttleworth has also risked raising further ire by describing systemd a modern replacement for the init daemon - as “invasive” and “hardly justified”.
Canonicals own init replacement, *Upstart*, is most notably used in Ubuntu and Ubuntu-based derivatives, as well as in Chrome OS. Systemd, created some four years after upstart, is used by default in a growing number of Linux distributions, including *Arch, Fedora, Mageia, and openSUSE*.
While the grievances felt by parties on both sides of the divide show no signs of abating, the technologies they surround continue to progress.
Mir, which includes a compatibility layer for running legacy xserver applications and input devices, was held back from shipping as default in Ubuntu 13.10 due to technical difficulties, though recent benchmarks are showing only negligible performance hits compared to the traditional X server.
--------------------------------------------------------------------------------
via: http://www.omgubuntu.co.uk/2013/10/mark-shuttleworth-brands-mir-opponents-open-source-tea-party
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:https://plus.google.com/107555540696571114069/posts/76Nd9RSTZWp

View File

@ -1,27 +0,0 @@
Mark Shuttleworth to speak at GMIC about "the future of the open source mobile platform movement" and about "Open Mobile Platforms" at Mobile Monday (October 22nd and October 28th 2013)
================================================================================
Solid desktop, cutting-edge cloud technologies and the recently-released Ubuntu for phones are among the software pushed forward by Canonical, professional company setting itself as a serious player at a planetary scale.
[Canonical][1] has been characterized by determination and constant participation to important public events, latter rooting Canonical into the now's IT demands, requirements and state, as well as adding a layer of up-to-date to Canonical's expressing Ubuntu and related software.
**GMIC** and **Mobile Monday** are important IT events, presenting themselves as conferences and expos, where relevant computing persons, companies and experts are gathered into discussions, keynotes and topics about recent achievements in technology, cutting-edge software and the latest trends in the IT world.
Canonical will attend both GMIC and Mobile Monday, being represented by solid persons, including Mark Shuttleworth.
**Mark Shuttleworth** will talk about "**the future of the open source mobile platform movement**" [at GMIC][2] on October 22nd 11:15 AM, exciting presentation followed by Mark Shuttleworth actively joining a panel of experts in discussing the future of "[Open Mobile Platforms][3]", latter event to happen on October 28th 2013.
![](http://iloveubuntu.net/pictures_me/Mark%20Shuttleworth%20gmic%20mobile%20monday.png)
Moreover, a Canonical team will demo the latest version of Ubuntu for phones, **Canonical** that is to **co-host** Mobile Monday, taking serious responsibilities in the happening of the mobile-oriented event.
--------------------------------------------------------------------------------
via: http://iloveubuntu.net/mark-shuttleworth-speak-gmic-about-future-open-source-mobile-platform-movement-and-about-open-mobile
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://www.canonical.com/
[2]:http://sv.thegmic.com/thought-leader-track/
[3]:http://www.meetup.com/Mobile-Monday-Silicon-Valley/events/115663362/

View File

@ -1,29 +0,0 @@
Multi-Master Database Replication Software SymmetricDS 3.5.10 Released
================================================================================
**SymmetricDS, an open source software for multi-master database replication, filtered synchronization, or transformation across the network in a heterogeneous environment, is now at version 3.5.10.**
![](http://i1-news.softpedia-static.com/images/news2/Multi-Master-Database-Replication-Software-SymmetricDS-3-5-10-Released-393078-2.png)
SymmetricDS 3.5.10 supports multiple subscribers with one-direction or bi-directional asynchronous data replication and uses technologies to replicate tables between relational databases.
### Highlights of SymmetricDS 3.5.10: ###
• sym_pkg is hard coded in the Oracle dialect, but the prefix parameter now works on Oracle;
• The memory footprint usage is now improved when big lobs are in flight;
• Statements are no longer being prepared too often and the data loading performance on Firebird has been improved;
• The error message provided if a batch fails to transport because of an EOF error is now a lot more intuitive.
Check out the official [changelog][1] for more details about this release.
- [Download SymmetricDS 3.5.10 zip][2] [sources] [26.60 MB]
--------------------------------------------------------------------------------
via: http://news.softpedia.com/news/Multi-Master-Database-Replication-Software-SymmetricDS-3-5-10-Released-393078.shtml
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://www.symmetricds.org/issues/changelog_page.php
[2]:http://sourceforge.net/projects/symmetricds/files/symmetricds/symmetricds-3.5/symmetric-3.5.10-server.zip/download

View File

@ -1,44 +0,0 @@
翻译中 by小眼儿
On Security Backdoors
=====================
I [wrote][1] Monday about revelations that the NSA might have been inserting backdoors into security standards. Today I want to talk through two cases where the NSA has been accused of backdooring standards, and use these cases to differentiate between two types of backdoors.
The first case concerns a NIST standard, [SP 800-90A][2], which specifies a type of PseudoRandom Generator (PRG). A PRG is a computation that takes a small number of random/unpredictable bits and “stretches” them to get a larger number of unpredictable bits. PRGs are essential to cryptography, serving as the source for most of the secret keys that are used. If you can “break” somebodys PRG, you can predict which secret keys they will use, thereby allowing you to defeat their crypto.
The standard gave a choice of several core algorithms to choose from. One of them uses a mathematical construct called an Elliptic Curve (EC) which I wont try to explain in this space. This algorithm uses two “public parameters” called P and Q, which are points on the EC. P and Q are public, with specific values written into the standard.
Cryptographers believed that if you picked P and Q randomly, the PRG would be secure. But in 2006 two private-sector cryptographers figured out that there is a way to pick P and Q so they have a special relationship to each other. An “outsider” wouldnt be able to tell that the special relationship existed, but if you knew the “secret key” that described the relationship between P and Q, then you could easily defeat the security of the PRG.
At this point, several facts become suddenly interesting. First, NSA people seemed very intent on including this specific algorithm in the standard despite its slow performance. Second, NSA was suggesting specific values of P and Q. Third, NSA was not explaining how those particular P and Q values had been chosen. Interesting, no?
All of this could have been addressed by having some kind of public procedure by which new, random P and Q values would be chosen. But that didnt happen.
Yesterday NIST [re-opened][3] SP 800-90A for public comment.
The second example was explained by John Gilmore. John described his observations from the IPSEC standards process. IPSEC was meant as a foundational security technology, providing crypto for confidentiality and integrity of individual IP packets on the Internet. A successful and widely deployed IPSEC would have been a game-changer for Internet security, putting lots of traffic under cryptographic protection.
John says that NSA people and their allies worked consistently to make the standard less secure, more complicated, less efficient, and harder to implement securely. He didnt see a smoking-gun attempt to introduce a backdoor, but what he describes is a consistent effort to undermine the effectiveness of the standard. And indeed, IPSEC has not had anything like the impact one might have expected.
These examples shows us two different kinds of backdoors. In the first PRG case, the NSA was accused of trying to create a backdoor that only it could use, because only it knew the secret key relating P to Q. In the second IPSEC case, the accusation was that the NSA was weakening users security against all attackers—the NSA would have easier access to your data, but so would all sorts of other people.
To be sure, even a private backdoor might not stay private. If there is a magic secret key that lets the NSA spy on everyone, that key might be misused or it might leak. So the line between an NSA-only backdoor and an open backdoor is always a bit blurry.
Still, it seems to me that the two types of backdoors call for different policy debates. Its one thing to secretly give the NSA easier access to everyones data. Its another thing to give everyone easier access. The latter is worse.
We need to look as well at how a backdoor might be created. In the PRG example, the backdoor would have required the NSA to slip a subtle cryptographic weakness past the crypto experts working on a standard. In the IPSEC example, creating the weakness would seem to require coordinated public activity in the standards body over time, and the individual steps would surely be noticed even if nobody spotted a pattern.
But one has to wonder whether these examples really were NSA attempts to undermine security, or whether theyre just false alarms. We cant be sure. As long as the NSA has a license to undermine security standards, well have to be suspicious of any standard in which they participate.
---
via: https://freedom-to-tinker.com/blog/felten/on-security-backdoors/
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
[1]:https://freedom-to-tinker.com/blog/felten/nsa-apparently-undermining-standards-security-confidence/
[2]:http://csrc.nist.gov/publications/drafts/800-90/draft_sp800_90a_rev1.pdf
[3]:http://www.nist.gov/director/cybersecuritystatement-091013.cfm

View File

@ -1,30 +0,0 @@
Open Virtualization Alliance joins the Linux Foundation
================================================================================
> But the developer community for OVA's Kernel-based Virtual Machine hypervisor project will remain separate and independent
IDG News Service - The Open Virtualization Alliance has joined the Linux Foundation as a collaborative project to deepen its ties with the Linux community.
The organizations announced their collaboration during the LinuxCon Europe conference in Edinburgh on Monday.
The Open Virtualization Alliance (OVA) has more than 250 member companies, including IBM, Red Hat, Intel and NetApp. It aims to raise awareness and drive adoption of the Kernel-based Virtual Machine (KVM) hypervisor, a full open source virtualization platform for Linux on x86 hardware that allows users to run multiple virtual machines unmodified on Linux or Windows images. KVM can be 60% to 90% cheaper than other virtualization platforms, while offering the same core functionality, according to the Alliance.
By joining the Linux Foundation as a collaborative project, the OVA seeks to deepen its ties with the broader Linux community, said Chuck Dubuque, the board chair for Open Virtualization Alliance and director of product marketing Red Hat-s Virtualization Business Unit, in an email. Together, they will work on KVM marketing and awareness and the Linux Foundation will increase its investments in KVM by hosting events such as the KVM Forum that started in Edinburgh on Monday, he added.
OVA joined the Foundation because of its track record of engaging the user and commercial communities associated with open source projects and its strong ties to the development community, making it the logical choice for a collaborative partner, said Dubuque. The KVM project itself however remains a separate and independent developer community, Dubuque added.
The Linux Foundation is happy to provide guidance to organizations that want to reduce operating costs, maximize promotional reach and increase participation in addition to its other activities, the Foundation said in a news release.
Advances in virtualization technologies are key to the growth of Linux in the enterprise and cloud computing, the Foundation said. In addition to hosting OVA, the Linux Foundation also hosts the Xen Project, an open source hypervisor that was [donated][1]. A to the Linux Foundation by Citrix in April to get input from a wider, more diverse group of contributors.
Loek is Amsterdam Correspondent and covers online privacy, intellectual property, open-source and online payment issues for the IDG News Service. Follow him on Twitter at [@loekessers][2] or email tips and comments to loek_essers@idg.com
--------------------------------------------------------------------------------
via: http://www.computerworld.com/s/article/9243373/Open_Virtualization_Alliance_joins_the_Linux_Foundation?taxonomyId=122
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://www.pcworld.com/article/2034663/citrix-bequeaths-xen-to-the-linux-foundation.html
[2]:http://www.twitter.com/loekessers

View File

@ -1,97 +1,97 @@
+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 (its 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 its 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 theyve 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 Ive known a few phenomenal developers. Im 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. Youll 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 elses software gasping for air while bringing the rest of the system to its knees. Its downright infuriating. And this isnt 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. Theyve 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 NASAs 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.”
+
+Im 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 doesnt 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, its learning to recognize a problem before it occurs, which can only be done by knowing what causes it in the first place.
+
+Developers who dont 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 Ive seen in my career:
+
+- An assembly is deleted from a server each time its 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 its locking the file.
+- And on and on…
+
+### Long Term Life Planners ###
+
+This one was a little puzzling for the longest time, but I think Ive 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 ###
+
+Ive known smart developers who dont pay attention to detail. The result is misspelled database columns, uncommented code, projects that arent checked into source control, software thats not unit tested, unimplemented features, and so on. All of these can be easily dealt with if youre building a Google mash-up or a five page website. But in corporate development each of these screw-ups is a death knell.
+
+So Ill say it very loud, but I promise Ill 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 didnt 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, (Ive 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 youre interviewing a potential developer, determine if she has the four personality traits Ive listed above. Here are a few methods Ive found useful:
+
+- Ask if theyre 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 companys 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 youll 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
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 (its 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 its 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 theyve 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 Ive known a few phenomenal developers. Im 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. Youll 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 elses software gasping for air while bringing the rest of the system to its knees. Its downright infuriating. And this isnt 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. Theyve 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 NASAs 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.”
Im 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 doesnt 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, its learning to recognize a problem before it occurs, which can only be done by knowing what causes it in the first place.
Developers who dont 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 Ive seen in my career:
- An assembly is deleted from a server each time its 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 its locking the file.
- And on and on…
### Long Term Life Planners ###
This one was a little puzzling for the longest time, but I think Ive 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 ###
Ive known smart developers who dont pay attention to detail. The result is misspelled database columns, uncommented code, projects that arent checked into source control, software thats not unit tested, unimplemented features, and so on. All of these can be easily dealt with if youre building a Google mash-up or a five page website. But in corporate development each of these screw-ups is a death knell.
So Ill say it very loud, but I promise Ill 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 didnt 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, (Ive 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 youre interviewing a potential developer, determine if she has the four personality traits Ive listed above. Here are a few methods Ive found useful:
- Ask if theyre 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 companys 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 youll 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

View File

@ -0,0 +1,36 @@
[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

View File

@ -1,46 +0,0 @@
Translating by l3b2w1
Seven reasons why closed source is better than open source, or so it seems
================================================================================
![](http://opensource.com/sites/default/files/imagecache/image-full-size/images/business/BUSINESS_asusual_deadend.png)
It might seem strange coming from the founder of OpenLogic, a company focused on helping others succeed with open source, but the fact is that closed source is better than open source in certain situations.
With closed source…
**1. You never have to fix components when something goes wrong.**
With any software, things occasionally go wrong. When this happens with open source software, you, or an engineer who owes you a favor, may need to spend time debugging the problem. This entails reading through code, working with an open source community, or your open source support provider, and applying a fix. With closed source, on the other hand, once you determine that the problem lies in your vendor's code, you're all done! All you have to do is file a ticket and wait. Sure, you may have to wait a few months or years for the fix, and sometimes it never comes at all, but there's nothing you can do about that! Just kick back, relax, and hope for the best.
**2. You don't have to worry about contributing your changes back to a community.**
With open source, there's an expectation that if you fix a bug or make an improvement, you'll contribute your code back to the community that can help test and maintain it over time. With closed source, you never have to contribute anything to anybody. Of course, that's because you can't change the code as you don't have access to it, but you may create your own workarounds to problems you run into. Sure, you might have to keep working around the same issues version after version, but at least you never have to work with the community to make the solution better for others.
**3. You don't have to think about open source licensing terms and compliance issues.**
With open source, you have to comply with the license terms specified by the components you're using. It can take some time to understand the terms of an Apache Software License versus a General Public License (GPL), for example. Depending on which open source components you use and how you use them (e.g., distributing to third parties or using only for internal purposes), different license terms may apply (e.g., attributing the open source component in your documentation). Companies like OpenLogic make it easy to understand and comply with open source licensing terms, but with closed source, you don't have to worry about any of this! Your vendor's license agreement takes away all of your rights to the software and makes it nearly impossible to consider any usage not explicitly approved by your corporate attorneys, so you don't even have to think about it. Sure, you have to deal with license counting, surprise software compliance audits, terms that worsen over time, and nearly incomprehensible legalese, but at least you don't have to understand how you're using open source components.
**4. You don't have to choose among dozens of options for every component.**
Open source offers lots of solutions when considering a database, web server, application server, programming language, GUI framework, and the like. In practically every category, you can find robust offerings built in a variety of languages with different architectural approaches. It's also very common to find similar tools that are optimized for different use cases (e.g., performance versus scalability versus simplicity). To make sure a tool will work best for your particular use case, download it and give it a try. With closed source, you don't have to contend with so many options. You only have to explore two or three large vendors in each market. You can save time if the vendors don't offer free trials, or make it hard to get started by forcing you to pay for a trial or sign trial agreements up front.
**5. You don't have to look around for slideshows.**
It can take some time to find conference presentations, architectural diagrams, screenshots, and other documentation for any software, but with open source you might have to read wikis, forums, and email lists to get the information you need about a particular component. With closed source, you're never more than a phone call away from a nice PowerPoint presentation delivered right in the comfort of your office by professional salespeople in nice suits. Sure, you'll have to provide your contact information up front and the salespeople will never stop calling you, but at least you don't have to search the web for glossy slides with beautiful graphics.
**6. You don't have to look around for technical support.**
You can get open source support from a community, your own engineers, or professional open source support organizations. It can take some time to decide whether you want Service Level Agreement (SLA) support with guaranteed response times like you can get from OpenLogic, or if you feel comfortable posting issues to mailing lists or doing your own support. With closed source, you never have to worry about where you're going to get support. Sure, you might not ever get to speak to an actual engineer, but at least you always know who to call.
**7. You can just throw in the towel.**
With open source, there's always a way to get something fixed, patched, improved, enhanced, refactored, upgraded, or rewritten. There's no easy way to throw up your arms and walk away like there is with closed source. Sure, you can curse the community that developed the open source component causing you problems, but you can usually work around the issue, get help from the community or a support organization, or even fix the issue yourself. It's just not nearly as satisfying as cursing a commercial vendor and calling it a day.
So, there you have it. Seven good reasons why closed source is better than open source. Do you have others you'd like to share?
--------------------------------------------------------------------------------
via: http://opensource.com/business/13/10/seven-reasons-closed-better-than-open-source
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -1,35 +0,0 @@
System-information tool I-Nex 0.5.4 released with improvements
================================================================================
[I-Nex][1] is a free open-source handy system-information tool, gathering, categorizing and displaying relevant informations about one's computer into a clean, clear interface.
Essentially, I-Nex exposes a significant amount of details about system components, among which drives, kernel, RAM, network, USB, CPU, GPU, motherboard, audio, allowing the user to easily grasp informations about one's computer and operating system.
Launching I-Nex, presents its main window and several tabs, clicking on a tab, populates the window with related informations, clicking on another tab, repopulates the main view with according details; for example, clicking on the `CPU` tab, displays informations about one's CPU featuring name, frequency, family, mode, extensions, cache, etc, basically, a handy bundle of informations.
![](http://iloveubuntu.net/pictures_me/i-nex%20054%20cpu.png)
I-Nex has been updated to version **0.5.4**, continuing its road on adding new features, extended support and under-the-hood enhancements.
The new version enriches its tabs with new entries, as in the case of `GPU`; hitting the `GPU` tab, the user is to notice the new `Total Memory`, `Monitor name`, `Manufacturer`, `Serial number` entries, new details increasing the level of descriptions of system components.
![](http://iloveubuntu.net/pictures_me/i-nex%20054%20gpu.png)
Moreover, the 0.5.4 version comes with various fixes, further moving the handy system-information utility towards a more usable and useful application, app presenting itself as an Ubuntu alternative to globally-used proprietary system-information applications.
How do we **install** I-Nex 0.5.4?
Add the following **official** PPA (Ubuntu 10.04, Ubuntu 12.04, Ubuntu 12.10, Ubuntu 13.04, Ubuntu 13.10)
sudo add-apt-repository ppa:i-nex-development-team/stable && sudo add-apt-repository ppa:nemh/gambas3
sudo apt-get update
sudo apt-get install i-nex
--------------------------------------------------------------------------------
via: http://iloveubuntu.net/system-information-tool-i-nex-054-released-improvements
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:https://launchpad.net/i-nex

View File

@ -1,31 +0,0 @@
The Halloween Documents: Microsoft's Anti-Linux Strategy 15 Years Later
================================================================================
> It's been 15 years since leaked memos revealed Microsoft's anti-Linux and open source strategy. Here's how it failed.
![](http://thevarguy.com/site-files/thevarguy.com/files/imagecache/medium_img/uploads/2013/10/trickortreat2.jpg)
It's almost Halloween—which marks 15 years since Eric S. Raymond published the first leaked "[Halloween Documents][1]" documenting Microsoft's (MSFT) secret strategy to compete with Linux and open source. A lot has changed since then, when terms such as "fear, uncertainty and doubt" (FUD) first exploded into the lexicon. But how much remains the same? Do Microsoft and open source play nicely today?
The Halloween Documents, so-called because the first one leaked in October 1998, don't actually have much to do with Halloween itself—which I find sad, as an avid fan of the holiday. But for understanding the historical relationship between Microsoft and open source, the memos are vital.
They were the first to reveal the particularly nasty "tricks" Microsoft planned in its effort to contain the open source movement, and to prevent Linux in particular from cutting too deeply into its revenue. One key strategy for the company was implementing proprietary protocols to lock customers into Microsoft software. Another was touting Microsoft software as offering lower total cost of ownership (TCO) than Linux, even though the documents showed that Microsoft itself found Linux to be the cheaper overall solution in many cases.
History, however, has proven Microsoft's strategy largely wrong. Fifteen years after Raymond published the first of the documents (he subsequently added several more to his site, along with extensive commentary), which Microsoft later acknowleded to be authentic, Windows and Linux continue to coexist. And while Linux and open source never became an existential threat to Microsoft, as the Halloween Documents suggest executives at the company once feared, it's hard to deny that they have significantly curtailed the company's share of important markets, like servers operating systems and applications, for many years. Microsoft might be a richer enterprise today if it had achieved the goals it articulated in the Halloween Documents.
And the story's not over. Today, the flashpoints between Microsoft and open source have shifted in many ways, and Redmond has few reasons to worry about Linux replacing its flagship software for desktop computers. But in the mobile world, Linux-based Android, alongside iOS, constitutes a major challenge for Microsoft's vision of dominating tablets and smartphones. The cloud and Big Data, too, are increasingly the domain of open source software, with solutions including Hadoop and OpenStack facing few real challenges from Microsoft or any other proprietary competitor. In different ways but for the same essential reasons, the open source ecosystem remains a thorn in Microsoft's side.
Of course, Microsoft today is no longer the company it was in 1998. The era of its unbridled expansion ended long ago, and it's hard to imagine any disruption big enough to pose a serious challenge to its dominance within the huge market for desktop operating systems and office software. If the company ever does face decline, it is much likelier to be the result not of Linux but of a structural shift away from traditional computing altogether—and such a change will not come anytime soon.
For today, though, the Halloween Documents are worth revisiting as a reminder of how not to respond to competition from open source code. In the long run, companies that have embraced open source technologies and developed business models that thrive on the sharing of software, such as Red Hat (RHT), will do better than those that attempt to protect their interests through FUD and vendor lock-in. Red Hat today has much smoother and potentially more lucrative options for continued growth in the areas of open source dominance mentioned above—such as the cloud and Big Data—than Microsoft or even Apple, which face expensive and riskier investment in new types of hardware if they hope to expand their business.
The lesson: Sharing—whether of candy or software—is the way to go. Happy Halloween!
--------------------------------------------------------------------------------
via: http://thevarguy.com/open-source-application-software-companies/halloween-documents-microsofts-anti-linux-strategy-15-yea
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://www.catb.org/~esr/halloween/

View File

@ -1,110 +0,0 @@
Translating------------------geekpi
09 The Linux Kernel: Configuring the Kernel Part 5
================================================================================
![](http://www.linux.org/attachments/slide-jpeg.428/)
The Linux kernel is large with numerous features that can be configured. There are still many more features that can be configured.
The next kernel feature that can be configured is a x86 random number generator (x86 architectural random number generator (ARCH_RANDOM)). Remember, we are configuring the kernel source code for an AMD64 system. This number generator uses the x86 RDRAND instructions for Intel processors. It is not necessary for general use, so I will disable this for a more lightweight kernel.
Next, we can enable or disable "Supervisor Mode Access Prevention (X86_SMAP)". This is a security feature used by some Intel processors. SMAP will only allow the kernel to access user-space in some instances. This helps to protect user-space. There is a performance and size cost if enabled, but the cost is small. Since I am configuring for an AMD system, I will disable this feature.
Developers can enable "EFI runtime service support (EFI)". Only enable this on systems with EFI firmware. With this feature, the kernel can use available EFI services. EFI is a specification of how the operating system interacts with the hardware, so EFI firmware is hardware code that uses this specification. I disabled the support since I do not have a system with EFI firmware.
This is a useful security method that should be enabled (Enable seccomp to safely compute untrusted bytecode (SECCOMP)). This security feature is used with number crunching applications (software that performs extensive calculations) that use untrusted bytecode. Bytecode (p-code/portable code) is code that is made to be read efficiently by an interpreter. Bytecode is not source code, but it is not assembly or binary code either. Untrusted code is code that may cause system/data damage. The untrusted bytecode that may ruin the system or harm data are isolated in a separate address space via seccomp. This is done by using file descriptors as methods of transport. In general, it is best to enable security features even at the cost of performance unless you are making a kernel that absolutely needs incredible performance abilities.
Here is another security feature (Enable -fstack-protector buffer overflow detection (CC_STACKPROTECTOR)). A buffer overflow (buffer overrun) is where data is written past its memory boundary and into adjacent memory. This can be a security threat. Some malware uses buffer overruns to exploit systems. Enabling this will use the "-fstack-protector" GCC parameter. GCC is a Linux compiler; this compiler will compile the kernel when you are done configuring the options. This compiler parameter will add a canary value (special security code) on the stack just before the return address. The value is validated before the return. When a buffer overflow occurs, the canary value will get overwritten. When this happens, a kernel panic is initiated. As many know, a kernel panic means the system will crash, but that is better than the system or data being permanently ruined. With a kernel panic, the system can be rebooted, but if a buffer overrun gains a chance to damage the system, a simple reboot will not fix the destruction. You must compile the kernel with GCC version 4.2 or higher to support the parameter.
NOTE: To figure out what version you have, type “gcc --version” in the command-line.
After that, we can configure the timer frequency. The configuration tool recommends 250Hz, so we will use that value.
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
Using 1000HZ is generally considered too fast for many systems. The timer frequency determines how often the timer interrupt is used. This helps the system operate on a timeline. Applications do not just execute a command randomly. Rather, they wait until a timer interrupt has gone off. This keeps process organized and structured. The time between interrupts on a timer frequency of 100HZ is 10ms, 250HZ is 4ms, and 1000HZ is 1ms. Now, many developers will instantly think that 1000HZ is the best. Well, it depends what effects you will be fine with. A large timer frequency means more power consumption and with more energy being utilized, more heat will be produced. More heat means the hardware may wear down faster.
NOTE: If a particular feature does not matter to you specifically or you are not sure what to choose, use the default value chosen by the configuration tool. For example, for the kernel that I am making, it does not matter to me which timer value to use. In summary, if you do not have a specific reason to select any of the choices, the default is fine.
This interesting system call may be useful to some users (kexec system call (KEXEC)). The kexec call shuts down the current kernel to start another or restart the current. The hardware is not powered-off and this call works without help from the firmware. The bootloader is not executed. (The bootloader is the software that starts the operating system) This restart takes place at the level of the operating system not the hardware. Using this system call is faster than performing a standard power-off or restart. This keeps the hardware on. This system call will not work on all systems. For maximum performance, enable hotplugging.
To use kexec, use the command below replacing “<kernel-image>” with the kernel that will be used after reboot. Also, replace “<command-line-options>” with some of those kernel parameters we had discussed previously. (I will go into greater depth in a later article.)
kexec -l <kernel-image> --append="<command-line-options>
Specifically, I would type “kexec -l /boot/vmlinuz-3.8.0-27-generic append="root=/dev/sda1””
NOTE: The hardware does need to be reset sometimes, so do not depend on kexec entirely.
Next, we have a debugging feature that works with kexec (kernel crash dumps (CRASH_DUMP)). When kexec is called, a crash dump is generated. Unless you need to debug kexec, this is not needed. I disabled this feature.
Again, we have another kexec feature (kexec jump (KEXEC_JUMP)). kexec jump allows users to switch between the original kernel and the one started by kexec.
It is best to use the default value for the address the kernel starts (Physical address where the kernel is loaded (PHYSICAL_START) [0x1000000]).
This next kernel option (Build a relocatable kernel (RELOCATABLE)) allows the kernel to be placed somewhere else in the memory. The kernel file will be 10% larger, but this excess is removed from memory on execution. Many may wonder why this is important. Before kernel 2.6.20, rescue kernel had to be configured and compiled differently to be able to run on a different memory address. After this feature was invented, developers no longer needed to make two kernels. A rescue kernel will not load where the first kernel is/was loaded because that portion of memory is occupied or corrupted. (If you are using a rescue kernel then obviously the first kernel had errors)
This feature should be enabled on systems where CPUs can be added unless there is a specific reason for not doing so (Support for hot-pluggable CPUs (HOTPLUG_CPU)). The configuration tool may auto-enable this ability. With this feature, you can active/deactivate a CPU on a system that has many processors. This does not mean adding a new CPU to a system. All CPUs must already be in the system.
The next option will allow us to set whether the above ability is enabled by default (Set default setting of cpu0_hotpluggable (BOOTPARAM_HOTPLUG_CPU0)). It is better to have this feature inactive for performance purposes until it is needed.
This debugging feature allows developers to debug the CPU hotplug abilities (Debug CPU0 hotplug (DEBUG_HOTPLUG_CPU0)). I disabled this feature.
To support older versions of glibc (<2.3.3), enable this feature (Compat VDSO support (COMPAT_VDSO)). This will apply the old-style address via map on the 32-bit VDSO. Glibc is Gnu C LIBrary; this is the GNU Project's implementation of the C standard library.
If the system the kernel is intended for lacks a fully functional boot-loader, then enable this feature (Built-in kernel command line (CMDLINE_BOOL)). This will allow users to use a command-line on the kernel itself so administrators can fix kernel issues. If the bootloader has a command-line (like Grub), then this feature is not needed.
Now, we can configure ACPI and power. First, we are given the choice to allow the system to suspend to RAM (Suspend to RAM and standby (SUSPEND)). Advanced Configuration and Power Interface (ACPI) is an open standard for device configuration and power management. Suspending a system places data on RAM and the hardware goes into a low-power state. The system is not shutdown entirely. This is useful if a user needs to put the computer in a low-power state but wants to retain the currently open applications. Shutting-down a system completely powers off a system and clears the memory.
Next, we can enable hibernation (Hibernation (aka 'suspend to disk') (HIBERNATION)). Hibernation is like suspend mode, but all data in the memory is saved to the hard-drive and the device is completely powered-off. This allows the user to continue using their open applications when the system is powered back on.
Here, we can set the default resume partition (Default resume partition (PM_STD_PARTITION)). Very few developers and administrators will need this feature. When a system returns from hibernation, it will load off of the default resume partition.
After that, we can enable "Opportunistic sleep (PM_AUTOSLEEP)". This lets the kernel to initiate suspend or sleep mode when no active wakeup calls are called. This means that an idling system will initiate suspend mode to save energy. I enabled this feature.
Next, we are asked about "User space wakeup sources interface (PM_WAKELOCKS)". Enabling this will allow wakeup source objects to be activated, deactivated, and created by the user space via a sysfs-based interface. Wakeup source objects track the source of wakeup events.
Sysfs is a virtual filesystem located /sys/. This virtual filesystem contains information about devices. When going to /sys/, it appears to be part of the hard-drive, but this is really a mount point. The files are actually found in the memory. This is the same concept for /proc/.
NOTE: “/sysfs/” is a folder while “/sysfs” would be a file on the root named “sysfs”. Many Linux users mix up the two naming conventions.
If the above option is enabled, then you can set the "Maximum number of user space wakeup sources (0 = no limit) (PM_WAKELOCKS_LIMIT)". It may be best to select the default. Then, you can enable the garbage collector (Garbage collector for user space wakeup sources (PM_WAKELOCKS_GC)). Garbage collection is a memory management method.
NOTE: On systems that need more memory, it is usually best in most cases to enable as many garbage collectors as possible. Otherwise, the memory will fill up faster and be disorganized.
The next power option concerns IO devices (Run-time PM core functionality (PM_RUNTIME)). This option will permit IO hardware to go into low power states on run time. The hardware must allow this feature; not all hardware will do this.
As with many other components of the kernel, the power-management code also has debugging support, if enabled (Power Management Debug Support). I will disable this option.
NOTE: Notice that the options/questions from the configuration tool that I quote/display are no longer showing the option code (the letters in all caps between the parenthesis). This is because I am no using the ncurses-based configuration tool (make menuconfig) instead of the default tool to get the options/settings/questions. Remember, “make config” lacks the ability to save the current progress.
After that, the configuration tool will enable "ACPI (Advanced Configuration and Power Interface) Support". It is best to allow this power management specification. Usually, the configuration file will enable this feature.
To allow backwards compatibility, enable "Deprecated /proc/acpi files". The new implementation uses the newer functions in /sys/. I disabled this option. A similar question asks about "Deprecated power /proc/acpi directories". Usually, if you disable the files, you will not need the folders, so I disabled them. Some older applications may use these files and folders. If you are compiling a new kernel for an old Linux system, it may be best to enable this option.
Next, we have another file interface that can be enabled/disabled (EC read/write access through). This will create an embedded controller interface in /sys/kernel/debug/ec/. Embedded controllers usually are found in laptops to read the sensors. The Linux kernel accesses the embedded controllers through ACPI code given by the BIOS tables of the system.
Here is another old feature that can be enabled for backwards compatibility (Deprecated /proc/acpi/event support). The acpid daemon may read /proc/acpi/event to manage ACPI-generated events. Instead of this interface, the daemon uses netlink events or input layer to get these events to the user-space. The acpid daemon manages ACPI events.
The next option allows developers to enable a feature that will inform the kernel whether it is using AC or battery (AC adapter). The next option provides battery information from /proc/acpi/battery/ (Battery).
To allow the kernel to behave differently when the power/sleep button is pressed or when the lid is closed, enable this option (Button). These events are controlled in /proc/acpi/event/. For instance, this will make the system suspend when the laptop lid is closed if in the user account power options such a behavior is enabled. On many Linux distros, users can go to the system settings to make the laptop stop suspending when the lid is closed.
The next ACPI extension to be enable/disabled is for video adapters (Video).
ACPI fans can be enabled/disabled (Fan). It is best to enable ACPI fans management. This will help to conserve energy.
We are getting further in configuring the kernel, but there is still more to do in the next articles.
--------------------------------------------------------------------------------
via: http://www.linux.org/threads/the-linux-kernel-configuring-the-kernel-part-5.4424/
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -1,97 +0,0 @@
10 The Linux Kernel: Configuring the Kernel Part 6
================================================================================
![](http://www.linux.org/attachments/slide-jpeg.464/)
Welcome to the next article on configuring the Linux kernel! There are still numerous options to configure. This particular article will mainly discuss configuring PCI and ACPI.
Here, we can enable support for ACPI-controlled docking stations and removable drive bays (Dock). Remember, ACPI (Advanced Configuration and Power Management Interface) is a power management system. A docking station is a device that allows extra devices to be plugged in through extra ports. A docking station may contain many various ports and connectors. So, an ACPI-controlled docking station is a docking station that has its power managed by ACPI. A drive bay is a set of hardware for adding hard-drives. This too can be managed by ACPI.
Next, we can allow ACPI to be used as the idle manager for the CPU (Processor). This will cause the processor to enter the ACPI C2 and C3 states when idle. This will save power and reduce the temperature of the CPU chip. Processors only idle when they are 100% free. No application must request CPU resources for a set period of time.
There are four CPU power states C0, C1, C2, and C3. C0 is the active operating state. C1 (Halt) is an active state that is not executing instructions, but can do so instantly. C2 (Stop-Clock) is a powered down state. C3 (Sleep) is more powered down than C2. In C3, the cache is now longer synchronized or managed until the CPU leaves this state. There is a fifth state called C1E (Enhanced Halt State) that has lower power consumption.
If the IPMI driver is enabled, then ACPI can access the BMC controller (IPMI). A Baseboard Management Controller is a microcontroller that manages the connection between the software and hardware. The Intelligent Platform Management Interface (IPMI) is a framework for managing the computer through a direct network at the hardware level rather than going through a login shell or the operating system.
The ACPI v4.0 process aggregator allows the kernel to apply a CPU configuration to all processors on the system (Processor Aggregator). As of ACPI v4.0, only idling can be configured with this method.
After that, the ACPI thermal zone can be enabled (Thermal Zone). Most hardware supports this feature. This allows the fan's power to be managed by ACPI.
A custom DSDT can be linked to the kernel if this option is enabled (Custom DSDT Table file to include). In this setting, the developer must include the full path name to the file. The Differentiated System Description Table is a file that contains the system's information for supported power events. It is not required to enter a path name. These tables exist on the firmware. The kernel will handle this for you. The main purpose for this is if a developer need to use tables that are different from ones that are built-in to a device.
Arbitrary ACPI tables can be overridden using initrd (ACPI tables override via initrd). ACPI tables are basically rules and instructions on how to control and interact with the hardware.
Like all other parts of the kernel, the ACPI system can also generate debugging messages (Debug Statements). Like other debugging features, you may want to disable this and save about fifty kilobytes.
Enabling this next feature will create files (/sys/bus/pci/slots/) for each PCI slot detected on the system (PCI slot detection driver). A PCI slot is a port on a PCI motherboard that allows users to attach other PC devices. PCI is a type of motherboard. PCI refers to the way the components communicate with one another. Some applications may need these files.
The power management timer is another power-managing system (Power Management Timer Support). This is one of many system timers for keeping track of time. This one requires less power. The processor idling, voltage/frequency scaling, and throttling do not effect this timer. Numerous systems require this feature to be enabled.
Next, ACPI module and container device drivers can be enabled (Container and Module Devices). This enables hotplug support for processors, memory, and nodes. This is needed for NUMA systems.
This following driver offers support for ACPI memory hotplugging (Memory Hotplug). Some devices will not support hotpluggable memory even with this driver enabled. If this driver is added as a module, the module will be called acpi_memhotplug.
NOTE: For the kernel to have a particular feature, the hardware, BIOS, and firmware must support the feature in question. Some systems have a BIOS that does not control the hardware much. This type of BIOS will not restrict features often. If the kernel does have a particular feature, the hardware must have the ability to complete such a task.
The Smart Battery System driver offers access to the battery's status and information (Smart Battery System).
Next, we have a driver for a "Hardware Error Device". This device reports hardware errors through SCI. Usually, most of the reports will be on corrected errors.
Here is another ACPI debugging feature (Allow ACPI methods to be inserted/replaced at run time). This permits ACPI AML methods to be managed without rebooting the system. AML stands for ACPI Machine Language. With this debugging feature, the AML code can be changed and tested with requiring a reboot.
APEI is the ACPI error interface (ACPI Platform Error Interface (APEI)). APEI reports errors from the chipset to the operating system. This error interface also offers error injection abilities.
The hardware's firmware can send messages to the operating system when "SFI (Simple Firmware Interface) Support" is enabled. The firmware communicates with the operating system through static tables in memory. SFI-only computers will require this feature for the kernel to work.
To be able to change the processor's clock speed on runtime, enable this feature (CPU Frequency scaling). CPU frequency scaling means changing the processor's clock speed. This driver can be used to lower the clock speed to conserve power.
Next, is another power management subsystem (CPU idle PM support). When the processor is not active, it is best that it idles in an efficient way to reduce power consumption and reduce wear-and-tear on the CPU. Reduced power consumption will also lower the heat production from the the internal components.
The Linux kernel offers many CPU idle drivers. On systems with multiple processors, some users may have a reason to use a different driver on each CPU (Support multiple cpuidle drivers). Enabling this driver will allow users to set a different driver to each processor.
For Intel processors, the kernel has a driver specific for managing the idleness of such CPU chips (Cpuidle Driver for Intel Processors).
When the memory chips are idle, those can also use reduced power (Intel chipset idle memory power saving driver). This driver is specific for Intel devices with IO AT support.
Different computers use different types of motherboards (PCI support). One type is PCI. This driver will allow the kernel to run on PCI motherboards.
Next, we can enable/disable "Support mmconfig PCI config space access".
After that, we have an option of enabling/disabling a driver for host bridge windows (Support mmconfig PCI config space access). WARNING: This driver is incomplete (at least in kernel version 3.9.4)
As mentioned above, there are other types of motherboards. This next option offers a driver for "PCI Express (PCIe) support". PCIe is an improved and faster version of PCI.
After that, this following driver should be enabled to allow hotplugging on PCIe motherboards (PCI Express Hotplug driver).
Next, we can enable/disable error reporting for PCIe motherboards (Root Port Advanced Error Reporting). This is the PCI Express AER driver.
This next feature can allow users to override BIOS and firmware settings for PCIe ECRC (PCI Express ECRC settings control). In the next option, there is an error injector for PCIe (PCIe AER error injector support).
The following setting offers the operating system control over PCIe active state and clock power management (PCI Express ASPM control). Normally, the firmware would control the ASPM, but this feature allows the operating system to take control.
Again, like so many components of the kernel, there is debugging support for ASPM (Debug PCI Express ASPM).
Next, in this menu, select the "Default ASPM policy".
After that choice, the next one is about allowing device drivers to enable Message Signaled Interrupts (MSI). It is usually best to allow devices to send the CPU interrupts.
To add numerous debugging messages to the system log, enable "PCI Debugging".
This next setting allows the PCI core to detect if it needs to enable PCI resource re-allocation (Enable PCI resource re-allocation detection).
When hosting a virtual operating system on Linux, it can sometimes help to reserve a PCI device for the virtual OS (PCI Stub driver). With operating system virtualization, one OS is running inside or beside another operating system. Sometimes they can compete for resources. Being able to reserve a device for the guest system (the virtual OS) can reduce competition and increase performance.
The next driver offered allows hypertransport devices to use interrupts (Interrupts on hypertransport devices). Hypertransport is a bus system/protocol for high-speed communication between processors.
This next driver for PCI virtualization allows virtual devices to be made that share their owned physical resources (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.
Again, there are still more features to configure in the Linux kernel as you will see in the following articles.
--------------------------------------------------------------------------------
via: http://www.linux.org/threads/the-linux-kernel-configuring-the-kernel-part-6.4457/
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -1,128 +0,0 @@
11 The Linux Kernel: Configuring the Kernel Part 7
================================================================================
![](http://www.linux.org/attachments/slide-jpeg.474/)
Enjoy this next article in the Linux Kernel series. We will continue configuring the PCI features following the most important characteristic of computers - networking.
Process Address Space Identifiers (PASIDs) allow PCI devices to access multiple IO address spaces simultaneously (PCI PASID support). This feature requires an IOMMU that offers PASIDs support.
Next, we can enable/disable "PCI IO-APIC hotplug support". APIC stands for Advanced Programmable Interrupt Controllers. A programmable interrupt controller (PIC) gathers all interrupts from all of the different sources to a single or multiple CPU lines. An advanced PIC are the same as PICs, but they have better features like Advanced Interrupt Request Management and more priority models. Hotplugging is the ability to add a device while the system is still on and not required to be reset. This driver is for PCI motherboards to have the ability to handle input/output APIC hot-swapping.
After that, the following question asks about enabling "ISA-style DMA support". As mentioned in a previous article, DMA is direct memory access which is the ability for devices to access memory without help from the CPU. ISA stands for Industry Standard Architecture which is a bus standard like PCI. This feature would allow DMA support that is used with ISA motherboards.
Now, we can move on to "PCCard (PCMCIA/CardBus) support". PCMCIA stands for Personal Computer Memory Card International Association. PC-cards, PCMCIA cards, and Cardbus cards are all peripheral laptop devices that are in the shape of cards.
The next PCMCIA options deals with "16-bit PCMCIA support". Some older computers use 16-bit PCMCIA cards.
To load a Card Information Structure (CIS) from userspace to make a PCMCIA card work properly, this feature should be enabled (Load CIS updates from userspace).
CardBus is the newer 32-bit version of 16-bit PCMCIA. This driver offers support for such devices (32-bit CardBus support). To use 32-bit PC-cards, a Cardbus compatible host bridge is required.
This next driver provides support for the CardBus bridges mentioned above (CardBus yenta-compatible bridge support). This bridge is the hardware port that the PCMCIA cards plugin.
The next three options are "Special initialization for O2Micro bridges", "Special initialization for Ricoh bridges", and "Special initialization for TI and EnE bridges". These are all types of bridges for cards.
Next, the driver for "Auto-tune EnE bridges for CB cards" is offered.
"Special initialization for Toshiba ToPIC bridges" can be enabled/disabled in the next option.
The next device driver offered is "Cirrus PD6729 compatible bridge support". This is needed in some older laptops.
The next PCMCIA bridge driver is for Intel "i82092 compatible bridge support". This is also found in some older laptops. This is again another bridge driver.
After that, the following settings asks about enabling "Support for PCI Hotplug".
Next, ACPI PCI hotplugging can be enabled (ACPI PCI Hotplug driver). This driver allows the hotplugging of PCI devices with ACPI (that power management feature that was discussed previously).
For IBM systems, this next driver will need to be enabled for ACPI PCI hotplugging (ACPI PCI Hotplug driver IBM extensions). This is like the above feature but this is specific for IBM devices.
For systems with a CompactPCI system card that has CompactPCI hotswap support, enable the "CompactPCI Hotplug driver".
Next, we have an option for another type of CompactPCU system card (Ziatech ZT5550 CompactPCI Hotplug).
CompactPCI cards that use the #ENUM hotswap signal as a system register bit through the standard IO port will need this driver (Generic port I/O CompactPCI Hotplug).
Motherboards with SHPC PCI hotplug controllers need this next driver (SHPC PCI Hotplug driver). SHPC stands for Standard Hot-Plug Controller. This is a generic hotplug system for PCI motherboards.
RapidIO interconnected devices also need a special driver (RapidIO support). RapidIO chips and boards are faster than PCI and PCI-express.
The "IDT Tsi721 PCI Express SRIO Controller" is a specific type of RapidIO controller.
This next option allows the developer to enter in how long the system's discovery node should wait (in seconds) for a host to finish enumeration before giving up. It is usually best to stick to the defaults.
This feature will allow the RapidIO system to accept other traffic besides maintenance signals (Enable RapidIO Input/Output Ports).
To transfer RapidIO data to and from RIO devices using a DMA Engine framework, enable this driver (DMA Engine support for RapidIO). RIO devices are Reconfigurable Input/Output devices. RapidIO uses NREAD and NWRITE requests to transfer data between local and remote memory, so a driver is needed to allow RapidIO to use DMA to access RIO devices. A DMA controller is needed to complete this feature on a kernel with this feature.
The RapidIO can provide debugging messages if permitted (RapidIO subsystem debug messages). As mentioned before, debugging features can be disabled unless you or the person using the kernel being made needs debugging features.
The next driver offers "IDT Tsi57x SRIO switches support". This is a group of serial RapidIO switches. The next four options are for different serial RapidIO switch drivers - "IDT CPS-xx SRIO switches support", "Tsi568 SRIO switch support", "IDT CPS Gen.2 SRIO switch support", and "Tsi500 Parallel RapidIO switch support".
After managing those drivers, we can move on to other kernel options. The next option offers support for ELF (Kernel support for ELF binaries). Executable and Linkable Format (ELF) support is a format specification for executables. It is highly recommended that this be enabled.
To execute scripts and binaries that require an interpreter, this feature must be enabled (Kernel support for MISC binaries). These types of executables are often called wrapper-driven binary formats. Examples include Python2/3, .NET, Java, DOS executables, etc.
The kernel can generate core dumps when this option is enabled (Enable core dump support). This is a debugging feature. Unless this kernel is intended to be used for debugging (whether the kernel itself or software) this is not needed.
64-bit processors can execute 32-bit programs if "IA32 Emulation" is enabled. It is best that this feature is enabled unless the developer is sure that such a kernel will never need to run 32-bit code.
The old a.out binaries can also be supported (IA32 a.out support). Assembler Output, as it is called, is a file format of a type of compiled code. It is best to enabled this because some shared libraries may use this format.
The next setting can allow 32-bit processes to access the whole 64-bit register file and wide data path (x32 ABI for 64-bit mode). However, 32-bit pointers are still used. These 32-bit processes will use less memory than the same process compiled to 64-bits because they use 32-bit pointers.
Now, we will move on to network support.
Our first network setting is to enable networking in general (Networking Support). Very few developers will disable this feature. If they do, the kernel will be small and fast, but it will never be able to use Wifi, Bluetooth, Ethernet, or any type of connection dealing with network devices or protocols. Some programs on stand-alone systems require this feature even though no network devices exist with the hardware. For instance, X11 depends on networking features. Only disable networking features in the kernel if you can provide an alternate way to display graphics on the screen.
"Packet socket" allows processes to communicate with network devices without a mediator. This can enhance performance.
The ss tool needs this feature enabled for packet monitoring (Packet: sockets monitoring interface). Packet monitoring means watching the network traffic concerning the local device.
"Unix domain sockets" are used to establish and access network connections. The X Windowing system requires this feature; this is the perfect example for why networking should be enabled in the kernel even for systems that will not use networks. Unix domain sockets is a network protocol that works between process on the same running machine.
The above Unix sockets can be monitored by the ss tool, but this next feature must be enabled first (UNIX: socket monitoring interface).
The Transformation (XFRM) user configuration interface is used by many native Linux utilities, so this feature is highly recommended (Transformation user configuration). This enables Ipsec Internet Protocol SECurity. Ipsec controls the authentication and/or encryption of the IP packets.
The next feature allows developers to give network packets a second policy (called a sub-policy) (Transformation sub policy support).
IPsec security association locators can be updated dynamically when this feature is enabled (Transformation migrate database). Devices using Mobile IPv6 need this feature. When a computer sets up a network connection with a router or any type of network device, the security protocols make sure the two do not accidentally get connected to some other device on the network. The IP packet is set to go to a particular device. However, mobile systems that will use a different network providing a 4g signal, for instance, needs to be able to make the same connection to the new network point. Even though it may be the same 4g provider, a different device would provide a 4g connection to that geographic area. When the device is in the new area, it will still use the same IP address.
Next is a feature that displays statistics on transformation errors during packet processing (Transformation statistics). This useful for developers; this is not needed, so it can be disabled.
The "PF_KEY sockets" are compatible with KAME sockets and are need when using IPsec tools ported from KAME. KAME is a free protocol stack for IPv4 IPsec, IPv6 IPsec, and IPv6.
This is another required Mobile IPv6 feature that adds a PF_KEY MIGRATE message to PF_KEYv2 sockets (PF_KEY MIGRATE).
Next is the most important and number one well known feature in networking that should be enabled - "TCP/IP networking". Most networks (including the Internet) depend on this protocol. Even the X Windowing system uses TCP/IP. This feature even permits users to ping themselves (Command: ping 127.0.0.1). To be able to use the Internet and/or X11, this must be enabled.
To address several computers on a network, "IP: multicasting" must be enabled. Multicasting is the ability to send messages to more than one computer, but not all of them. Broadcasting sends signals to all computers on the network.
If this kernel is for a Linux system that will act as a router, then enable this option (IP: advanced router).
With this following feature enabled, the IP address will be automatically configured at boot time (IP: kernel level autoconfiguration). This is useful when a user needs to connect to a network without needing to configure settings.
With the DHCP protocol support enabled, the Linux system can mount its root file system over a network using NFS and the IP address will be discovered using DHCP (IP: DHCP support). This allows the Linux system to have its root filesystem on a remote computer over the network without the user needing to manually manage the process each time the system is booted.
The next options is just like the above except the BOOTP protocol is used instead of DHCP (IP: BOOTP support). BOOTP is the bootstrap protocol; this protocol uses UDP instead of TCP and will only use IPv4 networks.
RARP is an old protocol that is now obsolete due to BOOTP and DHCP, but it can still be added to the kernel (IP: RARP support).
One network protocol can be used within another - a concept called tunneling. This feature can be used in the Linux kernel (IP: tunneling). The secure shell protocol (SSH) is an example of a tunneling protocol. This feature is needed for SSH.
The next driver can demultiplex GRE (Generic Routing Encapsulation) packets (IP: GRE demultiplexer). Demultiplexing is the process of making a single signal into many separate parts (this is not copying the message, only breaking it down). GRE (Generic Routing Encapsulation) is a tunneling protocol.
The following feature permits GRE tunnels to form in IP connections (IP: GRE tunnels over IP). This will allow GRE tunnels to form on IP networks.
A broadcast using GRE over IP can be done when this feature is enabled (IP: broadcast GRE over IP).
A Linux system intended to be a router for IP packets going to multiple places should have this enabled (IP: multicast routing).
--------------------------------------------------------------------------------
via: http://www.linux.org/threads/the-linux-kernel-configuring-the-kernel-part-7.4490/
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -1,138 +0,0 @@
12 The Linux Kernel: Configuring the Kernel Part 8
================================================================================
![](http://www.linux.org/attachments/slide-jpg.484/)
In this article, we will continue configuring the network abilities. Remember, networking is the most important characteristic of computers, so this article and the networking ones after this are important to know.
Before we begin the next part of this series, I want to clarify something. This configuration process does not edit the current kernel on your system. This process is configuring the source code before a new kernel is compiled (or cross-compiled). Once I finish going through the configuration process, then I will discuss the topics that were suggested to me by my readers. Also, as a reminder, the text in the quotes or parenthesis of the first or (rarely) the second sentence of each paragraph is the name of the setting in the configuration tool.
First, we can enable two different Sparse Mode Protocol Independent Multicast routing protocols ("IP: PIM-SM version 1 support" and "IP: PIM-SM version 2 support"). A multicast is like a broadcast, but a broad cast sends signals to all computers while a multicast sends messages to a selective group or set of computers. All PIM protocols are multicasting routing protocols that work on IP.
NOTE: When a computer communicates with one other computer or server, this is called a unicast just in case you were wondering.
The next network feature to configure is "ARP daemon support". This allows the kernel to have a list of IP addresses and their respective hardware addresses in internal cache. ARP stands for Address-Resolution-Protocol.
For extra security, "TCP syncookie support" should be enabled. This protects computers from SVN flood attacks. Hackers or malware could send SVN messages to a server to consume resources that would allow real visitors to use the service provided by the server. The SVN message opens a connection between a computer and a server. The Syncookie blocks SVN messages that are not legitimate. Then, real users can still access the site without hackers consuming bandwidth. Servers should have this feature enabled.
The following feature is for "Virtual (secure) IP: tunneling". Tunneling is the encapsulation of one network protocol into another. Secure tunnels are needed when making virtual private networks (VPN).
Next, enabling "AH transformation" adds support for the IPsec Authentication Header. This is a security measure that manages data authentication.
After that, enabling "ESP transformation" adds support for the IPsec Encapsulation Security Protocol. This is a security measure with encryption and optional data authentication.
The Linux kernel supports the IP Payload Compression Protocol if this feature is enabled (IP: IPComp transformation). This is a lossless compression system. Lossless refers to the fact that the data remains in its complete form. After the uncompression, there is no difference in the data before or after compression. The compression is performed before encryption. This compression protocol speeds up networks because less data is moving.
The next three settings deal with different IPsec features ("IP: IPsec transport mode", "IP: IPsec tunnel mode", and "IP: IPsec BEET mode"). IPsec stands for Internet Protocol SECurity. Transport mode is the default IPsec mode for connections between two computers and/or servers. Transport mode uses either an AH or an ESP header and only encrypts the IP header. In tunnel mode, the IP header and payload are encrypted. Tunnel mode is usually used when connecting a gateway to a server or gateway or a server to a server. BEET mode (Bound End-to-End Tunnel) does not reconnect when the IP address changes; the BEET mode connection remains connected. BEET mode uses less bytes than the other modes.
Next, the kernel can be given support for large IPv4/TCP offloads that are received (Large Receive Offload (ipv4/tcp)). The network interface cards (NIC) process the TCP/IP stacks. This feature adds code to the kernel to process large stacks.
INET socket monitoring can be enabled (INET: socket monitoring interface). INET sockets go to the Internet. This feature (when enabled) watches the connections and traffic to and from the Internet.
Here is another socket monitoring interface (UDP: socket monitoring interface). This one is for User Datagram Protocol (UDP). Again, this feature watches the sockets for UDP.
The following setting enables various TCP congestion controls (TCP: advanced congestion control). If the network gets too busy or the bandwidth is full, then many computers must wait for some bandwidth or their data stream will be slow. It helps network performance if the traffic is managed properly.
TCP connections can be protected with MD5 (TCP: MD5 Signature Option support). This is used for protecting Border Gateway Protocol (BGP) connections between core routers. Core routers are the main routers of a network; these routers are sometimes referred to as the “backbone of the Internet/network”. BGP is a protocol for making routing decisions.
The next setting allows you to enable/disable "The IPv6 protocol". When this is enabled, IPv4 will still work well.
The following feature is a special privacy ability (IPv6: Privacy Extensions (RFC 3041) support). This makes the system generate and use a different random address for the network interface.
NOTE: Nothing is computers is truly random. Random numbers and strings in computers are often called pseudo-random.
On networks with multiple routers, this feature will allow the system to more efficiently figure out which one to use (IPv6: Router Preference (RFC 4191)).
After that, an experimental feature for dealing with route information can be enabled/disabled (IPv6: Route Information (RFC 4191)). Remember, when making a stable kernel, only install experimental features unless you really need the feature in question.
Sometimes, when a system autoconfigures its IPv6 address, it may get an IPv6 address that is already used on the network. This experimental feature allows Duplicate Address Detection (DAD) (IPv6: Enable RFC 4429 Optimistic DAD).
IPv6 can get support for various IPsec features ("IPv6: AH transformation" and "IPv6: ESP transformation").
IPv6 can also use the IP Payload Compression Protocol discussed previously (IPv6: IPComp transformation).
There is even mobility support for IPv6 (IPv6: Mobility). This permits mobile devices using IPv6 to be able to use other networks while retaining the same IP address.
Again, there are some IPsec features for IPv6 ("IPv6: IPsec transport mode", "IPv6: IPsec tunnel mode", and "IPv6: IPsec BEET mode").
When enabled, IPv6 can support MIPv6 route optimization (IPv6: MIPv6 route optimization mode). This ensures the shortest and best network path is made. The download and upload speeds are faster if the messages are sent through less routers and other network devices.
If an administrator needs to connect two IPv6 networks, but it can only be done through an IPv4 connection, this kernel feature will make that possible (IPv6: IPv6-in-IPv4 tunnel (SIT driver)). This tunnels IPv6 through IPv4.
This tunneling feature is for IPv6-in-IPv6 and IPv4 tunneled in IPv6 (IPv6: IP-in-IPv6 tunnel (RFC2473)).
Another tunneling feature is seen (IPv6: GRE tunnel). This one allows GRE tunnels.
Multiple routing tables can be supported (IPv6: Multiple Routing Tables). A routing table is a list of network locations and the paths to take to get data to the destinations.
Routing can be done by source address or prefix with IPv6 if enabled (IPv6: source address based routing).
"IPv6 Multicast routing" is still experimental. IPv4 and IPv6 handle multicasting differently.
Typical multicast routers decide what should be done to multicast packets based on destination and source addresses (IPv6: multicast policy routing). Enabling this feature will allow interfaces and packet marks to be included in the decision making.
Next, the PIM-SMv2 multicast routing protocol can be enabled for IPv6 (IPv6: PIM-SM version 2 support). This is the same PIM mentioned previously with IPv4. Because IP v4 and v6 are different, PIM can be activated for v4 and/or v6.
Network packet labeling protocols (like CIPSO and RIPSO) can be enabled (NetLabel subsystem support). These labels contain security information and permissions.
Network packets can be made more secure by enabling security marking (Security Marking).
This network feature adds some overhead (Time-stamping in PHY devices). PHY devices can time-stamp network packets. PHY stands for “PHYsical layer”. These devices manages received and transmitted data.
A netfilter can be enabled (Network packet filtering framework). Netfilters filter and mangle passing network packets. A packet filter is a type of firewall. If the packet matches certain criteria, the packet is not allowed through.
The Datagram Congestion Control Protocol can be enabled (The DCCP Protocol). DCCP permits bi-directional unicast connections. DCCP is helpful with streaming media, Internet telephony, and on-line games.
Next, the Stream Control Transmission Protocol can be enabled (The SCTP Protocol). SCTP works on top of IP and is a stable and reliable protocol.
The following protocol is the Reliable Datagram Sockets protocol (The RDS Protocol).
RDS can use Infiniband and iWARP as a transport that supports RDMA operations (RDS over Infiniband and iWARP). Infiniband and iWARP are both protocols. RDMA stands for remote direct memory access. RDMA is seen when a remote computer accesses another's RAM directly without the need of the local computer's operating system assistance. It is like direct memory access (DMA) but with a remote computer rather than this taking place locally.
RDS can also use TCP as a transport (RDS over TCP).
Next, "RDS debugging messages" should be disabled.
This next network protocol is for clusters (The TIPC Protocol). A cluster is a group of computers that act as one. They need a way to communicate, so they use the Transparent Inter Process Communication (TIPC) protocol.
This high-speed protocol uses packets with a fixed size (Asynchronous Transfer Mode (ATM)).
IP can be used on ATM to communicate with systems using IP that are connected to a ATM network (Classical IP over ATM).
This next feature disables the "ICMP host unreachable" error message (Do NOT send ICMP if no neighbor). This prevents problems when the ATMARP tables from being removed due to a revalidation. ATMARP tables manage address resolution. ICMP stands for Internet Control Message Protocol and is usually used for sending error messages across a network.
LAN Emulation (LANE) emulates LAN services on an ATM network (LAN Emulation (LANE) support). A LANE computer can be a proxy that bridges Ethernet and ELAN segments.
"Multi-Protocol Over ATM (MPOA) support" allows ATM devices to send connections over subnetwork boundaries.
With this feature, ATM PVCs will behave like Ethernet, at least from the kernel's perspective (RFC1483/2684 Bridged protocols). PVC stands for permanent virtual circuit. A virtual connection is a packet-based connection that uses other higher protocols along with the main/original protocol.
The "Layer Two Tunneling Protocol (L2TP)" makes tunneling transparent to applications. Virtual Private Networks (VPNs) uses L2TP.
To make a Linux-based Ethernet bridge, enabled this bridging feature (802.1d Ethernet Bridging). In networking, a bridge connects two or more networks together. An Ethernet bridge is a hardware bridge that uses Ethernet ports.
"IGMP/MLD snooping" is the ability for an Ethernet bridge to be able to selectively forward multicast signals based on the IGMP/MLD load. Disabling this feature can reduce the kernel size significantly. IGMP stands for Internet Group Management Protocol which is a protocol used to set up multicast groups. MLD stands for Multicast Listener Discovery.
This next filtering feature allows Ethernet bridges to selectively manage traffic based on VLAN information seen in each packet. Disabling this feature reduces the size of the kernel being made.
VLAN interfaces can be created on Ethernet interfaces with this feature enabled (802.1Q VLAN Support).
Next, "GVRP (GARP VLAN Registration Protocol)" support allows the GVRP protocol to be used to register certain values from network devices.
After that, "MVRP (Multiple VLAN Registration Protocol) support" can be enabled. MVRP is a newer alternative to GVRP.
"DECnet Support" is a network protocol made by Digital. This is a stable and safe protocol.
"DECnet router support" allows users to make a Linux-based router that supports DECnet.
NOTE: Linux can be used as a server, workstation, router, cluster, firewall, and supports many other uses.
This next feature will enable Logical Link Layer type 2 (ANSI/IEEE 802.2 LLC type 2 Support). This layer allows multiple protocols to be used on the same network equipment. It is highly recommended that this be enabled in environments where networks are important. It may be best if all kernels supported this feature.
In the next article, we will discuss more about the networking abilities that can be configured.
--------------------------------------------------------------------------------
via: http://www.linux.org/threads/the-linux-kernel-configuring-the-kernel-part-8.4525/
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -1,155 +0,0 @@
13 The Linux Kernel: Configuring the Kernel Part 9
================================================================================
![](http://www.linux.org/attachments/slide-jpg.498/)
The Novell networking protocol, IPX, is commonly used between Windows systems and NetWare servers (The IPX protocol). IPX stands for Internetwork Packet Exchange. This is a network layer that is commonly used with the SPX protocol that is the transport layer.
To give a NetWare server the same IPX address on all of the networks it serves, enable this next feature (IPX: Full internal IPX network). Otherwise, each network will see the server as having a different IPX address.
NOTE: The IPX protocol uses IPX addressing, not IP addressing. IP addresses are not the only network addresses in computer networking.
For Linux systems on an Apple network, it will help to enable Appletalk (Appletalk protocol support). Apple computers and Apple printers commonly use Appletalk to communicate across a network. Appletalk does not require a central router/server and the network system is pug-and-play.
Linux systems that need to use IP on an Appletalk network will need "Appletalk interfaces support".
The next feature allows users to have IP tunneled in Appletalk (Appletalk-IP driver support).
Next, this feature permits IP packets to be encapsulated in Appletalk frames (IP to Appletalk-IP Encapsulation support). In networking, a frame is a special sequence of bits that marks the beginning and end of packets. This feature would place IP packets inside of Appletalk packets.
This setting allows the decapsulator to be enabled for the previous feature (Appletalk-IP to IP Decapsulation support). The decapsulator takes the IP packet out of the Appletalk packet.
This is another protocol layer called "X.25" (CCITT X.25 Packet Layer). This layer is usually enabled for very large networks like country wide public networks. Many banks use this in their extensive network systems. X25 (spelled “X25” or “X.25”) networks have packet-switching exchange (PSE) nodes which are devices that package the incoming data into packets. X25 is being replaced by IP which is more simple than X25. X25 is an old protocol that is not as efficient as TCP/IP, but some companies find it very useful in large, complex networks.
LAPB is a data link layer used by X.25 (LAPB Data Link Driver). If the above is enabled, then this should also be enabled. LAPB stands for "Link Access Procedure Balanced". LAPB can also be used on Ethernet and X.21 (this is not a typo) network cards. X.21 is a protocol used on the physical layer (hardware) and X.25 is used on the network layer. LAPB checks for errors and ensures the packets are placed back in the correct sequence.
Nokia modems use the phone network protocol commonly called PhoNet (Phonet protocols family). Linux computers controlling Nokia phones remotely need this feature.
The next network protocol is for small wireless connections between various automatic devices (IEEE Std 802.15.4 Low-Rate Wireless Personal Area Networks support). 802.15.4 is a simple low data rate protocol that requires little amounts of power. This wireless protocol extends out a maximum of about ten meters. This can be useful in robotics when connecting sensors through a wireless network. Any type of machinery that should not have cables may benefit from this local wireless network in place of cords.
If the above feature was enabled, it may be wise to enable this IPv6 compression feature (6lowpan support over IEEE 802.15.4).
SoftMAC devices that support IEEE 802.15.4 at the PHY level can use this feature (Generic IEEE 802.15.4 Soft Networking Stack (mac802154)).
When many packets need to be transmitted, the kernel must decide which ones to send out first (they cannot all be sent out at once), so they feature will help the kernel prioritize the packets (QoS and/or fair queuing). If this is not enabled, then the kernel will use a "first come, first serve approach". This would mean urgent networking messages will need to wait for their turn for transmission.
On networks with a data center server, this feature is highly recommended (Data Center Bridging support). This feature enhances the Ethernet connections for data center networks.
DNS lookups will be enabled with this next ability (DNS Resolver support). Most systems store DNS cache that allows the computer to perform a DNS lookup itself without the aid of a DNS server.
Next is another routing protocol for multi-hop ad-hoc mesh networks (B.A.T.M.A.N. Advanced Meshing Protocol). "B.A.T.M.A.N." stands for "better approach to mobile ad-hoc networking". This works on wired and wireless networks. Ad-hoc networks have no central infrastructure like routers and such. Each device on the network behaves like a router. Mesh networks are a similar concept. Each node must route data sent to it. In a mesh network, each computer is connected to all or nearly all of the other network devices. When such networks are written on a paper to make a map, the network looks like a mesh.
When many mesh nodes are connected to the same LAN and mesh, some network signals may loop (Bridge Loop Avoidance). This feature will prevent such looping. These loops may never end or harm performance. Preventing such looping is called Bridge Loop Avoidance (BLA).
Distributed ARP Tables (DAT) are used to enhance ARP reliability on sparse wireless mesh networks (Distributed ARP Table).
The BATMAN protocol has some debugging features that may be used by developers (B.A.T.M.A.N. Debugging). As with any debugging feature, it is usually best to disable it to save space and have a better optimized kernel.
Virtualized environments can benefit from "Open vSwitch". This is a multilayer Ethernet switch. Open vSwitch supports numerous protocols.
Network connections between virtual machines, hypervisors, and the host needs the "virtual socket protocol". This is similar to TCP/IP. These sockets are like other network sockets, but they are for virtual machines. This allows a guest OS to have a network connection with the host.
There is a cgroup subsystem that can manage network priorities (Network priority cgroup). This control group gives network traffic priority based on the sending application.
BPF filtering is handled by an interpreter, but the kernel can perform BPF filtering natively with this enabled (enable BPF Just In Time compiler). BPF stands for "Berkeley Packet Filter". This allows the computer system to support raw link-layer packets.
Next, we have two network testing tools. The first one is a "Packet Generator" which injects packets (makes void packets) for testing the network. The second, allows an alert system to be setup to alert the user/system when packets are dropped (Network packet drop alerting service).
The Linux kernel can be made to run radio systems or control them remotely. The "Amateur Radio AX.25 Level 2 protocol" is used for computer communication via radio. This radio protocol can support TCP/IP among many other protocols.
To prevent collisions on an AX.25 network, enable DAMA (AX.25 DAMA Slave support). So far, Linux cannot act as a DAMA server, but it can be a DAMA slave. DAMA stands for Demand Assigned Multiple Access. DAMA assigns network traffic to particular channels.
NET/ROM is a routing layer for AX.25 (Amateur Radio NET/ROM protocol).
An alternative to NET/ROM is Packet Layer Protocol (PLP) which also runs on top of AX.25 (Amateur Radio X.25 PLP (Rose)).
The Controller Area Network (CAN) bus devices need this driver (CAN bus subsystem support). CAN is a serial protocol with various purposes.
The CAN bus can be access through the BSD socket API with this feature (Raw CAN Protocol (raw access with CAN-ID filtering)).
A broadcast manager for the CAN protocol is available for the kernel (Broadcast Manager CAN Protocol (with content filtering)). This manager offers many controls including content filtering.
To make a Linux box a CAN Router and/or gateway, this feature is needed (CAN Gateway/Router (with netlink configuration)).
NOTE: A gateway is an interface device between two or more networks that each support different protocols. A simple definition would be a gateway is a protocol converter.
NOTE: A router redirects network traffic and connects networks together that use the same protocols.
There are many CAN devices (mainly controllers) and interfaces that the Linux kernel can support if enabled. All of the CAN drivers are for different brands and models of these types of devices. In the configuration tool, they have titles as seen below.
Virtual Local CAN Interface (vcan)
Serial / USB serial CAN Adaptors (slcan)
Platform CAN drivers with Netlink support
Enable LED triggers for Netlink based drivers
Microchip MCP251x SPI CAN controllers
Janz VMOD-ICAN3 Intelligent CAN controller
Intel EG20T PCH CAN controller
Philips/NXP SJA1000 devices
Bosch C_CAN/D_CAN devices
Bosch CC770 and Intel AN82527 devices
CAN USB interfaces
Softing Gmbh CAN generic support
Softing Gmbh CAN pcmcia cards
Like the many other features in the kernel, CAN devices also have debugging abilities that can be enabled (CAN devices debugging messages). Again, remember the purpose of your kernel - will you need debugging or do you want performance?
The Linux kernel also supports protocols for infrared signals (IrDA (infrared) subsystem support). IrDA stands for "Infrared Data Associations"; this is a standard for infrared signals.
Many people today will want these Bluetooth abilities (Bluetooth subsystem support).
RxRPC session sockets can be enabled (RxRPC session sockets). These sockets carry network connections that are using the RxRPC protocol. RxRPC runs on top of UDP.
The Linux kernel can support "RxRPC dynamic debugging" if enabled.
RxRPC has kerberos 4 and AFS kaserver security abilities that can be enabled (RxRPC Kerberos security). Kerberos is an authentication protocol where each network device is required to prove each other's identity to each other before any data transaction.
The configuration tool for wireless LAN (802.11) devices should be enabled for computers that have a wireless device like Wifi (cfg80211 - wireless configuration API). cfg80211 stands for Configuration 802.11. 802.11 is a wireless specification.
The "nl80211 testmode command" is used for calibration and/or validation utilities that perform such tasks on chips for wireless devices.
The next setting allows users to "enable developer warnings" for cfg80211 devices.
Next, "cfg80211 regulatory debugging" can be enabled.
The following cfg80211 setting is for "cfg80211 certification onus".
Powersaving features should be enabled for cfg80211 compatible devices (enable powersave by default).
cfg80211 supports debugfs entries (cfg80211 DebugFS entries).
Wireless devices have regulatory rules that they follow; these are stored in a database (use statically compiled regulatory rules database).
Some wireless extensions that use cfg80211-based drivers may need to use an old userspace; this feature permits that action (cfg80211 wireless extensions compatibility).
lib80211 can provide debugging features (lib80211 debugging messages).
The hardware independent IEEE 802.11 standard can be enabled (Generic IEEE 802.11 Networking Stack (mac80211)). mac80211 is a framework used to make SoftMAC wireless drivers. SoftMAC allows better control and configuration of the device.
This next feature allows the mac80211 to use a PID controller to manage the TX rate (PID controller based rate control algorithm). TX rate is the BPS (Bits per minute). Specifically, this feature is the algorithm for controlling the rate of data flow.
Another algorithm for the same feature is called "Minstrel". This is a much more precise and efficient TX rate managing algorithm.
Minstrel also supports 802.11n (Minstrel 802.11n support).
Because there are two TX rate controlling algorithms, only one can be used, so a default must be set (Default rate control algorithm (Minstrel)). Generally, it is best that Minstrel be the default.
Draft 802.11s mesh networking can be supported by the kernel (Enable mac80211 mesh networking (pre-802.11s) support). Draft 802.11s is a wireless standard for mesh networking.
For hardware that supports this feature, LED triggers for various packet traffic events can be enabled (Enable LED triggers). On many Ethernet devices, there is an LED that lights up when the port is active. This driver will make those LEDs work during packet traffic events.
mac80211 also supports debugfs features (Export mac80211 internals in DebugFS).
Here is a feature that collects mac80211 debug messages independently of the typical logging system (Trace all mac80211 debug messages).
There is also another set of mac80211 debugging abilities, but these use the typical logging system (Select mac80211 debugging features --->). In this menu, select the debugging features you need (if any).
In the next article, we still have a lot more to configure.
--------------------------------------------------------------------------------
via: http://www.linux.org/threads/the-linux-kernel-configuring-the-kernel-part-9.4568/
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -1,140 +0,0 @@
14 The Linux Kernel: Configuring the Kernel Part 10
================================================================================
![](http://www.linux.org/attachments/slide-jpg.514/)
Wireless broadband devices that use the WiMAX protocol can be enabled (WiMAX Wireless Broadband support). This type of wireless connection usually works only if the connection service is provided by a service provider (this is the same concept as with 3G/4G). WiMAX stands for Worldwide Interoperability for Microwave Access. WiMAX is intended to be a replacement for DSL. Broadband refers to the wide bandwidth and transportation of numerous signals.
RF switches are used in many Wifi and Bluetooth cards (RF switch subsystem support). The “RF” stands for Radio Frequency. RF switches route high-frequency signals.
Input support for RF switches also exists in the kernel (RF switch input support).
The kernel can control and query radio transmitters (Generic rfkill regulator driver). Enabling this will make a device file (/dev/rfkill). This device file acts as an interface to such radio devices.
The Linux kernel supports the 9P2000 protocol (Plan 9 Resource Sharing Support (9P2000)). This network protocol is sometimes called Styx. Plan 9's windowing system (Rio) uses Styx the same way Linux's X11 uses Unix Network Sockets. Linux systems may use Styx on Styx networks. Plan 9 and Linux can use Styx on a network.
The "9P Virtio Transport" system provides transports to and from guest and host partitions on virtual systems.
RDMA transport is also supported by the kernel (9P RDMA Transport (Experimental)). RDMA stands for Remote Direct Memory Access. This is Plan 9's protocol for accessing memory from a remote computer.
The 9P system has debugging support like many of the other kernel components (Debug information).
"CAIF support" support can also be enabled in the kernel. CAIF stands for Communication CPU to Application CPU Interface. This is a MUX protocol that uses packets and is used with ST-Ericsson's modems. ST-Ericsson is the company that developed this protocol. Android and MeeGo phones use this protocol. (Yes, MeeGo and Android are Linux systems, and yes, I am talking about the popular Android by Google.) A MUX protocol is a multiplexing protocol. Multiplexing was mentioned in a previous article.
Next, cephlib can be added to the kernel which is used in the rados block devices (rbd) and the Ceph filesystem (Ceph core library). cephlib is the complete core library for Ceph. Ceph is a storage platform. CephFS (the Ceph filesystem) is a filesystem that runs on top of another. Usually, CephFS runs on top of EXT2, ZFS, XFS, or BTRFS. Rados devices are block storage units that use CephFS.
This debugging feature for ceph harms the kernels performance, so only use it if needed (Include file:line in ceph debug output).
The CONFIG_DNS_RESOLVER facility will perform DNS lookups when this feature is enabled (Use in-kernel support for DNS lookup).
Near Field Communication (NFC) devices are also supported by the Linux kernel (NFC subsystem support).
The NFC Controller Interface (NCI) should be enabled if the above feature is enabled (NCI protocol support). This allows the host and the NFC controller to communicate.
NFC devices that process HCI frames will need this next feature to be enabled (NFC HCI implementation).
Some HCI drivers need a SHDLC link layer (SHDLC link layer for HCI based NFC drivers). SHDLC is a protocol that checks integrity and manages the order of the HCI frames.
"NFC LLCP support" is usually enabled if NFC features (like the above) are enabled.
Next, there are some drivers for specific NFC devices. The first one is a "NXP PN533 USB driver".
The next NFC driver supports Texas Instrument's BT/FM/GPS/NFC devices (Texas Instruments NFC WiLink driver).
Next is the "NXP PN544 NFC driver".
The driver for Inside Secure microread NFC chips is also provided by the kernel (Inside Secure microread NFC driver).
Now, we will be moving on to various drivers that are not network related. First, we can allow a path to the uevent helper (path to uevent helper). Many computers today should not have this feature because one uevent helper is executed for every one fork a process possess. This can quickly consume resources.
On boot-up, the kernel will make a tmpfs/ramfs filesystem (Maintain a devtmpfs filesystem to mount at /dev). This offers the complete /dev/ directory system. Of the two filesystems (tmpfs and ramfs), ramfs is the most simple of the two. “tmpfs” stands for temporary filesystem and “ramfs” stands for ram filesystem.
The next setting is the code for the devtmpfs filesystem which is also mounted at /dev/ (Automount devtmpfs at /dev, after the kernel mounted the rootfs).
The following feature allows modules to be loaded into user space (Userspace firmware loading support).
To "Include in-kernel firmware blobs in kernel binary" (which will add proprietary firmware to the kernel) enable this feature.
Some binary proprietary drivers need to be used on boot-up. This feature allows such software to do so (External firmware blobs to build into the kernel binary). Some computers have boot devices that require special firmware that may only be proprietary binaries. Without this feature enabled, the system will not boot.
Enabling "Fallback user-helper invocation for firmware loading" allows user-helper (udev) to load firmware drivers as a fallback for the kernel fails to load firmware drivers. udev can load firmware that resides in a non-standard path for firmware.
The part of the kernel that manages drivers can produce debugging messages if permitted (Driver Core verbose debug messages).
Next, the devres.log file will be used if this feature is enabled (Managed device resources verbose debug messages). This is a debugging system for device resources.
This next feature makes a connection between the userspace and kernelspace via a netlink socket (Connector - unified userspace <-> kernelspace linker). This socket uses the netlink protocol. This is another example of a Linux system needing networking abilities even if the computer will never be on a physical network.
The userspace can be informed on process events via a socket (Report process events to userspace). Some reported events include ID changes, forks, and exit status. Some previously enabled kernel features may need this. It is best to follow what the configuration tool recommends.
Systems that use solid state drives will need MTD support (Memory Technology Device (MTD) support). MTD devices are solid state storage devices. Typical storage drivers are different than Solid State Drives (SSD). The standard routines used on magnetic storage units do not work on SSDs (read, write, and erase).
Most desktop computers have parallel ports (a connector with 25 holes), so they need this feature (Parallel port support). Parallel ports are used for printers and ZIP drives among many other less known uses. Parallel ports are the ports with twenty-five pins.
Enable this feature for IBM compatible computers (PC-style hardware). There are different types of computers. Besides IBM computers (which commonly run Windows), there are Apple computers. Linux runs on nearly every type of computer.
Linux also supports multi-IO PCI cards (Multi-IO cards (parallel and serial)). Multi-IO PCI cards have both parallel and serial ports. Serial ports send or receive one bit at a time.
This next feature allows the kernel to "Use FIFO/DMA if available". This is used on certain parallel port cards to speed up printing. FIFO stands for “First In, First Out”. DMA is Direct Memory Access as mentioned before.
The next feature is for probing Super-IO cards (SuperIO chipset support). These probes find the IRQ numbers, DMA channels, and other types of addresses/numbers of such devices. Super-IO is a type of integrated IO controller.
PCMCIA support for parallel ports can be enabled (Support for PCMCIA management for PC-style ports).
NOTE: For many of these features, it may be best to do what the configuration tool recommends unless you have a specific reason for not doing so. Usually, if you are cross-compiling or making a kernel for a broad range of computers, then you should be familiar with what you are wanting to support and make the choices accordingly.
Parallel ports on AX88796 network controllers need this support (AX88796 Parallel Port).
"IEEE 1284 transfer modes" allows Enhanced Parallel Port (EPP) and Enhanced Capability Port (ECP) on parallel ports and status readback for printers. Status readback is the retrieval of the printer's status.
"Plug and Play support" (PnP) should be enabled. This allows users to plugin devices while the system is still on and then immediately utilize them. Without this feature, users could not plugin a USB device, printer, or some other device without performing any special tasks. The system will manage the rest automatically.
Next, users can enable block devices (Block devices). This is a feature that should be enabled because block devices are very common.
Floppy disks are block devices that can be enabled (Normal floppy disk support).
IDE devices that connect to parallel ports are also supported (Parallel port IDE device support). Some external CD-ROM devices can connect via parallel ports.
External IDE storage units can also be connected to parallel ports (Parallel port IDE disks).
ATA Packet Interface (ATAPI) CD-ROM drives that connect to parallel ports will need this driver (Parallel port ATAPI CD-ROMs). ATAPI is an extension of the ATA protocol used in Parallel ATA (PATA) devices.
Other ATAPI disk devices can be plugged into the parallel ports (Parallel port ATAPI disks). This driver will support other disk types besides CD-ROMs.
The kernel also supports ATAPI tape devices that connect via the parallel ports (Parallel port ATAPI tapes).
There are many other ATAPI devices that can connect to the parallel ports. As a result, a generic driver was made to manage the other devices not supported by the previously mentioned drivers (Parallel port generic ATAPI devices).
IDE devices attached to the parallel ports need a special protocol for communication purposes. There are many such protocols, one of them being the "ATEN EH-100 protocol".
An alternate protocol for parallel IDE devices is the "MicroSolutions backpack (Series 5) protocol".
There is yet again another parallel IDE device protocol (DataStor Commuter protocol) and another (DataStor EP-2000 protocol) and another (FIT TD-2000 protocol).
Once again, there is another protocol, but this one is highly recommended for the newer CD-ROM and PD/CD devices that plug into parallel ports (FIT TD-3000 protocol).
This next protocol is mainly for parallel port devices made by SyQuest, Avatar, Imation, and HP (Shuttle EPAT/EPEZ protocol).
Imation SuperDisks need support for the Shuttle EP1284 chip (Support c7/c8 chips).
Some other parallel IDE protocols that can be enabled next include
Shuttle EPIA protocol
Freecom IQ ASIC-2 protocol - used by Maxell Superdisks
FreeCom power protocol
KingByte KBIC-951A/971A protocols
KT PHd protocol - used in by 2.5 inch external parallel port hard-drives.
OnSpec 90c20 protocol
OnSpec 90c26 protocol
NOTE: These protocols and support for plugging devices into the parallel port is meant to be like hotplugging devices just like USB devices are put in USB ports. USB and Firewire are still the most popular ports to use because of their size and speed. A parallel storage unit is larger than a USB flash drive because parallel ports are larger than USB ports.
Next, we have a driver for Micron PCIe Solid State Drives (Block Device Driver for Micron PCIe SSDs).
You may have guessed it in the next article there is still more to configure.
--------------------------------------------------------------------------------
via: http://www.linux.org/threads/the-linux-kernel-configuring-the-kernel-part-10.4613/
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -1,123 +0,0 @@
15 The Linux Kernel: Configuring the Kernel Part 11
================================================================================
![](http://www.linux.org/attachments/slide-jpg.530/)
Ready to configure more drivers? There is still a lot to do.
Linux supports two different Compaq Smart Array controllers (Compaq SMART2 support) and (Compaq Smart Array 5xxx support). Array controllers are devices that present physical storage units as logical units. These controllers may also implement hardware-based RAID. The difference between hardware and software RAID is simple. Linux manages and sees software RAID. Linux sees hardware RAID as any other storage unit. This means Linux is not aware that the device is a RAID drive. The hardware (array controller) manages the RAID system independently of the kernel. This is better for system performance because the kernel does not need to configure or manage RAID. Note, not all array controllers have RAID abilities.
The above mentioned array controllers can access SCSI tapes with this driver (SCSI tape drive support for Smart Array 5xxx). SCSI tapes are magnetic-tape drives that use the SCSI protocol.
The PCI RAID controllers Mylex DAC960, AcceleRAID, and eXtremeRAID are supported by this driver (Mylex DAC960/DAC1100 PCI RAID Controller support). A PCI RAID controller is an array controller connected to a PCI card. RAID controllers are array controllers with RAID capabilities.
The MM5415 battery-backed RAM chips are supported with this driver (Micro Memory MM5415 Battery Backed RAM support). Battery-backed RAM chips allow the data to remain on the RAM device when the power is lost. This helps to protect data. Otherwise, when power is lost, the current computer session is lost.
To use a typical file (such as an ISO image) as a block device and mount it when this feature is enabled (Loopback device support). This is useful for retrieving files from image files without the need to burn the file to a disk or pull it apart. Imagine getting an ISO file from the Internet that contains many files. If only one file in the package is desired and the user does not want to burn the ISO to a disc or does not know how to open an ISO file, the user can instead mount the ISO.
The Linux kernel creates some loop devices during init time, so some loopback devices are already prepared and made (Number of loop devices to pre-create at init time). This feature saves time when a file (like an ISO) or virtual device (like a virtual hard-drive [vhd]) is mounted as a loopback device. This setting allows developers to choose how many the kernel should pre-make.
Ciphers from the CryptoAPI can be used when "Cryptoloop Support" is enabled. This can be used for hard-drive encryption. However, not all filesystems are supported.
Next, users can enable "DRBD Distributed Replicated Block Device support". This is like a network RAID1. These devices own the device files /dev/drbdx. These storage devices are usually used in clusters where each computer in the cluster has a storage unit that is mirrored from the master. This means each computer's hard-drive is a mirrored copy of the hard-drive found in the central “master” computer of the group. A cluster is a group of computers acting as one large powerful unit. However, each cluster has one controlling computer called the master node. The rest of the computers are slave nodes.
The DRBD supports fault injection for testing IO error handling (DRBD fault injection). Remember, fault injection is the process of making a device/software think an error occurred so the developer can test how the hardware/software handles errors.
If the kernel is intended to be a client for network block devices, then enable this feature (Network block device support). The first device file is /dev/nd0. A network block device is a remote storage unit that is accessed via a network.
Solid state drives (SSD) that are directly connected to PCI or PCI Express cards will need this driver (NVM Express block device).
Individual SCSI object-based storage (OSD) objects can be used as a block device with this feature (OSD object-as-blkdev support).
Next is a driver for "Promise SATA SX8 support". This is a driver for a SATA controller made by Promise Technology Inc.
Linux allows a part of the RAM to be utilized as a block device (RAM block device support). This is commonly seen on live Linux distros where the system is running entirely on the RAM. A live Linux distro loads off of a disc and then loads into RAM so the installed OS is not harmed when trying a new operating system, or repairing another.
The next setting allows users to enter in the "Default number of RAM disks".
The "Default RAM disk size" can be set in kilobytes.
The kernel can support XIP filesystems on RAM devices acting as block devices (Support XIP filesystems on RAM block device). This feature will enlarge the kernel's size. XIP (eXecute In Place) filesystems are filesystem that allow executables to store data on the same filesystem instead of utilizing RAM like other applications. Such filesystems are needed when running an executable on a live Linux system which resides on the RAM.
Next, the kernel can be given support for "Packet writing on CD/DVD media".
The kernel developer can set the max amount of active concurrent packets (Free buffers for data gathering). A large number will speed up write performance at the cost of memory. One packet will consume about sixty-four kilobytes.
The Linux kernel can use a rewritable compact-disc as cache space (Enable write caching). This feature is still experimental.
The next feature allows the ATA specification to be used over Ethernet cables (ATA over Ethernet support).
This following driver allows virtual block devices to be created for virtio (Virtio block driver). Virtio is a platform for I/O virtualization.
Old hard-drives will need a special driver (Very old hard disk (MFM/RLL/IDE) driver).
Here is a driver for the previously mentioned Rados device (Rados block device (RBD)).
Next, a device specific driver is available (IBM FlashSystem 70/80 PCIe SSD Device Driver).
Now, we will move on to miscellaneous devices. The first setting is for enabling/disabling potentiometers (Analog Devices Digital Potentiometers ).
If the potentiometer(s) is on a I2C bus, then this should be enabled (support I2C bus connection).
If the potentiometer is attached to a SPI bus, then this driver will be needed (support SPI bus connection).
NOTE: The Linux kernel supports many sensors because the Linux kernel is often used in weather devices and robots.
This driver is for the IBM RSA (Condor) service processor (Device driver for IBM RSA service processor).
The kernel also has a driver for the PCI Sensable PHANToM devices (Sensable PHANToM (PCI)).
This driver is for directing trace data from various devices via Parallel Trace Interface (PTI) out to Intel Penwell PTI ports (Parallel Trace Interface for MIPI P1149.7 cJTAG standard). This directed data is for debugging purposes.
Some SGI IO controllers have an IOC4 chip that needs this driver (SGI IOC4 Base IO support). SGI IO controllers are devices made by SGI that manage input/output. The IOC4 chip controls a lot of the tasks performed by such devices. This is a basic driver. Other drivers for such devices will rely on this driver.
There are few Texas Instruments Flash Media adapter drivers for the Linux kernel (TI Flash Media interface support) and (TI Flash Media PCI74xx/PCI76xx host adapter support).
This "Integrated Circuits ICS932S401" driver for ICS932S401 clock control chips.
The Atmel Synchronized Serial Communication peripheral (SSC) has a driver in the kernel (Device driver for Atmel SSC peripheral).
Such a device provides point-to-point serial connections between devices.
The "Enclosure Services" feature supports hard-drive bays.
This is a timer driver for CS5535/CS5536 chips (CS5535/CS5536 Geode Multi-Function General Purpose Timer (MFGPT) support).
This driver gives applications the ability to communicate with iLO management processors in HP ProLiant servers (Channel interface driver for the HP iLO processor). “iLO” stands for Integrity Integrated Lights-Out. iLO allows remote server management.
The Linux kernel supports the ALS APDS9802 light sensor (Medfield Avago APDS9802 ALS Sensor module). Some other supported sensor include
Intersil ISL29003 ambient light sensor
Intersil ISL29020 ambient light sensor
Taos TSL2550 ambient light sensor
ROHM BH1780GLI ambient light sensor
BH1770GLC / SFH7770 combined ALS - Proximity sensor
APDS990X combined als and proximity sensors
NOTE: Most of these drivers should be included as modules if the kernel being made is intended for a broad range of computers.
Linux can even use a "Honeywell HMC6352 compass".
The kernel also supports the "Dallas DS1682 Total Elapsed Time Recorder with Alarm".
The 16-bit digital-to-analog converter is supported with this driver (Texas Instruments DAC7512).
The "VMware Balloon Driver" manages physical memory by taking physical pages from guest operating systems that do not need it and giving pages to those that do.
There are also two different pressure sensors (BMP085 digital pressure sensor on I2C) and (BMP085 digital pressure sensor on SPI).
An Intel Input/Output Hub (IOH) is also supported by the kernel (Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) PHUB). Specifically, this is the PCH PHUB (Platform Controller Hub Packet Hub) Intel Topcliff.
The "FSA9480 USB Switch" is a detector that detects when devices are plugged in.
The next option permits bitstream configuration (Lattice ECP3 FPGA bitstream configuration via SPI).
The Silicon microcontroller uses the Silicon Labs C2 Port which needs a special driver (Silicon Labs C2 port support).
Again, keep watching for the next articles because there is still a lot more to do.
--------------------------------------------------------------------------------
via: http://www.linux.org/threads/the-linux-kernel-configuring-the-kernel-part-11.4640/
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -1,3 +1,5 @@
translating---------geekpi
16 The Linux Kernel: Configuring the Kernel Part 12
================================================================================
![](http://www.linux.org/attachments/slide-jpg.539/)

View File

@ -0,0 +1,122 @@
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/) 荣誉推出

View File

@ -0,0 +1,118 @@
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/) 荣誉推出

View File

@ -1,37 +0,0 @@
Thoughts on Mir and the community
================================================================================
I realized this week I needed a break from sampling distributions. I love technology, especially when it involves open source software, but this past week I realized I'd had too much of a good thing. As I scrolled through the list of distributions released over the previous two weeks and combed my inbox for suggestions I realized few of the distributions jumped out at me. My reaction to reading descriptions such as "The last distribution you will ever try" or "Just works" was skepticism. Most of the releases announced over these past two weeks have been niche players and beta releases anyway, so this seemed like a good time to take a break, to take a week off from installing open source operating systems, to have a week off from taking notes on the Linux community's latest and greatest. This week I would like to turn my focus (and yours, if you will indulge me) on Canonical's new display server, [Mir][1].
Mir, for those of you who are not familiar, is a display server designed to replace the X graphics software common to most Linux (and UNIX) operating systems. The Mir software is designed to work on desktops, laptops, tablets and phones. If all goes as planned, Mir will provide better performance and use less energy than X. The name Mir is a Russian term meaning community or the world (as well as "peace") and fits the naming pattern of other Canonical projects which include Ubuntu and Unity.
Right from the start Mir generated some controversy. Originally Canonical (and several other open source contributors) had been putting their development efforts into a new display server technology called [Wayland][2]. Wayland was also supposed to be a faster, lighter, less cumbersome display technology that would someday replace X on most devices. However, development on Wayland was slow and not going in quite the direction Canonical had hoped and thus Mir was born. Right away many people expressed concern that Canonical was dividing the Linux ecosystem by introducing a new display server, a technology which would use different drivers than Wayland and, therefore, possibly divide development efforts. There were also questions as to why Canonical needed to make their own display server rather than influencing Wayland's development, questions Canonical kindly [answered][3].
For a while all seemed quiet, but then, during the month of September, Intel (a Wayland contributor) [rejected software patches][4] provided by Canonical which would allow Intel's drivers to work with Mir. This was a reversal of Intel's earlier [apparent support][5] for Canonical's new display server. The reasoning was not clear, but it seemed as though Intel was unwilling to continue support for Mir, either in an effort to avoid cluttering up their own driver code or because Intel's focus was on Wayland. Either way, it meant more work for the Canonical developers who will need to maintain the driver code themselves. Then, at the start of October, Canonical [announced][6] Mir would not ship by default in the upcoming release of Ubuntu 13.10. The developers had decided there were still bugs to work through, features to complete, and it was decided Mir would be delayed for a release cycle.
Given Mir's status this seemed like a reasonable move, at least to me. In the past Canonical has released buggy code into its products (PulseAudio and the Unity desktop spring to mind) and it seemed as though the company was taking a more conservative approach, protecting its users from experimental code, trying to insure a better user experience. Yet, for some reason, people's reactions have been mostly [negative][7]. Mir's temporary delay seems to be blood in the water for critics of the display server. Commentators are taking the opportunity to claim the project was poorly planned, that the technology is under-supported, that it won't be able to complete with Wayland, which has recently been [gaining][8] [momentum][9].
As someone who does not have a horse in this race, as someone who does not care if his desktop is running Mir, Wayland or X, it has been a puzzling few weeks. It seems as though the community at large, not just a vocal minority of idle commentators, but active developers, are betting against Mir before the software gets a trial run. Intel's move, for example, of not only refusing to assist in driver development, but actively blocking support, is troublesome. Former Red Hat employee, Matthew Garrett, taking shots at Mir also strikes me as a poor use of time and energy. Critics claiming Ubuntu being the only distribution to currently adopt Mir is [a sign Mir won't be successful][10] seems to me to be an odd and unrealistic viewpoint. Wayland has yet to be included as the default display server in any mainstream distributions and critics are not complaining about its delay.
Most of us see the open source world as a place where anybody can scratch an itch, develop a new idea and release it into the wild. It doesn't need to have mass appeal, it does not need to sell a certain number of units, developers are able to create their visions and share them freely. At least it seems as though developers can do this as long as they do not work for commercial companies. The more feedback I hear about Mir (especially negative feedback) the more I get the impression critics are opposed to Mir not on the technology's merits, but because Canonical is behind its development. Ubuntu is a widely used and popular distribution and, when one is king of the hill, everyone wants to push you. The development of Mir isn't hurting anyone, it isn't being forced on other distributions (even Ubuntu community distributions can use Mir or ignore it as they like), and [Mir is open source][11]. Mir represents a fresh solution to a long-standing concern -- the imperfections in X -- and Canonical has shown a willingness to develop and even maintain drivers to prevent diluting efforts from third-party coders. Canonical has basically said they want to try something new, do not expect any help or cooperation and will not push their technology out to the public before it is ready. Despite their best efforts many people in the open source community appear to want them to fail.
Earlier I mentioned that my review options were limited this week as many recent distribution releases have been beta tests rather than full releases. My point of view is that developers should be given the time to get their projects to a stable release before the software is judged. When I review a distribution I try to focus on stable releases and I attempt to avoid reading other reviews of the same project and anything about the developers' personal lives. I want to evaluate a project based on its strengths and problems, as free as possible from the taint of public opinion or past releases. It's not always possible, I am human and flawed, prone to being subjective. Still, I feel the community at large should take the same approach when it comes to Mir. Perhaps the technology will always be buggy or maybe it will be stellar. In either case no one is forcing Mir onto the open source community as a whole, it is Canonical's pet project, and I think the community should be cheering them on for trying something new. Canonical, as with any other open source developer, is free to dedicate its resources to scratching its own itch and seeing what comes about as a result. I, for one, am looking forward to comparing Wayland, Mir and X over the coming year to see which one best serves my needs. When we have options we all win.
--------------------------------------------------------------------------------
via: http://distrowatch.com/weekly.php?issue=20131014
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
[1]:https://wiki.ubuntu.com/Mir/
[2]:http://wayland.freedesktop.org/
[3]:https://wiki.ubuntu.com/Mir/Spec?action=show&redirect=MirSpec#Why_Not_Wayland_.2BAC8_Weston.3F
[4]:http://arstechnica.com/information-technology/2013/09/intel-rejection-of-ubuntus-mir-patch-forces-canonical-to-go-own-way/
[5]:http://www.phoronix.com/scan.php?page=news_item&px=MTQ1MzU
[6]:http://fridge.ubuntu.com/2013/10/01/xmir-update-for-ubuntu-13-10/
[7]:http://mjg59.dreamwidth.org/28032.html
[8]:http://wayland.freedesktop.org/toolkits.html
[9]:http://sourceforge.net/projects/rebeccablackos/
[10]:http://lwn.net/Articles/556591/
[11]:https://wiki.ubuntu.com/Mir/License

View File

@ -1,43 +0,0 @@
openSUSE Summit Schedule Ready!
================================================================================
As you may well know, [Disneys Coronado Springs Resort][1] in beautiful Florida will welcome all Geekos to this years openSUSE Summit from November 15 to 17. This will be a great event, if the brand new schedule is any indication! It has just been made public, together with information about our keynote speakers.
![](http://news.opensuse.org/wp-content/uploads/2013/09/LogoSunIdeaPeach.png)
### The keynotes ###
We are very excited to announce our keynote speaker for the keynote on Saturday. [Mykel Alvis][2] will speak to us about fostering better communication, a topic that is very important within openSUSE and any open source project. Mykels current interest lie in IT automation and he has a plethora of experience in the enterprise and open source realms as developer and consultant. Mykel has spoken at many events, including this years South East Linux Fest and Puppet Camp.
[![](http://news.opensuse.org/wp-content/uploads/2013/07/ossum13.png)][3]
### The schedule ###
Thanks to those interested in sharing their knowledge we were able to compile a great schedule with presentations and workshops. The presentation and workshop schedule is now posted on the [openSUSE Summit web site][4]. There will be systemd and image building workshops, talks about technical subjects like virtualization or building scalable web apps to more social subjects like marketing and advocacy.
We will also have a fun game or two going on during the summit, and dont forget if you [purchase a ticket][5] in support of the event ([registration][6] and attendance is free, of course) you will receive a very nice backpack as welcome gift.
[![](http://news.opensuse.org/wp-content/uploads/2013/10/FlyerBig.png)][7]
### Help promote the Summit! ###
Weve been working on some promotional materials for the openSUSE summit. The flyer on the right you can click and then get the source in a format you can print and hand out!!! We also have some pics you might want to put on your site, linking to the event, like the logo on the top of this article. Find it all in github.
### Be there and have fun! ###
Were looking forward to the Summit. Getting to know one another, learning new technologies, getting hands-on in workshops its fun and useful. Be there!
--------------------------------------------------------------------------------
via: http://news.opensuse.org/2013/10/21/opensuse-summit-schedule-ready/
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://summit.opensuse.org/#location
[2]:https://plus.google.com/117207740852943355900/posts
[3]:http://summit.opensuse.org/
[4]:http://summit.opensuse.org/#program
[5]:https://buy.suse.com/store/suse/en_US/buy/productID.264835100
[6]:https://conference.opensuse.org/osem/conference/summit13/register
[7]:https://github.com/openSUSE/artwork/tree/master/Marketing%20Materials/Events/openSUSE%20Summit/Summit%202013/Flyers

View File

@ -0,0 +1,229 @@
十个鲜为人知的 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命令,有些在管理桌面和服务器方面被证明是非常有用的.
![](http://www.tecmint.com/wp-content/uploads/2013/10/10-Lesser-Known-Commands.png)
*10个鲜为人知的Linux命令*
###12. <space> 命令###
你在终端上键入的每个命令都会记录到**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** 命令来查看上面已执行的命令是否已经被记录了.
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,结果跟上面一样.
### 13. 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. \<alt\>. 和 \<esc\>. ###
上面的组合键事实上不是一个命令,而是传递最后一个命令参数到提示符后的快捷键,已输入命令的倒序方式传递命令.按住 **Alt****Esc**‘再按一下 **.**.
### 15. 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
**输出样式**
Tecmint [dot] com is the world''s best website for qualitative Linux article
### 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**,看看它如何立即清理你的终端.
### 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**命令能断开一个会话下的一个长时间运行的进程并能再次连接,如有需要,也提供了灵活的可执行命令
要运行一个长时间的进程,我们通常执行
avi@localhost:~$ ./long-unix-script.sh
缺乏灵活性,需要用户持续当前的会话,但是如果我们执行上面的命令是.
avi@localhost:~$ screen ./long-unix-script.sh
它能在不同会话间断开或重连.当一个命令正在执行时按“**Ctrl + A**”然后再按“**d”** 执行**断开**.重新连接运行.
avi@localhost:~$ screen -r 4980.pts-0.localhost
**注解**:在这里,这个命令的最后部分是**screen id**,你能用‘**screen -ls**‘命令查看.欲了解更多关于**screen命令**和它们的用法,请阅读我们的一些帮助文章[10 个screen命令的示例][4].
### 20. file ###
No!写上面的命令不是笔误. **file**‘是一个能提供关于文件类型信息的命令.
avi@localhost:~$ file 34.odt
34.odt: OpenDocument Text
### 21. 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.不要忘记给我们提供你的**反馈**和**评论**.
--------------------------------------------------------------------------------
via: http://www.tecmint.com/10-lesser-known-linux-commands-part-2/
译者:[Luoxcat](https://github.com/Luoxcat) 校对:[校对者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.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/
[5]:http://www.oschina.net/translate/11-lesser-known-useful-linux-commands

View File

@ -1,126 +0,0 @@
安装Ubuntu13.10后必做的10件事
================================================================================
**Ubuntu 13.10发布了而且你已经升级了然后你想知道现在做些什么。不要着急这里有10件安装完Ubuntu 13.10后必做的事。**
我们为以前的ubuntu版本整理了一个安装列表但是因为新的特性浮现和不断地进步我们的建议在不断地改变和转换。
因此升级到ubuntu 13.10后最好做哪些事情呢?
### 1. 加快速度 ###
尽管Ubuntu 13.10相较于之前的发布版包含了较少的面向用户的特征但是新的Smart scopes服务还是不可错过的。
### 2. 使用第三方驱动 ###
![](http://www.omgubuntu.co.uk/wp-content/uploads/2013/04/drivers.jpg)
Ubuntu本身已经支持了大量的硬件。随着免费而又开源的的驱动的发展在Steam上玩儿游戏或者玩儿高清游戏性能已经差强人意。
如果想使用所有驱动就请软件和更新里的 **安装并使用所有驱动**
在启动器里打开软件应用(或者通过系统设置)然后点击进入“其他程序”选项卡,然后按照屏幕上的提示操作。
### 3. 安装Ubuntu的影音解码器 ###
![](http://www.omgubuntu.co.uk/wp-content/uploads/2013/10/mus.jpg)
由于一个很大的法律问题的纠缠Ubuntu不能即刻支持很多流行的音频视频格式。这是一项很大的先天缺陷。
但是安装这些支持所需要的仅仅只是几下点击。在安装过程中只需勾选’*使用限制格式* 框来导入需要的解码器或者如果你忘了的话也可以在Ubuntu软件中心安装所有的多媒体相关工具。
- [安装第三方解码器][1]
### 4.建立你的社会生活###
![](http://www.omgubuntu.co.uk/wp-content/uploads/2013/04/account-toggles.jpg)
Facebook, Twitter, Google Talk, Gmail以及其他的一打社交账号可以在*在线账号* 里一起设置。
只需要添加一个网络然后**决定哪些程序可以使用它**。例如关掉Empathy默认的自动启动Google Chat和从Social Lens里过滤FaceBook。
支持的服务包括Twitter, Google, Yahoo!, Facebook (including Facebook Chat), Flickr 和正在增长的大量其他的应用。
### 5. 添加第三方应用Add Additional Apps ###
![](http://www.omgubuntu.co.uk/wp-content/uploads/2013/04/apps.jpg)
Ubuntu默认提供了一整套的应用但是一个尺寸不适合所有人穿如果你不喜欢一个默认的应用或者发现自己错过了一些什么你可以很轻松的找到和添加更多的软件。
打开Ubuntu软件中心就可以浏览成千上万的程序包括下面这些很流行的选择
- **Dropbox** - 流行,快平台的云存储服务
- **Steam** 游戏发布平台
- **GIMP** 强大的图像处理软件
- **VLC** 流行的影音软件
您还可以找到像我们这样列出了丰富的附加软件的网站 - 看看我们的应用程序标签的你会有一些想法。
- [在OMG上查看Ubuntu程序列表! !][2]
### 6.保护你的隐私 ###
![](http://www.omgubuntu.co.uk/wp-content/uploads/2013/10/priv.jpg)
最近隐私问题是一个烫手山芋因此很高兴看到最新版的Ubuntu改进了它的隐私设置提供了一个新的界面和大量的新选择。
不论你是想在启动器上隐藏一个文件还是一个应用从睡眠状态重新进入电脑时使用严格策略或者选择什么样的系统崩溃向Canonical发送信息隐私和安全面板总是可以提供你想要的工具。
### 7.拥抱互联网 Embrace The Web ###
![](http://www.omgubuntu.co.uk/wp-content/uploads/2013/04/gmails.jpg)
Canonical are enticing web devs with word that websites can be easily packaged, integrated and made available for install on Ubuntu Touch.
The genesis of this approach has been included on desktop Ubuntu for a few releases. Over 30 popular websites including Gmail, Yahoo! & Rd.io - can seamlessly integrate with parts of the desktop.
For example, add GMail and you get fancy Gmail options in the Launcher and Messaging Menu; enable Rd.io and youll be able to control playback using the Sound Menu.
### 8. 设置自己的Unity Yours ###
![](http://www.omgubuntu.co.uk/wp-content/uploads/2013/10/unity_tweak_tool_310.png)
Unity比人们想的定制性更好。 *Unity Tweak Tool* 是一个第三方应用可以让你调整桌面Unity以打造一个合适的环境。
选择包括:
- 调整启动器透明度
- 设置启动器图标动画
- 启动工作台
- 设置快捷键
- 移动窗口的控制
但是,不要期望太大,它不会让你移动启动器的。
- [从Ubuntu软件中心安装Unity Tweak Tool][3]
### 9. Filter The Noise ###
Ubuntus新的Smart Scopes服务承诺做成一个有帮助的工具但是现在还不像声称的那样智能。
好消息是这个特性只需一击就可以关闭所以没有必要因噎废食顺带着排斥Ubuntu。
当你发现自己就像被隔了一道烦人的墙一样总是搜索音乐的时候或者购物的时候收到大量毫不相关的建议,你可以单独禁用某一个问题的服务。
![](http://www.omgubuntu.co.uk/wp-content/uploads/2013/10/Screen-Shot-2013-10-15-at-11.36.26-750x480.png)
如果你发现自己每一个搜索结果无关的音乐充斥着,禁用的音乐的服务。不想要亚马逊的建议?关掉它。
### 10. 传播关于Ubuntu13.10的一句话 ###
我知道在我们的“应当去做”列表上这是比较尴尬的一项。但是只有人们知道Ubuntu 13.10才会去尝试它,因此做好你的份然后共享关于它的新闻。
无论你刚刚把这篇文章贴到Facebook上还是为你的OS X粉搭档制作了一个LiveUSB对于Ubuntu的认知度的提高都是很有W帮助的。
别忘了享受使用它。去检查下Facebook上的简介听一些音乐享受一下用Firefox上网。
--------------------------------------------------------------------------------
via: http://www.omgubuntu.co.uk/2013/10/10-things-installing-ubuntu-13-10
译者:[crowner](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:https://apps.ubuntu.com/cat/applications/ubuntu-restricted-extras/
[2]:http://www.omgubuntu.co.uk/category/app
[3]:apt:unity-tweak-tool

View File

@ -0,0 +1,119 @@
Linux中grep命令的12个实践例子
===
你是否遇到过需要在文件中查找一个特定的字符串或者模式的任务,但是仍然不知道从哪开始?这儿是一些**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**)。
$ sudo apt-get install grep #Debian/Ubuntu
$ sudo yum install grep #RHEL/CentOS/Fedora
我发现使用现实世界中的真实例子让你投身其中是让你接触**grep**命令的最容易方式。
###1.搜索和寻找文件
假设你已经在你的电脑上安装了一个全新的**Ubuntu**,你打算卸载**Python**。你浏览网页寻找教程,但是你发现存在两个不同版本的**Python**在使用,而你不知道你的**Ubuntu**安装器到底在你的系统中安装了哪个版本的Python也不知道它安装了哪些模块。解决这个烦恼只需简单的运行以下命令
$ sudo dpkg -l | grep -i python
####输出例子
ii python2.7 2.7.3-0ubuntu3.4 Interactive high-level object-oriented language (version 2.7)
ii python2.7-minimal 2.7.3-0ubuntu3.4 Minimal subset of the Python language (version 2.7)
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**是个好习惯。
###2.搜索和过滤文件
grep还可以在一个或多个文件夹里用于搜索和过滤。让我们来看一个这样的情景
你的**Apache网页服务器**出现了问题,你不得不从许多专业网站找一个发帖询问。好心的回复你的人会让你粘贴你的**/etc/apache2/sites-available/default-ssl**文件。网友帮助了你,而假如你能移除掉所有的注释行,那么今后大家都能阅读到这个解决方案,这对你来说会会困难吗?你当然可以很容易的做到!只需这样做就可以了:
$ sudo grep -v "#" /etc/apache2/sites-available/default-ssl
选项**-v**是告诉**grep**命令反转它的输出结果,意思就是不输出匹配的项,做相反的事,打印出所有不匹配的项。这个例子中,有**#**的是注释行。
###3.找出所有的mp3文件
**grep**命令对于过滤来自于**标准输出**的结果非常有用。例如,假设你的一个文件夹里面全是各种格式的音乐文件。你要找出艺术家**jayZ**的所有**mp3**格式的音乐文件,里面也不要有任何混合音轨。使用**find命令**再结合管道使用**grep**就可以完成这个魔法:
$ sudo find . -name ".mp3" | grep -i JayZ | grep -vi "remix""
在这个例子中我们使用find命令打印出所有以**.mp3**为后缀名的文件,接着将其使用管道传递给**grep -i**过滤和打印出名字为“**JayZ**”的文件,再使用管道传送给**grep -vi**以便过滤掉含有“**remix**”的项。
- [35个Linux中find命令的实践例子][1]
###4.在搜索字符串前面或者后面显示行号
另外两个选项是-A和-B之间的切换是用以显示匹配的行以及行号分别控制在字符串前或字符串后显示。Man页给出了更加详细的解释我发现一个记忆的小窍门-A=after、-B=before。
$ sudo ifconfig | grep -A 4 etho
$ sudo ifconfig | grep -B 2 UP
###5.在匹配字符串周围打印出行号
grep命令的**-C**选项和例4中的很相似不过打印的行号并不是在匹配字符串的前面或后面而是而是按照顺序打印出匹配的行
$ sudo ifconfig | grep -C 2 lo
###6.计算匹配项的数目
这个功能类似于将**grep**输出的结果用管道传送给计数器(**wc**程序grep内建的选项可以达到同样的目的
$ sudo ifconfig | grep -c inet6
###7.通过给定字符串搜索文件
当你在编译出错时需要调试时,**grep**命令的**-n**选项是个非常有用的功能。它能告诉你所搜索的内容在文件的哪一行:
$ sudo grep -n "main" setup.py
###8.在所有目录里递归的搜索
假若你要在当前文件夹里搜索一个东西,而当前文件夹里又有很多子目录,你可以指定一个**-r**选项以便于递归的搜索:
$ sudo grep -r "function" *
###9.进行完全匹配搜索
传递**-w**选项给grep命令可以在字符串中进行完全匹配搜索。例如向下面这样输入
$ sudo ifconfig | grep -w “RUNNING”
将打印出含有引号内匹配项的行。另外,你还可以试一下这个:
$ sudo ifconfig | grep -w “RUN”
搜索这个匹配项时,若搜索的东西里面没有这样的一个单独的单词,将什么也不会返回。
###10.在Gzip压缩文件中搜索
我们还要关注一下grep的衍生应用。第一个是**zgrep**,这个与**zcat**很相似,可以用于在**gzip**压缩过的文件中进行搜索。它有与**grep**相似的命令,使用方式也一样:
$ sudo zgrep -i error /var/log/syslog.2.gz
###11.在文件中匹配正则表达式
**egrep**是另一个衍生应用,代表着“**扩展全局正则表达式**”。它可以识别更多的正则表达式元字符,例如**at + ?** | 和****。在搜索源代码文件时egrep是一个非常有用的工具还有其他的一些零碎代码文件的搜索需要使得这样的搜索能力成为必需。也可以grep命令中指定选项**-E**来获得加强正则表达式搜索的能力。
$ sudo grep -E
###12.搜索一个固定匹配字符串
**fgrep**用以在一个文件或文件列表中搜索固定匹配的字符串。功能与**grep -F**同。**fgrep**的一个通常用法为传递一个含有匹配字符串的文件给它:
$ sudo fgrep -f file_full_of_patterns.txt file_to_search.txt
这仅仅是**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)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://www.tecmint.com/35-practical-examples-of-linux-find-command/

View File

@ -0,0 +1,36 @@
每日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)

View File

@ -1,22 +1,26 @@
occupied by rogetfan
Ubuntu每日贴士——Ubuntu中通过Cheese支持Webcom
每日Ubuntu小技巧——Ubuntu中通过Cheese支持Webcom
================================================================================
对于一些Ubuntu的新用户如果你们想在Ubuntu中使用webcam的话这里有一些信息能够帮助到你们。正如你们说知道的
那样Ubuntu致力于支持绝大多数webcomright out of the box 网络翻译为开箱,我在这里并不这样认为,所以暂时不
去翻译大多数webcom生产商并不为Linux系统提供驱动包括Ununtu。所以Linux开发者们必须能够尽最大努力让webcom设备在Linux内核中能够运行。
支持Linux的webcam驱动由Linux UVC项目提供[UVC][1]。
该项目意图为webam提供一个万能USB支持就像一个通用USB驱动控制一些USB设备例如U盘外部USB设备和其他一些设备。
大多数主流的USB webcam设备都可以在Linux系统下工作其中包括支持Linux UVC项目驱动的Ubuntu。如果你想为你的Ubuntu计算机购
买一个webcam设备,又不确信它是否能被支持,最好参照一下下面的列表[check out the UVC supported webcam list][2].
上面列出的webcam都能够很方便地应用在Linux机器中。因此在为你的机器购买webcam之前查看一下列表并找到你喜欢的某块
在购买一个支持Linux系统的模块之后你需要一个程序来操纵你的摄像头。现如今最流行的Ubuntu webcam程序叫做Cheese.Cheese 允许用户访问自己的webcam并方便地播放视频。
对于一些Ubuntu的新用户如果你们想在Ubuntu中使用webcam的话这里有一些信息能够帮助到你们。正如你们说知道的那样Ubuntu旨在支持绝大多数webcom而且是现成可用的。大多数webcom生产商并不为Linux系统提供驱动包括Ununtu。所以Linux开发者们必须能够尽最大努力让webcom设备在Linux内核中运行。
支持Linux的webcam驱动由Linux UVC项目提供[UVC][1]。该项目意图为webam提供一个万能USB支持就像一个通用USB驱动控制一些USB设备例如U盘外部USB设备和其他一些设备。
大多数主流的USB webcam设备都可以在Linux系统下工作其中包括支持Linux UVC项目驱动的Ubuntu。如果你想为你的Ubuntu计算机购买一个webcam设备,又不确信它是否能被支持,请[核查支持UVC的webcam列表][2].
上面列出的webcam都能够很方便地应用在Linux机器中。因此在为你的机器购买webcam之前查看一下列表并找到你喜欢的模块。
在购买一个支持Linux系统的模块之后你需要一个应用程序来播放或者观看视频。现如今最流行的Ubuntu webcam应用程序是Cheese.Cheese 允许用户访问自己的webcam并能够轻松播放视频。
输入以下命令安装Cheese
sudo apt-get install cheese
安装完成之后在Unity Dash中打开它就能运行。如果webcam驱动已经载入Cheese就能够从Webcam中输出视频。
只要你有一个配备了webcam的笔记本电脑那它就可以工作因为大多数USB webcam设备是在Ubuntu中通用的。你该做的就是安装Cheese并体验。
输入以下命令安装Cheese
sudo apt-get install cheese
安装完成之后在Unity Dash中打开它就能运行。如果webcam驱动已经载入Cheese就能够从Webcam中输出视频。
只要你有一个配备了webcam的笔记本电脑那它就可以工作因为大多数USB webcam设备是在Ubuntu中通用的。
你该做的就是安装Cheese并享受它
如果你不能令当前的webcam在Ubuntu中工作就应该尝试购买一个能够工作的模块!
尽情享受吧!
--------------------------------------------------------------------------------
@ -24,7 +28,7 @@ via: http://www.liberiangeek.net/2013/09/daily-ubuntu-tips-webcam-support-ubuntu
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
译者:[rogetfan](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
译者:[rogetfan](https://github.com/译者ID) 校对:[Caroline](https://github.com/carolinewuyan)
[1]:https://help.ubuntu.com/community/UVC
[2]:http://www.ideasonboard.org/uvc/
[2]:http://www.ideasonboard.org/uvc/

View File

@ -0,0 +1,66 @@
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/) 荣誉推出

View File

@ -0,0 +1,41 @@
如何在Ubuntu 13.10上安装Linux内核 3.12
================================================================================
**Ubuntu 13.10 用户不必再羡慕地看着新的Linux内核发布他们也可以相对轻松地更新他们的系统。**
Canonical公司一贯的做法是在一整个开发周期中始终使用一个Linux内核。例如Ubuntu 13.10始终基于Linux内核 3.11但现在已经推出一个新的稳定的Linux内核3.12。
Ubuntu用户只有等到14.04 LTS发布以后才能得到一个较新版本的Linux内核但到那之前他们也可以选择安装新的版本。
不过我们必须从一开始就提醒你。Canonical不建议你更新除官方渠道以外的比其他版本的Linux内核。这不是一个完全安全的过程你以后可能会遇到问题甚至系统故障。但另一方面你的系统性能可能会得到提升。
你将要下载的内核来自Canonical公司这意味着它已经在.deb格式。你不需要再自己编译。打开一个终端导航到Downloads文件夹输入以下命令
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.12-saucy/linux-image-3.12.0-031200-generic_3.12.0-031200.201311031935_amd64.deb
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].
现在,你将像运行任何其它程序一样运行这些.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版的内核,只需使用众所周知命令。
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
记住,以上所示的文件名变化很快。如果无法下载,请更新新的链接。
开始享受Linux 3.12内核吧!
--------------------------------------------------------------------------------
来源于: 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)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.12-saucy/

View File

@ -0,0 +1,35 @@
如何使用LibreOffice把DOCX, DOC, RTF, ODT 转换成PDF
================================================================================
在学校、公司、政府,或者是在网页传播的书籍、文档、报告、教程等等文档均被封装成各种格式。
有时候会有某一些特定的需求比如把一个文档转换成PDF格式这时通过[LibreOffice][1]. 就能轻易完成。
使用LibreOffice Writer用户可以轻易地把书籍、文档等等文件转换成PDF格式而且还可以把任意可以打开的格式转换成PDF格式。
举个例子把DOC文档转换成PDF格式
- 右键单击DOC文档点击“Open With LibreOffice Writer”使用LibreOffice打开DOC文档
![](http://iloveubuntu.net/pictures_me/libreoffice%20convert%20pdf%20ubuntu%2013.10.png)
- 在导航栏中依次选中LibreOffice-->File-->Export as PDF在弹出的PDF Options对话框中选择文件路径对话框中程序已经智能的设置了默认选项
![](http://iloveubuntu.net/pictures_me/libreoffice%20export%20as%20pdf%2013.10.png)
点击Export按钮就能把DOC文档转换成PDF格式并且保存在指定目录。
成果在DOC文档边上的就是新的PDF文档原有的DOC文档仍被保留
同样的道理还可以应用在RTF, DOCX, ODT等其他格式的文档上。
--------------------------------------------------------------------------------
via: http://iloveubuntu.net/how-convert-docx-doc-rtf-odt-pdf-libreoffice
译者:[NearTan](https://github.com/NearTan) 校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://www.libreoffice.org/

View File

@ -1,117 +0,0 @@
Linux Pmap 命令 - 查看进程用了多少内存
================================================================================
Pmap 提供进程的内存映射pmap命令显示一个或多个进程的内存状态。Pmap报告进程地址空间和内存状态信息。Pmap实际上是一个Sun OS命令linux仅支持有限的功能。但是它还是对查看完整的进程地址空间很有帮助。检查[进程内存状态][1]我们需要PID或者运行的进程的唯一进程ID,我们可以在/proc或者常规命令比如top或ps得到它.
### 语法或用法 ###
#pmap PID
或者
#pmap [options] PID
在输出中它显示全部的地址,kbytes,mode还有mapping。
### 选项 ###
-x extended显示扩展格式
-d device显示设备格式
-q quiet不显示header/footer行
-V 显示版本信息
### 单一进程内存状态 ###
[root@info ~]# pmap 1013
1013: /usr/sbin/sshd
00110000 1480K r-x /usr/lib/libcrypto.so.1.0.0
00282000 80K rw— /usr/lib/libcrypto.so.1.0.0
00296000 12K rw— [ anon ]
00299000 36K r-x /lib/libkrb5support.so.0.1
002a2000 4K rw— /lib/libkrb5support.so.0.1
002a3000 16K r-x /lib/libplc4.so
002a7000 4K rw— /lib/libplc4.so
002ab000 88K r-x /lib/libaudit.so.1.0.0
002c1000 4K r—- /lib/libaudit.so.1.0.0
002c2000 4K rw— /lib/libaudit.so.1.0.0
002c3000 216K r-x /lib/libgssapi_krb5.so.2.2
002f9000 4K rw— /lib/libgssapi_krb5.so.2.2
002fa000 808K r-x /lib/libkrb5.so.3.3
003c4000 24K rw— /lib/libkrb5.so.3.3
003ca000 152K r-x /lib/libk5crypto.so.3.1
003f0000 4K rw— /lib/libk5crypto.so.3.1
003f1000 92K r-x /usr/lib/libnssutil3.so
00738000 4K r—- /lib/libresolv-2.12.so
00739000 4K rw— /lib/libresolv-2.12.so
0073a000 8K rw— [ anon ]
00825000 120K r-x /lib/ld-2.12.so
00843000 4K r—- /lib/ld-2.12.so
00844000 4K rw— /lib/ld-2.12.so
0090d000 32K r-x /lib/libwrap.so.0.7.6
00915000 4K rw— /lib/libwrap.so.0.7.6
00948000 484K r-x /usr/sbin/sshd
009c1000 8K rw— /usr/sbin/sshd
009c3000 20K rw— [ anon ]
009e0000 92K r-x /lib/libpthread-2.12.so
009f7000 4K r—- /lib/libpthread-2.12.so
total 8232K
### 多进程内存状态 ###
我们可以检查多进程内存通过插入多个PID。加入多个PID中间需要空格。
pmap 1013 1217 1118
### 扩展进程内存 ###
[root@info ~]# pmap -x 1013
1013: /usr/sbin/sshd
Address Kbytes RSS Dirty Mode Mapping
00110000 1480 92 0 r-x libcrypto.so.1.0.0
00282000 80 80 80 rw— libcrypto.so.1.0.0
00296000 12 8 4 rw— [ anon ]
00299000 36 0 0 r-x libkrb5support.so.0.1
002a2000 4 4 4 rw— libkrb5support.so.0.1
002a3000 16 0 0 r-x libplc4.so
002a7000 4 4 4 rw— libplc4.so
002ab000 88 4 0 r-x libaudit.so.1.0.0
002c1000 4 4 4 r—- libaudit.so.1.0.0
002c2000 4 4 4 rw— libaudit.so.1.0.0
002c3000 216 4 0 r-x libgssapi_krb5.so.2.2
002f9000 4 4 4 rw— libgssapi_krb5.so.2.2
002fa000 808 4 0 r-x libkrb5.so.3.3
003c4000 24 24 24 rw— libkrb5.so.3.3
003ca000 152 4 0 r-x libk5crypto.so.3.1
003f0000 4 4 4 rw— libk5crypto.so.3.1
003f1000 92 0 0 r-x libnssutil3.so
00408000 12 12 12 rw— libnssutil3.so
0040b000 12 0 0 r-x libplds4.so
0040e000 4 4 4 rw— libplds4.so
——– ——- ——- ——- ——-
total kB 8232 -
这里的AddressKbyteDirtyRSSmode还有mapping包含在下面
### 扩展和设备格式区域 ###
Address: start address of map
Kbytes: size of map in kilobytes
RSS: resident set size in kilobytes
Dirty: dirty pages (both shared and private) in kilobytes
Mode: permissions on map: read, write, execute, shared, private (copy on write)
Mapping: file backing the map, or [ anon ] for allocated memory, or [ stack ] for the program stack
Offset: offset into the file
Device: device name (major:minor)
--------------------------------------------------------------------------------
via: http://linoxide.com/linux-command/pmap-command/
译者:[flsf](https://github.com/flsf) 校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://www.linoxide.com/linux-shell-script/linux-memory-usage-program/

View File

@ -1,36 +0,0 @@
Linux 首款太空剧场的游戏 'The Mandate' 发布令人震撼的预告片!!
================================================================================
Perihelion Interactive 已经宣告发布一个在Kickstater倍受瞩目的太空类游戏 'The Mandate' 的首个游戏预告片.
根据开发者的简述The Mandate 由六玩家协作在开发的世界控制一辆载着数百人巨船的科幻RPG游戏.
游戏会根据不同的情境变化.在太空里,这类似于<银河创世纪:木星事件>,但 The Mandate 提供了更完整的RPG体验.
举例来说,玩家能在太空船上等角透视的操作和战斗,当其他的党派正在雇佣船只时.更好的是,他们不得不同样的保护它们拥有的战船.
![](http://i1-news.softped在ia-static.com/images/news2/Linux-s-First-Space-Opera-Game-quot-The-Mandate-quot-Gets-a-Fabulous-Trailer-394858-2.jpg)
'游戏预告开头部分是中立的Zukov星际飞船遭到海盗的袭击后发出了遇难信号.信号被由效忠Mandate女王阿济莫夫指挥战斗中队的一个队员截获.队员与海盗交涉,给了他们投降和撤回的机会,但是战争随之来到.绝对的统治,'摘自官方[宣告][1]
游戏由Unity 3D引擎开发!!!,但是目前游戏仍处于开发初级阶段与最终产品可能看起来很不同.
工作室内都是行业的资深人士,曾开发过佷多有影响力的游戏,像刺客信条,刺客信条II,黑手党II,孤岛惊魂2,科南时代:西伯莱人大冒险,使命召唤3,和神秘世界.更重要的是,他们都是痴迷CRPG的玩家,喜爱星际争霸,星际迷航,巴比伦5号和萤火虫.
来自Perihelion Interactive 公司的开发者已经成功募集三分之一的资金,但他们还有34天的时间.
游戏预计将在2015年3月发行.如果你对这个项目有兴趣,你可以看看Kickstarter官方网站.
youtube video:[http://www.youtube.com/embed/lf-lB51wlNo][2]
--------------------------------------------------------------------------------
via: http://news.softpedia.com/news/Linux-s-First-Space-Opera-Game-quot-The-Mandate-quot-Gets-a-Fabulous-Trailer-394858.shtml
译者:[Luoxcat](https://github.com/Luoxcat) 校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://www.kickstarter.com/projects/1964463742/the-mandate/posts
[2]:http://www.youtube.com/embed/lf-lB51wlNo

View File

@ -1,292 +0,0 @@
树莓派Raspberry Pi完美的家庭服务器
---
自从树莓派发布公告,所有在互联网上的网站为此令人兴奋的设备提供了很多有趣和具有挑战性的使用方法。虽然这些想法都很棒,最明显和至少最迷人的是用树莓派( **RPi** )创建你的家庭服务器。
如果你有几个不同的电脑需要同步和自动化备份RPI可以做到。如果你有音乐和视频在房子里你想要能够从几乎任何屏幕上访问到RPi也可以让这种事情发生。也有你有一个或两个打印机你想要很容易的共享其中一个树莓派在硬件和时间上用最小投资就能满足你的这些需求。
**树莓派的好处**
低成本35美元约合242元RMBRPi模型B接近一台完整的电脑512M内存100Mb以太网SD卡插槽2个USB接口音频输出和HDMI或RCA视频输出。我见过的HDMI电缆其费用超过RPI。
能源效率硬件成本只是服务器费用的一部分因为你需要考虑能源成本去不断运行设备。多CPU所需的家用不会去支付大部分时间它都处于空闲中等待做什么。RPi's超低功率组件非常适合这个工作负载这有助于使你的电力账单下降。我的模型B单个加上外部硬盘消耗总共只有8瓦while the old Athlon-based box it replaced drew 54 watts at idle.假设10美分每千瓦一小时这使得一个RPi每年电力账单在7美元。一个基于速龙的机器是47美元。在不到一年的时间里RPI基本上支付其自身。
低噪音因为RPi没有风扇和移动部件在你最终配置中的唯一组件上生成噪音或任何明显热量的将在硬盘上。如果你担心噪音像[Silent PC Review][1]发烧友网站经常在他们的评论中包括噪声基准。我的经验是现代驱动器是安静的足够避免检测任何地方有其他东西已在运行如媒体中心游戏控制台或其他电脑。如果你家里没有为布线提供更多的灵活性RPi's的小尺寸最小热输出和低噪音排放量也许使它可能偷偷的在服务器中在过去很难证明。
![](https://github-camo.global.ssl.fastly.net/37922c152a6abd82b42ca0a965a311e8914fbb16/687474703a2f2f7777772e6c696e75786a6f75726e616c2e636f6d2f66696c65732f6c696e75786a6f75726e616c2e636f6d2f7566696c65732f696d61676563616368652f6c617267652d35353070782d63656e74657265642f75313030323036312f313134353466312e6a7067)
图1,一个紧凑但高能力的家庭服务器
新机会一个不那么有实质的好处是简单快乐的尝试新事物对我来说我第一时间工作在基于Debian的发行版它大概在第一时间有很多linux爱好者将尝试改变一个基于ARM的体系结构。
**布置硬件**
对于一个家庭服务器来说你将为本地存储需要一个中等大小的SD闪存卡。它可以使用一个USB引导但那会用两个宝贵的USB插槽之一。闪存卡不需要很大但是速度越快越好。我选择了一个名牌SD卡8GB容量和10级速度等级。为了备份和多媒体文件一个大的硬盘与USB连接插槽是必须的。我选择一个1.5TB的硬盘和一个Calvary EN-CAHDD-D 2-bay USB 2.0硬盘连接插槽。这个连接插槽有个功能在RAID-0模式中运行两个驱动器总有一天会有用。最后RPi不带电源线但大多数智能手机充电器电源线所需的5v以上微型USB。看看RPi是否在意电源我为电源已换了三个不同的微型USB手机充电器。我在这周里尝试了每一个在任何一个上都没有问题。
**安装操作系统**
安装RPi操作系统在其他地方涵盖广泛细节但是有一些家庭服务器特定的提示大致按需要的顺序。
1直接通过[http://www.raspberrypi.org/downloads][2]获取Raspbian "Wheezy"安装镜像并复制到SD卡用网站上已列出的步骤。
2第一次引导RPi时附加一个键盘鼠标和显示器。在引导RPi之前别忘打开显示器可以检测更正HDMI或合并输出端口。
3RPi有一个很好的"raspi-config"屏幕,在第一次启动时你会看到。对于家庭服务器来说,以下选择将会有用:
- expand_rootfs调整默认2GB OS镜像来填充剩余的闪存卡。
- change_pass默认密码是"raspberry",但是,比这更安全的会更好。
- 设置你的地点和时区。
- memory_split分配最小值尽可能为GPU服务留下更多空间。
- SSH别忘开启SSH服务。
- boot_behaviour关闭启动至桌面再次为你的服务保存内存
完成后,你将在 `pi@raspberrypi` 提示符下。安装脚本可以在任何时间通过 `sudo raspi-config` 重新运行。
只是一些配置项,然后操作系统已经准备就绪。
1一个静态IP让一切变得更容易切换eth0的网络设置
>>> sudo nano -w /etc/network/interfaces
更改eth0 `iface eth0 inet dhcp` 行,如下所示(更改以满足你的家庭网络设置):
======/etc/network/interfaces======
...
iface eth0 inet static
address 192.168.1.10
netmask 255.255.255.0
gateway 192.168.1.1
...
======/etc/network/interfaces======
2创建本地用户并加入到users组和sudo组
>> sudo adduser YOURUSERIDHERE
>> sudo usermod -a -G users YOURUSERIDHERE
>> sudo usermod -a -G sudo YOURUSERIDHERE
3更新系统确保所有的库是最新最好的
>> sudo apt-get update; sudo apt-get upgrade
4这里准备无脑吧关闭PI
>> sudo /sbin/shutdown -h now
一旦关闭显示器绿色指示灯在RPi电路板知道当完成关闭拔下显示器键盘鼠标和电源线。附加USB存储器然后插回电源重启RPi。
5一旦RPi开启再次这些绿色指示灯提示其状态你可以从远程网络上从任何其他机器ssh到RPi并完成所有的配置更改以下命令里的IP为你的静态IP
`>> ssh YOURUSERIDHERE@192.168.1.10`
祝贺你,有了一个工作中的树莓派!
**外围设备**
第一要务是要装入外围设备。用dmesg来寻找你的存储设备会发现--几乎可以肯定是/dev/sda。我喜欢使用自动挂载去处理挂载远程存储设备因为关于交换设备可能不存在或准备在启动时间更灵活
>> sudo apt-get install autofs
>> sudo nano -w /etc/auto.master
======/etc/auto.master======
...
/misc /etc/auto.misc
...
======/etc/auto.master======
>> sudo nano -w /etc/auto.misc
注意我的外部存储设备是ext4格式--如果需要为你需求更改这个:
======/etc/auto.misc======
...
storage -fstype=ext4:/dev/sda1
...
======/etc/auto.misc======
>> sudo /etc/init.d/autofs restart
>> ls -lat /misc/storage
可选,创建一个符号链接至短路径:
>> ln -s /misc/storage /storage
**备份仓库**
在任何家庭服务器功能列表的顶端是提供坚如磐石的备份。RPi这是漂亮而简单在Linux中基于范围广泛的网络共享选项Samba/CIFS用于Windows机器NFS用于基于UNIX的设备并且甚至SFTP用于更多先进的备份客户端像deja-dup。由于RPi只有100MB以太网和在USB上的存储设备它没有非常快的传送速度。在其他方面好的备份客户端在后台自动运行所以它不会注意稍慢的传输速度。
我的家庭网络包括一台Windows7电脑。对于它我通过Samba在RPi's外部USB存储设备上导出一个备份目录。因为备份程序在Windows7的基础版本不支持网络设备作为一个备份目标我使用[SyncBack Free][3]去设置使其自动化,每日备份。
简单设置Samba。
1安装samba和common-bin库具有smbpasswd效用
>> sudo apt-get install samba samba-common-bin
2使用 `smbpasswd` 让你的本地ID能访问
>> sudo smbpasswd -a YOURUSERIDHERE
3编辑samba配置文件
>> sudo nano -w /etc/samba/smb.conf
4)更改 `workgroup = WORKGROUP` 行去匹配你的Windows工作组名称。
5注释掉或删除[homes]和[printers]共享。(打印机通过CUPS访问。)
6为Windows备份路径增加一个条目。这是我的示例放置在该文件的底部
======/etc/samba/smb.conf======
...
[win7pc]
comment=Backup for windows PC
path=/storage/win7pc
writeable=Yes
create mask=0777
directory mask=0777
browsable=Yes
public=Yes
valid users=YOURUSERIDHERE
...
======/etc/samba/smb.conf======
7重启Samba使你的编辑生效
>> sudo /etc/init.d/samba restart
8从Windows机器文件资源管理器通过映射一个网络设备测试连通。
对Linux设备来说deja-dup是智能简单的设置和使用。它被默认安装在我的Fedora 18和Ubuntu 12.10上。包的名称是“deja-dup”前端简单的称为“Backup备份”。虽然RPi很容易支持NFS导出我发现使用deja-dup的SSH选项更容易更方便在RPi上它消除了对额外服务的需要。指定一个deja-dup加密密码是一个好主意除非你喜欢的好主意全都进入别人的存储设备
>> sudo mkdir /storage/linuxlaptop
>> sudo chown -R YOURUSERIDHERE:YOURUSERIDHERE /storage/linuxlaptop
从linux客户端启动备份程序选择“SSH”作为备份位置输入RPi's IP地址和你创建的存储位置。首次备份会很慢但是未来运行将只发送增量变化速度更快。
![](https://github-camo.global.ssl.fastly.net/08111990037d492b22d45de49816f5bc2b02933a/687474703a2f2f7777772e6c696e75786a6f75726e616c2e636f6d2f66696c65732f6c696e75786a6f75726e616c2e636f6d2f7566696c65732f696d61676563616368652f6d656469756d2d33353070782d63656e74657265642f75313030323036312f313134353466322e706e67)
图2,Deja-dup客户端设置
**多媒体服务器DLNA**
现在每个人的文件安全的备份。让我们继续一些乐趣一个DLNA服务器将给你一个集中地去存储你的电影音乐和图片。DLNA客户端可以在房子的每个屏幕不费力的重放这个内容。
至少这是承诺。现实情况是DLNA规格不相当使很多重要的事情固定像格式或编码。每个客户端通常希望支持什么格式和服务器功能的一个稍微不同的想法。很多高功率服务器也许能转码本地内容到移动设备支持的格式但是在RPi上不是问题在即时烧录转码上经常扰乱其他功能如暂停快进和倒带。一般情况下高功率设备如PS3,Xbox和WD TV设备大多数格式无需任何转码。低端设备如智能TVs或Blu-ray播放器支持更多的编码限制列表。
对于RPi来说最好的办法是简单的进行标准编码去支持你的初级DLNA设备然后测试你的其他DLNA客户端。如果没有完美播放在下一节提示中也许有帮助。在我的案例中我的PlayStation 3充当DLNA客户端which plays nicely with the compact .m4v files generated by Handbrake。对于DLNA服务器Minidlna是个很好的选择。它已经在Raspbian发行版中易于设置和使用最小服务资源运行
>> sudo apt-get install minidlna
>> sudo nano -w /etc/minidlna.conf
这是我/etc/minidlna.conf文件的有关部分
...
# I found keeping video + audio in different paths helpful
media_dir=V,/storage/dlna/video
media_dir=A,/storage/dlna/music
...
presentation_url=http://192.168.1.10:8200/
...
friendly_name=MyRPi
...
# Since I add new media infrequently, turning off
# inotify keeps minidlna for polling for
# content changes. It's simple enough to run
# sudo /etc/init.d/minidlna force-reload
# when new content is added.
inotify=no
一旦完成编辑告诉minidlna重启并重新扫描内容
>> sudo /etc/init.d/minidlna force-reload
Minidlna有能力为你的设备支持的电影提供电影海报缩略图像PS3。这让找到一个特定的电影在滚动几十个电影文件时更方便。我发现最兼容文件布局的是每个电影一个目录只是包含影片文件的缩略图图像命名为“Cover.jpg”。使用像"MovieName.m4v"和"MovieName.jpg"的格式为PS3正常工作。但它破坏VLC如果你能说服VLC uPNP插件首先查找服务器
通过PS3你可以通过转到在XMB栏上的"Video"测试连通性。当视频向下滚动时,你以前设置的"friendly_name"应该是可见的测试确保Minidlna是通过浏览器转到http://192.168.1.10:8200/。
**对于非 DLNA 设备多媒体**
一旦DLNA与你的设备工作你会发现它不想工作所以多媒体计划B是个好主意。Nginx网站服务器有一个MP4插件尝试改善流传输plain-old HTTP但是浏览器重放性能差别很大快进在一部电影里也一贯不工作。它看起来像为多媒体共享或非 DLNA 设备最低的共同标准是好旧的老式的 Samba 共享与来宾只读访问。
这是/etc/samba/smb.conf的部分示例
[dlna]
path=/storage/dlna
read only=yes
browsable=yes
public=yes
定义所占份额和重启Samba后 `sudo /etc/init.d/samba restart` ),你可以开始测试你的客户端。
我测试了以下客户端与一个混合视频编码with Handbrake作为m4v文件
- Android 4.0.4手机:"ES File Explorer"与"ES Media Player"(播放器附带安装)。
- Android 4.1.2平板电脑:"ES File Explorer"与"ES Media Player"(播放器附带安装)。
- Linux设备自动挂载//192.168.1.10/dlna然后使用VLC或MPlayer。
- Windows挂载//192.168.1.10:/dlna然后使用VLC。
所有设备都能几乎立即开始播放和快进没有延迟的情况。
**打印服务器**
RPi运行CUPS相当不错所以它易于共享一个较旧的没有本机网络功能的打印机。
安装你的打印机所需的CUPS和任何软件包。我需要hplip-cups因为我也有HP喷墨打印机
>> sudo apt-get install cups hplip-cups
更新“Listen”行和增加 `Allow @LOCAL` 到位置指令如下所示你可以使用其他机器在你的LAN上去管理CUPS
======/etc/cups/cupsd.conf======
#Listen localhost:631 #Comment this out
Listen 192.168.1.10:631 #Add this line
...
<Location />
Order allow,deny
Allow @LOCAL
</Location>
# Restrict access to the admin pages...
<Location /admin>
Order allow,deny
Allow @LOCAL
</Location>
# Restrict access to configuration files...
<Location /admin/conf>
AuthType Default
Require user @SYSTEM
Order allow,deny
Allow @LOCAL
</Location>
======/etc/cups/cupsd.conf======
添加你的本地ID到lpadmin组就能管理CUPS
>> sudo usermod -a -G lpadmin YOURUSERIDHERE
重启CUPS
>> sudo /etc/init.d/cups restart
然后转到http://192.168.1.10:631/并点击 "Adding Printers and Classes"去设置你的打印机。我的打印机是自动发现USB所以我的一切被点击“share”。同样访问https://192.168.1.10:631/admin确保检查“Share printers connected to this system共享打印机连接至这个系统”。
一旦你做完你可以用通常的方式设置你的客户端。一旦我输入主机名我的Linux客户端自动发现打印机并挑选正确的打印机设备。在我的Windows7的机器上一旦我选择“Network Printer网络打印机我必须点击“The printer that I want isn't listed我想要的打印机未列出选择“Select a shared printer by name通过名称选择共享的打印机然后从CUPS网络接口输入URLhttp://192.168.1.10:631/printers/HP_J4500。
**结论**
用最少的额外的硬件和配置树莓派可以是高可用的简洁的家庭服务器。它通过Linux进入家庭环境与最少硬件费用带来提供广泛的企业服务。
--------------------------------------------------------------------------------
via: http://www.linuxjournal.com/content/raspberry-pi-perfect-home-server
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
译者:[译者ID](https://github.com/vito-L) 校对:[校对者ID](https://github.com/校对者ID)
[1]:http://www.silentpcreview.com/
[2]:http://www.raspberrypi.org/downloads
[3]:http://www.2brightsparks.com/freeware/freeware-hub.html

View File

@ -0,0 +1,35 @@
Fedora 20新的网络配置功能、支持 ARM 设备
================================================================================
为了修复一些 bug 从而增强系统稳定性,在连着跳票几周后,最新的 [Fedora Linux][1] 终于要在12月份出来了。Fedora 是一款为 [RHEL][2] 做软件测试用的开源操作系统(即 Red Hat 公司会将那些在 Fedora 系统运行稳定的软件版本吸收到 RHEL 系统中 —— 译者注),这次更新将会带来什么样的变化呢?让我们来看一下。
![](http://thevarguy.com/site-files/thevarguy.com/files/imagecache/medium_img/uploads/2013/11/grayscale.jpg)
早在10月末Fedora 项目就宣布 Fedora 20 正式版要延迟一周发布Fedora 项目计划在每年的4月和10月发布新的版本但几乎每次都在跳票所以见怪不怪了 —— 译者的吐槽。在11月1号Fedora 项目又宣布将 Fedora 20 推迟一周。而[现在的计划][3]再次变成11月12日发布 Beta 版12月17日发布正式版。
这个三连跳不禁又要让 Fedora 用户伤心一阵子了,但开发者说不断的修改发布计划,是为了让 Fedora 以更完美的姿态出现在大众眼前。Fedora 这种追求完美的策略,与 [Canonical][4] 旗下的 [Ubuntu][5] 追求效率的策略形成鲜明的对比。Ubuntu 更愿意按计划发布新版本,这有助于它抢占 Linux 市场。)
抛下进度不提Fedora 用户还是可以对这次最新最棒的版本更新抱有很大期望的。比如为了将桌面轻量化Fedora 20 不再默认安装一些软件,像 syslog 和 sendmail。
NetworkManager 增加了一些很有用的功能比如支持网桥和网卡绑定在以前要实现这两个酷酷的功能需要通过复杂的命令行操作。在布署复杂的网络环境特别是在云计算和软件定义网络SDN现在的 Fedora 对用户来说更有吸引力了。
Fedora 20 的目标是完全支持 ARM 设备(特别是 ARM7hl这个目标能让它在移动终端和一些新兴硬件产品占有一席之地。
这些改进能让 Fedora 20 成为本季度最引人注目的 Linux 桌面发行版 —— 特别是在上月发布的 Unbuntu 13.10 的衬托下。Ubuntu 13.10 为桌面用户带来[极少的更新][6]。(它更多的是针对[服务器和云的更新][7]。)
由于 Red Hat 公司会从 Fedora 中挑选稳定可靠的软件版本并吸收到 RHEL 中,所以 Fedora 社区里会有很多高端用户。而对于社区中的这些用户来说本次更新也是有重要意义的。他们应该在12月如果不再跳票就可以拿到 Fedora 20 正式版了,并且会期待着 Red Hat 公司什么时候能将这些新特性加入到 RHEL 中。
--------------------------------------------------------------------------------
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)
本文由 [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

View File

@ -0,0 +1,47 @@
闭源(或者看起来似乎)优于开源的七个缘由
================================================================================
![](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/) 荣誉推出

View File

@ -0,0 +1,30 @@
万圣节档案微软的反Linux战略15周年回顾
================================================================================
> 自从微软的反Linux、反开源战略备忘录泄露以来已经整整过去了15个年头。让我们来回顾一下这一战略是如何失败的。
![](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”这样的词汇第一次被收入辞典到了今天很多情况已经改变而未曾改变的又有哪些微软和开源世界今天能够和睦相处了吗
万圣节档案之所以这么称呼是因为它是1998年10月最先泄露出来的档案与万圣节本身并没有什么实际联系作为一个忠实的节日粉我对这一点略显失望。不过要想了解微软与开源世界之间的历史渊源首先了解这些备忘录是至关重要的。
它们是第一份揭露微软肮脏“诡计”的档案文档显示微软计划抵制开源活动尤其要防止Linux影响其收益。对公司来说第一个关键战略是通过注册专利协议来锁定微软的软件客户另一个则是通过比Linux更低的价格兜售自家软件例如提供更低价格的所有权总成本然而文档显示微软自己都发现Linux自始至终在很多方面都比微软要便宜。
历史证明微软的战略大错特错。Raymond发布第一份文档的15年来后来伴随着大量的评论他又不断在自己的网页上添加了更多的文档微软不断得到市场的肯定而Windows和Linux共存的局面也一直在持续。尽管万圣节档案中承认多年来微软在不断失去一些重要的市场份额例如服务器操作系统与相关应用程序而这一点曾令微软高层大为恐慌但其实Linux与开源从未对微软构成实质性威胁。即使万圣节档案中的目标达到了如今的微软可能也只是变成一家更富有的企业而已。
但故事还没完。如今微软和开源世界之间的小火花在许多领域不断升级。虽然Redmond不必再担心Linux会取代微软旗舰软件或桌面电脑的地位但在其他领域例如移动世界基于Linux的Android还有“衍生品”iOS构成了微软意图统治平板电脑和智能手机所要面临的主要挑战还有在云计算和大数据方面开源软件一直在开疆拓域例如Hadoop和OpenStack现在微软和其他直接竞争者已根本无法对其形成真正的威胁。领域不同但游戏规则一致开源生态系统始终都在环伺微软左右。
当然如今的微软也不再是1998年的微软。多年前大肆扩张的时代已经过去现在很难想象还有哪种破坏性的挑战足以威胁到微软如此巨大的桌面操作系统份额和办公软件市场。如果微软的确面临衰退也不是因为Linux而是因为传统计算机领域的结构升级 —— 而短时间内这样的变化还不会到来。
今天值得我们再次重温万圣节档案提醒自己不要逃避开源世界的竞争。长远来看开源软件开发模式能够大大地增进繁荣共享软件市场而引入开源技术及其开发模式的公司例如红帽其发展远比那些因为“恐惧、未知与怀疑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)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://www.catb.org/~esr/halloween/

View File

@ -1,130 +0,0 @@
07 Linux内核: 配置内核(Part 3)
================================================================================
![](http://www.linux.org/attachments/slide-jpg.388/)
好了,我们还在继续配置内核。还有更多功能等待着去配置。
下一个问题(Enable ELF core dumps (ELF_CORE))询问的是内核是否可以生成内核转储文件。这会使内核变大4KB。所以我选择了"no"。
注意:内核转储文件(内存或者系统的转储)是程序崩溃前已记录的状态。内核转储是用来调试问题的。这个转储文件的格式是ELF(Executable and Linkable Format )。
下面可以启用PC扬声器(Enable PC-Speaker support (PCSPKR_PLATFORM))。大多数计算机用户拥有并使用扬声器,所以这个启用它。
虽然下面的特性会增加内核的大小(Enable full-sized data structures for core (BASE_FULL)),但性能也随之增加。所以我选择"yes"。
为了是内核运行基于glibc的程序必须启用FUTEX(Enable futex support (FUTEX))。这个特性启用了快速用户空间互斥锁(Fast Userspace muTEXes)。
注意:glibc(GNU C Library)是由GNU实现的标准C库。
注意FUTEX (fast userspace mutex)是用来防止两个线程访问同一个每次不应该被多个线程使用的资源。
下一个问题(Enable eventpoll support (EPOLL))可以通过回答"no"来禁用epoll系统调用。然而为了含有epoll系统调用我选择了"yes"。epoll是一种I/O事件通知系统。
为了收到来自文件描述符的信号我们启用signalfd系统调用(Enable signalfd() system call (SIGNALFD)。
如果启用这个特性(Enable timerfd() system call (TIMERFD)),它允许程序使用定时器事件获取文件描述符。
我们现在的配置必须启用eventfd系统调用(Enable eventfd() system call (EVENTFD))。它默认启用访问共享内存文件系统(Use full shmem filesystem (SHMEM)。共享内存文件系统是一种虚拟内存文件系统。
下一个问题是"Enable AIO support (AIO)"。这个特性启用了线程化程序使用的POSIX异步I/O。
注意异步I/O用来处理输入/输出,它允许线程在传输完成前就完成处理。
如果你正在给一个嵌入式系统嵌入一个内核那么问题“Embedded system (EMBEDDED)”可以选择"yes"。否则就像我一样选择"no"。
注意:嵌入式系统是运行在一个更大电子系统的实时计算机。
现在,我们可以配置内核性能事件和计时器了。配置工具没有给开发者选择直接启用了事件和计数器(Kernel performance events and counters (PERF_EVENTS))。这是一个重要特性。
接下来,我们可以禁用另外一个调试特性(ebug: use vmalloc to back perf mmap() buffers (DEBUG_PERF_USE_VMALLOC))。
如果启用了VM事件计数器那么事件计数就会显示在/proc/vmstat(Enable VM event counters for /proc/vmstat (VM_EVENT_COUNTERS))。如果禁用了事件计数就不会显示,/proc/vmstat只会显示页计数。
为了更好地支持PCI芯片(Enable PCI quirk workarounds (PCI_QUIRKS))回答yes。这会启用对PCI芯片的怪异行为和bug的临时解决方案。
下面一个调试特性可以像我一样禁用掉(Enable SLUB debugging support (SLUB_DEBUG))。这个特性会耗费很多空间并且会禁用用于调试内核的SLB sysfs。如果这个特性被禁用那么/sys/slab就不会存在并且系统上也不再支持缓冲验证。
堆随机化是一个使利用堆漏洞更加困难的特性(Disable heap randomization (COMPAT_BRK))。然而我们不应该去启用它因为任何基于libc5的软件都无法工作在这个系统上。只有我们有特别的理由这么做或者如果你不会使用基于libc5的软件时才去启用它。我禁用了这个特性。当编译一个通用的内核时开发这会希望禁用这个特性。
接下来必须选择一个SLAB分配器。SLAB分配器是一个没有碎片且有效率地放置内核对象在内存中的内存管理系统。默认选择是"2"。
Choose SLAB allocator
1. SLAB (SLAB)
> 2. SLUB (Unqueued Allocator) (SLUB)
3. SLOB (Simple Allocator) (SLOB)
choice[1-3?]: 2
为了支持扩展性能支持,(Profiling support (PROFILING))回答"yes"。
下一个问题让开发者选择是否启用OProfile系统。它可以禁用、启用或者添加为一个模块在需要时载入。我选择禁用这个特性。
Kprobes允许用户捕捉几乎所有的内核地址去开始一个回调函数。这是一个可以像我一样禁用的调试工具(Kprobes (KPROBES))。
这个优化特性可以启用(Optimize very unlikely/likely branches (JUMP_LABEL))。这使分支预判更加简单并可以减小开销。
配置工具启用了一个实验性特性"透明用户空间探针"(Transparent user-space probes (EXPERIMENTAL) (UPROBES))。不要担心,系统可以很好工作。并不是所有的实验性特性是不稳定或者坏的。
接下来我们会被询问基于gcov的内核分析(Enable gcov-based kernel profiling (GCOV_KERNEL))。这可以被禁用。
为了允许内核加载模块,需要启用可加载模块支持(Enable loadable module support (MODULES))。
内核接下来只能加载有版本号的模块。为了允许内核加载没有版本号的模块,就启用这个特性(Forced module loading (MODULE_FORCE_LOAD))。这么做是一个很糟糕的注意,所以我已经禁用了它,除非你有特定的需求需要这个特性。
Linux内核也能卸载模块如果启用了这个最好启用的特性(Module unloading (MODULE_UNLOAD))。如果内核感到卸载模块是一个坏主意那么用户则无法卸载模块。启用强制卸载是有可能的,但是这是一个坏主意(Forced module unloading (MODULE_FORCE_UNLOAD)。
为了使用不为你的内核开发或者并不适用你的版本号的模块可以启用版本支持support (Module versioning support (MODVERSIONS))。最好不要混合版本号,所以我禁用了这个特性。
模块在它们的modeinfo(Module Information)里有一个字段名为"srcverion"。这个字段允许开发者看见使用什么源码版本来编译模块。启用这个选项可以在编译模块的时候加入这个字段。这个并不必要,所以我禁用了它(Source checksum for all modules (MODULE_SRCVERSION_ALL))。如果启用了先前的选项,开发者可以将校验和加入到模块中(Source checksum for all modules (MODULE_SRCVERSION_ALL))。
为了启用模块签名验证(Module signature verification (MODULE_SIG)),这个选项回答"yes"。因为这个并不必要,我选择了"no",不然内核在加载模块前会检查并验证签名。
为了启用块层支持(Enable the block layer (BLOCK)),像我一样选择"yes"。禁用这个将会使块设备无法使用并且无法启用某些文件系统。
下面SG支持已经默认启用(Block layer SG support v4 (BLK_DEV_BSG)),并且辅助库也启用了enabled (Block layer SG support v4 helper lib (BLK_DEV_BSGLIB))。
下面可回答的问题是关于对块设备的数据整合(Block layer data integrity support (BLK_DEV_INTEGRITY))。这个特性允许拥有根号的数据完整性来支持像设备数据保护这样的特性。许多设备不再支持这个特性,所以我禁用了它。
如果启用了块层bio带宽限制(Block layer bio throttling support (BLK_DEV_THROTTLING))那就可以限制设备的IO速率。
为了启用外部分区方案的支持,这个问题就回答"yes"(Advanced partition selection (PARTITION_ADVANCED))。我禁用了这个特性。
为了启用CSCAN(译注:循环扫描)和FIFO过期请求那就启用最后期限IO调度器(Deadline I/O scheduler (IOSCHED_DEADLINE))。
CFQ IO调度器在处理器之间平均地分配带宽。因此启用这个特性feature (CFQ I/O scheduler (IOSCHED_CFQ))是个好主意。
下面开发者可以启用或禁用CFQ组支持(CFQ Group Scheduling support (CFQ_GROUP_IOSCHED))。接下来开发者可以选择默认的IO调度器。最好选择DEFAULT_DEADLINE
对于小于32位寻址的设备下面的特性会分配16MB的寻址空间(DMA memory allocation support (ZONE_DMA))。如果内核不在意这些设备,那么这个是可以禁用的,所以我禁用了它。
对于有多个CPU的系统最好启用SMP(Symmetric multi-processing support (SMP))。对于只有单个处理器的设备,内核会在禁用这个特性后执行得更快。我启用了这个特性。
对于支持x2apic的CPU启用x2apic支持support (Support x2apic (X86_X2APIC))。如果你的系统缺乏这个特性就像我一样禁用它。
接下来我们可以启用对那些缺乏合适的ACPI支持的旧式SMP系统的MPS表(Enable MPS table (X86_MPPARSE))。一些拥有ACPI、DSDT、MADT支持的更新的系统不需要这个特性。我禁用了它。
下面的问题允许我们启用扩展x86平台的支持(Support for extended (non-PC) x86 platforms (X86_EXTENDED_PLATFORM))。只有在你需要一个通用内核或者内核运行在某个特定的需要扩展支持的处理器上时才启用它。我竟用了这个特性。
为了支持Intel低功耗子系统就启用这个特性(Intel Low Power Subsystem Support (X86_INTEL_LPSS))。
单一深度WCHAN输出(Single-depth WCHAN output (SCHED_OMIT_FRAME_POINTER))是用来计算电量(/proc/<PID>/wchan)。然而这会导致更多的功耗。
下面,我们启用虚拟客户系统支持(Paravirtualized guest support (PARAVIRT_GUEST))。这允许一个客户操作系统与主操作系统一起运行。我会禁用这个特性。
Memtest是一个在系统启动时检测内存的软件。Memtest可以配置为每次或者有时开机运行。Memtest并不必要所以我禁用了它。
这里我们可以选择一个内核应该支持的处理器家族。我选择了5 Generic-x86-64。这是一个64位的系统x86是32系统。
下面我们选择支持x86(32位)处理器 (Supported processor vendors (PROCESSOR_SELECT))。
为了发现机器异常我们可以启用DMI扫描(Enable DMI scanning (DMI))。这可以检测异常。
要启用DMA访问系统上32位内存设备3GB以上的内存下一个问题(GART IOMMU support (GART_IOMMU))我们回答"yes"。
--------------------------------------------------------------------------------
via: http://www.linux.org/threads/the-linux-kernel-configuring-the-kernel-part-3.4369/
译者:[geekpi](https://github.com/geekpi) 校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -0,0 +1,110 @@
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的定时器中断之间的时间是10ms250Hz是4ms1000Hz是1ms。现在许多开发者会马上想到1000Hz是最好的。好吧这取决于你对开销的要求。一个大的定时器频率意味着更多的能源消耗和更多的能源被利用(在定时器上),产生更多的热量。更多的热量意味着硬件损耗的更快。
注意:如果某个特定的特性对你并不重要或者你不确定该选择什么,就使用配置工具选择的默认值。比如,就我现在正在配置的内核而言,使用哪个定时器对我并不重要。总的来说,如果你没有特别的原因去选择任何一个选项时,就使用默认值。
这个有趣的系统调用可能会对一些用户有用(kexec system call (KEXEC))。kexec调用会关闭当前内核去启动另外一个或者重启当前内核。硬件并不会关闭并且这个调用可以无需固件的帮助工作。bootloader没有被执行。(bootloader是启动操作系统的软件) 这个重启发生在操作系统级别上而不是硬件上。使用这个系统调用会快于执行一个标准的关机或者重启。这保持硬件在开启状态。这个系统调用并不能工作在所有系统上。为了高性能,启用热插拔。
To use kexec, use the command below replacing “<kernel-image>” with the kernel that will be used after reboot. Also, replace “<command-line-options>” with some of those kernel parameters we had discussed previously. (I will go into greater depth in a later article.)
为了使用kexec对重启后要使用的内核使用如下命令替换"<kernel-image>"。同样,使用之前我们讲过的内核参数替换"<command-line-options>" (我会在以后的文章中更深入的讨论。)
kexec -l <kernel-image> --append="<command-line-options>
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/) 荣誉推出

View File

@ -0,0 +1,98 @@
10 Linux 内核: 配置内核 (Part 6)
================================================================================
![](http://www.linux.org/attachments/slide-jpeg.464/)
欢迎来到下一篇关于内核配置文章还有大量的选项需要配置。这篇文章将主要讨论PCI和ACPI。
这里我们可以启用由ACPI控制的扩展坞和可移动驱动器槽的支持(Dock)。记住,ACPI(Advanced Configuration and Power Management Interface)是一个电源管理系统。扩展坞是一种其他的设备通过额外的接口插入的设备。扩展坞可能可以容纳许多不同的端口和连接器。所以一个基于ACPI控制的扩展坞是一个自身由ACPI控制的扩展坞。驱动器槽是一套可以增加硬盘的设备这也可以由ACPI管理。
下面我们允许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),他拥有低功耗。
如果启用了IPMI驱动那么ACPI可以访问BMC控制器(IPMI)。基板管理控制器(BMC)是一种管理软件和硬件间连接的微控制器。智能平台管理接口(IPMI)是一种框架,通过直接的硬件层面而不是硬件层面或者操作系统层面来管理计算机。
ACPi v4.0过程聚合器允许内核应用一个CPU配置到所有系统中的处理器中(Processor Aggregator)。截止到ACPI v4.0只有idle状态可以用这个方式配置。
接下来可以启用ACPI热区(Thermal Zone)。多数硬件支持这个特性。这允许风扇的电源由ACPI管理。
如果启用这个选项自定义DSDT可以链接到内核。在这个设置中开发者必须在文件中包含完整的路径名。系统差异表(DSDT)是一个包含了系统支持的电源事件信息的文件。它不需要输入路径名这些表存在于固件中。内核会帮你处理这些。这个主要的目的是用于如果开发者需要使用不同于设备内置的表时用到。
任意ACPI表都可以通过initrd来覆盖(ACPI tables override via initrd)。ACPI表是指示如何控制并与硬件交互的基础规则和指令。
像内核的其他部分一样ACPI系统也可以生成调试信息(Debug Statements)。像其他调试特性一样或许希望禁用它并省下50KB。
启用下面的特性会为受系统检测每个PCI插槽(PCI slot detection driver)创建文件(/sys/bus/pci/slots/)。一个PCI插槽是在PCI主板上的一个端口它允许用户接上其他的PC设备。PCI是主板的一种类型。PCI是指组件互相通信的方式。有些应用程序可能需要这些文件。
电源管理定时器是另外一种电源管理系统(Power Management Timer Support)。这是许多系统追踪时间的方式。这个需要更少的电源。处理器的空闲、电压/频率调节和节流都不会影响这个定时器。大量的系统需要使用这个特性。
下面可以启用ACPI模块和容器设备驱动(Container and Module Devices)。这会启用处理器、内存和节点的热插拔支持。它需要NUMA系统。
下面的驱动提供对ACPI内存的热插拔支持(Memory Hotplug)。有些设备甚至启用这个驱动也不支持热插拔。如果驱动以模块形式加入那么模块将会被acpi_memhotplug调用。
注意对于内核某个特定的功能硬件、BIOS和固件在必须支持时会有问题。有些系统的BIOS是不控制硬件的。这种类型的BIOS通常不会限制特性。如果内核确实有一个特定的功能硬件必须有能力完成这样的任务。
智能电源管理驱动提供访问电池的状态和信息(Smart Battery System)。
下面,我们有一个"Hardware Error Device"驱动。设备通过SCI报告硬件错误。通常上大多数的错误会是已纠正的错误。
下面的是ACPI调试特性(Allow ACPI methods to be inserted/replaced at run time)。这允许ACPI AML方式不通过重启系统管理。 AML代表的是ACPI机器语言(ACPI Machine Language)。AML代码可以通过请求重启来改变和测试。
APEI是ACPI的错误接口(ACPI Platform Error Interface (APEI))。APEI从芯片给操作系统报告错误。这个错误接口同样提供错误注射的能力。
当"SFI (Simple Firmware Interface) Support" 启用后硬件固件可以发送消息给操作系统。固件与操作系统间的通信通过内存中的静态表。SFI-only的计算机的内核工作需要这个特性。
想要改变处理器的时钟速度和运行时,就启用这个特性(CPU Frequency scaling)。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设备。
不同的计算机使用不同类型的主板(PCI support)。其中一种类型是PCI。这个驱动允许内核运行在PCI主板上。
下面,我们可以启用/禁用 "Support mmconfig PCI config space access"。
接下来,我们有一个选择启用/禁用主桥窗口驱动(Support mmconfig PCI config space access)。警告:这个驱动还不完全(至少在3.9.4中是这样)。
像上面提到的主板,还有另一种类型的主板。写一个选项是提供"PCI Express (PCIe) support"的驱动。PCIe是一种改进并且更快速的PCI。
在这之后下面的驱动应该被启用以支持PCIe主板上的热插拔(PCI Express Hotplug driver)。
接着,我们可以启用/禁用PCIe主板报错(Root Port Advanced Error Reporting)。这就是PCIe AER驱动。
下一个特性允许用户使用PCIe EREC(PCI Express ECRC settings control)覆盖BIOS和固件设置。下一个选项这是对PCIe的错误注射(PCIe AER error injector support)。
下面的设置提供了操作系统控制PCI的活跃状态和时钟电源管理(PCI Express ASPM control)。通常上固件会控制ASPM但是这个特性允许操作系统采取控制。
再说一次像内核的许多组件一样这里提供了ASPM的调试支持(Debug PCI Express ASPM)。
下面,在这个菜单选择"Default ASPM policy"。
在这选项之后,下一个是关于允许设备驱动启消息信号中断(Message Signaled Interrupts (MSI))。通常上最好允许设备给CPU发送中断。
为了在系统日志中加入大量的调试信息,启用"PCI Debugging"。
下一个选项允许PCI核心检测是否有必要启用PCI资源重分配(Enable PCI resource re-allocation detection)。
当在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)。页错误不是一种错误;它指的是软件尝试访问不在物理内存上的数据的事件
再次说明你会在之后的文章中看到更多的需要配置Linux内核特性。
--------------------------------------------------------------------------------
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)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -0,0 +1,127 @@
11 Linux内核: 配置内核 (Part 7)
================================================================================
![](http://www.linux.org/attachments/slide-jpeg.474/)
来享受这个Linux内核系列的下一篇文章。我们将继续配置PCI特性接着是计算机中最重要的特性-网络。
进程地址空间标识符(Process Address Space Identifiers (PASIDs))允许PCI设备同时访问多个IO地址空间(PCI PASID support)。这个特性需要一个支持PASIDs支持的IOMMU。
下面我们可以启用/禁用"PCI IO-APIC hotplug support"。APIC代表高级可编程中断控制器(Advanced Programmable Interrupt Controllers)。可编程中断控制器(PIC)收集所有来自不同源发给一个或者多个CPU流水线的中断。高级PIC与PIC一样但是它们有更多的特性像高级中断管理和更多的优先级模型。热插拔一种在系统在运行时加入一件设备的能力并且不需要重启。这个驱动是为了PCI主板能拥有处理输入/输出APIC热插拔的能力。
在这之后,下面的问题询问的是启用"ISA-style DMA support"。在前文中提到过DMA是直接内存访问它是一种设备无需借助CPU直接访问内存的能力。ISA代表的是工业标准架构(Industry Standard Architecture),它是一种像PCI的总线标准。这个特性允许在ISA主板上支持DMA。
现在,我们可以移步到"PCCard (PCMCIA/CardBus) support"。PCMCIA代表的是个人计算机存储卡国际协会(Personal Computer Memory Card International Association)。PC卡、PCMCIA卡和Cardbus卡都是卡片形状的笔记本外设。
下一个PCMCIA选项处理"16-bit PCMCIA support"。一些旧的计算机使用16位PCMCIA卡。
为了从用户空间加载卡式信息结构(Card Information Structure (CIS))以使PCMCIA卡正常工作这个特性应该启用(Load CIS updates from userspace)。
CardBus是16位PCMCIA的更新32位版本。这个驱动提供对这类设备的支持(32-bit CardBus support)。为了使用32位PC卡需要一个兼容Cardbus的主机桥。
下面的驱动提供对上面提到的CardBus桥支持(CardBus yenta-compatible bridge support)。这是PCMCIA卡插入的硬件端口。
下面三个选项"Special initialization for O2Micro bridges"、"Special initialization for Ricoh bridges"和"Special initialization for TI and EnE bridges"。它们都是不同类型卡桥。
接下来,提供了"Auto-tune EnE bridges for CB cards"的驱动。
"Special initialization for Toshiba ToPIC bridges"可以在下一个选项中启用/关闭。
下一个提供的设备驱动是"Cirrus PD6729 compatible bridge support"。这在一些老的笔记本上需要。
下一个PCMCIA桥驱动是Itel的"i82092 compatible bridge support"。这也在一些老的笔记本上出现。这是另外一种桥驱动。
在这之后,以下的选项询问关于是否启用"Support for PCI Hotplug"。
下一步ACPI PCI热插拔可以启用(ACPI PCI Hotplug driver)。这个驱动允许拥有ACPI的PCI设备热插拔(这个特性之前已经讨论过)。
对于IBM系统为了ACPI热插拔下一个驱动应该启用(ACPI PCI Hotplug driver IBM extensions)。这就像上面的特性但特定与IBM设备。
对于带有支持CompactPCI热插拔支持的CompactPCI卡的系统启用"CompactPCI Hotplug driver"。
下面我们有一个选项对于另一种COmpactPCI系统卡(Ziatech ZT5550 CompactPCI Hotplug)。
使用#ENUM热插拔信号通过标准IO口作为系统注册位的CompactPCI卡需要这个驱动(Generic port I/O CompactPCI Hotplug)。
使用SHPC PCI热插拔控制器的主板需要下一个驱动(SHPC PCI Hotplug driver)。SHPC代表的是标准热插拔控制器(Standard Hot-Plug Controller)。这对于PCI主板是一个通用热插拔系统。
RapidIO互联设备也需要一个特殊的驱动(RapidIO support)。RapidIO芯片和主板快于PCI和PCIe。
"IDT Tsi721 PCI Express SRIO Controller"是一个特殊类型的RapidIO控制器。
下一个选项允许开发者输入在主机完成枚举前系统发现节点应该等待多久时间(以秒计)。这通常选择默认值
下一个特性会允许RapidIO系统接受除了维护信号外其他流量(Enable RapidIO Input/Output Ports)。
为了使用DMA引擎框架从RIO设备上发送或接收RapidIO数据启用这个驱动(DMA Engine support for RapidIO)。RIO设备是可重配的输入/输出设备。RapidIO使用NREAD和NWRITE请求来在本地和远程内存间传输数据因此驱动需要允许RapidIO使用DMA访问RIO设备。DMA控制器需要在内存中完成这个特性。
如果允许RapidIO可以提供调试信息(RapidIO subsystem debug messages)。如前面所说,调试特性可以禁用,除非你或者其他人使用的内核需要调试特性。
下一个驱动提供"IDT Tsi57x SRIO switches support"。这是一组串口RapidIO开关下面的四个选项是对于不同串口RapisIO开关驱动-"IDT CPS-xx SRIO switches support"、"Tsi568 SRIO switch support"、"IDT CPS Gen.2 SRIO switch support"和"Tsi500 Parallel RapidIO switch support"。
管理这些驱动后我们可以继续其他的内核选项。下一个选项提供对ELF的支持(Kernel support for ELF binaries)。可执行与可链接格式(Executable and Linkable Format (ELF))支持是一种可执行文件规范。强烈建议启动这个。
为了执行那些需要解释器的脚本和二进制文件,这个特性必须启用(Kernel support for MISC binaries)。这些可执行文件的类型通常称为包装器驱动的二进制格式。例如包括Python2/3、 .NET、Java、DOS执行程序等等。
当这个选项启用时(Enable core dump support),内核可以生成崩溃文件。这是一个调试特性。除非这个内核是用来调试(无论内核本身还是软件),不然这个并不必要。
64位处理器可以执行32位程序如果启用了"IA32 Emulation"。最好启用这个特性除非开发者确定内核永远不会运行32位代码。
老式的a.out二进制文件也被支持(IA32 a.out support)。就像它称呼的那样,"汇编输出"(Assembler Output),这是一种已编译代码的文件格式。
下一个设置允许32位处理器访问完整的64位寄存器文件和宽数据路径(x32 ABI for 64-bit mode)。然而仍旧使用32位指针。这些32位进程将比同样的为64位编译的进程使用内存更少因为他们使用32位指针
下面,我们将讲网络支持。
我们第一个网络设定是启用一般的网络(Networking Support)。很少有开发者会禁用这个特性。如果他们这么做了内核会变得又小又快但是它将无法使用Wifi、蓝牙、以太网或者任何由网络设备或协议处理的连接。一些在独立系统上程序也需要这个特性即使硬件上不存在网络设备。举例来说X11依赖于网络特性。如果你能提供一个替代方案在屏幕上显示图形你才能在内核中禁用网络特性。
"Packet socket"允许在没有中介物的情况下,进程与网络设备间进行通信。这个增强了性能。
ss工具需要启用这个特性用来数据包监控(Packet: sockets monitoring interface)。包监控意味着监视相关本地设备的网络流量。
"Unix domain sockets" (Unix域套接字)是用来建立和访问网络连接。X窗口系统需要这个特性这是一个极好的例子来说明为什么即使系统中不会使用网络但是仍然在内核中启用网络特性。Unix域套接字是运行在同一台机器上的进程间的网络协议。
上面的Unix套接字可以被ss工具监控但是下面一个特性必须先启用(UNIX: socket monitoring interface)。
转换(Transformation (XFRM))用户配置接口被许多Linux原生工具用到所以这个特性强烈建议启用(Transformation user configuration)。这个会启用Ipsec-Internet Protocol SECurity(互联网协议安全)。Ipsec控制着验证并且/或者加密IP数据包。
下一个特性允许开发者给予网络数据包第二个政策(称作sub-policy)(Transformation sub policy support)。
IPsec安全联合定位器可以当这个特性启用时(Transformation migrate database)动态更新。使用移动IPv6的设备需要这个特性。当计算机与路由器或者任何形式的网络设备设置了一个网络连接安全协议会确保两者不会意外地连接到网络上的其他设备上。IP数据包被设定发送到一个特定的设备上。然而移动设备会使用不同的网络比如说提供了4G信号也需要能够使用相同的连接到新的网络点上。即使可能是相同的4G供应商不同的设备会提供一个4G连接到它的物理位置。当设备处在新的区域时它仍会使用相同的IP地址。
下一个特性是显示在包处理中的传输错误统计(Transformation statistics)。这对开发者有用。如果不需要,可以禁用掉它。
"PF\_KEY sockets"与KAME套接字兼容且它在使用从KAME移植来的IPsec工具时有用。KAME是IPv4 IPsec、IPv6 IPsec和IPv6的免费协议栈。
这是另外一个需要的移动IPv6特性它增加了到PF\_KEYv2套接字的PF\_KEY MIGRATE消息(PF\_KEY MIGRATE)。
下面的是最重要的并且是在网络中最著名的需要启用的特性-"TCP/IP networking"。大多数网络(包括因特网)依赖于这个协议。甚至X窗口系统也使用TCP/IP。这个特性甚至允许用户ping它们自己(命令ping 127.0.0.1)。要使用因特网或者X11这个必须启用。
为了寻找网络中数个计算机,"IP: multicasting"必须启用。多播是一种给多台计算机但不是全部计算机发送消息的能力。广播会给网络中的所有计算机发送信号。
如果这是一个路由器Linux系统的内核,那就启用这个选项(IP: advanced router)。
下面的特性启用了那么IP地址会在启动时自动配置(IP: kernel level autoconfiguration)。当用户希望不用配置就能连接到一个网络时是很有用的。
启用另外DHCP协议支持那么Linux系统可以通过网络像NFS挂载它的根文件系统并且使用DHCP发现IP地址(IP: DHCP support)。这允许Linux系统通过网络拥有它的远程根文件系统而不必用户在每次系统启动时手动管理进程。
下面的选项和上面的类似除了使用的是BOOTP而不是DHCP(IP: BOOTP support。BOOTP是自举协议这个协议使用UDP而不是TCP并且只能使用IPv4网络
RARP是一个由于BOOTP和DHCP如今已经废除了的旧协议但是它仍可以加到内核中(IP: RARP support)。
网络协议可以在另一个概念中使用,称作"隧道"。这个特性可以用在Linux内核中(IP: tunneling)。安全shell协议(The secure shell protocol (SSH))就是隧道协议的一个例子。这个特性需要SSH。
下面的驱动可以多路复用通用路由封装包(GRE (Generic Routing Encapsulation))(IP: GRE demultiplexer)。多路复用是一个使单个信号进入不同部分的过程(这不会复制消息,只是分解它)。GRE是一种隧道协议。
下面的特性允许GRE通道在IP连接中形成(IP: GRE tunnels over IP)。这允许GRE隧道在IP网络中形成。
当启用这个特性(IP: broadcast GRE over IP)广播可以通过IP使用GRE。
在Linux系统的路由器内为了让IP包发往多个地址需要启用这个(IP: multicast routing)。
--------------------------------------------------------------------------------
via: http://www.linux.org/threads/the-linux-kernel-configuring-the-kernel-part-7.4490/
译者:[geekpi](https://github.com/geekpi) 校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -0,0 +1,137 @@
12 Linux内核: 配置内核 (Part 8)
================================================================================
![](http://www.linux.org/attachments/slide-jpg.484/)
在本篇中,我们将继续配置网络特性。记住,网络是计算机最重要的特性,这篇文章和这之后的网络相关文章都要重点了解。
在我们开启这系列之前,我先要澄清一些事情。配置进程不会编辑你当前系统的内核。这个进程配置的是你编译(或者交叉编译)新内核前的源代码。一旦我完成了配置过程,那么我会讨论读者建议的话题。同样,作为提醒,每个段落中在引号或者括号中的第一句或者第二句(很少)的文本是配置工具中设置的名字。
首先,我们可以启用两个不同的稀疏型独立协议组播路由协议("IP: PIM-SM version 1 support" 和 "IP: PIM-SM version 2 support")组播有点像广播但是广播会给所有计算机发送信号而组播只会给选定的组或者计算机发送信号。所有PIM协议都是工作在IP的组播路由协议。
注意:当计算机与另外一台计算机或者服务器通信时,这叫做单播 - 只是以防你们想知道。
下一个要配置的网络特性是"ARP daemon support"。这让内核有一张IP地址表以及它们相应的在内部缓存中的硬件地址。ARP代表的是地址解析协议(Address-Resolution-Protocol)。
为了额外的安全,"TCP syncookie support"应该要启用。这保护计算机免于受到SVN洪水攻击。黑客或者恶意软件可能会发送SVN信息给一台服务器来消耗它的资源以便让真实的访客无法使用服务器提供的服务。SVN消息会打开一个计算机和服务器之间的连接。Syncookie会阻断不正当的SVN消息。那么真实的用户可以仍旧访问访问网站而没有黑客消耗带宽。服务器应该启用这个特性。
下面的特性是用于 "Virtual (secure) IP: tunneling"。隧道是一个网络协议到另外一个网络协议的封装。当在使用虚拟私人网络(VPN)时需要使用安全隧道。
接下来,启用"AH transformation"增加对IPSec验证头的支持。这是一种管理数据验证的安全措施。
在这之后,启用"ESP transformation"增加对IPSec封装安全协议的支持。这是加密与可选择的数据验证的安全措施。
如果启用了这个特性(IP: IPComp transformation)Linux内核会支持IP负载压缩协议。这是一种无损压缩系统。无损指的是数据仍在它的完整形式。在解压缩后数据在压缩前后没有变化。压缩在加密前先执行。由于更少的数据传输所以这个压缩协议可以加速网络。
下面三个设置用于处理不同的IPsec特性("IP: IPsec transport mode"、"IP: IPsec tunnel mode"和"IP: IPsec BEET mode")。IPSec代表的是因特网安全协议(Internet Protocol SECurity).两台计算机之间并且/或者服务器间的传输模式是默认的IPSec模式。传输模式使用AH或者ESP头并且只加密IP头。在隧道模式下IP头和负载会被加密。隧道模式通常用于连接网关到服务器/服务器或者服务器到服务器。BEET模式(Bound End-to-End Tunnel)不会在IP地址改变时重连。BEET模式下的连接会仍然存在。BEET模式比其他几种模式使用更少的字节。
下面内核可以支持收到大量IPv4/TCP包时减轻栈负担(Large Receive Offload (ipv4/tcp))。网卡(NIC)处理TCP/IP栈。这个特性在内核中增加了处理大型栈的代码。
INET套接字可以启用(INET: socket monitoring interface)。INET套接字用于因特网。这个特性(当启用时)会监视来自或者发往因特网的连接与流量。
这里有另外一个套接字监视接口(UDP: socket monitoring interface)。这个用于用户数据报协议(User Datagram Protocol (UDP))。再说一下这个特性监视UDP的套接字。
以下的设定会启用不同的TCP拥塞控制(TCP: advanced congestion control)。如果网络变得太忙或者带宽已满,那么许多计算机必须等待一些带宽或者它们的数据流会变慢。如果流量被合理管理,这回有助于网络性能提升。
TCP连接可以被MD5保护(TCP: MD5 Signature Option support)。这用于保护核心路由器之间的边界网关协议(Border Gateway Protocol (BGP))连接。核心路由器是网络中主要的路由器;这些路由器有时指的是因特网/网络的骨干。BGP是一种路由决策协议。
下一个设定允许你启用/禁用"The IPv6 protocol"。当你启用它IPv4仍旧可以很好地工作。
下面的特性是一个特殊的隐私特性(IPv6: Privacy Extensions (RFC 3041) support)。这使得系统在网络接口中生成并使用不同的随即地址。
注意:没有计算机是真正随机的。计算机中随机数和随机字串通常称为伪随机。
在多路由的网络中,这个特性允许系统能够更有效地计算出该使用哪一个(IPv6: Router Preference (RFC 4191))。
在这之后,一个用于处理路由信息的实验性特性可以启用/禁用(IPv6: Route Information (RFC 4191))。记住,在编译一个稳定内核时,除非你确实需要这个问题中特性,才去安装实验性的功能。
有时当系统自动配置它的IPv6地址时它可能会得到一个网络中已被使用的IPv6地址。这是一个允许重复地址检测(Duplicate Address Detection (DAD)的实验性特性(IPv6: Enable RFC 4429 Optimistic DAD)。
IPv6可以有不同的IPsecc特性支持("IPv6: AH transformation" 和 "IPv6: ESP transformation")。
IPv6同样可以使用先前讨论过的IP负载压缩协议(IP Payload Compression Protocol)(IPv6: IPComp transformation)。
这里甚至有IPv6移动支持(IPv6: Mobility)。这允许使用IPv6的移动设备在保留同样地址的情况下使用其他的网络。
再说一次这里同样有一些针对IPv6的IPsec特性("IPv6: IPsec transport mode"、"IPv6: IPsec tunnel mode"、"IPv6: IPsec BEET mode")。
当启用此项后IPv6可以支持MIPv6路由优化(IPv6: MIPv6 route optimization mode)。这样就可以确保最短和最佳网络路径了。如果消息在更少的路由和网络设备间发送,那么下载和上传速度就可以更快。
如果一个管理员需要连接到两个IPv6网络但是只能通过IPv4来连接这时内核使这个变得可能(IPv6: IPv6-in-IPv4 tunnel (SIT driver)。这通过隧道使IPv6报文穿越IPv4网络。
这个隧道特性是用于IPv6-in-IPv6 和 IPv4 tunneled in IPv6 (IPv6: IP-in-IPv6 tunnel (RFC2473))
另外一个隧道特性是(IPv6: GRE tunnel)。他只允许GRE隧道。(GRE通用路由封装(Generic Routing Encapsulation))
允许支持多重路由表(IPv6: Multiple Routing Tables)。路由表是一张网络位置列表和数据要去目的地的路径。
允许根据源地址或前缀进行路由如果启用了(IPv6: source address based routing)。
"IPv6 Multicast routing"(IPv6组播路由)仍然是实验性质。IPv4和IPv6处理组播的方式不同。
典型的组播路由根据目标地址和源地址来处理组播包(IPv6: multicast policy routing)。启用这个选项会将接口和包的标记(mark)包含到决策中。
下面可以启用IPv6的PIM-SMv2 组播路由协议(IPv6: PIM-SM version 2 support)。这与先前提到的IPv4 PIM相同。因为IPv4和IPv6不同所以PIM可以被v4/v6同时/分别激活
网络包标签协议(Network packet labeling protocols)(就像CIPSO和RIPSO)可以启用(NetLabel subsystem support)。这些标签包含了安全信息和权限。
网络包可以通过启用安全标记(Security Marking)变得更安全。
这个网络特性增加了一些开销(Time-stamping in PHY devices)。物理层(PHY)设备可以给网络包打上时间戳。PHY代表的是"PHYsical layer"。这些设备管理收到和发送的消息。
可以启用netfilter(Network packet filtering framework)。Netfilters过滤并修改过往的网络包。包过滤器是一种防火墙。如果包满足了一定的条件包不会被允许通过。
数据报拥塞控制协议(Datagram Congestion Control Protocol)可以启用(The DCCP Protocol)。DCCP允许双向单播连接。DCCP有助于流媒体、网络电话和在线游戏。
下一步,流控制传输协议(Stream Control Transmission Protocol)可以启用(The SCTP Protocol)。SCTP工作在IP顶层并且是一个稳定可靠的协议。
下面的协议是可靠数据报套接字(Reliable Datagram Sockets)协议(The RDS Protocol)。
RDS可以使用Infiniband和iWARP作为一种支持RDMA的传输方式(RDS over Infiniband and iWARP)Infiniband和iWARP都是协议。RDMA代表的是远程直接内存访问(remote direct memory access)。RDMA用于一台远程计算机访问另一台计算机的内存而无需本机计算机操作系统的辅助。这就像直接内存访问(DMA),但是这里远程代替了本地计算机。
RDS同样可以使用TCP传输(RDS over TCP)
接下来,"RDS debugging messages"应该禁用。
下面的网络协议用于集群(The TIPC Protocol)。集群就是一组计算机作为一台计算机。它们需要有一个方式去通信,所以他们使用透明内部进程间通信协议(Transparent Inter Process Communication (TIPC))。
这个高速协议使用固定大小的数据包(Asynchronous Transfer Mode (ATM))。
使用ATM的IP可以与连接到一个ATM网络的IP的系统通信(Classical IP over ATM)。
下一个特性禁用"ICMP host unreachable"(ICMP主机不可达)错误信息(Do NOT send ICMP if no neighbor)。这防止了由于重新校验而移除ATMARP表被移除的问题。ATMARP表管理地址解析。ICMP代表的是因特网控制消息协议(Internet Control Message Protocol)并被常用于通过网络发送错误消息。
LAN仿真(LANE)仿真了ATM网络上的LAN服务(LAN Emulation (LANE) support)。一台LANE计算机可以作为桥接Ethernet和ELAN的代理。
"Multi-Protocol Over ATM (MPOA) support"允许ATM设备通过子网边界发送连接。
在这个特性下至少在kernel看来ATM PVCs的行为就像Ethernet(RFC1483/2684 Bridged protocols。PVC代表的是永久虚电路(permanent virtual circuit)。虚拟连接是一种基于包的连接,它伴随着主/原始协议使用其他更高层的协议。
"Layer Two Tunneling Protocol (L2TP)"(二层隧道协议)是隧道对应用透明。虚拟私有网络(Virtual Private Networks (VPNs))使用L2TP
要想使用基于Linux的以太网桥启用这个桥特性(802.1d Ethernet Bridging)。在网络中,一个桥同时连接两个或者更多的连接。以太网桥是使用以太网端口的硬件桥。
"IGMP/MLD snooping"(IGMP/MLD 探听)是一种以太网桥能够基于IGMP/MLD负载选择性地转发组播信号的能力。禁用这个特性能够明显减少内核的大小。IGMP代表的是因特网组管理协议(Internet Group Management Protocol),这是一种被用于设置组播组的协议。MLD代表多播监听发现(Multicast Listener Discovery)。
下一个过滤特性允许以太网桥选择性地管理在每个数据包中的基于VLAN的信息的流量。禁用这个特性可以减小内核的大小。
通过启用这个特性(802.1Q VLAN Support)VLAN接口可以在以太网上创建。下面"GVRP (GARP VLAN Registration Protocol)"支持GVPR协议被用于在网络设备上注册某些vlan。
在这之后,"MVRP (Multiple VLAN Registration Protocol) support"(多重VLAN注册协议)可以启用。MVRP是GVRP更新的替代品。
"DECnet Support"是一种Digital公司发明的网络协议。这是一中既安全又稳定的协议。
"DECnet router support"允许用户制作基于Linux的支持DRCnet的路由。
注意Linux可以用于服务器、工作站、路由器、集群、防火墙并支持其他许多用途。
下面的特性用于支持逻辑链路层2(Logical Link Layer type 2)(ANSI/IEEE 802.2 LLC type 2 Support)。这层允许在同一个网络设备上使用多个协议。强烈建议在网络很重要的环境中启用这个特性。最好所有内核都支持这个特性。
在下一篇文章中,我们将讨论更多的关于可以配置的网络设定。
--------------------------------------------------------------------------------
via: http://www.linux.org/threads/the-linux-kernel-configuring-the-kernel-part-8.4525/
译者:[geekpi](https://github.com/geekpi) 校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -0,0 +1,155 @@
戴文的Linux内核专题13 内核配置(9)
================================================================================
![](http://www.linux.org/attachments/slide-jpg.498/)
Novell网络协议IPX通常用于Windows系统和NetWare服务器(The IPX protocol)。IPX代表网间分组交换(Internetwork Packet Exchange)。这是一个网络层协议通常与传输层的SPX协议同时使用。
为了是NetWare服务器在服务的网络中有相同的IPX地址启用下一个特性(IPX: Full internal IPX network)。不然每个网络都会看到服务器一个不同的IPX地址。
注意IPX协议使用IPX寻址而不是IP寻址。IP地址不是计算机网络中唯一的网络地址。
对于在Apple网络中的Linux系统需要启用Appletalk(Appletalk protocol support)。苹果计算机和苹果打印机通常使用Appletalk在网络间通信。Appletalk不需要一台中心路由器/服务器并且网络系统是即插即用的。
在Appletalk网络中Linux系统需要使用IP需要"Appletalk interfaces support"(AppleTalk接口支持)。
下一个特性允许用户在Appletalk中使用IP隧道(Appletalk-IP driver support)。
接下来这个特性允许IP包被封装成Apppletalk帧(IP to Appletalk-IP Encapsulation support)。在网络中帧是一种标记包的开始和结束的特殊序列位。这个特性会将IP包放在Appletalk包内部。
这个特性允许为先前的特性解包(Appletalk-IP to IP Decapsulation support)。解包器会将IP包从Appletalk包中拿出。
这是另外一个协议层称为"X.25" (CCITT X.25 Packet Layer)。这个协议层通常用于非常大的网络就像国家公网。许多银行使用这个在他们的扩展网络系统里。X25(拼成"X25"或"X.25")网络拥有将进入数据包打包的包分组交换机。X25正在被更简单的IP协议代替。X25是一个不如TCP/IP有效率的旧协议但是一些公司发现它在大型、复杂的网络中很有用。
LAPB是用于X.25的数据链路层(LAPB Data Link Driver)。如果上面的启用了那么这也应该同时启用。LAPB代表的是"Link Access Procedure Balanced"(链路访问过程平衡)。LAPB同样也用于以太网和X.21网卡中(这里没有打错)。X.21是用于物理层(硬件),X.25用于网络层。LPAB会检查错误并确保包被放回正确的序列中。
Nokia调制解调器使用的电话网络协议通常称作"PhoNet"(Phonet protocols family)。Linux计算机远程控制Nokia电话机需要这个特性。
下一个网络通常是用于不同自动设备间的小型无线连接(IEEE Std 802.15.4 Low-Rate Wireless Personal Area Networks support)。802.15.4是一种需要很少电量的简单低数据率协议。这个无线协议最大可扩展到10米。这在通过无线网络连接机器人传感器时是很有用的。任何不该有线缆的机械可能都会从这个代替了绳子的本地无线网络中获益。
如果启用了上面的特性那么最好明智地启用这个IPv6 压缩特性(6lowpan support over IEEE 802.15.4)。
支持物理层 IEEE 802.15.4协议的SoftMac设备可以启用这个特性(Generic IEEE 802.15.4 Soft Networking Stack (mac802154))。
当有许多包需要传输是,内核必须决定先发送哪一个(它们不能一次全部发送),所以这个特性帮助内核区分包的优先级(QoS and/or fair queuing)。如果不启用这个,那么内核会使用"first come, first serve approach"("谁先到,谁先服务")。这可能意味着紧急的网络消息需要等待轮到它们传输。
在有数据中心服务器的网络中,这个特性强烈建议启用(Data Center Bridging support)。这个特性增强了以太网对数据中心网络的连接。
DNS查询可以在下一个选项中启用(DNS Resolver support)。大多数存储DNS缓存的系统允许计算机无需DNS服务器的辅助下执行DNS查询。
接下来是另一个用于多跳专用网状网络(B.A.T.M.A.N. Advanced Meshing Protocol)。"B.A.T.M.A.N."代表"better approach to mobile ad-hoc networking"(更好接入移动专用网络)。这个工作与有线和无线网络。专用网络没有中心像路由器这类中心设置。每台网络上的设备就像个一台路由器。网状网络是一个简单的概念。每个节点必须路由发送给它的数据。在这个网状网络中,每台计算机连接到全部或几乎全部其他网络设备。当这样的网络画在纸上成为一张地图时,这个网络看上去就像一张网。
当许多网状节点连接到相同的LAN和网时一些网络信号可能会回环(Bridge Loop Avoidance)(避免桥回环)。这个特性可以避免此类的回环。这些回环可能永远不会结束或者降低性能。避免这样的回环被称为"Bridge Loop Avoidance (BLA)"。
分布式ARP表(Distributed ARP Tables (DAT))被用于增强ARP在稀疏无线网状网络的可靠性(Distributed ARP Table)。
BATMAN协议有些开发者需要用到的调式特性(B.A.T.M.A.N. Debugging)。对于任何调试特性,通常最好禁用它来节省空间以及得到一个更好优化后的内核。
虚拟化环境可以从"Open vSwitch"中得益。这是一个多层以太网交换机。Open vSwitch支持大量的协议。
虚拟机、hypervisor、主机之间的网络连接需要"virtual socket protocol"。这个类似于TCP/IP.这些套接字就像其他网络套接字,但是它们针对虚拟机。这允许客户机系统拥有一个与主机的网络连接。
这是一个可以管理网络优先级的cgroup子系统(Network priority cgroup)。这允许控制组(cgroup)根据发送应用设置网络流量优先级。
BPF过滤器由解释器处理但是内核可以执行原生BPF过滤通过这个(enable BPF Just In Time compiler)。BPF代表的是"Berkeley Packet Filter"(伯克利报过滤器)。这允许计算机系统支持原生链路层包。
下面,我们有两个网络测试工具。第一个是"Packet Generator"(包生成器),这用于测试网络时注射数据包(制造空包)。第二个,允许设置一个警报系统,当数据包丢失时警告用户/系统(Network packet drop alerting service)。
Linux内核可以用于无线电系统或者远程控制它们。"Amateur Radio AX.25 Level 2 protocol"用于计算机通过无线电通信。这个无线电协议可以在其他许多的协议中支持TCP/IP。
为了放置在AX.25网络中冲突启用DAMA(AX.25 DAMA Slave support)。至今为止Linux还不能作为DAMA的服务器但是可以作为DAMA的客户端。DAMA代表"Demand Assigned Multiple Access"(按需分配多址访问)。DAMA分配网络流量到特定的信道中去。
NET/ROM是AX.25的路由层。(Amateur Radio NET/ROM protocol)。
NET/ROM的一个替代是"Packet Layer Protocol (PLP)"(包层协议)它可以运行在AX.25的顶端(Amateur Radio X.25 PLP (Rose))。
控制器局域网络(Controller Area Network (CAN))总线需要这个驱动(CAN bus subsystem support)。CAN总线是一种用于不同目的的串行协议。
使用这个特性(Raw CAN Protocol (raw access with CAN-ID filtering))CAN总线可以通过BSD套接字API访问
内核中有用于CAN协议的广播管理(Broadcast Manager CAN Protocol (with content filtering))。这个管理提供了很多控制,包括内容过滤。
为了让Linux盒子成为一个CAN路由器和/或者网关,需要这个特性(CAN Gateway/Router (with netlink configuration))。
注意:网关是两个或者更多网络的接口设备,它提供不同的协议。一个简单的定义可以是"网关是一个协议转换器。"
注意:路由器转发网络流量和连接使用相同协议网络。
如果启用了(一些选项)Linux内核可以支持很多CAN设备(主要是控制器)和接口。所有的CAN驱动都是对于这些设备的不同品牌和型号。在配置工具中它们有以下这些标题。
Virtual Local CAN Interface (vcan)
Serial / USB serial CAN Adaptors (slcan)
Platform CAN drivers with Netlink support
Enable LED triggers for Netlink based drivers
Microchip MCP251x SPI CAN controllers
Janz VMOD-ICAN3 Intelligent CAN controller
Intel EG20T PCH CAN controller
Philips/NXP SJA1000 devices
Bosch C_CAN/D_CAN devices
Bosch CC770 and Intel AN82527 devices
CAN USB interfaces
Softing Gmbh CAN generic support
Softing Gmbh CAN pcmcia cards
像Linux中的其他许多特性CAN设备同样可以启用调试能力(CAN devices debugging messages)。再说一次,记住你内核的目的,你需要调试还是需要性能?
Linux内核同样支持红外线信号协议IrDA (infrared) subsystem support)。IrDa代表的是
"Infrared Data Associations"(红外数据协会);这是红外信号的标准。
许多人如今想要蓝牙特性(Bluetooth subsystem support)。
RxRPC会话套接字可以启用(RxRPC session sockets)。这些套接字使用RxRPC协议运载网络连接。RxRPC运行于UDP的顶部。
如果启用的话Linux内核可以支持"RxRPC dynamic debugging"(RxRPC 动态调试)。
RxRPC拥有kerberos 4和AFS kaserver安全特性可以启用(RxRPC Kerberos security)。Kerberos是一种每个网络设备在传输任何数据前都被需要证明彼此的身份的验证协议。
对于电脑的无线网络设备像Wifi配置工具需要启用无线局域网(802.11)设备(cfg80211 - wireless configuration API)。cfg80211代表"Configuration 802.11"(配置 802.11)。802.11是一种无线规范。
"nl80211 testmode command"是用于校准并且/或验证的实用工具,它无线设备芯片上执行这些任务。
下一个设置允许用户"enable developer warnings"(启用开发者警告)对于cfg80211设备。
下面,"cfg80211 regulatory debugging"(cfg80211调控调试)可以启用。
下面的设定是"cfg80211 certification onus"(cfg80211证书义务)。
应该为cfg80211兼容设备启用省电特性(enable powersave by default)。
cfg80211支持debugfs入口(cfg80211 DebugFS entries)。
无线设备有它们遵守的调整规则;这些被存储在数据库中(use statically compiled regulatory rules database)(使用静态编译的调整规则数据库)
一些使用基于cfg80211的驱动扩展可能需要使用一个老的用户空间。这个特性允许这个行为(cfg80211 wireless extensions compatibility)(cfg80211 无线扩展兼容)。
lib80211可以提供调试特性(lib80211 debugging messages)。
独立于硬件的IEEE 802.11标准可以启用(Generic IEEE 802.11 Networking Stack (mac80211))。mac80211是一种用于编写softMAC无线设备驱动的框架。SoftMac允许很好地控制和配置设备。
下一个特性允许mac80211使用PID控制器管理TX(发送)速率(PID controller based rate control algorithm)(PID控制器基于速率控制算法)。TX单位是BFS(Bits per minute)(位/秒)。特别地,这个特性是用于控制数据流速率的算法。
另外一个相同特性的算法叫做"Minstrel"。这是一个比TX速率管理算法更精确和有效的算法。
Minstrel同样支持802.11n(Minstrel 802.11n support)。
由于有两种TX速率控制算法但只能使用一种。所哟必须设备一个默认的(Default rate control algorithm (Minstrel))。通常地最好选择Minstrel作为默认。
802.11s网状网络草案可以在内核中启用(Enable mac80211 mesh networking (pre-802.11s) support)。802.11s草案是网状网络的无线标准。
对于支持这个特性的设备对于不同包流量时间的LED除法器特性可以启用(Enable LED triggers)。在我的以太网设备商上当端口是活跃时LED灯会点亮。这些驱动可以是这些LED在包流量时间下工作。
mac80211同样支持debugfs特性(Export mac80211 internals in DebugFS)。
这是一个独立于典型日志系统收集mac80211调试信息的特性(Trace all mac80211 debug messages)。
这是另外一组mac80211调试特性但是这些使用的是典型日志系统(Select mac80211 debugging features --->)。在这个菜单,选择你需要的调试特性。
在下一篇文章中,我们还有更多的需要配置。
--------------------------------------------------------------------------------
via: http://www.linux.org/threads/the-linux-kernel-configuring-the-kernel-part-9.4568/
译者:[geekpi](https://github.com/geekpi) 校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -0,0 +1,139 @@
戴文的Linux内核专题14 配置内核 (10)
================================================================================
![](http://www.linux.org/attachments/slide-jpg.514/)
使用WiMAX协议的无线宽频设备可以启用这个(WiMAX Wireless Broadband support)。这个类型的无线连接通常需由服务供应商提供的连接服务才能工作(这与3G/4G的概念相同)。WiMAX代表"Worldwide Interoperability for Microwave Access"(微波存取全球互通)。WiMAX的目的是代替DSL。宽频指的是宽的带宽和大量信号的传输。
射频开关被用于许多Wifi和蓝牙卡中(RF switch subsystem support)。"RF"代表"Radio Frequency"。RF开关路由高频信号。
RF开关输入支持同样也在内核中支持(RF switch input support)。
内核可以控制并请求无线传输(Generic rfkill regulator driver)。启用这个生成一个设备文件(/dev/rfkill)。这个设备文件作为无线设备的接口。
Linux内核支持9P2000协议(Plan 9 Resource Sharing Support (9P2000))。这个网络协议有时称作Styx。Plan 9的窗口系统(Rio)的Styx和Linux的X11都使用Unix网络套接字。Linux系统可能使用Styx在Styx网络中。Plan 9和Linux可以在一个网络中使用Styx
"9P Virtio Transport"(9P 虚拟io传输)系统提供了在虚拟系统上客户机和主机分区间的传输。
内核同样支持RDMA传输(9P RDMA Transport (Experimental))。RDMA代表的是"Remote Direct Memory Access"(远程内存直接访问)。这个Plan9上访问远程计算机内存的协议。
9P系统与其他内核组件一样有调试特性(Debug information)。
"CAIF support"支持同样可以在内核中启用。CAIF代表" Communication CPU to Application CPU Interface"(通信CPU到应用CPU接口)。这是一个使用数据包的多路复用(MUX)协议并被用于ST-Ericsson(意法爱立信)调制解调器中。ST-Ericsson是开发这个协议的公司(是的MeeGo和Android是Linux系统并且我正在讨论Google的Andorid)。MUX协议就是多路复用(multiplexing)协议。多路复用在前面的文章中已经提到过。
下面cephlib可以加入内核它可以用于rados块设备(rbd)h和Ceph文件系统(Ceph核心库)(译注Ceph是一种分布式文件系统)。cephlib是是Ceph的完整核心库。Ceph是存储平台。CephFs(Ceph文件系统)是运行在另外一个文件系统的顶部。通常CephFs运行在EXT2、ZFS、XFS或者BTRFS上面。Rados设备是使用CephFs的块存储单元。
ceph的调试特性会损害内核性能所以只在需要的时候启用(Include file:line in ceph debug output)。
当启用这个选项(Use in-kernel support for DNS lookup)CONFIG_DNS_RESOLVER设施会执行DNS查询。
近场通信(Near Field Communication (NFC))设备在Linux内核中也被支持(NFC subsystem support)。
如果上面的特性被启用那么NFC控制器接口(NFC Controller Interface (NCI))也应该启用(NCI protocol support)。这允许主机和NFC控制器相互通信。
NFC要处理HCI帧需要启用下面一个特性(NFC HCI implementation)。
一些HCI驱动需要一个SHDLC链路层(SHDLC link layer)(SHDLC link layer for HCI based NFC drivers)。SHDLC是检测完整性和管理HCI帧顺序的协议。
如果NFC特性启用了那么通常也启用"NFC LLCP support"(就像上面那样)。
接下来有一些为特别的NFC设备的驱动。第一个是"NXP PN533 USB driver"。
下一个NFC驱动支持TI的BT/FM/GPS/NFC设备(Texas Instruments NFC WiLink driver)。
下面的是"NXP PN544 NFC driver"。
对于Inside Secure(译注:法国一家非接触半导体芯片厂商)生产的microread NFC芯片驱动同样在内核中支持(Inside Secure microread NFC driver)。
现在我们将继续配置与网络无关的驱动。首先我们可以选择uevent帮助程序的路径(path to uevent helper)。如今许多计算机不在需要这个特性因为一个uevent帮助程序会在每次执行时fork一个进程处理。这回很快地消耗资源。
在启动时内核会创建一个tmpfs/ramfs 文件系统(Maintain a devtmpfs filesystem to mount at /dev)。这个提供了完整的/dev目录系统。在这两个文件系统中(tmpfs和ramfs)ramfs两者中最简单。"tmpfs"代表"temporary filesystem"(临时文件系统),而"ramfs"代表"ram filesystem"(内存文件系统)。
下一个设置是devtmpfs文件系统的代码它同样挂载在/dev下(Automount devtmpfs at /dev, after the kernel mounted the rootfs)。
下面的特性允许模块加载到用户空间(Userspace firmware loading support)。
为了"Include in-kernel firmware blobs in kernel binary"(译注:将固件编译进内核)(这会增加专有固件到内核中),就启用这个特性。
一些二进制专有驱动需要在启动时使用。这个特性允许这类软件这么做(External firmware blobs to build into the kernel binary)。一些计算机有些引导设备需要只包含专有二进制文件的特殊固件。这个特性不启用,系统将无法引导。
启用"Fallback user-helper invocation for firmware loading"允许user-helper(用户助手) (udev)作为内核加载固件驱动失败的后备手段加载固件。udev可以加载驻留在非标准路径的固件。
管理驱动的不跟内核如果被允许就可以生成调试信息(Driver Core verbose debug messages)。
下一步,如果启用这个特性(Managed device resources verbose debug messages)devres.log文件就可以使用。这是一个用于设备资源的调试系统。
下面一个特性会通过netlink套接字生成一条用户空间和内核空间的连接(Connector - unified userspace <-> kernelspace linker)。这个套接字使用netlink协议。这是另外一个Linux系统即使在没有物理网络情况下仍需要网络特性的例子。
用户空间可以通过套接字得到进城时间的通知(Report process events to userspace)。一些报告事件包含了ID改变、fork、和退出状态。一些先前启用的内核特性可能需要这个。最好按配置工具建议的那样设置。
使用固态硬盘的系统需要MTD的支持(Memory Technology Device (MTD) support)。MTD设备是固态存储设备。典型的存储设备与固态硬盘(SSD)不同。用于磁盘单元的标准常规不适用于SSD(读、写、擦除)。
大多数会桌面电脑否有并口(一个有25个洞的连接器),所以他们需要这个特性(Parallel port support)。并口在其他许多鲜为人知的应用中通常用于打印机和ZIP驱动器。并口有25针。
对IBM兼容计算机启用这个特性(PC-style hardware)。它们是不同类型的计算机。除了IBM计算机(通常运行Windows),还有苹果计算机。Linxu可以运行在几乎所有类型的计算机上。
Linux同样支持Multi-IO PCI卡(Multi-IO cards (parallel and serial))。Multi-IO PCI卡同时拥有并口和串口。串口每次发送或接收1位数据。
下一个特性允许内核"Use FIFO/DMA if available"。这用于特定的并口卡来加速打印。FIFO代表"First In, First Out"(先入先出)。DMA是先前提过的直接内存访问(Direct Memory Access)。
下面一个特性用于探测Super-IO卡(SuperIO chipset support)。这些探针会发信中断号、DMA通道和其他类型设备的地址/数量。Super-IO是一种集成IO控制器类型。
PCMCIA的并口支持可以启用(Support for PCMCIA management for PC-style ports)。
注意:对于许多特性来说,你最好按照配置工具的建议除非你有特别的理由不这么做。通常地,如果你是交叉编译或者编译一个通用内核,那么你应该熟悉你想要支持的并做出相应的选择。
在AX88796网络控制器的并口需要这个支持(AX88796 Parallel Port)。
"IEEE 1284 transfer modes"在并口上支持增强型并口(Enhanced Parallel Port (EPP))和增强功能口(Enhanced Capability Port (ECP))并支持打印机状态回读。状态回读是检索打印机的状态。
即插即用("Plug and Play support" (PnP))应该启用。这允许用户在系统开机状态下插入设备并能马上使用它们。没有这个特性用户不能使用USB设备、打印机或者其他没有执行特殊任务的设备。系统会自动管理复位(译注:原文是 "The system will manage the rest automatically")。
下面,用户可以启用块设备(Block devices)。这是一个应该启用的特性,因为块设备很常见。
软驱也是可以启用的块设备(Normal floppy disk support)。
连接到并口的IDE设备也同样支持(Parallel port IDE device support)。一些外部CD-ROM设备也能通过并口连接。
外部IDE存储设备单元同样可以连接到并口(Parallel port IDE disks)。
连接到并口的ATA包接口(ATA Packet Interface (ATAPI)) CD-ROM需要这个驱动(Parallel port ATAPI CD-ROMs)。ATAPI是用于并行ATA(PATA)设备的ATA协议扩展。
还有一个ATAPI磁盘设备可以插到并口中(Parallel port ATAPI disks)。这个驱动会除了支持CD-ROM外还支持其他类型的磁盘。
内核同样支持通过并口连接ATAPI磁带设备(Parallel port ATAPI tapes)。
还有许多其他的ATAPI设备可以连接到并口中。结果就是一个通用驱动被用于管理前面提到过的驱动不支持的设备(Parallel port generic ATAPI devices)。
连接到并口上的IDE设备需要一个特殊的协议用于通信。有很多这样的协议其中一个是"ATEN EH-100 protocol"。
一个可选的用于并行IDE设备的协议是"MicroSolutions backpack (Series 5) protocol"。
这里仍有另外一个并口IDE设备协议(DataStor Commuter protocol)和另一个(DataStor EP-2000 protocol)还有(FIT TD-2000 protocol)。
再提一次这里有另外一个协议但是这个强烈建议用在更新的插在并口上的CD-ROM和PD/CD设备(FIT TD-3000 protocol)。
下面的协议主要用于SyQuest、Avatar、Imation和HP生产的并口设备(Shuttle EPAT/EPEZ protocol)。
Imation SuperDisks需要Shuttle EP1284芯片的支持(Support c7/c8 chips)。
一些其他的并行IDE协议可以启用包括
Shuttle EPIA protocol
Freecom IQ ASIC-2 protocol - (用于Maxell Superdisks)
FreeCom power protocol
KingByte KBIC-951A/971A protocols
KT PHd protocol - (用于2.5英寸外置并口硬盘)
OnSpec 90c20 protocol
OnSpec 90c26 protocol
注意:这些协议以及支持的插入并口的设备意味着这些都类似于热插拔设备,就像USB设备插入USB端口一样。USB和火线人仍旧是使用最流行的端口,因为它们的大小和速度。一个并口设备单元大于USB闪存因为并口大于USB端口。
下一步,我们有一个对于Micron PCIe的SSD驱动(Block Device Driver for Micron PCIe SSDs)。
你可能已经猜到了- 下面的文章会讨论更多的配置.
--------------------------------------------------------------------------------
via: http://www.linux.org/threads/the-linux-kernel-configuring-the-kernel-part-10.4613/
译者:[geekpi](https://github.com/geekpi) 校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -0,0 +1,121 @@
戴文的Linux内核专题15 配置内核 (11)
================================================================================
![](http://www.linux.org/attachments/slide-jpg.530/)
准备好配置更多的驱动了么?还有很多要做。
Linux支持两种不同的康柏智能阵列控制器(Compaq SMART2 support)和(Compaq Smart Array 5xxx support)。阵列控制器是将物理存储单元表现为逻辑单元的设备。这些控制可能同样实现了基于硬件的RAID。硬件和软件RIAD的不同是简单的。Linux管理并见到软件RIAD。Linux将硬件RAID视为另外的存储单元。这意味着Linux没有意识到设备就是RAID驱动器。硬件(阵列控制器)独立于内核管理着RAID系统。这对于系统的性能更好因为内核不必配置或者管理RAID。注意不同的阵列控制器有不同的RAID能力。
上面提到的阵列控制器可以通过这个驱动反问SCSI磁带(SCSI tape drive support for Smart Array 5xxx)。SCSI磁带是使用SCSI协议的磁带。
PCI RAID控制器Mylex DAC960、AcceleRAID和eXtremeRAID在这个驱动中支持(Mylex DAC960/DAC1100 PCI RAID Controller support)。PCI RAID控制器是一个连接到PCI卡的阵列控制器。RAID控制器是拥有RAID功能的阵列控制器。
带电源备份的MM5415内存芯片在这个驱动中支持(Micro Memory MM5415 Battery Backed RAM support)。带后备电源内存芯片允许数据在切断电源后继续保存在内存设备中。这有助于保护数据。不然,当电源断开后,当前的计算机会话就会丢失。
当启用这个特性后,可以将典型的文件(比如ISO文件)作为一个块设备并挂载它Loopback device support)。这对于从镜像文件中检索文件而不必把文件烧录到光盘或者解压出来。想像一下你从因特网上得到了一份包含了很多文件的ISO文件。如果你只需要包中的一个文件并且用户不希望烧写ISO到光盘上或者不想知道如何打开一个ISO文件。用户可以用挂载ISO来替代。
Linux内核在初始化阶段会创建一些回路设备所以一些回环设备已经准备好并创建了(Number of loop devices to pre-create at init time)。当一个文件(像ISO)或者虚拟设备(就像虚拟磁盘驱动器[vhd])被作为回环设备挂载时会节约一些时间。这个设定允许开发者选择内核可以预
创建多少回环设备。
当"Cryptoloop Support"启用后就可以CryptoAPI创建密码。这个用于硬件驱动器加密。然而并不是所有的文件系统都支持。
下面用户可以启用"DRBD Distributed Replicated Block Device support"(译注Linux上的分布存储系统)。这个就像网络RAID1。这些设备拥有设备文件/dev/drbdx。这些设备通常被用于集群这里集群中的每台计算机都有一个从主单元镜像过来的存储单元。这意味着每台计算机的硬盘是位于组中心计算机硬盘的镜像拷贝。集群是一组计算机扮演着一台大型强力单元的角色。然而每个集群都有一台控制计算机称为主节点。余下的计算机是从节点。
DRBD支持用于测试IO错误处理的故障注射(DRBD fault injection)。记住,故障注射就是使设备/软件认为发生了一个错误,因此开发者可以测试硬件/软件如何处理错误
如果内核要成为网络块设备的客户端,那么启用这个特性(Network block device support)。第一个设备文件是/dev/nd0。网络块设备是通过网络访问的远程存储单元。
直接连接SSD到PCI或者PCIe需要这个驱动(NVM Express block device)。
用这个特性允许将单独的SCSI OSD(object-based storage,基于对象的存储)对象作为块设备(OSD object-as-blkdev support)。
下一个驱动是"Promise SATA SX8 support"。这个驱动用于Promise公司(Promise Technology Inc.)生产的SATA控制器。
Linux允许将一部分内存作为块设备(RAM block device support)。这通常见与完全运行于内存上的Linux的live发行版。Linux的live发行版会卸载光盘并接着加载到内存中所以在尝试一个新的操作系统或者修复另一个系统时不会伤害到已安装的系统。
下一个选项允许用户输入"Default number of RAM disks"(默认RAM磁盘数量)。
"Default RAM disk size"(默认RAM磁盘大小)可以以KB设置大小。
内核可以支持在内存设备的XIP文件系统作为块设备(Support XIP filesystems on RAM block device)。这个特性会增大内核的大小。 XIP (eXecute In Place)文件系统是一个允许可执行文件在相同的文件系统上存储数据而不必像其他应用一样利用内存。在一个驻留在内存上的live版linux系统上运行可执行文件时需要这个文件系统。
下面,内核可以支持"Packet writing on CD/DVD media"。(CD/DVD刻录机支持.)
内核开发者可以设置最大活跃并发包数量(Free buffers for data gathering)。大的数字会以内存的消耗为代价加速写入性能。一个包会消耗大约64KB。
Linux内核可以使用可擦写光盘作为缓存空间(Enable write caching)。这个特性仍然是试验性质。
下面的特性允许通过以太网线缆使用ATA规范(ATA over Ethernet support)。
下面的驱动允许虚拟块设备创建为virtio(Virtio block driver)。virtio是IO虚拟化平台。
一些旧的硬盘还要一个特殊的驱动(Very old hard disk (MFM/RLL/IDE) driver)。
这里有一个驱动用于先前提到的Rados设备(Rados block device (RBD))。
下面是一个特殊的设备驱动(IBM FlashSystem 70/80 PCIe SSD Device Driver)。
现在,我们可以进入杂项设备。第一个设定是启用/禁用电位器(Analog Devices Digital Potentiometers )。
如果电位器在I2C总线上那么就启用这个(support I2C bus connection)。
如果电位器是连接到SPI总线那么需要这个驱动(support SPI bus connection)。
注意:Linux内核支持很多传感器因为Linux内核经常用于天气设备和机器人。
这个驱动用于IBM RSA(Condor)服务处理器(Device driver for IBM RSA service processor)。
内核同样支持PCI Sensable PHANToM设备驱动(Sensable PHANToM (PCI))。
这个驱动指引不同来自并行追踪接口(Parallel Trace Interface (PTI))的追踪数据发往Intel Penwell PTI口 (Parallel Trace Interface for MIPI P1149.7 cJTAG standard)。这个被指领的数据用于调试目的。
一些带有IOC4芯片的SGI IO控制器需要这个驱动(SGI IOC4 Base IO support)。SGI IO是由SCI管理的输入/输出舍必。IOC4芯片控制着许多由这些设备执行的任务。这是一个基础驱动。其他对这些设备的驱动依赖于这个驱动。
这里有很少的TI闪存媒体适配器驱动在Linux内核中(TI Flash Media interface support) 和(TI Flash Media PCI74xx/PCI76xx host adapter support)。
这个 驱动("Integrated Circuits ICS932S401")用于ICS932S401时钟控制芯片。
Atmel同步串行通信外设(Synchronized Serial Communication peripheral (SSC))有一个驱动在内核中(Device driver for Atmel SSC peripheral)。这个设备提供点对点的设备间的串行连接。
"Enclosure Services"特性支持硬盘托架。
这是对于CS5535/CS5536芯片的定时器驱动(CS5535/CS5536 Geode Multi-Function General Purpose Timer (MFGPT) support)。
这个驱动让应用可以与HP工业标准服务器中的iLO管理处理器通信(Channel interface driver for the HP iLO processor)。"iLO"代表的是"Integrity Integrated Lights-Out".iLO允许远程服务器管理。
Linux内核支持ALS APDS9802光敏传感器(Medfield Avago APDS9802 ALS Sensor module)。一些其他支持的传感器包括:
Intersil ISL29003 ambient light sensor
Intersil ISL29020 ambient light sensor
Taos TSL2550 ambient light sensor
ROHM BH1780GLI ambient light sensor
BH1770GLC / SFH7770 combined ALS - Proximity sensor
APDS990X combined als and proximity sensors
注意:如果内核是为广泛的计算机编译的话,大多数驱动应该以模块形式加入。
Linux甚至可以使用"Honeywell HMC6352 compass"(一种电子罗盘)。
内核同样支持"Dallas DS1682 Total Elapsed Time Recorder with Alarm"。(一种运行时间记录仪)
16位的数模转换器通过这个驱动支持(Texas Instruments DAC7512)。
"VMware Balloon Driver"将客户机操作系统不需要的物理内存页交给需要那些需要的。
这里有两个不同的压力传感器(BMP085 digital pressure sensor on I2C) 和 (BMP085 digital pressure sensor on SPI)。
Intel输入/输出集线器(Intel Input/Output Hub (IOH))同样在内核中支持(Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) PHUB)。具体地说这个是Intel Topcliff芯片组的PCH PHUB(Platform Controller Hub Packet Hub)
"FSA9480 USB Switch"是检测设备何时插入的检测器。
下一个选项允许比特流配置(Lattice ECP3 FPGA bitstream configuration via SPI)。
Silicon微控制器使用Silicon实验室C2端口这需要一个特殊的驱动(Silicon Labs C2 port support)。
再说一次,继续留意下一篇文章因为我们还有更多的要做。
--------------------------------------------------------------------------------
via: http://www.linux.org/threads/the-linux-kernel-configuring-the-kernel-part-11.4640/
译者:[geekpi](https://github.com/geekpi) 校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -1,54 +0,0 @@
Ubuntu 升级到Linux内核3.11.6
================================================================================
昨天已经发布了Ubuntu 13.10但是你可能仍然运行着Linux 3.11.0 内核.当然坚持Ubuntu 13.10 当前内核不是一件坏事.事实上,不建议升级超出你的Linux发行版的官方仓库测试的特定版本.
另一方面,如果你不害怕折腾再折腾Ubuntu那么你应该升级到最新Ubuntu支持的 Linux 内核.你会发觉,最新的内核总是有改善,漏洞修补和添加特性的.
所以,如果你的电脑有些运行不正常,那么更新Linux内核可能会被修复.但记住,当你升级时你也有可能导致崩溃.
如果你不再惧怕,和我一起永往直前吧,让我们开始升级Ubuntu Linux 内核到 3.11.6!!
首先,在你开始升级之前,请先备份你的数据,以防升级时出错无法恢复.小心不出大错!!!
更多关于这个内核版本信息,[阅读更改日志][1]
当你一切就绪,运行下列命令来升级你的机器并删除旧包,包括旧内核.
sudo apt-get update && sudo apt-get dist-upgrade && sudo apt-get autoremove
另外,进到/tmp目录.
cd /tmp
接着,复制粘贴下列命令,按回车下载32位的Linux内核
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.11.6-saucy/linux-headers-3.11.6-031106-generic_3.11.6-031106.201310181453_i386.deb http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.11.6-saucy/linux-headers-3.11.6-031106_3.11.6-031106.201310181453_all.deb http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.11.6-saucy/linux-image-3.11.6-031106-generic_3.11.6-031106.201310181453_i386.deb
下载64位Linux 内核版本,复制粘贴下行.
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.11.6-saucy/linux-headers-3.11.6-031106-generic_3.11.6-031106.201310181453_amd64.deb http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.11.6-saucy/linux-headers-3.11.6-031106_3.11.6-031106.201310181453_all.deb http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.11.6-saucy/linux-image-3.11.6-031106-generic_3.11.6-031106.201310181453_amd64.deb
下载适合的版本,运行下列命令,开始安装.
sudo dpkg -i *.deb
最后,运行下列命令升级Grub.
sudo update-grub2
就这样!重启你的电脑,完成升级!!
玩的开心!
--------------------------------------------------------------------------------
via: http://www.liberiangeek.net/2013/10/upgrade-linux-kernel-3-11-6-ubuntu/
译者:[Luoxcat](https://github.com/Luoxcat) 校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.11.6