mirror of
https://github.com/LCTT/TranslateProject.git
synced 2026-09-04 04:32:49 +08:00
translated
This commit is contained in:
@@ -1,50 +0,0 @@
|
||||
10年 Xen:从恐龙进化到鸟类
|
||||
================================================================================
|
||||
Xen Hypervisor 项目原来是上世纪90年代末[剑桥大学][1] [Xenoserver][2] 项目的子项目。Xenoserver 有一个宏大的目标。
|
||||
|
||||
这个宏大目标就是建立一个大规模的分布式计算系统的公共基础框架。想像一下,当 Xenoserver 执行平台布署在全世界范围内,所有人都可以共享可执行代码,代码贡献者可以按代码被执行时产生的硬件消耗收取一定的费用。这将会鼓励负载均衡、消除单点瓶颈,甚至可以在这个平台上实现营利。
|
||||
|
||||
在今天,这种模式被称为“云计算”。而 Xen Hypervisor (确切来说是现在的 Xen Hypervisor)是最大的云平台。不仅亚马逊 Web 服务(AWS)和 Rackspace 公有云是基于 Xen 的,就连最近的大规模云平台[Verizon公有云][3]也将 Xen 作为他们的服务供应者。
|
||||
|
||||
### 10周岁生日快乐 ###
|
||||
|
||||
2003年10月21日,Xen Hypervisor 在[第19届 ACM 计算机原理研讨会][4]上作为一个开源项目首次出现在大众眼前。距今刚好过10年,在这里祝 Xen 项目生日快乐!
|
||||
|
||||
### 业界第一的劣势:像恐龙一样,不适者淘汰 ###
|
||||
|
||||
有时候在自己领域内成为第一个开源项目是一个劣势,为什么这样说?缺少与同行的交流会导致项目失去控制。简单的例子是,缺乏竞争会引发自满情绪,而这种情况已经在 Xen 项目内部发生了!开始几年 Xen 项目未受到任何约束,变得狭隘,不再寻求突破,致使用户和开发者不再对它感兴趣。当它的第一个竞争对手 KVM 出现并壮大,Xen 社区甚至对此反应迟缓。
|
||||
|
||||
这种反应带来的后果是,用户难以加入这个项目,并且这个项目不能很好地与 Linux 内核、QEMU及 Linux 发布版共处。然后,Xen 社区名声变坏。然后,Canonical 和 RedHat 抛弃 Xen,投向 KVM 怀抱。Xen 项目向这个不断改变的世界宣告了自己的失败。名声不断变臭,到后来它被视为开源社区界的恐龙,被彻底淘汰只是时间问题。
|
||||
|
||||
### 快速转型:从恐龙进化到鸟类 ###
|
||||
|
||||
像 Xen 一样能够从众多错误中回过神来的开源项目并不多,而 Xen 通过一系列措施做到了这一点。提出有效的管理方法、努力与其他开源项目合作、重启市场营销力量、踏踏实实与用户和开发者一起工作,这些努力终于让 Xen 获得新生。换句话说,Xen 已经完成从恐龙到鸟类的进化。如果你想知道我们是如何做到这点的,何不加入到我的 Linux 大会欧洲站的课题[Xen 项目:收获的教训][5]?其他你可能感兴趣的课题有[加强你的 Xen 云的安全][6]和[Xen:专为云设计的开源虚拟机管理程序][7]。
|
||||
|
||||

|
||||
|
||||
*展翅高飞(或者说,给 Xen 这只行动缓慢的熊猫插上翅膀)*
|
||||
|
||||
### 展望未来:虚拟化技术的新领域 ###
|
||||
|
||||
如果你正在搜索 Xen 项目,你会发现它的社区形式多样并且还在发展。从很多方面来说,它甚至比从前巅峰时期发展得更好。
|
||||
|
||||
现在 Xen 社区正在发生一些有意思的事情,一些 Xen 项目下的软件被用于非传统虚拟化技术。这也相应地为 Linux 社区增加了企业用户。在本周晚些时候开始的[Xen 项目开发者峰会][8]中我们将会见到两个安卓虚拟机如何运行在基于 Xen 的 Nexus 10 中,也会见到首次将 Xen 用于车载信息娱乐系统以及汽车应用系统中,同时我们还能见到 Xen 如何为诸如防火墙和NAT服务器这些中间体提供高性能应用。
|
||||
|
||||
当然,服务器虚拟化和云计算还有很长的路要走。展翅高飞吧(或者说,给 Xen 这只行动缓慢的熊猫插上翅膀)。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.linux.com/news/enterprise/cloud-computing/743330-10-years-of-xen-transforming-a-dinosaur-into-a-bird/
|
||||
|
||||
译者:[bazz2](https://github.com/bazz2) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.cl.cam.ac.uk/research/srg/netos/xen/index.html
|
||||
[2]:http://www.cl.cam.ac.uk/research/srg/netos/xeno/
|
||||
[3]:http://www.techweekeurope.co.uk/news/verizon-public-cloud-launch-128724
|
||||
[4]:http://www.cs.rochester.edu/meetings/sosp2003/papers.shtml
|
||||
[5]:http://linuxconcloudopeneu2013.sched.org/event/68003c370760bcc2da7e3e8b59b6b50f
|
||||
[6]:http://linuxconcloudopeneu2013.sched.org/event/37ecfe02561cf264a02061d1927da26c
|
||||
[7]:http://linuxconcloudopeneu2013.sched.org/event/bdca1274d9799646cdf2934dbde94ccd
|
||||
[8]:http://www.linux.com/news/software/applications/742053-a-great-line-up-of-speakers-at-xen-project-developer-summit
|
||||
@@ -1,68 +0,0 @@
|
||||
在Linux中连接和使用云存储的三种途径
|
||||
===
|
||||

|
||||
个人云存储现在变得非常有用,因为你再也不用担心你把东西存储在什么地方了:你能很容易的获取你的文件,并时刻保持文件更新。在Linux上你也多种保持访问你的云存储。这一点非常棒,因为你可以使用你最喜欢的方式,哪怕你是个终端控。
|
||||
|
||||
###使用官方客户端
|
||||
|
||||

|
||||
|
||||
使用这种方式的明显好处就是你可以通过使用他们各自的官方应用访问你的各种云存储。目前,提供官方Linux客户端的服务提供商有[SpiderOak](1), [Dropbox](2), [Ubuntu One](3),[Copy](5)。[Ubuntu One](3)虽不出名但的确是[一个不错的云存储竞争着](4)。[Copy][5]是提供比Dropbox更多空间,是[Dropbox的替代选择](6)。使用这些官方Linux客户端可以保持你的电脑与他们的服务器之间的通信,还可以让你进行属性设置,如选择性同步。
|
||||
|
||||
对于普通桌面用户,使用官方客户端是最好的选择,因为官方客户端可以提供最多的功能和最好的兼容性。使用它们也很简单,只需要下载他们对应你的发行版的软件包,然后安装安装完后在运行一下就Ok了。安装客户端时,它一般会指导你完成这些简单的过程。
|
||||
|
||||
###Dropbox:可以使用命令行脚本
|
||||
|
||||
假如你是Dropbox用户,你也可以通过终端命令行访问你的云存储。这种方式尤其适合于重度终端控,因为他们可以利用Dropbox提供的命令来写个脚本以便于执行自动任务。你可以运行以下命令来安装它(对于Debian,Ubuntu或者她们的衍生版 - 其它发行版可以使用相应的等价命令代替):
|
||||
|
||||
sudo apt-get install curl
|
||||
curl "https://raw.github.com/andreafabrizi/Dropbox-Uploader/master/dropbox_uploader.sh" -o /tmp/dropbox_uploader.sh
|
||||
sudo install /tmp/dropbox_uploader.sh /usr/local/bin/dropbox_uploader
|
||||
dropbox_uploader
|
||||
|
||||
|
||||

|
||||
|
||||
当你运行最后一条命令后,脚本会提醒你这是你第一次运行这个脚本。它将告诉你去浏览一个Dropbox的特定网页以便访问你的账户。它还会告诉你所有你需要放入网站的信息,这是为了让Dropbox给你App Key和App Secret以及赋予这个脚本你给予的访问权限。现在脚本就拥有了访问你账户的合法授权了。
|
||||
|
||||
这些一旦完成,你就可以这个脚本执行各种任务了,例如上传、下载、删除、移动、复制、创建文件夹、查看文件、共享文件、查看文件信息和取消共享。对于全部的语法解释,你可以查看一下[这个页面](9)。
|
||||
|
||||
###[Storage Made Easy](7)将SkyDrive带到Linux上
|
||||
|
||||
微软并没有提供SkyDrive的官方Linux客户端,这一点也不令人惊讶。但是你并不意味着你不能在Linux上访问SkyDrive,记住:SkyDrive的web版本是可用的。
|
||||
|
||||
但是假如你要把你的多个云存储合并在一起,或者你想有一个比较方便的方式在Linux上访问你的SkyDrive账户,你可以试试Storage Made Easy。这个第三方服务可以将它自己提供的云存储服务以及和多大三个其它的云存储服务整合在一起。更好的一点是:它提供官方Linux客户端,而且SkyDrive也是它支持的扩展云存储服务之一!
|
||||
|
||||

|
||||
|
||||
为了使用Stroage Made Easy,你首先需要创建一个他们的账号。完成账号创建后,你需要回到控制界面,选择“Add a Cloud Provider”。在这儿,你可以选择SkyDrive API 然后填入登陆信息。添加完登陆信息后,点击授权按钮以便给予必要的授权。然后,你就可以下载它的Linux客户端并安装它了。
|
||||
|
||||

|
||||
|
||||
第一次启动时。它会要求你登陆,还有询问你要把云存储挂载到什么地方。在你做完了这些后,你就可以浏览你选择的文件夹,你还可以访问你的Storage Made Easy空间以及你的SkyDrive空间了!这种方法对于那些想在Linux上使用SkyDrive的人来说非常好,对于想把他们的多个云存储服务整合到一个地方的人来说也很不错。这种方法的缺点是你无法使用他们各自官方客户端中可以使用的特殊功能。
|
||||
|
||||
因为现在在你的Linux桌面上也可以使用SkyDrive,接下来你可能需要阅读一下我写的[SkyDrive与Google Drive的比较](8)以便于知道究竟哪种更适合于你。
|
||||
|
||||
###结论
|
||||
|
||||
正如你所见,本文提供了多种方式访问你的个人云存储。当然,假如你觉得你当前使用的就是最适合于你的,那么你无须更换。然而,举个例子,假如你是一个终端控,要去寻找可以在终端中与你的Dropbox账户进行交互的方式,你就可以按照本文提供的方法去做!美妙之处就在于你可以选择最适于你的方式。同时,你要保持你的思想开放,本文在这儿展示的工具和例子,在将来也许会有针对其它云存储服务的其它工具出现,让你可以更加自由灵活的使用。
|
||||
|
||||
你最喜欢哪种方式来访问你的云存储呢?哪种是你最理想的形式呢?请在评论栏里留言,让我们知道你的想法!
|
||||
|
||||
---
|
||||
|
||||
via: http://www.makeuseof.com/tag/3-ways-to-access-and-use-cloud-storage-skydrive-etc-in-linux/
|
||||
|
||||
译者:[Linux-pdz](https://github.com/Linux-pdz) 校对:[jasminepeng](https://github.com/jasminepeng)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:https://spideroak.com/opendownload/
|
||||
[2]:https://www.dropbox.com/install?os=lnx
|
||||
[3]:http://one.ubuntu.com/
|
||||
[4]:http://www.makeuseof.com/tag/ubuntu-unknown-worthy-contender-cloud-storage/
|
||||
[5]:http://www.copy.com/
|
||||
[6]:http://www.makeuseof.com/tag/copy-a-dropbox-alternative-with-more-storage-mac-linux-windows-ios-android/
|
||||
[7]:http://storagemadeeasy.com/
|
||||
[8]:http://www.makeuseof.com/tag/skydrive-vs-google-drive-which-is-best-for-office-productivity/
|
||||
[9]:https://github.com/andreafabrizi/Dropbox-Uploader
|
||||
32
translated/Deciphering Top.md
Executable file
32
translated/Deciphering Top.md
Executable file
@@ -0,0 +1,32 @@
|
||||
解密"top"
|
||||
================================================================================
|
||||
当对服务器的性能好奇时,我第一个想到的是"top"命令。top不是最好的,它不是一个长期的快照,但是它提供了服务器的一个像样的时间点的快照,并且尝试回答了问题"现在在发生什么?"。不幸地,top的输出很容易被误解如果你没有很好地理解数据显示的不同域。
|
||||
|
||||
我不会完整解读top命令的[man page][2],当你和时间和意愿时,它一直在那等着你。我想要做的是指出一些我如何得到系统的快速概况的几个要点,并希望得到我接下来该怎么做。top是我在故障排除时的第一站,但这很少是我唯一的一站。
|
||||
|
||||
[][1]
|
||||
|
||||
top命令我第一个看的是平均负载(load average),它在右上角的屏幕上。平均负载的计算是基于统计搜集的数量,但是可以通常地认为是CPU被请求工作的数量。如果你的机器有一个单核CPU,那么平均负载是1就意味着机器是被完全加载的并且有充分的能力去完成在采样时间内的任务。同样地,如果平均负载是2,那单核的CPU是超载的,并需要2个可用内核去完成在同样采样时间内被要求完成的任务。随着8、16、32核的发售,我会在考虑平均负载的时候再三考虑。如果我需要去检测,我会在top里按了"1",这会列出所有CPU核列表,这样我就可以得到一个快速计数用于比较。
|
||||
|
||||
我检查的第二项是第一步列出来的,在第9列,标记着"%CPU"。这一列的解释是新奇的:
|
||||
|
||||
> 任务共享上次屏幕刷新后的CPU运行时间,以完全的CPU时间百分比表示。在一个完全SMP环境中,如果'Irix mode'是关闭的,top会在'Solaris mode'下操作,这里一个任务的cpu使用率将被全部的CPU分割。你可以用'I'这个交互命令触发Irix或Solaris模式。
|
||||
|
||||
一点也不清楚,是么?这里要记住的主要意思是如果单个进程由于某个原因或者其他因素占用率升高,那么他很有可能会以%CPU很高的数字显示在top的第一行。
|
||||
|
||||
我下一个看到的区域是"Cpu(s):"这一行,这头部的中间。特别地,我对%us、sy%、%id、和%wa感兴趣,它们分别是用户进程、系统进程、空闲时间和CPU用于等待I/O流执行的时间比例。这个百分比应该接近于0,高于5%时需要密切关注。
|
||||
|
||||
最后,我想要检测系统up时间,这显示在左上角。如果我对一台服务器有疑问,并且这台服务器最近重启过,这里或许有一个关联,或许是一个守护进程没有启动。
|
||||
|
||||
这些测试只需要几秒。如果我只是观察,我可能让top运行几分钟并观察进程、CPU和负载,但是通常地我很快地进入和退出top。top是给你一个系统健康概况的那些奇妙系统管理员工具之一,并允许你快速诊断潜在的问题。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://ostatic.com/blog/deciphering-top
|
||||
|
||||
译者:[geekpi](https://github.com/geekpi) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.flickr.com/photos/51724787@N06/10847969205/
|
||||
[2]:http://www.linuxmanpages.com/man1/top1.php
|
||||
@@ -1,54 +0,0 @@
|
||||
如何在linux上通过GRUB添加内核参数
|
||||
================================================================================
|
||||
|
||||
我们可以在linux内核启动时为其提供各种各样的参数。这些参数可以自定义内核默认的行为,或者通知内核关于硬件的配置信息。内核参数应在内核启动时通过引导装载程序如GRUB或LILO传递给内核。
|
||||
|
||||
在本教程中,我将会描述**如何在linux上通过GRUB添加内核参数**。
|
||||
|
||||
如果你在使用GRUB引导装载程序,想修改或添加内核参数,你可以编辑GRUB配置文件。下面是针对特定发行版在GRUB的配置文件中添加内核启动参数的方法。
|
||||
|
||||
### 在Debian或Ubuntu上添加内核启动参数###
|
||||
|
||||
在基于Debian的系统上,如果你想在系统启动时添加内核参数,你可以编辑 /etc/default/grub 目录下的GRUB配置模板。在 GRUB_CMDLINE_LINUX_DEFAULT 变量中以 “name=value” 的格式添加内核参数。
|
||||
|
||||
$ sudo -e /etc/default/grub
|
||||
|
||||
> GRUB_CMDLINE_LINUX_DEFAULT="...... name=value"
|
||||
|
||||
然后运行下面的命令来生成一个GRUB的配置文件。
|
||||
|
||||
$ sudo update-grub
|
||||
|
||||
如果无法找到 update-grub 命令,你可以通过下面的命令安装它。
|
||||
|
||||
$ sudo apt-get install grub2-common
|
||||
|
||||
### 在Fedora上添加内核启动参数 ###
|
||||
|
||||
在Fedora上,想要在启动时添加内核参数,你可以编辑 /etc/default/grub目录下的 GRUB 配置模板。在 GRUB_CMDLINE_LINUX 变量中以 “name=value” 的格式添加内核参数。
|
||||
|
||||
$ sudo -e /etc/default/grub
|
||||
|
||||
> GRUB_CMDLINE_LINUX="...... name=value"
|
||||
|
||||
然后运行下面的命令生成 GRUB2 配置文件。
|
||||
|
||||
$ sudo grub2-mkconfig -o /boot/grub2/grub.cfg
|
||||
|
||||
### 在CentOS上添加内核启动参数 ###
|
||||
|
||||
在CentOS上,想要在启动时添加内核参数,你可以直接编辑GRUB配置文件 /boot/grub/grub.conf。在配置文件中,找到描述默认使用的Linux映像的条目。文件中最顶行的字符串 “default=N”会指示哪一个条目是默认的映像。
|
||||
|
||||
[][1]
|
||||
|
||||
找到默认的映像条目后,在以 “kernel /vmlinuz-” 开头的那一段的结尾附加上内核参数。参数的格式为 “name=value” 。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://xmodulo.com/2013/11/add-kernel-boot-parameters-via-grub-linux.html
|
||||
|
||||
译者:[Linchenguang](https://github.com/Linchenguang) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.flickr.com/photos/xmodulo/10618657834/
|
||||
@@ -0,0 +1,119 @@
|
||||
如何在Linux上配置基于Web的网络流量监控系统
|
||||
================================================================================
|
||||
当你在本地网络监控网络流量,根据流量大小、监控平台/接口、数据库类型等等,可以有许多不同的选择。
|
||||
|
||||
[ntopng][1]是一套开源(遵循GPLv3协议)网络流量分析解决方案,提供基于web界面的实时网络流量监控。支持跨平台,包括Linux和MacOS X。ntopng类似于RMON远端网络监控代理,具有内置的Web服务能力,使用[Redis][2]键值服务按时间序列存储统计信息。你可以在任何指定的监控服务器上安装ntopng,只需使用任一web浏览器,就能实时访问服务器上的流量报告了。
|
||||
|
||||
本教程就来介绍**如何使用ntopng在Linux上配置基于Web的网络流量监控系统**
|
||||
|
||||
###ntopng的特性###
|
||||
|
||||
- 从数据流级别与协议级别对本地网络流量进行实时分析
|
||||
- 支持域、AS(自制系统)与VLAN级别的统计分析
|
||||
- 支持IP地址地理定位
|
||||
- 支持基于“服务探索”(例如Google、Facebook)的深度报文检测(DPI)
|
||||
- 历史流量分析(例如分别按照小时、日、周、月、年进行分析)
|
||||
- 支持sFlow、NetFlow(v5/v9版)以及基于nProbe的IPFIX
|
||||
- 网络流量矩阵(谁正在和谁谈话?)
|
||||
- 支持IPv6
|
||||
|
||||
###在Linux上安装ntopng
|
||||
|
||||
官方网页上提供了针对[Ubuntu][3]和[CentOS][4]的二进制安装包。如果你使用的恰好是以上二者其一,并且懒得用源码安装,可以直接到官网下载二进制文件包安装,并忽略这一小节下面的内容。
|
||||
|
||||
如果你想通过[源码][5]安装最新的ntopng,请继续往下看
|
||||
|
||||
如果你是Debian、Ubuntu或Linux Mint,执行以下命令:
|
||||
|
||||
$ sudo apt-get install libpcap-dev libglib2.0-dev libgeoip-dev redis-server wget
|
||||
$ tar xzf ntopng-1.0.tar.gz
|
||||
$ cd ntopng-1.0/
|
||||
$ ./configure
|
||||
$ make geoip
|
||||
$ make
|
||||
|
||||
上面的几个步骤中,“make geoip”将会自动通过wget从maxmind.com下载一个免费版的GeoIP数据库,因此,这里最好确保你的系统能联网。
|
||||
|
||||
如果你是Fedora:
|
||||
|
||||
$ sudo yum install libpcap-devel glib2-devel GeoIP-devel
|
||||
libxml2-devel redis wget
|
||||
$ tar xzf ntopng-1.0.tar.gz
|
||||
$ cd ntopng-1.0/
|
||||
$ ./configure
|
||||
$ make geoip
|
||||
$ make
|
||||
|
||||
如果你是CentOS或RHEL,首先[设置EPEL repository][6],然后再执行上面和[Fedora][7]一样的命令就可以。
|
||||
|
||||
###在Linux上配置ntopng###
|
||||
|
||||
ntopng安装完毕之后,接下来,新建一个ntopng配置目录,然后按照下列命令准备默认的配置文件。这里我假设你的本地网络地址为C类“192.168.1.0/24”。
|
||||
|
||||
$ sudo mkir /etc/ntopng -p
|
||||
|
||||
$ sudo -e /etc/ntopng/ntopng.start
|
||||
|
||||
> --local-networks "192.168.1.0/24"
|
||||
>
|
||||
> --interface 1
|
||||
|
||||
$ sudo -e /etc/ntopng/ntopng.conf
|
||||
|
||||
> -G=/var/run/ntopng.pid
|
||||
|
||||
在运行ntopng之前,要确认先启动redis,刚才不说了,redis为ntopng提供键值存储嘛~
|
||||
|
||||
在Debian、Ubuntu和Linux Mint上,这样启动:
|
||||
|
||||
$ sudo /etc/init.d/redis-server restart
|
||||
$ sudo ./ntopng
|
||||
|
||||
在Fedora、CentOS和RHEL上,这样启动:
|
||||
|
||||
$ sudo service redis restart
|
||||
$ sudo ./ntopng
|
||||
|
||||
ntopng默认监听TCP的3000端口,使用下列命令加以确认。
|
||||
|
||||
$ sudo netstat -nap|grep ntopng
|
||||
|
||||
> tcp 0 0 0.0.0.0:3000 0.0.0.0:* LISTEN 29566/ntopng
|
||||
|
||||
###基于Web界面的网络流量监控###
|
||||
|
||||
一旦ntopng成功运行,就可以打开浏览器,访问地址http://<你的主机IP地址>:3000
|
||||
|
||||
这时,你会看到ntopng的登录界面。使用默认帐密:“admin/admin”。
|
||||
|
||||
下面是一些截图。
|
||||
|
||||
top流的实时可视化图像
|
||||
[][8]
|
||||
|
||||
top主机的实时统计,包括top协议和top AS数量
|
||||
[][9]
|
||||
|
||||
基于DPI的自动程序/服务探索生成的的实时数据报告
|
||||
|
||||
历史流量数据分析
|
||||
[][10]
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://xmodulo.com/2013/10/set-web-based-network-traffic-monitoring-linux.html
|
||||
|
||||
译者:[Mr小眼儿](http://blog.csdn.net/tinyeyeser) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.ntop.org/products/ntop/
|
||||
[2]:http://redis.io/
|
||||
[3]:http://apt.ntop.org/
|
||||
[4]:http://rpm.ntop.org/
|
||||
[5]:http://sourceforge.net/projects/ntop/files/ntopng/
|
||||
[6]:http://xmodulo.com/2013/03/how-to-set-up-epel-repository-on-centos.html
|
||||
[7]:http://xmodulo.com/go/fedora_guide
|
||||
[8]:http://www.flickr.com/photos/xmodulo/10487165303/
|
||||
[9]:http://www.flickr.com/photos/xmodulo/10486988416/
|
||||
[10]:http://www.flickr.com/photos/xmodulo/10486995114/
|
||||
@@ -1,40 +0,0 @@
|
||||
让Linux更友好
|
||||
================================================================================
|
||||
一个令人吃惊的事实是,多于十亿人多多少少有着某种程度的残疾。就是说全球大约15%的人在生理上、感知上、心智上有缺陷,导致他们难以活动、看和听,以及学习。世界上3.5亿人有不同程度的视觉障碍。计算机技术发展地越快,这些人就越会被疏远,除非有计算机软件的开发可以满足他们的需求。
|
||||
|
||||
可用性是表示一个产品、设备、服务或者环境在不考虑具体细节的情况下能被多少人使用的程度。可用性可以被看作接触和利用一个系统或者实体的能力。可用性至关重要。社会和谐不是一个慈善行动,而是人类基本的权利。
|
||||
|
||||
我们见证了Linux软件和发行版本在使每个人融入社会方面做的突出贡献。举个例子来说,GNOME Accessibility Project 为图形界面用户开发了开源的可用性解决方案。Ubuntu有一个可用性团队致力于使Ubuntu能被更广范围的人使用。不得不提的是Vinux Project,一个基于Ubuntu的发行版本,针对失明和视力有障碍的用户进行了优化。
|
||||
|
||||
也有很多单独的应用软件提供了不同的可用性功能。这篇文章试图找出一些顶尖的开源软件,它们能帮助人们充分利用计算机技术,不论他们的生理和知觉功能如何。
|
||||
|
||||
让我们了解一下手边的8个通用辅助工具。我们为每个应用编写了它字节的入口页面,完整地、深入地分析了它们的功能,包含截屏和相关资源链接。
|
||||
|
||||
|
||||
### 通用辅助 ###
|
||||
|
||||
- [Easystroke][1] Gesture recognition program
|
||||
- [Simon][2] Flexible speech recognition software
|
||||
- [Orca Screen Reader][3] Scriptable screen reader
|
||||
- [Julius][4] Two-pass large vocabulary continuous speech recognition engine
|
||||
- [Florence Virtual Keyboard][5] Extensible scalable virtual keyboard
|
||||
- [Caribou][6] Configurable on screen keyboard with scanning mode
|
||||
- [Dasher][7] Graphical predictive text input system
|
||||
- [xvkbd][8] Virtual (graphical) keyboard program
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.linuxlinks.com/article/20131109042823957/UniversalAccess.html
|
||||
|
||||
译者:[boredivan](https://github.com/boredivan) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://sourceforge.net/apps/trac/easystroke/
|
||||
[2]:http://simon-listens.org/
|
||||
[3]:https://wiki.gnome.org/Orca
|
||||
[4]:http://julius.sourceforge.jp/
|
||||
[5]:http://florence.sourceforge.net/english.html
|
||||
[6]:https://wiki.gnome.org/Caribou
|
||||
[7]:http://www.inference.phy.cam.ac.uk/dasher/
|
||||
[8]:http://homepage3.nifty.com/tsato/xvkbd/
|
||||
@@ -1,35 +0,0 @@
|
||||
米科·哈普宁:开源软件使世界更安全
|
||||
================================================================================
|
||||
安全专家米科·哈普宁(Mikko Hypponen)于上周在爱丁堡举行的[LinuxCon and CloudOpen Europe][1]会议上的主题演讲中说:"开源软件可以作为一个方法来打击全球监视无辜居民的行为。"
|
||||
|
||||

|
||||
|
||||
*米科·哈普宁,芬兰F-Secure的首席研究员,在爱丁堡举行的LinuxCon and CloudOpen Europe 2013会议上讲话。*
|
||||
|
||||
计算和全球网络增加的进步使得存储和传输数据变得便宜且简单。哈普宁说这创造了无比的连通性、进步和创新。但是同样使得大规模的数据被访问到就像NSA的棱镜项目演示的那样,这事件随着前美国政府员工爱德华·斯诺登(Edward Snowden)泄漏的一系列顶级机密文件而公开。
|
||||
|
||||
哈普宁,芬兰F-Secure的首席研究员说:"前几年我们已经意识到数据是廉价的。我们永远不必再删除任何数据。这促成了很多伟大的事情但同样也引发了大规模地毯式的监视。"
|
||||
|
||||
哈普宁说:"这些监视会访问我们的个人数据,包括电话记录、地理位置、电子邮件和搜索引擎请求,有些可能是被授权的。"
|
||||
|
||||
他说:"我相信一些监控是好的。如果有有一项研究来找出校园枪击者或者毒枭或者恐怖组织成员等等。我们应该已经有技术手段这么做。但是我们首先必须必须持有怀疑。"
|
||||
|
||||
哈普宁说:"但是收集通信和每个人的个人数据不仅是对隐私的侵犯还是对民主的威胁。"
|
||||
|
||||
他说:"即使你如今对政府认为没问题,但是我们不知道政府会在今后的20年怎么样。如果他们有你20年的搜索数据,他们会找出一些非法的或者令人尴尬的理由来扭曲你的手。"
|
||||
|
||||
哈普宁说:"虽然泄漏事件使得一些IT专家质疑他们的数据存储的安全性和经由美国服务商的的路由,但避免这些公司和服务不能解决问题。同样不能每个国家都花费和金钱来建造他们自己的替代品。"
|
||||
|
||||
哈普宁说:"要跨越国际边际地工作,开发者应该团结起来建造一个安全和可靠的软件和服务来放置后门篡改和用户隐私。"
|
||||
|
||||
他说:"我建议开源软件对这个问题提供一个解决方案。那么国家就不必独自工作。这将会变得安全、开放和免费。"
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.linux.com/news/featured-blogs/200-libby-clark/745585-mikko-hypponen-open-source-software-will-make-the-world-more-secure
|
||||
|
||||
译者:[geekpi](https://github.com/geekpi) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://events.linuxfoundation.org/events/linuxcon-europe
|
||||
@@ -2,11 +2,11 @@
|
||||
===
|
||||

|
||||
|
||||
**YUM**是RHEL系系统中提供的一个安装,卸载和搜索软件包的工具。它能做的不仅仅是安装、卸载软件包,它能做的还有更多,下面我们将在本文中为你展示。
|
||||
**YUM**是RHEL系统中提供的一个安装,卸载和搜索软件包的工具。它能做的不仅仅是安装、卸载软件包,它能做的还有更多,下面我们将在本文中为你展示。
|
||||
|
||||
YUM可以自动安装软件包的依赖,例如当你使用yum安装http时,它还会自动安装https apache服务以及它依赖的软件包。通过rpm软件包安装时就没有这么方便咯(译注:就是不会自动处理软件包依赖问题咯!),你必须下载所有它依赖的软件包,然后依序安装它们。
|
||||
YUM可以自动安装软件包的依赖包,例如当你使用yum安装httpd时,它还会自动安装https apache server以及它依赖的软件包。通过rpm软件包安装时就没有这么方便咯(译注:就是不会自动处理软件包依赖问题咯!),你必须下载所有它依赖的软件包,然后依序安装它们。
|
||||
|
||||
yum工具从远端服务器上的软件仓库(通常由系统提供商提供)内获取软件包的信息。一个软件仓库基本上是被认为能在特定架构上运行的一系列rpm软件包的集合。例如,对于32位和64位系统各有一个软件仓库,还有针对RHEL5以及RHEL6的软件仓库。你也可以建立一个本地仓库,配置你的yum让其从你的本地仓库里搜索安装软件包。在接下来的例子中,我将想你展示一些yum除了在安装和卸载软件之外可以做的其它事情。为了理解起见,我将在我的Amazon EC2 RHEL 6.4服务器上使用httpd软件包最为例子。
|
||||
yum工具从远端服务器上的软件仓库(通常由OS提供商提供)获取软件包的信息。一个软件仓库是能在特定架构上运行的一系列rpm软件包的集合。例如,对于32位和64位系统各有一个软件仓库,还有针对RHEL5以及RHEL6的软件仓库。你也可以建立一个本地仓库,配置你的yum让其从你的本地仓库里搜索安装软件包。在接下来的例子中,我将向你展示除了安装和卸载软件,yum还可以做的其它事情。为方便理解,我将在我的Amazon EC2 RHEL 6.4服务器上使用httpd软件包为例。
|
||||
|
||||
###从软件仓库里搜索软件包
|
||||
# yum search httpd
|
||||
@@ -30,13 +30,13 @@ yum工具从远端服务器上的软件仓库(通常由系统提供商提供
|
||||
Repo : rhui-REGION-rhel-server-releases
|
||||
Matched from:
|
||||
|
||||
*yum provides httpd*在软件仓库里搜索含有httpd的软件包
|
||||
*yum provides httpd*在软件仓库里搜索含有httpd的软件包。
|
||||
|
||||
###提供所有软件组列表
|
||||
|
||||
# yum grouplist
|
||||
|
||||
以上命令将为你显示已经安装的以及可用的软件组。你可以安装一个的软件组并可对组内软件进行选择。例如,我们将安装一个PHP支持的软件组。这个软件组内包含PHP需要的软件包。
|
||||
以上命令将为你显示已经安装的以及可用的软件组。你可以使用软件组安装选项来安装其中一个软件组。例如,我们将安装一个PHP Support的软件组。这个软件组内包含需要的PHP软件包。
|
||||
|
||||
# yum groupinstall PHP Support
|
||||
|
||||
@@ -126,7 +126,7 @@ yum工具从远端服务器上的软件仓库(通常由系统提供商提供
|
||||
|
||||
###使用YUM安装软件包
|
||||
|
||||
可以使用yum命令安装软件包,如下所示:
|
||||
可以使用**yum install**命令安装软件包,如下所示:
|
||||
|
||||
# yum install httpd
|
||||
|
||||
@@ -167,11 +167,11 @@ yum工具从远端服务器上的软件仓库(通常由系统提供商提供
|
||||
Installed size: 3.6 M
|
||||
Is this ok [y/N]: y
|
||||
|
||||
如你所见,在安装httpd时yum安装了额外的软件包。这叫做被yum完成的依赖解析。
|
||||
如你所见,在安装httpd时yum安装了额外的软件包。这称为yum完成的依赖包解析。
|
||||
|
||||
假如你不想让yum弹出[y/N]选项,可以使用**yum install -y httpd**
|
||||
|
||||
**使用yum命令更新一个已存在的软件包**
|
||||
**使用yum update 命令更新一个已存在的软件包**
|
||||
|
||||
# yum update httpd
|
||||
Loaded plugins: amazon-id, rhui-lb, security
|
||||
@@ -180,11 +180,11 @@ yum工具从远端服务器上的软件仓库(通常由系统提供商提供
|
||||
|
||||
这意味着你系统中安装的httpd软件包已经是yum软件仓库里的最新版本的了。
|
||||
|
||||
**更新系统中所有的软件包**
|
||||
**更新服务器上所有的软件包**
|
||||
|
||||
# yum update
|
||||
|
||||
以上的命令将根系你系统上的所有软件包到最新版本,包括内核软件包,这意味着你的系统更新到了RHEL提供的最新版本了。
|
||||
以上命令将系统上的所有软件包更新到最新版本,包括内核软件包,这意味着你的OS更新到了RHEL提供的最新版本了。
|
||||
|
||||
###下载RPM软件包但是不安装
|
||||
|
||||
@@ -235,7 +235,7 @@ yum工具从远端服务器上的软件仓库(通常由系统提供商提供
|
||||
|
||||
# yum install httpd-devel -downloadonly -downloaddir=/opt
|
||||
|
||||
假如你有一个rpm软件包但是没有它所依赖的软件包,你不知道到哪去得到它所依赖的软件包。你仍然可以通过yum安装这个rpm软件包然后从软件仓库里得到它所依赖的软件包。让我们安装刚刚下载的httpd-devel-2.2.15-29.el6_4.x86_64 RPM软件包。
|
||||
假如你有一个rpm软件包但是没有它所依赖的软件包,你不知道到哪去得到它所依赖的软件包。你仍然可以通过yum安装这个rpm软件包,并从软件仓库里得到它所依赖的软件包。让我们安装刚刚下载的httpd-devel-2.2.15-29.el6_4.x86_64 RPM软件包。
|
||||
|
||||
# yum localinstall /opt/httpd-devel-2.2.15-29.el6_4.x86_64.rpm
|
||||
|
||||
@@ -345,7 +345,7 @@ yum工具从远端服务器上的软件仓库(通常由系统提供商提供
|
||||
|
||||
###使用yum卸载软件包
|
||||
|
||||
格式为yum remove 要卸载的软件包。举例如下:
|
||||
使用 yum remove 卸载软件包。举例如下:
|
||||
|
||||
# yum remove httpd
|
||||
Failed to set locale, defaulting to C
|
||||
@@ -400,7 +400,7 @@ yum工具从远端服务器上的软件仓库(通常由系统提供商提供
|
||||
|
||||
###列出所有安装的软件包
|
||||
|
||||
假如你要列出你系统上安装的所有软件包,你可以使用命令yum list installed。这条命令结合grep命令是非常有用的,可以用来检查某个特定的软件包是否已被安装。这与使用rpm -qa命令询问已经安装的软件包相似。
|
||||
假如你要列出你系统上安装的所有软件包,你可以使用yum list installed命令。这条命令结合grep命令是非常有用的,可以用来检查某个特定的软件包是否已被安装。这与使用rpm -qa命令询问已经安装的软件包相似。
|
||||
|
||||
# yum list installed
|
||||
Loaded plugins: amazon-id, downloadonly, rhui-lb, security
|
||||
@@ -426,7 +426,7 @@ yum工具从远端服务器上的软件仓库(通常由系统提供商提供
|
||||
.
|
||||
Output Truncated.
|
||||
|
||||
###列出用于搜索、安装和更新软件包的可用软件仓库
|
||||
###列出可用软件库,软件包从这里查询,安装并更新
|
||||
|
||||
# yum repolist
|
||||
|
||||
@@ -441,6 +441,6 @@ yum工具从远端服务器上的软件仓库(通常由系统提供商提供
|
||||
|
||||
via: http://linoxide.com/linux-command/package-management-yum-redhat-linux/
|
||||
|
||||
译者:[Linux-pdz](https://github.com/Linux-pdz) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
译者:[Linux-pdz](https://github.com/Linux-pdz) 校对:[jasminepeng](https://github.com/jasminepeng)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
@@ -1,110 +0,0 @@
|
||||
09 Linux内核: 配置内核 (Part 5)
|
||||
================================================================================
|
||||

|
||||
|
||||
Linux内核拥有许多特性可以被配置。还有许多的特性要配置。
|
||||
|
||||
下一个可以配置的特性是x86的随机数生成器(x86 architectural random number generator (ARCH_RANDOM))。记住,我们现在配置的是AMD64系统的内核代码。这个随机数生成器使用Intel x86的RDRAND指令。这并不通用,所以为了一个更轻量的内核我禁用了它。
|
||||
|
||||
接着,我们可以启用或者禁用"Supervisor Mode Access Prevention (X86_SMAP)"。这是Intel处理器使用的安全特性。SWAP在一些实例中只会允许内核访问用户空间。这个有助于保护用户空间。如果启用,这里有一点性能和大小的开销,但是开销很小。由于我是用的是AMD系统,所以我禁用了这个特性。
|
||||
|
||||
开发者可以启用"EFI runtime service support (EFI)"。只有在有EFI固件的系统上启用它。拥有这个特性,内核可以使用可用的EFI服务。EFI是一个操作系统和硬件如何交流的规范,所以EFI固件是使用这个规范的硬件代码。因为我没有EFI固件,所以我禁用了它。
|
||||
|
||||
这是一个应该被启用的有用的安全方式(Enable seccomp to safely compute untrusted bytecode (SECCOMP))。这个安全特性在使用不受信任的字节码的数值计算(执行大量计算的软件)中使用。字节码(可移植代码)是一种被解释器有效读取的代码。字节码不是源代码,但它也不是汇编或者二进制代码。不受信任的代码是一种可能导致系统/数据损坏的代码。可能会破坏系统或者毁坏数据的不受信任的代码通过seccomp被隔离在独立的地址空间中。这是通过文件描述符传输的方法。通常上,最好启用这个安全特性即使会有一些性能开销,除非你在制作一个需要惊人性能的内核。
|
||||
|
||||
这里是另外一个安全特性(Enable -fstack-protector buffer overflow detection (CC_STACKPROTECTOR))。缓冲溢出是数据被写超出了它的内存界限并且进入了邻近的内存中。这是一个安全威胁。一些恶意软件使用缓冲区溢出来利用系统。启用这个会使用GCC选项 "-fstack-protector"。GCC是一个Linux编译器。这个编译器会在你配置完成后编译内核。这个编译器参数会在返回地址前在栈上加入一个canary值(特殊的安全代码)。这个值会在返回前被验证。当内存溢出发生时,canary值会得到覆盖消息。当这个发生时,会触发一个内存错误(kernel panic)。如许多人知道的那样,内核错误意味着系统将要崩溃,但是这比系统或者数据永久损害的好。发生内核错误,系统会重启,但是如果缓冲移除得到了一个损坏系统的机会,一个简单的重启无法修复破坏。你必须用GCC 4.2或者更高版本支持这个参数的GCC来编译内核。
|
||||
|
||||
注意:为了得到你使用的版本号,在命令行内键入"gcc --version"。
|
||||
|
||||
在这之后,我们可以配置定时器频率。配置工具建议使用250Hz,所以我们使用这个值。
|
||||
|
||||
Timer frequency
|
||||
1. 100 HZ (HZ_100)
|
||||
> 2. 250 HZ (HZ_250)
|
||||
3. 300 HZ (HZ_300)
|
||||
4. 1000 HZ (HZ_1000)
|
||||
choice[1-4?]: 2
|
||||
|
||||
使用1000Hz通常来讲对许多系统而言太快了。定时器频率决定着定时器中断被使用的频率。这有助于在时间线上的系统操作。程序并不是随机地执行一条命令。相反它们会等到定时器中断结束。这保持着有组织和结构的处理。频率为100Hz的定时器中断之间的时间是10ms,250Hz是4ms,1000Hz是1ms。现在许多开发者会马上想到1000Hz是最好的。好吧,这取决于你对开销的要求。一个大的定时器频率意味着更多的能源消耗和更多的能源被利用(在定时器上),产生更多的热量。更多的热量意味着硬件损耗的更快。
|
||||
|
||||
注意:如果某个特定的特性对你并不重要或者你不确定该选择什么,就使用配置工具选择的默认值。比如,就我现在正在配置的内核而言,使用哪个定时器对我并不重要。总的来说,如果你没有特别的原因去选择任何一个选项时,就使用默认值。
|
||||
|
||||
这个有趣的系统调用可能会对一些用户有用(kexec system call (KEXEC))。kexec调用会关闭当前内核去启动另外一个或者重启当前内核。硬件并不会关闭并且这个调用可以无需固件的帮助工作。bootloader没有被执行。(bootloader是启动操作系统的软件) 这个重启发生在操作系统级别上而不是硬件上。使用这个系统调用会快于执行一个标准的关机或者重启。这保持硬件在开启状态。这个系统调用并不能工作在所有系统上。为了高性能,启用热插拔。
|
||||
|
||||
To use kexec, use the command below replacing “<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/) 荣誉推出
|
||||
@@ -1,11 +1,11 @@
|
||||
ncdu-基于Ncurses的磁盘实用工具
|
||||
===
|
||||
|
||||
几天前,我们谈论了[gt5][1](一个具有图形前端的磁盘实用工具)。接着上次,继续介绍可供选择的磁盘实用工具,我们今天要讨论的是一个基于ncurese的磁盘实用工具,可以远程运行但没有图形界面。我们要介绍的这个命令行工具叫做**ncdu**。
|
||||
几天前,我们讨论了[gt5][1](一个具有图形前端的磁盘实用工具)。接着上次,继续介绍这个命令系列-du可选命令,我们今天要讨论的是一个基于ncurese的磁盘实用工具,可以远程运行但没有图形环境。我们要介绍的这个命令行工具叫做**ncdu**。
|
||||
|
||||
###ncdu-基于Ncurses的du可选程序
|
||||
|
||||
这个命令行工具是一个基于curses版本的标准du命令。它可帮你在没有安装图形环境的情况下快速查看系统的磁盘使用统计
|
||||
这个命令行工具是一个基于curses版本的标准du命令。它可帮助你在没有安装图形环境的情况下快速查看系统的磁盘使用统计。
|
||||
|
||||

|
||||
|
||||
@@ -14,13 +14,13 @@ ncdu-基于Ncurses的磁盘实用工具
|
||||
- Shell – Bash 4.2.45
|
||||
- 应用 – ncdu 1.9
|
||||
|
||||
###一个简要手册
|
||||
###简明教程
|
||||
|
||||
这儿是一些ncdu命令的例子:
|
||||
以下是一些ncdu命令的例子:
|
||||
|
||||
**1. 默认输出**
|
||||
|
||||
执行以下**ncdu**命令,你会观察到,它会先扫描磁盘然后以递减的顺序显示各个目录下的空间使用情况。
|
||||
执行以下**ncdu**命令,你会观察到,它会先扫描磁盘然后降序显示各个目录下的空间使用情况。
|
||||
|
||||
**> 扫描**
|
||||
|
||||
@@ -60,11 +60,11 @@ ncdu-基于Ncurses的磁盘实用工具
|
||||
|
||||

|
||||
|
||||
如你所见,在输出结果的第二竖列显示了每个目录的占用的空间占总的磁盘空间的百分比。
|
||||
如你所见,在输出结果的第二竖列显示了每个目录所占用的空间占总的磁盘空间的百分比。
|
||||
|
||||
**5. 获悉有关所有可使用快捷键的**
|
||||
|
||||
按**?**可获得有关快捷键,格式以及有关ncdu版本的信息。
|
||||
按**?**可获得相关快捷键、格式以及有关ncdu版本的信息。
|
||||
|
||||
下面给出一些例子:
|
||||
|
||||
@@ -74,14 +74,14 @@ ncdu-基于Ncurses的磁盘实用工具
|
||||
|
||||

|
||||
|
||||
想知道有关命令行选项以及其他信息,可前往[ncdu命令的Man页面][2]。
|
||||
想知道有关命令行选项以及其它信息,可前往[ncdu命令的Man页面][2]。
|
||||
|
||||
###下载/安装/配置
|
||||
|
||||
这儿是一些有关ncdu命令的重要链接
|
||||
以下是一些有关ncdu命令的重要链接
|
||||
|
||||
- [Home Page][3]
|
||||
- [Download Link][4]
|
||||
- [主页][3]
|
||||
- [下载链接][4]
|
||||
|
||||
当然,你也可以通过命令方式下载安装,比如apt-get,yum等。另外,Ubuntu用户可使用Ubuntu软件中心下载安装这个工具。
|
||||
|
||||
@@ -105,11 +105,11 @@ ncdu-基于Ncurses的磁盘实用工具
|
||||
|
||||
via: http://mylinuxbook.com/ncdu-ncurses-based-disk-usage-utility/
|
||||
|
||||
译者:[Linux-pdz](https://github.com/Linux-pdz) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
译者:[Linux-pdz](https://github.com/Linux-pdz) 校对:[Caroline](https://github.com/carolinewuyan)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://mylinuxbook.com/gt5-a-graphical-alternative-to-du/
|
||||
[2]:http://linux.die.net/man/1/ncdu
|
||||
[3]:http://dev.yorhel.nl/ncdu
|
||||
[4]:http://dev.yorhel.nl/ncdu
|
||||
[4]:http://dev.yorhel.nl/ncdu
|
||||
|
||||
Reference in New Issue
Block a user