mirror of
https://github.com/LCTT/TranslateProject.git
synced 2025-02-03 23:40:14 +08:00
commit
768d0fc89d
45
README.md
45
README.md
@ -33,23 +33,32 @@ LCTT的组成
|
||||
-------------------------------
|
||||
|
||||
目前活跃成员有:
|
||||
[wxy](https://github.com/wxy),
|
||||
[carolinewuyan](https://github.com/carolinewuyan),
|
||||
[vito-L](https://github.com/vito-L),
|
||||
[tinyeyeser](https://github.com/tinyeyeser),
|
||||
[woodboow](https://github.com/woodboow),
|
||||
[DeadFire](https://github.com/DeadFire),
|
||||
[flsf](https://github.com/flsf),
|
||||
[theo-l](https://github.com/theo-l),
|
||||
[jasminepeng](https://github.com/jasminepeng),
|
||||
[boredivan](https://github.com/boredivan),
|
||||
[Linchenguang](https://github.com/Linchenguang),
|
||||
[gamelifedong](https://github.com/gamelifedong),
|
||||
[Maclauring](https://github.com/Maclauring),
|
||||
[lijhg](https://github.com/lijhg),
|
||||
[liuaiping](https://github.com/liuaiping),
|
||||
[younel0925](https://github.com/younel0925)。
|
||||
(更新于2013/10/3)
|
||||
[wxy](https://github.com/wxy),
|
||||
[carolinewuyan](https://github.com/carolinewuyan),
|
||||
[tinyeyeser](https://github.com/tinyeyeser),
|
||||
[vito-L](https://github.com/vito-L),
|
||||
[DeadFire](https://github.com/DeadFire),
|
||||
[flsf](https://github.com/flsf),
|
||||
[jasminepeng](https://github.com/jasminepeng),
|
||||
[luoxcat](https://github.com/Luoxcat),
|
||||
[woodboow](https://github.com/woodboow),
|
||||
[geekpi](https://github.com/geekpi),
|
||||
[runningwater](https://github.com/runningwater),
|
||||
[Linux-pdz](https://github.com/Linux-pdz),
|
||||
[bazz2](https://github.com/bazz2),
|
||||
[theo-l](https://github.com/theo-l),
|
||||
[scusjs](https://github.com/scusjs),
|
||||
[Linchenguang](https://github.com/Linchenguang),
|
||||
[Vic020](https://github.com/Vic020),
|
||||
[l3b2w1](https://github.com/l3b2w1),
|
||||
[crowner](https://github.com/crowner),
|
||||
[boredivan](https://github.com/boredivan),
|
||||
[rogetfan](https://github.com/rogetfan),
|
||||
[willqian](https://github.com/willqian),
|
||||
[Maclauring](https://github.com/Maclauring),
|
||||
[small-Wood](https://github.com/small-Wood),
|
||||
[lijhg](https://github.com/lijhg),
|
||||
(更新于2013/11/13)
|
||||
|
||||
谢谢大家的支持!
|
||||
|
||||
@ -62,3 +71,5 @@ LCTT的组成
|
||||
* 2013/09/24 鉴于大家使用Github的水平不一,容易导致主仓库的一些错误,因此换成了常规的fork+PR的模式来进行翻译流程。
|
||||
* 2013/10/11 根据对LCTT的贡献,划分了Core Translators组,最先的加入成员是vito-L和tinyeyeser。
|
||||
* 2013/10/12 取消对LINUX.CN注册用户的依赖,在QQ群内、文章内都采用github的注册ID。
|
||||
* 2013/10/18 正式启动man翻译计划。
|
||||
* 2013/11/10 举行第一次北京线下聚会。
|
||||
|
@ -1,78 +1,55 @@
|
||||
十个鲜为人知的 Linux 命令 - Part 2
|
||||
|
||||
================================================================================
|
||||
|
||||
继续上篇文章[11个鲜为人知的实用Linux命令][1](注:此文已经被其他网站翻译,链接:[http://www.searchsv.com.cn/showcontent_77595.htm][2]或者:[http://www.oschina.net/translate/11-lesser-known-useful-linux-commands][5])在本文中,我们将关注其他几个不为人知的Linux命令,有些在管理桌面和服务器方面被证明是非常有用的.
|
||||
继续上篇文章[11个鲜为人知的实用Linux命令][1]在本文中,我们将关注其他几个不为人知的Linux命令,有些在管理桌面和服务器方面被证明是非常有用的。
|
||||
|
||||
![](http://www.tecmint.com/wp-content/uploads/2013/10/10-Lesser-Known-Commands.png)
|
||||
|
||||
*10个鲜为人知的Linux命令*
|
||||
###12. \<空格\> 命令###
|
||||
|
||||
###12. <space> 命令###
|
||||
|
||||
你在终端上键入的每个命令都会记录到**history**,也能用**history**命令重新调用.
|
||||
|
||||
如何骗过[history 命令][2]呢?呵呵,你可以轻而易举地做到.在终端,只需要在键入命令之前输入一个或多个空格,这样你的命令就不会被记录了.
|
||||
|
||||
让我们体验一下吧,先在终端尝试五个常见的 Linux 命令并在命令之前留个空(例如** ls, pwd, uname, echo “hi”** 和 **who**),然后检查这些命令是不是记录在历史中.
|
||||
你在终端上键入的每个命令都会记录到**history**,也能用**history**命令重新调用。
|
||||
|
||||
如何骗过[history 命令][2]呢?呵呵,你可以轻而易举地做到。在终端,只需要在键入命令之前输入一个或多个空格,这样你的命令就不会被记录了。
|
||||
|
||||
让我们体验一下吧,先在终端尝试五个常见的 Linux 命令并在命令之前留个空(例如** ls, pwd, uname, echo “hi”** 和 **who**),然后检查这些命令是不是记录在历史中。
|
||||
|
||||
avi@localhost:~$ ls
|
||||
|
||||
avi@localhost:~$ pwd
|
||||
|
||||
avi@localhost:~$ uname
|
||||
|
||||
avi@localhost:~$ echo “hi”
|
||||
|
||||
avi@localhost:~$ who
|
||||
|
||||
现在运行 ‘**history**‘ 命令来查看上面已执行的命令是否已经被记录了.
|
||||
现在运行 `history` 命令来查看上面已执行的命令是否已经被记录了.
|
||||
|
||||
avi@localhost:~$ history
|
||||
|
||||
|
||||
|
||||
40 cd /dev/
|
||||
|
||||
41 ls
|
||||
|
||||
42 dd if=/dev/cdrom1 of=/home/avi/Desktop/squeeze.iso
|
||||
|
||||
43 ping www.google.com
|
||||
|
||||
44 su
|
||||
|
||||
你看到没有最后执行的命令没有被记录.我们也可以用另一个命令‘**cat | bash**‘(不包含引号)欺骗history,结果跟上面一样.
|
||||
你看到没有最后执行的命令没有被记录。我们也可以用另一个命令`cat | bash`欺骗history,结果跟上面一样。
|
||||
|
||||
### 13. stat 命令 ###
|
||||
|
||||
Linux中的**stat**命令用来显示文件或文件系统的状态信息.当用文件名作为参数时,**stat**将会展示文件的全部信息.状态信息包括文件 **大小, 块, 权限, 访问时间, 修改时间, 状态改变时间**等.
|
||||
Linux中的**stat**命令用来显示文件或文件系统的状态信息。当用文件名作为参数时,**stat**将会展示文件的全部信息。状态信息包括文件 **大小、块、权限、访问时间、修改时间、状态改变时间**等。
|
||||
|
||||
avi@localhost:~$ stat 34.odt
|
||||
|
||||
File: `34.odt'
|
||||
|
||||
Size: 28822 Blocks: 64 IO Block: 4096 regular file
|
||||
|
||||
Device: 801h/2049d Inode: 5030293 Links: 1
|
||||
|
||||
Access: (0644/-rw-r--r--) Uid: ( 1000/ avi) Gid: ( 1000/ avi)
|
||||
|
||||
Access: 2013-10-14 00:17:40.000000000 +0530
|
||||
|
||||
Modify: 2013-10-01 15:20:17.000000000 +0530
|
||||
|
||||
Change: 2013-10-01 15:20:17.000000000 +0530
|
||||
|
||||
### 14. \<alt\>. 和 \<esc\>. ###
|
||||
### 14. \<alt\> + . 和 \<esc\> + . ###
|
||||
|
||||
上面的组合键事实上不是一个命令,而是传递最后一个命令参数到提示符后的快捷键,已输入命令的倒序方式传递命令.按住 ‘**Alt**‘ 或 ‘**Esc**‘再按一下 ‘**.**‘.
|
||||
上面的组合键事实上不是一个命令,而是传递最后一个命令参数到提示符后的快捷键,以输入命令的倒序方式传递命令。按住 Alt或Esc再按一下 “.”。
|
||||
|
||||
### 15. pv 命令 ###
|
||||
|
||||
在**电影**里尤其是**好莱坞电影**你可能已经看见过模拟文本了,像是在实时输入文字.你可以用**pv**命令仿照任何类型模拟风的文本输出,包括流水线输出.**pv**可能没有在你的系统上安装,你需要用**apt**或**yum**获取安装包,然后安装**pv**到你的机器.
|
||||
在**电影**里尤其是**好莱坞电影**你可能已经看见过模拟文本了,像是在实时输入文字,你可以用**pv**命令仿照任何类型模拟风的文本输出,包括流水线输出。**pv**可能没有在你的系统上安装,你需要用**apt**或**yum**获取安装包,然后安装**pv**到你的机器。
|
||||
|
||||
root@localhost:# echo "Tecmint [dot] com is the world's best website for qualitative Linux article" | pv -qL 20
|
||||
|
||||
@ -82,147 +59,112 @@ Linux中的**stat**命令用来显示文件或文件系统的状态信息.当用
|
||||
|
||||
### 16. mount | colum -t ###
|
||||
|
||||
上面的命令用一个很不错的格式与规范列出了所有挂载文件系统.
|
||||
上面的命令用一个很不错的格式与规范列出了所有挂载文件系统。
|
||||
|
||||
avi@localhost:~$ mount | column -t
|
||||
|
||||
**输出样式**
|
||||
|
||||
/dev/sda1on / type ext3 (rw,errors=remount-ro)
|
||||
|
||||
tmpfson /lib/init/rw type tmpfs(rw,nosuid,mode=0755)
|
||||
|
||||
proc on /proc type proc (rw,noexec,nosuid,nodev)
|
||||
|
||||
sysfson /sys type sysfs(rw,noexec,nosuid,nodev)
|
||||
|
||||
udev on /dev type tmpfs(rw,mode=0755)
|
||||
|
||||
tmpfson /dev/shm type tmpfs(rw,nosuid,nodev)
|
||||
|
||||
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)
|
||||
|
||||
fusectl on /sys/fs/fuse/connections type fusectl (rw)
|
||||
|
||||
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)
|
||||
|
||||
nfsd on /proc/fs/nfsd type nfsd (rw)
|
||||
|
||||
### 17. Ctr+l 命令 ###
|
||||
|
||||
在进行下一步之前,我先问一下,你是如何清理你的终端.呵呵!你会在提示符后键入 “**clear**”. 好的,用上面的命令执行清理终端都将成为过去.你只需要按下**Ctr+l**,看看它如何立即清理你的终端.
|
||||
在进行下一步之前,我先问一下,你是如何清理你的终端?呵呵,你会在提示符后键入 “**clear**”。好的。用上面的命令执行清理终端都将成为过去。你只需要按下**Ctr+l**,看看它如何立即清理你的终端。
|
||||
|
||||
### 18. curl 命令 ###
|
||||
|
||||
在**命令行**下如何检查你的**未读文件**.这个命令对于工作在无头服务器的人佷有用.t它会在运行期间再次要求输入密码,你不需要在上面一行硬编码你的密码,否则会有另一个安全风险.
|
||||
在**命令行**下如何检查你的**未读邮件**?这个命令对于工作在没有图形界面的服务器的人佷有用。它会在运行期间再次要求输入密码,你不需要在上面一行硬编码你的密码,否则会有其它安全风险。
|
||||
|
||||
avi@localhost:~$ curl -u avishek1210@gmail.com --silent "https://mail.google.com/mail/feed/atom" | perl -ne 'print \t if //; print "$2\n" if /<(title|name)>(.*)<\/\1>/;'
|
||||
|
||||
**输出样式**
|
||||
|
||||
Enter host password for user 'avishek1210@gmail.com':
|
||||
|
||||
Gmail - Inbox for avishek1210@gmail.com
|
||||
|
||||
People offering cars in Delhi - Oct 26
|
||||
|
||||
Quikr Alerts
|
||||
|
||||
another dependency question
|
||||
|
||||
Chris Bannister
|
||||
|
||||
Ralf Mardorf
|
||||
|
||||
Reco
|
||||
|
||||
Brian
|
||||
|
||||
François Patte
|
||||
|
||||
Curt
|
||||
|
||||
Siard
|
||||
|
||||
berenger.morel
|
||||
|
||||
Hi Avishek - Download your Free MBA Brochure Now...
|
||||
|
||||
Diya
|
||||
|
||||
★Top Best Sellers Of The Week, Take Your Pick★
|
||||
|
||||
Timesdeal
|
||||
|
||||
aptitude misconfigure?
|
||||
|
||||
Glenn English
|
||||
|
||||
Choosing Debian version or derivative to run Wine when resource poor
|
||||
|
||||
Chris Bannister
|
||||
|
||||
Zenaan Harkness
|
||||
|
||||
Curt
|
||||
|
||||
Tom H
|
||||
|
||||
Richard Owlett
|
||||
|
||||
Ralf Mardorf
|
||||
|
||||
Rob Owens
|
||||
|
||||
### 19.screen 命令 ###
|
||||
|
||||
**screen**命令能断开一个会话下的一个长时间运行的进程并能再次连接,如有需要,也提供了灵活的可执行命令
|
||||
**screen**命令能断开一个会话下的一个长时间运行的进程并能再次连接,如有需要,也提供了灵活的命令选项
|
||||
|
||||
要运行一个长时间的进程,我们通常执行
|
||||
要运行一个长时间的进程,我们通常执行
|
||||
|
||||
avi@localhost:~$ ./long-unix-script.sh
|
||||
|
||||
缺乏灵活性,需要用户持续当前的会话,但是如果我们执行上面的命令是.
|
||||
缺乏灵活性,需要用户持续当前的会话,但是如果我们执行上面的命令是:
|
||||
|
||||
avi@localhost:~$ screen ./long-unix-script.sh
|
||||
|
||||
它能在不同会话间断开或重连.当一个命令正在执行时按“**Ctrl + A**”然后再按“**d”** 执行**断开**.重新连接运行.
|
||||
它能在不同会话间断开或重连。当一个命令正在执行时按“**Ctrl + A**”然后再按“**d**”来**断开**。
|
||||
|
||||
重新连接运行:
|
||||
|
||||
avi@localhost:~$ screen -r 4980.pts-0.localhost
|
||||
|
||||
**注解**:在这里,这个命令的最后部分是**screen id**,你能用‘**screen -ls**‘命令查看.欲了解更多关于**screen命令**和它们的用法,请阅读我们的一些帮助文章[10 个screen命令的示例][4].
|
||||
**注解**:在这里,这个命令的稍后的部分是**screen id**,你能用‘**screen -ls**’命令查看。欲了解更多关于**screen命令**和它们的用法,请阅读我们的一些帮助文章:[10 个screen命令的示例][4]。
|
||||
|
||||
### 20. file ###
|
||||
|
||||
No!写上面的命令不是笔误. ‘**file**‘是一个能提供关于文件类型信息的命令.
|
||||
No!写上面的命令不是笔误. ‘**file**’是一个能提供关于文件类型信息的命令。
|
||||
|
||||
avi@localhost:~$ file 34.odt
|
||||
|
||||
34.odt: OpenDocument Text
|
||||
|
||||
### 21. id ###
|
||||
|
||||
上面的命令会打印真正的和有效的**用户**和**组**的id.
|
||||
上面的命令会打印真正的和有效的**用户**和**组**的id。
|
||||
|
||||
avi@localhost:~$ id
|
||||
|
||||
**Sample Output**
|
||||
**输出样式**
|
||||
|
||||
uid=1000(avi) gid=1000(avi)
|
||||
|
||||
groups=1000(avi),24(cdrom),25(floppy),29(audio),30(dip),44(video),46(plugdev),109(netdev),111(bluetooth),117(scanner)
|
||||
|
||||
到此为止.鉴于这个系列的最新的这篇文章的成功,我将会尽快推出另外几部分文章继续**鲜为人知的Linux命令**.到时候,敬请关注Tecmint.不要忘记给我们提供你的**反馈**和**评论**.
|
||||
到此为止,鉴于这个系列的最新的这篇文章的成功,我将会尽快推出另外几部分文章继续**鲜为人知的Linux命令**。到时候,敬请关注Tecmint.不要忘记给我们提供你的**反馈**和**评论**。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.tecmint.com/10-lesser-known-linux-commands-part-2/
|
||||
|
||||
译者:[Luoxcat](https://github.com/Luoxcat) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
译者:[Luoxcat](https://github.com/Luoxcat) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.tecmint.com/11-lesser-known-useful-linux-commands/
|
||||
[1]:http://linux.cn/article-2258-1.html
|
||||
[2]:http://www.searchsv.com.cn/showcontent_77595.htm
|
||||
[3]:http://www.tecmint.com/history-command-examples/
|
||||
[4]:http://www.tecmint.com/screen-command-examples-to-manage-linux-terminals/
|
@ -0,0 +1,50 @@
|
||||
Xen的十年:从恐龙进化到鸟类
|
||||
================================================================================
|
||||
Xen Hypervisor 项目原来是上世纪90年代末[剑桥大学][1] [Xenoserver][2] 项目的子项目。Xenoserver 有一个宏大的目标:
|
||||
|
||||
这个宏大目标就是建立一个大规模的分布式计算系统的公共基础框架。想像一下,当 Xenoserver 执行平台布署在全世界范围内,所有人都可以共享可执行代码,代码贡献者可以按代码被执行时产生的硬件消耗收取一定的费用。这将会鼓励负载均衡、消除单点瓶颈,甚至可以在这个平台上实现营利。
|
||||
|
||||
在今天,这种模式被称为“云计算”。而 Xen Hypervisor (确切来说是现在的 Xen Hypervisor)是最大的云平台。不仅亚马逊 Web 服务(AWS)和 Rackspace 公有云是基于 Xen 的,就连最近的大规模云平台[Verizon公有云][3]也将 Xen 作为他们的服务供应基础。
|
||||
|
||||
### 10周岁生日快乐 ###
|
||||
|
||||
2003年10月21日,Xen Hypervisor 在[第19届 ACM 计算机原理研讨会][4]上作为一个开源项目首次出现在大众眼前。距今已经10年,在这里祝 Xen 项目生日快乐!
|
||||
|
||||
### 业界第一的劣势:像恐龙一样,不适者淘汰 ###
|
||||
|
||||
有时候在自己领域内成为第一个开源项目是一个劣势,为什么这样说?缺少与同行的交流会导致项目失去控制。简单的例子是,缺乏竞争会引发自满情绪,而这种情况已经在 Xen 项目内部发生了!开始几年 Xen 项目未受到任何约束,变得狭隘,不再寻求突破,致使用户和开发者不再对它感兴趣。当它的第一个竞争对手 KVM 出现并壮大,Xen 社区甚至对此反应迟缓。
|
||||
|
||||
这种反应带来的后果是,用户难以加入这个项目,并且这个项目不能很好地与 Linux 内核、QEMU及 Linux 发布版共处。然后,Xen 社区名声变坏。然后,Canonical 和 RedHat 抛弃 Xen,投向 KVM 怀抱。Xen 项目向这个不断改变的世界宣告了自己的失败。名声不断变臭,到后来它被视为开源社区界的恐龙,被彻底淘汰只是时间问题。
|
||||
|
||||
### 快速转型:从恐龙进化到鸟类 ###
|
||||
|
||||
像 Xen 一样能够从众多错误中回过神来的开源项目并不多,而 Xen 通过一系列措施做到了这一点。提出有效的管理方法、努力与其他开源项目合作、重启市场营销力量、踏踏实实与用户和开发者一起工作,这些努力终于让 Xen 获得新生。换句话说,Xen 已经完成从恐龙到鸟类的进化。如果你想知道我们是如何做到这点的,何不加入到我的 Linux 大会欧洲站的课题[Xen 项目:收获的教训][5]?其他你可能感兴趣的课题还有[加强你的 Xen 云的安全][6]和[Xen:专为云设计的开源虚拟机管理程序][7]。
|
||||
|
||||
![](http://www.linux.com/images/stories/41373/Xen-flying-Panda.jpg)
|
||||
|
||||
*展翅高飞(或者说,给 Xen 这只行动缓慢的熊猫插上翅膀)*
|
||||
|
||||
### 展望未来:虚拟化技术的新领域 ###
|
||||
|
||||
如果你正在搜索 Xen 项目,你会发现它的社区形式多样并且还在发展。从很多方面来说,它甚至比从前巅峰时期发展得更好。
|
||||
|
||||
现在 Xen 社区正在发生一些有意思的事情,一些 Xen 项目下的软件被用于非传统虚拟化技术。这也相应地为 Linux 社区增加了企业用户。在本周晚些时候开始的[Xen 项目开发者峰会][8]中我们将会见到两个安卓虚拟机如何运行在基于 Xen 的 Nexus 10 中,也会见到首次将 Xen 用于车载信息娱乐系统以及汽车应用系统中,同时我们还能见到 Xen 如何为诸如防火墙和NAT服务器这些中间体提供高性能应用。
|
||||
|
||||
当然,服务器虚拟化和云计算还有很长的路要走。展翅高飞吧(或者说,给 Xen 这只行动缓慢的熊猫插上翅膀)。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.linux.com/news/enterprise/cloud-computing/743330-10-years-of-xen-transforming-a-dinosaur-into-a-bird/
|
||||
|
||||
译者:[bazz2](https://github.com/bazz2) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.cl.cam.ac.uk/research/srg/netos/xen/index.html
|
||||
[2]:http://www.cl.cam.ac.uk/research/srg/netos/xeno/
|
||||
[3]:http://www.techweekeurope.co.uk/news/verizon-public-cloud-launch-128724
|
||||
[4]:http://www.cs.rochester.edu/meetings/sosp2003/papers.shtml
|
||||
[5]:http://linuxconcloudopeneu2013.sched.org/event/68003c370760bcc2da7e3e8b59b6b50f
|
||||
[6]:http://linuxconcloudopeneu2013.sched.org/event/37ecfe02561cf264a02061d1927da26c
|
||||
[7]:http://linuxconcloudopeneu2013.sched.org/event/bdca1274d9799646cdf2934dbde94ccd
|
||||
[8]:http://www.linux.com/news/software/applications/742053-a-great-line-up-of-speakers-at-xen-project-developer-summit
|
@ -1,12 +1,10 @@
|
||||
Linux中grep命令的12个实践例子
|
||||
===
|
||||
你是否遇到过需要在文件中查找一个特定的字符串或者模式的任务,但是仍然不知道从哪开始?这儿是一些**grep**的例子可以给你帮助。
|
||||
你是否遇到过需要在文件中查找一个特定的字符串或者样式,但是不知道从哪儿开始?那么,就请**grep**来帮你吧。
|
||||
|
||||
![](http://www.tecmint.com/wp-content/uploads/2013/11/Grep-Command-Examples.png)
|
||||
|
||||
*12个grep命令的例子*
|
||||
|
||||
**grep**是每个**Linux**发行版都预装的一个强有力文件匹配搜索工具。无论何种原因,如果你的系统没有预装它的话,你可以很容易的通过你系统的包管理器来安装它(**Debian/Ubuntu**系中的**apt-get**和**RHEl/CentOS/Fedora**系中的**yum**)。
|
||||
**grep**是每个**Linux**发行版都预装的一个强有力的文件模式搜索工具。无论何种原因,如果你的系统没有预装它的话,你可以很容易的通过系统的包管理器来安装它(**Debian/Ubuntu**系中的**apt-get**和**RHEl/CentOS/Fedora**系中的**yum**)。
|
||||
|
||||
$ sudo apt-get install grep #Debian/Ubuntu
|
||||
|
||||
@ -16,7 +14,7 @@ Linux中grep命令的12个实践例子
|
||||
|
||||
###1.搜索和寻找文件
|
||||
|
||||
假设你已经在你的电脑上安装了一个全新的**Ubuntu**,你打算卸载**Python**。你浏览网页寻找教程,但是你发现存在两个不同版本的**Python**在使用,而你不知道你的**Ubuntu**安装器到底在你的系统中安装了哪个版本的Python,也不知道它安装了哪些模块。解决这个烦恼只需简单的运行以下命令:
|
||||
假设你已经在你的电脑上安装了一个全新的**Ubuntu**,然后你打算卸载**Python**。你浏览网页寻找教程,但是你发现存在两个不同版本的**Python**在使用,而你不知道你的**Ubuntu**安装器到底在你的系统中安装了哪个版本的Python,也不知道它安装了哪些模块。解决这个烦恼只需简单的运行以下命令:
|
||||
|
||||
$ sudo dpkg -l | grep -i python
|
||||
|
||||
@ -26,17 +24,17 @@ Linux中grep命令的12个实践例子
|
||||
ii python-openssl 0.12-1ubuntu2.1 Python wrapper around the OpenSSL library
|
||||
ii python-pam 0.4.2-12.2ubuntu4 A Python interface to the PAM library
|
||||
|
||||
首先,我们运行**dpkg -l**列出你系统上安装的**.deb**包。接着,我们使用管道将输出结果传输给命令**grep -i** python,这一步可以简单解释为把结果传输给grep然后过滤出所有含有python的项,并返回结果。只要你不打算详细的指定搜索方式,那么使用选项**-i**是个好习惯。
|
||||
首先,我们运行**dpkg -l**列出你系统上安装的**.deb**包。接着,我们使用管道将输出结果传输给命令**grep -i** python,这一步可以简单解释为把结果传输给grep然后过滤出所有含有python的项,并返回结果。–i选项用于忽略大小写,因为 grep 是大小写敏感的。使用选项**-i**是个好习惯,除非你打算进行更细节的搜索。
|
||||
|
||||
###2.搜索和过滤文件
|
||||
|
||||
grep还可以在一个或多个文件夹里用于搜索和过滤。让我们来看一个这样的情景:
|
||||
grep还可以在一个或多个文件里用于搜索和过滤。让我们来看一个这样的情景:
|
||||
|
||||
你的**Apache网页服务器**出现了问题,你不得不从许多专业网站找一个发帖询问。好心的回复你的人会让你粘贴你的**/etc/apache2/sites-available/default-ssl**文件。网友帮助了你,而假如你能移除掉所有的注释行,那么今后大家都能阅读到这个解决方案,这对你来说会会困难吗?你当然可以很容易的做到!只需这样做就可以了:
|
||||
你的**Apache网页服务器**出现了问题,你不得不从许多专业网站里找一个发帖询问。好心回复你的人让你粘贴上来你的**/etc/apache2/sites-available/default-ssl**文件内容。假如你能移除掉所有的注释行,那么对你,对帮你的人,以及所有阅读该文件的人,不是更容易发现问题吗?你当然可以很容易的做到!只需这样做就可以了:
|
||||
|
||||
$ sudo grep -v "#" /etc/apache2/sites-available/default-ssl
|
||||
|
||||
选项**-v**是告诉**grep**命令反转它的输出结果,意思就是不输出匹配的项,做相反的事,打印出所有不匹配的项。这个例子中,有**#**的是注释行。
|
||||
选项**-v**是告诉**grep**命令反转它的输出结果,意思就是不输出匹配的项,做相反的事,打印出所有不匹配的项。这个例子中,有**#**的是注释行(译注:其实这个命令并不准确,包含“#”的行不全是注释行。关于如何精确匹配注释行,可以了解更多的关于正则表达式的内容。)。
|
||||
|
||||
###3.找出所有的mp3文件
|
||||
|
||||
@ -50,21 +48,23 @@ grep还可以在一个或多个文件夹里用于搜索和过滤。让我们来
|
||||
|
||||
###4.在搜索字符串前面或者后面显示行号
|
||||
|
||||
另外两个选项是-A和-B之间的切换,是用以显示匹配的行以及行号,分别控制在字符串前或字符串后显示。Man页给出了更加详细的解释,我发现一个记忆的小窍门:-A=after、-B=before。
|
||||
另外两个选项是-A和-B之间的切换,是用以显示匹配的行以及行号,分别控制在字符串前或字符串后显示的行数。Man页给出了更加详细的解释,我发现一个记忆的小窍门:-A=after、-B=before。
|
||||
|
||||
$ sudo ifconfig | grep -A 4 etho
|
||||
$ sudo ifconfig | grep -B 2 UP
|
||||
|
||||
###5.在匹配字符串周围打印出行号
|
||||
grep命令的**-C**选项和例4中的很相似,不过打印的行号并不是在匹配字符串的前面或后面而是而是按照顺序打印出匹配的行:
|
||||
|
||||
grep命令的**-C**选项和例4中的很相似,不过打印的并不是在匹配字符串的前面或后面的行,而是打印出两个方向都匹配的行(译注:同上面的记忆窍门一样:-C=center,以此为中心):
|
||||
$ sudo ifconfig | grep -C 2 lo
|
||||
|
||||
###6.计算匹配项的数目
|
||||
|
||||
这个功能类似于将**grep**输出的结果用管道传送给计数器(**wc**程序),grep内建的选项可以达到同样的目的:
|
||||
|
||||
$ sudo ifconfig | grep -c inet6
|
||||
|
||||
###7.通过给定字符串搜索文件
|
||||
###7.按给定字符串搜索文件中匹配的行号
|
||||
|
||||
当你在编译出错时需要调试时,**grep**命令的**-n**选项是个非常有用的功能。它能告诉你所搜索的内容在文件的哪一行:
|
||||
|
||||
@ -72,12 +72,12 @@ grep命令的**-C**选项和例4中的很相似,不过打印的行号并不是
|
||||
|
||||
###8.在所有目录里递归的搜索
|
||||
|
||||
假若你要在当前文件夹里搜索一个东西,而当前文件夹里又有很多子目录,你可以指定一个**-r**选项以便于递归的搜索:
|
||||
假若你要在当前文件夹里搜索一个字符串,而当前文件夹里又有很多子目录,你可以指定一个**-r**选项以便于递归的搜索:
|
||||
$ sudo grep -r "function" *
|
||||
|
||||
###9.进行完全匹配搜索
|
||||
###9.进行精确匹配搜索
|
||||
|
||||
传递**-w**选项给grep命令可以在字符串中进行完全匹配搜索。例如,向下面这样输入:
|
||||
传递**-w**选项给grep命令可以在字符串中进行精确匹配搜索(译注:包含要搜索的单词,而不是通配)。例如,像下面这样输入:
|
||||
|
||||
$ sudo ifconfig | grep -w “RUNNING”
|
||||
|
||||
@ -89,30 +89,29 @@ grep命令的**-C**选项和例4中的很相似,不过打印的行号并不是
|
||||
|
||||
###10.在Gzip压缩文件中搜索
|
||||
|
||||
我们还要关注一下grep的衍生应用。第一个是**zgrep**,这个与**zcat**很相似,可以用于在**gzip**压缩过的文件中进行搜索。它有与**grep**相似的命令,使用方式也一样:
|
||||
我们还要关注一下grep的衍生应用。第一个是**zgrep**,这个与**zcat**很相似,可以用于**gzip**压缩过的文件。它有与**grep**相似的命令选项,使用方式也一样:
|
||||
|
||||
$ sudo zgrep -i error /var/log/syslog.2.gz
|
||||
|
||||
###11.在文件中匹配正则表达式
|
||||
|
||||
**egrep**是另一个衍生应用,代表着“**扩展全局正则表达式**”。它可以识别更多的正则表达式元字符,例如**at + ?** | 和**()**。在搜索源代码文件时,egrep是一个非常有用的工具,还有其他的一些零碎代码文件的搜索需要,使得这样的搜索能力成为必需。也可以grep命令中指定选项**-E**来获得加强正则表达式搜索的能力。
|
||||
**egrep**是另一个衍生应用,代表着“**扩展全局正则表达式**”。它可以识别更多的正则表达式元字符,例如**at + ?** | 和**()**。在搜索源代码文件时,egrep是一个非常有用的工具,还有其他的一些零碎代码文件的搜索需要,使得这样的搜索能力成为必需。可以在grep命令中使用选项**-E**来启用它。
|
||||
|
||||
$ sudo grep -E
|
||||
|
||||
###12.搜索一个固定匹配字符串
|
||||
|
||||
**fgrep**用以在一个文件或文件列表中搜索固定匹配的字符串。功能与**grep -F**同。**fgrep**的一个通常用法为传递一个含有匹配字符串的文件给它:
|
||||
**fgrep**用于在一个文件或文件列表中搜索固定样式的字符串。功能与**grep -F**同。**fgrep**的一个通常用法为传递一个含有样式的文件给它:
|
||||
|
||||
$ sudo fgrep -f file_full_of_patterns.txt file_to_search.txt
|
||||
|
||||
这仅仅是**grep**命令的开始,但是你可能已经注意到,它对于实现各种各样的目的简直是太有用了。除了这种我们实施的只有一行的命令,**grep**还可以写成**cron**任务或者自动的**shell脚本**去执行。保持好奇心,试验一下**man页**的各个选项,为实现你的目的写出一些**grep表达式**。
|
||||
这仅仅是**grep**命令的开始,你可能已经注意到,它对于实现各种各样的需求简直是太有用了。除了这种我们运行的这种只有一行的命令,**grep**还可以写成**cron**任务或者自动的**shell脚本**去执行。保持好奇心,试验一下**man页**的各个选项,为实现你的目的写出一些**grep表达式**吧。
|
||||
|
||||
---
|
||||
|
||||
|
||||
via: http://www.tecmint.com/12-practical-examples-of-linux-grep-command/
|
||||
|
||||
译者:[Linux-pdz](https://github.com/Linux-pdz) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
译者:[Linux-pdz](https://github.com/Linux-pdz) 校对:[jasminepeng](https://github.com/jasminepeng)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
@ -7,7 +7,7 @@
|
||||
|
||||
![](http://main.makeuseoflimited.netdna-cdn.com/wp-content/uploads/2013/10/linux_accessing_cloud_ubuntu_one.jpg)
|
||||
|
||||
使用这种方式的明显好处就是你可以通过使用他们各自的官方应用访问你的各种云存储。目前,提供官方Linux客户端的服务提供商有[SpiderOak](1), [Dropbox](2), [Ubuntu One](3),[Copy](5)。[Ubuntu One](3)虽不出名但的确是[一个不错的云存储竞争着](4)。[Copy][5]是提供比Dropbox更多空间,是[Dropbox的替代选择](6)。使用这些官方Linux客户端可以保持你的电脑与他们的服务器之间的通信,还可以让你进行属性设置,如选择性同步。
|
||||
使用这种方式的明显好处就是你可以通过使用他们各自的官方应用访问你的各种云存储。目前,提供官方Linux客户端的服务提供商有[SpiderOak](1), [Dropbox](2), [Ubuntu One](3),[Copy](5)。[Ubuntu One](3)虽不出名但的确是[一个不错的云存储竞争着](4)。[Copy][5]则提供比Dropbox更多的空间,是[Dropbox的替代选择之一](6)。使用这些官方Linux客户端可以保持你的电脑与他们的服务器之间的通信,还可以让你进行属性设置,如选择性同步。
|
||||
|
||||
对于普通桌面用户,使用官方客户端是最好的选择,因为官方客户端可以提供最多的功能和最好的兼容性。使用它们也很简单,只需要下载他们对应你的发行版的软件包,然后安装安装完后在运行一下就Ok了。安装客户端时,它一般会指导你完成这些简单的过程。
|
||||
|
||||
@ -27,7 +27,7 @@
|
||||
|
||||
这些一旦完成,你就可以这个脚本执行各种任务了,例如上传、下载、删除、移动、复制、创建文件夹、查看文件、共享文件、查看文件信息和取消共享。对于全部的语法解释,你可以查看一下[这个页面](9)。
|
||||
|
||||
###[Storage Made Easy](7)将SkyDrive带到Linux上
|
||||
###通过[Storage Made Easy](7)将SkyDrive带到Linux上
|
||||
|
||||
微软并没有提供SkyDrive的官方Linux客户端,这一点也不令人惊讶。但是你并不意味着你不能在Linux上访问SkyDrive,记住:SkyDrive的web版本是可用的。
|
||||
|
||||
@ -35,11 +35,11 @@
|
||||
|
||||
![](http://main.makeuseoflimited.netdna-cdn.com/wp-content/uploads/2013/10/linux_accessing_cloud_configure_skydrive.jpg)
|
||||
|
||||
为了使用Stroage Made Easy,你首先需要创建一个他们的账号。完成账号创建后,你需要回到控制界面,选择“Add a Cloud Provider”。在这儿,你可以选择SkyDrive API 然后填入登陆信息。添加完登陆信息后,点击授权按钮以便给予必要的授权。然后,你就可以下载它的Linux客户端并安装它了。
|
||||
为了使用Stroage Made Easy,你首先需要创建一个他们的账号。完成账号创建后,你需要回到控制界面,选择“Add a Cloud Provider”。在这儿,你可以选择SkyDrive API 然后填入登录信息。添加完登录信息后,点击授权按钮以便给予必要的授权。然后,你就可以下载它的Linux客户端并安装它了。
|
||||
|
||||
![](http://main.makeuseoflimited.netdna-cdn.com/wp-content/uploads/2013/10/linux_accessing_cloud_storagemadeeasy.jpg)
|
||||
|
||||
第一次启动时。它会要求你登陆,还有询问你要把云存储挂载到什么地方。在你做完了这些后,你就可以浏览你选择的文件夹,你还可以访问你的Storage Made Easy空间以及你的SkyDrive空间了!这种方法对于那些想在Linux上使用SkyDrive的人来说非常好,对于想把他们的多个云存储服务整合到一个地方的人来说也很不错。这种方法的缺点是你无法使用他们各自官方客户端中可以使用的特殊功能。
|
||||
第一次启动时。它会要求你登录,还有询问你要把云存储挂载到什么地方。在你做完了这些后,你就可以浏览你选择的文件夹,你还可以访问你的Storage Made Easy空间以及你的SkyDrive空间了!这种方法对于那些想在Linux上使用SkyDrive的人来说非常好,对于想把他们的多个云存储服务整合到一个地方的人来说也很不错。这种方法的缺点是你无法使用他们各自官方客户端中可以使用的特殊功能。
|
||||
|
||||
因为现在在你的Linux桌面上也可以使用SkyDrive,接下来你可能需要阅读一下我写的[SkyDrive与Google Drive的比较](8)以便于知道究竟哪种更适合于你。
|
||||
|
||||
@ -51,7 +51,9 @@
|
||||
|
||||
---
|
||||
|
||||
译者:[Linux-pdz](https://github.com/Linux-pdz) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
via: http://www.makeuseof.com/tag/3-ways-to-access-and-use-cloud-storage-skydrive-etc-in-linux/
|
||||
|
||||
译者:[Linux-pdz](https://github.com/Linux-pdz) 校对:[jasminepeng](https://github.com/jasminepeng)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
@ -0,0 +1,36 @@
|
||||
每日Ubuntu小技巧 - 改变Ubuntu Unity启动器尺寸
|
||||
================================================================================
|
||||
这里有一些给新Ubuntu用户的小技巧。这一系列的小技巧是为了帮助Ubuntu新用户轻松地配置和管理他们的电脑。这不是面向专家用户的,只是为了那些刚刚开始使用Ubuntu的用户。
|
||||
|
||||
Ubuntu启动器是Ubuntu Unity桌面的关键部分。启动器是一个布满图标的垂直条,当你登陆的时候,它就会位于屏幕的左边栏。通过它您可以从桌面方便地打开或者启动程序,还可以让您快速访问应用、工作空间、可移动设备和垃圾桶。
|
||||
|
||||
默认情况下,这个启动器图标大小被设置为48X48px,即使是较小的屏幕上也如此。如果你需要调大或调小启动器的尺寸,那么请继续接下来的学习。
|
||||
|
||||
想调整Unity启动器尺寸的原因有很多。其中一个就是为了适应更小的屏幕。如果你的屏幕很小,默认尺寸不合适,那么你就需要改变它了。
|
||||
|
||||
如果图标默认尺寸太小,想要增大它,则可以调整启动器来增大图标,从而容易点击。
|
||||
|
||||
下面开始调整大小,点击右上角的齿轮按钮弹出菜单条,点击系统设置(System Settings...),如下图。
|
||||
|
||||
![](http://www.liberiangeek.net/wp-content/uploads/2013/09/ubuntulockscreendisable3.png)
|
||||
|
||||
接下来,选择 外观(Appearance)
|
||||
|
||||
![](http://www.liberiangeek.net/wp-content/uploads/2013/09/unitylauncherubuntu.png)
|
||||
|
||||
最后,使用滚动条来调整(增大\减小)启动器的图标尺寸。
|
||||
|
||||
![](http://www.liberiangeek.net/wp-content/uploads/2013/09/unitylauncherubuntu1.png)
|
||||
|
||||
这个改变会被自动应用。记住,如果你想要继续作用默认尺寸,移动到48.
|
||||
|
||||
这是另一个为Ubuntu新用户的小技巧。欢迎回来掌握更多的Ubuntu小技巧。如果你是一个老手并且想要做出贡献,就请在下面留言吧。
|
||||
|
||||
享受吧!
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.liberiangeek.net/2013/09/daily-ubuntu-tips-resize-ubuntu-unity-launcher/
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
译者:[Vic___](http://blog.csdn.net/vic___) 校对:[jasminepeng](https://github.com/jasminepeng)
|
@ -1,9 +1,9 @@
|
||||
每日Ubuntu小技巧——Ubuntu中通过Cheese支持Webcom
|
||||
每日Ubuntu小技巧——Ubuntu中通过Cheese支持Webcam
|
||||
================================================================================
|
||||
|
||||
对于一些Ubuntu的新用户,如果你们想在Ubuntu中使用webcam的话,这里有一些信息能够帮助到你们。正如你们说知道的那样,Ubuntu旨在支持绝大多数webcom,而且是现成可用的。大多数webcom生产商并不为Linux系统提供驱动,包括Ununtu。所以,Linux开发者们必须能够尽最大努力让webcom设备在Linux内核中运行。
|
||||
对于一些Ubuntu的新用户,如果你们想在Ubuntu中使用webcam的话,这里有一些信息能够帮助到你们。正如你们说知道的那样,Ubuntu旨在支持绝大多数webcam,而且是现成可用的。大多数webcam生产商并不为Linux系统提供驱动,包括Ununtu。所以,Linux开发者们必须能够尽最大努力让webcam设备在Linux内核中运行。
|
||||
|
||||
支持Linux的webcam驱动由Linux UVC项目提供[UVC][1]。该项目意图为webam提供一个万能USB支持,就像一个通用USB驱动控制一些USB设备,例如U盘,外部USB设备和其他一些设备。
|
||||
支持Linux的webcam驱动由Linux UVC项目提供[UVC][1]。该项目意图为webcam提供一个万能USB支持,就像一个通用USB驱动控制一些USB设备,例如U盘,外部USB设备和其他一些设备。
|
||||
|
||||
大多数主流的USB webcam设备都可以在Linux系统下工作,其中包括支持Linux UVC项目驱动的Ubuntu。如果你想为你的Ubuntu计算机购买一个webcam设备,又不确信它是否能被支持,请[核查支持UVC的webcam列表][2].
|
||||
|
@ -1,10 +1,10 @@
|
||||
Ubuntu每日小技巧——通过PPA升级你Ubuntu的LibreOffice到最新版
|
||||
Ubuntu每日小技巧:通过PPA升级你的LibreOffice
|
||||
================================================================================
|
||||
对于每一个你新安装的Ubuntu系统,你都会拥有一个可以让你办公的办公工具——LibreOffice。很多人都知道微软公司的的Word、Excel、PowerPoint和Outlook,但是很少有人知道LibreOffice。
|
||||
|
||||
LibreOffice靠来自全世界的志愿者来维护,由一个慈善基金会支持。它是Linux社区的一款主要的免费办公工具。它可以安装在Windows,Mac OS X和Linux等系统的计算机上。
|
||||
|
||||
就在5天前(译注:好吧,这个翻译稿拖了5天了~~,原文为“今天”),一个新的版本将面向公众开放了。Windows,Mac OS X和Linux用户可以直接从下载页面下载最新版本了。
|
||||
就在5天前(译注:好吧,这个翻译稿拖了5天了~~,原文为“今天”。),一个新的版本将面向公众开放了。Windows,Mac OS X和Linux用户可以直接从下载页面下载最新版本了。
|
||||
|
||||
Ubuntu用户拥有添加LibreOffice软件仓库到自己的电脑来安装升级最新版的优势。如果你想要在最新版本可用时最快的得到它,这种方法将会很有用。
|
||||
|
||||
@ -30,6 +30,6 @@ Enjoy!
|
||||
|
||||
via: http://www.liberiangeek.net/2013/11/daily-ubuntu-tipsupdate-to-libreoffice-latest-in-ubuntu-via-ppa/
|
||||
|
||||
译者:[SCUSJS](https://github.com/scusjs) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
译者:[SCUSJS](https://github.com/scusjs) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
@ -0,0 +1,65 @@
|
||||
如何使用安卓设备控制你的Linux PC
|
||||
================================================================================
|
||||
**下面的教程会指导所有的Linux用户如何在系统上安装SSH,以便通过安卓智能手机远程访问他们的电脑。**
|
||||
|
||||
![](http://i1-news.softpedia-static.com/images/news2/How-to-Control-Your-Linux-PC-with-an-Android-Device-396004-2.jpg)
|
||||
如今我们所有人都拥有一台平板或触屏手机,我们经常使用它们在深夜里看电影或电视节目,听歌或者读一本好书。你可以把本文称作是“懒人教程”,它是专门为那些在大晚上因为太过疲惫而懒得去开启他们电脑上的某些应用程序,移动、删除,复制或重命名某些文件,甚至懒得去关掉PC的人准备的。
|
||||
|
||||
的确,已经有各种各样的远程桌面解决方案,但是许多方案费用很高,或者实现效果很糟糕,无法像预期一样运行,迫使你最终还是得去电脑上做你原本想做的事情。
|
||||
|
||||
在这个教程里面,我们将使用一种简单、安全、高效的协议,它被称为SSH (Secure Shell),很容易从默认的软件仓库中安装(在Arch linx中是openssh,在Ubuntu中是openssh-server)。
|
||||
|
||||
### 配置SSH服务器 ###
|
||||
|
||||
在安装完成后,你需要为SSH服务器进行基本配置。为此,你需要使用文本编辑器编辑/etc/ssh/sshd_config这个文件。
|
||||
|
||||
1.在文件尾部添加下面一行(下面的yourusername使用你的Linux机器上存在的用户名代替)
|
||||
|
||||
AllowUsers yourusername
|
||||
|
||||
2.取消"#PermitRootLogin"这行注释,把"no"替换成"yes"(译注:下面的选项修改和是否允许ssh登录无关,只是允许root直接登录,一般而言,并不建议如下这样的远程root直接登录。):
|
||||
|
||||
PermitRootLogin no
|
||||
|
||||
3.为了安全起见,你需要修改SSH 连接默认的22端口到一个更大编号的端口,譬如在我们的例子中是55441
|
||||
(但不要使用55441,这是我举个列子,可以找另一个四位或者五位数字)。因此,取消注释并编辑"#Port 22"如下(译注:你可以选择任何一个大于1024并小于65535的端口,只要他没有被别的程序占用,为什么不试试你的幸运数字呢?):
|
||||
|
||||
Port 55441
|
||||
|
||||
### 开启SSH服务器###
|
||||
|
||||
在Ubuntu上,SSH服务通过下面的命令启动:
|
||||
|
||||
sudo /etc/init.d/ssh start
|
||||
|
||||
当你每次修改上述配置文件时,都需要通过下面的命令重启:
|
||||
|
||||
sudo /etc/init.d/ssh restart
|
||||
|
||||
在Arch Linux上,你可以使用下面的命令启动SSH服务:
|
||||
|
||||
sudo systemctl start sshd
|
||||
|
||||
### 配置安卓设备上的SSH客户端###
|
||||
|
||||
JuiceSSH似乎是安卓上最好的SSH客户端之一,而且是免费的。同时,如果你认为它的功能比较简单,可以花费少量的钱来得到更多高级的特性,譬如亚马逊 AWS/EC2 集成,团队协作,以及更多其它的特性。
|
||||
|
||||
一旦软件安装完毕,开启它,然后你会要求输入一个加密的密码以保证连接的安全。这个密码由AES-256进行加密,因此除非你的设备被偷,否则没有人能够获取它们。
|
||||
|
||||
![](http://i1-news.softpedia-static.com/images/extra/LINUX/large/sshlinuxandroid-large_001.jpg)
|
||||
|
||||
现在,添加一个新连接,为你的电脑选择名称、IP地址,上面设定的端口号以及一个需要被创建的身份。
|
||||
|
||||
![](http://i1-news.softpedia-static.com/images/extra/LINUX/large/sshlinuxandroid-large_002.jpg)
|
||||
|
||||
![](http://i1-news.softpedia-static.com/images/extra/LINUX/large/sshlinuxandroid-large_003.jpg)
|
||||
|
||||
这就是我的Arch Linux机器,这是通过我的安卓平板上的JuiceSSH客户端访问到的界面。如果在这个教程中你遇到问题,请在下面进行评论。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://news.softpedia.com/news/How-to-Control-Your-Linux-PC-with-an-Android-Device-396004.shtml
|
||||
|
||||
译者:[KayGuoWhu](https://github.com/KayGuoWhu) 校对:[Caroline](https://github.com/carolinewuyan)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
@ -1,13 +1,13 @@
|
||||
如何在Ubuntu 13.10上安装Linux内核 3.12
|
||||
================================================================================
|
||||
|
||||
**Ubuntu 13.10 用户不必再羡慕地看着新的Linux内核发布,他们也可以相对轻松地更新他们的系统。**
|
||||
**Ubuntu 13.10 的用户不必再用羡慕的眼神看着新版Linux内核发布,他们也可以相对轻松地更新他们的系统。**
|
||||
|
||||
Canonical公司一贯的做法是,在一整个开发周期中始终使用一个Linux内核。例如,Ubuntu 13.10始终基于Linux内核 3.11,但现在已经推出一个新的稳定的Linux内核3.12。
|
||||
Canonical公司一贯的做法是,在整个开发周期中始终使用一个Linux内核。例如,Ubuntu 13.10始终基于Linux内核 3.11,但现在已经推出一个新的稳定的Linux内核3.12。
|
||||
|
||||
Ubuntu用户只有等到14.04 LTS发布以后,才能得到一个较新版本的Linux内核,但到那之前他们也可以选择安装新的版本。
|
||||
|
||||
不过,我们必须从一开始就提醒你。Canonical不建议你更新除官方渠道以外的比其他版本的Linux内核。这不是一个完全安全的过程,你以后可能会遇到问题,甚至系统故障。但另一方面,你的系统性能可能会得到提升。
|
||||
不过,我们必须从一开始就提醒你。Canonical不建议你更新官方渠道以外的Linux内核版本。这不是一个完全安全的过程,你以后可能会遇到问题,甚至系统故障。但另一方面,你的系统性能可能会得到提升。
|
||||
|
||||
你将要下载的内核来自Canonical公司,这意味着它已经在.deb格式。你不需要再自己编译。打开一个终端,导航到Downloads文件夹,输入以下命令:
|
||||
|
||||
@ -15,14 +15,14 @@ Ubuntu用户只有等到14.04 LTS发布以后,才能得到一个较新版本
|
||||
|
||||
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.12-saucy/linux-headers-3.12.0-031200-generic_3.12.0-031200.201311031935_amd64.deb
|
||||
|
||||
如果你有一个32位的操作系统,你也可以下载32位版本。可见只需替换链接中的64bit为32bit即可[here][1].
|
||||
如果你有一个32位的操作系统,你也可以下载32位版本。可见只需替换链接中的64bit为32bit即可,[点此下载][1].
|
||||
|
||||
现在,你将像运行任何其它程序一样运行这些.deb文件。在你下载软件包的同一个终端,输入下面的命令(你需要root权限才能正常运行):
|
||||
|
||||
sudo dpkg -i linux-image-3.12.0-031200-generic_3.12.0-031200.201311031935_amd64.deb
|
||||
sudo dpkg -i linux-headers-3.12.0-031200-generic_3.12.0-031200.201311031935_amd64.deb
|
||||
|
||||
安装完后,你需要重启系统。瞧,新的Linux内核就在那里了。好消息,旧的内核仍然存在,如果你要删除3.12版的内核,只需使用众所周知命令。
|
||||
此过程结束后,你需要重启系统。瞧,新版本的Linux内核更新成功。好消息是,旧版本内核仍然存在,如果你要删除3.12版的内核,只需使用众所周知命令。
|
||||
|
||||
sudo apt-get purge linux-image-3.12.0-031200-generic_3.12.0-031200.201311031935_amd64.deb
|
||||
sudo apt-get linux-headers-3.12.0-031200-generic_3.12.0-031200.201311031935_amd64.deb
|
||||
@ -34,8 +34,8 @@ Ubuntu用户只有等到14.04 LTS发布以后,才能得到一个较新版本
|
||||
|
||||
来源于: http://news.softpedia.com/news/How-to-Install-Linux-Kerrnel-3-12-in-Ubuntu-13-10-397013.shtml
|
||||
|
||||
译者:[coolpigs](https://github.com/coolpigs) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
译者:[coolpigs](https://github.com/coolpigs) 校对:[Caroline](https://github.com/carolinewuyan)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.12-saucy/
|
||||
[1]:http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.12-saucy/
|
@ -0,0 +1,54 @@
|
||||
如何在Ubuntu13.10中安装最新版的NVIDIA 331.20驱动
|
||||
===
|
||||
|
||||
**有时候安装新版本的NVIDIA驱动会遇到一些麻烦,尤其是当你不习惯Linux系统中的运作方式时。**
|
||||
|
||||
![](http://i1-news.softpedia-static.com/images/news2/How-to-Install-the-Latest-NVIDIA-331-20-Drivers-in-Ubuntu-13-10-399182-2.jpg)
|
||||
|
||||
这时候,这篇教程就能起到作用了,它能帮助普通用户从最新版的NVIDIA驱动331.20中获益。
|
||||
|
||||
在Ubuntu系统中有两种方法安装NVIDIA驱动,一种是简单方法,另一种是困难方法。简单方法也是最为直截了当的,但是需要你能够连接网络。这种方法也会把你带入PPA的美妙世界中去。
|
||||
|
||||
Ubuntu 13.10像它的前辈们一样,有一个很大的软件仓库可供使用,但是Canonical的开发者们由于种种考虑并不上传最新版的驱动。最重要的是他们不会冒险去上传一款未被证明其稳定性的软件。
|
||||
|
||||
幸运的是,我们有PPA可供使用,PPA中有最新版的驱动程序可供使用,而且里面的驱动会在官方放出新驱动一两天后就添加进去。只需在终端中敲入一下命令即可(当然你需要拥有root权限):
|
||||
|
||||
sudo add-apt-repository ppa:xorg-edgers/ppa
|
||||
sudo apt-get update
|
||||
sudo apt-get install nvidia-331
|
||||
|
||||
假如你已经安装了一个旧版本的驱动,你需要用**sudo apt-get dist-upgrade**命令替换上面命令中的最后一条命令。
|
||||
|
||||
完成这些步骤之后重启你的电脑,新驱动就安装好了。在下一次NVIDIA更新驱动时,你只需更新系统就可以,无需添加PPA。
|
||||
|
||||
第二种方法有点复杂,但是你可以不用联网(你需要先把驱动下载下来,在安装的时候不再需要联网)。我们将使用64位版本的驱动最为例子讲解。
|
||||
|
||||
你必须按Ctrl+Alt+F1组合键进入真正的终端(译注:原文中为虚拟终端,但实际上按这个组合键进入的是真正的终端),然后使用用户名和密码登录。接下俩,你需要用cd命令进入你放置驱动的位置(例如Downloads目录)然后输入以下命令:
|
||||
|
||||
sudo service lightdm stop
|
||||
sudo chmod a+x NVIDIA-Linux-x86_64-331.20.run
|
||||
sudo ./NVIDIA-Linux-x86_64-331.20.run
|
||||
sudo reboot
|
||||
|
||||
这样就搞定了。无论你选择使用什么方法,享受最新版的NVIDIA驱动吧。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://news.softpedia.com/news/How-to-Install-the-Latest-NVIDIA-331-20-Drivers-in-Ubuntu-13-10-399182.shtml
|
||||
|
||||
译者:[Linux-pdz](https://github.com/Linux-pdz) 校对:[Caroline](https://github.com/carolinewuyan)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:
|
||||
[2]:
|
||||
[3]:
|
||||
[4]:
|
||||
[5]:
|
||||
[6]:
|
||||
[7]:
|
||||
[8]:
|
||||
[9]:
|
||||
[10]:
|
||||
[11]:
|
||||
[12]:
|
39
published/How to add icons to menus in Ubuntu 13.10.md
Normal file
39
published/How to add icons to menus in Ubuntu 13.10.md
Normal file
@ -0,0 +1,39 @@
|
||||
如何在Ubuntu 13.10中给菜单添加图标
|
||||
================================================================================
|
||||
|
||||
通常,使用Ubuntu 13.10的用户会会对默认的程序、偏好和功能进行优化,才能得到更好的用户体验。
|
||||
|
||||
Ubuntu的用户体验是可以优化调整的,因此用户可以通过一些工具来修改和调整那些默认设置,比如使用Ubuntu Tweak。
|
||||
|
||||
默认情况下,Ubuntu禁用了内部菜单的图标,即,右键点击桌面打开右键菜单时,菜单中只包含文本而且没有相应的图标。
|
||||
|
||||
不过,在Ubuntu 13.10的菜单中添加图标是很简单的:
|
||||
|
||||
- 安装Ubuntu Tweak
|
||||
|
||||
sudo add-apt-repository ppa:tualatrix/ppa
|
||||
|
||||
sudo apt-get update
|
||||
|
||||
sudo apt-get install ubuntu-tweak
|
||||
|
||||
- 启动Ubuntu Tweak,并导航到`Tweaks-->Miscellaneous`
|
||||
- 选中 `Menus have icons`
|
||||
|
||||
**结果**:现在右键点击桌面,图标就会在菜单中显示, 图标显示也会在其他软件的右键菜单出现(例如, Nautilus, Firefox, Gedit中的菜单等等)。
|
||||
|
||||
![](http://iloveubuntu.net/pictures_me/menu%20icon%203%20ubuntu%2013.10.png)
|
||||
|
||||
![](http://iloveubuntu.net/pictures_me/menu%20icons%20ubuntu%2013.10%201.png)
|
||||
|
||||
![](http://iloveubuntu.net/pictures_me/menu%20icons%20ubuntu%2013.10%202.png)
|
||||
|
||||
这样在最常用的右键菜单中加上新增的图标,菜单会更加清晰和美丽,特别是使用单色图标菜单显示图标时。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://iloveubuntu.net/how-add-icons-menus-ubuntu-1310
|
||||
|
||||
译者:[Yu-Fei](http://blog.csdn.net/u011459130) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
@ -0,0 +1,54 @@
|
||||
如何在linux上通过GRUB添加内核参数
|
||||
================================================================================
|
||||
|
||||
我们可以在linux内核启动时为其提供各种各样的参数。这些参数可以自定义内核默认的行为,或者通知内核关于硬件的配置信息。内核参数应在内核启动时通过引导装载程序,如GRUB或LILO传递给内核。
|
||||
|
||||
在本教程中,我将会描述**如何在linux上通过GRUB添加内核参数**。
|
||||
|
||||
如果你在使用GRUB引导装载程序,想修改或添加内核参数,你可以编辑GRUB配置文件。下面是针对特定发行版在GRUB的配置文件中添加内核启动参数的方法。
|
||||
|
||||
### 在Debian或Ubuntu上添加内核启动参数###
|
||||
|
||||
在基于Debian的系统上,如果你想在系统启动时添加内核参数,你可以编辑 /etc/default/grub 目录下的GRUB配置模板。在 GRUB\_CMDLINE\_LINUX\_DEFAULT 变量中以 “name=value” 的格式添加内核参数。
|
||||
|
||||
$ sudo -e /etc/default/grub
|
||||
|
||||
> GRUB\_CMDLINE\_LINUX\_DEFAULT="...... name=value"
|
||||
|
||||
然后运行下面的命令来生成一个GRUB的配置文件。
|
||||
|
||||
$ sudo update-grub
|
||||
|
||||
如果无法找到 update-grub 命令,你可以通过下面的命令安装它。
|
||||
|
||||
$ sudo apt-get install grub2-common
|
||||
|
||||
### 在Fedora上添加内核启动参数 ###
|
||||
|
||||
在Fedora上,想要在启动时添加内核参数,你可以编辑 /etc/default/grub目录下的 GRUB 配置模板。在 GRUB\_CMDLINE\_LINUX 变量中以 “name=value” 的格式添加内核参数。
|
||||
|
||||
$ sudo -e /etc/default/grub
|
||||
|
||||
> GRUB\_CMDLINE\_LINUX="...... name=value"
|
||||
|
||||
然后运行下面的命令生成 GRUB2 配置文件。
|
||||
|
||||
$ sudo grub2-mkconfig -o /boot/grub2/grub.cfg
|
||||
|
||||
### 在CentOS上添加内核启动参数 ###
|
||||
|
||||
在CentOS上,想要在启动时添加内核参数,你可以直接编辑GRUB配置文件 /boot/grub/grub.conf。在配置文件中,找到描述默认使用的Linux映像的条目。文件中最顶行的字符串 “default=N”会指示哪一个条目是默认的映像。
|
||||
|
||||
[![](http://farm8.staticflickr.com/7429/10618657834_8082c2806b_z.jpg)][1]
|
||||
|
||||
找到默认的映像条目后,在以 “kernel /vmlinuz-” 开头的那一段的结尾附加上内核参数。参数的格式为 “name=value” 。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://xmodulo.com/2013/11/add-kernel-boot-parameters-via-grub-linux.html
|
||||
|
||||
译者:[Linchenguang](https://github.com/Linchenguang) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.flickr.com/photos/xmodulo/10618657834/
|
@ -1,6 +1,4 @@
|
||||
|
||||
|
||||
如何使用LibreOffice把DOCX, DOC, RTF, ODT 转换成PDF
|
||||
如何使用LibreOffice把DOCX,DOC,RTF,ODT转换成PDF
|
||||
================================================================================
|
||||
在学校、公司、政府,或者是在网页传播的书籍、文档、报告、教程等等文档均被封装成各种格式。
|
||||
|
||||
@ -28,7 +26,7 @@
|
||||
|
||||
via: http://iloveubuntu.net/how-convert-docx-doc-rtf-odt-pdf-libreoffice
|
||||
|
||||
译者:[NearTan](https://github.com/NearTan) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
译者:[NearTan](https://github.com/NearTan) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
@ -0,0 +1,128 @@
|
||||
如何在Linux上配置基于Web的网络流量监控系统
|
||||
================================================================================
|
||||
当你在本地网络监控网络流量,根据流量大小、监控平台/接口、数据库类型等等,可以有许多不同的选择。
|
||||
|
||||
[ntopng][1]是一套开源(遵循GPLv3协议)网络流量分析解决方案,提供基于web界面的实时网络流量监控。支持跨平台,包括Linux和MacOS X。ntopng类似于RMON远端网络监控代理,具有内置的Web服务能力,使用[Redis][2]键值服务按时间序列存储统计信息。你可以在任何指定的监控服务器上安装ntopng,只需使用任一web浏览器,就能实时访问服务器上的流量报告了。
|
||||
|
||||
本教程就来介绍**如何使用ntopng在Linux上配置基于Web的网络流量监控系统**
|
||||
|
||||
###ntopng的特性###
|
||||
|
||||
- 从数据流级别与协议级别对本地网络流量进行实时分析
|
||||
- 支持域、AS(自制系统)与VLAN级别的统计分析
|
||||
- 支持IP地址地理定位
|
||||
- 支持基于“服务探索”(例如Google、Facebook)的深度报文检测(DPI)
|
||||
- 历史流量分析(例如分别按照小时、日、周、月、年进行分析)
|
||||
- 支持sFlow、NetFlow(v5/v9版)以及基于nProbe的IPFIX
|
||||
- 网络流量矩阵(谁正在和谁谈话?)
|
||||
- 支持IPv6
|
||||
|
||||
###在Linux上安装ntopng
|
||||
|
||||
官方网页上提供了针对[Ubuntu][3]和[CentOS][4]的二进制安装包。如果你使用的恰好是以上二者其一,并且懒得用源码安装,可以直接到官网下载二进制文件包安装,并忽略这一小节下面的内容。
|
||||
|
||||
如果你想通过[源码][5]安装最新的ntopng,请继续往下看
|
||||
|
||||
如果你是Debian、Ubuntu或Linux Mint,执行以下命令:
|
||||
|
||||
$ sudo apt-get install libpcap-dev libglib2.0-dev libgeoip-dev redis-server wget
|
||||
$ tar xzf ntopng-1.0.tar.gz
|
||||
$ cd ntopng-1.0/
|
||||
$ ./configure
|
||||
$ make geoip
|
||||
$ make
|
||||
|
||||
上面的几个步骤中,“make geoip”将会自动通过wget从maxmind.com下载一个免费版的GeoIP数据库,因此,这里最好确保你的系统能联网。
|
||||
|
||||
如果你是Fedora:
|
||||
|
||||
$ sudo yum install libpcap-devel glib2-devel GeoIP-devel
|
||||
libxml2-devel redis wget
|
||||
$ tar xzf ntopng-1.0.tar.gz
|
||||
$ cd ntopng-1.0/
|
||||
$ ./configure
|
||||
$ make geoip
|
||||
$ make
|
||||
|
||||
如果你是CentOS或RHEL,首先[设置EPEL repository][6],然后再执行上面和[Fedora][7]一样的命令就可以。
|
||||
|
||||
###在Linux上配置ntopng###
|
||||
|
||||
ntopng安装完毕之后,接下来,新建一个ntopng配置目录,然后按照下列命令准备默认的配置文件。这里我假设你的本地网络地址为C类“192.168.1.0/24”。
|
||||
|
||||
$ sudo mkir /etc/ntopng -p
|
||||
|
||||
$ sudo -e /etc/ntopng/ntopng.start
|
||||
|
||||
修改如下:
|
||||
|
||||
> --local-networks "192.168.1.0/24"
|
||||
>
|
||||
> --interface 1
|
||||
|
||||
$ sudo -e /etc/ntopng/ntopng.conf
|
||||
|
||||
修改如下:
|
||||
|
||||
> -G=/var/run/ntopng.pid
|
||||
|
||||
在运行ntopng之前,要确认先启动redis,刚才不说了,redis为ntopng提供键值存储嘛~
|
||||
|
||||
在Debian、Ubuntu和Linux Mint上,这样启动:
|
||||
|
||||
$ sudo /etc/init.d/redis-server restart
|
||||
$ sudo ./ntopng
|
||||
|
||||
在Fedora、CentOS和RHEL上,这样启动:
|
||||
|
||||
$ sudo service redis restart
|
||||
$ sudo ./ntopng
|
||||
|
||||
ntopng默认监听TCP的3000端口,使用下列命令加以确认。
|
||||
|
||||
$ sudo netstat -nap|grep ntopng
|
||||
tcp 0 0 0.0.0.0:3000 0.0.0.0:* LISTEN 29566/ntopng
|
||||
|
||||
###基于Web界面的网络流量监控###
|
||||
|
||||
一旦ntopng成功运行,就可以打开浏览器,访问地址http://<你的主机IP地址>:3000
|
||||
|
||||
这时,你会看到ntopng的登录界面。使用默认帐密:“admin/admin”。
|
||||
|
||||
下面是一些截图。
|
||||
|
||||
**top流的实时可视化图像**
|
||||
|
||||
[![](http://farm4.staticflickr.com/3830/10487165303_8bf0b25668_z.jpg)][8]
|
||||
|
||||
**top主机的实时统计,包括top协议和top AS数量**
|
||||
|
||||
[![](http://farm3.staticflickr.com/2886/10486988416_7c8770e823_z.jpg)][9]
|
||||
|
||||
**基于DPI的自动程序/服务探索生成的的实时数据报告**
|
||||
|
||||
[![](http://farm6.staticflickr.com/5500/10486988386_641608ecac_z.jpg)][10]
|
||||
|
||||
**历史流量数据分析**
|
||||
|
||||
[![](http://farm8.staticflickr.com/7379/10486995114_f0b58243a8_z.jpg)][11]
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://xmodulo.com/2013/10/set-web-based-network-traffic-monitoring-linux.html
|
||||
|
||||
译者:[Mr小眼儿](http://blog.csdn.net/tinyeyeser) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.ntop.org/products/ntop/
|
||||
[2]:http://redis.io/
|
||||
[3]:http://apt.ntop.org/
|
||||
[4]:http://rpm.ntop.org/
|
||||
[5]:http://sourceforge.net/projects/ntop/files/ntopng/
|
||||
[6]:http://xmodulo.com/2013/03/how-to-set-up-epel-repository-on-centos.html
|
||||
[7]:http://xmodulo.com/go/fedora_guide
|
||||
[8]:http://www.flickr.com/photos/xmodulo/10487165303/
|
||||
[9]:http://www.flickr.com/photos/xmodulo/10486988416/
|
||||
[10]:http://www.flickr.com/photos/xmodulo/10486988386/
|
||||
[11]:http://www.flickr.com/photos/xmodulo/10486995114/
|
@ -0,0 +1,34 @@
|
||||
KDE和Canonical的关于Mir的冲突最终爆发了
|
||||
================================================================================
|
||||
|
||||
KDE开发者和Canonical之间酝酿的冲突在一连串Mir显示服务器所造成的问题后最终爆发了。
|
||||
|
||||
KDE与Canonical,尤其是Mark Shuttleworth,有很深的交情。曾几何时,在2006年,Mark Shuttleworth是第一个赞助KDE的人,人们总会像这样谈论这件事:
|
||||
|
||||
“我毫不怀疑当你看到KDE4所带来的巨大潜能时,你会知道你今天所做的是正确的。你是个真正有远见的人。这个世界需要更多的像你一样的人。”一位KDE社区成员所述。
|
||||
|
||||
而在七年之后,Canonical宣布了一款新的显示服务器Mir,而KDE、Kubuntu和Canonical社区的所有东西已经被丢到窗外。
|
||||
|
||||
[一篇由Mark Shuttleworth写的文章][1]最终成为了战争的导火索,其中写道,他将所有批判Mir显示服务器的人归类到一个虚拟的“茶派”,在他看来这就是派系的而已。有很多人,尤其是几个高级KDE开发者,他们批判Mir,他们在一开始就反对Mir。
|
||||
|
||||
KDE Plasma的开发者兼KDE组织主席,亚伦·塞戈,就这个问题向Mark Shuttleworth发起抗议。而[Canonical的创始人没有理睬][2]他的要求,这引起了一系列反应.
|
||||
|
||||
第二个反应来自一位Kwin的开发者和维护者,Martin Gräßlin,他说这基本上[可以跟Ubuntu社区说Goodbye了][3]。在他的Google+上跟Ubuntu社区经理Jono Bacon的对话已经占满了所有回帖.
|
||||
|
||||
“开源总是个很火爆的话题。有时候讨论时会带点粗鲁和不敬。难点是每个人对于粗鲁和无礼的定义是有区别的。就像,每个人对于好和坏行为评定是不同的” Jono Bacon在他帖子所述.
|
||||
|
||||
他对于Martin Gräßlin的决定表示遗憾,但他也指出了Ubuntu的行为准则2.0,被打破了很多次已经很难计数了。
|
||||
|
||||
按照现在的情况,KDE绝不会采用Mir,Kubuntu可能带有配件,也许Ubuntu风光的日子已经时日不多。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://news.softpedia.com/news/KDE-and-Canonical-Conflict-Over-Mir-Finally-Bursts-into-Open-396651.shtml
|
||||
|
||||
译者:[Luoxcat](https://github.com/Luoxcat) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://news.softpedia.com/news/Mark-Shuttleworth-Says-That-Mir-Opponents-Have-Formed-the-Open-Source-Tea-Party-392793.shtml
|
||||
[2]:http://news.softpedia.com/news/KDE-Developer-and-President-of-KDE-e-v-Upset-Because-Mark-Shuttleworth-Is-Ignoring-Him-396623.shtml
|
||||
[3]:http://news.softpedia.com/news/Major-KDE-Developer-Says-Goodbye-to-Ubuntu-396429.shtml
|
@ -0,0 +1,38 @@
|
||||
Linux企业级桌面版:Ubuntu Vs Windows
|
||||
================================================================================
|
||||
|
||||
过去的10年中,Linux的众多支持者几乎每年都预言当年会是“linux桌面版之年”。对微软主导的企业来说,这曾经是一个崇高的目标,但时代在变。在智能手机和云计算市场领域,Linux已经发展壮大成为一个顽强的竞争对手,打了微软一个措手不及。更重要的是,Google,IBM,Red Hat,Facebook, 还有Netflix等公司正在对linux的研发创新投入巨资。
|
||||
|
||||
现在, 随着技术预算缩水,微软授权费上涨,IT界是时候应该认真考虑一下了,部署桌面版Linux,替代Windows。这是个最佳时机,Windows 8.1刚发布,Ubuntu 13.10也同时发布。对Windows XP的支持也只剩下5个月时间。IT公司需要切换到新的环境。Ubuntu利用企业的需求来支持他们桌面版操作系统的需求。我研究了几个促成向桌面版linux转换的因素,包括培训和支持,还有一些潜在的复杂性问题。
|
||||
|
||||
我知道Ubuntu已经失去了它曾经在开源社区享有的青睐。Canonical,Ubuntu的开创者,做出了几个不受欢迎的决策,包括改变屏幕管理器(linux图形界面的基本组件),用内部开发的Mir替换掉Wayland。然而,Ubuntu仍然是完全开源的,并提供任何Linux发行版甚至Windows版本的软件,安装起来最为省事。Canonical还提供付费支持,这可能是企业级环境所需要的。
|
||||
|
||||
一直存在这样的争论,如果切换到一个新的桌面的话,最终用户需要再培训。微软做出了争议性决策,针对Windows 8.1,对熟悉的界面全面整改,这种举措造成的影响就是,比转向linux需要更多的培训。 Ubuntu Unity 桌面已经演变为用户友好的界面,比之Windows 8.1,更易于被终端用户所理解。
|
||||
|
||||
例如,比较一下用户在各个操作系统中关闭系统的方式。所有最近的Ubuntu版本,关闭系统只需点击一下屏幕右上角打开-关闭的图标。Windows 8.1则需要右击开始按钮,然后出现一个下拉菜单,从中找到关闭电源的选项。相较于Windows 8,这是个巨大的进步。Windows 8还得费劲去找相关的入口。总不如屏幕上只需一个图标来得直接。
|
||||
|
||||
多亏了许多流行的开源应用的Windows版本,对使用这些应用软件的终端用户的培训过也不是什么复杂的任务。用户已经熟悉了Windows上的Firefox, LibreOffice, Pidgin, 以及VLC媒体播放器。用于商业的应用,比如Skype和Adobe Acrobat,功能实现跟Windows上的基本相同。基于云的应用,比如Google Drive 和 Microsoft Office 365,在Ubuntu上都可以正常使用。
|
||||
|
||||
传统的Windows应用程序可以通过熟悉的Citrix或者开源RDP的客户端来使用。公司也可以使用开源的虚拟产品,比如VirtualBox,运行一些顽固的老掉牙的Windows应用。
|
||||
|
||||
在最新硬件的支持上,许多技术人员还记得,在Linux刚刚起步的那些时日,硬件支持极其有限。如今形势已经转变了。
|
||||
|
||||
如今对Linux的硬件支持通常比对最新的Windows版本的支持还要理想。许多硬件供应商已经放弃了对Windows新版本的驱动支持。Linux下的硬件驱动可以由开源社区的任何一个人维护更新,因此许多支持许多旧的硬件在最新版Ubuntu中得到了完全的支持。有基于此,再加上Ubuntu较低的系统需求,公司可以延长都已经进了回收站的硬件的使用寿命。
|
||||
|
||||
虽然Linux的桌面替代品存在它的优势,但是企业也应该考虑到一些潜在的困难。尽管许多技术人员正在使用linux,也为学习新的技术而欢欣鼓舞,但是仍有一部分技术人员用Windows进行开发工作很长时间了,已经习惯了,再去拥抱新的变化,对他们来说,或许不是那么得情愿。
|
||||
|
||||
援引薪酬增长的趋势是一个解决潜在的问题的办法。相比于其他专业技术人员,要求Linux技能的职位薪酬上涨近一倍的速度,这是来自Dice的说法。
|
||||
|
||||
对严格遵守合规性的公司来说,切换到Linux可能会遇到困难。例如,HIPAA要求加密,以满足FIPS-140-2的要求。大多数开源加密项目没有赞助商帮助他们通过NIST认证以满足这一要求。开源代码实际上可能因为有许多人已审查,会比专有软件更安全,但令人惊讶的是,在合规性的世界中,这一点无关紧要。
|
||||
|
||||
在决定全面迁移之前,企业需要了解他们的规则要求,并制定一个计划,培训IT人员。但总体而言,相比于企业级私有操作系统,作为一个切实可行的选择,Ubuntu Linux已然成熟。考虑到版权费用的花销,公司在Linux桌面替换项目中的投入是值得的。下一年或许就是“linux桌面版之年”。
|
||||
|
||||
> 本文作者Joseph Granneman拥有超过20年的技术经验,主要专注于医疗信息技术。他伊利诺伊州罗克福德骨科协会的CIO,医疗保健信息技术和信息安全领域一个活跃的独立作家、主持人和教授。Granneman一直活跃在许多的组织群体,包括发展健康信息交换的早期框架,该框架是伊利诺斯州的保健信息安全和隐私安全工作组的一部分。他也是健康信息技术认证委员会(CCHIT)安全工作组的一名志愿者,该工作组负责制定ARRA认证的电子病历信息安全标准。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.networkcomputing.com/data-networking-management/linux-desktop-in-the-enterprise-ubuntu-v/240163564
|
||||
|
||||
译者:[l3b2w1](https://github.com/l3b2w1) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
@ -0,0 +1,59 @@
|
||||
快来尝尝肉桂新口味儿,Mint 16现已加入肯德基豪华午餐~
|
||||
================================================================================
|
||||
|
||||
经过6个月艰苦卓绝的开发工作,Linux Mint开发组终于发布了更加稳定可靠的[Linux Mint 16,版本代号Petra 肉桂版(Cinnamon Edition)][1]。此次发布的Linux Mint包括了软件升级、新增功能以及多个bug修复。
|
||||
|
||||
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/linux_mint16.png)
|
||||
|
||||
这一版本是项目组努力工作6个月的辛勤果实,它为我们带来了2种独特“口味儿”,**肉桂(Cinnamon)**及其**伴侣(MATE)**,但具体新功能都有哪些呢?
|
||||
|
||||
根据官方发布的声明,下面列出了Linux Mint 16 Petra Cinnamon版本的新功能:
|
||||
|
||||
- Cinnamon升级至2.0版
|
||||
- 全新的登录界面
|
||||
- 支持USB记忆棒
|
||||
- 系统性能提升
|
||||
- 全新的软件管理器
|
||||
- 系统更加完善
|
||||
- UI美工更加漂亮
|
||||
- 主要组件得到优化
|
||||
|
||||
### Cinnamon 2.0 ###
|
||||
|
||||
肉桂2.0带来诸多改进,修复了多个bug,加入许多新功能。首先,关闭窗口、切换工作台等日常操作加入了声音效果,同时,用户可以独立于主音量之外,单独对这些声音进行设置,另外,2.0版还加入了一个新面板,大大方便了session会话和账户关联任务等操作。
|
||||
|
||||
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/thumb_cinnamon_account_details.png)
|
||||
|
||||
###账户细节###
|
||||
|
||||
系统管理员可以通过“用户与组”配置工具,对用户和组进行管理,你还可以使用新的“账户细节”配置界面对密码等信息进行修改。
|
||||
|
||||
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/thumb_cinnamon_user_applet.png)
|
||||
|
||||
###软件管理器###
|
||||
|
||||
“快”!这是用来描述新版Linux Mint软件管理器最合适的字眼。每个人都欣喜地看到,如今的软件管理器不但比以前占用更少的内存,而且支持多个截图预览, **搜索**更加迅捷,**启动**更加快速。
|
||||
|
||||
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/software_manager1.png)
|
||||
|
||||
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/software_manager2-e1384689990357.png)
|
||||
|
||||
###系统更加完善###
|
||||
|
||||
你会在你的Linux Mint上使用“终端”来完成日常工作吗?当然!作为**程序猿(媛)**,这样才显得很高端大气上档次。这次的Linux Mint 16 Petra 肉桂版,将为你带来比以往更好的终端体验。举个栗子,新的终端使用“ll”命令作为“ls -al”的别名命令,如此一来,有了省时又省力的“ll”,谁还会去敲“ls -al”?(译注:难道ll还不是业界标准么?)
|
||||
|
||||
除了程序猿(媛),Linux Mint 16 Petra 肉桂版同样还惦记着我们广大亲爱的**游戏玩家**!肉桂君现在能够更好的支持Steam,不仅如此,肉桂君还默认将steam加入了软件容器和软件管理器的特色板块!
|
||||
|
||||
**宅男** 们可能比较关心,**隐私策略**做的怎么样呢?Linux Mint 16为广大宅男同胞们提供了额外的隐私/安全搜索引擎,机油再也不用担心我找不到苍老师~
|
||||
|
||||
更好的帮助支持、更安全的内核更新、更快的启动速度和登录速度…… 哎对了,果粉们怎么办?果粉?是的,这里说的就是各位**苹果**的忠(Nao)实(Can)粉丝们。虽然我们是Linuxer,但是分享与关爱是我们Linuxer与生俱来的传统美德。因此,Linux Mint 16现已加入对iOS设备的支持,众位果粉这下高兴了吧。不客气~
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.unixmen.com/linux-mint-16-petra-cinnamon-rc-released/
|
||||
|
||||
译者:[Mr小眼儿](http://blog.csdn.net/tinyeyeser) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://blog.linuxmint.com/?p=2477
|
40
published/Making Linux More Accessible.md
Normal file
40
published/Making Linux More Accessible.md
Normal file
@ -0,0 +1,40 @@
|
||||
让Linux更加可用(Accessibility)
|
||||
================================================================================
|
||||
一个令人吃惊的事实是,至少十亿人或多或少有着某种程度的残疾。就是说全球大约15%的人在生理上、感知上、心智上会有缺陷,导致他们难以活动、观看、收听以及学习。世界上3.5亿人有不同程度的视觉障碍。计算机技术发展地越快,这些人就越会被疏远,除非计算机软件的开发可以满足他们的需求。
|
||||
|
||||
可用性是表示一个产品、设备、服务或者环境在不考虑具体细节的情况下能被多少人使用的程度。可用性可以被看作接触和利用一个系统或者实体的能力。可用性至关重要,社会和谐不是一个慈善行动,而是人类基本的权利。
|
||||
|
||||
我们见证了Linux软件和发行版本在使每个人融入社会方面做的突出贡献。举个例子来说,GNOME Accessibility Project 为图形界面用户开发了开源的可用性解决方案。Ubuntu有一个可用性团队致力于使Ubuntu能被更广范围的人使用。不得不提的是Vinux Project,一个基于Ubuntu的发行版本,针对失明和视力有障碍的用户进行了优化。
|
||||
|
||||
也有很多单独的应用软件提供了不同的可用性功能。这篇文章试图找出一些顶尖的开源软件,它们能帮助人们充分利用计算机技术,不论他们的生理和知觉功能如何。
|
||||
|
||||
让我们了解一下手边的8个通用辅助工具。我们为每个应用编写了它字节的入口页面,完整地、深入地分析了它们的功能,包含截屏和相关资源链接。
|
||||
|
||||
|
||||
### 通用辅助 ###
|
||||
|
||||
- [Easystroke][1] 笔画识别软件
|
||||
- [Simon][2] 灵活的语音识别软件
|
||||
- [Orca Screen Reader][3] 可编程的屏幕阅读器
|
||||
- [Julius][4] Two-pass策略的大词汇持续语音识别引擎
|
||||
- [Florence Virtual Keyboard][5] 扩展的可伸缩虚拟键盘
|
||||
- [Caribou][6] 可配置的带有扫描模式的屏幕键盘
|
||||
- [Dasher][7] 图形化的预测文本输入系统
|
||||
- [xvkbd][8] 虚拟(图形)键盘系统
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.linuxlinks.com/article/20131109042823957/UniversalAccess.html
|
||||
|
||||
译者:[boredivan](https://github.com/boredivan) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://sourceforge.net/apps/trac/easystroke/
|
||||
[2]:http://simon-listens.org/
|
||||
[3]:https://wiki.gnome.org/Orca
|
||||
[4]:http://julius.sourceforge.jp/
|
||||
[5]:http://florence.sourceforge.net/english.html
|
||||
[6]:https://wiki.gnome.org/Caribou
|
||||
[7]:http://www.inference.phy.cam.ac.uk/dasher/
|
||||
[8]:http://homepage3.nifty.com/tsato/xvkbd/
|
@ -0,0 +1,35 @@
|
||||
米科·哈普宁:开源软件将使世界更安全
|
||||
================================================================================
|
||||
安全专家米科·哈普宁(Mikko Hypponen)于上周在爱丁堡举行的[LinuxCon and CloudOpen Europe][1]会议上的主题演讲中说:“开源软件可以作为一个方法来打击全球监视无辜居民的行为。”
|
||||
|
||||
![](http://www.linux.com/images/stories/41373/Mikko-Hypponen-3.jpg)
|
||||
|
||||
*米科·哈普宁,芬兰F-Secure的首席研究员,在爱丁堡举行的LinuxCon and CloudOpen Europe 2013会议上讲话。*
|
||||
|
||||
计算和全球网络增加的进步使得存储和传输数据变得便宜且简单。哈普宁说这创造了无比的连通性、进步和创新,但是同样使得大规模的数据被访问到就像NSA的棱镜项目揭示的那样,这事件随着前美国政府员工爱德华·斯诺登(Edward Snowden)泄漏的一系列顶级机密文件而公开。
|
||||
|
||||
哈普宁,芬兰F-Secure的首席研究员说:“前几年我们已经意识到数据是廉价的。我们永远不必再删除任何数据。这促成了很多伟大的事情,但同样也引发了大规模地毯式的监视。”
|
||||
|
||||
哈普宁说:“这些监视会访问我们的个人数据,包括电话记录、地理位置、电子邮件和搜索引擎请求,有些可能是被授权的。”
|
||||
|
||||
他说:“我相信一些监控是好的。如果有一项研究来找出校园枪击者或者毒枭或者恐怖组织成员等等,我们应该已经有技术手段这么做,但是我们首先必须持有怀疑。”
|
||||
|
||||
哈普宁说:“但是收集通信和每个人的个人数据不仅是对隐私的侵犯,还是对民主的威胁。”
|
||||
|
||||
他说:“即使你如今对政府的行为认可,但是我们不知道政府会在今后的20年怎么样。如果他们有你20年的搜索数据,他们会找出一些非法的或者令人尴尬的理由来扭曲你的手。”
|
||||
|
||||
哈普宁说:“虽然泄漏事件使得一些IT专家质疑他们的数据存储的安全性和经由美国服务商的的路由,但绕开这些公司和服务不能解决问题。同样不能每个国家都花费和金钱来建造他们自己的替代品。”
|
||||
|
||||
哈普宁说:“要跨越国际边际地工作,开发者应该团结起来建造一个安全和可靠的软件和服务来防止后门篡改和用户隐私。”
|
||||
|
||||
他说:“我建议开源软件对这个问题提供一个解决方案。那么国家就不必独自做这件事。这将会变得安全、开放和免费。”
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.linux.com/news/featured-blogs/200-libby-clark/745585-mikko-hypponen-open-source-software-will-make-the-world-more-secure
|
||||
|
||||
译者:[geekpi](https://github.com/geekpi) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://events.linuxfoundation.org/events/linuxcon-europe
|
106
published/Options in Linux RPM Command to Query Packages.md
Normal file
106
published/Options in Linux RPM Command to Query Packages.md
Normal file
@ -0,0 +1,106 @@
|
||||
Linux 下用来查询安装包信息的RPM选项
|
||||
================================================================================
|
||||
|
||||
RPM是RedHat的包管理器,用来安装、卸载、升级和查询基于RedHat Linux的安装包。RHEL和基于它的系统使用rpm命令来完成这些功能。以下是一些例子来演示rpm的查询功能,和展示了用不同的方法来查询rpm数据库和还原配置文件。
|
||||
|
||||
我在示例命令中使用SSH包来做说明。
|
||||
|
||||
## 查询RPM数据库和包 ###
|
||||
|
||||
###1、 在整个RPM数据库中查询,使用下面的命令
|
||||
|
||||
# rpm -qa
|
||||
plymouth-0.8.3-27.el6.x86_64
|
||||
pciutils-libs-3.1.10-2.el6.i686
|
||||
netcf-libs-0.1.9-3.el6.x86_64
|
||||
..
|
||||
...
|
||||
..
|
||||
Output Truncated
|
||||
|
||||
###2、 你可以通过grep命令来确定上面的例子中有哪些SSH包已经安装
|
||||
|
||||
# rpm -qa |grep ssh
|
||||
libssh2-1.4.2-1.el6.x86_64
|
||||
openssh-askpass-5.3p1-84.1.el6.x86_64
|
||||
libssh2-1.4.2-1.el6.i686
|
||||
openssh-server-5.3p1-84.1.el6.x86_64
|
||||
openssh-clients-5.3p1-84.1.el6.x86_64
|
||||
openssh-5.3p1-84.1.el6.x86_64
|
||||
|
||||
输出显示了一些关于SSH的包,但是你仍需确定哪个包真正安装了SSH。为了更近一步,请看下面的示例。
|
||||
|
||||
###3、 检查已安装的SSH包 a) 通过sshd守护进程 b) 通过它的配置文件
|
||||
|
||||
# rpm -qf /etc/init.d/sshd
|
||||
openssh-server-5.3p1-84.1.el6.x86_64
|
||||
# rpm -qf /etc/ssh/sshd_config
|
||||
openssh-server-5.3p1-84.1.el6.x86_64
|
||||
|
||||
如你所见,ssh是通过openssh-server-5.3p1-84.1.el6.x86_64包安装的,你可以在守护进程或者配置文件中使用rpm -qf命令(查询ssh包所包含的任一文件来查询)。两者都会输出从那个软件包安装的。
|
||||
|
||||
###4、 现在你有了包名,你可能想要了解更多,并想要知道包中包含了哪些不同的文件。这种情况下,使用rpm -ql命令
|
||||
|
||||
# rpm -ql openssh-server-5.3p1-84.1.el6.x86_64
|
||||
/etc/pam.d/ssh-keycat
|
||||
/etc/pam.d/sshd
|
||||
/etc/rc.d/init.d/sshd
|
||||
/etc/ssh/sshd_config
|
||||
/etc/sysconfig/sshd
|
||||
/usr/libexec/openssh/sftp-server
|
||||
/usr/libexec/openssh/ssh-keycat
|
||||
/usr/sbin/.sshd.hmac
|
||||
/usr/sbin/sshd
|
||||
/usr/share/doc/openssh-server-5.3p1
|
||||
/usr/share/doc/openssh-server-5.3p1/HOWTO.ssh-keycat
|
||||
/usr/share/man/man5/moduli.5.gz
|
||||
/usr/share/man/man5/sshd_config.5.gz
|
||||
/usr/share/man/man8/sftp-server.8.gz
|
||||
/usr/share/man/man8/sshd.8.gz
|
||||
/var/empty/sshd
|
||||
|
||||
上面的输出显示了所有该包在系统中安装的文件。现在让我们更进一步,我们只想要看到该包提供的配置文件和文档。
|
||||
|
||||
###5、 只列出其中的配置文件,使用rpm -qc命令
|
||||
|
||||
# rpm -qc openssh-server-5.3p1-84.1.el6.x86_64
|
||||
/etc/pam.d/ssh-keycat
|
||||
/etc/pam.d/sshd
|
||||
/etc/ssh/sshd_config
|
||||
/etc/sysconfig/sshd
|
||||
|
||||
###6、 只列出其中的帮助文档,使用rpm -qd命令
|
||||
|
||||
# rpm -qd openssh-server-5.3p1-84.1.el6.x86_64
|
||||
/usr/share/doc/openssh-server-5.3p1/HOWTO.ssh-keycat
|
||||
/usr/share/man/man5/moduli.5.gz
|
||||
/usr/share/man/man5/sshd_config.5.gz
|
||||
/usr/share/man/man8/sftp-server.8.gz
|
||||
/usr/share/man/man8/sshd.8.gz
|
||||
|
||||
考虑一种情况,你想要配置一个服务,但是你不知道哪里找到配置文件。举例来说,如上面的例子:使用**rpm -qf rpm -qf /etc/init.d/sshd**来找出 **/etc/ssh/sshd_config**这个文件源于哪个包。这应该会给你显示**openssh-server-5.3p1-84.1.el6.x86_64**包。使用**rpm -ql openssh-server-5.3p1-84.1.el6.x86_64**来显示包中所含的所有文件。如你所见,许多文件名显示了出来,但是输出并不很有用。
|
||||
|
||||
现在使用**rpm -qc openssh-server-5.3p1-84.1.el6.x86_64** 来只显示这个包的配置文件。这只会显示4个文件并给出了[/etc/ssh/sshd_config file][1]的绝对路径,可以用来开始配置服务。
|
||||
|
||||
###7、 从PRM包还原配置文件,而不重新安装包。
|
||||
|
||||
如果由于一些原因文件损坏或者从系统中删除了,你可以以**rpm -qf**开头来找出文件存在于哪个包。接下来使用**rpm2cpio | cpio -idmv**来从包中解压出文件。用ssh的例子。
|
||||
|
||||
假设**/etc/ssh/sshd_config**文件已经删除并且你不希望重装ssh,按以下步骤来还原文件。
|
||||
|
||||
* 使用rpm -qf /etc/init.d/sshd 这个命令会显示文件来自于openssh-server-5.3p1-84.1.el6.x86_64包。
|
||||
* 从它的源中下载Openssh的rpm包。
|
||||
* 复制openssh-server-5.3p1-84.1.el6.x86_64包到/tmp目录或者其他任何你选择的目录。
|
||||
* 使用rpm2cpio |cpio -idmv解压包。
|
||||
|
||||
上面步骤中你使用的命令会在/tmp下面创建一个子目录。你现在可以复制到它的原始目录。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://linoxide.com/linux-command/rpm-command-query/
|
||||
|
||||
译者:[geekpi](https://github.com/geekpi) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.linoxide.com/how-tos/disable-ssh-direct-login/
|
@ -1,18 +1,17 @@
|
||||
Package Management Using YUM In Red Hat Linux
|
||||
================================================================================
|
||||
在红帽Linux中使用YUM包管理器
|
||||
===
|
||||
![](http://linoxide.com/wp-content/uploads/2013/11/yum-package-install.png)
|
||||
|
||||
**Yum** is a utility provided in RHEL based systems to install,remove and search packages. It can do lot more than just installing and removing and that’s what I will demonstrate in this article.
|
||||
**YUM**是RHEL系统中提供的一个安装,卸载和搜索软件包的工具。它能做的不仅仅是安装、卸载软件包,它能做的还有更多,下面我们将在本文中为你展示。
|
||||
|
||||
Yum installs the package dependencies automatically, for example yum install httpd will install https apache server and it’s required dependencies automatically. Something that is not that easy while installing through rpm. with rpm you have to download all the required dependencies and then install accordingly.
|
||||
YUM可以自动安装软件包的依赖包,例如当你使用yum安装httpd时,它还会自动安装https apache server以及它依赖的软件包。通过rpm软件包安装时就没有这么方便咯(译注:就是不会自动处理软件包依赖问题咯!),你必须下载所有它依赖的软件包,然后依序安装它们。
|
||||
|
||||
The yum utility fetches the package information from a hosted repository (usually by the OS vendor). A repository is basically a collection of rpm’s that are supposed to work on a particular architecture. For example there would be a separate repository for 32 and 64 bit systems, and same goes with RHEL Version 5 and Version 6. You can host your local repository and configure yum to search,install packages from the local repository. In the following examples I will show you some other stuff we can do with yum rather than install and remove but for the sake of understanding I will use httpd package for exempts on my Amazon EC2 RHEL 6.4 server.
|
||||
yum工具从远端服务器上的软件仓库(通常由OS提供商提供)获取软件包的信息。一个软件仓库是能在特定架构上运行的一系列rpm软件包的集合。例如,对于32位和64位系统各有一个软件仓库,还有针对RHEL5以及RHEL6的软件仓库。你也可以建立一个本地仓库,配置你的yum让其从你的本地仓库里搜索安装软件包。在接下来的例子中,我将向你展示除了安装和卸载软件,yum还可以做的其它事情。为方便理解,我将在我的Amazon EC2 RHEL 6.4服务器上使用httpd软件包为例。
|
||||
|
||||
### Search package from repository ###
|
||||
###从软件仓库里搜索软件包
|
||||
# yum search httpd
|
||||
|
||||
# yum search httpd
|
||||
|
||||
Loaded plugins: amazon-id, rhui-lb, security
|
||||
Loaded plugins: amazon-id, rhui-lb, security
|
||||
=============================================== N/S Matched: httpd ==========
|
||||
httpd.x86_64 : Apache HTTP Server
|
||||
httpd-devel.i686 : Development interfaces for the Apache HTTP server
|
||||
@ -22,43 +21,43 @@ The yum utility fetches the package information from a hosted repository (usuall
|
||||
mod_dav_svn.x86_64 : Apache httpd module for Subversion server
|
||||
mod_dnssd.x86_64 : An Apache HTTPD module which adds Zeroconf support
|
||||
|
||||
For a more detailed output use the below command:
|
||||
想获得详细的输出信息,可以使用下面的命令:
|
||||
|
||||
# yum provides httpd
|
||||
|
||||
# yum provides httpd
|
||||
|
||||
Loaded plugins: amazon-id, rhui-lb, security
|
||||
Loaded plugins: amazon-id, rhui-lb, security
|
||||
httpd-2.2.15-26.el6.x86_64 : Apache HTTP Server
|
||||
Repo : rhui-REGION-rhel-server-releases
|
||||
Matched from:
|
||||
|
||||
**yum provides */httpd** Searches in yum packages to find the package that contains a httpd.
|
||||
|
||||
### Provide a list of all Package Groups. ###
|
||||
**yum provides httpd**在软件仓库里搜索含有httpd的软件包。
|
||||
|
||||
# yum grouplist
|
||||
###提供所有软件组列表
|
||||
|
||||
The above command will show you the installed and available package group. You can install an individual package group with group install option. For example we will install package group PHP Support. This package group contains the required php packages.
|
||||
# yum grouplist
|
||||
|
||||
# yum groupinstall PHP Support
|
||||
以上命令将为你显示已经安装的以及可用的软件组。你可以使用软件组安装选项来安装其中一个软件组。例如,我们将安装一个PHP Support的软件组。这个软件组内包含需要的PHP软件包。
|
||||
|
||||
# yum groupinstall PHP Support
|
||||
|
||||
Loaded plugins: amazon-id, downloadonly, rhui-lb, security
|
||||
Setting up Group Process
|
||||
Warning: Group Support does not exist.
|
||||
Resolving Dependencies
|
||||
–> Running transaction check
|
||||
—> Package php.x86_64 0:5.3.3-23.el6_4 will be installed
|
||||
–> Processing Dependency: php-common(x86-64) = 5.3.3-23.el6_4 for package: php-5.3.3-23.el6_4.x86_64
|
||||
–> Processing Dependency: php-cli(x86-64) = 5.3.3-23.el6_4 for package: php-5.3.3-23.el6_4.x86_64
|
||||
—> Package php-gd.x86_64 0:5.3.3-23.el6_4 will be installed
|
||||
–> Processing Dependency: libXpm.so.4()(64bit) for package: php-gd-5.3.3-23.el6_4.x86_64
|
||||
—> Package php-pdo.x86_64 0:5.3.3-23.el6_4 will be installed
|
||||
—> Package php-pear.noarch 1:1.9.4-4.el6 will be installed
|
||||
—> Package php-xml.x86_64 0:5.3.3-23.el6_4 will be installed
|
||||
–> Running transaction check
|
||||
—> Package libXpm.x86_64 0:3.5.10-2.el6 will be installed
|
||||
—> Package php-cli.x86_64 0:5.3.3-23.el6_4 will be installed
|
||||
—> Package php-common.x86_64 0:5.3.3-23.el6_4 will be installed
|
||||
–> Finished Dependency Resolution
|
||||
-> Running transaction check
|
||||
--> Package php.x86_64 0:5.3.3-23.el6_4 will be installed
|
||||
-> Processing Dependency: php-common(x86-64) = 5.3.3-23.el6_4 for package: php-5.3.3-23.el6_4.x86_64
|
||||
-> Processing Dependency: php-cli(x86-64) = 5.3.3-23.el6_4 for package: php-5.3.3-23.el6_4.x86_64
|
||||
--> Package php-gd.x86_64 0:5.3.3-23.el6_4 will be installed
|
||||
-> Processing Dependency: libXpm.so.4()(64bit) for package: php-gd-5.3.3-23.el6_4.x86_64
|
||||
--> Package php-pdo.x86_64 0:5.3.3-23.el6_4 will be installed
|
||||
--> Package php-pear.noarch 1:1.9.4-4.el6 will be installed
|
||||
--> Package php-xml.x86_64 0:5.3.3-23.el6_4 will be installed
|
||||
-> Running transaction check
|
||||
--> Package libXpm.x86_64 0:3.5.10-2.el6 will be installed
|
||||
--> Package php-cli.x86_64 0:5.3.3-23.el6_4 will be installed
|
||||
--> Package php-common.x86_64 0:5.3.3-23.el6_4 will be installed
|
||||
-> Finished Dependency Resolution
|
||||
|
||||
Dependencies Resolved
|
||||
|
||||
@ -93,7 +92,7 @@ The above command will show you the installed and available package group. You c
|
||||
(6/8): php-pdo-5.3.3-23.el6_4.x86_64.rpm | 75 kB 00:00
|
||||
(7/8): php-pear-1.9.4-4.el6.noarch.rpm | 393 kB 00:00
|
||||
(8/8): php-xml-5.3.3-23.el6_4.x86_64.rpm | 103 kB 00:00
|
||||
———————————————————————-
|
||||
-----------------------------------------------
|
||||
Total 2.9 MB/s | 4.5 MB 00:01
|
||||
Running rpm_check_debug
|
||||
Running Transaction Test
|
||||
@ -125,27 +124,27 @@ The above command will show you the installed and available package group. You c
|
||||
|
||||
Complete!
|
||||
|
||||
### Install package using YUM ###
|
||||
###使用YUM安装软件包
|
||||
|
||||
A package can be installed using yum install command as below:
|
||||
可以使用**yum install**命令安装软件包,如下所示:
|
||||
|
||||
# yum install httpd
|
||||
|
||||
Loaded plugins: amazon-id, rhui-lb, security
|
||||
Setting up Install Process
|
||||
Resolving Dependencies
|
||||
–> Running transaction check
|
||||
—> Package httpd.x86_64 0:2.2.15-29.el6_4 will be installed
|
||||
–> Processing Dependency: httpd-tools = 2.2.15-29.el6_4 for package: httpd-2.2.15-29.el6_4.x86_64
|
||||
–> Processing Dependency: apr-util-ldap for package: httpd-2.2.15-29.el6_4.x86_64
|
||||
–> Processing Dependency: libaprutil-1.so.0()(64bit) for package: httpd-2.2.15-29.el6_4.x86_64
|
||||
–> Processing Dependency: libapr-1.so.0()(64bit) for package: httpd-2.2.15-29.el6_4.x86_64
|
||||
–> Running transaction check
|
||||
—> Package apr.x86_64 0:1.3.9-5.el6_2 will be installed
|
||||
—> Package apr-util.x86_64 0:1.3.9-3.el6_0.1 will be installed
|
||||
—> Package apr-util-ldap.x86_64 0:1.3.9-3.el6_0.1 will be installed
|
||||
—> Package httpd-tools.x86_64 0:2.2.15-29.el6_4 will be installed
|
||||
–> Finished Dependency Resolution
|
||||
-> Running transaction check
|
||||
--> Package httpd.x86_64 0:2.2.15-29.el6_4 will be installed
|
||||
-> Processing Dependency: httpd-tools = 2.2.15-29.el6_4 for package: httpd-2.2.15-29.el6_4.x86_64
|
||||
-> Processing Dependency: apr-util-ldap for package: httpd-2.2.15-29.el6_4.x86_64
|
||||
-> Processing Dependency: libaprutil-1.so.0()(64bit) for package: httpd-2.2.15-29.el6_4.x86_64
|
||||
-> Processing Dependency: libapr-1.so.0()(64bit) for package: httpd-2.2.15-29.el6_4.x86_64
|
||||
-> Running transaction check
|
||||
--> Package apr.x86_64 0:1.3.9-5.el6_2 will be installed
|
||||
--> Package apr-util.x86_64 0:1.3.9-3.el6_0.1 will be installed
|
||||
--> Package apr-util-ldap.x86_64 0:1.3.9-3.el6_0.1 will be installed
|
||||
--> Package httpd-tools.x86_64 0:2.2.15-29.el6_4 will be installed
|
||||
-> Finished Dependency Resolution
|
||||
|
||||
Dependencies Resolved
|
||||
|
||||
@ -168,36 +167,36 @@ A package can be installed using yum install command as below:
|
||||
Installed size: 3.6 M
|
||||
Is this ok [y/N]: y
|
||||
|
||||
As you can see yum added additional packages with httpd installation. This is called the dependency resolution done by yum.
|
||||
如你所见,在安装httpd时yum安装了额外的软件包。这称为yum完成的依赖包解析。
|
||||
|
||||
If you want yum not to prompt for the [y/N] option. Use **yum install -y httpd**
|
||||
假如你不想让yum弹出[y/N]选项,可以使用**yum install -y httpd**
|
||||
|
||||
**Update an existing package using yum update command.**
|
||||
####使用yum update 命令更新一个已存在的软件包
|
||||
|
||||
# yum update httpd
|
||||
Loaded plugins: amazon-id, rhui-lb, security
|
||||
Setting up Update Process
|
||||
No Packages marked for Update
|
||||
|
||||
That means the httpd package is the latest version in the yum’s repository.
|
||||
这意味着你系统中安装的httpd软件包已经是yum软件仓库里的最新版本的了。
|
||||
|
||||
**Update all packages on the server.**
|
||||
####更新服务器上所有的软件包
|
||||
|
||||
# yum update
|
||||
# yum update
|
||||
|
||||
the above command will update all the packages including kernel package to the latest version that means your OS will be updated to the latest provided by RHEL.
|
||||
以上命令将系统上的所有软件包更新到最新版本,包括内核软件包,这意味着你的OS更新到了RHEL提供的最新版本了。
|
||||
|
||||
### Download RPM without installing ###
|
||||
###下载RPM软件包但是不安装
|
||||
|
||||
Use yum to download RPM package from RHN or CentOS repository without installing it. You have to install a plugin for yum first to have yum download the rpm only. The utility name is yum-downloadonly and can be installed through yum as below:
|
||||
可以使用yum从RHEL或者CentOS的软件仓库里下载RPM软件包但是不安装。你首先需要下载一个插件让yum只下载rpm软件包而不安装。插件名字叫downloadonly,可以通过yum安装,如下所示:
|
||||
|
||||
# yum install yum-downloadonly
|
||||
Loaded plugins: amazon-id, rhui-lb, security
|
||||
Setting up Install Process
|
||||
Resolving Dependencies
|
||||
–> Running transaction check
|
||||
—> Package yum-plugin-downloadonly.noarch 0:1.1.30-14.el6 will be installed
|
||||
–> Finished Dependency Resolution
|
||||
-> Running transaction check
|
||||
--> Package yum-plugin-downloadonly.noarch 0:1.1.30-14.el6 will be installed
|
||||
-> Finished Dependency Resolution
|
||||
|
||||
Dependencies Resolved
|
||||
|
||||
@ -228,51 +227,51 @@ Use yum to download RPM package from RHN or CentOS repository without installing
|
||||
|
||||
Complete!
|
||||
|
||||
Now you can just download a package from repository without installing it by using this command:
|
||||
现在你就可以从软件仓库里只下载软件包而不安装了,命令如下:
|
||||
|
||||
# yum install httpd-devel –downloadonly
|
||||
# yum install httpd-devel -downloadonly
|
||||
|
||||
By default packages are downloaded to **/var/cache/yum/<arch\>** directory but you can download them a specified location by adding another option to yum command
|
||||
默认情况下软件包会被下载到**/var/cache/yum/<arch\>**目录,但是你可以添加额外选项将其下载到指定位置
|
||||
|
||||
# yum install httpd-devel –downloadonly –downloaddir=/opt
|
||||
# yum install httpd-devel -downloadonly -downloaddir=/opt
|
||||
|
||||
If you have a rpm of a package but you don’t have the dependencies and you do not know where to get that. you can still have yum to install that rpm and get the required dependencies from the repository. Let’s install the httpd-devel-2.2.15-29.el6_4.x86_64 RPM that we just downloaded.
|
||||
假如你有一个rpm软件包但是没有它所依赖的软件包,你不知道到哪去得到它所依赖的软件包。你仍然可以通过yum安装这个rpm软件包,并从软件仓库里得到它所依赖的软件包。让我们安装刚刚下载的httpd-devel-2.2.15-29.el6_4.x86_64 RPM软件包。
|
||||
|
||||
# yum localinstall /opt/httpd-devel-2.2.15-29.el6_4.x86_64.rpm
|
||||
|
||||
Loaded plugins: amazon-id, downloadonly, rhui-lb, security
|
||||
# yum localinstall /opt/httpd-devel-2.2.15-29.el6_4.x86_64.rpm
|
||||
|
||||
Loaded plugins: amazon-id, downloadonly, rhui-lb, security
|
||||
Setting up Local Package Process
|
||||
Examining /opt/httpd-devel-2.2.15-29.el6_4.x86_64.rpm: httpd-devel-2.2.15-29.el6_4.x86_64
|
||||
Marking /opt/httpd-devel-2.2.15-29.el6_4.x86_64.rpm to be installed
|
||||
Resolving Dependencies
|
||||
–> Running transaction check
|
||||
—> Package httpd-devel.x86_64 0:2.2.15-29.el6_4 will be installed
|
||||
–> Processing Dependency: apr-devel for package: httpd-devel-2.2.15-29.el6_4.x86_64
|
||||
–> Processing Dependency: apr-util-devel for package: httpd-devel-2.2.15-29.el6_4.x86_64
|
||||
–> Running transaction check
|
||||
—> Package apr-devel.x86_64 0:1.3.9-5.el6_2 will be installed
|
||||
—> Package apr-util-devel.x86_64 0:1.3.9-3.el6_0.1 will be installed
|
||||
–> Processing Dependency: openldap-devel for package: apr-util-devel-1.3.9-3.el6_0.1.x86_64
|
||||
–> Processing Dependency: expat-devel for package: apr-util-devel-1.3.9-3.el6_0.1.x86_64
|
||||
–> Processing Dependency: db4-devel for package: apr-util-devel-1.3.9-3.el6_0.1.x86_64
|
||||
–> Running transaction check
|
||||
—> Package db4-devel.x86_64 0:4.7.25-18.el6_4 will be installed
|
||||
–> Processing Dependency: db4-cxx = 4.7.25-18.el6_4 for package: db4-devel-4.7.25-18.el6_4.x86_64
|
||||
–> Processing Dependency: db4 = 4.7.25-18.el6_4 for package: db4-devel-4.7.25-18.el6_4.x86_64
|
||||
–> Processing Dependency: libdb_cxx-4.7.so()(64bit) for package: db4-devel-4.7.25-18.el6_4.x86_64
|
||||
—> Package expat-devel.x86_64 0:2.0.1-11.el6_2 will be installed
|
||||
—> Package openldap-devel.x86_64 0:2.4.23-32.el6_4.1 will be installed
|
||||
–> Processing Dependency: cyrus-sasl-devel >= 2.1 for package: openldap-devel-2.4.23-32.el6_4.1.x86_64
|
||||
–> Running transaction check
|
||||
—> Package cyrus-sasl-devel.x86_64 0:2.1.23-13.el6_3.1 will be installed
|
||||
—> Package db4.x86_64 0:4.7.25-17.el6 will be updated
|
||||
–> Processing Dependency: db4 = 4.7.25-17.el6 for package: db4-utils-4.7.25-17.el6.x86_64
|
||||
—> Package db4.x86_64 0:4.7.25-18.el6_4 will be an update
|
||||
—> Package db4-cxx.x86_64 0:4.7.25-18.el6_4 will be installed
|
||||
–> Running transaction check
|
||||
—> Package db4-utils.x86_64 0:4.7.25-17.el6 will be updated
|
||||
—> Package db4-utils.x86_64 0:4.7.25-18.el6_4 will be an update
|
||||
–> Finished Dependency Resolution
|
||||
-> Running transaction check
|
||||
--> Package httpd-devel.x86_64 0:2.2.15-29.el6_4 will be installed
|
||||
-> Processing Dependency: apr-devel for package: httpd-devel-2.2.15-29.el6_4.x86_64
|
||||
-> Processing Dependency: apr-util-devel for package: httpd-devel-2.2.15-29.el6_4.x86_64
|
||||
-> Running transaction check
|
||||
--> Package apr-devel.x86_64 0:1.3.9-5.el6_2 will be installed
|
||||
--> Package apr-util-devel.x86_64 0:1.3.9-3.el6_0.1 will be installed
|
||||
-> Processing Dependency: openldap-devel for package: apr-util-devel-1.3.9-3.el6_0.1.x86_64
|
||||
-> Processing Dependency: expat-devel for package: apr-util-devel-1.3.9-3.el6_0.1.x86_64
|
||||
-> Processing Dependency: db4-devel for package: apr-util-devel-1.3.9-3.el6_0.1.x86_64
|
||||
-> Running transaction check
|
||||
--> Package db4-devel.x86_64 0:4.7.25-18.el6_4 will be installed
|
||||
-> Processing Dependency: db4-cxx = 4.7.25-18.el6_4 for package: db4-devel-4.7.25-18.el6_4.x86_64
|
||||
-> Processing Dependency: db4 = 4.7.25-18.el6_4 for package: db4-devel-4.7.25-18.el6_4.x86_64
|
||||
-> Processing Dependency: libdb_cxx-4.7.so()(64bit) for package: db4-devel-4.7.25-18.el6_4.x86_64
|
||||
--> Package expat-devel.x86_64 0:2.0.1-11.el6_2 will be installed
|
||||
--> Package openldap-devel.x86_64 0:2.4.23-32.el6_4.1 will be installed
|
||||
-> Processing Dependency: cyrus-sasl-devel >= 2.1 for package: openldap-devel-2.4.23-32.el6_4.1.x86_64
|
||||
-> Running transaction check
|
||||
--> Package cyrus-sasl-devel.x86_64 0:2.1.23-13.el6_3.1 will be installed
|
||||
--> Package db4.x86_64 0:4.7.25-17.el6 will be updated
|
||||
-> Processing Dependency: db4 = 4.7.25-17.el6 for package: db4-utils-4.7.25-17.el6.x86_64
|
||||
--> Package db4.x86_64 0:4.7.25-18.el6_4 will be an update
|
||||
--> Package db4-cxx.x86_64 0:4.7.25-18.el6_4 will be installed
|
||||
-> Running transaction check
|
||||
--> Package db4-utils.x86_64 0:4.7.25-17.el6 will be updated
|
||||
--> Package db4-utils.x86_64 0:4.7.25-18.el6_4 will be an update
|
||||
-> Finished Dependency Resolution
|
||||
|
||||
Dependencies Resolved
|
||||
|
||||
@ -344,23 +343,23 @@ If you have a rpm of a package but you don’t have the dependencies and you do
|
||||
|
||||
Complete!
|
||||
|
||||
### Removing packages using yum. ###
|
||||
###使用yum卸载软件包
|
||||
|
||||
yum remove Remove a package.
|
||||
使用 **yum remove** 卸载软件包。举例如下:
|
||||
|
||||
# yum remove httpd
|
||||
# yum remove httpd
|
||||
Failed to set locale, defaulting to C
|
||||
Loaded plugins: amazon-id, downloadonly, rhui-lb, security
|
||||
Setting up Remove Process
|
||||
Resolving Dependencies
|
||||
–> Running transaction check
|
||||
—> Package httpd.x86_64 0:2.2.15-29.el6_4 will be erased
|
||||
–> Processing Dependency: httpd-mmn = 20051115 for package: php-5.3.3-23.el6_4.x86_64
|
||||
–> Processing Dependency: httpd = 2.2.15-29.el6_4 for package: httpd-devel-2.2.15-29.el6_4.x86_64
|
||||
–> Running transaction check
|
||||
—> Package httpd-devel.x86_64 0:2.2.15-29.el6_4 will be erased
|
||||
—> Package php.x86_64 0:5.3.3-23.el6_4 will be erased
|
||||
–> Finished Dependency Resolution
|
||||
-> Running transaction check
|
||||
--> Package httpd.x86_64 0:2.2.15-29.el6_4 will be erased
|
||||
-> Processing Dependency: httpd-mmn = 20051115 for package: php-5.3.3-23.el6_4.x86_64
|
||||
-> Processing Dependency: httpd = 2.2.15-29.el6_4 for package: httpd-devel-2.2.15-29.el6_4.x86_64
|
||||
-> Running transaction check
|
||||
--> Package httpd-devel.x86_64 0:2.2.15-29.el6_4 will be erased
|
||||
--> Package php.x86_64 0:5.3.3-23.el6_4 will be erased
|
||||
-> Finished Dependency Resolution
|
||||
|
||||
Dependencies Resolved
|
||||
|
||||
@ -399,9 +398,9 @@ yum remove Remove a package.
|
||||
|
||||
Complete!
|
||||
|
||||
### List all installed packages ###
|
||||
###列出所有安装的软件包
|
||||
|
||||
If you want to list all the installed packages then you can use yum list installed command. This is useful in combination with grep or to check whether a specific package has been installed. This is similar to query installed packages with rpm -qa command.
|
||||
假如你要列出你系统上安装的所有软件包,你可以使用**yum list installed**命令。这条命令结合grep命令是非常有用的,可以用来检查某个特定的软件包是否已被安装。这与使用rpm -qa命令询问已经安装的软件包相似。
|
||||
|
||||
# yum list installed
|
||||
Loaded plugins: amazon-id, downloadonly, rhui-lb, security
|
||||
@ -427,10 +426,10 @@ If you want to list all the installed packages then you can use yum list install
|
||||
.
|
||||
Output Truncated.
|
||||
|
||||
### List the available repository from which packages are being queried, installed and updated. ###
|
||||
###列出可用的软件库,通过它们可以查询、安装和更新软件包
|
||||
|
||||
# yum repolist
|
||||
|
||||
# yum repolist
|
||||
|
||||
Loaded plugins: amazon-id, downloadonly, rhui-lb, security
|
||||
repo id repo name status
|
||||
rhui-REGION-client-config-server-6 Red Hat Update Infrastructure 2.0 Client Configuration Server 6 4
|
||||
@ -442,6 +441,6 @@ If you want to list all the installed packages then you can use yum list install
|
||||
|
||||
via: http://linoxide.com/linux-command/package-management-yum-redhat-linux/
|
||||
|
||||
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
译者:[Linux-pdz](https://github.com/Linux-pdz) 校对:[jasminepeng](https://github.com/jasminepeng)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
@ -22,7 +22,7 @@ Fedora 20 的目标是完全支持 ARM 设备(特别是 ARM7hl),这个目
|
||||
|
||||
via: http://thevarguy.com/open-source-application-software-companies/red-hat-fedora-20-linux-new-networking-arm-features
|
||||
|
||||
译者:[bazz2](https://github.com/bazz2) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
译者:[bazz2](https://github.com/bazz2) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
@ -0,0 +1,67 @@
|
||||
可以快速保存、访问和粘贴文本片段的Unity漂亮工具
|
||||
================================================================================
|
||||
|
||||
**反复键入特定的信息 - 如电子邮件地址或家庭地址,详细的终端命令,及时发送用户喜爱的电视节目的资讯 - 可是件苦差事。**
|
||||
|
||||
![](http://www.omgubuntu.co.uk/wp-content/uploads/2013/10/Screen-Shot-2013-10-31-at-13.04.jpg)
|
||||
*Snippets – 方便的访问存储的文本的方法*
|
||||
|
||||
谢天谢地,这个世界上有一些工具可以帮助我们(做这些事儿)。
|
||||
|
||||
*‘Snippets’* 就是Unity中这种组件之一。 这是一个简单的启动程序小工具,它让你在一个文件中保存和存储摘下来的内容,然后当你需要的时候从Unity的一个快速列表里复制到剪贴板。
|
||||
|
||||
在某些人把他的内裤扔到我的脸上之前,我得说Snippets不是唯一的这种工具,它甚至不是第一个提供这一系列功能的。但是它独特的是通过Unity启动器来提供这一系列功能。
|
||||
|
||||
这个软件具功能不错又足够简单,提供以下功能:
|
||||
|
||||
- 添加、访问存储在txt文件中的文本段
|
||||
- 在快速列表里查看保存的文本段
|
||||
- 点击文本段就可以复制到剪贴板
|
||||
- 提供了把剪贴板中的内容保存到txt文件的选项
|
||||
|
||||
尽管它不是一个“智能”的剪贴板管理工具 – 它只是列出了你特别添加的项目;它不会列出你最近的剪贴板项目历史,但仍然是一个非常方便的小工具。
|
||||
|
||||
###怎样为Unity安装Snippets###
|
||||
|
||||
想要使用这个漂亮的启动器项目,你需要先安装一个命令行剪贴板工具XClip。点击下面的按钮(链接)从软件中心安装。
|
||||
|
||||
- [点击以在Ubuntu里安装XClip][1]
|
||||
|
||||
下一步,下载下面的‘Snippets’压缩文件。这包含了剩余所有的使用这个应用所需要的东西。
|
||||
|
||||
- [下载‘Snippets’Unity启动器][2]
|
||||
|
||||
当这个压缩文件下完之后你就可以解压了。进入生成的文件夹,然后按Ctrl+H显示隐藏的文件。移动文件夹‘.snippets-launcher‘到你的主文件夹中。**如果不这么做,这个组件将无法正常工作。**
|
||||
|
||||
下一步是安装启动器项目。这是被一个你刚搬到文件夹里面的脚本关照的,但它不具有可执行的权限(需要安装),因此,我们首先需要关照它一下。
|
||||
|
||||
打开一个新的终端窗口在里面小心的键入下面的命令:
|
||||
|
||||
cd .snippets-launcher/ && chmod +x snippets.sh
|
||||
./snippets.sh
|
||||
|
||||
就是这样;Snippets应该已经整装待发了。打开Unity Dash搜索Snippets然后把它拖到启动器上去:
|
||||
|
||||
- 左键点击启动器打开可以添加你的文本段的文本文件
|
||||
- 右键点击启动器上的项目打开快速列表
|
||||
|
||||
快速列表里的选项:
|
||||
|
||||
- 左键点击文本段以添加到剪贴板
|
||||
- 左键点击“日期”可以复制当前日期
|
||||
- 点击“添加剪贴板内容”可以把当前剪贴板中的内容加入到.txt文件中(译注:实际上保存的文本是存储在一个文本文件中)
|
||||
- 在添加一个项目到.txt文件后点击“更新启动器”
|
||||
|
||||
更多关于这个懒人的工具信息尽在[Ubuntu论坛][3],在那里它的开发者,“Stinkeye”,会很高兴地提供帮助。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.omgubuntu.co.uk/2013/10/unity-launcher-clipboard-snippets-item
|
||||
|
||||
译者:[crowner](https://github.com/译者ID) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:apt://xclip
|
||||
[2]:https://www.dropbox.com/s/ha6lngizmz78srv/snippets%20by%20stinkeye.tar.gz
|
||||
[3]:http://ubuntuforums.org/showthread.php?t=2184916
|
@ -0,0 +1,57 @@
|
||||
闭源优于开源的七个缘由?是这样吗?
|
||||
================================================================================
|
||||
![](http://opensource.com/sites/default/files/imagecache/image-full-size/images/business/BUSINESS_asusual_deadend.png)
|
||||
|
||||
这看起来似乎挺奇怪的,因为这样的观点来竟然自于OpenLogic的创办人,而该公司专注于在开源领域提供帮助。 但是事实上,闭源在某些情况下优于开源。
|
||||
|
||||
针对闭源……
|
||||
|
||||
###1. 出了问题,不用自己搞定
|
||||
|
||||
只要是软件,难保不出问题。要是开源软件出了这事儿,要么你自己,要么某个欠你人情债的工程师,总得有个人要花费时间排除bug。通览代码,求助于开源社区或者开源软件的供应商,通过这些手段来解决问题。
|
||||
|
||||
但是闭源呢,一旦你确定开发商代码出了问题,ok,你的工作到此为止! 你只需发个文件,等着就行了。当然,可能会等上几个月或者几年,问题才能得到解决,更甚者永远得不到答复。但是除此之外,你还能做什么呢。 把问题踢回去,放松,期待最好的解决方案,仅此而已。
|
||||
|
||||
###2. 不必担心贡献回流到社区
|
||||
|
||||
如果用的是开源软件, 很有可能, 你解决了一个bug或者做出了改善,之后你的代码就会进入到社区,随着时间的推移从而帮助测试或者维护。
|
||||
|
||||
闭源就不同了,你根本用不着给任何人做任何事情。当然,那是因为你接触不到代码,所以也修改不了,但是你可以针对遇到的问题创建自己的解决方案。你可以一直只针对同一个问题,改善再改善,一个版本接着一个版本,至少用不着跟社区打交道,为其他人提供更好的解决方法。
|
||||
|
||||
###3. 你不必考虑开源许可条款及规定事宜
|
||||
|
||||
对于开源,你必须遵循所使用的组件的许可条款。例如,想要搞明白Apache软件许可证和GPL之间的区别与联系,是需要花费一定的时间的。使用哪一种许可证取决于你所用的开源组件以及你如何使用这些组件(发布给第三方或者内部使用),据此都有不同的许可证可供应用(可附加到文档中进行说明)。
|
||||
|
||||
像OpenLogic这样的公司可以很容易地理解并遵守开源许可,但是针对闭源,你大可不必担心这类事情!你的供应商的许可协议把有关软件的所有的权利都收走了,如果没有你的公司的律师明确同意的情况下,你几乎是不可能的想以别的方式使用这些软件,想都不要想。当然,你还得考虑许可证数量、突如其来的软件合规性审计、随着时间的推移而恶化的条款、几乎难以理解的法律术语,但至少你不必了解如何使用开源组件。
|
||||
|
||||
###4. 你用不着为每个组件在众多选项中进行选择
|
||||
|
||||
针对数据库,Web服务器,应用服务器,编程语言,图形用户界面框架,类似的方面等等,开源都提供了大量的解决方案。在每一个特定的领域,你都可以找到运用不同的架构方法,使用各种语言构建的健壮的成品。找一款功能相似的工具很容易,这些工具都针对不同的使用场合进行了优化(性能、可扩展性、简洁之间的比较)。为了确信一个工具软件在既定场合下功能够满足需求,可以下载下来,试用一下。
|
||||
|
||||
使用闭源软件的话,你就用不着对付那么多的选择。你只需要在每个领域探索两三个大厂商提供的产品。如果供应商没有提供免费试用版本,或者很难说服你为试用品买单,甚至根本不和你签署试用协议,那你就节省时间了。
|
||||
|
||||
###5. 你不必四处找幻灯片
|
||||
|
||||
如果打算找一些软件的会议简报,架构图表,截图,以及其他相关的文档,这需要花费一定的时间。使用开源软件,你得读百科,访问论坛,还有邮件列表,才能获取到你需要的相关组件的信息。
|
||||
|
||||
使用闭源软件,一通电话就足够了,只需坐在自己舒适的办公室,会有西装革履的专业人士把PowerPoint演示文稿寄送到你的面前。当然,在你提供自己的联系方式之前,销售人员是不会给你打电话的。这样看来,至少自己没必要在网上搜索带有漂亮的图形的PPT。
|
||||
|
||||
###6. 你无需到处寻求技术支持
|
||||
|
||||
你可以得到来自开源社区,自己的工程师,或专业开源组织的帮助。这可能需要一些时间,以决定是否要服务等级协议(SLA)的支持,以便于在保证的时间内得到答复,就像从OpenLogic那里获得帮助一样,或者如果你可以自由的发问题到邮件列表,自己解决。
|
||||
|
||||
闭源就不同了,你根本不需要担忧从哪获得帮助。而且,你可能根本用不着和工程师当面交谈,只需要知道给谁打电话就OK了。
|
||||
|
||||
###7. 认输就行了
|
||||
|
||||
开源软件,总会有办法解决问题,打补丁,改善,强化,重构,升级,或者重写。没可能跟闭源那样,甩手走开。当然,你可以谩骂开发出这个导致问题的软件的社区,但是你仍然可以解决问题,从社区或者组织那里获得帮助,或者自己动手解决。 而对于商业供应商,那就远不能满足于骂一顿和花费一天的时间来找他们。
|
||||
|
||||
嗯,你都了解了。为甚么闭源优于开源的几条缘由。你还有要补充的吗?
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://opensource.com/business/13/10/seven-reasons-closed-better-than-open-source
|
||||
|
||||
译者:[l3b2w1](https://github.com/l3b2w1) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
@ -2,7 +2,7 @@
|
||||
================================================================================
|
||||
> 自从微软的反Linux、反开源战略备忘录泄露以来,已经整整过去了15个年头。让我们来回顾一下,这一战略是如何失败的。
|
||||
|
||||
![](http://thevarguy.com/site-files/thevarguy.com/files/imagecache/medium_img/uploads/2013/10/trickortreat2.jpg)
|
||||
![](http://thevarguy.com/site-files/thevarguy.com/files/imagecache/medium_img/uploads/2013/10/trickortreat2.jpg)
|
||||
|
||||
15年前,当时临近万圣节,Eric S. Raymond发布了第一份“[万圣节档案(Halloween Documents)][1]”,文档揭露了微软专门针对Linux与开源的秘密战略。那时,“恐惧、未知与怀疑(fear, uncertainty and doubt - FUD)”这样的词汇第一次被收入辞典,到了今天,很多情况已经改变,而未曾改变的又有哪些?微软和开源世界今天能够和睦相处了吗?
|
||||
|
||||
@ -19,11 +19,12 @@
|
||||
今天,值得我们再次重温万圣节档案,提醒自己不要逃避开源世界的竞争。长远来看,开源软件开发模式能够大大地增进繁荣共享软件市场,而引入开源技术及其开发模式的公司,例如红帽,其发展远比那些因为“恐惧、未知与怀疑(FUD)”而固步自封的公司要好得多。如今的红帽已经拥有更加平稳的盈利潜力,在上文提到的多个开源领域都有持续的业务增长,例如云计算和大数据,相比之下,微软、甚至苹果,如果想要在这些领域有所扩展,则要在新的硬件种类方面面对高昂费用和更加危险的投资。
|
||||
|
||||
总结:不管是糖果还是软件,分享,都是前进的方向。万圣节快乐!
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://thevarguy.com/open-source-application-software-companies/halloween-documents-microsofts-anti-linux-strategy-15-yea
|
||||
|
||||
译者:[Mr小眼儿](http://blog.csdn.net/tinyeyeser) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
译者:[Mr小眼儿](http://blog.csdn.net/tinyeyeser) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
160
published/The Linux Kernel/08 The Linux Kernel--Configuring the Kernel Part 4.md
Executable file
160
published/The Linux Kernel/08 The Linux Kernel--Configuring the Kernel Part 4.md
Executable file
@ -0,0 +1,160 @@
|
||||
戴文的Linux内核专题:08 配置内核(4)
|
||||
================================================================================
|
||||
|
||||
在这个第四部分里,我们将继续配置更多的设置和特性。
|
||||
|
||||
这里我们被问及关于"IBM Calgary IOMMU support (CALGARY\_IOMMU)"。这个选项将会提供对IBM xSeries x366和x460的IOMMU的支持。这也将让那些32位PCI的设备工作正常——在这些系统上不支持双地址周期(DAC : Double Address Cycle)——因为该系统设置在访问超过3GB内存的时候会有问题。如果需要这些IOMMU设备可以用"iommu=off"在启动时关闭。(这些内核/模块参数会在以后的文章中讨论)
|
||||
|
||||
IOMMU(input/output memory management unit)是一个内存管理单元(MMU),它连接具有DMA功能的I/O总线到主内存上。DMA(Direct Memory Access)是许多计算机支持的一种允许特定设备不借助CPU直接访问内存的特性。双地址周期(Double Address Cycle, DAC)是64位DMA;而通常的DMA使用32位。
|
||||
|
||||
下面,我们被问及是否默认启用Calgary(Should Calgary be enabled by default? (CALGARY\_IOMMU\_ENABLED\_BY\_DEFAULT))。Calgary与上面提到的IOMMU是同一个概念。这两者之间的不同是IOMMU可以支持许多设备而Calgary只能支持IBM IOMMU设备。如果禁用了它,但是以后需要使用到它,可以使用内核参数(iommu=calgary)。
|
||||
|
||||
这里有个问题需要小心处理(Enable Maximum number of SMP Processors and NUMA Nodes (MAXSMP))。只有在内核运行在拥有很多SMP处理器和NUMA节点的情况下才启用它,如Core i7和许多AMD CPU芯片。如果系统缺乏或者只有少量的SMP处理器和NUMA节点,内核就会变得低效。这个最好选择"No"。
|
||||
|
||||
非一致性内存访问(Non-Uniform Memory Access (NUMA))是一个每块内存都需要花费更长时间访问其他部分内存的系统。一个节点就是一组内存。例如,一个NUMA系统可能有三块内存芯片。每块芯片是一个节点,在带CPU的主板上有一个节点/芯片(这是最快的节点),另外两个在不同的总线上。这两个节点需要比第一个节点花费更长的时间去访问。
|
||||
|
||||
注意:ccNUMA和NUMA目前是一样的,至少是非常相似的。
|
||||
|
||||
对称多处理器(Symmetric Multi-Processing (SMP))是NUMA的替代品。它的内存在同一根总线上。只有限定数量的CPU可以访问总线,所以这限制了SMP系统上处理器的数量。然而它内存的访问速度一样块。
|
||||
|
||||
注意:我是在为AMD64系统在编译内核,所以我会告诉你我的选择,来帮助读者理解过程和选择。如果我没有指出我的选择,那么我用的就是默认选择。如果你在为不同的系统编译或者你有不同的需求,你需要在你的情况下做出替代的选择。
|
||||
|
||||
接下来,除非配置工具已经为你做了选择,选择一个内核需要支持的最多CPU的数量。这个配置根据你给的数量优化内核。
|
||||
|
||||
接着启用或禁用"SMT (Hyperthreading) scheduler support (SCHED\_SMT)"(超线程调度器支持)。SMT调度器提升了在使用了超线程技术的Pentium 4处理器上的CPU决策能力。然而,这会带来额外的功耗,在一些系统上最好像我一样选择"no"。
|
||||
|
||||
超线程一种专有的SMT并行微处理器(Intel 实现了它)。这是多任务/多线程(同时做许多任务)的一种特殊形式,并行多线程(Simultaneous multithreading (SMT))提升了多线程执行的效率。
|
||||
|
||||
在这之后,启用或者禁用"Multi-core scheduler support (SCHED\_MC)"。这样也是一种提升多核CPU决策的特性。然而这回带来额外功耗,我选择了"No"。
|
||||
|
||||
在下一个选项中可以选择抢占模式。
|
||||
|
||||
Preemption Model(抢占模式)
|
||||
|
||||
1\. No Forced Preemption (Server) (PREEMPT\_NONE) (非强制抢占)
|
||||
|
||||
\> 2. Voluntary Kernel Preemption (Desktop) (PREEMPT\_VOLUNTARY) (自愿内核抢占)
|
||||
|
||||
3\. Preemptible Kernel (Low-Latency Desktop) (PREEMPT) (可抢占内核)
|
||||
|
||||
choice[1-3]: 2
|
||||
|
||||
抢占就是暂停一个意图让它之后继续执行的中断任务的过程。抢占强制一个进程暂停,执行中的任务无法忽视抢占。
|
||||
|
||||
接着,我们被询问关于"Reroute for broken boot IRQs (X86\_REROUTE\_FOR\_BROKEN\_BOOT\_IRQS)"。这是一个对于假中断的简单修复。假中断是一种无用的硬件中断,这些通常是有电子干扰或者错误连接的电子产品触发。记住,中断是发送给处理器需要马上注意的信号。
|
||||
|
||||
这个选项对任何机器都很重要;我怀疑任何人可能都会有禁用这个特性的理由(Machine Check / overheating reporting (X86\_MCE))。内核必须意识到过热和数据损坏,不然,系统将会继续操作,这样只会导致进一步的破坏。
|
||||
|
||||
下面,用户可以启用禁用"Intel MCE features (X86\_MCE\_INTEL)",这是一种额外的对像热度监控的Intel MCE特性的支持。因为我是为AMD64处理器编译内核所以我选择了"no"。机器检测异常(MCE)是一种当处理器发现硬件问题时的错误输出。MCE通常会导致内核严重错误(kernel panic)(相当于Windows中的"蓝屏")。
|
||||
|
||||
这个除了是AMD设备外是同一个问题Intel MCE features (X86\_MCE\_INTEL)。
|
||||
|
||||
下一个是我会禁用的调试特性(Machine check injector support (X86\_MCE\_INJECT))。这个会允许注射检查。如果你偶尔执行机器注射,那最好编译成模块而不是编译进内核。机器注射可以使设备即使实际没有错误也可以发送一个伪造的错误信息。这个用来确认内核和其他进程可以正常处理错误。比如,如果CPU过热,接着应该关机,但是开发者如何在不损坏CPU的情况下测试代码。注射错误是一种最好的方法,因为它只是一种告诉硬件发送错误信号的软件。
|
||||
|
||||
注:模块是对可能被使用或者很少执行的特性/驱动而言的。只加入在许多使用该内核的系统中用到的特性/驱动到内核中。
|
||||
|
||||
如果内核很可能用在Dell笔记本上,那么启用这个特性(Dell laptop support (I8K))。否则,如果一些用户可能在戴尔笔记本电脑上用到这个内核,将其作为一个模块加入。如果这个内核不打算支持Dell笔记本,那就像我一样忽略掉它。特别地,这个支持是一个允许Dell Inspiron 8000系列笔记本访问处理器的系统管理模式的驱动。系统管理模式的目的是得到处理器的温度和风扇状态,这对一些需要控制风扇的系统有用。
|
||||
|
||||
下面,用户可以选择微码加载支持(CPU microcode loading support (MICROCODE))。这可以允许用户在支持这个特性的AMD或者Intel芯片上更新微码。
|
||||
|
||||
注意:为了加载微码,你必须拥有一个为你的处理器设计的合法的二进制微代码拷贝。
|
||||
|
||||
如果要加载微码补丁(修复bug或加入次要的特性)到intel芯片上(Intel microcode loading support (MICROCODE\_INTEL)),这个就必须启用。这里我禁用了它。
|
||||
|
||||
然后是AMD芯片的类似选项(AMD microcode loading support (MICROCODE\_AMD))。
|
||||
|
||||
启用这个支持(/dev/cpu/*/msr - Model-specific register support (X86\_MSR))可以允许某个处理器有权限使用x86特殊模块寄存器(Model-Specific Registers (MSRs))。这些寄存器是一些字符设备,包括major 202下minor 0到31的设备((/dev/cpu/0/msr to /dev/cpu/31/msr))。这个特性用在多处理器系统上。每个虚拟字符设备都连接到一个特定的CPU。
|
||||
|
||||
注意:MSRs被用来改变CPU设备、调试、性能监控和执行追踪。MSRs使用x86指令集。
|
||||
|
||||
在这之后,我们有一个选项"CPU information support (X86\_CPUID)",启用这个特性允许处理器访问x86 CPUID指令,这需要通过字符设备在一个特定的CPU上执行。这些字符设备包括major 202下minor 0到31的设备(/dev/cpu/0/msr to /dev/cpu/31/msr),就像上面x86\_MSR支持的这些。
|
||||
|
||||
如果处理器支持,启用内核线性映射来使用1GB的内存页(Enable 1GB pages for kernel pagetables (DIRECT\_GBPAGES))。启用这个可以帮助减轻TLB的压力。
|
||||
|
||||
页是内存本身的基本单位(位是数据的基本单位)。页的大小是由硬件自身决定的。页码表是虚拟和物理内存间的映射。物理内存是设备上的内存。虚拟内存是到内存的地址。依赖于系统架构,硬件可以访问大于实际内存地址的地址。举例来说,一个64位系统拥有6GB内存,管理员在需要时可以加上更多的内存。这是因为还有很多虚拟内存地址。然而,在很多32位系统上,系统管理员可以增加一条8GB的内存,但是系统无法完全使用它,因为系统中没有足够的虚拟内存地址去访问大容量的内存。转换后援缓冲器(Translation Lookaside Buffer (TLB))是一种提升虚拟内存转换速度的缓存系统。
|
||||
|
||||
下面,我们看到了NUMA选项(Numa Memory Allocation and Scheduler Support (NUMA))。这可以允许内核在CPU本地内存分配器上分配CPU可使用的内存。这个支持同样可使内核更好感知到NUMA。很少的32位系统需要这个特性,但是一些通用的645位处理器使用这个特性。我选择了"no"。
|
||||
|
||||
为了系统使用旧方式来检测AMD NUMA节点拓扑,启用这个特性(Old style AMD Opteron NUMA detection (AMD\_NUMA))。下一个选项是一种更新的检测方式(ACPI NUMA detection (X86\_64\_ACPI\_NUMA))。如果两个都启用,新的方式将会占支配作用。一些硬件在使用其中一种方式而不是另外一个时工作得更好。
|
||||
|
||||
如果为了调试目的的NUMA仿真,可以启用下一个特性(NUMA emulation (NUMA\_EMU))。
|
||||
|
||||
注意:如果你不打算进行调试并且你需要一个快速、轻量级系统,那么禁用尽可能多的调试特性。
|
||||
|
||||
下一个选项中,选择你的内核打算如何处理NUMA节点的最大数量。接下来选择内存模型,这里可能只有一个内存模型选择。内存模型指定了内存如何存储。
|
||||
|
||||
Maximum NUMA Nodes (as a power of 2) (NODES\_SHIFT) [6]
|
||||
|
||||
Memory model
|
||||
|
||||
\> 1. Sparse Memory (SPARSEMEM\_MANUAL)
|
||||
|
||||
choice[1]: 1
|
||||
|
||||
为了提升性能,这里有一个选项用通过虚拟内存映射(Sparse Memory virtual memmap (SPARSEMEM\_VMEMMAP))来优化pfn\_to\_page和page\_to\_pfn操作。页帧号是每页被给定的号码。这两个操作用来从号码得到页或者从页得到号码。
|
||||
|
||||
下一个选项是允许一个节点可以移除内存(Enable to assign a node which has only movable memory (MOVABLE\_NODE))。内核页通常无法移除。当启用后,用户可以热插拔内存节点,同样可移除内存允许内存整理。作为出入内存的数据,只要有可用空间一组数据可能被划分到不同内存。
|
||||
|
||||
接着前面的内存问题,我们还有更多的问题。这些可能已被配置工具预配置了。第三个选项(BALLOON\_COMPACTION),当启用时可以帮助减少内存碎片。碎片内存会减慢系统速度。第四个选项(COMPACTION)允许内存压缩。下面列到的第五个选项(MIGRATION)允许页面被移动。
|
||||
|
||||
- Allow for memory hot-add (MEMORY\_HOTPLUG) (允许内存热添加)
|
||||
- Allow for memory hot remove (MEMORY\_HOTREMOVE) (允许内存热移除)
|
||||
- Allow for balloon memory compaction/migration (BALLOON\_COMPACTION) (允许泡状内存规整和合并)
|
||||
- Allow for memory compaction (允许内存规整)
|
||||
- Page migration (MIGRATION) (页合并)
|
||||
|
||||
注意:启用可移动内存会启用以上5个特性。
|
||||
|
||||
下一步,我们可以"Enable KSM for page merging (KSM)"。内核同页合并(Kernel Samepage Merging (KSM))会查看程序认为可以合并的内核。如果两页内存完全相同这可以节约内存。一块内存可以被删除或者被合并,并且只有一块可以使用。
|
||||
|
||||
配置工具可能会自动选择保存多少内存用于用户分配(Low address space to protect from user allocation (DEFAULT\_MMAP\_MIN\_ADDR) [65536])。
|
||||
|
||||
下一个选项很重要(Enable recovery from hardware memory errors (MEMORY\_FAILURE))。如果内存故障并且系统有MCA恢复或者ECC内存,系统就可以继续运行并且恢复。要使用这个特性,硬件自身和内核都必须支持。
|
||||
|
||||
机器检测架构(Machine Check Architecture (MCA))是一个一些CPU上可以发送硬件错误信息给操作系统的特性。错误更正码内存(Error-correcting code memory (ECC memory))是一种内存设备检测和纠正错误的形式。
|
||||
|
||||
下面,配置工具会自动启用"HWPoison pages injector (HWPOISON\_INJECT)"。这个特性允许内核标记一块坏页为"poisoned",接着内核会杀死创建坏页的程序。这有助于停止并纠正错误。
|
||||
|
||||
为了允许内核使用大页(Transparent Hugepage Support (TRANSPARENT\_HUGEPAGE)),启用这个特性。这可以加速系统但是需要更多内存。嵌入式系统不必使用这个特性。嵌入式系统通常只有非常小的内存。
|
||||
|
||||
如果启用了上面的,那么必须配置大页的sysfs支持。
|
||||
|
||||
Transparent Hugepage Support sysfs defaults
|
||||
|
||||
1\. always (TRANSPARENT\_HUGEPAGE\_ALWAYS)
|
||||
|
||||
\> 2. madvise (TRANSPARENT\_HUGEPAGE\_MADVISE)
|
||||
|
||||
choice[1-2?]: 2
|
||||
|
||||
下面的选项是增加process\_vm\_readv和process\_vm\_writev这两个系统调用(Cross Memory Support (CROSS\_MEMORY\_ATTACH))。这允许特权进程访问另外一个程序的地址空间。
|
||||
|
||||
如果有tmem,启用缓存清理(cleancache)通常是一个好主意 (Enable cleancache driver to cache clean pages if Transcendent Memory (tmem) is present (CLEANCACHE))。当一些内存页需要从内存中移除时,cleancache会将页面放在cleancache-enabled的文件系统上。当需要该页时,页会被重新放回内存中。超内存(tmem)没有一组已知大小的内存,内核对此内存使用间接寻址。
|
||||
|
||||
下一个选项允许在tmen激活后缓存交换页(Enable frontswap to cache swap pages if tmem is present (FRONTSWAP))。frontswap在交换分区放置数据。交换特性的支持需要这个。
|
||||
|
||||
最好启用下一个特性(Check for low memory corruption (X86\_CHECK\_BIOS\_CORRUPTION))。这会检测低位内存的内存损坏情况。这个特性在执行期被禁止。为了启用这个特性,在内核命令行内加入 "memory\_corruption\_check=1"(这会在以后的文章中讨论;这不同于任何命令行)。即使经常执行这个特性,也只使用非常小的开销(接近没有)。
|
||||
|
||||
接下来我门可以设置内存损坏检测的默认设置(“Set the default setting of memory\_corruption\_check (X86\_BOOTPARAM\_MEMORY\_CORRUPTION\_CHECK))。这可以选择是否开启或关闭memory\_corruption\_check。最好启用内存损坏检测不然如果一部分重要内存损坏后可能会导致数据丢失和系统崩溃。
|
||||
|
||||
这个选项关注的是BIOS(Amount of low memory, in kilobytes, to reserve for the BIOS (X86\_RESERVE\_LOW) [64])。配置工具通常知道给BIOS预留内存的最佳大小。
|
||||
|
||||
对于Intel P6处理器,开发者可以启用存储区域类型寄存器(MTRR (Memory Type Range Register) support (MTRR))。这用于连接着VGA卡的AGP和PCI卡。启用这个特性内核会创建/proc/mtrr。
|
||||
|
||||
如果X驱动需要加入回写入口,那么启用下面的选项(MTRR cleanup support (MTRR\_SANITIZER))。这会将MTRR的布局从连续转换到离散。存储区域类型寄存器(Memory type range registers (MTRRs))提供了一种软件访问CPU缓存的方法。
|
||||
|
||||
下面,配置工具已经设置了一些MTRR选项
|
||||
|
||||
- MTRR cleanup enable value (0-1) (MTRR\_SANITIZER\_ENABLE\_DEFAULT) [1]
|
||||
|
||||
- MTRR cleanup spare reg num (0-7) (MTRR\_SANITIZER\_SPARE\_REG\_NR\_DEFAULT) [1]
|
||||
|
||||
为了设置页级缓冲控制,那就启用PAT属性(x86 PAT support (X86\_PAT))。页属性表(Page Attribute Table (PATs))是现在版的MTRRs并比它更灵活。如果你经历过因启用它而引发的启动问题,那么禁用这个特性后重新编译内核。我选择了"no"。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.linux.org/threads/the-linux-kernel-configuring-the-kernel-part-4.4392/
|
||||
|
||||
译者:[geekpi](https://github.com/geekpi) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
@ -0,0 +1,114 @@
|
||||
戴文的Linux内核专题:08 配置内核(5)
|
||||
================================================================================
|
||||
|
||||
Linux内核拥有许多可以配置的特性,接下来我们还有许多要配置。
|
||||
|
||||
下一个可以配置的特性是x86的随机数生成器(x86 architectural random number generator (ARCH_RANDOM))。记住,我们现在配置的是针对AMD64系统的内核代码。这个随机数生成器使用Intel x86的RDRAND指令。这并不通用,所以为了一个更轻量的内核我禁用了它。
|
||||
|
||||
接着,我们可以启用或者禁用"Supervisor Mode Access Prevention (X86\_SMAP)"。这是Intel处理器使用的安全特性。SMAP在一些条件下只允许内核访问用户空间。这个有助于保护用户空间。如果启用,这里有一点性能和内核大小的开销,但是开销很小。由于我是用的是AMD系统,所以我禁用了这个特性。
|
||||
|
||||
开发者可以启用"EFI runtime service support (EFI)"。只有在有EFI固件的系统上启用它。拥有这个特性,内核可以使用的EFI服务。EFI是一个操作系统和硬件如何交流的规范,所以EFI固件是使用这个规范的硬件代码。因为我没有EFI固件,所以我禁用了它。
|
||||
|
||||
这是一个应该被启用的有用的安全方式(Enable seccomp to safely compute untrusted bytecode (SECCOMP))。这个安全特性在使用非可信的字节码的数值计算(执行大量计算的软件)中使用。字节码(可移植代码)是一种被解释器有效读取的代码。字节码不是源代码,但它也不是汇编或者二进制代码。非可信的代码是一种可能导致系统/数据损坏的代码。可能会破坏系统或者毁坏数据的非可信的代码通过seccomp被隔离在独立的地址空间中。这是通过文件描述符传输的方法。通常上,最好启用这个安全特性,即使会有一些性能开销,除非你在制作一个需要榨干性能的内核。
|
||||
|
||||
这里是另外一个安全特性(Enable -fstack-protector buffer overflow detection (CC\_STACKPROTECTOR))。缓冲溢出是数据被写在超出了它的内存界限而进入了邻近的内存中。这是一个安全威胁。一些恶意软件使用缓冲区溢出来破坏系统。启用这个会使用GCC选项 "-fstack-protector"。GCC是一个Linux编译器,在你配置完成后用它来编译内核。这个编译器参数会在返回地址前在栈上加入一个canary值(特殊的安全代码)。这个值会在返回前被验证。当内存溢出发生时,canary值会得到覆盖消息。这时,会导致内核崩溃。如许多人知道的那样,内核错误意味着系统将要崩溃,但是这比系统被入侵或者数据永久损害的好。发生内核错误,系统会重启,但是如果缓冲溢出则可能导致系统被入侵。一个简单的重启无法修复破坏(译注:但也不会更坏)。你必须用GCC 4.2或者更高版本支持这个参数的GCC来编译内核。
|
||||
|
||||
提示:要知道你使用的版本号,在命令行内键入"gcc --version"。
|
||||
|
||||
在这之后,我们可以配置定时器频率。配置工具建议使用250Hz,所以我们使用这个值。
|
||||
|
||||
Timer frequency
|
||||
|
||||
1\. 100 HZ (HZ\_100)
|
||||
|
||||
\>2\. 250 HZ (HZ\_250)
|
||||
|
||||
3\. 300 HZ (HZ\_300)
|
||||
|
||||
4\. 1000 HZ (HZ\_1000)
|
||||
|
||||
choice[1-4?]: 2
|
||||
|
||||
使用1000Hz通常来讲对许多系统而言太快了。定时器频率决定着定时器中断被使用的频率。这有助于在时间线上的系统操作。程序并不是随机地执行一条命令,相反它们会等到定时器中断结束。这保持着有组织和结构的处理。频率为100Hz的定时器中断之间的时间是10ms,250Hz是4ms,1000Hz是1ms。现在许多开发者会马上想到1000Hz是最好的。好吧,这取决于你对开销的要求。一个更大的定时器频率意味着更多的能源消耗和更多的能源被利用(在定时器上),产生更多的热量。更多的热量意味着硬件损耗的更快。
|
||||
|
||||
注意:如果某个特定的特性对你并不重要或者你不确定该选择什么,就使用配置工具选择的默认值。比如,就我现在正在配置的内核而言,使用哪个定时器对我并不重要。总的来说,如果你没有特别的原因去选择任何一个选项时,就使用默认值。
|
||||
|
||||
下面这个有趣的系统调用可能会对一些用户有用(kexec system call (KEXEC))。kexec调用会关闭当前内核去启动另外一个或者重启当前内核。硬件并不会关闭,并且这个调用可以无需固件的帮助工作。bootloader是不执行的(bootloader是启动操作系统的软件) 。这个重启发生在操作系统级别上而不是硬件上。使用这个系统调用会快于执行一个标准的关机或者重启,这会保持硬件在加电状态。这个系统调用并不能工作在所有系统上。为了更高性能,启用这个热启动功能。
|
||||
|
||||
为了使用kexec,对重启后要使用的内核使用如下命令替换"<kernel-image>"。同样,使用之前我们讲过的内核参数替换"<command-line-options>" (我会在以后的文章中更深入的讨论。)
|
||||
|
||||
kexec -l <kernel-image> --append="<command-line-options>”
|
||||
|
||||
特别地,我这里输入:
|
||||
|
||||
kexec -l /boot/vmlinuz-3.8.0-27-generic –append="root=/dev/sda1"
|
||||
|
||||
注意:硬件有时不需要重置,所以这不依赖于kexec。
|
||||
|
||||
下面,我们有一个适用于kexec的调试特性(kernel crash dumps (CRASH\_DUMP))。当kexec被调用时,一个崩溃信息(crash dump)会生成。除非你有必要调试kexec,否则这个并不必要。我禁用了这个特性。
|
||||
|
||||
再者,我们有另外一个kexec特性(kexec jump (KEXEC_JUMP))。kexec跳允许用户在原始内核和kexec启动的内核之间切换。
|
||||
|
||||
最好对内核启动地址使用默认值(Physical address where the kernel is loaded (PHYSICAL\_START) [0x1000000])。
|
||||
|
||||
下一个内核选项(Build a relocatable kernel (RELOCATABLE))允许内核放在内存的任何地方。内核文件会增大10%,但是超出部分会在执行时从内存移除。许多人也许想知道这为什么很重要。在2.6.20内核前,救援内核(rescue kernel)必须被配置和编译运行在不同的内存地址上。当这个特性发明后,开发者不必再编译两个内核。救援内核不会在第一个已加载的内核的地方加载,因为该块内存已被占用或者发生了错误。(如果你正在使用救援内核,那么明显第一个内核发生了错误)
|
||||
|
||||
下面这个特性应该在可以增加CPU数量的系统中启用,除非你有特别的理由不去这么做(Support for hot-pluggable CPUs (HOTPLUG\_CPU))。配置工具会自动启用这个特性。在这个特性下,你可以在一个拥有很多处理器的系统上激活/停用一个CPU,这并不是说在系统中插入新的CPU,所有的CPU必须已经安装在系统中。
|
||||
|
||||
下面的选项会让我们选择设置上面的特性是否默认启用(Set default setting of cpu0_hotpluggable (BOOTPARAM\_HOTPLUG\_CPU0))。为了性能最好禁用这个特性直到需要的时候。
|
||||
|
||||
接着的这个调试特性允许开发者调试CPU热插拔特性(Debug CPU0 hotplug (DEBUG\_HOTPLUG\_CPU0))。我禁用了它。
|
||||
|
||||
为了兼容旧版本的glibc(<2.3.3),可以启用这个特性(Compat VDSO support (COMPAT\_VDSO))。这适用于通过映射32位在VDSO(虚拟动态链接共享对象)的旧式地址。Glibc是GNC C库;这是GNU工程实现的C标准库。
|
||||
|
||||
如果系统内核被用于一个缺乏完整功能的bootloader上,那么启用这个特性(Built-in kernel command line (CMDLINE_BOOL))。这允许用户在内核自身上使用一条命令行(译注:及其参数),那么管理员可以修复内核问题。如果bootloader已经有了一条命令行(像grub),那么这个特性不必启用。
|
||||
|
||||
现在我们可以配置ACPI和电源了。首先,我们被要求选择系统是否可以挂起到内存(Suspend to RAM and standby (SUSPEND))。高级配置和电源接口(ACPI)是一种对于设备配置和电源管理的开放标准。挂起系统会将数据放在内存上,同时硬件进入一种低功耗的状态。系统不会完全关机。如果用户需要计算机进入一个低功耗的状态,但是希望保留当前已打开程序时是非常有用的。关闭一个系统会完全关闭系统电源并且清理内存。
|
||||
|
||||
下面,我们可以启用睡眠(Hibernation (aka 'suspend to disk') (HIBERNATION))。睡眠就像挂起模式,但是内存中所有数据被保存到硬盘上,并且设备完全关闭。这允许用户在电源恢复后继续使用他们已打开的程序。
|
||||
|
||||
这里,我们可以设置默认的恢复分区(Default resume partition (PM\_STD\_PARTITION))。很少有开发者和管理员需要这个特性。当系统从睡眠中恢复时,他会加载默认的恢复分区。
|
||||
|
||||
在这之后,我们可以启用"Opportunistic sleep (PM\_AUTOSLEEP)"。这会让内核在没有活跃的唤醒调用被调用时进入挂起或者睡眠状态。这意味着空闲的系统将会进入挂起模式以节省电源。我启用了这个特性。
|
||||
|
||||
接下来,是询问关于"User space wakeup sources interface (PM\_WAKELOCKS)"。启用这个特性将会允许唤醒源对象被激活、停用,并通过基于sysfs接口由用户空间创建。唤醒源对象会追踪唤醒事件源。
|
||||
|
||||
sysfs是位于/sys/的虚拟文件系统。这个虚拟文件系统包含了关于设备的信息。当进入/sys/时,它似乎是硬盘的一部分,但是这个并不是一个真正的挂载点。这些文件实际存在于内存中。这与/proc/是同一个概念。
|
||||
|
||||
注意:"/sysfs/"是一个文件夹,而"/sysfs"则可以是一个根目录下名为"sysfs"的文件。许多Linux用户会混淆这两种命名约定。
|
||||
|
||||
如果启用了上面的选项,那么你可以设置"Maximum number of user space wakeup sources (0 = no limit) (PM\_WAKELOCKS\_LIMIT)"。最好选择默认,那么你就可以启用垃圾收集器(Garbage collector for user space wakeup sources (PM\_WAKELOCKS\_GC))。垃圾收集是一种内存管理方式。
|
||||
|
||||
注意: 在需要更多内存的系统中,通常最好在大多数情况下尽可能启用垃圾收集。不然内存会消耗得更快且杂乱。
|
||||
|
||||
下一个电源选项关于IO设备(Run-time PM core functionality (PM\_RUNTIME))。这个选项允许IO硬件在运行时进入低功耗状态。硬件必须支持这个才行,不是所有硬件都支持。
|
||||
|
||||
与其他许多内核组件一样,如果启用了(Power Management Debug Support),电源管理代码同样有调试支持。我禁用了这个选项。
|
||||
|
||||
注意: 注意这些我引用/显示的配置工具上的选项或问题不再显示选项代码(括号间所有的大写字母)。这是因为我没有使用基于ncurses的配置工具(make menuconfig)而是使用默认工具去得到选项、设置和问题。记住,"make config"缺乏保存当前进度的能力。
|
||||
|
||||
在这之后,配置工具会启用"ACPI (Advanced Configuration and Power Interface) Support"。最好允许这个电源管理规范。通常配置工具会启用这个特性。
|
||||
|
||||
为了允许向后兼容,启用"Deprecated /proc/acpi files"。新的实现使用更新的在/sys下的实现。我禁用了这个选项。一个相似的问题询问关于"Deprecated power /proc/acpi directories"。通常上,如果你禁用了这些文件,你不再需要这些文件夹,所以我禁用了他们。一些旧的程序可能会使用这些文件和文件夹。如果你在给旧的的Linux系统上编译一个新的内核,最好启用这个选项。
|
||||
|
||||
下面,我们有另外一个文件接口可以启用或者禁用(EC read/write access through)。这会在/sys/kernek/debug/ec下创建一个嵌入式控制器接口。嵌入式控制器通常在笔记本中读取传感器,内核代码通过系统的BIOS表提供的ACPI代码访问嵌入式控制器。
|
||||
|
||||
这里有另外一个可以启用或者禁用的向后兼容特性 (Deprecated /proc/acpi/event support)。acpi守护进程可能会读取/proc/api/event来管理ACPI生成的驱动。不同于这个接口,守护进程使用netlink事件或者输入层来得到送给用户空间的事件,acpi守护进程管理ACPI事件。
|
||||
|
||||
下一个选项允许开发者启用一个特性,它会通知内核现在使用的是交流电源(AC Adapter)还是电池。下一个选项从/proc/acpi/battery/ (Battery)中提供电池信息。
|
||||
|
||||
为了内核在电源/睡眠按钮按下或者盖子合上时不同表现,启用这个“按钮”选项(Button)。这些事件在/proc/acpi/event/中控制。比如这样的行为,如果在用户账户的电源选项启用了挂起,当笔记本电脑的盖子关闭后系统将会挂起。
|
||||
|
||||
下一个ACPI扩展是针对显卡的(Video)。
|
||||
|
||||
ACPI风扇控制可以被启用/禁用(Fan)。最好启用ACPI风扇管理,这有助于节能。
|
||||
|
||||
我们正在进一步配置内核中,但在接下来的文章中还有更多要做。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.linux.org/threads/the-linux-kernel-configuring-the-kernel-part-5.4424/
|
||||
|
||||
译者:[geekpi](https://github.com/geekpi) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
@ -1,11 +1,11 @@
|
||||
Linux的未来:进化无处不在
|
||||
================================================================================
|
||||
|
||||
*InfoWorld* —— Mark Shuttleworth最近关闭了[Ubuntu Linux排名第一的bug][1](“微软拥有最高的市场占有率”),导致了一些争议,也引出了一些意味深长的讨论,讨论自从1991年Linus Torvalds以个人宠物项目发明Linux以来,Linux所走过的路。
|
||||
*InfoWorld* —— Mark Shuttleworth之前关闭了[Ubuntu Linux的第一号bug][1](“微软拥有最高的市场占有率”),导致了一些争议,也引出了一些意味深长的讨论,讨论自从1991年Linus Torvalds以个人玩物项目发明Linux以来,Linux所走过的路。
|
||||
|
||||
微软也许不会那么快退出桌面系统的历史舞台,但是随着Linux逐渐成长成为IT行业的一块重要基石,计算机的本质也已经完全改变。如今,从云服务到手机操作系统,几乎行业内的所有领域都受到了Linux的直接推动或间接影响。
|
||||
|
||||
**Linux体系:提交、审核、采纳**
|
||||
###Linux体系:提交、审核、采纳
|
||||
|
||||
伴随着支持者的不断增加,Linux的开发进程也在不断加快。
|
||||
|
||||
@ -13,7 +13,7 @@ Linux的未来:进化无处不在
|
||||
|
||||
或许,更重要的,是快速成长中的Linux如何应对挑战,变得更加成熟稳定,成为在多个领域主导市场发展的领头羊。接下来,让我们分别从以下几个方面尝试预测一下Linux的未来:原材料、社区产品与企业贡献、其特质所面对的各种挑战、技术实力和成长方向。
|
||||
|
||||
**Linux作为原材料:弯曲、塑形,你想让它是什么样都可以**
|
||||
###Linux作为原材料:弯曲、塑形,你想让它是什么样都可以
|
||||
|
||||
如果用一个形容词来总结Linux独有的优点,那就是“可塑性(malleable)”。Linux是这样一种原材料,可以装订切割,也可以为任意场合量身定做,小到嵌入式设备,大到大规模并行超级计算机。
|
||||
|
||||
@ -23,7 +23,7 @@ Linux基金会执行董事Jim Zemlin承认,“Linux终端用户的体验的的
|
||||
|
||||
“它就像一块建筑地基,使得Google能建立Android和Chromebooks,Amazon建立Kindle,Canonical建立Ubuntu,等等这样的例子还有很多。所有这些产品对用户来说意味着不同的使用体验,而选择权完全在消费者自己手里。”
|
||||
|
||||
Mark Baker,Canonical公司的Ubuntu服务器产品经理,目前负责带领Ubuntu项目。他的话更加具体准确地表明了这一观点:“开源意味着选择的自由。”开源自然会促进模块化,因此,无论你是一个技术宅男还是正在开发数据中心的系统架构师,“通过开源,你可以选择最适合你的组件”。
|
||||
Mark Baker,Canonical公司的Ubuntu服务器产品经理,目前负责领导Ubuntu项目。他的话更加具体准确地表明了这一观点:“开源意味着选择的自由。”开源自然会促进模块化,因此,无论你是一个技术宅男还是正在开发数据中心的系统架构师,“通过开源,你可以选择最适合你的组件”。
|
||||
|
||||
但是IDC的操作环境分析师兼系统软件项目副经理 Al Gillen 却质疑这种完全放任自流的价值观。“Linux是开源的,由此,任何人都可以修改代码,把它变成别的什么东西。但是,现代工业已经表明,没有价值的产品会被淘汰,代码的发展主线应当始终紧靠主流价值观。”
|
||||
|
||||
@ -31,15 +31,15 @@ Android用户对此有直接的深刻体会,诸多Android操作系统间存在
|
||||
|
||||
讽刺的是,即使“可塑性”真的是Linux的最大优势,但过犹不及,Linux作为这样的原材料将会付出成倍的代价。
|
||||
|
||||
Cloudera的工程部经理 Eric Sammer 并没有孤立地看待这个问题,他认为Linux的用户群“与Firefox或Apache等产品的用户群并不一样”,Linux“面向的并不是终端用户,而是操作系统类工程师”,因此它需要与“很多其他软件一同建立一个完整的系统 —— 其中大部分软件是捆绑发布的,并对用户透明(例如boot loader)。”就如同Torvalds在Linux最初的内核发布日志中所亲自记录的,“只有内核,你什么也干不了。”
|
||||
Cloudera的工程部经理 Eric Sammer 并没有孤立地看待这个问题,他认为Linux的用户群“与Firefox或Apache等产品的用户群并不一样”,Linux“面向的并不是终端用户,而是操作系统类工程师”,因此它需要与“很多其他软件一同建立一个完整的系统 —— 其中大部分软件是捆绑发布的,并对用户透明(例如boot loader)。”就如同Torvalds在Linux最初的内核发布日志中亲自写道,“只有内核,你什么也干不了。”
|
||||
|
||||
Android验证了Gillen和Sammer以上两人的观点,作为Linux最受欢迎的“衍生品”,Android所有的附加值都来自于Google以及Google专门为其开发的App生态系统。因此说,Linux的可塑性只是它成为真正产品的第一步,正如下文中这些最成功的Linux拥护者 —— 企业,所熟悉的一样。
|
||||
|
||||
**企业的贡献:利还是弊?**
|
||||
###企业的贡献:利还是弊?
|
||||
|
||||
Linux的另一个特点,它是一个合作产物,由众多贡献者共同努力缔造而成。那么,这些贡献者从何而来?
|
||||
|
||||
答案:企业。企业是最主要的贡献者,但是他们忠于利益,支持Linux只是为了自身的未来发展。除去Red Hat(不包括Canonical,它是最为人所熟知的Linux发行商),排名前几位的贡献者主要包括Intel,IBM,德州仪器,甚至还有微软。
|
||||
答案:企业。企业是最主要的贡献者,但是他们忠于利益,支持Linux只是为了自身的未来发展。除去Red Hat(不同于Canonical,RedHat是最为人所熟知的Linux解决方案供应商),排名前几位的贡献者主要包括Intel,IBM,德州仪器,甚至还有微软。
|
||||
|
||||
Linux的所谓“灵活性”,即能够运行在多个平台或设备上的能力,很大程度上来源于以上这些贡献者,而他们的主要动力则来自于不断萌发的自身需要:例如,微软为Linux内核添加的代码,大大改善了Linux在其产品Hyper-V下的运行状况。
|
||||
|
||||
@ -55,7 +55,7 @@ Mark Coggin,Linux红帽企业版的市场高级总监,他坚信,“最佳
|
||||
|
||||
还有一小部分观点认为,企业发行版Linux其实是一种“被绑架的Linux”,正如Gillen所提倡的 —— 这是一种让Linux“稍稍不那么贴合主流用户群需求”的方法。他确信,对Linux的商业化支持与商业优化“对Linux的开发模式大有裨益,而不是相反。”
|
||||
|
||||
**同样的,对Zenmlin来说,Linux开发“并不是一个零和游戏”**
|
||||
###同样的,对Zenmlin来说,Linux开发“并不是一个零和游戏”
|
||||
|
||||
“如果移动领域的某位开发者改善了耗电量,另一位在数据中心工作的开发者会因此而受益,他可以使用前者的改进来确保自己的数据服务运行得更有效率,”Zemlin说道,“共享开发正是Linux如此强大的原因。”
|
||||
|
||||
@ -65,7 +65,7 @@ Mark Coggin,Linux红帽企业版的市场高级总监,他坚信,“最佳
|
||||
|
||||
GPL协议第三版 —— 从Linux发布协议的一个早期版本改进而来 —— 当初修改该协议的部分原因就是为了应对上述行为。尽管如此,协议只能防止获取他人代码后作为Web服务重新开发。除此以外,并没有什么固有的方法(或法律手段)能够禁止公司或个人在代码开发完成后封闭独占这些改进后的代码,也许,这就是Linux对全世界自由开放所不可避免的一部分社会成本吧。
|
||||
|
||||
**Linux面临的最大威胁**
|
||||
###Linux面临的最大威胁
|
||||
|
||||
感谢开源机制,Linux始终能够作为一个开源项目,企业才无法像以前那么独断专行。那除了企业,现在什么才是Linux所面临的最大威胁呢?
|
||||
|
||||
@ -94,11 +94,11 @@ Linux所要面对的另外一个潜在威胁是公司兼并 —— 这并不会
|
||||
|
||||
简而言之,目前Linux面临的最大威胁来自于它自身 —— 无意中,衡量Linux产品的第一标准已经变成了如何让它看起来更吸引人。一直以来,Linux所固有的灵活性和可塑性帮助它战胜自满和企业兼并,克服重重困难,但如今还能否一如既往,情况并不明朗。
|
||||
|
||||
**路在何方?**
|
||||
###路在何方?
|
||||
|
||||
毫无疑问,无论从哪个层面来看,Linux现在都正处在关键的岔路口,它将去往何方,又将付出怎样的代价,都值得探讨。
|
||||
|
||||
Linux最明显的未来之路,首先,它不仅仅是一块基石,或者说不仅仅是一种建立基础设施的途径,其次,它应当减少过多的产品形式。最后,真正的革新,不仅仅是拓展Linux本身,还要拓展其作为发现问题解决问题的创新办法,目前还很少有人如此对待Linux,要想真正做到这一点,除了呼吁更多的人改变对Linux的看法,还必须打破技术壁垒,将眼光放得更长远。
|
||||
Linux最明显的未来之路,首先,它不仅仅是一块基石,或者说不仅仅是一种建立基础设施的途径;其次,它应当减少过多的产品形式;最后,真正的革新,不仅仅是拓展Linux本身,还要拓展其作为发现问题解决问题的创新办法。目前还很少有人如此对待Linux,要想真正做到这一点,除了呼吁更多的人改变对Linux的看法,还必须打破技术壁垒,将眼光放得更长远。
|
||||
|
||||
对此,Coggin说道:“Linux正在逐渐成为一个更加成套或灵活的操作系统,进而超越其作为一个基础设施平台的作用。我们看到,开发者和架构师们正在使用Linux建立新一代解决方案,创造出新一代的企业架构。”这些工作中的大部分已经开始付诸实施,他说道,包括“云计算、大数据、移动领域以及社交网络等多个方面”。
|
||||
|
||||
@ -106,11 +106,11 @@ Gillen也同意上述观点,Linux“即将成为公共云基础设施中非常
|
||||
|
||||
Baker说道,“Linux已经在运行着云业务,这是毫无疑问的,它需要巩固自己作为基础设施平台的位置 —— 这意味着它需要时刻保持最新的技术领先优势,例如ARM服务芯片、超大规模集成电路、网络设计,以及所有的软件设计数据中心。”上述这些工作应当可以作为开源系统硬件设计(例如[开源计算机项目][3])的有效补充。
|
||||
|
||||
**Linux体系:提交、审核、采纳**
|
||||
###Linux体系:提交、审核、采纳
|
||||
|
||||
伴随着正面需求不断增长,Linux的开发进程也在不断加快。
|
||||
|
||||
Linux作为普遍存在的基础设施元素,其中一个潜在的缺点就是它有可能成为商业化的制度产物,正如曾经它所取代的闭源Unix们。但是Zemlin认为,Linux极大的灵活性在这方面发挥了作用:“十几年前,如果你问到Linus Torvalds或其他社区成员,Linux是否会比其他任何平台都要驱动更多的移动电话,他们当然会说‘不会’。所以,我们要做的只是注视Linux的发展,不要尝试去预测它,因为所有的预测几乎都会是错误的。”
|
||||
Linux作为普遍存在的基础设施元素,其中一个潜在的缺点就是它有可能成为商业化的制度产物,正如曾经它所取代的闭源Unix们。但是Zemlin认为,Linux极大的灵活性在这方面发挥了作用:“十几年前,如果你问到Linus Torvalds或其他社区成员,Linux是否会比其他任何平台都要更多的装到移动电话里,他们当然会说‘不会’。所以,我们要做的只是注视Linux的发展,不要尝试去预测它,因为所有的预测几乎都会是错误的。”
|
||||
|
||||
另一个重要的未来发展方向,就像上面提到的,“独立于Google之外,在移动领域有更大的发展,”Baker如此预测道。像Mozilla专门针对移动电话的Firefox操作系统项目,就是这样一种典型的尝试,尽管在Google的存在下,以及Android如此巨大的市场份额面前,其成功的几率并不明朗。
|
||||
|
||||
@ -124,7 +124,7 @@ Linux作为普遍存在的基础设施元素,其中一个潜在的缺点就是
|
||||
|
||||
via: http://www.networkworld.com/news/2013/101513-the-future-of-linux-evolving-274829.html
|
||||
|
||||
译者:[Mr小眼儿](http://blog.csdn.net/tinyeyeser) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
译者:[Mr小眼儿](http://blog.csdn.net/tinyeyeser) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
@ -0,0 +1,31 @@
|
||||
Ubuntu vs. openSUSE:不同的公司控制风格的比较
|
||||
====
|
||||
*Ubuntu和OpenSUSE以不同的方式发展他们的Linux发行版。你觉得哪种好?*
|
||||
|
||||
相当多的linux开发都接受来自那些有意改善Linux的公司的资助,这早已不是秘密(这里的Linux我指的是组成一个完整Linux系统的任何部分)。但是,许多公司进行资助的方式却有很大不同。
|
||||
|
||||
让我们看看两个很典型的例子:Ubuntu和openSUSE。
|
||||
|
||||
这两者都是Linux发行版。两者都是一个规模庞大、长期持续且非常成功的项目,并且它们都有一个包括志愿者和付费职员的大型社区。然而,两者之间的不同还是相当明显而且非常重要。
|
||||
|
||||
对于Ubuntu,它发展的主要方向是由Canonical的团队及其领袖Mark Shuttleworth决定的。当谈到Canonical真正“掌舵”Ubuntu时,我们能很快就会想起两个例子,例如Unity(Ubuntu自己的用户界面)和Mir(Ubuntu自己的显示服务)。在许多事情上,母公司都会在没有协商(可以这么说)的情况下设定目标、项目和优先级。例如,Ubuntu的Unity用户界面对于Canonical公司广泛战略目标来说是必须的。一些社区成员喜欢它,另一些则讨厌它。但是不管怎么说,Unity都已经成为Ubuntu的默认用户界面了。
|
||||
|
||||
但是这是一件坏事吗?我不确信它到底是好还是坏。这只是这个项目如何与公司相处的问题。
|
||||
|
||||
于此形成对比的是openSUSE,它也有一个公司掌控者,好吧,就是SUSE。关键的不同点是SUSE以“SUSE Linux企业版”的形式提供一个商业发行版。尽管openSUSE(社区Linux发行版)与SUSE Linux发行版(商业发行版)在技术上有许多重叠之处...然而专业的说,两者是不同的。
|
||||
|
||||
这意味着SUSE,作为一个公司,对待openSUSE时可以更多的采取放手不管的方式,他们的兴趣就是寻找那些被改善的关键性技术(例如,Btrfs文件系统),检测以及打包社区发行版中那些他们想包含在商业发行版中的软件包,但是社区发行版与商业发行版分离的方式与Canonical采取方式相比,给他们提供了更大的灵活性。在这方面,和Canonical不同。
|
||||
|
||||
这种方法和红帽对待Fedora的方式非常相似,已经成为了一个公司使用社区Linux发行版为基础,销售企业级的Linux系统的一种成功之路。
|
||||
|
||||
不过,坦白的说两种模式我都看到了优点和缺点。在组织上以及管理上(公众部分)他们都面临着各自的难题。实际上,这两种方法与它们的不同点比起来,相同点更多一些。
|
||||
|
||||
我非常愿意听到你们对此的看法。你是更喜欢你的以社区为基础的Linux发行版有一个单一的领袖?还是更喜欢你Linux发行版的大多数决定都是有社区驱动的呢?公司是否应该强势控制Linux发行版,还是应该大胆放手让社区来决定呢?请在评论里留言,让我们知道你的看法。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.networkworld.com/community/node/84250
|
||||
|
||||
译者:[Linux-pdz](https://github.com/Linux-pdz) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
115
published/ncdu – Ncurses Based Disk Usage Utility.md
Normal file
115
published/ncdu – Ncurses Based Disk Usage Utility.md
Normal file
@ -0,0 +1,115 @@
|
||||
ncdu-基于Ncurses的磁盘实用工具
|
||||
===
|
||||
|
||||
几天前,我们讨论了[gt5][1](一个具有图形前端的磁盘实用工具)。接着上次,继续介绍这个命令系列:du替代命令,我们今天要讨论的是一个基于ncurese的磁盘实用工具,可以远程运行但没有图形环境。我们要介绍的这个命令行工具叫做**ncdu**。
|
||||
|
||||
###ncdu——基于Ncurses的du可选程序
|
||||
|
||||
这个命令行工具只是一个基于curses版本的标准du命令。它可帮助你在没有安装图形环境的情况下快速查看系统的磁盘使用统计。
|
||||
|
||||
![](http://mylinuxbook.com/wp-content/uploads/2013/10/ncdu-main.png)
|
||||
|
||||
###检测环境
|
||||
- 操作系统 – Ubuntu 13.04
|
||||
- Shell – Bash 4.2.45
|
||||
- 应用 – ncdu 1.9
|
||||
|
||||
###简明教程
|
||||
|
||||
以下是一些ncdu命令的例子:
|
||||
|
||||
**1. 默认输出**
|
||||
|
||||
执行以下**ncdu**命令,你会观察到,它会先扫描磁盘然后降序显示各个目录下的空间使用情况。
|
||||
|
||||
**> 扫描**
|
||||
|
||||
![](http://mylinuxbook.com/wp-content/uploads/2013/10/ncdu-0.png)
|
||||
|
||||
**> 输出**
|
||||
|
||||
![](http://mylinuxbook.com/wp-content/uploads/2013/10/ncdu-1.png)
|
||||
|
||||
你会看到在输出里显示了一个磁盘使用情况表。假如你要扫描整个文件系统,你可以在运行**ncdu**命令时加上**-x**选项。
|
||||
|
||||
**2. 按i可以得到选定目录的更多信息**
|
||||
|
||||
如你所见,第一项默认选中。想要知道选定项的更多信息,可以按**i**。
|
||||
|
||||
下面给出一个例子:
|
||||
|
||||
![](http://mylinuxbook.com/wp-content/uploads/2013/10/ncdu-2.png)
|
||||
|
||||
如你所见,显示了目录,类型,大小,实际占用空间等。项返回,再按一次**i**。
|
||||
|
||||
**3. 在ncdu的界面中删除目录**
|
||||
|
||||
在ncdu的界面中删除目录,只需要选中目录,然后按**d**。
|
||||
|
||||
下面给出一个例子:
|
||||
|
||||
![](http://mylinuxbook.com/wp-content/uploads/2013/10/ncdu-3.png)
|
||||
|
||||
如你所见,ncdu请求用户确认。假如你选择yes,目录将会从系统中删除。
|
||||
|
||||
**4. 显示每一个目录的磁盘使用占总的磁盘空间的百分比**
|
||||
|
||||
按**g**显示每个目录大小占总的磁盘空间的百分比。
|
||||
|
||||
下面给出一个例子:
|
||||
|
||||
![](http://mylinuxbook.com/wp-content/uploads/2013/10/ncdu-4.png)
|
||||
|
||||
如你所见,在输出结果的第二竖列显示了每个目录所占用的空间占总的磁盘空间的百分比。
|
||||
|
||||
**5. 获悉有关所有可使用快捷键的**
|
||||
|
||||
按**?**可获得相关快捷键、格式以及有关ncdu版本的信息。
|
||||
|
||||
下面给出一些例子:
|
||||
|
||||
![](http://mylinuxbook.com/wp-content/uploads/2013/10/ncdu-5-1.png)
|
||||
|
||||
![](http://mylinuxbook.com/wp-content/uploads/2013/10/ncdu-5-2.png)
|
||||
|
||||
![](http://mylinuxbook.com/wp-content/uploads/2013/10/ncdu-5-3.png)
|
||||
|
||||
想知道有关命令行选项以及其它信息,可前往[ncdu命令的Man页面][2]。
|
||||
|
||||
###下载/安装/配置
|
||||
|
||||
以下是一些有关ncdu命令的重要链接
|
||||
|
||||
- [主页][3]
|
||||
- [下载链接][4]
|
||||
|
||||
当然,你也可以通过命令方式下载安装,比如apt-get,yum等。另外,Ubuntu用户可使用Ubuntu软件中心下载安装这个工具。
|
||||
|
||||
###优点
|
||||
|
||||
- 信息显示快速
|
||||
- 系统资源消耗小
|
||||
|
||||
###缺点
|
||||
|
||||
- 在大多数Linux发行版中均没有预安装
|
||||
- 有一定的学习曲线
|
||||
|
||||
###结论
|
||||
|
||||
假如你不满足于标准的du工具,想去寻找一款快速的,基于ncurses的类du工具,那么你可以试试ncdu。它提供了许多自定义选项。你一定会喜欢它的。
|
||||
|
||||
**你使用过ncdu,gt5或者其他任何类du工具吗?欢迎和我们分享你的使用经验。**
|
||||
|
||||
---
|
||||
|
||||
via: http://mylinuxbook.com/ncdu-ncurses-based-disk-usage-utility/
|
||||
|
||||
译者:[Linux-pdz](https://github.com/Linux-pdz) 校对:[Caroline](https://github.com/carolinewuyan)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://mylinuxbook.com/gt5-a-graphical-alternative-to-du/
|
||||
[2]:http://linux.die.net/man/1/ncdu
|
||||
[3]:http://dev.yorhel.nl/ncdu
|
||||
[4]:http://dev.yorhel.nl/ncdu
|
@ -1,54 +0,0 @@
|
||||
10 Years of Xen: Transforming a Dinosaur Into a Bird
|
||||
================================================================================
|
||||
Xen Hypervisor development started at [Cambridge University][1] as part of the [Xenoserver][2] research project in the late 90’s. The goal of Xenoserver was ambitious:
|
||||
|
||||
The Xenoserver project is building a public infrastructure for wide-area distributed computing. We envisage a world in which Xenoserver execution platforms will be scattered across the globe and available for any member of the public to submit code for execution. The sponsor of the code will be billed for all the resources used or reserved during the course of execution. This will serve to encourage load balancing, limit congestion, and hopefully even make the platform self-financing.
|
||||
|
||||
Today, this model of computing is called cloud computing. And the Xen Hypervisor was - and indeed is today - instrumental in enabling the biggest cloud in production. Not only are Amazon Web Services and Rackspace Public cloud based on Xen. New large deployments such as [Verizon Public Cloud][3] also chose Xen as basis for their offering.
|
||||
|
||||
### Happy 10th Birthday ###
|
||||
|
||||
On October 21st, 2003 at the [19th ACM Symposium on Operating Systems Principles][4] the Xen Hypervisor was first revealed as an open source project to the public. Exactly 10 years ago. Time to wish the project a Happy 10th Birthday!
|
||||
|
||||
### The Burden of being First : Or what happened to the Dinosaurs? ###
|
||||
|
||||
Sometimes being the first open source project in its field can become a burden. Why? Because, community problems can build up unchecked. The simple fact is that lack of competition can cause complacency. This is what happened to the Xen Project. For the first few years of its life the project operated without governance, became insular, didn’t promote itself and failed to engage its users and contributors. When its first open source competitor - KVM - gathered steam, the community was slow to respond and change.
|
||||
|
||||
The effect of all this was that it was difficult to join the project and that the project did not play well with the Linux kernel, QEMU and Linux distros. In the end, the Xen community got a bad reputation. Ultimately this resulted in Canonical and RedHat dropping Xen support in favour of KVM. Add to the mix a failure to tell the world, when things did change. The bad reputation lingered and eventually the project was seen as a dinosaur by the open source community and technology press. Destined to be extinct in the near future.
|
||||
|
||||
### Evolving fast : The Dinosaur becomes a Bird ###
|
||||
|
||||
Not many open source projects recover from mistakes like the ones the Xen community made. The Xen Project managed to do this, through a combination of introducing good governance, active efforts to collaborate with other open source projects, rebooting marketing efforts and actively working with users and contributors to the project. In other words, the project had to
|
||||
Xen Project flying Panda
|
||||
|
||||
Let the Bird fly (or more correctly, give the Xen Project’s Panda wings).
|
||||
transform itself from a Dinosaur to a Bird. If you want to know how we did this, why not attend my LinuxCon EU session called [Xen Project : Lessons Learned][5]? Other sessions you may want to attend are [Securing your Xen based Cloud][6] and [Xen: Open Source Hypervisor Designed for Clouds][7].
|
||||
|
||||
![](http://www.linux.com/images/stories/41373/Xen-flying-Panda.jpg)
|
||||
|
||||
*Let the Bird fly (or more correctly, give the Xen Project’s Panda wings).*
|
||||
|
||||
### A peek into the Future : New Frontiers in Virtualization ###
|
||||
|
||||
If you look at the Xen Project now, you will find that the community is diverse and growing. On many counts, it is bigger and more diverse than it has ever been.
|
||||
|
||||
One of the interesting things that is happening in the Xen Community at the moment is adoption of the Xen Project’s software for non-traditional virtualization use-cases. This is mirroring a rise in activity by embedded companies in the Linux community in general. At the [Xen Project Developer Summit][8] later this week, we will see two Android VMs running on top of Xen on a Nexus 10, we will see first experiments in using Xen for In-Vehicle-Infotainment and automotive applications in general, and we will see how Xen can provide the high performance expected of hardware-based middlebox offerings such as firewalls and NATs.
|
||||
|
||||
Of course, there is also plenty innovation in server virtualization and cloud. Let the Bird fly (or more correctly, give the Xen Project’s Panda wings).
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.linux.com/news/enterprise/cloud-computing/743330-10-years-of-xen-transforming-a-dinosaur-into-a-bird/
|
||||
|
||||
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.cl.cam.ac.uk/research/srg/netos/xen/index.html
|
||||
[2]:http://www.cl.cam.ac.uk/research/srg/netos/xeno/
|
||||
[3]:http://www.techweekeurope.co.uk/news/verizon-public-cloud-launch-128724
|
||||
[4]:http://www.cs.rochester.edu/meetings/sosp2003/papers.shtml
|
||||
[5]:http://linuxconcloudopeneu2013.sched.org/event/68003c370760bcc2da7e3e8b59b6b50f
|
||||
[6]:http://linuxconcloudopeneu2013.sched.org/event/37ecfe02561cf264a02061d1927da26c
|
||||
[7]:http://linuxconcloudopeneu2013.sched.org/event/bdca1274d9799646cdf2934dbde94ccd
|
||||
[8]:http://www.linux.com/news/software/applications/742053-a-great-line-up-of-speakers-at-xen-project-developer-summit
|
291
sources/10 basic examples of linux netstat command.md
Normal file
291
sources/10 basic examples of linux netstat command.md
Normal file
@ -0,0 +1,291 @@
|
||||
[DONING]BY FingerLiu
|
||||
10 basic examples of linux netstat command
|
||||
================================================================================
|
||||
### Netstat ###
|
||||
|
||||
Netstat is a command line utility that can be used to list out all the network (socket) connections on a system. It lists out all the tcp, udp socket connections and the unix socket connections. Apart from connected sockets it can also list listening sockets that are waiting for incoming connections. So by verifying an open port 80 you can confirm if a web server is running on the system or not. This makes it a very useful tool for network and system administrators. So in this tutorial we shall be checking out few examples of how to use netstat to find information about network connections and open ports on a system.
|
||||
|
||||
Here is a quick intro to netstat from the man pages
|
||||
|
||||
> netstat - Print network connections, routing tables, interface statistics, masquerade connections, and multicast memberships
|
||||
|
||||
### 1. List out all connections ###
|
||||
|
||||
The first and most simple command is to list out all the current connections. Simply run the netstat command with the a option.
|
||||
|
||||
$ netstat -a
|
||||
|
||||
Active Internet connections (servers and established)
|
||||
Proto Recv-Q Send-Q Local Address Foreign Address State
|
||||
tcp 0 0 enlightened:domain *:* LISTEN
|
||||
tcp 0 0 localhost:ipp *:* LISTEN
|
||||
tcp 0 0 enlightened.local:54750 li240-5.members.li:http ESTABLISHED
|
||||
tcp 0 0 enlightened.local:49980 del01s07-in-f14.1:https ESTABLISHED
|
||||
tcp6 0 0 ip6-localhost:ipp [::]:* LISTEN
|
||||
udp 0 0 enlightened:domain *:*
|
||||
udp 0 0 *:bootpc *:*
|
||||
udp 0 0 enlightened.local:ntp *:*
|
||||
udp 0 0 localhost:ntp *:*
|
||||
udp 0 0 *:ntp *:*
|
||||
udp 0 0 *:58570 *:*
|
||||
udp 0 0 *:mdns *:*
|
||||
udp 0 0 *:49459 *:*
|
||||
udp6 0 0 fe80::216:36ff:fef8:ntp [::]:*
|
||||
udp6 0 0 ip6-localhost:ntp [::]:*
|
||||
udp6 0 0 [::]:ntp [::]:*
|
||||
udp6 0 0 [::]:mdns [::]:*
|
||||
udp6 0 0 [::]:63811 [::]:*
|
||||
udp6 0 0 [::]:54952 [::]:*
|
||||
Active UNIX domain sockets (servers and established)
|
||||
Proto RefCnt Flags Type State I-Node Path
|
||||
unix 2 [ ACC ] STREAM LISTENING 12403 @/tmp/dbus-IDgfj3UGXX
|
||||
unix 2 [ ACC ] STREAM LISTENING 40202 @/dbus-vfs-daemon/socket-6nUC6CCx
|
||||
|
||||
The above command shows all connections from different protocols like tcp, udp and unix sockets. However this is not quite useful. Administrators often want to pick out specific connections based on protocols or port numbers for example.
|
||||
|
||||
### 2. List only TCP or UDP connections ###
|
||||
|
||||
To list out only tcp connections use the t options.
|
||||
|
||||
$ netstat -at
|
||||
Active Internet connections (servers and established)
|
||||
Proto Recv-Q Send-Q Local Address Foreign Address State
|
||||
tcp 0 0 enlightened:domain *:* LISTEN
|
||||
tcp 0 0 localhost:ipp *:* LISTEN
|
||||
tcp 0 0 enlightened.local:36310 del01s07-in-f24.1:https ESTABLISHED
|
||||
tcp 0 0 enlightened.local:45038 a96-17-181-10.depl:http ESTABLISHED
|
||||
tcp 0 0 enlightened.local:37892 ABTS-North-Static-:http ESTABLISHED
|
||||
.....
|
||||
|
||||
Similarly to list out only udp connections use the u option.
|
||||
|
||||
$ netstat -au
|
||||
Active Internet connections (servers and established)
|
||||
Proto Recv-Q Send-Q Local Address Foreign Address State
|
||||
udp 0 0 *:34660 *:*
|
||||
udp 0 0 enlightened:domain *:*
|
||||
udp 0 0 *:bootpc *:*
|
||||
udp 0 0 enlightened.local:ntp *:*
|
||||
udp 0 0 localhost:ntp *:*
|
||||
udp 0 0 *:ntp *:*
|
||||
udp6 0 0 fe80::216:36ff:fef8:ntp [::]:*
|
||||
udp6 0 0 ip6-localhost:ntp [::]:*
|
||||
udp6 0 0 [::]:ntp [::]:*
|
||||
|
||||
The above output shows both ipv4 and ipv6 connections.
|
||||
|
||||
### 3. Disable reverse dns lookup for faster output ###
|
||||
|
||||
By default, the netstat command tries to find out the hostname of each ip address in the connection by doing a reverse dns lookup. This slows down the output. If you do not need to know the host name and just the ip address is sufficient then suppress the hostname lookup with the n option.
|
||||
|
||||
$ netstat -ant
|
||||
Active Internet connections (servers and established)
|
||||
Proto Recv-Q Send-Q Local Address Foreign Address State
|
||||
tcp 0 0 127.0.1.1:53 0.0.0.0:* LISTEN
|
||||
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN
|
||||
tcp 0 0 192.168.1.2:49058 173.255.230.5:80 ESTABLISHED
|
||||
tcp 0 0 192.168.1.2:33324 173.194.36.117:443 ESTABLISHED
|
||||
tcp6 0 0 ::1:631 :::* LISTEN
|
||||
|
||||
The above command shows ALL TCP connections with NO dns resolution. Got it ? Good.
|
||||
|
||||
### 4. List out only listening connections ###
|
||||
|
||||
Any network daemon/service keeps an open port to listen for incoming connections. These too are like socket connections and are listed out by netstat. To view only listening ports use the l options.
|
||||
|
||||
$ netstat -tnl
|
||||
Active Internet connections (only servers)
|
||||
Proto Recv-Q Send-Q Local Address Foreign Address State
|
||||
tcp 0 0 127.0.1.1:53 0.0.0.0:* LISTEN
|
||||
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN
|
||||
tcp6 0 0 ::1:631 :::* LISTEN
|
||||
|
||||
Now we can see only listening tcp ports/connections. If you want to see all listening ports, remove the t option. If you want to see only listening udp ports use the u option instead of t.
|
||||
Make sure to remove the 'a' option, otherwise all connections would get listed and not just the listening connections.
|
||||
|
||||
### 5. Get process name/pid and user id ###
|
||||
|
||||
When viewing the open/listening ports and connections, its often useful to know the process name/pid which has opened that port or connection. For example the Apache httpd server opens port 80. So if you want to check whether any http server is running or not, or which http server is running, apache or nginx, then track down the process name.
|
||||
|
||||
The process details are made available by the 'p' option.
|
||||
|
||||
~$ sudo netstat -nlpt
|
||||
Active Internet connections (only servers)
|
||||
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
|
||||
tcp 0 0 127.0.1.1:53 0.0.0.0:* LISTEN 1144/dnsmasq
|
||||
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 661/cupsd
|
||||
tcp6 0 0 ::1:631 :::* LISTEN 661/cupsd
|
||||
|
||||
When using the p option, netstat must be run with root privileges, otherwise it cannot detect the pids of processes running with root privileges and most services like http and ftp often run with root privileges.
|
||||
|
||||
Along with process name/pid its even more useful to get the username/uid owning that particular process. Use the e option along with the p option to get the username too.
|
||||
|
||||
$ sudo netstat -ltpe
|
||||
Active Internet connections (only servers)
|
||||
Proto Recv-Q Send-Q Local Address Foreign Address State User Inode PID/Program name
|
||||
tcp 0 0 enlightened:domain *:* LISTEN root 11090 1144/dnsmasq
|
||||
tcp 0 0 localhost:ipp *:* LISTEN root 9755 661/cupsd
|
||||
tcp6 0 0 ip6-localhost:ipp [::]:* LISTEN root 9754 661/cupsd
|
||||
|
||||
The above example lists out Listening connections of Tcp type with Process information and Extended information.
|
||||
The extended information contains the username and inode of the process. This is a useful command for network administrators.
|
||||
|
||||
**Note** - If you use the n option with the e option, the uid would be listed and not the username.
|
||||
|
||||
### 6. Print statistics ###
|
||||
|
||||
The netstat command can also print out network statistics like total number of packets received and transmitted by protocol type and so on.
|
||||
|
||||
To list out statistics of all packet types
|
||||
|
||||
$ netstat -s
|
||||
Ip:
|
||||
32797 total packets received
|
||||
0 forwarded
|
||||
0 incoming packets discarded
|
||||
32795 incoming packets delivered
|
||||
29115 requests sent out
|
||||
60 outgoing packets dropped
|
||||
Icmp:
|
||||
125 ICMP messages received
|
||||
0 input ICMP message failed.
|
||||
ICMP input histogram:
|
||||
destination unreachable: 125
|
||||
125 ICMP messages sent
|
||||
0 ICMP messages failed
|
||||
ICMP output histogram:
|
||||
destination unreachable: 125
|
||||
... OUTPUT TRUNCATED ...
|
||||
|
||||
To print out statistics of only select protocols like TCP or UDP use the corresponding options like t and u along with the s option. Simple!
|
||||
|
||||
### 7. Display kernel routing information ###
|
||||
|
||||
The kernel routing information can be printed with the r option. It is the same output as given by the route command. We also use the n option to disable the hostname lookup.
|
||||
|
||||
$ netstat -rn
|
||||
Kernel IP routing table
|
||||
Destination Gateway Genmask Flags MSS Window irtt Iface
|
||||
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
|
||||
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
|
||||
|
||||
### 8. Print network interfaces ###
|
||||
|
||||
The netstat command can also print out the information about the network interfaces. The i option does the task.
|
||||
|
||||
$ netstat -i
|
||||
Kernel Interface table
|
||||
Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
|
||||
eth0 1500 0 31611 0 0 0 27503 0 0 0 BMRU
|
||||
lo 65536 0 2913 0 0 0 2913 0 0 0 LRU
|
||||
|
||||
The above output contains information in a very raw format. To get a more human friendly version of the output use the e option along with i.
|
||||
|
||||
$ netstat -ie
|
||||
Kernel Interface table
|
||||
eth0 Link encap:Ethernet HWaddr 00:16:36:f8:b2:64
|
||||
inet addr:192.168.1.2 Bcast:192.168.1.255 Mask:255.255.255.0
|
||||
inet6 addr: fe80::216:36ff:fef8:b264/64 Scope:Link
|
||||
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
|
||||
RX packets:31682 errors:0 dropped:0 overruns:0 frame:0
|
||||
TX packets:27573 errors:0 dropped:0 overruns:0 carrier:0
|
||||
collisions:0 txqueuelen:1000
|
||||
RX bytes:29637117 (29.6 MB) TX bytes:4590583 (4.5 MB)
|
||||
Interrupt:18 Memory:da000000-da020000
|
||||
|
||||
lo Link encap:Local Loopback
|
||||
inet addr:127.0.0.1 Mask:255.0.0.0
|
||||
inet6 addr: ::1/128 Scope:Host
|
||||
UP LOOPBACK RUNNING MTU:65536 Metric:1
|
||||
RX packets:2921 errors:0 dropped:0 overruns:0 frame:0
|
||||
TX packets:2921 errors:0 dropped:0 overruns:0 carrier:0
|
||||
collisions:0 txqueuelen:0
|
||||
RX bytes:305297 (305.2 KB) TX bytes:305297 (305.2 KB)
|
||||
|
||||
The above output is similar to the output shown by the ifconfig command.
|
||||
|
||||
### 9. Get netstat output continuously ###
|
||||
|
||||
Netstat can output connection information continuously with the c option.
|
||||
|
||||
$ netstat -ct
|
||||
|
||||
The above command will output tcp connections continuously.
|
||||
|
||||
### 10. Display multicast group information ###
|
||||
|
||||
The g option will display the multicast group information for IPv4 and IPv6 protocols.
|
||||
|
||||
$ netstat -g
|
||||
IPv6/IPv4 Group Memberships
|
||||
Interface RefCnt Group
|
||||
--------------- ------ ---------------------
|
||||
lo 1 all-systems.mcast.net
|
||||
eth0 1 224.0.0.251
|
||||
eth0 1 all-systems.mcast.net
|
||||
lo 1 ip6-allnodes
|
||||
lo 1 ff01::1
|
||||
eth0 1 ff02::fb
|
||||
eth0 1 ff02::1:fff8:b264
|
||||
eth0 1 ip6-allnodes
|
||||
eth0 1 ff01::1
|
||||
wlan0 1 ip6-allnodes
|
||||
wlan0 1 ff01::1
|
||||
|
||||
### More examples of netstat command ###
|
||||
|
||||
Okay, we covered the basic examples of netstat command above. Now its time to do some geek stuff with style.
|
||||
|
||||
### Print active connections ###
|
||||
|
||||
Active socket connections are in "ESTABLISHED" state. So to get all current active connections use netstat with grep as follows
|
||||
|
||||
$ netstat -atnp | grep ESTA
|
||||
(Not all processes could be identified, non-owned process info
|
||||
will not be shown, you would have to be root to see it all.)
|
||||
tcp 0 0 192.168.1.2:49156 173.255.230.5:80 ESTABLISHED 1691/chrome
|
||||
tcp 0 0 192.168.1.2:33324 173.194.36.117:443 ESTABLISHED 1691/chrome
|
||||
|
||||
To watch a continous list of active connections, use the watch command along with netstat and grep
|
||||
|
||||
$ watch -d -n0 "netstat -atnp | grep ESTA"
|
||||
|
||||
### Check if a service is running ###
|
||||
|
||||
If you want to check if a server like http,smtp or ntp is running or not, use grep again.
|
||||
|
||||
$ sudo netstat -aple | grep ntp
|
||||
udp 0 0 enlightened.local:ntp *:* root 17430 1789/ntpd
|
||||
udp 0 0 localhost:ntp *:* root 17429 1789/ntpd
|
||||
udp 0 0 *:ntp *:* root 17422 1789/ntpd
|
||||
udp6 0 0 fe80::216:36ff:fef8:ntp [::]:* root 17432 1789/ntpd
|
||||
udp6 0 0 ip6-localhost:ntp [::]:* root 17431 1789/ntpd
|
||||
udp6 0 0 [::]:ntp [::]:* root 17423 1789/ntpd
|
||||
unix 2 [ ] DGRAM 17418 1789/ntpd
|
||||
|
||||
So we found that ntp server is running. Grep for http or smtp or whatever you are looking for.
|
||||
|
||||
Well, that was most of what netstat is used for. If you are looking for more advanced information or want to dig deeper, read up the netstat manual (man netstat).
|
||||
|
||||
And do leave your feedback and suggestions in the comments box below.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.binarytides.com/linux-netstat-command-examples/
|
||||
|
||||
译者:[FingerLiu](https://github.com/FingerLiu) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:
|
||||
[2]:
|
||||
[3]:
|
||||
[4]:
|
||||
[5]:
|
||||
[6]:
|
||||
[7]:
|
||||
[8]:
|
||||
[9]:
|
||||
[10]:
|
||||
[11]:
|
||||
[12]:
|
103
sources/11 Basic Linux Interview Questions and Answers.md
Normal file
103
sources/11 Basic Linux Interview Questions and Answers.md
Normal file
@ -0,0 +1,103 @@
|
||||
l3b2w1 translating
|
||||
|
||||
11 Basic Linux Interview Questions and Answers
|
||||
================================================================================
|
||||
Theories apart, we are proud to announce a new section on Tecmint, dedicated to Linux Interview. Here we will bring to you Linux Interview Questions and all other aspects of Linux, which is must for a professional in this cut-throat competition world.
|
||||
|
||||
![](http://www.tecmint.com/wp-content/uploads/2013/11/Basic-Interview-Questions.png)
|
||||
|
||||
A new article in this section (**Linux Interview**) will be posted on every weekend. The initiative taken by **Tecmint** is first of it’s kind among other **Linux Dedicated** websites, along with quality and unique articles.
|
||||
|
||||
We will start with **Basic Linux Interview Question** and will go advance article by article, for which your response is highly appreciated, which put us on a higher note.
|
||||
|
||||
#### Q.1: What is the core of Linux Operating System? ####
|
||||
|
||||
- Shell
|
||||
- Kernel
|
||||
- Command
|
||||
- Script
|
||||
- Terminal
|
||||
|
||||
> **Answer** : Kernel is the core of Linux Operating System. Shell is a command Line Interpreter, Command is user Instruction to Computer, Script is collection of commands stored in a file and Terminal is a command Line Interface
|
||||
|
||||
#### Q.2: What Linus Torvalds Created? ####
|
||||
|
||||
- Fedora
|
||||
- Slackware
|
||||
- Debian
|
||||
- Gentoo
|
||||
- Linux
|
||||
|
||||
> **Answer** : Linux Torvalds created Linux, which is the kernel (heart) of all of the above Operating System and all other Linux Operating System.
|
||||
|
||||
#### Q.3: Torvalds, Wrote most of the Linux Kernel in C++ programming Language, do you agree? ####
|
||||
|
||||
> **Answer** : No! Linux Kernel contains 12,020,528 Lines of codes out of which 2,151,595 Lines are comments. So remaining 9,868,933 lines are codes and out of 9,868,933 Lines of codes 7,896,318 are written in C Programming Language.
|
||||
|
||||
The remaining Lines of code 1,972,615 is written in C++, Assembly, Perl, Shell Script, Python, Bash Script, HTML, awk, yacc, lex, sed, etc.
|
||||
|
||||
**Note** : The Number of Lines of codes varies on daily basis and an average of more than 3,509 lines are being added to Kernel.
|
||||
|
||||
#### Q.4: Linux initially was developed for intel X86 architecture but has been ported to other hardware platform than any other Operating System. Do you agree?. ####
|
||||
|
||||
> **Answer** : Yes, I do agree. Linux was written for x86 machine, and has been ported to all kind of platform. Today’s more than 90% of supercomputers are using Linux. Linux made a very promising future in mobile phone, Tablets. In-fact we are surrounded by Linux in remote controls, space science, Research, Web, Desktop Computing. The list is endless.
|
||||
|
||||
#### Q.5: Is it legal to edit Linux Kernel? ####
|
||||
|
||||
> **Answer** : Yes, Kernel is released under General Public Licence (GPL), and anyone can edit Linux Kernel to the extent permitted under GPL. Linux Kernel comes under the category of Free and Open Source Software (FOSS).
|
||||
|
||||
#### Q.6: What is the basic difference between UNIX and Linux Operating System. ####
|
||||
|
||||
> **Answer** : Linux Operating System is Free and Open Source Software, the kernel of which is created by Linus Torvalds and community. Well you can not say UNIX Operating System doesn’t comes under the category of Free and Open Source Software, BSD, is a variant of UNIX which comes under the category of FOSS. Moreover Big companies like Apple, IBM, Oracle, HP, etc. are contributing to UNIX Kernel.
|
||||
|
||||
#### Q. 7: Choose the odd one out. ####
|
||||
|
||||
- HP-UX
|
||||
- AIX
|
||||
- OSX
|
||||
- Slackware
|
||||
- Solaris
|
||||
|
||||
> **Answer** : Slackware is the odd in the above list. HP-UX, AIX, OSX, Solaris are developed by HP, IBM, APPLE, Oracle respectively and all are UNIX variant. Slackware is a Linux Operating System.
|
||||
|
||||
#### Q.8: Is Linux Operating system Virus free? ####
|
||||
|
||||
> **Answer** : No! There doesn’t exist any Operating System on this earth that is virus free. However Linux is known to have least number of Viruses, till date, yes even less than UNIX OS. Linux has had about 60-100 viruses listed till date. None of them actively spreading nowadays. A rough estimate of UNIX viruses is between 85 -120 viruses reported till date.
|
||||
|
||||
#### Q.9: Linux is which kind of Operating System? ####
|
||||
|
||||
- Multi User
|
||||
- Multi Tasking
|
||||
- Multi Process
|
||||
- All of the above
|
||||
- None of the above
|
||||
|
||||
> **Answer** : All of the Above. Linux is an Operating System which supports Multi User, Running a Number of Processes performing different tasks simultaneously.
|
||||
|
||||
#### Q.10: Syntax of any Linux command is: ####
|
||||
|
||||
- command [options] [arguments]
|
||||
- command options [arguments]
|
||||
- command [options] [arguments]
|
||||
- command options arguments
|
||||
|
||||
> **Answer** : The correct Syntax of Linux Command is Command [options] [arguments].
|
||||
|
||||
#### Q.11: Choose the odd one out. ####
|
||||
|
||||
- Vi
|
||||
- vim
|
||||
- cd
|
||||
- nano
|
||||
|
||||
> **Answer** : The odd one in the above list is cd. Vi, vim and nano are editors which is useful in editing files, while cd command is used for changing directory.
|
||||
|
||||
That’s all for now. How much you learned for the above questions? How it helped you in your Interview? We would like to hear all these from you in our comment section. Wait till the next weekend, for new set of questions. Till then stay healthy, tuned and connected to **Tecmint**.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.tecmint.com/basic-linux-interview-questions-and-answers/
|
||||
|
||||
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
@ -0,0 +1,41 @@
|
||||
Canonical Dev Calls Linux Mint ‘Vulnerable’, Wouldn’t Use it For Online Banking
|
||||
================================================================================
|
||||
**Users of the popular Ubuntu-based operating system Linux Mint should not use it for online banking, a Canonical [engineer has advised][1].**
|
||||
|
||||
Mint’s decision to prevent packages with known security issues from updating – from the kernel and browser to the boot-loader and Xorg display server – leaves its users with a “vulnerable system”, says Oliver Grawert.
|
||||
|
||||
> “Instead of just integrating changes properly with the packages in the ubuntu archive they instead suppress doing (security) updates at all for them. i would say forcefully keeping a vulnerable kernel browser or xorg in place instead of allowing the provided security updates to be installer makes it a vulnerable system, (sic)”.
|
||||
>
|
||||
> “I personally wouldn’t do online banking with it.”
|
||||
|
||||
Grawert certainly isn’t alone in considering Mint a sub-par choice for the security conscious. Mozilla contributor and former Ubuntu member **Benjamin Kerensa*** feels the same:
|
||||
|
||||
> “It is unclear why Linux Mint disables all of their security updates. I can say that it took them many months to get a fixed version of Firefox packaged while Ubuntu and Debian had already had security fixes in their package.
|
||||
>
|
||||
> This puts Linux Mint users at risk and is one of the key reasons I never suggest Linux Mint to anyone as an alternative to Ubuntu.”
|
||||
|
||||
Oliver Grawert is no fly-by-night contributor. As one of Canonical’s Ubuntu Engineering bods he’s better placed than most to know what he’s talking about.
|
||||
|
||||
**‘But are Mint users in actual risk? Yes and no…’**
|
||||
|
||||
But are Mint users in actual risk?
|
||||
|
||||
Yes and no. The majority of security “holes” (for want of a better word) of the kind present in the packages that Mint’s developers steadfastly refuse to update are both documented and known, but rarely exploited by those of a nefarious breed. As such the “actual threat” posed to users remains, at least for now, largely a theoretical one.
|
||||
|
||||
That’s to say that there are no known incidents of identify theft or worse resulting from use of Mint (or any other Ubuntu-based distribution with unpatched packages) through any of the exploits referenced by Grawert on the Ubuntu Dev Mailing List.
|
||||
|
||||
But just because no-one has entered through the window left ajar thus far, isn’t to say someone won’t ever do it.
|
||||
|
||||
**After seeing Ubuntu given a long and sustained kicking about its own (largely theoretical) privacy issues, it will be interesting to see if, now the boot is placed firmly on the other foot, the vehement concern for users’ wellbeing will extend to other distributions. **
|
||||
|
||||
*Notice: We reached out to Linux Mint for comment & clarification but received no reply.*
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.omgubuntu.co.uk/2013/11/canonical-dev-dont-use-linux-mint-online-banking-unsecure
|
||||
|
||||
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:https://lists.ubuntu.com/archives/ubuntu-devel-discuss/2013-November/014770.html
|
@ -0,0 +1,42 @@
|
||||
crowner的坑
|
||||
Daily Ubuntu Tips – Change Samba Workgroup And Computer Name
|
||||
================================================================================
|
||||
Here’s another question new users to Ubuntu asked the most. The answer to the question is simple but when you’re new to anything, it takes time to fully understand it.
|
||||
|
||||
Here’s the question we received few days ago;
|
||||
|
||||
> How to change samba workgroup name and computer name in Ubuntu?
|
||||
|
||||
For most computer Ubuntu users, changing their computer name is the least thing on their list, let alone samba workgroup. A few power users may want to learn how to do this easily with using Ubuntu.
|
||||
|
||||
When it comes to changing the computer name in Ubuntu, we’ve written a simple post on that which can be [found here][1]. Follow the this simple guide on [changing your computer name in Ubuntu][1] to accomplish your goal.
|
||||
|
||||
There maybe other ways to changing your PC name in Ubuntu but this is the easiest and fastest. For those using Ubuntu server, you can use vi or vim to edit the hostname and hosts files. Using vi or vim maybe difficult for most so only someone with knowledge of using these editors should use it.
|
||||
|
||||
To change Samba workgroup in Ubuntu, press **Ctrl – Alt – T** on your keyboard to open the terminal. When it opens, run the commands below to edit Samba’s configure file.
|
||||
|
||||
sudo gedit /etc/samba/smb.conf
|
||||
|
||||
When the file opens, make sure the line starting with workgroup in the [global] section has the word or value you want the workgroup to be. For example, if you want the workgroup to be UBGP, replace WORKGROUP with that and save the file. In most cases, you’ll have to restart the computer for the change to apply.
|
||||
|
||||
![](http://www.liberiangeek.net/wp-content/uploads/2013/11/workgroupubuntu.png)
|
||||
|
||||
This is how you change your computer name as well as its workgroup in Ubuntu. Remember, if you are doing this to share or access Windows files and folders, you must also install Samba. Without Samba, it would be difficult sharing files with Windows.
|
||||
|
||||
To install Samba, run the commands below.
|
||||
|
||||
sudo apt-get install samba
|
||||
|
||||
Please come back and check out other future tips about Ubuntu.
|
||||
|
||||
Enjoy!
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.liberiangeek.net/2013/11/daily-ubuntu-tips-change-samba-workgroup-and-computer-name/
|
||||
|
||||
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.liberiangeek.net/2013/10/daily-ubuntu-tips-change-computer-name/
|
@ -0,0 +1,42 @@
|
||||
翻译中 Luox
|
||||
Daily Ubuntu Tips – Create Virtual Network Cards In Ubuntu Linux
|
||||
================================================================================
|
||||
This tutorial is for users who want to experiment a bit with Ubuntu Linux. It not for everyone, especially those with machines that are used in production.
|
||||
|
||||
If you know a thing or two about networking and IP networks, then you know that in most cases, each network card will only be assigned one IP address. It’s a one to one thing and that’s what we’re used to.
|
||||
|
||||
The thing with one network card and one IP address is, you can only host or run in single network service/port on a machine with one nic card and IP address. For example, if you wish to run a web server, on port 80, only one web server will listen on that one IP address and that port #. That’s how it’s designed to work.
|
||||
|
||||
So, instead of the one-to-one relation with network cards and IP addresses, you can create virtual network cards that can be assigned individual IP addresses. So, a single physical network card can host unlimited sub-nic cards or virtual nic. Each can then be assigned their own IP addresses with assigned ports.
|
||||
|
||||
This brief tutorial is going to show you how to do that in Ubuntu. It’s a great way to run and test multiple network services with single port # on a single computer with one network card.
|
||||
|
||||
To get started, run the commands to open the network interfaces file.
|
||||
|
||||
sudo gedit /etc/network/interfaces
|
||||
|
||||
Then add as many virtual network cards as you want by following the steps in the picture below. By default, Linux machine assigned eth0 name to the first network card. So if your machine has one network card, it will be named eth0.
|
||||
|
||||
To add virtual network cards, create more static cards and name them eth0:1, eth0:2, eth0:3, etc. (eth0 followed by colon and a number).
|
||||
|
||||
![](http://www.liberiangeek.net/wp-content/uploads/2013/11/virtualnetworkcardubuntu.png)
|
||||
|
||||
Also, for each network card you create, make sure each network is in a separate subnet.. this is networking 101.
|
||||
|
||||
When you’re done, save the file and reset the networking service by running the commands below.
|
||||
|
||||
sudo service networking restart
|
||||
|
||||
That’s it!
|
||||
|
||||
![](http://www.liberiangeek.net/wp-content/uploads/2013/11/virtualnetworkcardubuntu1.png)
|
||||
|
||||
Enjoy!
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.liberiangeek.net/2013/11/daily-ubuntu-tips-create-virtual-network-cards-in-ubuntu-linux/
|
||||
|
||||
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
@ -0,0 +1,45 @@
|
||||
Daily Ubuntu Tips – Get Geary, A Lightweight Email Reader In Ubuntu
|
||||
================================================================================
|
||||
As you may already know, Ubuntu comes with its own email client called Thunderbird that allows you to setup email accounts to send and receive emails. It also support IMAP protocol which services like Gmail, Yahoo Mail and Microsoft Outlook support.
|
||||
|
||||
Thunderbird is a great email client and does everything an email client supposed to do, but if you’re looking for an alternative that is lightweight and built around GNOME, then you may want to try Geary.
|
||||
|
||||
Geary is a free email program that lets you quickly and effortlessly read emails with a simple interface based around conversations. The entire discuss is read from a single pane without you having to click from one message to another.
|
||||
|
||||
Geary also support IMAP protocol which will let you send and receive emails using your online webmail accounts from Google, Yahoo and Microsoft.
|
||||
|
||||
For users with Ubuntu 13.10, Geary is already available from Ubuntu Software Center. All they have to do is run the commands below to install Geary.
|
||||
|
||||
sudo apt-get install geary
|
||||
|
||||
For previous versions of Ubuntu, press **Ctrl – Alt – T** on your keyboard to open the terminal. When opens, run the commands below to add its PPA repository.
|
||||
|
||||
sudo add-apt-repository ppa:yorba/ppa
|
||||
|
||||
Next, run the commands below to update your system and install Geary.
|
||||
|
||||
sudo apt-get update && sudo apt-get install geary
|
||||
|
||||
When you launch Geary the first time, it wants you to setup email accounts from Gmail, Yahoo or Microsoft.
|
||||
|
||||
![](http://www.liberiangeek.net/wp-content/uploads/2013/11/gearyubuntu.png)
|
||||
|
||||
The setup is pretty easy, just enter your account info and Geary will attempt to automatically configure your account.
|
||||
|
||||
To uninstall Geary, first remove its PPA repository from your system by running the commands below.
|
||||
|
||||
sudo add-apt-repository -r ppa:yorba/ppa
|
||||
|
||||
Then run the commands below to remove Geary.
|
||||
|
||||
sudo apt-get remove geary
|
||||
|
||||
That’s it.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.liberiangeek.net/2013/11/daily-ubuntu-tips-get-geary-a-lightweight-email-reader-in-ubuntu/
|
||||
|
||||
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
@ -0,0 +1,35 @@
|
||||
Daily Ubuntu Tips–Like GNOME Classic Menu? Get Classic Menu Indicator
|
||||
================================================================================
|
||||
Daily Ubuntu Tips–Like GNOME Classic Menu? Get Classic Menu Indicator
|
||||
|
||||
For those who have been following Ubuntu OS from the beginner, they’ve seen almost if not all the changes Ubuntu have gone through. There have been a lot of changes, especially on the desktop side. From the classic GNOME desktop environment to Unity, Ubuntu have completely been redesigned.
|
||||
|
||||
For some new users, all they know is the Unity desktop environment and just a few have heard of or seen the original GNOME desktop environment that powered Ubuntu previously. Ubuntu is completely different from what it used to be and some are having hard time coping with the way things have changed.
|
||||
|
||||
If you’re an old timer who wish to get back GNOME Classic Menu in Ubuntu Unity, installing Classic Menu Indicator will do the trick. This nifty package get installed in the notification area of the top panel and brings back GNOME Classic Menu experience in Ubuntu.
|
||||
|
||||
Like the classic GNOME Menu, it includes all the applications and structure of the classic menu. It’s easy to navigate and access applications for those who are used to it. For new users, it’s also easy to catch on.
|
||||
|
||||
This brief tutorial is going to show you how install this package in Ubuntu.
|
||||
|
||||
To get started, press **Ctrl – Alt – T** on your keyboard to open the terminal. When it opens, run the commands below to add its PPA archive.
|
||||
|
||||
sudo apt-add-repository ppa:diesch/testing
|
||||
|
||||
Next, run the commands below to install it.
|
||||
|
||||
sudo apt-get update && sudo apt-get install classicmenu-indicator
|
||||
|
||||
After installing it, go and launch the application from Unity Dash. It’s called Classic Menu Indicator. When you launch it, it will automatically dock at the top panel as shown below.
|
||||
|
||||
![](http://www.liberiangeek.net/wp-content/uploads/2013/11/classic-menu-indicator.png)
|
||||
|
||||
That’s it, use it and enjoy!
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.liberiangeek.net/2013/11/daily-ubuntu-tipslike-gnome-classic-menu-get-classic-menu-indicator/
|
||||
|
||||
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
@ -0,0 +1,31 @@
|
||||
Daily Ubuntu Tips–Make The Mouse Left-handed For Left Hand Users
|
||||
================================================================================
|
||||
The computer mouse was designed to be operated mostly using your index finger (the finger next to your thumb). By default, the mouse is configured for right-handed users. When you turn on your machine the first time, in most cases you will have to use your right index finger to click on things.
|
||||
|
||||
In fact, most left-handed users use the mouse to the left side of the keyboard and use their middle finger to click on things. This is not the best way for left handed users to use the mouse.
|
||||
|
||||
This brief tutorial is going those who need to use the mouse using their left hand properly. It will show left handed users how to setup the mouse so that the most commonly used button is operated using the left index finger.
|
||||
|
||||
This can also applied to right handed users. If the mouse is configured to be used using the left index finger, right handed users may use this guide to change the button from left to right.
|
||||
|
||||
To get started, click the gear button at the top right panel and select **System Settings**…
|
||||
|
||||
![](http://www.liberiangeek.net/wp-content/uploads/2013/11/mouse-left-handed.png)
|
||||
|
||||
Then select **Mouse & Touchpad** group from System Settings.. When it opens, choose ‘**Right**’ to switch the commonly used click button to suite left handed users.
|
||||
|
||||
![](http://www.liberiangeek.net/wp-content/uploads/2013/11/mouse-left-handed-1.png)
|
||||
|
||||
Switch back to Left to suite right handed users. The change will immediately take effect after selecting your choice.
|
||||
|
||||
That it. Now left handed users can move the mouse to the left of the keyboard and use their index finger on the left hand to operate the mouse properly.
|
||||
|
||||
Enjoy!
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.liberiangeek.net/2013/11/daily-ubuntu-tipsmake-the-mouse-left-handed-for-left-hand-users/
|
||||
|
||||
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
@ -0,0 +1,23 @@
|
||||
Deepen your creative knowledge with explanatory user-friendly icon-creation design story
|
||||
================================================================================
|
||||
Along with quality, stability and agility, Ubuntu comes paired with a team of experienced designers, designers covering more and more corners of Ubuntu and thus imprinting into the polished OS beautiful areas, optimized behaviors, carefully-implemented interactions, etc.
|
||||
|
||||
The **Ubuntu designer Matthieu "Tiheum" James**,--the creator of Faenza and Faience--, published an interesting article, centering the creation of several icons, insightful article allowing interested users and third-party developers to directly observe how a professional designer creates icons.
|
||||
|
||||
The mentioned icons have been created for Juju as presented in the recent OpenStack Summit in Hong Kong, icons adopting an entertaining nature, meant at meeting the visitors of Ubuntu's stand at the Hong Kong summit, "**we wanted** to replace the normal Juju icons for something a little bit more special in order to explain to people that visited the Ubuntu stand what kind of things Juju can do. We decided to use the idea of an ice-cream with toppings and sauce which you can build in the same way that you can build services in Juju".
|
||||
|
||||
The article exposes the psychological ground on which the actual icon-creation process stood, immersing the reader into an explanatory yet easily-graspable journey through finding good concepts, initial sketching, adding perspectives to icons, using different design approaches, choosing icon backgrounds, refining the icons, etc, essentially, a reader-friendly design story.
|
||||
|
||||
![](http://iloveubuntu.net/pictures_me/icon%20creation%20design%20story.jpg)
|
||||
|
||||
The full article can be enjoyed on [http://design.canonical.com/2013/11/juju-ice-cream-icon-design/][1]
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://iloveubuntu.net/deepen-your-creative-knowledge-explanatory-user-friendly-icon-creation-design-story
|
||||
|
||||
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://design.canonical.com/2013/11/juju-ice-cream-icon-design/
|
@ -1,108 +0,0 @@
|
||||
(正在翻译 by whatever1992)
|
||||
How to Set Up Secure Remote Networking with OpenVPN on Linux, Part 1
|
||||
================================================================================
|
||||
It's always been prudent to wrap a warm comfy layer of encryption over your Internet travels to foil snoops of all kinds, and with our own government slurping up every bit wholesale it's more crucial than ever. OpenVPN is the top choice for protecting networking over untrusted networks. Today we'll learn a quick way to set up OpenVPN so you can securely access your home server when you're on the road.
|
||||
|
||||
A quick note on VPNs: there are many commercial VPNs that aren't worth the bits they're printed on. They're little better than SSL-protected Web sites, because they trust all clients. A true VPN (virtual private network) connects two trusted endpoints over untrusted networks. You can't just log in from whatever random PC you find, and this is good because (presumably) you understand that logging in to your private network from an infected host is a bad thing to do, no matter how secure the connection is. So you have to configure both your server and client.
|
||||
|
||||
### OpenVPN Quickstart ###
|
||||
|
||||
You need two computers on different subnets, like a wired and wireless PC on the same network (or a couple of Linux guests in Virtualbox), and you need to know the IP addresses of both PCs. Let's call our example computers Studio and Shop. Install OpenVPN on both of them. OpenVPN is included in most Linux distributions, so you can install it with your favorite package manager. This example is for Debian, Ubuntu, and their myriad descendants:
|
||||
|
||||
$ sudo apt-get install openvpn openvpn-blacklist
|
||||
|
||||
That installs the server and a little program to check the blacklist of compromised keys. You must install the blacklist checker! Because once upon a time Debian distributed a [broken version of OpenSSL][1] which had a broken random number generator, so keys created with this are assumed to be too vulnerable to trust. The random number generator was not really random, but predictable. This happened way back in 2008, and everyone who used the defective OpenSSL was supposed to hunt down and replace their weak keys. Even though it's been over five years, it's cheap insurance to use the blacklist checker.
|
||||
|
||||
Now let's test it by creating an unencrypted tunnel between our two PCs. First ping each machine to make sure they're talking to each other. Then make sure that OpenVPN is not running, because we're going to start it manually:
|
||||
|
||||
$ ps ax|grep openvpn
|
||||
|
||||
If it is, kill it. Let's say that Studio's IP address is 192.168.1.125, and Shop's is 192.168.2.125. Open an unencrypted tunnel from Studio to Shop:
|
||||
|
||||
$ sudo openvpn --remote 192.168.2.125 --dev tun0 --ifconfig 10.0.0.1 10.0.0.2
|
||||
|
||||
Then from Shop to Studio:
|
||||
|
||||
$ sudo openvpn --remote 192.168.1.125 --dev tun0 --ifconfig 10.0.0.2 10.0.0.1
|
||||
|
||||
When you make a successful connection you'll see something like this:
|
||||
|
||||
Wed Oct 16 2013 ******* WARNING *******: all encryption and authentication
|
||||
features disabled -- all data will be tunnelled as cleartext
|
||||
Wed Oct 16 2013 TUN/TAP device tun0 opened
|
||||
Wed Oct 16 2013 do_ifconfig, tt->ipv6=0, tt->did_ifconfig_ipv6_setup=0
|
||||
Wed Oct 16 2013 /sbin/ifconfig tun0 10.0.0.1 pointopoint 10.0.0.2 mtu 1500
|
||||
Wed Oct 16 2013 UDPv4 link local (bound): [undef]
|
||||
Wed Oct 16 2013 UDPv4 link remote: [AF_INET]192.168.2.125:1194
|
||||
Wed Oct 16 2013 Peer Connection Initiated with [AF_INET]192.168.2.125:1194
|
||||
Wed Oct 16 2013 Initialization Sequence Completed
|
||||
|
||||
"Initialization Sequence Completed" are the magic words that confirm you did it right. You should be able to ping back and forth with the tunnel addresses, ping 10.0.0.1 and ping 10.0.0.2. When you build your tunnel you may use whatever IP addresses you want that don't overlap with your existing network. To close your tunnel press Ctrl+c.
|
||||
|
||||
Just for fun open an SSH session over your tunnel. Figure 1 shows a successful SSH login over a VPN tunnel, and it also demonstrates the fancy Message of the Day from [Put a Talking Cow in Your Linux Message of the Day][1]:
|
||||
|
||||
$ ssh carla@10.0.0.2
|
||||
|
||||
![](http://www.linux.com/images/stories/41373/SSH-OpenVPN.jpg)
|
||||
|
||||
*Figure 1: A successful SSH session over a VPN tunnel, and a fancy MOTD.*
|
||||
|
||||
Hurrah, it works!
|
||||
|
||||
### Encrypted VPN Tunnel ###
|
||||
|
||||
This is all fun and exciting, but pointless without encryption, so we'll set up a simple static key configuration. It's not as strong as a proper public key infrastructure (PKI) with root certificates and revocations and all that good stuff, but it's a good-enough solution for the lone nerd needing to call home from the road. OpenVPN helpfully includes a command to create the static key, so create a directory to store the key in, create the key, and make it read-only for the file owner:
|
||||
|
||||
$ sudo mkdir /etc/openvpn/keys/
|
||||
$ sudo openvpn --genkey --secret /etc/openvpn/keys/static.key
|
||||
$ sudo chmod 0400 /etc/openvpn/keys/static.key
|
||||
|
||||
This is a plain-text key that you can open in a text editor and look at if you're curious, and you can name it anything you want; you don't have to call it "static.key". Copy this key to both computers-- yes, the same key. It's not a private-public key pair, but just one single shared key.
|
||||
|
||||
Now we'll create some simple barebones configuration files for each computer. (On Debuntu etc. there are no default configuration files, but rather a wealth of example files in/usr/share/doc/openvpn/.) In my little test tab Studio is the server, and Shop is the wandering laptop that will log into the server. My server configuration file is/etc/openvpn/studio.conf, and this is all it has:
|
||||
|
||||
# config for Studio
|
||||
dev tun
|
||||
ifconfig 10.0.0.1 10.0.0.2
|
||||
secret /etc/openvpn/keys/static.key
|
||||
|
||||
Make this file readable and writable only to the file owner:
|
||||
|
||||
$ sudo chmod 0600 /etc/openvpn/studio.conf
|
||||
|
||||
The configuration file on the client is similar, with the addition of the IP address of the server:
|
||||
|
||||
# config for Shop
|
||||
dev tun
|
||||
ifconfig 10.0.0.2 10.0.0.1
|
||||
secret /etc/openvpn/keys/static.key
|
||||
remote 192.168.1.125
|
||||
|
||||
Mind the order of your IP addresses on the ifconfig line, because they need to be in the order of local > remote. Now fire up OpenVPN on the server, specifying the server configuration file, and do the same on your client:
|
||||
|
||||
$ sudo openvpn /etc/openvpn/studio.conf
|
||||
$ sudo openvpn /etc/openvpn/shop.conf
|
||||
|
||||
You'll see the same "Initialization Sequence Completed" message for a successful connection, and you must also look for the absence of this message, which should have appeared when you created your un-encrypted tunnel:
|
||||
|
||||
******* WARNING *******: all encryption and authentication features disabled
|
||||
|
||||
Firewalls and Dynamic IP Addresses
|
||||
|
||||
OpenVPN itself is simple to configure. The biggest hassles are dealing with firewalls and dynamic IP addresses. There are a skillion different firewalls in the world, so I shall leave it as your homework to figure out how to get through it safely. OpenVPN wants port 1194, and then you'll want to have a forwarding rule that points to the computer you want to access.
|
||||
|
||||
Dynamic IP addresses are another hassle. [Dyn.com][3] is an inexpensive way to manage dynamic IP assignment from your ISP. Or you might be able to pay your ISP a few bucks to get a static address.
|
||||
|
||||
At this point you could stop and call it good, because you can manually start OpenVPN on your server and leave it waiting for you, take your laptop out into the world, and connect to your server whenever you want. However, there are some refinements we can add such as daemonizing OpenVPN on the server, using Network Manager to make the connection automatically, and the biggest missing piece in OpenVPN howtos: how to access your remote resources. So come back next week for the rest of the story.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.linux.com/learn/tutorials/743590-secure-remote-networking-with-openvpn-on-linux
|
||||
|
||||
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.debian.org/security/2008/dsa-1571
|
||||
[2]:http://www.linux.com/learn/tutorials/741573-put-a-talking-cow-in-your-linux-message-of-the-day
|
||||
[3]:http://dyn.com/dns/
|
@ -1,93 +0,0 @@
|
||||
How to Set Up Secure Remote Networking with OpenVPN on Linux, Part 2
|
||||
================================================================================
|
||||
Greetings fellow Linux users, and welcome to the second part of our glorious OpenVPN series. When last we met we learned how to set up a [simple OpenVPN encrypted tunnel][1] between a home server and a remote node, such as a laptop. Today we're adding refinements such as how to daemonize OpenVPN so we don't have to start it manually, use Network Manager for easy connecting to our remote server, and access services.
|
||||
|
||||
### Network Manager Integration ###
|
||||
|
||||
Network Manager is a nice OpenVPN client; just make sure you have the network-manager-openvpn plugin installed. We'll use our example configurations from part 1. Open your Network Manager configuration and find the window where you set up a new VPN connection. This looks different on KDE and GNOME, but the information you'll need is the same. When you start you need to see an OpenVPN connection type, like in figure 1; if you don't see this then the plugin is missing. (The figures are from GNOME.)
|
||||
|
||||
![](http://www.linux.com/images/stories/41373/figu-1-openvpn-nm.jpg)
|
||||
|
||||
*Figure 1: Creating a new OpenVPN client config in Network Manager.*
|
||||
|
||||
Figure 2 shows the main configuration screen. Starting from the top:
|
||||
|
||||
- Whatever name you want for this connection.
|
||||
- The Gateway is the IP address of your remote server.
|
||||
- Select Static Key from the dropdown menu,
|
||||
- Then use the filepicker to find the key you want to use.
|
||||
- This is not a directional key, so select None.
|
||||
- The remote and local IP addresses are your virtual OpenVPN addresses, from your /etc/openvpn/foo.conf files.
|
||||
- We did not set a password.
|
||||
- "Available to all users" or just you, whichever you want.
|
||||
|
||||
![](http://www.linux.com/images/stories/41373/fig-2-openvpn-nm-1.jpg)
|
||||
|
||||
*Figure 2: Main Network Manager configuration for OpenVN client.*
|
||||
|
||||
Save, and then use Network Manager to connect. Easy peasey! Now you can connect and disconnect with the click of a button (figure 3).
|
||||
|
||||
![](http://www.linux.com/images/stories/41373/fig-3-openvpn-nm-3.jpg)
|
||||
|
||||
### Run OpenVPN Automatically ###
|
||||
|
||||
It's simple to start up OpenVPN manually, but you might want to daemonize it on your server for convenience, and to survive accidental reboots. On Debian/Ubuntu/great-thundering-herd-of-spawn distros this is handled automatically: when you install OpenVPN it's configured to automatically start at boot. So, after installation you need to reboot, or start the daemon with one of these commands:
|
||||
|
||||
$ sudo /etc/init.d/openvpn start
|
||||
$ sudo service openvpn start
|
||||
|
||||
The first command is the old-fashioned way, and the second command uses the service command. service first appeared in Red Hat Linux back in the olden days, and if your distro doesn't install it by default it's probably lurking in the repos if you want to use it.
|
||||
|
||||
Fedora uses the systemd init system, in contrast to Ubuntu which uses Upstart, and Debian still uses good old SysV init. If you have multiple OpenVPN configurations in /etc/openvpn you can start each one selectively in systemd, like this:
|
||||
|
||||
# systemctl start systemctl start openvpn@studio.service
|
||||
|
||||
Where "studio.service" references our example /etc/openvpn/studio.conf file from part one. This invocation does not survive a reboot, so it's just like running openvpn /etc/openvpn/studio.conf, which is how we started OpenVPN sessions manually in part 1. You should be able to daemonize OpenVPN on systemd with chkconfig:
|
||||
|
||||
# service openvpn start
|
||||
# chkconfig openvpn on
|
||||
|
||||
That should daemonize OpenVPN in the usual way, which is as a monolithic daemon and not individually per .conf file in /etc/openvpn/. systemd supports the chkconfig and servicecommands so it should work. However, the distros that use systemd are quite variable, so if yours is different please let us know in the comments.
|
||||
|
||||
### Strengthening Your Connection ###
|
||||
|
||||
OpenVPN is robust and is good at maintaining a persistent connection, even with service interruptions. You can make your connection even stronger by adding these lines to your .conf files on clients and server:
|
||||
|
||||
persist-tun
|
||||
persist-key
|
||||
|
||||
These are helpful for laptop users who disrupt their connection a lot with power-save and being on the move.
|
||||
|
||||
### Now What? ###
|
||||
|
||||
Now that you have this all set up and working, what do you do with it? If you're used to using OpenSSH for remote operations you might be stuck in the SSH mindset of being able to log into specific machines and run applications. It doesn't work that way. Rather, think of OpenVPN as a virtual Ethernet cable to your server or LAN, all wrapped in a nice stout layer of encryption. You can run unencrypted and encrypted services over the same tunnel, and you only have to open a single hole in your firewall.
|
||||
|
||||
So you can run SSH in the way you're used to over your OpenVPN tunnel, and do remote administration and run applications. You can access network resources such as fileshares and Web applications. You can force all networking on the client to go through your VPN tunnel, but for this series I've assumed that you want to be able to use both your native and VPN networks.
|
||||
|
||||
So there you are on your trusty laptop and you can surf the Web, run SSH, do whatever you want on whatever network you're connected to. Then when you want to run something over your OpenVPN tunnel open it up and specify the IP address, like this:
|
||||
|
||||
$ ssh carla@10.0.0.1
|
||||
|
||||
Web applications are easy: point your Web browser to the virtual IP address of your OpenVPN server and log in as usual. For example, I run various Web services for testing on my home server. So I access Drupal at [http://10.0.0.1/drupal][2] and OwnCloud at [http://10.0.0.1/owncloud][3]. I use the nice gFTP graphical FTP client, so all I need to connect is the virtual IP address on the Host line, username, and password. Or use the command line:
|
||||
|
||||
$ ftp 10.0.0.1 21
|
||||
|
||||
You can administer your MySQL database from afar, using your own username and password:
|
||||
|
||||
$ mysql -h 10.0.0.1 -u admin -p
|
||||
|
||||
So the main thing you need to know is how to add the host specification to whatever command you want to run.
|
||||
|
||||
Obviously, this would all be easier with name services instead of having to use IP addresses, so one of these days we'll learn how to implement name services in OpenVPN. Meanwhile, please enjoy your nice secure OpenVPN tunnel.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.linux.com/learn/tutorials/745233-how-to-set-up-secure-remote-networking-with-openvpn-on-linux-part-2
|
||||
|
||||
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.linux.com/learn/tutorials/743590-secure-remote-networking-with-openvpn-on-linux
|
||||
[2]:http://10.0.0.1/drupal
|
||||
[3]:http://10.0.0.1/owncloud
|
@ -1,39 +0,0 @@
|
||||
Vic020认领了
|
||||
How to add icons to menus in Ubuntu 13.10
|
||||
================================================================================
|
||||
By default, using Ubuntu 13.10, the user is met by an optimized set of default applications, behaviors and functionalities, defaults empowering the user in digesting a powerful solid computer experience.
|
||||
|
||||
Ubuntu expresses its features as tweakable, as a consequence, users are able to modify and adjust the defaults with the help of intuitive user-friendly tools, such as Ubuntu Tweak.
|
||||
|
||||
By default, Ubuntu disables the icons from inside menus, meaning, right-clicking on the desktop, opens the right-click menu, menu containing only text entries and no icons.
|
||||
|
||||
Yet, adding icons to menus in Ubuntu 13.10 is as simple as:
|
||||
|
||||
- install Ubuntu Tweak
|
||||
|
||||
sudo add-apt-repository ppa:tualatrix/ppa
|
||||
|
||||
sudo apt-get update
|
||||
|
||||
sudo apt-get install ubuntu-tweak
|
||||
|
||||
- launch Ubuntu Tweak and navigate to `Tweaks-->Miscellaneous`
|
||||
- check `Menus have icons`
|
||||
|
||||
The **result**: right-clicking now on the desktop, renders icons inside the menu, icon-enablement feature adopted by other right-click menus, too (like for example, the menus from inside Nautilus, Firefox, Gedit, etc).
|
||||
|
||||
![](http://iloveubuntu.net/pictures_me/menu%20icon%203%20ubuntu%2013.10.png)
|
||||
|
||||
![](http://iloveubuntu.net/pictures_me/menu%20icons%20ubuntu%2013.10%201.png)
|
||||
|
||||
![](http://iloveubuntu.net/pictures_me/menu%20icons%20ubuntu%2013.10%202.png)
|
||||
|
||||
While minor, the newly-added icons imprint more clarity and beauty into the frequently-used right-click menus, increasing their level of good looks, especially when the menus are icon-enabled under icon themes featuring monochrome icons.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://iloveubuntu.net/how-add-icons-menus-ubuntu-1310
|
||||
|
||||
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
@ -1,56 +0,0 @@
|
||||
|
||||
**【晨光】翻译中**
|
||||
|
||||
How to add kernel boot parameters via GRUB on Linux
|
||||
================================================================================
|
||||
The Linux kernel can be supplied with various parameters during boot time or at run time. These parameters customize the default behavior of the kernel, or inform the kernel about hardware configuration. Kernel parameters can be changed at run time by modifying files in /proc or /sys, while certain kernel parameters need be passed to the kernel at boot time by a boot loader such as GRUB or LILO.
|
||||
|
||||
In this tutorial, I will describe **how to add kernel boot parameters via GRUB on Linux**.
|
||||
|
||||
If you want to change or add kernel parameters when you are using GRUB boot loader, you can edit GRUB config file. The following are distro-specific ways to add kernel boot parameters to a GRUB config file.
|
||||
|
||||
### Add Kernel Boot Parameters on Debian or Ubuntu ###
|
||||
|
||||
If you want to add kernel parameters during boot time on a Debian based system, edit GRUB config template at /etc/default/grub. Add a kernel parameter in the form of “name=value” in GRUB_CMDLINE_LINUX_DEFAULT variable.
|
||||
|
||||
$ sudo -e /etc/default/grub
|
||||
|
||||
> GRUB_CMDLINE_LINUX_DEFAULT="...... name=value"
|
||||
|
||||
Then run the following command to actually generate a GRUB config file.
|
||||
|
||||
$ sudo update-grub
|
||||
|
||||
If the command update-grub is not found, you can install it as follows.
|
||||
|
||||
$ sudo apt-get install grub2-common
|
||||
|
||||
### Add Kernel Boot Parameters on Fedora ###
|
||||
|
||||
To add kernel parameters during boot time on Fedora, edit GRUB config template at /etc/default/grub. Add a kernel parameter in the form of “name=value” in GRUB_CMDLINE_LINUX variable.
|
||||
|
||||
$ sudo -e /etc/default/grub
|
||||
|
||||
> GRUB_CMDLINE_LINUX="...... name=value"
|
||||
|
||||
Then run the following command to generate a GRUB2 config file.
|
||||
|
||||
$ sudo grub2-mkconfig -o /boot/grub2/grub.cfg
|
||||
|
||||
### Add Kernel Boot Parameters on CentOS ###
|
||||
|
||||
To add kernel parameters during boot on CentOS, directly edit a GRUB config file located at /boot/grub/grub.conf. In the config file, look for the entry describing the default Linux image used. The string “default=N” at the top of the config file indicates which entry is the default image.
|
||||
|
||||
[![](http://farm8.staticflickr.com/7429/10618657834_8082c2806b_z.jpg)][1]
|
||||
|
||||
Under the default image entry, append a kernel parameter to the line starting with “kernel /vmlinuz-”. A kernel parameter should be formatted as “name=value”.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://xmodulo.com/2013/11/add-kernel-boot-parameters-via-grub-linux.html
|
||||
|
||||
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.flickr.com/photos/xmodulo/10618657834/
|
77
sources/How to manage Linux server with GUI.md
Normal file
77
sources/How to manage Linux server with GUI.md
Normal file
@ -0,0 +1,77 @@
|
||||
How to manage Linux server with GUI
|
||||
================================================================================
|
||||
A typical Linux server runs in a command line interface (CLI) environment, preloaded with bare essential tools needed to install and configure various headless services. Compared to a full-blown GUI desktop image, such a minimal setup is advantageous in terms of security, resource consumption and speed.
|
||||
|
||||
If you are used to GUI-based environment, however, you may wonder whether there is a GUI for Linux server. A typical Linux desktop environment like GNOME, KDE, etc. will probably be too resource-heavy for what it's worth, and not as secure simply because there will be more code subject to potential security vulnerabilities.
|
||||
|
||||
An alternative to a full-blown desktop GUI is to use a **web-based server administration tool**. There are several web-based system configuration tools, such as [Webmin][1], [ISPconfig][2], [Zentyal][3], etc.
|
||||
|
||||
In this tutorial, I will describe **how to manage and configure a Linux server with Webmin's web-based GUI**.
|
||||
|
||||
Webmin is a lightweight (~20 MB) system configuration tool written in Perl. Webmin has a built-in web server, allowing users to configure a Linux server via web interface. One of its strength is its modular architecture where you can load modules to Webmin to extend its functionality.
|
||||
|
||||
### Install Webmin on Linux Server ###
|
||||
|
||||
To install Webmin on Ubuntu or Debian server, you can use the following commands.
|
||||
|
||||
$ sudo apt-get install perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl apt-show-versions python
|
||||
$ wget http://prdownloads.sourceforge.net/webadmin/webmin_1.660_all.deb
|
||||
$ sudo dpkg -i webmin_1.660_all.deb
|
||||
|
||||
To install Webmin on CentOS or RHEL server, use these commands.
|
||||
|
||||
$ wget http://prdownloads.sourceforge.net/webadmin/webmin_1.660_all.deb
|
||||
$ sudo rpm -U webmin-1.660-1.noarch.rpm
|
||||
|
||||
### Access Webmin Interface ###
|
||||
|
||||
Once you installed Webmin, you can access Webmin by going to https://<HOST_IP>:10000 on a web browser. If you have a firewall enabled, make sure that TCP 10000 port is not blocked.
|
||||
|
||||
Also, note that you should use HTTPS, not HTTP. Otherwise, you will get a redirection error. By default, Webmin runs in SSL mode with a default SSL certificate generated by Webmin.
|
||||
|
||||
Once you see Webmin's login page, you can log in as root (with the root password) or as any user who can use sudo on the Linux server. After logging in, you will see the status summary of your Linux server as follows.
|
||||
|
||||
[![](http://farm4.staticflickr.com/3803/10937800943_e1ac465c3f_z.jpg)][4]
|
||||
|
||||
### Webmin Features ###
|
||||
|
||||
Webmin boasts of an extremely rich set of features that allow you to configure almost every aspect of a given Linux server. In the following, let me give you a glimpse of some of its powerful features.
|
||||
|
||||
Enable or disable boot-time services, and show their configuration status.
|
||||
|
||||
[![](http://farm8.staticflickr.com/7437/10937589506_7abcaac10e_z.jpg)][5]
|
||||
|
||||
Monitor the status of server and services in real time, and configure scheduled monitoring and notification emails. Here you can monitor various server daemons such as NFS, MySQL, BIND DNS, Squid proxy, Apache Web server, etc., as well as system resources such as disk storage, memory or network traffic.
|
||||
|
||||
Configure iptables-based firewall rules.
|
||||
|
||||
[![](http://farm4.staticflickr.com/3679/10937801173_61cd4b11a3_z.jpg)][6]
|
||||
|
||||
Configure local routing table and gateways.
|
||||
|
||||
Mount and configure a filesystem.
|
||||
|
||||
[![](http://farm4.staticflickr.com/3710/10937589556_9fd192cdb9_z.jpg)][7]
|
||||
|
||||
Access and modify local file system via web-based file manager interface. This requires Java plugin for web browser.
|
||||
|
||||
Change Webmin configurations, where you can access-control IP addresses, add/remove Webmin modules, enable two-factor authentication for secure login, set up certificate authority, etc.
|
||||
|
||||
[![](http://farm8.staticflickr.com/7317/10937532015_b5e1263496_z.jpg)][8]
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://xmodulo.com/2013/11/manage-linux-server-gui.html
|
||||
|
||||
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.webmin.com/
|
||||
[2]:http://www.ispconfig.org/
|
||||
[3]:http://www.zentyal.org/
|
||||
[4]:http://www.flickr.com/photos/xmodulo/10937800943/
|
||||
[5]:http://www.flickr.com/photos/xmodulo/10937589506/
|
||||
[6]:http://www.flickr.com/photos/xmodulo/10937801173/
|
||||
[7]:http://www.flickr.com/photos/xmodulo/10937589556/
|
||||
[8]:http://www.flickr.com/photos/xmodulo/10937532015/
|
@ -1,100 +0,0 @@
|
||||
我知道psensor 我知道 我翻译
|
||||
|
||||
How to monitor system temperature on Linux
|
||||
================================================================================
|
||||
In most cases, you are not supposed to be worried about the temperature of your computer. Barring manufacturing defects, hardware is designed so that its temperature does not exceed maximum operating temperature. But even without any hardware fault, overheating can occur due to various software issues, e.g., buggy graphics card driver, misconfigured fan control program, malfunctioning CPU frequency scaling daemon, etc.
|
||||
|
||||
Overheating may become serious enough to cause permanent damage on your hardware. So watch out for any overheating issue in your system. Even better, have temperature monitoring system in place, so that you will be alerted if system temperature suddenly goes up.
|
||||
|
||||
In this tutorial, I will describe **how to monitor system temperature on Linux**.
|
||||
|
||||
There are several user space tools on Linux, which allow you to check and monitor temperature of various system components.
|
||||
|
||||
[lm-sensors][1] is a software tool that draws from hardware embedded sensors to monitor temperatures, voltage, humidity and fans. [hddtemp][2] is a tool that can measure the temperature of hard drives from [S.M.A.R.T.][3] readings. [psensor][4] is a graphical front-end for temperature monitoring, which visualizes temperature readings from CPUs, NVidia/ATI/AMD GPUs, hard disks, etc.
|
||||
|
||||
In the following, I will describe how to set up psensor to monitor the temperature of CPUs and hard drives.
|
||||
|
||||
### Install psensor on Linux Desktop ###
|
||||
|
||||
psensor can visualize system temperature based on the information obtained from other tools such as lm-sensors and hddtemp. Thus you need to install psensor along with those prerequisites.
|
||||
|
||||
To install psensor on Debian or Ubuntu:
|
||||
|
||||
$ sudo apt-get install lm-sensors hddtemp psensor
|
||||
|
||||
To install psensor on Fedora:
|
||||
|
||||
$ sudo yum install lm_sensors hddtemp
|
||||
$ sudo yum install gcc gtk3-devel GConf2-devel lm_sensors-devel cppcheck libatasmart-devel libcurl-devel json-c-devel libmicrohttpd-devel help2man libnotify-devel libgtop2-devel make
|
||||
$ wget http://wpitchoune.net/psensor/files/psensor-0.8.0.3.tar.gz
|
||||
$ tar xvfvz psensor-0.8.0.3.tar.gz
|
||||
$ cd psensor-0.8.0.3
|
||||
$ ./configure
|
||||
$ make
|
||||
$ sudo make install
|
||||
|
||||
Due to the requirement for GTK3 libraries, psensor is not compatible with the GNOME 2 desktop of CentOS or RHEL 6.
|
||||
|
||||
### Configure psensor on Linux ###
|
||||
|
||||
Before launching psensor, you need to configure lm_sensors and hddtemp first.
|
||||
|
||||
#### lm_sensors configuration ####
|
||||
|
||||
To configure lm_sensors, run the following command. Choose YES to every question.
|
||||
|
||||
$ sudo sensors-detect
|
||||
|
||||
This command will probe for and detect embedded sensors in your hardware (including CPUs, memory controllers, I/O chips), and automatically determine which driver modules need to be loaded to check temperature on your system.
|
||||
|
||||
Once sensor probing is completed, you will be asked to add detected driver module(s) to /etc configuration, so they can be loaded automatically upon boot.
|
||||
|
||||
On Debian or Ubuntu, detected driver modules will be added to /etc/modules. On Fedora, the driver information will be added to /etc/sysconfig/lm_sensors.
|
||||
|
||||
Next, proceed to load necessary modules as follows.
|
||||
|
||||
On Ubuntu:
|
||||
|
||||
$ sudo service module-init-tools start
|
||||
|
||||
On Debian:
|
||||
|
||||
$ sudo /etc/init.d/kmod start
|
||||
|
||||
On Fedora:
|
||||
|
||||
$ sudo service lm_sensors start
|
||||
|
||||
#### hddtemp configuration ####
|
||||
|
||||
You also need to launch hddtemp which monitors the temperature of hard drives.
|
||||
|
||||
Run the following command to launch hddtemp as a daemon. Replace “/dev/sda” with the disk drive to monitor on your system.
|
||||
|
||||
$ sudo hddtemp -d /dev/sda
|
||||
|
||||
### Monitor System Temperature with psensor ###
|
||||
|
||||
To start monitoring temperature with psensor, simply run:
|
||||
|
||||
$ psensor
|
||||
|
||||
The psensor window will show a list of available sensors, and visualize temperature readings from these sensors. You can selectively enable or disable each sensor.
|
||||
|
||||
[![](http://farm8.staticflickr.com/7448/10719475225_f89b6f7191_z.jpg)][5]
|
||||
|
||||
Optionally, you can set an alarm level for each sensor, so that you can be notified when the temperature from a sensor exceeds a threshold.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://xmodulo.com/2013/11/monitor-system-temperature-linux.html
|
||||
|
||||
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://lm-sensors.org/
|
||||
[2]:http://www.guzu.net/linux/hddtemp.php
|
||||
[3]:http://en.wikipedia.org/wiki/S.M.A.R.T.
|
||||
[4]:http://wpitchoune.net/blog/psensor/
|
||||
[5]:http://www.flickr.com/photos/xmodulo/10719475225/
|
@ -1,124 +0,0 @@
|
||||
翻译中 by小眼儿
|
||||
|
||||
How to set up web-based network traffic monitoring system on Linux
|
||||
================================================================================
|
||||
When you are tasked with monitoring network traffic on the local network, you can consider many different options to do it, depending on the scale/traffic of the local network, monitoring platforms/interface, types of backend database, etc.
|
||||
|
||||
[ntopng][1] is an open-source (GPLv3) network traffic analyzer which provides a web interface for real-time network traffic monitoring. It runs on multiple platforms including Linux and MacOS X. ntopng comes with a simple RMON-like agent with built-in web server capability, and uses [Redis][2]-backed key-value server to store time series statistics. You can install ntopng network traffic analyzer on any designated monitoring server connected to your network, and use a web browser to access real-time traffic reports available on the server.
|
||||
|
||||
In this tutorial, I will describe **how to set up a web-based network traffic monitoring system on Linux by using ntopng.**
|
||||
|
||||
### Features of ntopng ###
|
||||
|
||||
- Flow-level, protocol-level real-time analysis of local network traffic.
|
||||
- Domain, AS (Autonomous System), VLAN level statistics.
|
||||
- Geolocation of IP addresses.
|
||||
- Deep packet inspection (DPI) based service discovery (e.g., Google, Facebook).
|
||||
- Historical traffic analysis (e.g., hourly, daily, weekly, monthly, yearly).
|
||||
- Support for sFlow, NetFlow (v5/v9) and IPFIX through nProbe.
|
||||
- Network traffic matrix (who’s talking to who?).
|
||||
- IPv6 support.
|
||||
|
||||
### Install ntopng on Linux ###
|
||||
|
||||
The official website offers binary packages for [Ubuntu][3] and [CentOS][4]. So if you use either platform, you can install these packages.
|
||||
|
||||
If you want to build the latest ntopng from [its source][5], follow the instructions below.
|
||||
|
||||
To build ntopng on Debian, Ubuntu or Linux Mint:
|
||||
|
||||
$ sudo apt-get install libpcap-dev libglib2.0-dev libgeoip-dev redis-server wget
|
||||
$ tar xzf ntopng-1.0.tar.gz
|
||||
$ cd ntopng-1.0/
|
||||
$ ./configure
|
||||
$ make geoip
|
||||
$ make
|
||||
|
||||
In the above steps, “make geoip” will automatically download a free version of GeoIP databases with wget from maxmind.com. So make sure that your system is connected to the network.
|
||||
|
||||
To build ntopng on Fedora:
|
||||
|
||||
$ sudo yum install libpcap-devel glib2-devel GeoIP-devel
|
||||
libxml2-devel redis wget
|
||||
$ tar xzf ntopng-1.0.tar.gz
|
||||
$ cd ntopng-1.0/
|
||||
$ ./configure
|
||||
$ make geoip
|
||||
$ make
|
||||
|
||||
To install ntopng on CentOS or RHEL, first [set up EPEL repository][6], and then follow the same instructions as in [Fedora][7] above.
|
||||
|
||||
### Configure ntopng on Linux ###
|
||||
|
||||
After building ntopng, create a configuration directory for ntopng, and prepare default configuration files as follows. I assume that “192.168.1.0/24″ is the CIDR address prefix of your local network.
|
||||
|
||||
$ sudo mkir /etc/ntopng -p
|
||||
|
||||
$ sudo -e /etc/ntopng/ntopng.start
|
||||
|
||||
> --local-networks "192.168.1.0/24"
|
||||
>
|
||||
> --interface 1
|
||||
|
||||
$ sudo -e /etc/ntopng/ntopng.conf
|
||||
|
||||
> -G=/var/run/ntopng.pid
|
||||
|
||||
Before running ntopng, make sure to first start redis, which is a key-value store for ntopng.
|
||||
|
||||
To start ntopng on Debian, Ubuntu or Linux Mint:
|
||||
|
||||
$ sudo /etc/init.d/redis-server restart
|
||||
$ sudo ./ntopng
|
||||
|
||||
To start ntopng on Fedora, CentOS or RHEL:
|
||||
|
||||
$ sudo service redis restart
|
||||
$ sudo ./ntopng
|
||||
|
||||
By default, ntopng listens on TCP/3000 port. Verify this is the case using the command below.
|
||||
|
||||
$ sudo netstat -nap|grep ntopng
|
||||
|
||||
> tcp 0 0 0.0.0.0:3000 0.0.0.0:* LISTEN 29566/ntopng
|
||||
|
||||
### Monitor Network Traffic in Web-Based Interface ###
|
||||
|
||||
Once ntopng is successfully running, go to http://<ip-address-of-host>:3000 on your web browser to access the web interface of ntopng.
|
||||
|
||||
You will see the login screen of ntopng. Use the default username and password: “admin/admin” to log in.
|
||||
|
||||
Here are a few screenshots of ntopng in action.
|
||||
|
||||
Real-time visualization of top flows.
|
||||
|
||||
[![](http://farm4.staticflickr.com/3830/10487165303_8bf0b25668_z.jpg)][8]
|
||||
|
||||
Live statistics of top hosts, top protocols and top AS numbers.
|
||||
|
||||
[![](http://farm3.staticflickr.com/2886/10486988416_7c8770e823_z.jpg)][9]
|
||||
|
||||
Real time report of active flows with DPI-based automatic application/service discovery.
|
||||
|
||||
Historic traffic analysis.
|
||||
|
||||
[![](http://farm8.staticflickr.com/7379/10486995114_f0b58243a8_z.jpg)][10]
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://xmodulo.com/2013/10/set-web-based-network-traffic-monitoring-linux.html
|
||||
|
||||
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.ntop.org/products/ntop/
|
||||
[2]:http://redis.io/
|
||||
[3]:http://apt.ntop.org/
|
||||
[4]:http://rpm.ntop.org/
|
||||
[5]:http://sourceforge.net/projects/ntop/files/ntopng/
|
||||
[6]:http://xmodulo.com/2013/03/how-to-set-up-epel-repository-on-centos.html
|
||||
[7]:http://xmodulo.com/go/fedora_guide
|
||||
[8]:http://www.flickr.com/photos/xmodulo/10487165303/
|
||||
[9]:http://www.flickr.com/photos/xmodulo/10486988416/
|
||||
[10]:http://www.flickr.com/photos/xmodulo/10486995114/
|
@ -1,33 +0,0 @@
|
||||
KDE and Canonical Conflict Over Mir Finally Bursts into Open
|
||||
================================================================================
|
||||
The conflict that has been brewing between the KDE developers and Canonical has finally exploded in a flurry of statements which show just how many problems the Mir display server has caused.
|
||||
|
||||
KDE and Canonical, especially Mark Shuttleworth, have been friends for a long time. Once upon a time, back in 2006, Mark Shuttleworth was the first patron of KDE and people were uttering things like this:
|
||||
|
||||
“I have no doubt that you will do the right thing once you actually see the true potential that KDE4 could bring. You are a true visionary. The world needs more people like you,” said one of the members of the KDE community.
|
||||
|
||||
Seven years later, Canonical announces a new displayer server and everything that KDE, Kubuntu, and Canonical communities have built together goes out the window.
|
||||
|
||||
The war of declarations has culminated with [a post written by Mark Shuttleworth][1] in which he grouped all the people that have been criticizing the Mir display server, on purely political reasons in his opinion, into a virtual “Tea Party”. A lot of people took offense, especially a couple of prolific KDE developers who opposed Mir straight from the get-go.
|
||||
|
||||
KDE Plasma developers and president of KDE e.v, Aaron Seigo, challenged Mark Shuttleworth to a debate regarding the issue. [The founder of Canonical has ignored][2] his request, which prompted a second reaction which turned out to be a lot more acid that the first comments.
|
||||
|
||||
The second reaction came from one of the Kwin developers and maintainers, Martin Gräßlin, which has basically [said goodbye to the Ubuntu community][3]. The reactions to his Google+ post have been mixed and it promoted a reaction from the Ubuntu community manager, Jono Bacon.
|
||||
|
||||
“Open Source has been and will always be filled with very energetic discussion. In some cases this discussion blurs into the area of rudeness and disrespect. The difficulty is that everyone's definition of what is rude and disrespectful is different. Likewise, everyone's definition of good and bad conduct is different,” said Jono Bacon in his post.
|
||||
|
||||
He expressed his regret towards the decision of Martin Gräßlin, but he also pointed out the Ubuntu Code of Conduct 2.0, which has been broken so many times it's hard to keep count.
|
||||
|
||||
As it stands right now, KDE will never adopt Mir, Kubuntu will probably follow suite, and the days of this Ubuntu flavor are probably numbered.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://news.softpedia.com/news/KDE-and-Canonical-Conflict-Over-Mir-Finally-Bursts-into-Open-396651.shtml
|
||||
|
||||
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://news.softpedia.com/news/Mark-Shuttleworth-Says-That-Mir-Opponents-Have-Formed-the-Open-Source-Tea-Party-392793.shtml
|
||||
[2]:http://news.softpedia.com/news/KDE-Developer-and-President-of-KDE-e-v-Upset-Because-Mark-Shuttleworth-Is-Ignoring-Him-396623.shtml
|
||||
[3]:http://news.softpedia.com/news/Major-KDE-Developer-Says-Goodbye-to-Ubuntu-396429.shtml
|
@ -1,108 +0,0 @@
|
||||
Options in Linux RPM Command to Query Packages
|
||||
================================================================================
|
||||
RPM is RedHat Package Manager, used to install/remove/update and query the packages in Red Hat based linux. RHEL and the systems based on it uses rpm command to do that. The following example demonstrates the use of rpm query feature and shows different ways you can query rpm database and restore configuration file.
|
||||
|
||||
I have included the SSH package to in the example commands.
|
||||
|
||||
### Query RPM Database and Packages ###
|
||||
|
||||
**1、 To query the whole RPM database, use the following command.**
|
||||
|
||||
# rpm -qa
|
||||
plymouth-0.8.3-27.el6.x86_64
|
||||
pciutils-libs-3.1.10-2.el6.i686
|
||||
netcf-libs-0.1.9-3.el6.x86_64
|
||||
..
|
||||
…
|
||||
..
|
||||
Output Truncated
|
||||
|
||||
**2、 You can identify the package from which SSH is installed by using grep on the above example.**
|
||||
|
||||
# rpm -qa |grep ssh
|
||||
libssh2-1.4.2-1.el6.x86_64
|
||||
openssh-askpass-5.3p1-84.1.el6.x86_64
|
||||
libssh2-1.4.2-1.el6.i686
|
||||
openssh-server-5.3p1-84.1.el6.x86_64
|
||||
openssh-clients-5.3p1-84.1.el6.x86_64
|
||||
openssh-5.3p1-84.1.el6.x86_64
|
||||
|
||||
The output shows other packages related to ssh but you have to still identify that which package is actually installing SSH. To further break it down see the next example.
|
||||
|
||||
**3、 Check the installed package of SSH a) from sshd daemon b) from it’s configuration file.**
|
||||
|
||||
# rpm -qf /etc/init.d/sshd
|
||||
openssh-server-5.3p1-84.1.el6.x86_64
|
||||
# rpm -qf /etc/ssh/sshd_config
|
||||
openssh-server-5.3p1-84.1.el6.x86_64
|
||||
|
||||
As you can see the ssh is installed from the openssh-server-5.3p1-84.1.el6.x86_64 package. You can use rpm -qf command both on daemon and a configuration file. Both will output the package it is installed from.
|
||||
|
||||
**4、 Now that you have the package name, you may want to explore more on it and want to know what are the various files this package contains. For that use rpm -ql command.**
|
||||
|
||||
# rpm -ql openssh-server-5.3p1-84.1.el6.x86_64
|
||||
/etc/pam.d/ssh-keycat
|
||||
/etc/pam.d/sshd
|
||||
/etc/rc.d/init.d/sshd
|
||||
/etc/ssh/sshd_config
|
||||
/etc/sysconfig/sshd
|
||||
/usr/libexec/openssh/sftp-server
|
||||
/usr/libexec/openssh/ssh-keycat
|
||||
/usr/sbin/.sshd.hmac
|
||||
/usr/sbin/sshd
|
||||
/usr/share/doc/openssh-server-5.3p1
|
||||
/usr/share/doc/openssh-server-5.3p1/HOWTO.ssh-keycat
|
||||
/usr/share/man/man5/moduli.5.gz
|
||||
/usr/share/man/man5/sshd_config.5.gz
|
||||
/usr/share/man/man8/sftp-server.8.gz
|
||||
/usr/share/man/man8/sshd.8.gz
|
||||
/var/empty/sshd
|
||||
|
||||
he above output is showing all the files that this package installed on the system. Now let’s even break it down and we only want to see the configuration files and document files supplied with this package.
|
||||
|
||||
**5、 To list only the configuration files use the rpm -qc command.**
|
||||
|
||||
# rpm -qc openssh-server-5.3p1-84.1.el6.x86_64
|
||||
/etc/pam.d/ssh-keycat
|
||||
/etc/pam.d/sshd
|
||||
/etc/ssh/sshd_config
|
||||
/etc/sysconfig/sshd
|
||||
|
||||
**6、 To list only documentation files use rpm -qd command**
|
||||
|
||||
# rpm -qd openssh-server-5.3p1-84.1.el6.x86_64
|
||||
/usr/share/doc/openssh-server-5.3p1/HOWTO.ssh-keycat
|
||||
/usr/share/man/man5/moduli.5.gz
|
||||
/usr/share/man/man5/sshd_config.5.gz
|
||||
/usr/share/man/man8/sftp-server.8.gz
|
||||
/usr/share/man/man8/sshd.8.gz
|
||||
|
||||
Consider a situation in which you want to configure a service, but you don’t know where to find the configuration files. As an example, Consider the above example: Use **rpm -qf rpm -qf /etc/init.d/sshd** to find out from what package the **/etc/ssh/sshd_config** file originated. It should show you the **openssh-server-5.3p1-84.1.el6.x86_64** package. Use **rpm -ql openssh-server-5.3p1-84.1.el6.x86_64** to show a list of all the files in this package. As you can see, the names of many files are displayed, but the output is not very useful.
|
||||
|
||||
Now use **rpm -qc openssh-server-5.3p1-84.1.el6.x86_64** to show just the configuration files used by this package. This shows a list of four files only and gives you the absolute path of [/etc/ssh/sshd_config file][1] to start configuring the service.
|
||||
|
||||
**7、 Restore configuration file from RPM Package, without reinstalling a package.**
|
||||
|
||||
If for some reason a file has been damaged or got deleted from system, you can start with the **rpm -qf** query option to find out from what package the file originated. Next use **rpm2cpio | cpio -idmv** to extract the files from the package. Consider the ssh example:
|
||||
|
||||
Assuming that the **/etc/ssh/sshd_config** file has been deleted and you may not want to reinstall ssh, Restore the file using the steps below.
|
||||
|
||||
* Use rpm -qf /etc/init.d/sshd This command shows that the file comes from the openssh-server-5.3p1-84.1.el6.x86_64 Package.
|
||||
|
||||
* Download the Openssh rpm from it’s source
|
||||
|
||||
* Copy openssh-server-5.3p1-84.1.el6.x86_64 package file to /tmp directory or any other directory of your choice.
|
||||
|
||||
* Use rpm2cpio |cpio -idmv to extract the package.
|
||||
|
||||
The command you used in the above step created a few subdirectories in /tmp. You can now copy it to its original location.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://linoxide.com/linux-command/rpm-command-query/
|
||||
|
||||
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.linoxide.com/how-tos/disable-ssh-direct-login/
|
@ -1,39 +0,0 @@
|
||||
Translating by l3b2w1
|
||||
Linux Desktop In The Enterprise: Ubuntu Vs. Windows
|
||||
================================================================================
|
||||
The "year of the Linux desktop" has been prophesied by Linux supporters almost every year for the last decade. This was once a lofty goal in the Microsoft-dominated enterprise, but times are changing. Linux has grown into a formidable competitor in the smartphone and cloud computing markets, which has caught Microsoft off guard. More importantly, Google, IBM, Red Hat, Facebook, and Netflix have made huge investments into Linux innovations.
|
||||
|
||||
Now, with shrinking technology budgets and rising Microsoft licensing fees, it's time for IT to seriously consider desktop Linux deployment as an alternative to Windows. The timing for this couldn't be better: Windows 8.1 was just released, as was the latest version of Ubuntu, 13.10. Windows XP has just five months of support left, so companies need to make the switch to something new. Ubuntu may just have what companies need to support their desktop OS needs. I'll look at various considerations for making the Linux desktop switch, including training and support, as well as potential complications.
|
||||
|
||||
I know that Ubuntu has lost some of the favor it once enjoyed in the open source community. Canonical, the creators of Ubuntu, have made some unpopular choices, including changing the display manager -- the base component of the graphical interface in Linux-- to the internally developed Mir instead of Wayland. However, Ubuntu remains completely open source and offers the most painless install of any Linux distribution or even Windows version, for that matter. Canonical also offers paid support, which may be needed in enterprise environments.
|
||||
|
||||
There has always been the argument that end users will need retraining if they switch over to a new desktop interface. Microsoft's controversial decision to overhaul the familiar interface for Windows 8.1 now requires just as much training as switching to Linux. Ubuntu's Unity desktop has evolved into a user friendly interface that is arguably more easily understood by end users than Windows 8.1.
|
||||
|
||||
For example, compare how a user shuts down the system in each operating system. In all recent versions of Ubuntu, it starts with one click in the right corner of the screen, where the symbol for on-off is located. A menu drops down and one more click shuts down the machine. Windows 8.1 requires a right-click on the Start button, where a menu drops down allowing for a shutdown. This was a vast improvement over Windows 8, which required a trip to the charms bar, but still not as obvious as an icon located directly on the screen.
|
||||
|
||||
End-user training for applications is a less complex task nowadays, thanks to the Windows versions of many popular open source applications. Users may already be familiar with Firefox, LibreOffice, Pidgin, and VLC Media Player on Windows. Commercial applications used in business, such as Skype and Adobe Acrobat, function just like their Windows equivalents. Cloud-based applications such as Google Drive or Microsoft Office 365 work well on Ubuntu.
|
||||
|
||||
Legacy Windows applications can be accessed through the familiar Citrix client or open source RDP clients. Companies also can use open source virtualization products such as VirtualBox to run the most stubborn legacy Windows applications.
|
||||
|
||||
On the support front, many technicians will remember the earlier days of Linux when hardware support was extremely limited. That simply is not the case anymore.
|
||||
|
||||
Linux hardware support is oftentimes better than the latest versions of Windows. Many hardware vendors have been dropping driver support for newer versions of Windows. The open source drivers in Linux can be kept up to date by anyone in the developer community, so a lot of older hardware is fully supported in the latest versions of Ubuntu. This fact, plus Ubuntu's lower system requirements, will allow companies to extend the life of hardware once destined for the recycling bin.
|
||||
|
||||
While there are upsides to a Linux desktop replacement program, there are some potential difficulties companies should consider. While many technicians have already been using Linux or will be motivated by the prospect of learning new skills, there also will be technicians who have spent a lot of time developing a comfort level managing Windows and may be reluctant to embrace the change.
|
||||
|
||||
Citing salary trends is one way to address this potential issue. The salaries of positions with Linux skills requirements are rising at nearly double the rate of other technical professionals, according to Dice.
|
||||
|
||||
Companies under stringent compliance requirements may have difficulties switching over to Linux. For example, HIPAA requires encryption that meets FIPS-140-2 requirements. Most open source encryption projects do not have sponsors to get them through the NIST certification to meet this requirement. Open source may actually be more secure than proprietary software because of the number of people that have reviewed the source code, but surprisingly that doesn't matter in the world of compliance.
|
||||
|
||||
Businesses need to understand their compliance requirements and develop a plan for training IT staff before deciding to move forward with a full conversion. But overall, Ubuntu Linux has matured into a viable alternative to proprietary operating systems in the enterprise. The effort companies put into a Linux desktop replacement program will be worth the savings in licensing fees. Next year may finally be the “year of the Linux desktop.”
|
||||
|
||||
|
||||
> Joseph Granneman has more than 20 years of technology experience, primarily focused in health care information technology. He is CIO for Rockford Orthopedic Associates in Rockford, Ill., and an active independent author, presenter and professor in the health care information technology and information security fields. Granneman has been active in many standards groups, including developing the early frameworks for Health Information Exchange as part of the Health Information Security and Privacy Security Working Group for Illinois. He was also a volunteer for the Certification Commission for Health Information Technology (CCHIT) Security Working Group, which developed the information security standards for ARRA certification of electronic medical records.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.networkcomputing.com/data-networking-management/linux-desktop-in-the-enterprise-ubuntu-v/240163564
|
||||
|
||||
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
@ -0,0 +1,156 @@
|
||||
Manage and Limit Download/Upload Bandwidth with Trickle in Linux
|
||||
================================================================================
|
||||
Have you ever encountered situations where one application dominated you all network bandwidth? If you have ever been in a situation where one application ate all your traffic, then you will value the role of the trickle bandwidth shaper application. Either you are a system admin or just a Linux user, you need to learn how to control the upload and download speeds for applications to make sure that your network bandwidth is not burned by a single application.
|
||||
|
||||
![](http://www.tecmint.com/wp-content/uploads/2013/11/Bandwidth-limit-trickle.png)
|
||||
|
||||
### What is Trickle? ###
|
||||
|
||||
**Trickle** is a bandwidth shaper tool which can be used to limit the bandwidth usage of programs such as **Firefox, FTP , SSH** and many other applications that make use of the network bandwidth. Do you want your **Youtube** music experience to interfere with the ftp download? If not, keep reading this article and learn how to install and use the trickle application in your machine.
|
||||
|
||||
### How to Install Trickle in Linux ###
|
||||
|
||||
The trickle tool has its own dependencies, you must have the “**libevent library**” before you can install and use trickle but since this library is installed by default in most modern Linux machines.
|
||||
|
||||
#### On Debian/Ubuntu/Linux Mint ####
|
||||
|
||||
Run **apt-get install** trickle will do the job in **Debian/Ubuntu/Mint** machines. Make sure the sources list is up to date, then install the application you want.
|
||||
|
||||
$ sudo apt-get update
|
||||
$ sudo apt-get install trickle
|
||||
|
||||
#### On RHEL/CentOS/Fedora ####
|
||||
|
||||
First you need to update the system and then install trickle with the following command.
|
||||
|
||||
# yum update
|
||||
# yum install trickle
|
||||
|
||||
### How Trickle Works? ###
|
||||
|
||||
Trickle controls and limits the **upload/download** speed of an application by controlling the amount of data written or read by a socket. It uses an alternative version of the the **BSD** socket API, but the difference is that trickle manages socket calls also.
|
||||
|
||||
Note that trickle uses dynamic linking and loading, so it can only work with applications that use the “Glibc library“. Since trickle is able to set up the delay of data transferred over a socket, it is clear that it can limit the network bandwidth of an application.
|
||||
|
||||
### What Can’t Trickle do? ###
|
||||
|
||||
Trickle can not be use to limit the network bandwidth of applications that work over **UDP** protocol, it can only work on **TCP** connections, but you have to know that it does not work with all **TCP** connections. If you have followed this article carefully until now, you can guess the reason why. Can you recall the fact that tickle can work with applications that use the **Glibc library**?
|
||||
|
||||
I have to mention that trickle will not work with statically linked executables.
|
||||
|
||||
### Determine Trickle to Run on a Specified Application Or Not ###
|
||||
|
||||
Since trickle can not limit the **upload/download** speed of every application, it is reasonable to use a method for finding out the applications that the trickle can work with.
|
||||
|
||||
The “**ldd**” utility will help us to find if a specific program uses the “**libc.so**” library or not. If the program uses this library, then you can use trickle to limit its network bandwidth usage.
|
||||
|
||||
The **ldd** command is used to print the shared libraries required by each program. If you are a curious **Linux Geek**, you can use the man command to find out more information about the **ldd** utility.
|
||||
|
||||
# man ldd
|
||||
|
||||
**Filezilla** is a program which is used to transfer files through the ftp protocol, can trickle be used to limit its download or upload speed? At the time you are thinking about it, I will use the following command to find out if trickle can be used with filezilla program, or not.
|
||||
|
||||
# ldd filezilla | grep libc.so
|
||||
|
||||
In my case, it produces the following output.
|
||||
|
||||
oltjano@oltjano-X55CR:/usr/bin$ ldd filezilla | grep libc.so
|
||||
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb6bc4000)
|
||||
|
||||
Since filezilla uses the “**libc.so**” library, trickle can be used to shape its network bandwidth. This method can be applied the same way for every program you are interested in.
|
||||
|
||||
### Learn How to Use Trickle ###
|
||||
|
||||
Print the **version** of the trickle tool with the following command.
|
||||
|
||||
root@oltjano-X55CR:~# trickle -V
|
||||
trickle: version 1.07
|
||||
|
||||
Linux have many command-line utilities that make testing (experimenting) so fun and beautiful. The following command uses the [wget utility][1] to download the latest Pear OS image.
|
||||
|
||||
root@oltjano-X55CR:~# wget wget http://sourceforge.net/projects/pearoslinux/files/Pear%20OS%208/pearos8-i386.iso/download
|
||||
|
||||
--2013-11-20 11:56:32-- http://sourceforge.net/projects/pearoslinux/files/Pear%20OS%208/pearos8-i386.iso/download
|
||||
Resolving sourceforge.net (sourceforge.net)... 216.34.181.60
|
||||
Connecting to sourceforge.net (sourceforge.net)|216.34.181.60|:80... connected.
|
||||
HTTP request sent, awaiting response... 302 Found
|
||||
Location: http://downloads.sourceforge.net/project/pearoslinux/Pear%20OS%208/pearos8-i386.iso?r=&ts=1384928843&use_mirror=kaz [following]
|
||||
--2013-11-20 11:56:33-- http://downloads.sourceforge.net/project/pearoslinux/Pear%20OS%208/pearos8-i386.iso?r=&ts=1384928843&use_mirror=kaz
|
||||
Resolving downloads.sourceforge.net (downloads.sourceforge.net)... 216.34.181.59
|
||||
Connecting to downloads.sourceforge.net (downloads.sourceforge.net)|216.34.181.59|:80... connected.
|
||||
HTTP request sent, awaiting response... 302 Found
|
||||
Location: http://kaz.dl.sourceforge.net/project/pearoslinux/Pear%20OS%208/pearos8-i386.iso [following]
|
||||
--2013-11-20 11:56:33-- http://kaz.dl.sourceforge.net/project/pearoslinux/Pear%20OS%208/pearos8-i386.iso
|
||||
Resolving kaz.dl.sourceforge.net (kaz.dl.sourceforge.net)... 88.204.157.163
|
||||
Connecting to kaz.dl.sourceforge.net (kaz.dl.sourceforge.net)|88.204.157.163|:80... connected.
|
||||
HTTP request sent, awaiting response... 200 OK
|
||||
Length: 1093664768 (1.0G) [application/octet-stream]
|
||||
Saving to: ‘download’
|
||||
|
||||
0% [ ] 30,78,278 381KB/s eta 1h 50m
|
||||
|
||||
As you can see from above output, the download speed is about **381 KB/s**. I want to limit the download speed to **13 K/s** so I can use my bandwidth for other stuff. The following command is used to limit the speed of the Wget utility to **13 K/s**.
|
||||
|
||||
root@oltjano-X55CR:~# trickle -d 13 wget http://sourceforge.net/projects/pearoslinux/files/Pear%20OS%208/pearos8-i386.iso/download
|
||||
|
||||
ravisaive@ravisaive-OptiPlex-380:~$ trickle -d 13 wget http://sourceforge.net/projects/pearoslinux/files/Pear%20OS%208/pearos8-i386.iso/download
|
||||
|
||||
--2013-11-20 12:01:19-- http://sourceforge.net/projects/pearoslinux/files/Pear%20OS%208/pearos8-i386.iso/download
|
||||
Resolving sourceforge.net (sourceforge.net)... 216.34.181.60
|
||||
Connecting to sourceforge.net (sourceforge.net)|216.34.181.60|:80... connected.
|
||||
HTTP request sent, awaiting response... 302 Found
|
||||
Location: http://downloads.sourceforge.net/project/pearoslinux/Pear%20OS%208/pearos8-i386.iso?r=&ts=1384929129&use_mirror=kaz [following]
|
||||
--2013-11-20 12:01:19-- http://downloads.sourceforge.net/project/pearoslinux/Pear%20OS%208/pearos8-i386.iso?r=&ts=1384929129&use_mirror=kaz
|
||||
Resolving downloads.sourceforge.net (downloads.sourceforge.net)... 216.34.181.59
|
||||
Connecting to downloads.sourceforge.net (downloads.sourceforge.net)|216.34.181.59|:80... connected.
|
||||
HTTP request sent, awaiting response... 302 Found
|
||||
Location: http://kaz.dl.sourceforge.net/project/pearoslinux/Pear%20OS%208/pearos8-i386.iso [following]
|
||||
--2013-11-20 12:01:20-- http://kaz.dl.sourceforge.net/project/pearoslinux/Pear%20OS%208/pearos8-i386.iso
|
||||
Resolving kaz.dl.sourceforge.net (kaz.dl.sourceforge.net)... 88.204.157.163
|
||||
Connecting to kaz.dl.sourceforge.net (kaz.dl.sourceforge.net)|88.204.157.163|:80... connected.
|
||||
HTTP request sent, awaiting response... 200 OK
|
||||
Length: 1093664768 (1.0G) [application/octet-stream]
|
||||
Saving to: ‘download.1’
|
||||
|
||||
0% [ ] 2,01,550 13.1KB/s eta 21h 5m
|
||||
|
||||
As you can see from above output, the downloading speed is limited to **13K/s**. The download will take **21h** and **5m**. The “**-d**” option in the above command means download, you can also combine the “**-d**” option with the upload option (**-u**) like shown in the following command.
|
||||
|
||||
# trickle -u 100 -d 50 ftp
|
||||
|
||||
The above command is used to limit the upload speed to **100K/s** and download speed to **50K/s** of a **ftp client**. You can also limit the bandwidth for all commands running in a single shell with the following command.
|
||||
|
||||
trickle -d 130 -u 13 bash
|
||||
|
||||
Every command-line utility offers help to the user, use the “-h” option with the trickle command to find more information about the trickle tool usage.
|
||||
|
||||
root@oltjano-X55CR:/usr/bin# trickle -h
|
||||
|
||||
Usage: trickle [-hvVs] [-d <rate>] [-u <rate>] [-w <length>] [-t <seconds>]
|
||||
[-l <length>] [-n <path>] command ...
|
||||
-h Help (this)
|
||||
-v Increase verbosity level
|
||||
-V Print trickle version
|
||||
-s Run trickle in standalone mode independent of trickled
|
||||
-d <rate> Set maximum cumulative download rate to <rate> KB/s
|
||||
-u <rate> Set maximum cumulative upload rate to <rate> KB/s
|
||||
-w <length> Set window length to <length> KB
|
||||
-t <seconds> Set default smoothing time to <seconds> s
|
||||
-l <length> Set default smoothing length to <length> KB
|
||||
-n <path> Use trickled socket name <path>
|
||||
-L <ms> Set latency to <ms> milliseconds
|
||||
-P <path> Preload the specified .so instead of the default one
|
||||
|
||||
### Conclusion ###
|
||||
|
||||
This article taught how to install trickle tool in your Linux machine and how to do some simple things with it. It does no matter if you work for a large corporate or just for yourself, the trickle tool is a must for an advanced Linux user.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.tecmint.com/manage-and-limit-downloadupload-bandwidth-with-trickle-in-linux/
|
||||
|
||||
译者:[译者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/10-wget-command-examples-in-linux/
|
@ -0,0 +1,30 @@
|
||||
Mark Shuttleworth Regrets the “Tea Party” Remarks and Other Canonical Mistakes
|
||||
================================================================================
|
||||
**Mark Shuttleworth, the founder of Canonical, has clarified his “Tea Party” comments and apologized for this rather personal remark.**
|
||||
|
||||
![](http://i1-news.softpedia-static.com/images/news2/Mark-Shuttleworth-Regrets-the-quot-Tea-Party-quot-Remarks-and-Other-Canonical-Mistakes-398819-2.jpg)
|
||||
|
||||
It's not every day that we see Mark Shuttleworth apologizing two times in a row, and most likely this is the first time that it happened.
|
||||
|
||||
[The first apology][1] came for the owner of fixubuntu.com, who was the recipient of a letter from the legal team of Canonical. Micah F. Lee, the guy behind the site, wrote an extensive blog post about these issues and the matter was discussed at length on a numerous forums and websites.
|
||||
|
||||
Mark Shuttleworth first apologized to him on Google+, but he also wrote a more formal text on his personal blog, which is usually reserved for things of great importance.
|
||||
|
||||
And since he was apologizing, he also took the time to say that he regretted [the “Tea Party”][2] comments that attracted a lot of heat towards Canonical, probably even more so than the original problems he was mad about.
|
||||
|
||||
“On another, more personal note, I made a mistake myself when I used the label ‘open source tea party’ to refer to the vocal non-technical critics of work that Canonical does. That was unnecessary and quite possibly equally offensive to members of the real Tea Party (hi there!) and the people with vocal non-technical criticism of work that Canonical does (hello there!).”
|
||||
|
||||
“There isn’t anything in what I said to suggest that I don’t welcome such technical feedback, but some assumed I was rejecting all feedback including technical commentary. I was not – I was talking about criticism of software which does not centre on the software itself, but rather on some combination of the motivations of the people who wrote it, or the particular free software license under which it is published, or the policies of the company, or the nationality of the company behind it,” said Mark Shuttleworth.
|
||||
|
||||
This will hopefully end all the discussions on the matter and people will finally be able to work together on Mir, which is actually the source of this whole debacle.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://news.softpedia.com/news/Mark-Shuttleworth-Regrets-the-quot-Tea-Party-quot-Remarks-and-Other-Canonical-Mistakes-398819.shtml
|
||||
|
||||
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://news.softpedia.com/news/Mark-Shuttleworth-Apologizes-for-the-Trademark-Infringement-Letter-Sent-to-Fixubuntu-com-398583.shtml
|
||||
[2]:http://news.softpedia.com/news/Mark-Shuttleworth-Says-That-Mir-Opponents-Have-Formed-the-Open-Source-Tea-Party-392793.shtml
|
@ -1,35 +0,0 @@
|
||||
Mikko Hypponen: Open Source Software Will Make the World More Secure
|
||||
================================================================================
|
||||
Open source software can be one answer to combating the global surveillance of innocent citizens, said security expert Mikko Hypponen in his keynote last week at [LinuxCon and CloudOpen Europe][1] in Edinburgh.
|
||||
|
||||
![](http://www.linux.com/images/stories/41373/Mikko-Hypponen-3.jpg)
|
||||
|
||||
*Mikko Hypponen, chief research officer at F-Secure in Finland, spoke at LinuxCon and CloudOpen Europe 2013 in Edinburgh.*
|
||||
|
||||
Advances in computing and the rise of global networks have made the storage and transmission of data cheap and easy. This has created unparalleled connectivity, progress and innovation, Hypponen said. But it’s also enabled large-scale access to that data as demonstrated by the NSA’s PRISM program, made public this year in a series of top-secret document leaks by former U.S. government contractor Edward Snowden.
|
||||
|
||||
“In the last few years we've realized data is cheap. We never have to delete anything anymore, ever,” said Hypponen, chief research officer at F-Secure in Finland. “This has enabled lots of great things but also global wholesale blanket surveillance.”
|
||||
|
||||
Such access to our personal data, including cell phone records, geolocation, email and search engine queries, may be warranted in some cases, Hypponen said.
|
||||
|
||||
“I do believe some surveillance is OK,” he said. “If there's an investigation into finding a school shooter or drug lord or member of a terrorist cell… we should have the technical means of doing that. But we must first have the suspicion.”
|
||||
|
||||
But collecting the communications and personal data of “everyone” is not only a violation of privacy, but a threat to democracy, Hypponen said.
|
||||
|
||||
“Even if you don't have a problem with our government today, we don't know what the government will be 20 years from now,” he said. ”If they have 20 years of your search data, they'll find something illegal or embarrassing to twist your hand.”
|
||||
|
||||
Though the leaks have caused some IT professionals to question the safety of their data stored with and routed through U.S. service providers, avoiding these companies and services won’t solve the problem, Hypponen said. Neither can each country afford the time and expense of building its own alternatives.
|
||||
|
||||
Working across international boundaries, developers should band together to build secure and reliable software and services that prevent back-door tampering and ensure users’ privacy, Hypponen said.
|
||||
|
||||
“I suggest that open source provides a solution to this problem,” he said. “Then countries don't have to work alone. It will be secure, open and free.”
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.linux.com/news/featured-blogs/200-libby-clark/745585-mikko-hypponen-open-source-software-will-make-the-world-more-secure
|
||||
|
||||
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://events.linuxfoundation.org/events/linuxcon-europe
|
@ -0,0 +1,40 @@
|
||||
NSA Asked Linus Torvalds To Give Them Backdoor Access In Linux, Says MEP
|
||||
================================================================================
|
||||
![](http://www.omgubuntu.co.uk/wp-content/uploads/2011/01/DSC01782.jpg)
|
||||
|
||||
*Linus and OMG! Back in 2011*
|
||||
|
||||
The United States’ National Security Agency ([**NSA**][1]) are alleged to have asked the creator of Linux, Linus Torvalds, to create ‘backdoors’ into GNU/Linux through which they could access.
|
||||
|
||||
Far from being a rumour, word of the approach comes via Linus’ father, Nils Torvalds.
|
||||
|
||||
As a Member of the European Parliament (MEP), Nils was present at recent committee inquiry held on the “Mass Surveillance of EU Citizens”. Here, representatives from a number of companies named in documents leaked by NSA whistleblower Edward Snowden were questioned about their own (alleged) involvement.
|
||||
|
||||
Following a question put to a Microsoft spokeswoman by Pirate Party MEP Christian Engström on whether the company willingly include “backdoors” for the NSA in their system, Nils Torvalds MEP [said][2]:
|
||||
|
||||
> When my oldest son [Linus Torvalds] was asked the same question: “Has he been approached by the NSA about backdoors?” he said “No”, but at the same time he nodded. Then he was sort of in the legal free. He had given the right answer …everybody understood that the NSA had approached him.
|
||||
|
||||
If that sounds familiar to you then you might have [seen the snippet on YouTube][3]. Linus went on to insist that he was joking, and that [the NSA had not approached him][4].
|
||||
|
||||
**But, speaking at November 11th’s inquiry, his father seems to think otherwise. **
|
||||
|
||||
Following on from allegations that Google, [Yahoo!][5], Facebook [and, indeed, Microsoft][6] are among the many companies wilfully cooperating with the agency to provide “backdoor” access to their systems, this revelation is far from earth-shattering. In fact, is makes sense in the grand scheme of things. After all, why wouldn’t the NSA ask Linus to do this?
|
||||
|
||||
While Nils doesn’t explain how Linus responded – I’d like to think it involved two fingers – we can be sure that it, at the very least, involved an explanation of how open source prevents something like that being possible.
|
||||
|
||||
If any holes were left around for the NSA’s overly-long tentacles to creep into, you can bet your bottom dollar that they’d have been found, exposed and rooted out long before now.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.omgubuntu.co.uk/2013/11/nsa-ask-linus-torvalds-include-backdoors-linux-father-says-yes
|
||||
|
||||
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.nsa.gov/
|
||||
[2]:http://youtu.be/EkpIddQ8m2s?t=3h09m06s
|
||||
[3]:http://www.youtube.com/watch?v=7gRsgkdfYJ8
|
||||
[4]:http://mashable.com/2013/09/19/linus-torvalds-backdoor-linux/
|
||||
[5]:http://www.telegraph.co.uk/technology/internet-security/10459081/Yahoo-to-encrypt-internal-traffic-following-NSA-revelations.html
|
||||
[6]:http://www.bbc.co.uk/news/technology-23285642
|
@ -1,36 +0,0 @@
|
||||
[being translated by bazz2]
|
||||
Red Hat Fedora 20 Linux: New Networking, ARM Features
|
||||
================================================================================
|
||||
The latest edition of [Fedora Linux][1], the open source operating system that helps form the basis for [Red Hat][2]'s (RHT) enterprise server platform, is set to debut soon -- though a couple weeks later than initially planned, as bugs have held up the release. Still, it could bring some of this autumn's biggest changes in desktop Linux when it appears in December.
|
||||
|
||||
![](http://thevarguy.com/site-files/thevarguy.com/files/imagecache/medium_img/uploads/2013/11/grayscale.jpg)
|
||||
|
||||
On November 1, the Fedora Project announced that it would push back the release of Fedora 20 by another week. That change came on top of an earlier announcement in late October delaying the release by one week. The [plan now][3] is to have the beta version of the system out on November 12, and a final release on December 17.
|
||||
|
||||
The delays may disappoint Fedora fans, but the developers say the revised schedule will help to smooth out bugs before Fedora 20 goes lives. (That approach, by the way, stands in contrast to the one taken by [Canonical][4]'s [Ubuntu Linux][5] distribution, which sticks hard and fast to pre-determined release dates, a policy that has its own advantages and downsides.)
|
||||
|
||||
And at any rate, Fedora users have a lot to look forward to in the latest and greatest edition of the operating system. For one, the release will have a lighter footprint than its predecessors as a result of the removal of some packages that were previously installed by default, such as syslog and sendmail.
|
||||
|
||||
NetworkManager is also set to gain some useful new features, including support for network bridging and bonding -- both cool things that traditionally required complicated command-line hacking to implement. Now, Fedora will be a more attractive host for complex networking situations, an especially important characteristic for building clouds and software-defined networks.
|
||||
|
||||
And Fedora 20 aims to provide full support for ARM-based devices (specifically, armv7hl hardware), which could give it a leg up in the mobile and emerging-hardware worlds.
|
||||
|
||||
These various changes help to make Fedora 20 one of the most notable desktop Linux distributions of the season -- especially since Ubuntu 13.10, which appeared last month, brought [few updates for the desktop][6]. (It did include [somewhat more for servers and the cloud][7].)
|
||||
|
||||
The enhancements are also significant beyond the Fedora community, which is mostly restricted to more advanced users, since Red Hat uses Fedora as a proving ground for testing features that may eventually become a part of its commercial enterprise operating system, Red Hat Enterprise Linux. So Linux fans can geek out when Fedora 20 goes live (hopefully) in December, and look forward to taking advantage of some of the new features in Red Hat production environments down the road.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://thevarguy.com/open-source-application-software-companies/red-hat-fedora-20-linux-new-networking-arm-features
|
||||
|
||||
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://fedoraproject.org/
|
||||
[2]:http://redhat.com/
|
||||
[3]:http://fedoraproject.org/wiki/Releases/20/Schedule
|
||||
[4]:http://canonical.com/
|
||||
[5]:http://ubuntu.com/
|
||||
[6]:http://thevarguy.com/ubuntu/canonicals-ubuntu-linux-1310-brings-few-changes-desktop
|
||||
[7]:http://thevarguy.com/ubuntu/ubuntu-1310-openstack-havana-support-cloud-server-updates
|
@ -1,69 +0,0 @@
|
||||
crowner挖的无底洞,争取早日填上
|
||||
Save, Access And Quickly Paste Text Snippets With This Nifty Unity Launcher Tool
|
||||
================================================================================
|
||||
**Repeatedly typing out certain information – like e-mail or home addresses, verbose terminal commands, and well timed quotes from cult TV shows – can be a chore.**
|
||||
|
||||
![](http://www.omgubuntu.co.uk/wp-content/uploads/2013/10/Screen-Shot-2013-10-31-at-13.04.jpg)
|
||||
|
||||
*Snippets – Handy Way to Access Stored Text*
|
||||
|
||||
Thankfully there are tools out there to help.
|
||||
|
||||
*‘Snippets’* is one such utility for Unity. It’s a simple Launcher item that lets you save and store excerpts in a text file, then, when needed, select them from a Unity Quicklist to copy them the clipboard.
|
||||
|
||||
Now before anyone throws their underwear at me in disgust, I’m well aware Snippets is not unique – or the first – in offering this sort of feature. But what it is unique in doing is offering it through a Unity Launcher item.
|
||||
|
||||
Features-wise, the tool is simple enough, offering:
|
||||
|
||||
- Ability to add & access snippets stored in .txt file
|
||||
- View stored snippets in quicklist
|
||||
- Click snippets to copy them to clipboard
|
||||
- Option to add current clipboard item to .txt file
|
||||
|
||||
While it’s not a “live” clipboard manager – it only lists items you specifically add; it does not present a history of your most recent clipboard items – it is still a handy little tool.
|
||||
|
||||
### How to Install Snippets for Unity ###
|
||||
|
||||
To make use of this nifty Snippets launcher item you’ll need to first install the command-line clipboard tool xclip. Hit the button below to get it from the Software Center.
|
||||
|
||||
- [Click to Install XClip in Ubuntu][1]
|
||||
|
||||
Next up, download the following ‘Snippets‘ archive. This contains everything else needed to use the app.
|
||||
|
||||
- [Download ‘Snippets’ Unity Launcher Script][2]
|
||||
|
||||
When the archive has downloaded fully you’ll want to extract it. Enter the resulting folder and hit Ctrl+H to reveal hidden files. Move the folder ‘.snippets-launcher‘ to your Home folder. **The utility won’t work if this step isn’t followed**.
|
||||
|
||||
Next step is to install the launcher item. This is taken care of by a script inside the folder you just moved, but it doesn’t have executable permissions (needed to install it) so we’ll need to first take care of that, too.
|
||||
|
||||
Open a new Terminal window and enter the following commands carefully:
|
||||
|
||||
cd .snippets-launcher/ && chmod +x snippets.sh
|
||||
|
||||
./snippets.sh
|
||||
|
||||
That’s it; Snippets should now be ready to use. Open the Unity Dash to search for the Snippets item and drag it onto the launcher.
|
||||
|
||||
- Left click on the launcher item opens the text file where you add your snippets
|
||||
- Right click on the launcher item opens the quick list
|
||||
|
||||
Options in the quicklist:
|
||||
|
||||
- Left click on a snippet to add it to the clipboard
|
||||
- Left click ‘Date’ to copy the current date
|
||||
- Click ‘Add Clipboard Content’ to add current item to .txt file
|
||||
- After adding items to .txt file click ‘Update Launcher’
|
||||
|
||||
For more information on the lazy-making tool, [head over to the Ubuntu Forums thread][3] where its developer, “Stinkeye”, will be happy to help.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.omgubuntu.co.uk/2013/10/unity-launcher-clipboard-snippets-item
|
||||
|
||||
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:apt://xclip
|
||||
[2]:https://www.dropbox.com/s/ha6lngizmz78srv/snippets%20by%20stinkeye.tar.gz
|
||||
[3]:http://ubuntuforums.org/showthread.php?t=2184916
|
@ -1,127 +0,0 @@
|
||||
translating---------geekpi
|
||||
|
||||
16 The Linux Kernel: Configuring the Kernel Part 12
|
||||
================================================================================
|
||||
![](http://www.linux.org/attachments/slide-jpg.539/)
|
||||
|
||||
Welcome and enjoy the next part of the Linux kernel configuration series. The kernel supports a large variety of hardware, protocols, and features as you have already guessed.
|
||||
|
||||
The next set of features we will discuss is "EEPROM support". Electrically Erasable Programmable Read-Only Memory is a form of memory that is not erased when the power is lost or purposely shut off.
|
||||
|
||||
The kernel supports EEPROM chips on I2C cards including FRAMs, ROMs, and SRAMs (I2C EEPROMs / RAMs / ROMs from most vendors). FRAM (also called FeRAM is a Random Access Memory chip that uses ferroelectric principles instead of dieletric materials to store data. A ROM chip is a Read Only Memory chip. SRAM is Static instead of Dynamic like DRAM. DRAM must be refreshed to retain data while SRAM does not require refreshing. However, both lose the stored data when the power is turned off or lost.
|
||||
|
||||
The kernel also supports EEPROMs for SPI buses (SPI EEPROMs from most vendors). The Serial Peripheral Interface Bus (SPI) is a full duplex bus system that lacks an error-checking protocol.
|
||||
|
||||
The older I2C EEPROM chips require a driver other than the I2C driver above (Old I2C EEPROM reader). The I2C bus is intended for embedded systems and cellphones due to the low-speed bus protocol that is used.
|
||||
|
||||
This feature is needed to prevent the Maxim programmable EEPROM from going into read-only mode (Maxim MAX6874/5 power supply supervisor). Specifically, this driver provides better power management to the chip.
|
||||
|
||||
There is also a driver for "EEPROM 93CX6 support", "Microwire EEPROM 93XX46 support", and then "ENE CB710/720 Flash memory card reader support".
|
||||
|
||||
Like with many other kernel features, there are debugging features for EEPROM devices (Enable driver debugging). Again, for better performance, disable debugging features.
|
||||
|
||||
Next, we have a Texas Instruments feature (Shared transport core driver). This driver provides transport protocols for BT/FM and GPS chips.
|
||||
|
||||
The following driver supports the I2C LIS3LV02Dx accelerometer (STMicroeletronics LIS3LV02Dx three-axis digital accelerometer (I2C)). The data provided by the device is stored in /sys/devices/platform/lis3lv02d.
|
||||
|
||||
Next, the Linux kernel supports a module for downloading firmware to Altera's FPGA (Altera FPGA firmware download module). An FGPA is a field-programmable gate array. These are programmable integrated circuits.
|
||||
|
||||
The "Intel Management Engine Interface" offers security and other services to Intel chips.
|
||||
|
||||
"ME Enabled Intel Chipsets" can have MEI support. MEI is Management Engine Interface. This driver gives supported chipsets MEI services.
|
||||
|
||||
The "VMware VMCI Driver" is a high-speed virtual device for relaying communications between the guest and host. VMCI stands for Virtual Machine Communication Interface.
|
||||
|
||||
Next, "ATA/ATAPI/MFM/RLL support" can be enabled/disabled. MFM (Modified Frequency Modulation) is a specific method for encoding floppy disk bits. However, this does not work on all floppy disks. MFM uses the RLL (Run-Length Limited) coding scheme. RLL transfers data going through communication systems that have bandwidth limits. ATAPI is the previously mentioned ATA Packet Interface and ATA is the same ATA mentioned when discussing interface standards.
|
||||
|
||||
Now, we will discuss SCSI support. Small Computer System Interface is another interface standard as is SATA. USB and FireWire devices use the SCSI protocol.
|
||||
|
||||
The first SCSI setting concerns the "RAID Transport Class". This allows RAID to use the SCSI standard.
|
||||
|
||||
To use SCSI targets, enable this feature (SCSI target support).
|
||||
|
||||
If the system will run old Linux applications, the system may need "legacy /proc/scsi/ support".This will create the SCSI files once placed in /proc/scsi/.
|
||||
|
||||
To support SCSI disks, enable the next feature (SCSI disk support). This is a generic driver.
|
||||
|
||||
To support SCSI tapes, enable this feature (SCSI tape support). This is a generic driver. A SCSI tape drive stores data on tape-like magnetic strips.
|
||||
|
||||
|
||||
The OnStream SCSI tapes need this driver instead of the previously mentioned generic SCSI driver (SCSI OnStream SC-x0 tape support).
|
||||
|
||||
For "SCSI CDROM support" enable this feature. Some CD-ROMs use the SCSI protocol.
|
||||
|
||||
Next, the user can enable "Enable vendor-specific extensions (for SCSI CDROM)".
|
||||
|
||||
This is a SCSI driver that is a generic driver for a larger variety of SCSI devices (SCSI generic support). This is mainly used for SCSI scanners and other SCSI devices not supported by the previously mentioned SCSI drivers or those discussed afterwards.
|
||||
|
||||
Some SCSI jukeboxes need this SCSI driver (SCSI media changer support).
|
||||
|
||||
The Linux kernel offers "SCSI Enclosure Support". A SCSI enclosure is a device that manages the power and cooling of the SCSI device as well as offer other services not related to the data.
|
||||
|
||||
The Linux kernel should be set to search for all Logical Unit Numbers (LUN) for each SCSI device (Probe all LUNs on each SCSI device). A LUN is a SCSI address.
|
||||
|
||||
Extra error reporting is available for SCSI (Verbose SCSI error reporting (kernel size +=12K)). This will increase the size of the kernel significantly.
|
||||
|
||||
There is also a logger for SCSI (SCSI logging facility).
|
||||
|
||||
To enhance your system, enable this feature that allows SCSI to be probed while the system boots up rather than booting and then probing (Asynchronous SCSI scanning). Most systems can perform both tasks at once, so why not allow it? For hardware with many SCSI devices attached, this will increase boot time significantly.
|
||||
|
||||
Next, "Parallel SCSI (SPI) Transport Attributes" allows each SCSI device to send transport information to sysfs. Some systems require this feature.
|
||||
|
||||
This next feature is the same as above, but sends information about transport from FiberChannel devices (FiberChannel Transport Attributes). FiberChannel devices use SCSI.
|
||||
|
||||
Next, the user can enable/disable "SCSI target support for FiberChannel Transport Attributes".
|
||||
|
||||
Transport information from iSCSI devices and SAS devices can also be exported to sysfs (iSCSI Transport Attributes) and (SAS Transport Attributes). SAS stands for Serial Attached SCSI.
|
||||
|
||||
Next, ATA support is added to libsas (ATA support for libsas (requires libata)). Note that the configuration tools says libata is required. To satisfy this need, enable ATA support. Most likely, the configuration tool has or will do this for you, but double check anyway. libsas and libata are the libraries that provide support for SAS and ATA, respectively.
|
||||
|
||||
The next feature permits SAS interfaces to accept SMP frames (Support for SMP interpretation for SAS hosts). This adds a SMP interpreter to libsas. However, this does increase the kernel's size. SMP frames allow all processors on multi-CPU systems to access SAS devices.
|
||||
|
||||
SRP can send transport data to sysfs (SRP Transport Attributes). SRP stands for SCSI RDMA Protocol. RDMA stands for Remote Direct Memory Access. This means SRP is a protocol used to access data from remote SCSI devices attached to another computer.
|
||||
|
||||
Next, the user can enable "SCSI target support for SRP Transport".
|
||||
|
||||
Low-level SCSI drivers can be enabled (SCSI low-level drivers). This provides many basic drivers.
|
||||
|
||||
After that, users can enable/disable "PCMCIA SCSI adapter support". This adapter allows SCSI devices to attach to PC cards.
|
||||
|
||||
There are some drivers for specific adapters - (Future Domain PCMCIA support), (Qlogic PCMCIA support), and (Symbios 53c500 PCMCIA support).
|
||||
|
||||
Devices with multi-path setups will need this feature (SCSI Device Handlers). This is used in clusters where each node needs a direct path to a SCSI storage unit.
|
||||
|
||||
Next, the "OSD-Initiator library" can be enabled. This is a SCSI driver that provides patches, the OSD protocol, and the T10 protocol to SCSI devices. OSD stands for Object-based Storage Device; this is discussed more in the next paragraph.
|
||||
|
||||
This feature makes a SCSI upper layer for testing and managing /dev/osdx devices (OSD Upper Level driver). exofs uses this driver for mounting OSD-based filesystems. OSD devices are storage devices that do not use blocks like other storage units. Instead, OSD devices store data in containers called objects. exofs was once called OSDFS.
|
||||
|
||||
OSD features provide debugging tools if enabled (Compile All OSD modules with lots of DEBUG prints).
|
||||
|
||||
Now, we can discuss Serial ATA and Parallel ATA features and drivers. The first feature to enable/disable is for debugging (Verbose ATA error reporting).
|
||||
|
||||
Next, users should enable the Advanced Configuration and Power Interface feature for ATA devices (ATA ACPI Support). This will allow the kernel to manage power usage more efficiently in SATA devices.
|
||||
|
||||
The kernel contains a driver for "SATA Zero Power Optical Disc Drive (ZPODD) support". This powers off SATA optical disc drives (ODD) when not in use. This saves energy and reduces wear and tear.
|
||||
|
||||
TIP: Even when making a high-performance kernel, try to enable all power management features. This reduces power consumption, operating costs, heat production (heat reduces performance), and wear and tear.
|
||||
|
||||
SATA port multipliers need this driver (SATA Port Multiplier support). A port multiplier is a device that has numerous ports but only needs to plug into one port itself. For instance, if a piece of hardware has one SATA port, but more are needed, plug the port multiplier into the one port. Now the device has many SATA ports.
|
||||
|
||||
Next is a driver for AHCI SATA (AHCI SATA support). Advanced Host Controller Interface (AHCI) is an operation standard for SATA bus adapters.
|
||||
|
||||
For AHCI SATA devices to be supported on SoC hardware, this driver must be enabled (Platform AHCI SATA support). SoC stands for System-on-a-Chip.
|
||||
|
||||
Next are some drivers for some specific devices.
|
||||
Initio 162x SATA support
|
||||
ACard AHCI variant (ATP 8620)
|
||||
Silicon Image 3124/3132 SATA support
|
||||
|
||||
Again, watch and wait for the next awesome article.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.linux.org/threads/the-linux-kernel-configuring-the-kernel-part-12.4681/
|
||||
|
||||
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
@ -1,129 +0,0 @@
|
||||
17 The Linux Kernel: Configuring the Kernel Part 13
|
||||
================================================================================
|
||||
![](http://www.linux.org/attachments/slide-jpg.555/)
|
||||
|
||||
Aloha! In this next article of the Linux kernel series, we are still configuring ATA devices and we then move on to logical volumes/storage.
|
||||
|
||||
"ATA SFF support (for legacy IDE and PATA)" should be enabled because this extends the abilities of ATA.
|
||||
|
||||
To support Pacific Digital ADMA controllers, enable "Pacific Digital ADMA support".
|
||||
|
||||
"Pacific Digital Serial ATA QStor support" is offered by this next driver.
|
||||
|
||||
Support for the Promise SATA SX4 device is supported by the Linux kernel (Promise SATA SX4 support (Experimental)).
|
||||
|
||||
SFF ATA controllers with BMDMA abilities will need this driver (ATA BMDMA support). BMDMA stands for Bus-Master Direct Memory Access.
|
||||
|
||||
Next, this driver provides support for various Intel SATA and PATA controllers (Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support).
|
||||
|
||||
Here is another device-specific driver (Calxeda Highbank SATA support) and another (Marvell SATA support) and another (NVIDIA SATA support) and another (Promise SATA TX2/TX4 support) and another (Silicon Image SATA support) and several more (SiS 964/965/966/180 SATA support), (ServerWorks Frodo / Apple K2 SATA support), (ULi Electronics SATA support), (VIA SATA support), . . . .. Because many of the SATA/PATA controllers are designed differently, a generic driver cannot be used on many of these devices.
|
||||
|
||||
Next, ATA devices on PC Cards are supported by this driver unless a device-specific driver manages the hardware (PCMCIA PATA support).
|
||||
|
||||
After that, here is a generic PATA driver that manages all other PATA devices not supported by previously enabled drivers (Generic platform device PATA support).
|
||||
|
||||
The power consumption of PATA devices are managed by this ACPI driver (ACPI firmware driver for PATA). It is highly recommended that ACPI be enabled for all hardware on the system. Although this increases the kernel's size, ACPI is better for performance.
|
||||
|
||||
"Generic ATA support" is offered by this driver.
|
||||
|
||||
Legacy support for ISA, VLB, and PCI bus PATA devices can be added via this driver (Legacy ISA PATA support (Experimental)). This legacy support uses the new ATA layer.
|
||||
|
||||
This set of features contains many abilities for RAID and LVM as seen in the following feature options (Multiple devices driver support (RAID and LVM)).
|
||||
|
||||
INTERESTING FACT: The kernel is written in C and Assembly.
|
||||
|
||||
This driver allows RAID and LVM to be combined (RAID support). This is used to make several LVMs use RAID. Partitions are combined into Logical Block Devices which are then used to form RAID devices.
|
||||
|
||||
Many users will want RAID devices to be detected during booting (Autodetect RAID arrays during kernel boot). If you do not have RAID, then do not enable this feature. Otherwise, the boot process will take a few seconds longer than what it needs to be.
|
||||
|
||||
NOTE: When configuring the Linux kernel, it is best to follow the "use it or lose it" principal. That is, if you will not use it, then disable the feature.
|
||||
|
||||
Hard-drive partitions can be added together using this driver (Linear (append) mode).
|
||||
|
||||
The following driver adds RAID-0 support to logical block devices (RAID-0 (striping) mode). Then, there is (RAID-1 (mirroring) mode), (RAID-10 (mirrored striping) mode), and (RAID-4/RAID-5/RAID-6 mode).
|
||||
|
||||
The MD framework needs multipath support (Multipath I/O support). The MD framework is a Multi Device framework which manages multiple devices as one unit. For example, combining the partitions of many storage units will make multiple devices act as one. The multipath support is for handling a virtual "single device" with many addresses. Because the single storage unit is physically more than one piece of hardware, it will have more than one hardware address.
|
||||
|
||||
These larger multi-disk storage units can be tested for bugs using this debugging driver (Faulty test module for MD).
|
||||
|
||||
The "Device mapper support" is a volume manager that is used to map logical sectors. LVM uses sector mapping.
|
||||
|
||||
The device mapper can have debugging features if enabled (Device mapper debugging support).
|
||||
|
||||
These logical devices can be set to encrypt data if desired (Crypt target support). This feature can allow users to later encrypt such storage devices.
|
||||
|
||||
Snapshots of these logical storage units can only be taken if this feature is enabled (Snapshot target).
|
||||
|
||||
Thin provisioning allows logical volumes to be setup to have more storage capacity than the physical storage units that make up the logical volume (Thin provisioning target). This feature also provides snapshot abilities of such storage. This excess virtual data space cannot immediately be used. The point of it is to allow users to add a physical storage unit in the future and save time configuring the logical block device.
|
||||
|
||||
Thin provisioning can be debugged with this feature (Keep stack trace of thin provisioning block lock holders).
|
||||
|
||||
The performance of block devices can be improved by moving the more commonly used data to the faster storage units (Cache target (EXPERIMENTAL)).
|
||||
|
||||
Volume managers can be made to mirror logical volumes (Mirror target).
|
||||
|
||||
Device-mapper (dm) targets can be made to support the mappings of RAID1, RAID10, RAID4, RAID5 and RAID6 (RAID 1/4/5/6/10 target).
|
||||
|
||||
The device-mapper logs can be mirrored in userspace (Mirror userspace logging).
|
||||
|
||||
A "Zero target" is a device that disregards writes and returns reads as zero.
|
||||
|
||||
Next, volume managers should have multipath support for the hardware (Multipath target).
|
||||
|
||||
This driver finds the most efficient path to storage devices for reads and writes (I/O Path Selector based on the number of in-flight I/Os).
|
||||
|
||||
The next driver is the same as above, but finds the fastest path (I/O Path Selector based on the service time).
|
||||
|
||||
If a physical storage unit on a logical volume is busy, this feature will allow reads/writes to go to another physical volume if possible (I/O delaying target).
|
||||
|
||||
udev can generate events for device-manager actions (DM uevents). udev is a device manager for /dev/.
|
||||
|
||||
To test how software/hardware reacts to logical devices that occasionally fail input/output tasks, enable this debugging feature (Flakey target).
|
||||
|
||||
A logical volume can be created that is a read-only storage unit that validates data for another logical partition (Verity target support).
|
||||
|
||||
NOTE: If you enjoy my articles, click "Like" on my posts if you have a Linux.org account. Also, reshare this article on Google, Twitter, and/or Facebook.
|
||||
|
||||
ConfigFS and the TCM storage engine can be enabled with this setting (Generic Target Core Mod (TCM) and ConfigFS Infrastructure). ConfigFS is a RAM-based filesystem.
|
||||
|
||||
INTERESTING FACT: The Linux kernel does not have a “main()” function. In programs, main() is called by libc which depends on the kernel. The kernel cannot have a main() function because libc would not be able to start the kernel. If the kernel did have a main() function, then we would have a “chicken-or-the-egg” problem – which would come first? Plus, the entry point of the kernel is written in Assembly which does not use the main() function.
|
||||
|
||||
Next, the "TCM/IBLOCK Subsystem Plugin for Linux/BLOCK" can be enabled/disabled.
|
||||
|
||||
Then, the "TCM/FILEIO Subsystem Plugin for Linux/VFS" can be enabled/disabled.
|
||||
|
||||
And again, there are two other TCM features - (TCM/pSCSI Subsystem Plugin for Linux/SCSI) and (TCM Virtual SAS target and Linux/SCSI LDD fabric loopback module).
|
||||
|
||||
The Linux-iSCSI.org iSCSI Target Mode Stack for ConfigFS is provided by this driver (Linux-iSCSI.org iSCSI Target Mode Stack).
|
||||
|
||||
Next, enable/disable the "FireWire SBP-2 fabric module". This allows a computer to connect to another computer and appear to be a hard-drive.
|
||||
|
||||
After that, we can configure "Fusion Message Passing Technology (MPT) device support".
|
||||
|
||||
The first option under that heading is a driver for SCSI support for parallel adapters (Fusion MPT ScsiHost drivers for SPI).
|
||||
|
||||
SCSI can also get support for fiber channel host adapters (Fusion MPT ScsiHost drivers for FC) and/or SAS adapters (Fusion MPT ScsiHost drivers for SAS).
|
||||
|
||||
Next, users can set the "Maximum number of scatter gather entries". A lower number leads to reduced memory consumption per controller instance.
|
||||
|
||||
The next driver offers system ioctl calls to manage MPT adapters (Fusion MPT misc device (ioctl) driver).
|
||||
|
||||
Fiber channel ports can support IP LAN traffic with this driver (Fusion MPT LAN driver).
|
||||
|
||||
I can read your mind – you think there is going to be another article after this. Well, you thought correctly. Keep watching for the next article in this series.
|
||||
|
||||
If you like this article series, please post on Linux.org and/or Google+ telling me how much you like this series and what topics you would like to see covered in future articles. Or, email me (DevynCJohnson@Gmail.com). Mahalo!
|
||||
|
||||
To learn more about the author, check out the links in his signature box below.
|
||||
|
||||
If you have read this article completely, then you should have seen the word "Facebook" three times. If not, you did not read the whole article.
|
||||
|
||||
The word "Facebook" is seen in this paragraph, the paragraph above, and in one of the notes. I bet you read the paragraph above without finishing this article trying to find the third instance of the word.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.linux.org/threads/the-linux-kernel-configuring-the-kernel-part-13.4714/
|
||||
|
||||
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
@ -1,118 +0,0 @@
|
||||
18 The Linux Kernel: Configuring the Kernel Part 14
|
||||
================================================================================
|
||||
![](http://www.linux.org/attachments/slide-jpg.566/)
|
||||
|
||||
Aloha! Ready for another cool article on the Linux kernel?
|
||||
|
||||
Next, in our long quest, we can enable/disable the "Fusion MPT logging facility". MPT stands for Message Passing Technology. The Fusion driver is made by LSI Logic Corporation. MPT is a specific messaging tactic used between process. This technique is synchronous meaning that process will wait for messages as needed.
|
||||
|
||||
After that, the "FireWire driver stack" should be enabled if the computer possesses FireWire ports. If not, then there is no point in enabling FireWire ports for a device that could not use such drivers. FireWire is a lot like USB. The differences lie in the protocols, speed, and the physical shape and layout of the ports. Generally, Apple devices use FireWire and USB. Some PCs have FireWire ports, but this is less common than USB ports.
|
||||
|
||||
Some FireWire controllers use the OHCI-1394 specification (OHCI-1394 controllers). If so, enable this driver.
|
||||
|
||||
To use FireWire storage devices, enable this next driver (Storage devices (SBP-2 protocol)). This driver provides a protocol that the FireWire storage units use to communicate with the FireWire bus (the card with the attached FireWire ports). Some FireWire scanners also need this driver.
|
||||
|
||||
IPv4 can be used on FireWire ports (IP networking over 1394). IEEE 1394 or simply "1394" is FireWire. Multicasting over FireWire using IPv4 has limitations.
|
||||
|
||||
Nosy is the traffic monitor for FireWire PCILynx cards (Nosy - a FireWire traffic sniffer for PCILynx cards).
|
||||
|
||||
Next, the I2O devices can be supported (I2O device support). Intelligent Input/Output (I2O) bus uses drivers for the hardware and operating system levels. The hardware drivers (HDM) are not specific to any operating system while the OS drivers (OSM) must be used on the intended operating system. The OSM communicates with any of the HDMs. I2O cards/buses have an IOP - Input/Output Processor. This speeds up the system since the main CPU is processing less data.
|
||||
|
||||
Only enable "Enable LCT notification" on systems that lack a SUN I2O controller. I2C SUN firmware does not support LCT notifications.
|
||||
|
||||
The Adaptec I2O controllers need this next driver if RAID is intended (Enable Adaptec extensions).
|
||||
|
||||
Direct memory access of 64-bits can be allowed on Adaptec I2O controllers (Enable 64-bit DMA).
|
||||
|
||||
I2O devices can be configured if permitted (I2O Configuration support). This feature is mainly needed for RAID setup.
|
||||
|
||||
The old Input/Output controls can be enabled for I2O devices (Enable ioctls (OBSOLETE)).
|
||||
|
||||
The OSM software for I2O bus adapters can be enabled (I2O Bus Adapter OSM). This set of OSMs are used to find new I2O devices on the other end of the adapter.
|
||||
|
||||
Next, the OSMs for I2O block devices can be enabled (I2O Block OSM). RAID controllers on I2O hardware will need this OSM.
|
||||
|
||||
The following OSM is for the SCSI or FiberChannel devices on I2O controllers (I2O SCSI OSM).
|
||||
|
||||
Information on I2O devices can be read from /proc/ if enabled (I2O /proc support).
|
||||
|
||||
After the I2O features have been enabled/disabled, we can move on to other kernel abilities. Next, we have "Macintosh device drivers". These are only useful to Apple devices. Linux kernels for PCs should not have any of these features enabled. However, as with many statements there is always an exception. Some PC users may use an Apple mouse, keyboard, and/or some other Apple device. Again, it is best to thoroughly understand the need and use of the kernel being developed.
|
||||
|
||||
Next, we have a driver for networking (Network device support). X11 and other Linux software do not depend on this driver, so if the kernel will not need to connect to another computer, Internet, Intranet, or network, then this can safely be disabled.
|
||||
|
||||
The following driver is like above, but is specific to core drivers (Network core driver support).
|
||||
|
||||
Etherchannels are supported by this driver (Bonding driver support). In networking, bonding is the fusion of two or more Ethernet channels. This is also known as trunking.
|
||||
|
||||
A dummy network can be set up in Linux with this driver (Dummy net driver support). A dummy network is a virtual network that is like the /dev/null of networking. Any data sent to this dummy network is gone forever as it would be going to /dev/null. The IP address is not set. The user can define their networking equivalent of /dev/null.
|
||||
|
||||
Next, EQL can be supported (EQL (serial line load balancing) support). This is needed to allow two computers to communicate via two serial connections that use the SLIP or PPP protocol.
|
||||
|
||||
Fiber Channel is a fast serial protocol for connecting storage devices to computers (Fibre Channel driver support).
|
||||
|
||||
The MII transceiver needs this driver (Generic Media Independent Interface device support). MII is an interface for Ethernet with speeds up to 100Mbit/s. These Ethernet cables are intended for connecting to a PHYceiver which is an Ethernet transceiver.
|
||||
|
||||
To group many Ethernet devices via virtual interfaces, the "Ethernet team driver support" is needed.
|
||||
|
||||
"MAC-VLAN support" permits users to have packet maps between a particular MAC address and a certain interface.
|
||||
|
||||
A tap character device can be made from the MAC-VLAN network interface (MAC-VLAN based tap driver). Tap devices get packets from the kernel so they can be sent elsewhere.
|
||||
|
||||
The next feature allows virtual vxlan interfaces that create Layer 2 networks to be placed above Layer 3 (Virtual eXtensible Local Area Network (VXLAN)). This is commonly used for tunneling to virtual systems.
|
||||
|
||||
Messages that the kernel sends on a network can be logged with this feature (Network console logging support). Only enable this if it is important for you to log the network messages. Disabling this feature will enhance performance.
|
||||
|
||||
This feature allows various parameters to be changed (Dynamic reconfiguration of logging targets). Some of these parameters include port numbers, MAC addresses, IP addresses, and some other settings.
|
||||
|
||||
If user space programs are expected to use TAP devices, then enable this driver that will allow such activity (Universal TUN/TAP device driver support).
|
||||
|
||||
This driver is for local Ethernet tunnels (Virtual ethernet pair device).
|
||||
|
||||
The "Virtio network driver" is used with QEMU, Xen, KVM, and other virtual machines.
|
||||
|
||||
Next, "ARCnet support" can be enabled. ARCnet is a Token-Ring-like Local-Area-Network (LAN) protocol. ARCnet stands for "Attached Resource Computer Network".
|
||||
|
||||
Now, we can move on to "ATM drivers". ATM stands for "Asynchronous Transfer Mode". ATM is used for telecommunications.
|
||||
|
||||
The Marvell Ethernet switch needs this driver (Marvell 88E6060 ethernet switch chip support). Also, the chip for such a switch is also needed depending on the model (Marvell 88E6085/6095/6095F/6131 ethernet switch chip support) and (Marvell 88E6123/6161/6165 ethernet switch chip support).
|
||||
|
||||
Now, we can learn about "Ethernet driver support".
|
||||
|
||||
First, we can enable/disable "3Com devices". This then allows kernel developers to choose which 3Com devices to support.
|
||||
|
||||
The next set of options is for various "Adaptec devices" and then later "Alteon devices".
|
||||
These are just device/vendor specific drivers. Generally, these drivers are added as modules.
|
||||
|
||||
After those two sets of options, there is a set for "AMD devices" and again for "Atheros devices".
|
||||
|
||||
NOTE: Keep in mind what type of hardware the kernel will run on. For a large variety of devices, it may be best to add these devices as modules.
|
||||
|
||||
There are various other vendor-specific device drivers - "Cadence devices", "Broadcom devices", "Brocade devices", "Chelsio devices", "Cisco devices", and "Digital Equipment devices". Some other device/vendor specific drivers follow.
|
||||
|
||||
The next driver that is not vendor/device specific is "SLIP (serial line) support". This driver supports SLIP and CSLIP. SLIP (Serial Line Internet Protocol) is an Internet protocol for modems and serial ports. PPP is now used instead of SLIP. CSLIP is Compressed SLIP.
|
||||
|
||||
Next, "CSLIP compressed headers" can be enabled which compresses the TCP/IP headers. CSLIP is faster than SLIP, but to be able to use CSLIP, both the transmitting computer and the receiving computer must be able to understand CSLIP.
|
||||
|
||||
When using SLIP on bad analogue lines, then it may be a good idea to enable "Keepalive and linefill" which will help to keep the connection alive.
|
||||
|
||||
For running IP on poor-quality networks or are 7-bit, it may help to enable and use "Six bit SLIP encapsulation".
|
||||
|
||||
Now, we can move on to the popular USB system, but these are the USB drivers for networking.
|
||||
|
||||
The first USB network device to enable/disable is "USB CATC NetMate-based Ethernet device support". This is for 10Mbps USB Ethernet EL1210A chip devices. The USB device will act and appear to be an Ethernet device even though the hardware is USB.
|
||||
|
||||
Next, this driver is the same as above except this is for devices with the KLSI KL5KUSB101B chipset (USB KLSI KL5USB101-based ethernet device support).
|
||||
|
||||
The Pegasus USB devices are USB-to-Ethernet adapters/converters (USB Pegasus/Pegasus-II based ethernet device support).
|
||||
|
||||
Next, there is another USB-to-Ethernet driver (USB RTL8150 based ethernet device support).
|
||||
|
||||
In the next article, we will continue to configure the USB networking system.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.linux.org/threads/the-linux-kernel-configuring-the-kernel-part-14.4765/
|
||||
|
||||
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
@ -1,122 +0,0 @@
|
||||
19 The Linux Kernel: Configuring the Kernel Part 15
|
||||
================================================================================
|
||||
![](http://www.linux.org/attachments/slide-jpg.578/)
|
||||
|
||||
Aloha! In this article of the Linux kernel series, we are still configuring drivers for USB networking. Then, we will move on to input devices.
|
||||
|
||||
First, we can enable/disable the "Multi-purpose USB Networking Framework" which allows connecting laptops to desktop systems.
|
||||
|
||||
Next, the ASIX USB-to-Ethernet adapter driver can be enabled/disabled (ASIX AX88xxx Based USB 2.0 Ethernet Adapters).
|
||||
|
||||
Then, there is another ASIX adaptor driver (ASIX AX88179/178A USB 3.0/2.0 to Gigabit Ethernet).
|
||||
|
||||
NOTE: Generally, it is best to add adapter drivers as modules.
|
||||
|
||||
The Communication Device Class specification is offered in the driver (CDC Ethernet support (smart devices such as cable modems)). This specification is for USB modems. The Linux system recognizes this USB networking interface as an Ethernet interface and will be designated as "ethX" where "X" is the Ethernet device number.
|
||||
|
||||
Next is a specification similar to the above (CDC EEM support). CDC EEM stands for Communication Device Class Ethernet Emulation Model.
|
||||
|
||||
The CDC Network Control Model (NCM) also has a driver that offers the specification (CDC NCM support).
|
||||
|
||||
The driver providing the CDC MBIM (Mobile Broadband Interface Model) specification is also available for the Linux kernel (CDC MBIM support).
|
||||
|
||||
Next, there are several vendor/device specific drivers for various USB networking devices and chipsets.
|
||||
|
||||
After those, there is a generic driver for USB network devices that do not require any special drivers (Simple USB Network Links (CDC Ethernet subset)).
|
||||
|
||||
Again, there are some more drivers for device/vendor specific devices.
|
||||
|
||||
FUN FACT: Linux was used to make the special effects for the movie "Titanic" by James Cameron.
|
||||
|
||||
"CDC Phonet support" is for USB Nokia modems that use Phonet.
|
||||
|
||||
Now, we can move on to Wireless LAN drivers which use the 802.11 specification.
|
||||
|
||||
Mainly, there is a list of vendor/device specific drivers.
|
||||
|
||||
"SoftLED Support" controls the LEDs that are associated with the Wifi cards/devices.
|
||||
|
||||
Some chipsets support SDIO as seen by this driver (Atheros ath6kl SDIO support). SDIO is an extension of the Secure Digital specification for wireless SD cards. SDIO stands for Secure Digital Input/Output.
|
||||
|
||||
Kernel developers may also notice that some wireless devices can support QoS. QoS stands for Quality of Service. This feature gives network transmissions priority. Assume two sets of data need to be sent over a network. Only one can go first. QoS will send the most important data first.
|
||||
|
||||
FUN FACT: Technically, Linux is not an operating system. Linux is the kernel while GNU/Linux is the operating system.
|
||||
|
||||
The "Generic HDLC layer" is needed for WAN cards. HDLC stands for High-Level Data Link Control. This is a data link layer protocol.
|
||||
|
||||
Raw HDLC can be used with the "Raw HDLC support" driver enabled.
|
||||
|
||||
The "Raw HDLC Ethernet device support" driver allows the HDLC layer to emulate Ethernet.
|
||||
|
||||
|
||||
The cHDLC driver offers a HDLC extension also called Cisco HDLC (Cisco HDLC support).
|
||||
|
||||
The Linux kernel also has a driver for "Frame Relay support" for HDLC. Frame Relay is a Layer 2 protocol.
|
||||
|
||||
HDLC can also support PPP (Synchronous Point-to-Point Protocol (PPP) support) and X.25 (X.25 protocol support).
|
||||
|
||||
Next, this driver offers Frame Relay the ability to use DLCI (Frame Relay DLCI support).
|
||||
|
||||
The "LAPB over Ethernet driver" creates a device file that permits the user to make a LAPB point-to-point connection to another computer via Ethernet. The device file is usually /dev/lapb0 for the first of such device.
|
||||
|
||||
X.25 frames can be sent over telephone lines with this driver (X.25 async driver). Specifically, this driver allows X.25 to use asynchronous serial lines.
|
||||
|
||||
A special driver is needed for ISA SBNI12-xx cards (Granch SBNI12 Leased Line adapter support). These cards are inexpensive substitutes for leased line modems.
|
||||
|
||||
The next driver allows parallel connections to carry scheduled traffic (Multiple line feature support). This allows the Linux system to more efficiently manage parallel connection on SBNI12 adapters. Some Linux users claim this driver doubles their speed. However, I have never tested this to know for myself.
|
||||
|
||||
Next, "IEEE 802.15.4 drivers" can be configured. This is for slow WAN devices. This is a standard that controls the media and physical layers of the wireless network. This specification uses different frequencies in different continents. For example, in Europe, such wireless devices will use the 868.0-868.6MHz frequency.
|
||||
|
||||
The first setting in this category is for a fake LR-WPAN driver (Fake LR-WPAN driver with several interconnected devices). LR-WPAN stand for Low-Rate Wireless Personal Area Network.
|
||||
|
||||
FUN FACT: Only about 2% of the current kernel was written by Linus Torvalds.
|
||||
|
||||
The vmxnet3 virtual Ethernet used by VMware requires this driver (VMware VMXNET3 ethernet driver). When making a kernel for a large number of users, it is best to enable this as a module because someone may want to use the Ethernet on VMware.
|
||||
|
||||
The Hyper-V virtual network needs this driver (Microsoft Hyper-V virtual network driver). You may be wondering if this is the same Hyper-V virtual network by Microsoft. It is and yes, Linux supports Hyper-V.
|
||||
|
||||
The digital telephone service, ISDN, is supported by this driver (ISDN support). ISDN stands for Integrated Services Digital Network. In France, ISDN is known as RNIS which stands for Réseau numérique à intégration de services. With an ISDN adapter, a computer can start and accept voice calls. This allows computers to be used as answering machines or some other telephone service device. ISDN can also carry video information.
|
||||
|
||||
Now, we can move on to input devices (Input device support). These are devices that give the computer information. Mice and keyboards are the most commonly used and known input devices. Scanners are another example of input devices.
|
||||
|
||||
First, there is a driver that supports various haptic/tactile feed-back devices (Support for memoryless force-feedback devices). For instance, many game controllers vibrate which is haptic/tactile feed-back.
|
||||
|
||||
Some input devices check on the status of the hardware (Polled input device skeleton). Such behavior requires this driver.
|
||||
|
||||
Input devices that use sparse keymaps need this driver (Sparse keymap support library). A keymap is the layout information for keyboards.
|
||||
|
||||
Next, this is another keymap (Matrix keymap support library).
|
||||
|
||||
NOTE: When making a kernel for a broad user group, include most or all input devices as modules because the developer usually does not know what type of devices the users may plugin to the computer.
|
||||
|
||||
FUN FACT: A Vanilla Kernel is a Linux kernel in its original, unchanged state.
|
||||
|
||||
The "Mouse interface" makes two different device files for the mouse. The two device files are /dev/input/mouseX and /dev/input/mice.
|
||||
|
||||
This next driver makes a psaux device file that is an alias to /dev/input/mice (Provide legacy /dev/psaux device). The psaux device file is /dev/psaux.
|
||||
|
||||
If the system has a digitizer, then the horizontal resolution needs to be set (Horizontal screen resolution) and then the vertical resolution (Vertical screen resolution). A digitizer is the type of touch-screen that supports touch-pens that allow users to draw. Other touch-screens cannot support such complex input.
|
||||
|
||||
The next driver supports joysticks and gamepads (Joystick interface). This driver creates the /dev/input/jsX files.
|
||||
|
||||
The "Event interface" driver allows input devices to be accessible via /dev/input/eventX.
|
||||
|
||||
The "Event debugging" driver outputs all input events to the system's log. Do not enable this for any reason other than debugging systems. Obviously, for performance reasons, but the main reason I recommend this be disabled is for security purposes. All key-presses are plainly logged including passwords.
|
||||
|
||||
Next, a list of various keyboard drivers are listed for configuration (Keyboards) followed by mouse drivers (Mice) and then joystick/gamepad drivers (Joysticks/Gamepads).
|
||||
|
||||
After that, various drivers for specific tablet hardware/vendors are listed (Tablets). After that is the driver list for "Touchscreens".
|
||||
|
||||
The last set of input device drivers is a list of miscellaneous drivers for specific hardware and vendors (Miscellaneous devices).
|
||||
|
||||
The next article of this series will discuss input ports. Do not forget to read the other articles of this series and this website. Mahalo!
|
||||
|
||||
**NOTE TO FANS: Thank you** for all of your kind emails telling me how much you all love these articles.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.linux.org/threads/the-linux-kernel-configuring-the-kernel-part-15.4793/
|
||||
|
||||
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
@ -1,118 +0,0 @@
|
||||
20 The Linux Kernel: Configuring the Kernel Part 16
|
||||
================================================================================
|
||||
![](http://www.linux.org/attachments/slide-jpg.587/)
|
||||
|
||||
Welcome to the next Linux kernel article. In this article, we will discuss the input/output ports.
|
||||
|
||||
First, the "i8042 PC Keyboard controller" driver is needed for PS/2 mice and AT keyboards. Before USB, mice and keyboards used PS/2 ports which are circular ports. The AT keyboard is an 84-key IBM keyboard that uses the AT port. The AT port has five pins while the PS/2 port has six pins.
|
||||
|
||||
Input devices that use the COM port (sometime called RS232 serial port) will need this diver (Serial port line discipline). The COM port is a serial port meaning that one bit at a time is transferred.
|
||||
|
||||
The TravelMate notebooks need this special driver to use a mouse attached to the QuickPort (ct82c710 Aux port controller).
|
||||
|
||||
Parallel port adapters for PS/2 mice, AT keyboards, and XT keyboards use this driver (Parallel port keyboard adapter).
|
||||
|
||||
The "PS/2 driver library" is for PS/2 mice and AT keyboards.
|
||||
|
||||
"Raw access to serio ports" can be enabled to allow device files to be used as character devices.
|
||||
|
||||
Next, there is a driver for the "Altera UP PS/2 controller".
|
||||
|
||||
The PS/2 multiplexer also needs a driver (TQC PS/2 multiplexer).
|
||||
|
||||
The ARC FPGA platform needs special driver for PS/2 controllers (ARC PS/2 support).
|
||||
|
||||
NOTE: I want to make it clear that the PS/2 controllers that are discussed in this article are not Sony's game controllers for their PlayStation. This article is discussing the 6-pin mouse/keyboard ports. The controller is the card that holds the PS/2 ports.
|
||||
|
||||
The "Gameport support" driver offers support for the 15-pin gameport. Gameport was the 15-pin port used by many input gaming devices until the invention of the USB port.
|
||||
|
||||
The next driver is for gameports on ISA and PnP bus cards (Classic ISA and PnP gameport support). ISA stands for Industry Standard Architecture and was a parallel bus standard before PCI. PnP stands for Plug-and-Play and was a common standard before ISA.
|
||||
|
||||
"PDPI Lightning 4 gamecard support" provides a driver for a proprietary gamecard with gameports.
|
||||
|
||||
The SoundBlaster Audigy card is a proprietary gameport card (SB Live and Audigy gameport support).
|
||||
|
||||
|
||||
The ForteMedia FM801 PCI audio controller has a gameport on the card (ForteMedia FM801 gameport support). This driver only supports the gameport.
|
||||
|
||||
Next, we can move on to "Character devices". Character devices transfer data character by character.
|
||||
|
||||
First, TTY can be enabled or disabled (Enable TTY). Removing TTY will save a lot of space, but TTY is needed for terminals and such. Unless you know what you are doing, do not disabled TTY.
|
||||
|
||||
NOTE TO MY FANS: If you know of a reason for disabling TTY, could you post the answer below and share with us. Mahalo!
|
||||
|
||||
Next, support for "Virtual terminals" can be enabled/disabled. Again, a lot of space can be saved, but virtual terminals are very important.
|
||||
|
||||
This next driver supports font mapping and Unicode translation (Enable character translations in console). This can be used to convert ASCII to Unicode.
|
||||
|
||||
Virtual terminals can be used as system consoles with this driver (Support for console on virtual terminal). A system console manages the logins and kernel messages/warnings.
|
||||
|
||||
Virtual terminals must channel through a console driver to interact with the physical terminal (Support for binding and unbinding console drivers). Before the virtual terminal can do so, the console driver must be loaded. When the virtual terminal is closed, the console terminal must be unloaded.
|
||||
|
||||
The next driver provides support for Unix98 PTY (Unix98 PTY support). This is Unix98 pseudo terminal.
|
||||
|
||||
FUN FACT: The Linux kernel allows a filesystem to be mount many times in many places at once.
|
||||
|
||||
Next, "Support multiple instances of devpts" can be supported. The devpts filesystem is for pseudo-terminal slaves.
|
||||
|
||||
Legacy support for PTY can also be enabled (Legacy (BSD) PTY support).
|
||||
|
||||
The max amount of legacy PTYs in use can be set (Maximum number of legacy PTY in use).
|
||||
|
||||
The next driver can be used to offer support to serial boards that the other drivers fail to support (Non-standard serial port support).
|
||||
|
||||
Next, there are some drivers for specific boards and cards.
|
||||
|
||||
The GSM MUX protocol is supported with this driver (GSM MUX line discipline support (EXPERIMENTAL)).
|
||||
|
||||
The next driver enables the kmem device file (/dev/kmem virtual device support). kmem is usually used for kernel debugging. kmem can be used to read certain kernel variables and states.
|
||||
|
||||
The Stallion cards have many serial ports on them (Stallion multiport serial support). This driver specifically supports this card.
|
||||
|
||||
Next, we can move on to drivers for serial devices. As stated before, serial devices transfer one bit at a time.
|
||||
|
||||
The first driver is for standard serial port support (8250/16550 and compatible serial support).
|
||||
|
||||
Plug-and-Play also exists for serial ports with this driver (8250/16550 PNP device support).
|
||||
|
||||
The following driver allows the serial ports to be used for connecting a terminal to be used as a console (Console on 8250/16550 and compatible serial port).
|
||||
|
||||
Some UART controllers support Direct Memory Access (DMA support for 16550 compatible UART controllers). UART stands for Universal Asynchronous Receiver/Transmitter. UART controllers convert serial to parallel and vice versa.
|
||||
|
||||
Next, this driver offers support for standard PCI serial devices (8250/16550 PCI device support).
|
||||
|
||||
16-bit PCMCIA serial devices are supported by this driver (8250/16550 PCMCIA device support). Remember, PCMCIA is a PC-card that is usually used in laptops.
|
||||
|
||||
The maximum number of supported serial ports can be set (Maximum number of 8250/16550 serial ports) and then the maximum that are registered during boot-up (Number of 8250/16550 serial ports to register at runtime).
|
||||
|
||||
For extended serial abilities like HUB6 support, enable this driver (Extended 8250/16550 serial driver options).
|
||||
|
||||
A special driver is needed to support more than four legacy serial ports (Support more than 4 legacy serial ports).
|
||||
|
||||
Serial interrupts can be shared when this driver is used (Support for sharing serial interrupts).
|
||||
|
||||
Serial port IRQs can be autodetected using this driver (Autodetect IRQ on standard ports).
|
||||
|
||||
RSA serial ports are also supported by the Linux kernel (Support RSA serial ports). RSA stands for Remote Supervisor Adapter. RSA is an IBM-specific hardware.
|
||||
|
||||
Next, there are various vendor/device specific divers.
|
||||
|
||||
This is a TTY driver that uses printk to output user messages (TTY driver to output user messages via printk). Printk (print kernel) is a special piece of software that usually prints the boot-up messages. Any string that is displayed by printk is usually put in the /var/log/messages file. The shell command "dmesg" displays all strings that were used by printk.
|
||||
|
||||
Next, we can enable/disable support for parallel printers (Parallel printer support).
|
||||
|
||||
The next driver allows a printer to be used as a console (Support for console on line printer). This means kernel messages will be literally printed at the printer. Normally when the word "print" was used in this article series, it meant putting data on the screen. This time, this literally means putting the data on paper.
|
||||
|
||||
The following driver makes the device files at /dev/parport/ (Support for user-space parallel port device drivers). This allows some processes to access.
|
||||
|
||||
Again, the Linux kernel has many features and drivers, so we will discuss more drivers in the next article. Mahalo!
|
||||
|
||||
NOTE TO FANS: We are getting close to the end of the configuration process. I still have a list of all of the suggested Linux kernel topics that many of you wanted to know about. Some of the topics include installing the kernel, managing modules, adding 3rd-party drivers, and all of the other very interesting suggestions and requests.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.linux.org/threads/the-linux-kernel-configuring-the-kernel-part-16.4835/
|
||||
|
||||
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
@ -1,117 +0,0 @@
|
||||
ncdu – Ncurses Based Disk Usage Utility
|
||||
================================================================================
|
||||
uts a few days back, we discussed [gt5][1] (a graphical front-end to du). Continuing with this series of du alternatives, today we will discuss a ncurses based disk usage utility that can be run on a remote server set-up which does not have a graphical environment. The command line utility we are about to discuss is **ncdu**.
|
||||
|
||||
### ncdu – Ncurses Based du Alternative ###
|
||||
|
||||
The command line utility ncdu is nothing but a curses based version of the standard du command. It helps to quickly view the disk usage statistics of a system even if there is no graphical environment installed on it.
|
||||
|
||||
![](http://mylinuxbook.com/wp-content/uploads/2013/10/ncdu-main.png)
|
||||
|
||||
### Testing Environment ###
|
||||
|
||||
- OS – Ubuntu 13.04
|
||||
- Shell – Bash 4.2.45
|
||||
- Application – ncdu 1.9
|
||||
|
||||
### A Brief Tutorial ###
|
||||
|
||||
Here are some of the examples of ncdu command :
|
||||
|
||||
**1. The Default Output**
|
||||
|
||||
Just execute the **ncdu** command and you’ll observe that first it scans the disk and then displays the disk usage of various directories in descending order.
|
||||
|
||||
Here is an example :
|
||||
|
||||
**> Scanning**
|
||||
|
||||
![](http://mylinuxbook.com/wp-content/uploads/2013/10/ncdu-0.png)
|
||||
|
||||
**> Output**
|
||||
|
||||
![](http://mylinuxbook.com/wp-content/uploads/2013/10/ncdu-1.png)
|
||||
|
||||
So you can see that a disk usage table is displayed in the output. If you want to scan complete file system, use the -x option with ncdu utility.
|
||||
|
||||
**2. Get More Information On Selected Directory By Pressing i**
|
||||
|
||||
As you can see that the first entry is selected by default. To know more details related to a selected entry, just press i.
|
||||
|
||||
Here is an example :
|
||||
|
||||
![](http://mylinuxbook.com/wp-content/uploads/2013/10/ncdu-2.png)
|
||||
|
||||
So you can see that the information like Path, Type, Disk Usage, Apparent size etc. were displayed. To get rid of this window, just press i again.
|
||||
|
||||
**3. Delete A Directory From Within The ncdu Interface**
|
||||
|
||||
To delete a directory from within the ncdu interface, just select the entry and press d.
|
||||
|
||||
Here is an example :
|
||||
|
||||
![](http://mylinuxbook.com/wp-content/uploads/2013/10/ncdu-3.png)
|
||||
|
||||
So you can see that ncdu asks for a confirmation from the user. If you press yes, the directory will be deleted from the system.
|
||||
|
||||
**4. Show Percentage Of Total Disk Consumption By Each Directory**
|
||||
|
||||
Press g to display percentage of total disk consumption by each directory.
|
||||
|
||||
Here is an example :
|
||||
|
||||
![](http://mylinuxbook.com/wp-content/uploads/2013/10/ncdu-4.png)
|
||||
|
||||
So you can see that percentage consumption of total disk for each entry is displayed in the second column of output.
|
||||
|
||||
**5. Get Help Regarding All The Available Hot Keys**
|
||||
|
||||
Press ? to get help related to hot keys, format information and ncdu version related information.
|
||||
|
||||
Here are some help snapshots :
|
||||
|
||||
![](http://mylinuxbook.com/wp-content/uploads/2013/10/ncdu-5-1.png)
|
||||
|
||||
![](http://mylinuxbook.com/wp-content/uploads/2013/10/ncdu-5-2.png)
|
||||
|
||||
![](http://mylinuxbook.com/wp-content/uploads/2013/10/ncdu-5-3.png)
|
||||
|
||||
For command line options and other information, go through the [man page of ncdu command][2].
|
||||
|
||||
### Download/Install/Configure ###
|
||||
|
||||
Here are some of the important links related to ncdu command :
|
||||
|
||||
- [Home Page][3]
|
||||
- [Download Link][4]
|
||||
|
||||
Alternatively, ncdu can also be downloaded by command line managers like apt-get , yum etc. Additionally, Ubuntu users can use Ubuntu Software Centre to download this utility.
|
||||
|
||||
### Pros ###
|
||||
|
||||
- Quick access to a lot of information
|
||||
- Light on resources
|
||||
|
||||
### Cons ###
|
||||
|
||||
- Doesn’t come pre-installed on most of the Linux distributions
|
||||
- Has a bit of learning curve associated with it.
|
||||
|
||||
### Conclusion ###
|
||||
|
||||
If you are not satisfied with the standard du command and are looking for a fast, ncurses based du-like utility then try out ncdu. It provides lots of customization options. You’ll definitely like it.
|
||||
|
||||
**Have you ever used ncdu, gt5 or any other du-like utility? Share your experience with us.**
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://mylinuxbook.com/ncdu-ncurses-based-disk-usage-utility/
|
||||
|
||||
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://mylinuxbook.com/gt5-a-graphical-alternative-to-du/
|
||||
[2]:http://linux.die.net/man/1/ncdu
|
||||
[3]:http://dev.yorhel.nl/ncdu
|
||||
[4]:http://dev.yorhel.nl/ncdu
|
235
translated/10 Lesser Known Commands for Linux – Part 3.md
Normal file
235
translated/10 Lesser Known Commands for Linux – Part 3.md
Normal file
@ -0,0 +1,235 @@
|
||||
10个鲜为人知的Linux命令(3)
|
||||
================================================================================
|
||||
![](http://www.tecmint.com/wp-content/uploads/2013/11/10-Lesser-Known-Linux-Commands.png)
|
||||
|
||||
为了已经进入了10个鲜为人知Linux命令谢列的第三部分,这些都值得了解。或许你已经知道了这些命令,你无疑是一个有经验的Linux用户并喜欢探索。
|
||||
|
||||
### 22. ^foo^bar 命令 ###
|
||||
|
||||
在一个实例中运行修改后的最后一个命令。假设我需要运行一个命令‘**ls -l**‘来详细列出‘**Desktop**’目录下的内容。意外地,你打了‘**lls -l**‘。所以你需要重新打整个命令或者使用导航键编辑前面的命令。当你的命令很长时这个很痛苦。
|
||||
|
||||
avi@localhost:~/Desktop$ lls -l
|
||||
bash: lls: command not found
|
||||
|
||||
|
||||
avi@localhost:~/Desktop$ ^lls^ls
|
||||
|
||||
ls -l
|
||||
total 7489440
|
||||
|
||||
drwxr-xr-x 2 avi avi 36864 Nov 13 2012 101MSDCF
|
||||
-rw-r--r-- 1 avi avi 206833 Nov 5 15:27 1.jpg
|
||||
-rw-r--r-- 1 avi avi 158951 Nov 5 15:27 2.jpg
|
||||
-rw-r--r-- 1 avi avi 90624 Nov 5 12:59 Untitled 1.doc
|
||||
|
||||
**注意**:在上面的替换中我们使用“**^typo(被替换的)^original_command(原始命令)**”。这个命令可能会非常危险如果你有意或者无意地打错了系统命令或者任何像**rm -rf**那样的风险命令。
|
||||
|
||||
### 23. > file.txt 命令 ###
|
||||
|
||||
这个命令会刷新文件的内容而不需移除或者创建相同的文件。当我们反复需要一个输出或者在相同的文件上记录日志时,这个命令在脚本语言中非常有用。
|
||||
|
||||
我有一个有很多文字的‘**test.txt**’文件在我的‘**Desktop**‘上。
|
||||
|
||||
avi@localhost:~/Desktop$ cat test.txt
|
||||
|
||||
Linux
|
||||
GNU
|
||||
Debian
|
||||
Fedora
|
||||
kali
|
||||
ubuntu
|
||||
git
|
||||
Linus
|
||||
Torvalds
|
||||
|
||||
|
||||
avi@localhost:~/Desktop$ > test.txt
|
||||
avi@localhost:~/Desktop$ cat test.txt
|
||||
|
||||
**注意**:再说一次,这个命令可能很危险,永远不要尝试刷新系统文件或者篇日志文件的内容。如果你这么做了,你可能会遭遇严重的问题。
|
||||
|
||||
### 24. at 命令 ###
|
||||
|
||||
‘**at**‘命令与[cron 命令][1]相似也可用于安排一个任务或者在某个特定时刻执行命令。
|
||||
|
||||
avi@localhost:~/Desktop$ echo "ls -l > /dev/pts/0" | at 14:012
|
||||
|
||||
OR
|
||||
|
||||
avi@localhost:~/Desktop$ echo "ls -l > /dev/pts/0" | at 2:12 PM
|
||||
|
||||
**示例输出**
|
||||
|
||||
-rw-r--r-- 1 avi avi 220492 Nov 1 13:49 Screenshot-1.png
|
||||
-rw-r--r-- 1 root root 358 Oct 17 10:11 sources.list
|
||||
-rw-r--r-- 1 avi avi 4695982080 Oct 10 20:29 squeeze.iso
|
||||
..
|
||||
..
|
||||
-rw-r--r-- 1 avi avi 90624 Nov 5 12:59 Untitled 1.doc
|
||||
-rw-r--r-- 1 avi avi 96206 Nov 5 12:56 Untitled 1.odt
|
||||
-rw-r--r-- 1 avi avi 9405 Nov 12 23:22 Untitled.png
|
||||
|
||||
**注意**:echo “**ls -l**”: 这串echo命令(这里是 **ls -l**)输出在标准终端上。你可以用你需要或者选择的命令替代‘**ls -l**‘。
|
||||
|
||||
> : 重定向输出
|
||||
|
||||
**/dev/pts/0**: 这是输出设备与/或者文件,输出到被寻找的地方,这里输出在终端。
|
||||
|
||||
就我而言,此时我的**tty**在**/dev/pts/0**。你可以用**tty**命令检查你的**tty**。
|
||||
|
||||
avi@localhost:~/Desktop$ tty
|
||||
|
||||
/dev/pts/0
|
||||
|
||||
**注意**: ‘**at**‘会在系统时间匹配到特定时间时会尽快执行。
|
||||
|
||||
### 25. du -h –max-depth=1 命令 ###
|
||||
|
||||
下面的命令以人类可读的形式输出当前目录的子目录的大小。
|
||||
|
||||
avi@localhost:/home/avi/Desktop# du -h --max-depth=1
|
||||
|
||||
38M ./test
|
||||
1.1G ./shivji
|
||||
42M ./drupal
|
||||
6.9G ./101MSDCF
|
||||
16G .
|
||||
|
||||
**注意**:上面的命令在[检查系统使用率][2]是非常有用。
|
||||
|
||||
### 26. expr 命令 ###
|
||||
|
||||
‘**expr**‘不是那么鲜为人知的命令。这个命令在终端中计算简单的算数时非常有用。
|
||||
|
||||
avi@localhost:/home/avi/Desktop# expr 2 + 3
|
||||
5
|
||||
|
||||
avi@localhost:/home/avi/Desktop# expr 6 – 3
|
||||
3
|
||||
|
||||
avi@localhost:/home/avi/Desktop# expr 12 / 3
|
||||
4
|
||||
|
||||
avi@localhost:/home/avi/Desktop# expr 2 \* 9
|
||||
18
|
||||
|
||||
### 27. look 命令 ###
|
||||
|
||||
在终端上从英文字典上查单词以防混淆。也就是说,我混淆了是该拼成carrier还是carieer。
|
||||
|
||||
|
||||
avi@localhost:/home/avi/Documents# look car
|
||||
|
||||
Cara
|
||||
Cara's
|
||||
…
|
||||
...
|
||||
carps
|
||||
carpus
|
||||
carpus's
|
||||
carrel
|
||||
carrel's
|
||||
carrels
|
||||
carriage
|
||||
carriage's
|
||||
carriages
|
||||
carriageway
|
||||
carriageway's
|
||||
carried
|
||||
carrier
|
||||
carrier's
|
||||
carriers
|
||||
carries
|
||||
…
|
||||
...
|
||||
caryatids
|
||||
|
||||
上面的命令会显示字典上所有以'car'开头的单词。我得到了我想找的。
|
||||
|
||||
### 28. yes 命令 ###
|
||||
|
||||
另外一个命令在通常基础上并不会经常使用,但是在脚本语言和系统管理时非常有用。
|
||||
|
||||
这个命令会持续地输出给定的字符串,直到由你的中断命令打断。
|
||||
|
||||
avi@localhost:~/Desktop$ yes "Tecmint is one of the best site dedicated to Linux, how to"
|
||||
|
||||
Tecmint is one of the best site dedicated to Linux, how to
|
||||
Tecmint is one of the best site dedicated to Linux, how to
|
||||
Tecmint is one of the best site dedicated to Linux, how to
|
||||
Tecmint is one of the best site dedicated to Linux, how to
|
||||
…
|
||||
…
|
||||
...
|
||||
Tecmint is one of the best site dedicated to Linux, how to
|
||||
Tecmint is one of the best site dedicated to Linux, how to
|
||||
Tecmint is one of the best site dedicated to Linux, how to
|
||||
|
||||
### 29. factor 命令 ###
|
||||
|
||||
factor实际是一个始于数学的命令。这个命令会输出所有给定数字的因数。
|
||||
|
||||
avi@localhost:~/Desktop$ factor 22
|
||||
22: 2 11
|
||||
|
||||
avi@localhost:~/Desktop$ factor 21
|
||||
21: 3 7
|
||||
|
||||
avi@localhost:~/Desktop$ factor 11
|
||||
11: 11
|
||||
|
||||
### 30. ping -i 60 -a IP_address ###
|
||||
|
||||
我们都用ping命令检测服务器是否连通。我通常ping google,来检测我是否连接到了因特网。
|
||||
|
||||
当你等待或者持续盯着你的终端等待命令的回应或者等待服务器的连接时,有时是很气人的。
|
||||
|
||||
一旦服务器连通就有一个声音如何?
|
||||
|
||||
avi@localhost:~/Desktop$ ping -i 60 -a www.google.com
|
||||
|
||||
PING www.google.com (74.125.200.103) 56(84) bytes of data.
|
||||
64 bytes from www.google.com (74.125.200.103): icmp_req=1 ttl=44 time=105 ms
|
||||
64 bytes from 74.125.200.103: icmp_req=2 ttl=44 time=281 ms
|
||||
|
||||
让我告诉你一件事情,当你报告命令不会返回声音时。请确保你的系统不是静音的,声音已经在‘**sound preferences(声音选项)**‘ 中启用并确保勾选了‘**Enable window and window sound**‘。
|
||||
|
||||
### 31. tac 命令 ###
|
||||
|
||||
这个命令很有趣,他会以倒序输出文本文件的内容。也就是从最后一行到第一行。
|
||||
|
||||
在home目录下,我的Documents目录下有一个35.txt文件。用[cat 命令][3]检查内容。
|
||||
|
||||
avi@localhost:~/Documents$ cat 35.txt
|
||||
|
||||
**示例输出**
|
||||
|
||||
> 1. Linux is built with certain powerful tools, which are unavailable in windows.
|
||||
> 2. One of such important tool is Shell Scripting. Windows however comes with such a tool but as usual it is much weak as compared to it's Linux Counterpart.
|
||||
> 3. Shell scripting/programming makes it possible to execute command(s), piped to get desired output in order to automate day-to-day usages.
|
||||
|
||||
现在用tac命令反转文件内容。
|
||||
|
||||
avi@localhost:~/Documents$ tac 35.txt
|
||||
|
||||
**示例输出**
|
||||
|
||||
> 3. Shell scripting/programming makes it possible to execute command(s), piped to get desired output in order to automate day-to-day usages.
|
||||
> 2. One of such important tool is Shell Scripting. Windows however comes with such a tool but as usual it is much weak as compared to it's Linux Counterpart.
|
||||
> 1. Linux is built with certain powerful tools, which are unavailable in windows.
|
||||
|
||||
现在完了。如果你还知道其他一些Linux鲜为人知的命令,你可以在下面评论,那么我们你可以在以后的文章中包含进来。
|
||||
|
||||
不要忘了给我们有价值的评论。我很快会发另外有趣的文章。别走开继续关注 **Tecmint**。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.tecmint.com/10-lesser-known-commands-for-linux-part-3/
|
||||
|
||||
译者:[geekpi](https://github.com/geekpi) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.tecmint.com/11-cron-scheduling-task-examples-in-linux/
|
||||
[2]:http://www.tecmint.com/check-linux-disk-usage-of-files-and-directories/
|
||||
[3]:http://www.tecmint.com/13-basic-cat-command-examples-in-linux/
|
@ -0,0 +1,119 @@
|
||||
九个用Linux uname 命令获取操作系统详情的实例
|
||||
|
||||
================================================================================
|
||||
|
||||
![](http://linoxide.com/wp-content/uploads/2013/11/linux-uname-command.png)
|
||||
|
||||
当你在控制台模式下,无法通过‘右击 > About’给予你关于操作系统的信息.在Linux下,你可以用**uname**命令,帮助你完成. Uname是**unix name**的缩写.让我们先在控制台键入**uname**.
|
||||
|
||||
当你输入uname不带参数时,它仅仅只显示你的操作系统的名字.
|
||||
|
||||
# uname
|
||||
|
||||
Linux
|
||||
|
||||
也许它不能满足你的需要.所以你需要用一些参数使uname显示所需信息.
|
||||
|
||||
以下是uname参数的列表:
|
||||
|
||||
### 1. 内核名称 ###
|
||||
|
||||
你可以用**-s**参数,显示内核名称.
|
||||
|
||||
# uname -s
|
||||
|
||||
Linux
|
||||
|
||||
输出信息会跟uname不带参数时输出的一样.
|
||||
|
||||
### 2. 内核发行版 ###
|
||||
|
||||
如果你想知道你正在使用那个内核版本,就可以用**-r**参数
|
||||
|
||||
# uname -r
|
||||
|
||||
2.6.18-371.1.2.el5
|
||||
|
||||
### 3. 内核版本 ###
|
||||
|
||||
除一些内核信息外,用**-v**参数uname也能获取更详细的内核信息.
|
||||
|
||||
# uname -v
|
||||
|
||||
#1 SMP Tue Oct 22 12:57:43 EDT 2013
|
||||
|
||||
### 4. 节点名 ###
|
||||
|
||||
参数 -n 会提供给你节点的主机名.举例来说,如果你的主机名是“dev-machine”,**-n**参数会打印用-n参数的输出.
|
||||
|
||||
# uname -n
|
||||
|
||||
dev-machine
|
||||
|
||||
对于RedHat和CentOS用户来说,你也可以通过**/etc/redhat_release**文件:
|
||||
|
||||
# cat /etc/redhat_release
|
||||
|
||||
CentOS release 5.10 (Final)
|
||||
|
||||
如果不是基于RedHat的发行版,你可以用**/et/issue/**文件.类似如下:
|
||||
|
||||
# cat /etc/issue
|
||||
|
||||
Linux Mint Olivia \n \l:
|
||||
|
||||
### 5.硬件名称 ###
|
||||
|
||||
如果你在疑惑用的是那类机器,你可以尝试**-m**参数.它将告诉你关于硬件的信息.
|
||||
|
||||
# uname -m
|
||||
|
||||
i686
|
||||
|
||||
i686表明了你用的是32位的操作系统.如果是X86_64则表明你用的是64位的系统.
|
||||
|
||||
### 6. 硬件平台 ###
|
||||
|
||||
类似与硬件名称, -i参数会显示你的硬件平台.
|
||||
|
||||
# uname -i
|
||||
|
||||
i386
|
||||
|
||||
i386意味这是正在运行一个32位的系统.如果输出的是X86_64则说明你正在运行一个64位的系统.
|
||||
|
||||
### 7. 处理器类型 ###
|
||||
|
||||
你可以用**-p**参数查看处理器类型.如果uname无法识别,它会显示 ‘unknown’ 的输出.
|
||||
|
||||
# uname -p
|
||||
|
||||
i686
|
||||
|
||||
### 8. 操作系统 ###
|
||||
|
||||
Uname也可以透露你在运行的操作系统.用**-o**参数可以实现这个目的.
|
||||
|
||||
# uname -o
|
||||
|
||||
GNU/Linux
|
||||
|
||||
### 9. 所有信息 ###
|
||||
|
||||
有一个参数可以展示所有的信息!.这就是**-a**参数.它会显示所有信息,如果**-i和-p**输出为unknown则默认会被省略.
|
||||
|
||||
# uname -a
|
||||
|
||||
Linux dev-machine 2.6.18-371.1.2.el5 #1 SMP Tue Oct 22 12:57:43 EDT 2013 i686 i686 i386 GNU/Linux
|
||||
|
||||
以上就是关于uname命令的使用.请敬请期待更多的命令!
|
||||
|
||||
谢谢!
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://linoxide.com/linux-command/uname-command/
|
||||
|
||||
译者:[Luoxcat](https://github.com/Luoxcat) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
79
translated/Apache OpenOffice vs. LibreOffice.md
Normal file
79
translated/Apache OpenOffice vs. LibreOffice.md
Normal file
@ -0,0 +1,79 @@
|
||||
Apache OpenOffice vs. LibreOffice 详解
|
||||
================================================================================
|
||||
> 这两个开源办公套件产品很相似,然而某一个貌似已经开始具有轻微的领先优势……
|
||||
|
||||
[Apache OpenOffice][1]和[LibreOffice][2]都是OpenOffice.org的现代衍生产品。最近几年,几乎所有的Linux发行版都将LibreOffice作为它们的默认办公套件。然而,过去18个月来,OpenOffice作为Apache项目又重新回到了人们的视线,对于这两款全功能办公套件,现在,自由软件用户可以进行二选一咯~
|
||||
|
||||
然而即使是用户,在两种几乎一样的选择中做决定也会有困难。三年前,这哥儿俩分了家,三年时间,这对于软件开发来说是很长的一段时间,即使是这样,OpenOffice和LibreOffice之间的不同却刚刚开始显现。除去那些明显已经去掉的过时特性,单说功能集合与基本逻辑,自从OpenOffice.org时代以来,这两者都几乎没有什么大的改变。
|
||||
|
||||
纵观整个套件,只有个别应用里能发现一些新功能,主要集中在Writer的文字处理方面。其实,它们两者之间的大部分区别主要存在于更高的层面,例如对格式和字体的支持、对插件扩展的政策等,更多的不同,则体现在是否紧跟时代,以及对标准化接口的努力程度上。
|
||||
|
||||
###具体各程序间的区别###
|
||||
|
||||
LibreOffice和OpenOffice之间的程序大部分都是一样的。例如它俩的Draw,看起来完全没有区别;再说Impress,主要的区别就是LibreOffice最新版支持使用Android设备控制幻灯片放映;除了幻灯片背景以外,两者其他方面没什么不同,都能很好的胜任日常使用,除非有特殊偏好,用户选择哪一款都可以;同样,在Calc电子制表软件中,两者最大的区别就是你可以在LibreOffice里创建数据表格。
|
||||
|
||||
即使在用户最常用的Writer程序中,两者的区别也很小。LibreOffice这边,编辑窗口的底部状态栏现在新包含了一个字词计数器,审阅标签也不再局限于某个单个点,现在可以附加在配图上,另外,LibreOffice终于解决了“脚注无法紧靠对应文本显示”的bug,除此以外,LibreOffice还添加了一个简易搜索栏,与web浏览器上的那种类似,同时,去掉了图形水平线的选项,这个功能过去十几年来几乎从没人用过。
|
||||
|
||||
###格式与字体###
|
||||
|
||||
一些更明显的区别体现在格式分类与字体支持上。例如,OpenOffice始终支持一些较老的保存格式,像AportisDoc(Palm版)和Pocket Word。另外,它也可以打开.docx格式的文件,但是无法像LibreOffice一样将文档保存为docx格式。
|
||||
|
||||
LibreOffice同样在字体支持方面占有优势。它对多语言和高级排版工艺始终有较好的支持,因此最新发布版本能够支持OpenType这样的现代字体首选格式。更重要的,通过“文件->属性->自体”,你能够将字体嵌入到文档中去,无需任何繁琐操作,就能确保字体的兼容性。
|
||||
|
||||
这样的特性使得LibreOffice在面对微软Office用户转换格式的时候,得到了决定性的1分。因为通常,OpenOffice和LibreOffice都无法很好处理微软格式的文档,特别是那些又有文字表格又有图形对象再加上复杂格式的文档。因此,如果你要共享复杂一些的文档,例如宣传手册,最好使用PDF格式,而不是Open文档格式(ODF)。
|
||||
|
||||
然而,如果你确实需要转换一些本地或微软的文档,LibreOffice拥有一些决定性优势。它不仅能读写大多数微软文档,而且它对字体替换处理的很好,而这正是文档格式转换时要面临的一个主要问题。尽管其他问题仍有不少,例如在特性实现上有所不同,但LibreOffice在处理微软Office文档时确实应该是一个更可靠的选择。
|
||||
|
||||
###对待插件扩展的政策###
|
||||
|
||||
OpenOffice和LibreOffice两者都能很好的支持插件扩展,想要加强或替换某个特性的时候,用户只需要几分钟就能下载并安装完毕。大多数情况下,同一个扩展,在OpenOffice和LibreOffice上面都能工作的很好。
|
||||
|
||||
区别就在于,使用LibreOffice时,你无需亲自安装那些最流行的插件扩展。相反,LibreOffice已经帮你安装整合好了。例如,基本语法校验工具Lightproof、数据库汇总和打印工具ReportBuilder、演示文稿压缩工具PresentationMinimizer、博客用户喜欢的WikiPublisher、还有幻灯片配置工具PresentationConsole等等。
|
||||
|
||||
以上这些扩展在OpenOffice下同样可用。与前者不同的是,使用OpenOffice时,你首先需要知道有这些扩展,然后专门去找到它们,这样一来,很大程度上限制了新用户对很多功能的体验。因此,当OpenOffice在最近发布的版本中尝试努力提供更好用的现代模板和剪贴画时,这样的疏漏就成了一个非常严重的不足,特别是当它很容易弥补的时候,(更何况LibreOffice同时也提供了自家最新的模板和剪贴画)。
|
||||
|
||||
###接口的更新换代###
|
||||
|
||||
在OpenOffice.org属于Sun和Oracle的12年日子里,它的代码和接口就如同许多优秀特性一样,几乎被完全忽略。如今的结果就是,OpenOffice和LibreOffice作为套件产品,都各自拥有一整套优秀的功能,但是它们的接口却仍停留在上世纪90年代的水平。只有表面上的一些老旧接口被移除,其实大部分仍然亟待更新。
|
||||
|
||||
在最新的发布中,OpenOffice试图彻底更新自己的接口,但是却由于“导航栏”而被迫受阻。导航栏这一特性,如今已经成为“用户体验”的标签,在LibreOffice中,你可以通过“工具->选项->LibreOffice->高级”找到关于它的设置。
|
||||
|
||||
导航栏是一组功能集合,主要用于用户手动格式化。【【【这一特性鼓励用户使用样式,就代码编写人员的逻辑来说,这一点很容易被忽略。(这一句各种纠结不明白啥意思啊啊啊啊啊=。=)】】】然而,它最大的好处是,大大简化了字符和图形的格式化标签页,例如原本所有应用程序中都有的加粗选项,以及电子表格单元格中的“格式”标签页。幸运的是,导航栏还重新定义了菜单和样式对话框窗口的概念。
|
||||
|
||||
LibreOffice还拥有更多的“冒险创新精神”,例如,与导航栏类似,Impress中的任务面板,摘要显示了大多数幻灯片设计步骤中要用到的选项卡名称。
|
||||
|
||||
在Writer编辑窗口中,LibreOffice的大部分接口已经完成改进,窗口底部的状态栏中,添加了一个字词计数器,原本负责管理和编辑模板的狭窄子菜单,如今也已被高端大气上档次的流线形按钮所取代。
|
||||
|
||||
更明显的,LibreOffice中的主文本框架被精减为四个边角的十字准线。同样的,页眉和页脚也默认改为不可见,要想找到它们,四个小直角标明了它们的边界位置,点击就可以出现。
|
||||
|
||||
不太成功的一点改进是LibreOffice中管理页眉页脚的编辑窗口。除了【【【使用标签页鼓励手动格式化这一事实(和上面那纠结的一句一样,这是什么意思啊啊啊啊啊=。=)】】】,比较恼人的是,当在新一页的第一行输入的时候,已经输入的一部分总是会自动隐藏。
|
||||
|
||||
尽管LibreOffice还重组了许多窗口选项,但是这些努力远没有结束。有时,开发人员会让LibreOffice变成传统框架与现代极简艺术的混合体,看起来有些不伦不类,但是,至少LibreOffice正在尝试着解决长期搁置的接口问题,而这些,OpenOffice甚至都还没来得急意识到。
|
||||
|
||||
###做出选择###
|
||||
|
||||
如果文档不超过2到3页,一般用户可能需要时常检查标题栏看自己用的是LibreOffice还是OpenOffice。然而,对于进阶用户而言,LibreOffice目前可能更有优势。优势并不算大,但是很明显。
|
||||
|
||||
这一优势的确很难被忽略。原因首先,在LibreOffice已经确立了好几个月时间优势的情况下,OpenOffice却仍在专注于管理权和代码审计,这些工作也许有帮助也有必要,但是普通用户更愿意看到他们对代码做出更多的改进工作。
|
||||
|
||||
其次,LibreOffice的开发人员大部分是[Go-oo][3]的前成员,这是OpenOffice.org的一个非官方项目组,以“快速完善”为目标。当Apache OpenOffice项目组还在筹建中的时候,LibreOffice就已经吸引了全世界酷爱编程、热衷变革的天才们。
|
||||
|
||||
没有人做过准确的调查,但是我印象中,当OpenOffice.org社区分家的时候,大部分富于冒险创新精神的贡献者都选择了LibreOffice,同时,有一些半独立的文档小组,在谨慎地同时为两个项目工作。
|
||||
|
||||
其实,LibreOffice最重要的优势或许可以称之为“吸血许可证”。怎么个意思呢?就是OpenOffice的Apache许可证兼容LibreOffice的Lesser GNU通用公共许可证,但是LibreOffice的Less GNU通用公共许可证却不兼容OpenOffice的Apache许可证。换句话说,LibreOffice可以随意自由地从OpenOffice“借”代码,但是OpenOffice却根本无法从LibreOffice“借”到任何东西。严格地讲,如果想从LibreOffice“借”来某个功能,OpenOffice必须完全依靠“净室(clean-room)”来实现。
|
||||
|
||||
这一情况有可能会改变,尤其是当Apache OpenOffice比LibreOffice拥有更高的知名度的时候,然而LibreOffice的支持者们正在迅速扩张,它的社区非常活跃,短短3年间所做的要比OpenOffice.org十二年来做的还要多。
|
||||
|
||||
现在,除非你特别需要某个功能,使用OpenOffice还是LibreOffice几乎没有区别。但是,我断定,除非发生某些不可预料的事情,否则LibreOffice的优势将会越来越大。无论你选择支持哪一方,几年内,也许你会对它重新作出评价。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.datamation.com/applications/apache-openoffice-vs.-libreoffice-1.html
|
||||
|
||||
译者:[Mr小眼儿](http://blog.csdn.net/tinyeyeser) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.openoffice.org/
|
||||
[2]:http://www.libreoffice.org/
|
||||
[3]:https://en.wikipedia.org/wiki/Go-oo
|
@ -0,0 +1,42 @@
|
||||
[scusjs占坑]Daily Ubuntu Tips – Adding User Accounts In Ubuntu
|
||||
================================================================================
|
||||
Ubuntu is a multi-user operating system. Multi-user OS means that more than one users are access the computer with separate and individual profile with home folder, documents, and settings. User A can login and make changes to his/her profile without affecting user **B’s** profile.
|
||||
|
||||
So, instead of creating a single shared account for everyone in your household, you can create an individual account for each user who will be using your home computer. This brief tutorial is going to show you how to do that when using Ubuntu.
|
||||
|
||||
To get started, click on the far fight of the menu bar and select the gear icon, then click System Settings.
|
||||
|
||||
![](http://www.liberiangeek.net/wp-content/uploads/2013/09/ubuntulockscreendisable4.png)
|
||||
|
||||
When that opens, click ‘**User Accounts**’ from the bottom of your screen as shown below
|
||||
|
||||
![](http://www.liberiangeek.net/wp-content/uploads/2013/09/useraccountsubuntu.png)
|
||||
|
||||
You need administrative privileges to add user accounts to Ubuntu. If you do, click Unlock before adding accounts.
|
||||
|
||||
![](http://www.liberiangeek.net/wp-content/uploads/2013/09/useraccountsubuntu1.png)
|
||||
|
||||
Next, click the plus ( + ) button to create a user account.
|
||||
|
||||
![](http://www.liberiangeek.net/wp-content/uploads/2013/09/useraccountsubuntu2.png)
|
||||
|
||||
There are two primary account types when creating new users. **Standard User** and **Administrator**. User with administrative rights can delete users, install software and drivers, change the date and time and can make changes that may render the computer unstable.
|
||||
|
||||
Standard won’t be able to make these changes. He/she can only change stuff in his/her profile.
|
||||
|
||||
When you enter the full name of the user, the username will automatically be selected for you based on his full name. It’s ok to keep it but you can change it if you like. When you’re done, click Create to create the account.
|
||||
|
||||
By default, the account is disabled and will remain so until you change/add a password. To enable the account, click the Account disabled button, then type a new password.
|
||||
|
||||
![](http://www.liberiangeek.net/wp-content/uploads/2013/09/useraccountsubuntu3.png)
|
||||
|
||||
If you want to user to automatically logon without typing password, you can choose the drop-down option while setting his/her password to logon automatically.
|
||||
|
||||
Enjoy!
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.liberiangeek.net/2013/09/daily-ubuntu-tips-adding-user-accounts-ubuntu/
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
|
@ -0,0 +1,41 @@
|
||||
Ubuntu小贴士-改变Samba工作组和计算机名
|
||||
================================================================================
|
||||
这里还有另一个Ubuntu新手经常问的问题,答案很简单,但是对于新人来说完全理解需要花费一些时间。
|
||||
|
||||
这里有一些我们几天前收到的问题:
|
||||
|
||||
> 怎样在Ubuntu里改变Samba工作组和计算机名?
|
||||
|
||||
对于大多数的Ubuntu用户来说,给计算机改一个名字一定会在最低限度完成的列表上,更不用说Samba工作组了,一些少量的高级用户或者也会想轻松地在使用Ubuntu时做到这些。
|
||||
|
||||
如果是在Ubuntu里改变计算机名这个问题的话,我们之前已经写过一个简单的文章了,你真可以在[这里][1]找到。紧紧跟随[在Ubuntu里改变计算机名(changing your computer name in Ubuntu)][1]这篇向导性文章就可以达到你的目标。
|
||||
|
||||
或许还有别的方法可以在Ubuntu里改变你的计算机名但是这是最简单而快速的方法。对于那些使用Ubuntu服务器的,你可以使用Vi或者Vim编辑hostname和host等文件。使用Vi或者Vim对大多数人有点儿难,所以只有部分由使用这些编辑器的知识的人才会使用它。
|
||||
|
||||
要在Ubuntu里改变Samba工作组,按下键盘上的**Ctrl – Alt – T** 打开终端。但它(终端)打开后,运行下面的命令以编辑Samba的配置文件。
|
||||
|
||||
sudo gedit /etc/samba/smb.conf
|
||||
|
||||
这个文件打开之后,确定在[global]段的以workgroup开头的行有你想要起给工作组的名字。例如,如果你想要让工作组叫UBGP,将WORKGROUP替换成UBGP然后保存文件。在大多数情况下,你会必须重启计算机以应用这些改变。
|
||||
|
||||
![](http://www.liberiangeek.net/wp-content/uploads/2013/11/workgroupubuntu.png)
|
||||
|
||||
这就是怎样在Unbuntu里改变你的计算机的名字和它的工作组。切记,如果你想做这些以分享或者访问Windows的文件或者文件夹,你必须安装Samba。离了Samba,和Windows共享文件会很难。
|
||||
|
||||
运行以下命令以安装Samba。
|
||||
|
||||
sudo apt-get install samba
|
||||
|
||||
请继续关注和访问更多关于Ubuntu的小贴士。
|
||||
|
||||
尽情享受吧!
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.liberiangeek.net/2013/11/daily-ubuntu-tips-change-samba-workgroup-and-computer-name/
|
||||
|
||||
译者:[crowner](https://github.com/crowner) 校对:[wxy](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.liberiangeek.net/2013/10/daily-ubuntu-tips-change-computer-name/
|
@ -1,36 +0,0 @@
|
||||
每日Ubuntu小技巧 - 改变侧边栏图标大小
|
||||
================================================================================
|
||||
这里有一些其他的小技巧给新Ubuntu用户。这一系列的小技巧是为了帮助新Ubuntu用户轻松地配置和管理他们的电脑。这不是面向专家用户的,只是为了那些刚刚开始使用Ubuntu的用户。
|
||||
|
||||
Ubuntu启动器是Ubuntu Unity桌面的关键部分。启动器是一个布满图标的垂直条,当你登陆的时候,他就会放在屏幕的左边栏。它允许你方便地打开或者启动来自你桌面的程序。它也提供了快捷链接到应用,工作空间,可移动设备和垃圾桶。
|
||||
|
||||
默认情况下,这个启动器图标大小被设置为48为较小的屏幕。如果你需要调大或调小启动器的尺寸,那么请继续接下来的学习。
|
||||
|
||||
这里有许多你想调整Unity启动器的原因。一个好的原因是需要调整它到适应更小的屏幕。如果你的屏幕很小,默认尺寸也不合适,那么你就需要改变它了。
|
||||
|
||||
如果默认图标尺寸太小,就需要增大它,那么调整启动器去增大图标使他们容易点击。
|
||||
|
||||
开始吧,点击右上角的齿轮按钮弹出菜单条,点击系统设置(System Settings...),如下图。
|
||||
|
||||
![](http://www.liberiangeek.net/wp-content/uploads/2013/09/ubuntulockscreendisable3.png)
|
||||
|
||||
接下来,选择 外观(Appearance)
|
||||
|
||||
![](http://www.liberiangeek.net/wp-content/uploads/2013/09/unitylauncherubuntu.png)
|
||||
|
||||
最后,使用滚动条来调整(增大\减小)启动器的图标尺寸。
|
||||
|
||||
![](http://www.liberiangeek.net/wp-content/uploads/2013/09/unitylauncherubuntu1.png)
|
||||
|
||||
这个改变会被自动应用。记住,如果你想要继续作用默认尺寸,移动到48.
|
||||
|
||||
这是另一个为Ubuntu新用户的小技巧。继续回来发现更多的Ubuntu小技巧。如果你一个老手,想要做出贡献,请在下面留下意见。
|
||||
|
||||
享受吧!
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.liberiangeek.net/2013/09/daily-ubuntu-tips-resize-ubuntu-unity-launcher/
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
译者:[Vic___](http://blog.csdn.net/vic___) 校对:[校对者ID](https://github.com/校对者ID)
|
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是我在故障排除时的第一站,但这很少是我唯一的一站。
|
||||
|
||||
[![](http://farm4.staticflickr.com/3827/10847969205_c1b75f9fa2_m.jpg)][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
|
69
translated/Five Examples Of The ping Utility.md
Normal file
69
translated/Five Examples Of The ping Utility.md
Normal file
@ -0,0 +1,69 @@
|
||||
五个 ping 工具的实例
|
||||
|
||||
================================================================================
|
||||
|
||||
### 什么是 ping 工具###
|
||||
|
||||
在传授一些关于ping工具真实大观的实例前,先让我来解释一下这个命令行工具及其目的.ping工具通常用来测试一台主机在互联网协议(IP)网络内的连通性.其名字源于主动声纳法,这是用来在水下创建一个脉冲声音(ping)并遇到周围的对象而返回信号.用这个方法是对ping网络工具最通俗易懂的解释.ping工具对一台主机发送回应请求然后等待ICMP响应.
|
||||
|
||||
用于实践ping工具的一些例子:
|
||||
|
||||
### 查询主机的IP地址 ###
|
||||
|
||||
有时候你需要得到某一台的IP地址,你可以使用ping工具如图一所示.键入ping命令后面跟上要查询的主机名.
|
||||
|
||||
ping www.omgubuntu.com
|
||||
|
||||
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/ping1.png)
|
||||
|
||||
### 查询正在使用的ping工具的版本信息 ###
|
||||
|
||||
用 -V 选项可以用来查询你手头上ping工具的版本信息.键入下列命令显示正在使用的ping工具的版本信息.
|
||||
|
||||
ping -V
|
||||
|
||||
正如你从图二见到的,我正在用ping utility,iputils-sss20101006
|
||||
|
||||
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/ping2.png)
|
||||
|
||||
### 自动退出 ping ###
|
||||
|
||||
当你用‘ping 主机’命令ping一台机器,ping时无法停止必需按CTRL+C强行退出,或者你可以用 -c (count)选项指定发送包的数量.当用-c选项,当网络管理员(无论那个用户)发送了指定数量的包,无需按CTRL+C,ping进程会自动停止.
|
||||
|
||||
ping -c 13 127.0.0.1
|
||||
|
||||
上列的命令发送了13个包到我的本地主机上.
|
||||
|
||||
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/ping3.png)
|
||||
|
||||
正如你从图三看到的,我并没有按CTRL+C,而ping自动退出了.
|
||||
|
||||
### 指定数据包之间的时间间隔 ###
|
||||
|
||||
你知道ping每秒钟发送一个数据包吗?你要加快还是减慢呢?用 -i 选项能指定包之间的时间间隔.用下列命令快速发送或慢速发送包.
|
||||
|
||||
### 每0.13秒发送一个包 ###
|
||||
|
||||
ping -i 0.13
|
||||
|
||||
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/ping4.png)
|
||||
|
||||
### 每13秒发送一个包 ###
|
||||
|
||||
ping -i 13
|
||||
|
||||
### 结合 -i 选项和 -c 选项 ###
|
||||
|
||||
ping -c 13 -i 3
|
||||
|
||||
用39秒发出13个数据包,数据包的时间间隔为三秒.
|
||||
|
||||
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/ping6.png)
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.unixmen.com/five-examples-ping-utility/
|
||||
|
||||
译者:[Luoxcat](https://github.com/Luoxcat) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
@ -1,66 +0,0 @@
|
||||
KayGuoWhu翻译中
|
||||
使用安卓设备控制你的Linux PC
|
||||
================================================================================
|
||||
**下面的教程会指导所有的Linux使用者如何在系统上安装SSH,以便通过安卓智能手机远程访问他们的电脑。**
|
||||
|
||||
![](http://i1-news.softpedia-static.com/images/news2/How-to-Control-Your-Linux-PC-with-an-Android-Device-396004-2.jpg)
|
||||
如今我们所有人都拥有一台平板或出触屏手机,我们经常使用它们在深夜里看电影或电视秀,听歌或者阅读一本好书。你可以把这篇文章称作是为那些在大晚上因为太过疲惫而懒得去开启他们电脑上的某些应用程序,移动、删除,复制或重命名某些文件,甚至关掉PC的懒人们准备的教程。
|
||||
|
||||
的确,已经有各种各样的远程桌面解决方案,但是许多方案费用很高,或者实现效果很糟糕,无法像预期一样运行,迫使你最终还是得去电脑上做你原本想做的事情。
|
||||
|
||||
在这个教程里面,我们将使用一种简单、安全、高效的协议,它被称为SSH (Secure Shell),很容易从默认的软件仓库中安装(在Arch linx中是openssh,在Ubuntu中时openssh-server)。
|
||||
|
||||
### 配置SSH服务器 ###
|
||||
|
||||
在安装完成后,你需要为SSH服务器进行基本配置。为此,你需要使用文本编辑器编辑/etc/ssh/sshd_config这个文件。
|
||||
|
||||
1.在文件尾部添加下面一行(yourusername的地方会被你的Linux机器上真实的用户名代替)
|
||||
|
||||
AllowUsers yourusername
|
||||
|
||||
2.取消"#PermitRootLogin"这行注释,把"no"替换成"yes":
|
||||
|
||||
PermitRootLogin no
|
||||
|
||||
3.为了安全起见,你需要修改SSH 连接默认的port 22端口到一个更大编号的端口,譬如在我们的例子中是55441
|
||||
(但不要使用55441,这是初始的,找另一个四位或者五位数字)。因此,取消注释并编辑"#Port 22"如下:
|
||||
|
||||
Port 55441
|
||||
|
||||
### 开启SSH服务器###
|
||||
|
||||
在Ubuntu上,SSH服务通过下面的命令启动:
|
||||
|
||||
sudo /etc/init.d/ssh start
|
||||
|
||||
当你每次修改上述配置文件时,都需要通过下面的命令重启:
|
||||
|
||||
sudo /etc/init.d/ssh restart
|
||||
|
||||
在Arch Linux上,你可以使用下面的命令启动SSH服务:
|
||||
|
||||
sudo systemctl start sshd
|
||||
|
||||
### 配置安卓设备上的SSH客户端###
|
||||
|
||||
JuiceSSH似乎是安卓上最好的SSH客户端之一,而且是免费的。同时,如果你认为它的功能不好,可以花费少量的资金去获取更多高级的特性,譬如亚马逊 AWS/EC2 集成,团队协作,以及更多其它的特性。
|
||||
|
||||
一旦软件安装完毕,开启它,然后你会要求输入一个加密的密码以保证安全连接的安全。这个密码由WES-256进行加密,因此除非你的设备被偷,否则没有人能够获取他们。
|
||||
|
||||
![](http://i1-news.softpedia-static.com/images/extra/LINUX/large/sshlinuxandroid-large_001.jpg)
|
||||
|
||||
现在,添加一个新连接,选择名称,你的电脑的IP地址,上面设定的端口号和一个需要被创建的身份。
|
||||
|
||||
![](http://i1-news.softpedia-static.com/images/extra/LINUX/large/sshlinuxandroid-large_002.jpg)
|
||||
|
||||
![](http://i1-news.softpedia-static.com/images/extra/LINUX/large/sshlinuxandroid-large_003.jpg)
|
||||
|
||||
这就是我的Arch Linux盒子,可以通过我的安卓平板上的JuiceSSH客户端访问到。如果在这个教程中你遇到问题,请在下面进行评论。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://news.softpedia.com/news/How-to-Control-Your-Linux-PC-with-an-Android-Device-396004.shtml
|
||||
|
||||
译者:[KayGuoWhu](https://github.com/KayGuoWhu) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
@ -0,0 +1,107 @@
|
||||
Linux上如何架设 OpenVPN 建立安全的远程网络[part 1]
|
||||
================================================================================
|
||||
一直以来,我们在互联网上传输信息时,都谨慎地为这些信息加密,以防内容泄露出去,特别是在政府的干预下,为网络上每个字节都进行加密已经变得空前重要了。在这种情况下,OpenVPN 是保障网络信息安全的首选。今天我们就来学习一下如何架设 OpenVPN,使你可以在任何场所都能安全地访问家里的服务器。
|
||||
|
||||
VPN 小贴士:很多商业的 VPN 根本不值它们的售价,它们的安全性只比通过 SSL 保护的网站高一点点,原因是它们信任所有客户端。一个真正意义上的 VPN 用于在非可信网络上连接两个可信的终端。用户不能随便找一台 PC 机就能登录进 VPN,因为你的 VPN 如果能被一台受到病毒感染的 PC 登录进来,不管它们建立的连接有多么安全,都不是一件好事情。所以你必须在你的客户端和服务器端都要好好地配置一下 VPN 服务。
|
||||
|
||||
### OpenVPN 快速入门 ###
|
||||
|
||||
你需要两台不同子网下的计算机,比如同一网段一台使用网线的 PC 和一台使用无线 的 PC(或者是 VitualBox 虚拟机上的多台Linux客户机),并且你要知道它们的 IP 地址。这里分别为这两台计算机命名为“Studio”和“Shop”,都给它们安上 OpenVPN。OpenVPN 支持大多数 Linux 发行版,所以你只要用你手头的安装包管理软件就行。本文的包管理器是 Debian、Ubuntu 以及它们的衍生版中使用的 apt-get,下面安装 OpenVPN:
|
||||
|
||||
$ sudo apt-get install openvpn openvpn-blacklist
|
||||
|
||||
上面的步骤安装了 OpenVPN 服务器和一个用于检查外泄密钥黑名单的程序。请务必安装这个黑名单检查器,因为有一次 Debian 发布了一个[有漏洞的 OpenSSL 软件][1],这个软件里的随机码生成器会产生不可信任的密钥 —— 产生的这些密钥不是真正的随机数,它们可以被预测到。这件事发生在2008年,当时所有使用了这个软件的人都需要替换掉他们的弱密钥。即使5年过去了,我们还是建议使用这个黑名单检查器。
|
||||
|
||||
现在让我们测试下,先为两台 PC 创建一个不加密的通道。首先互 ping 一下确保它们能连通,然后让 OpenVPN 处于关闭状态(我们会在后面手动启动它):
|
||||
|
||||
$ ps ax|grep openvpn
|
||||
|
||||
如果 openvpn 这个后台进程存在,那就 kill 了它。这里假设“Studio”这台 PC 的 IP 是192.168.1.125,“Shop”的 IP 是192.168.2.125。现在在“Studio”端开启一个未加密的连接到“Shop”端:
|
||||
|
||||
$ sudo openvpn --remote 192.168.2.125 --dev tun0 --ifconfig 10.0.0.1 10.0.0.2
|
||||
|
||||
然后开一个从“Shop”到“Studio”的连接:
|
||||
|
||||
$ sudo openvpn --remote 192.168.1.125 --dev tun0 --ifconfig 10.0.0.2 10.0.0.1
|
||||
|
||||
连接成功的话你会看到类似下面的信息:
|
||||
|
||||
Wed Oct 16 2013 ******* WARNING *******: all encryption and authentication
|
||||
features disabled -- all data will be tunnelled as cleartext
|
||||
Wed Oct 16 2013 TUN/TAP device tun0 opened
|
||||
Wed Oct 16 2013 do_ifconfig, tt->ipv6=0, tt->did_ifconfig_ipv6_setup=0
|
||||
Wed Oct 16 2013 /sbin/ifconfig tun0 10.0.0.1 pointopoint 10.0.0.2 mtu 1500
|
||||
Wed Oct 16 2013 UDPv4 link local (bound): [undef]
|
||||
Wed Oct 16 2013 UDPv4 link remote: [AF_INET]192.168.2.125:1194
|
||||
Wed Oct 16 2013 Peer Connection Initiated with [AF_INET]192.168.2.125:1194
|
||||
Wed Oct 16 2013 Initialization Sequence Completed
|
||||
|
||||
看到“Initialization Sequence Completed”这句话时,说明你的操作成功了。这时你应该能够 ping 通两个隧道的 IP:ping 10.0.0.1 和 ping 10.0.0.2。当你建立隧道的时候,你无需在意你所在的网络,你可以为你的隧道指定任何 IP 地址。关闭隧道请按 Ctrl+c。
|
||||
|
||||
现在你可以利用这个隧道打开一个 SSH 会话了。图1显示了通过 VPN 隧道登录 SSH 的例子,这个图也显示了有趣的 Message of the Day(MOTD)图片,图片来自于博客《[在你的 Linux 系统上放一张奶牛的 MOTD 图片][2]》:
|
||||
|
||||
$ ssh carla@10.0.0.2
|
||||
|
||||
![](http://www.linux.com/images/stories/41373/SSH-OpenVPN.jpg)
|
||||
|
||||
*图1:成功通过 VPN 隧道建立 SSH 会话,并显示了有趣的 MOTD 图片*
|
||||
|
||||
哼哼哈𠯋,它运行得不错。
|
||||
|
||||
### 加密后的 VPN 隧道 ###
|
||||
|
||||
目前为止,我们玩得还不赖,但是没有使用加密技术,一切都毫无意义,所以我们需要建立一个简单的静态密钥配置文件。不像公钥基础设施(PKI),有着根认证中心、可撤消认证等安全措施,我们的加密机制没有那么强悍,但是对于仅仅想远程到家里的用户来说,已经足够了。OpenVPN 有提供创建静态密钥的命令,我们可以建立目录存储密钥、创建密钥,并将文件设为对file owner只读模式:
|
||||
|
||||
$ sudo mkdir /etc/openvpn/keys/
|
||||
$ sudo openvpn --genkey --secret /etc/openvpn/keys/static.key
|
||||
$ sudo chmod 0400 /etc/openvpn/keys/static.key
|
||||
|
||||
这是个明文密钥,你可以利用文本编辑器打开密钥文件读取到它,文件名可以随意,不一定非得叫“static.key”。将这个密钥拷到需要通信的两台电脑上,呵呵,这是对称加密,而不是公钥加密。
|
||||
|
||||
现在我们要在两台电脑上完成基本的配置。(在非类 Ubuntu 的系统中,OpenVPN 没有提供默认的配置文件,但是在 /usr/share/doc/openvpn/ 目录下会为你提供一个配置文件的样本。)在我的实验中,“Studio”是服务器端,“Shop”是一台笔记本电脑,用于登录到“Studio”中。我的服务器端的配置文件是 /etc/openvpn/studio.conf,它的配置信息如下:
|
||||
|
||||
# config for Studio
|
||||
dev tun
|
||||
ifconfig 10.0.0.1 10.0.0.2
|
||||
secret /etc/openvpn/keys/static.key
|
||||
|
||||
将配置文件设为只有拥有者有读写权限:
|
||||
|
||||
$ sudo chmod 0600 /etc/openvpn/studio.conf
|
||||
|
||||
客户端的配置文件内容类似,只是多了服务器端的 IP 地址:
|
||||
|
||||
# config for Shop
|
||||
dev tun
|
||||
ifconfig 10.0.0.2 10.0.0.1
|
||||
secret /etc/openvpn/keys/static.key
|
||||
remote 192.168.1.125
|
||||
|
||||
注意 ifconfig 那行的 IP 地址的顺序,本地的 IP 要放在远程的 IP 之前。现在启动服务器端的 OpenVPN,指定服务器端配置文件,客户端操作雷同:
|
||||
|
||||
$ sudo openvpn /etc/openvpn/studio.conf
|
||||
$ sudo openvpn /etc/openvpn/shop.conf
|
||||
|
||||
成功建立连接后,你还会看到“Initialization Sequence Completed”这句话,但你不会再看到这句 WARNING(这句话会在你建立了未加密的隧道时出现):
|
||||
|
||||
******* WARNING *******: all encryption and authentication features disabled
|
||||
|
||||
### 防火墙和动态 IP 地址 ###
|
||||
|
||||
OpenVPN 本身是比较容易配置的,最麻烦的是处理防火墙和动态 IP 地址。防火墙种类众多,对于如何配置防火墙不拦截你的隧道,我把这个话题当作家庭作业留给你自己解决:P。OpenVPN 的端口是1194,你可以在防火墙上设置一个转发规则,用于将消息转发到你的目标服务器。
|
||||
|
||||
接下来处理另一件麻烦事:动态 IP 地址。[Dyn.com][3]可以提供一个廉价的方法,为你管理 ISP 分配给你的动态 IP,或者你也可以向你的 ISP 支付一笔费用,从而得到一个静态 IP。
|
||||
|
||||
至此,你可以宣告工作完成了,接下来的任务就是手动开启服务器端的 OpenVPN,让它一直运行在那里,等待你的登录。你可以将你的笔记本拿到外面,并随时随地随心所欲地连接到服务器。然而,关于 OpenVPN 的操作,我还有一些重要的知识点要讲,比如如何为 OpenVPN 设置开机启动,如何利用 Network Manager 自动建立连接,以及这篇 OpenVPN 教程中最重要的一块:如何访问你的远程服务器上的资源。我们下周见。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.linux.com/learn/tutorials/743590-secure-remote-networking-with-openvpn-on-linux
|
||||
|
||||
译者:[bazz2](https://github.com/bazz2) 校对:[jasminepeng](https://github.com/jasminepeng)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.debian.org/security/2008/dsa-1571
|
||||
[2]:http://www.linux.com/learn/tutorials/741573-put-a-talking-cow-in-your-linux-message-of-the-day
|
||||
[3]:http://dyn.com/dns/
|
@ -0,0 +1,93 @@
|
||||
OpenVPN 安全手册[part 2]
|
||||
================================================================================
|
||||
欢迎你们回来继续看我们的 OpenVPN 系列的第二部分。上次我们讲到如何让远端计算机(如笔记本电脑)[通过简单的加密隧道]登录到家里的服务器。今天我们接着讲进阶部分:比如设置 OpenVPN 开机启动,省得我们每次重启服务器的时候都要手动开启 OpenVPN 服务;比如使用 Network Manager 简化访问到远程服务器的过程。
|
||||
|
||||
### 整合到 Network Manager ###
|
||||
|
||||
Network Manager 是一个不错的 OpenVPN 客户端;你只需要安装 network-manager-openvpn 这个插件。我们继续《OpenVPN 安全手册》第一部分使用的配置。打开 Network Manager 配置界面,进入“新建 VPN 连接”的窗口。这个界面布局在 KDE 和 GNOME 下面看起来有点不一样,但是大体的信息是一样的。开始的时候你需要选择 OpenVPN 作为你的 VPN 连接类型,就像图1所示;如果你没看到 OpenVPN 的选项,说明你没有安装好插件。(图1是一张 GNOME 下面的图片。)
|
||||
|
||||
![](http://www.linux.com/images/stories/41373/figu-1-openvpn-nm.jpg)
|
||||
|
||||
*图1:在 Network Manager 上新建 OpenVPN 客户端 *
|
||||
|
||||
图2显示了配置主界面。从上到下分别为:
|
||||
|
||||
- 连接名,任取一个。
|
||||
- 远程服务器的网关。
|
||||
- 下拉菜单选择静态密钥(Static Key)。
|
||||
- 然后通过文件浏览器找到静态密钥文件。
|
||||
- 这个不是方向性的密钥,所以 Key Direction 这里设为 None。
|
||||
- 远程 IP 和 本地 IP 是我们在上一部分已经设置好的虚拟 OpenVPN 地址,可分别通过 /etc/openvpn/studio.conf 和 /etc/openvpn/shop.conf 文件获得。
|
||||
- 我们无需设置密码,所以“Show passwords”复选框为空。
|
||||
- 这个连接是“所有人都可用”,还是只有你可用,随你喜欢。
|
||||
|
||||
![](http://www.linux.com/images/stories/41373/fig-2-openvpn-nm-1.jpg)
|
||||
|
||||
*图2:Network Manager 配置 OpenVPN 客户端主界面*
|
||||
|
||||
保存然后就可以使用 Network Manager 建立连接了。So easy,妈妈再也不用担心你的学习了!看见图3了么?你现在只需点击一下高亮的按钮就可以连接到你的家庭服务器,或从你的家庭服务器中断开连接。
|
||||
|
||||
![](http://www.linux.com/images/stories/41373/fig-3-openvpn-nm-3.jpg)
|
||||
|
||||
### OpenVPN 开机启动 ###
|
||||
|
||||
手动开启 OpenVPN 很简单,但是你也许想要更简单,让它能够在服务器重启的时候跟着自动启动。在 Debian/Ubuntu 以及绝大部分发行版中,当你安装完 OpenVPN 的时候就被设置为开机启动的。所以你需要重启系统,或者按下面的方法启动后台进程:
|
||||
|
||||
$ sudo /etc/init.d/openvpn start
|
||||
$ sudo service openvpn start
|
||||
|
||||
第一个命令是比较老的启动方法,第二个命令使用了“service”命令。“service”命令第一次出现在 Red Hat 发行版中,如果你的发行版中没有安装这个命令,你需要从你的软件源里面去找到它。
|
||||
|
||||
Ubuntu 使用 Upstart 管理服务进程,Debain 使用的老的 SysV,而 Fedora 使用“systemd”。如果你在 /etc/openvpn 目录下配置了多个 OpenVPN 的服务,你可以通过“systemd”的命令启动你要的服务:
|
||||
|
||||
# systemctl start openvpn@studio.service
|
||||
|
||||
这里的“studio.service”与我们在第一部分讲过的例子中的 /etc/openvpn/studio.conf 配置的服务相对应。用这些方法启动的后台进程,在系统重启后会失效,所以这些方法都和第一部分讲的启动方式一样,仅能使 OpenVPN 运行一次。你可以将启动 OpenVPN 进程的任务交给 chkconfig:
|
||||
|
||||
# service openvpn start
|
||||
# chkconfig openvpn on
|
||||
|
||||
上面列出的是启动 OpenVPN 后台进程最常见的方式,这个命令启动了一整个进程,而不是对 /etc/openvpn/下面的所有 .conf 配置文件都维护一个进程。systemd 支持chkconfig 以及 service 命令,所以上面两条命令能够正常工作。然而使用 systemd 的发行版非常多,如果你的工作环境和我们的不一样,请通过发表评论的方式通知我们。
|
||||
|
||||
### 强化你的连接 ###
|
||||
|
||||
OpenVPN 的健壮性足够维持一条持久的连接,即使服务宕掉。而你可以令这个连接变得更加稳定,只需要在服务器端和客户端的 .conf 文件内添加下面两条属性:
|
||||
|
||||
persist-tun
|
||||
persist-key
|
||||
|
||||
这两条属性对于那些笔记本电脑用户来说非常有用,他们的电脑会因为电源保护或需要移来移去而经常断开 OpenVPN 的连接。
|
||||
|
||||
### 现在,该做些什么? ###
|
||||
|
||||
你已经完成了所有设置,并且你的服务工作正常,你接下来能用这个干点什么?如果你以前一直用 OpenSSH 来远程你的服务器,你会有这样的思维定势:你可以利用 OpenVPN 登录到远程机器,然后跑上面的应用。你要是那样做,就太浪费 OpenVPN 了。你可以将 OpenVPN 想像成是一条虚拟的以太网电缆接到你的服务器上或者是你的局域网内,这条电缆还包着厚厚的加密保护。你可以在它提供的隧道上跑任何加密的不加密的服务,并且只需要在防火墙上开一个端口。
|
||||
|
||||
所以你可以利用 OpenVPN 隧道来建立 SSH 连接,然后远程到服务器,然后在服务器上跑应用。你可以访问到网络资源,比如文件共享和 Web 应用。你可以强制让你的电脑通过 VPN 隧道访问到网络,但我认为你会想要同时能够使用本地网络和 VPN 网络的。
|
||||
|
||||
所以,在你的笔记本上你可以上网冲浪,使用 SSH,做你想做的任何事,上你想上的任何网络。当你想利用 OpenVPN 隧道做一些事情时,你只需要打开它,然后输入 IP 地址:
|
||||
|
||||
$ ssh carla@10.0.0.1
|
||||
|
||||
对于一些 Web 服务,操作也简单:让你的 Web 浏览器访问到 OpenVPN 的 IP 地址然后登录进去。举个例子,我在我家的服务器上跑了多个 Web 服务做测试,我可以通过[http://10.0.0.1/drupal][2]访问 Drupal,可以通过[http://10.0.0.1/owncloud][3]访问 OwnCloud。我电脑上有优秀的图形界面 FTP 客户端 gFTP,所以只需要填入 IP 地址、用户名、密码就能访问到 FTP 服务器,或者使用下面的命令:
|
||||
|
||||
$ ftp 10.0.0.1 21
|
||||
|
||||
你可以远程管理你的 MySQL 数据库,输入帐号密码:
|
||||
|
||||
$ mysql -h 10.0.0.1 -u admin -p
|
||||
|
||||
所以最重要的是你要知道怎么去配置一个你想要玩的功能。
|
||||
|
||||
很显然,当我们使用名称服务(name service)时,会比直接使用 IP 地址更方便。所以某一天我们可以学学如何在 OpenVPN 上布署一个名称服务。现在,先享受一下 OpenVPN 带给你的乐趣吧。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.linux.com/learn/tutorials/745233-how-to-set-up-secure-remote-networking-with-openvpn-on-linux-part-2
|
||||
|
||||
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.linux.com/learn/tutorials/743590-secure-remote-networking-with-openvpn-on-linux
|
||||
[2]:http://10.0.0.1/drupal
|
||||
[3]:http://10.0.0.1/owncloud
|
@ -0,0 +1,79 @@
|
||||
如何在Linux的桌面上创建快捷方式或启动器
|
||||
===
|
||||
假如在Linux桌面系统中有一个程序你经常使用,你可能想去创建一个“桌面快捷方式”,以便于你在桌面只要点击一下快捷方式就可以启动它。大多数带有图形界面的程序会在安装时自动在桌面上创建快捷方式,还有一些图形界面程序或者命令行程序可能需要你手动创建快捷方式。
|
||||
|
||||
在这个手册里,我将告诉你**如何在不同的Linux桌面上添加桌面快捷方式**。
|
||||
|
||||
一个桌面快捷方式是由内含该APP元信息(例如,app的名字,启动命令或者图标位置等)的.desktop文件所表示的。桌面快捷方式文件放置于**/usr/share/applications**或者**~/.local/share/applications**处。前一个目录存储每个人都可以使用桌面快捷方式,而后一个目录则含有特定用户创建的快捷方式。
|
||||
|
||||
###使用命令行创建桌面快捷方式
|
||||
为特定程序或命令创建桌面快捷方式,你可以使用任意文本编辑器创建一个.desktop文件,然后把它放到**/usr/share/applications**或者**~/.local/share/applications**处。一个典型的.desktop文件像下面这样。
|
||||
|
||||
[Desktop Entry]
|
||||
Encoding=UTF-8
|
||||
Version=1.0 #version of an app.
|
||||
Name[en_US]=yEd #name of an app.
|
||||
GenericName=GUI Port Scanner #longer name of an app.
|
||||
Exec=java -jar /opt/yed-3.11.1/yed.jar #command used to launch an app.
|
||||
Terminal=false #whether an app requires to be run in a terminal
|
||||
Icon[en_US]=/opt/yed-3.11.1/icons/yicon32.png #location of icon file.
|
||||
Type=Application #type
|
||||
Categories=Application;Network;Security; #categories in which this app should be listed.
|
||||
Comment[en_US]=yEd Graph Editor #comment which appears as a tooltip.
|
||||
|
||||
除了手动创建.desktop文件之外,依据你的系统所采用的桌面环境的不同有不同的创建应用快捷方式的方法,接下来我们将会讲解这方法。
|
||||
|
||||
###在GNOME桌面下创建快捷方式
|
||||
|
||||
在GNOME桌面环境下,你可以使用gnome-desktop-item-edit很容易的去创建一个桌面快捷方式。
|
||||
|
||||
$ gonme-desktop-item-edit ~/.local/share/applications --create-new
|
||||
|
||||
在这个例子中,gnome-desktop-item-edit会在目录~/.local/share/applications中自动创建一个桌面启动器文件。若是想自定义快件方式图标或者其它信息,你可以手动编辑.desktop文件。
|
||||
|
||||
假如你的系统上没有安装gnome-desktop-item-edit(例如,在Ubuntu上),你可以依照下面方式安装:
|
||||
|
||||
$ sudo apt-get install --no-install-recommends gnome-panel
|
||||
|
||||
###在KDE桌面创建快捷方式
|
||||
|
||||
kickoff是KDE桌面默认的应用启动器。可以直接在kickoff里添加新的应用启动快捷方式。
|
||||
|
||||
首先右击位于你桌面左下角处的kickoff图标,然后选择菜单“编辑应用”。
|
||||
|
||||
[![](http://farm3.staticflickr.com/2839/10848506344_7949638fe0.jpg)][1]
|
||||
|
||||
在你要创建快捷方式的合适分类处右击,点击位于顶部的“新条目”按钮,键入应用的名字。
|
||||
|
||||
[![](http://farm8.staticflickr.com/7459/10848418496_ac6de897fe_z.jpg)][2]
|
||||
|
||||
最后,填上使用快捷方式启动app时所需的元信息即可。
|
||||
|
||||
[![](http://farm8.staticflickr.com/7347/10848506284_18c8d9234d_z.jpg)][3]
|
||||
|
||||
###在xfce桌面上创建快捷方式
|
||||
|
||||
假如你使用xfce桌面,在桌面空白处右击,然后选择“创建启动器”按钮。然后填上快捷方式的详细信息就可以了。
|
||||
|
||||
###在Cinnamon桌面上创建快捷方式
|
||||
|
||||
假如使用的是Linux Mint的Cinnamon桌面,你可以在桌面空白处右击鼠标,选择菜单“创建启动器”而创建一个应用启动器。
|
||||
|
||||
###在LXDE桌面上创建快捷方式
|
||||
|
||||
在LXDE桌面,你只需在桌面空白处右击一下鼠标,然后选择“创建新快捷方式”就可以咯。
|
||||
|
||||
[![](http://farm4.staticflickr.com/3725/10848922593_441ed98174.jpg)][4]
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://xmodulo.com/2013/11/create-desktop-shortcut-launcher-linux.html
|
||||
|
||||
译者:[Linux-pdz](https://github.com/Linux-pdz) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.flickr.com/photos/xmodulo/10848506344/
|
||||
[2]:http://www.flickr.com/photos/xmodulo/10848418496/
|
||||
[3]:http://www.flickr.com/photos/xmodulo/10848506284/
|
||||
[4]:http://www.flickr.com/photos/xmodulo/10848922593/
|
@ -0,0 +1,84 @@
|
||||
如何在Linux平台上安装Ghost博客平g
|
||||
===
|
||||
[Ghost][1]是一个相对新的博客发布平台,它开始与在众筹平台kickstarter上的一个[£25,000的众筹项目][2]。尽管WordPress依然是网上主流的博客工具,但它现在已然是一个拥有众多第三方开发的功能的通用内容管理平台,发展到现在已经逐渐变得笨重、复杂以至于难以维护。但于此同时,仅仅诞生才几个月的Ghost承诺要做一个纯粹的博客平台,打造一个以用户为中心的精雕细琢的用户界面。
|
||||
|
||||
在本手册中,我将描述**如何在Linux平台设置Ghost博客平台**。
|
||||
|
||||
###在Linux上安装Ghost
|
||||
|
||||
Ghost是使用Node.js框架编写的。因此,首先你需要在你的Linux系统上[安装Node.js框架][3]。确保Node.js的版本为0.10或者更高。接下来,登录入[http://ghost.org][1](需要注册),然后下载Ghost的源代码。记者按照下面的步骤安装:
|
||||
|
||||
$ sudo mkdir -p /var/www/ghost
|
||||
$ sudo unzip ghost-0.3.3.zip -d /var/www/ghost
|
||||
$ cd /var/www/ghost
|
||||
$ sudo npm install --production
|
||||
|
||||
###启动前先配置Ghost
|
||||
在你启动Ghost之前,按照下面的步骤在/var/www/ghost/config.js位置创建它的配置文件。使用你的主机的IP地址替换掉“YOUR_IP”。
|
||||
|
||||
$ cd /var/www/ghost
|
||||
$ sudo cp config.example.js config.js
|
||||
$ sudo sed -i 's/127.0.0.1/YOUR_IP/g' config.js
|
||||
|
||||
###以开发者模式尝试运行Ghost
|
||||
|
||||
搞到这一步,你就可以准备去启动Ghost咯。
|
||||
|
||||
要注意的是,Ghost可以以两种不同的模式运行:“开发者模式”和“用户模式”。为了安全起见,Ghost将两种模式的配置文件(/var/www/ghost/content/data)分开存放。例如,两种不同的模式使用不同的数据库文件(例如位于/var/www/content/data的ghostdev.db和ghost.db)。
|
||||
|
||||
使用一下命令就可以启动Ghost。Ghost默认以开发者模式运行。
|
||||
|
||||
$ cd /var/www/ghost
|
||||
$ sudo npm start
|
||||
|
||||
Ghost成功运行后,终端中会有以下输出信息,告诉你Ghost正运行在<YOUR_IP>:2368(译者注:端口号)。
|
||||
|
||||
[![](http://farm8.staticflickr.com/7317/10881189204_d714f11321_z.jpg)][4]
|
||||
|
||||
在你的浏览器中键入 http://<YOUR_IP>:2368,身份校验后你就会看到Ghost的初始页面。
|
||||
|
||||
[![](http://farm4.staticflickr.com/3750/10881348733_f77d220de6_z.jpg)][5]
|
||||
|
||||
###以用户身份启动Ghost
|
||||
|
||||
在你确认Ghost运行完好后,按下Ctrl+C停用开发者模式下的Ghost。现在你就可以在用户模式下启动Ghost咯。当你以用户模式运行Ghost时,你就可以使用Node.js呼叫forever模块了,forever模块允许你以守护进程运行Ghost,还可以让你以后台进程运行Ghost。
|
||||
|
||||
安装forever模块:
|
||||
|
||||
$ sudo npm install forever -g
|
||||
|
||||
最后,你就可以以用户模式像下面这样运行Ghost:
|
||||
|
||||
$ cd /var/www/ghost
|
||||
$ sudo NODE_ENV=production forever start index.js
|
||||
|
||||
检查一下Ghost的数据库文件是否成功以用户模式创建(/var/www/ghost/content/ghost.db)。
|
||||
|
||||
你也可以检查一下forever活动进程列表:
|
||||
|
||||
$ sudo forever list
|
||||
|
||||
> info: Forever processes running
|
||||
> data: uid command script forever pid logfile uptime
|
||||
> data: [0] cH0O /usr/bin/nodejs index.js 15355 15357 /home/dev/.forever/cH0O.log 0:0:0:37.741
|
||||
|
||||
假如你看到以上信息,意味着Ghost已经成功以后台进程运行咯。
|
||||
|
||||
想停止Ghost守护进程,可以运行以下命令:
|
||||
|
||||
$ cd /var/www/ghost
|
||||
$ sudo forever stop index.js
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://xmodulo.com/2013/11/install-ghost-blogging-platform-linux.html
|
||||
|
||||
译者:[Linux-pdz](https://github.com/Linux-pdz) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:https://ghost.org/
|
||||
[2]:http://www.kickstarter.com/projects/johnonolan/ghost-just-a-blogging-platform
|
||||
[3]:http://ask.xmodulo.com/install-node-js-linux.html
|
||||
[4]:http://www.flickr.com/photos/xmodulo/10881189204/
|
||||
[5]:http://www.flickr.com/photos/xmodulo/10881348733/
|
107
translated/How to monitor system temperature on Linux.md
Normal file
107
translated/How to monitor system temperature on Linux.md
Normal file
@ -0,0 +1,107 @@
|
||||
如何在Linux下监控系统温度
|
||||
|
||||
================================================================================
|
||||
|
||||
在大多数情况下,你无需担心你电脑的温度.除非制造缺陷,设计硬件一般都不会超过最大的工作温度.但即使没有任何硬件故障,各样的软件问题也会导致硬件过热,例如,显卡驱动的大量bug,错误风扇控制程序配置,CPU频率调节守护进程的故障,等.
|
||||
|
||||
过热可能会严重到对你硬件造成永久性的伤害.所以小心你系统上的任何过热问题.如果有适当的温度监控系统,那再好不过了,这样在系统温度突然急速上升时可以第一时间收到警告.
|
||||
|
||||
在这个教程,我将描述**如何在Linux下监控系统温度**.
|
||||
|
||||
在Linux下有几个允许你检查和监控各种系统组件的用户级工具.
|
||||
|
||||
[lm-sensors][1] 是一款从硬件嵌入式传感器获取信息,以达到监测温度,电压,湿度和风扇
|
||||
|
||||
在下文中,我将会描述如何设置psensor来监控CPUs和硬盘的温度.
|
||||
|
||||
### 在Linux 桌面版上安装 psensor###
|
||||
|
||||
psensor可以可视化系统温度,但其中信息的获取是基于其他类似lm-sensors和hddtemp的工具.因此你需要在安装psensor的同时,一并安装所需工具.
|
||||
|
||||
在Debian或Ubuntu下安装psensor:
|
||||
|
||||
$ sudo apt-get install lm-sensors hddtemp psensor
|
||||
|
||||
在Fedora下安装psensor
|
||||
|
||||
$ sudo yum install lm_sensors hddtemp
|
||||
|
||||
$ sudo yum install gcc gtk3-devel GConf2-devel lm_sensors-devel cppcheck libatasmart-devel libcurl-devel json-c-devel libmicrohttpd-devel help2man libnotify-devel libgtop2-devel make
|
||||
|
||||
$ wget http://wpitchoune.net/psensor/files/psensor-0.8.0.3.tar.gz
|
||||
|
||||
$ tar xvfvz psensor-0.8.0.3.tar.gz
|
||||
|
||||
$ cd psensor-0.8.0.3
|
||||
|
||||
$ ./configure
|
||||
|
||||
$ make
|
||||
|
||||
$ sudo make install
|
||||
|
||||
由于必需要有GTK3库,psensor不能跟搭载GNOME2桌面的CentOs或RHEL 6兼容.
|
||||
|
||||
### 在Linux中配置 psensor ###
|
||||
|
||||
在启动 psensor之前,你需要先配置lm_sensors和hddtemp.
|
||||
|
||||
#### lm_sensors 配置 ####
|
||||
|
||||
允许以下命令,配置lm_sensors,每一项都选择YES.
|
||||
|
||||
$ sudo sensors-detect
|
||||
|
||||
这个命令将会探查和检测你硬件中嵌入式的传感器(包括CPUs,储存控制器,I/O芯片),然后在你的系统上自动决定那个驱动模块需要被载入检查温度.
|
||||
|
||||
一旦传感器检测完成,你将被要求把检测到的驱动模块添加到/etc配置中,这样它们才可以在开机时自动加载.
|
||||
|
||||
在Debian或Ubuntu下,检测到的驱动模块将会被添加到/et/modules.在Fedora下,驱动信息会添加到/etc/sysconfig/lm_sersors.
|
||||
|
||||
接下来,继续加载必要的模块,如下:
|
||||
|
||||
Ubuntu:
|
||||
|
||||
$ sudo service module-init-tools start
|
||||
|
||||
Debian:
|
||||
|
||||
$ sudo /etc/init.d/kmod start
|
||||
|
||||
Fedora
|
||||
|
||||
$ sudo service lm_sensors start
|
||||
|
||||
#### hddtemp 配置 ####
|
||||
|
||||
你还需要启动hddtemp,让它监控硬盘驱动器的温度.
|
||||
|
||||
运行下列命令,作为一个守护进程启动hddtemp.替代 “/dev/sda” 来监控你系统上的硬盘驱动器.
|
||||
|
||||
$ sudo hddtemp -d /dev/sda
|
||||
|
||||
### 用 psensor 监控系统温度 ###
|
||||
|
||||
开始用psensor监测温度:
|
||||
|
||||
$ psensor
|
||||
|
||||
psensor的窗口将显示一个可用传感器的列表,并可视化从这些传感器中读出的温度.你可以选择性地启用或禁用每个传感器.
|
||||
|
||||
[![](http://farm8.staticflickr.com/7448/10719475225_f89b6f7191_z.jpg)][5]
|
||||
|
||||
另外,你可以为每个传感器设置警报级别,这样当传感器温度超过某一阈值将会通知你.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://xmodulo.com/2013/11/monitor-system-temperature-linux.html
|
||||
|
||||
译者:[Luoxcat](https://github.com/Luoxcat) 校对:[校对者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/
|
176
translated/Linux diff Command Explained With Examples.md
Normal file
176
translated/Linux diff Command Explained With Examples.md
Normal file
@ -0,0 +1,176 @@
|
||||
举例说明Linux diff 命令
|
||||
================================================================================
|
||||
![](http://linoxide.com/wp-content/uploads/2013/11/linux-diff-command.png)
|
||||
|
||||
在比较文件的时候,通常会用GUI软件。很少有人真正会为了这个目的使用命令行工具。虽然不会说使用命令行就像散步一样简单,但是如果你是一个Linux使用者,那么我想你应该知道如何通过命令行比较文件,因为你一旦使用了它,它绝对是一个快速的方法。
|
||||
|
||||
在本篇中,我们将学习如何使用diff命令通过一些实际的例子。
|
||||
|
||||
### Linux diff 命令 ###
|
||||
|
||||
让我们通过一些实际的例子理解diff命令。
|
||||
|
||||
假设我们有两个文件(file1 和 file2):
|
||||
|
||||
$ cat file1
|
||||
Hi,
|
||||
Hello,
|
||||
How are you?
|
||||
I am fine,
|
||||
Thank you.
|
||||
|
||||
|
||||
$ cat file2
|
||||
Hello,
|
||||
Hi,
|
||||
How are you?
|
||||
I am fine.
|
||||
|
||||
你可以看见两个文件有些小的不同。现在,让我们看看diff命令如何找出两者的不同的。
|
||||
|
||||
像这样运行diff命令:
|
||||
|
||||
$ diff file1 file2
|
||||
1d0
|
||||
< Hi, 2a2 > Hi,
|
||||
4,5c4
|
||||
< I am fine,
|
||||
< Thank you.
|
||||
|
||||
—
|
||||
|
||||
> I am fine.
|
||||
|
||||
你可以看见diff后面跟了两个文件的名字作为命令行的参数,并且它在输出中生成了不同。输出并不容易理解。理由是,这是被计算机使用的而不是为了人类。尽管如此,让我们一步步解码输出:
|
||||
|
||||
**注意** – 在下面的文本中,file1和file2将被作为旧文件和新文件。
|
||||
|
||||
1d0
|
||||
< Hi,
|
||||
|
||||
这里,1d0这一行意味着旧文件的第一行应该被删除(d)以使两个文件的第一行同步。旧文件中需要被删除的行以'<'标记。
|
||||
|
||||
2a2
|
||||
> Hi,
|
||||
|
||||
这里,2a2行意味着新文件中的第二行应该加到老文件的第二行后。要添加的行显示在输出的下一行用'>'标记。
|
||||
|
||||
4,5c4
|
||||
< I am fine,
|
||||
< Thank you.
|
||||
|
||||
—
|
||||
|
||||
> I am fine.
|
||||
|
||||
这里,4,5c4这一行意味着在旧文件中的4到5行现在已被改变并且需要用新文件中的第一行代替。添加和删除的行分别用'>'和'<'表示。
|
||||
|
||||
那么,来总结一下,
|
||||
|
||||
- 首先diff命令的第一个参数被视为旧文件而第二个参数被视为新文件。
|
||||
- 像1d0 2a2, 4,5c4这种表达式可以用语法解码为 **[旧文件的行号或者行的范围][行为][新文件的行号或者行的范围]**。这里的'行为'可以使追加,删除或者改变替换。
|
||||
- '<'代表删除的行,而'>'代表添加的行。
|
||||
|
||||
除了文件外,diff命令还可以比较两个目录。让我们通过一个例子学习。
|
||||
|
||||
这里是'new_dir'目录包含的内容:
|
||||
|
||||
$ ls new_dir/
|
||||
file file2 frnd frnd1.cpp log1.txt log3.txt log5.txt
|
||||
file1 file name with spaces frnd1 frnd.cpp log2.txt log4.txt
|
||||
|
||||
这是'orig_dir'目录含有的内容:(译注:原文为and here are the contents of a directory named ‘old_dir’ ,其中'old_dir'应为笔误。)
|
||||
|
||||
$ ls orig_dir/
|
||||
file1 file name with spaces frnd1 frnd.cpp log2.txt log4.txt test
|
||||
file2 frnd frnd1.cpp log1.txt log3.txt log5.txt
|
||||
|
||||
下面是diff命令执行后的输出:
|
||||
|
||||
$ diff new_dir/ orig_dir/
|
||||
Only in new_dir/: file
|
||||
Only in orig_dir/: test
|
||||
|
||||
你可以看到当diff命令被用来比较这两个目录时,很容易就会显示两个文件中缺失的文件。
|
||||
|
||||
下面是在命令行下常用的选项:
|
||||
|
||||
### 1. 用 -i 忽略大小写 ###
|
||||
|
||||
如果两个文件含有相同的文本但是大小写不同,diff命令仍会默认报告它不同。
|
||||
|
||||
比如:
|
||||
|
||||
$ cat file1
|
||||
HI
|
||||
|
||||
$ cat file2
|
||||
hi
|
||||
|
||||
$ diff file1 file2
|
||||
1c1
|
||||
< HI — > hi
|
||||
|
||||
你可以看见diff命令在输出中报告了大小写不同。
|
||||
|
||||
要去除这个默认行为,使用-i选项。
|
||||
|
||||
以下是例子:
|
||||
|
||||
$ diff -i file1 file2
|
||||
$
|
||||
|
||||
这样你可以看到没有生成输出,这是当两个文件相同时的默认行为。
|
||||
|
||||
### 2. 用 -s 选项报告两个文件相同 ###
|
||||
|
||||
在例子1的后面,我们看到如果文件相同dif不会生成报告。虽然这个默认行为不错但是它仍可能会造成很大疑惑,特别对于新手而言。因此,如果你像样diff命令明确地报告两个文件不同,那么就使用-s命令选项。
|
||||
|
||||
这是个例子:
|
||||
|
||||
$ diff -is file1 file2
|
||||
Files file1 and file2 are identical
|
||||
|
||||
你可以看到我加了-s选项在后面的例子中,这次diff命令会明确地报告两个文件是相同的。
|
||||
|
||||
### 3. 使用 -b 忽略空格 ###
|
||||
|
||||
另外一个常用的是diff报告文件存在不同数量的空格。
|
||||
|
||||
|
||||
以下是例子:
|
||||
|
||||
$ cat file1
|
||||
Hi, how are you?
|
||||
|
||||
$ cat file2
|
||||
Hi, how are you?
|
||||
|
||||
观察这两个文件唯一的不同是'are'和'you'之间额外的空格。现在,当使用diff命令比较两个文件时,这个是输出:
|
||||
|
||||
$ diff file1 file2
|
||||
1c1
|
||||
< Hi, how are you?
|
||||
|
||||
—
|
||||
|
||||
> Hi, how are you?
|
||||
|
||||
因此你可以看到diff命令报告了不同。但是如果你想要忽略这些空格,使用 -b 选项。
|
||||
|
||||
$ diff -b file1 file2
|
||||
$
|
||||
|
||||
这样你可以看到由于-b选项,diff命令报告这两个文件是相同的。
|
||||
|
||||
diff命令还提供了更多的命令行选项。阅读[man page][1]来获取完整的列表。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://linoxide.com/linux-command/linux-diff-command-examples/
|
||||
|
||||
译者:[geekpi](https://github.com/geekpi) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://unixhelp.ed.ac.uk/CGI/man-cgi?diff
|
@ -0,0 +1,100 @@
|
||||
延伸项目为Linux内核寻找新的女性实习生
|
||||
===
|
||||
作为[FOSS针对女性的延伸项目][1],这个夏季工作在Linux基金会的实习生们有着多样的背景和水平也高低不等,但是她们至少有一件事情是相同的(除去她们的性别之外)。她们可以在自己的履历中添加一项“Linux内核工作者”。
|
||||
|
||||
![](http://www.linux.com/images/stories/41373/OPW-kernel-contributions-9.jpg)
|
||||
|
||||
*针对女性的延伸项目在对Linux内核3.12的贡献已经名列前茅。来源:LWN.net*
|
||||
|
||||
在Linux基金会资助的第一批每人5000美元薪水的申请人中,Lisa Nguyen, Xenia Ragiadakou, Elena Ufimtseva, Laura Vasilescu 和Tulin Izer是41获得者中的7名女性女性获得者。她们与Intel、Oracle和Citrix的内核开发者一起工作了三个月,解决了包括X86启动协议和XNUMA拓扑在内的项目。她们拿出了奖金中的500美元出席了并在在新奥尔良或者爱丁堡举行的LinuxCon会议上演讲。
|
||||
|
||||
“我并不是总有机会去说,我在LinuxCon北美会议上做志愿者,在LinuxCon北美会议上发表演讲,而且与Linux Torvalds交流了三天!”Nguyen说,她是一个Linux内核实习生,与Orcale的Konrad Rzeszutek Wilk一起解决Xen虚拟机的时钟驱动问题。
|
||||
|
||||
除了学习如何创建和提交内核补丁,这些实习生们通过结交新朋友和同事,克服了她们的恐惧心理,为Linux内核的发展作出了明显的贡献。
|
||||
|
||||
“我不再害怕碰内核代码了”Izer这样说道,她和来自Intel的Peter P. Waskiewicz Jr.一起工作去解决X86的启动进程并行化问题。“这是我第一次对开源项目作出贡献,我以此为自豪。在我的余生,我将接着做下去”。
|
||||
|
||||
###内核贡献着排行榜
|
||||
|
||||
最为一个组织,OPW列出了一个针对Linux3.11内核的贡献排行榜,可参看[在LWN上的权威内核报告][2]。实习生Xenia Ragiadakou给3.11内核贡献了100个补丁,在最活跃的开发者中位列前10。
|
||||
|
||||
“我的主要工作就是添加追踪事件,然后写了一个trace-cmd插件以便于把追踪事件写成利于人们阅读的格式以方便于xhci(驱动)的debug,”Ragiadakou说,她和Intel的内核开发者Sarah Sharp一起做这项工作。“我学习了如何使用git,如何使用静态代码分析工具,以及如何发送补丁,如何查看debug日志,usb子系统是如何组成的,xhci驱动又是如何实现的。”
|
||||
|
||||
在内核3.12上,OPW再次排在了贡献最大的团队或公司之中,这次是排行第11行,有19,649行代码的改动,可参看[LWN的在10月份的分析报告][3]。那代表了在过去最新的一次开发周期中接近2.7%的改动量。
|
||||
|
||||
在她们的实习计划在9月份结束时,她们中的大多数仍然持续对她们开始做的以及打算继续做的项目继续保持这贡献。
|
||||
|
||||
“我认为成为一个内核开发者是一件非常酷的事情,将来,我也要继续做这件事情,”Vasilescu说,她和Intel的Carolyn Wyborny以及 Anjali Singha一起解决igb驱动的ethtool属性。
|
||||
|
||||
“我甚至需要学习如何才能停下来。有时候,好吧,是常常,我无法停下来,”Ufimtseva说,她和Citrix的Stefano Stabellini、Dario Fargiolli、George Dunlap一起工作,以解决针对与工作在xen上的并行虚拟机的vNUMA拓扑问题。“我一直努力,最终我贡献的补丁被提交到了高质量代码库里,这真的是很鼓舞人心哇!”
|
||||
|
||||
下一轮Liux内核实习生的截止日期是11月。申请着应当了解c或者c++的基本知识,布尔代数学,对Linux/Unix操作系统有一定的经验,了解Git更好不过也不需要。想了解有关可参加的项目以及申请的更详细信息,可浏览[在内核新闻站点的OPW页面][4]。
|
||||
|
||||
###Lisa Nguyen
|
||||
|
||||
![](http://www.linux.com/images/stories/41373/lisa-nguyen-kernel-intern-2.jpg)
|
||||
|
||||
**Lisa Nguyen和Oracle的Konrad Rzeszutek一起解决Xen的时钟驱动问题**
|
||||
|
||||
在我成为OPW实习生之前,我已经获得了多个大学学位,如计算机科学,数字辩论和信息安全等。我在过去的两年中持续地使用Linux,我还在Linux社区中充当多种角色,例如项目管理着,man页的作者,LinuxCon会议的协调着以及内核贡献着。
|
||||
|
||||
**你为什么申请同OPW一起为Linux内核工作**
|
||||
|
||||
我想要一个挑战,想要跳离自己的舒服区域。我要给软件开发一个机会,因为过去我一直面对这自信心问题。一天,我决定要寻求一个有关Linux的职业来代替现在的数字分析工作。当我看到OPW项目出现在Linux基金会在Google+上的博文时,我觉得这是一个在合适不过的机会咯,于是,我想“我为什么不去尝试一下呢?”
|
||||
|
||||
###Elena Ufimtseva
|
||||
|
||||
![](http://www.linux.com/images/stories/41373/elena-ufimtseva-kernel-intern.jpg)
|
||||
|
||||
**Elena Ufimtseva与来自Citrix的Stefano Stabellini, Dario Fargiolli, George Dunlap的一起去解决xen虚拟机中的并行虚拟客户端的vNUMAde的拓扑问题**
|
||||
|
||||
我作为一名Linux系统管理员已经有想当长的一段时间了,而且成为了许多项目的一分子。我从俄罗斯联邦的St.-Petersburg大学获得了我的计算机科学硕士学位。
|
||||
|
||||
**你为什么申请同OPW一起为Linux内核工作**
|
||||
|
||||
我觉得我需要使用低级语言而不是java去软件,例如系统软件。我有一种感觉,我能应对复杂的问题并解决他们。我经常阅读最新的Linux新闻,我觉得最吸引我注意的是Greg在一年前在Google做的关于Linux内核开发着社区以及补丁递交程序等的报告。我觉得“哇,这好好玩哇!”
|
||||
|
||||
### Laura Vasilescu ###
|
||||
|
||||
![](http://www.linux.com/images/stories/41373/laura-vasilescu-kernel-intern-2.jpg)
|
||||
|
||||
**Laura Vasilescu 和 Carolyn Wyborny以及Anjali Singhai共同去解决igb驱动的ethtool属性。**
|
||||
|
||||
我认为自己就是一个极客,我对改善教育系统(尤其是罗马尼亚的)有着非常浓厚的兴趣。作为一名学生,我成为一名我所在大学的教师助理的志愿者,我还是罗马尼亚开源教育协会的成员。我的技术专长是网络,操作系统和低级编程语言。
|
||||
|
||||
**你为什么申请同OPW一起为Linux内核工作**
|
||||
|
||||
我觉得成为一名内核贡献着是一件非常酷的事情,我要做一下这样的事情。
|
||||
|
||||
### Tulin Izer ###
|
||||
|
||||
![](http://www.linux.com/images/stories/41373/Tulin-Izer-kernel-intern-2.jpg)
|
||||
|
||||
**Tulin Izer和来自Intel的Peter Waskiewicz一起去解决x86系统的启动进成并行化问题。**
|
||||
|
||||
我来自与土耳其。我是一名来自于伊斯坦布尔的Galatasaray大学的计算机工程专业的学生。今年我大四。
|
||||
|
||||
**为什么你申请同OPW一起为Linux内核工作**
|
||||
|
||||
我对操作系统以及使用C语言进行变成非常感兴趣,但是我对内核开发没有任何经验,但是我觉的这是一个起步的好地方。
|
||||
|
||||
### Xenia Ragiadakou ###
|
||||
|
||||
目前,我在克利特大学学习计算机科学。过去,我已经修完了几门课程,如经济学,东欧研究史等。我决定另换一个领域的原因是我感到厌烦了。我不知道这个想法是否明智。但是我意识到我需要的是更加具有创造性、富有变化以及非常实用的东西。所以,我决定进入计算机科学学院学习。现在,我的内心重新回复平静:我觉的编程是一件更加适合我的事情。这就像玩游戏一样,我非常喜欢编程的乐趣。
|
||||
|
||||
**为什么你申请同OPW一起为Linux内核工作**
|
||||
|
||||
想加入开源项目的想法已经在我的脑海中存在很久了,但我一直认为我还没有足够的能力加入开源项目中去。这次有三个因素促使我去申请。1)OPW针对女性这一目标是我感到更加舒坦。2)我非常喜欢在Linux系统中工作。3)被引入Linux内核的开发过程非常平顺,会在应用开发的早期加入进去。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.linux.com/news/featured-blogs/200-libby-clark/746687-outreach-program-for-women-seeks-new-linux-kernel-interns/
|
||||
|
||||
译者:[Linux-pdz](https://github.com/Linux-pdz) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:https://wiki.gnome.org/OutreachProgramForWomen
|
||||
[2]:http://lwn.net/Articles/563977/
|
||||
[3]:http://lwn.net/Articles/570483/
|
||||
[4]:http://kernelnewbies.org/OPWIntro
|
@ -0,0 +1,24 @@
|
||||
一个有关Adobe密码泄漏的字迷游戏
|
||||
====
|
||||
一个有关**Adobe**公司密码泄漏的字迷游戏现在可以在[http://zed0.co.uk/crossword/][1]上玩咯。这个游戏的作者,创建这个游戏是为了告诉公众容易记忆的密码是非常不安全的,你不应该信任那些公司们会按照最佳实践来存储你的密码,例如Adobe。
|
||||
|
||||
这个字迷游戏使用从Adobe公司泄漏出来的最常见的1000个密码以便于提醒你什么样的密码是不够强壮的,容易被破解。假如你使用的密码就是字迷游戏中的这种密码,而且你还把它作为你的全球通用密码,那么你应该立即更换掉它。这样的密码非常糟糕!赶紧去更换掉它,趁现在还不太晚。
|
||||
|
||||
制作了如此有用且好玩的游戏的作者,向人们介绍说,他的灵感来源与[xkcd #1286: Encryptic][2],他还说到吧这些泄漏的密码放出来并不会造成太大的安全隐患,因为很多人很早以前就能猜中这样的密码。
|
||||
|
||||
你还不知道Adobe公司的云安全事件吗?
|
||||
|
||||
不久前,Adobe公司成了网络攻击者的目标。Adobe公司的安全团队发现了一起针对Adobe公司内部网络的老练的攻击,获取了Adobe公司用户的信息以及盗取了数个Adobe公司产品的源代码。根据Adobe公司官方博客上的安全告示,攻击者盗取了Adobe用户的账户ID以及登录密码。但是Adobe公司的安全团队并不认为与账户关联的信用卡信息或者资金账户信息会一并被盗取。
|
||||
|
||||
你可以点击[这儿][3]阅读更多有关的安全告示。
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.unixmen.com/play-crossword-game-adobes-leaked-passwords/
|
||||
|
||||
译者:[Linux-pdz](https://github.com/Linux-pdz) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://zed0.co.uk/crossword/
|
||||
[2]:http://www.xkcd.com/1286/
|
||||
[3]:http://www.unixmen.com/illegal-access-adobe-source-code/
|
@ -0,0 +1,131 @@
|
||||
Recoll:Unix和Linux桌面的文本搜索工具
|
||||
===
|
||||
[Recoll][1]是一个Unix和Linux桌面的文本搜索工具。Recoll可以搜索文件名和文件内的关键字。
|
||||
|
||||
Recoll可以为你做到以下这些。
|
||||
|
||||
- 它可以搜索任何格式的文件
|
||||
- 支持通配符
|
||||
- 可以依据文件的作者、类型、大小和格式等条件进行搜索
|
||||
- 可以搜索存储在任何位置的文件,例如文件、归档文件、邮件附件等
|
||||
- 支持桌面和网站集成
|
||||
- 具备火狐插件,可索引web页的历史
|
||||
- 点击一下搜索结果就可以在本地编辑器内打开或者显示文本预览
|
||||
- 它是免费的开源的,在GPL许可下发布
|
||||
|
||||
###在Ubuntu/Linux Mint上安装Recoll
|
||||
|
||||
Recoll在Ubuntu仓库里可以找到。然而,最好添加Recoll的仓库以便安装最新版本。
|
||||
|
||||
使用以下命令添加Recoll仓库:
|
||||
|
||||
sudo add-apt-repository
|
||||
|
||||
使用命令更新软件列表:
|
||||
|
||||
sudo apt-get update
|
||||
|
||||
现在就可以使用下面的命令安装Recoll。
|
||||
|
||||
sudo apt-get install recoll
|
||||
|
||||
对于其它的发行版,可以去[下载页面][2]下载源代码并编译安装。
|
||||
|
||||
###启动Recoll
|
||||
|
||||
Recoll可以从Dash或者菜单中启动。
|
||||
|
||||
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/Menu_0014.jpg)
|
||||
|
||||
第一次启动时,你需要索引整个home目录。依据你 home 目录里储存的东西的多少,需要的时间不等。按下**Start indexing now**按钮开始索引。
|
||||
|
||||
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/Recoll_002.jpg)
|
||||
|
||||
假如你想更多的自定义索引,可以调整索引配置和索引计划。要做到这一点,只需要点击一下**Indexing configuration**或者**Indexing schedule**链接。假如你要稍后再去配置,你可以在Preferences(首选项)菜单里配置这些选项。
|
||||
|
||||
一旦索引完成,你就可以搜索文件/文件夹了。结果将根据相关性展现,并显示匹配的一小部分内容。
|
||||
|
||||
###配置
|
||||
|
||||
正如上面提到的,假如你想更多的控制索引的细节,你可以调节Recoll的索引功能。
|
||||
在Recoll的工具中有两个配置项
|
||||
|
||||
1.索引配置
|
||||
2.索引计划
|
||||
|
||||
让我们来看一下上面这两个的简短描述。
|
||||
|
||||
**索引配置**可以让你索引时决定包含哪些目录以及排除哪些目录。默认情况下索引时将包含整个home目录。你可以在这儿从索引中添加或移除目录。
|
||||
|
||||
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/home-sk-.recoll-_003.jpg)
|
||||
|
||||
你也可以定义web历史队列以及储存web页面的最大容量。
|
||||
|
||||
**index schedule**则是可以让制定一个计划以便于进行自动索引或者当你登陆系统后就进行实时索引。
|
||||
|
||||
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/Index-scheduling-setup_004.jpg)
|
||||
|
||||
Recoll支持两种索引计划:
|
||||
|
||||
**Cron任务** - 决定什么时候开始运行以及写入Crontab键值。
|
||||
|
||||
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/Cron-Dialog_006.jpg)
|
||||
|
||||
以上这个屏幕截图中,Recoll的cron任务会在每天上午12点的时候执行。设置完cron任务后,点击enable键激活它就可以咯。
|
||||
|
||||
**启动时实时索引** - 决定是否当你登陆入系统时进行实时索引。
|
||||
|
||||
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/Real-time-indexing-automatic-start_007.jpg)
|
||||
|
||||
激活这一选项,recoll的守护程序都会随系统启动。要注意的是这一选项只有在默认索引设置的情况下才可用。
|
||||
|
||||
###基本搜索
|
||||
|
||||
现在你已经对Recoll了解的足够多了。是时候去搜索一下文件或者文件夹了。这个应用的美妙之处就在于它既可以搜索文件名还可以搜索文件内的关键词。
|
||||
|
||||
在Recoll的用户界面中,在顶部右边的搜索栏中键入要搜索的关键字,然后点击Search按钮。
|
||||
|
||||
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/Recoll_008.jpg)
|
||||
|
||||
如你在上图所见,精确相关的内容将会显示还能预览到一小部分内容。你可以点击Open按钮直接打开搜索到的文件,或者在打开它之前使用预览按钮预览它。
|
||||
|
||||
你还可以过滤搜索结果,使用分类例如媒体、消息、其它、演示文档、电子表格或者文本等。更重要的是,你还可以选择匹配任一项、全部项、文件名或者语言等的搜索结果。
|
||||
|
||||
###高级搜索
|
||||
|
||||
点击菜单栏中的高级搜索图标或者前往**Tools->Advanced Search**。这将打开一个新的对话窗口。在这儿你可以附加更多的限制条件来进行搜索。例如我可以搜索文件内容里含有关键字“hp”以及文件名含有“storage”的文件。
|
||||
|
||||
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/Recoll_008.jpg)
|
||||
|
||||
这将找到并显示文件内含有关键字“hp”且文件名含有“storage”的文件。
|
||||
|
||||
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/Recoll_012.jpg)
|
||||
|
||||
###Unity桌面以及网站集成
|
||||
|
||||
这个应用支持桌面集成以及网站集成。假如你要把它集成到你的Ubuntu的Unity桌面中去,你可以用下面的命令安装**recoll-lens**。
|
||||
|
||||
sudo apt-get install recoll-lens
|
||||
|
||||
请注意,lens限制显示结果最多显示20条。假如你要显示更多数目的搜索结果,编辑**rclsearch.py**,修改“**if actual_results >= 20:**”这一行就可以咯。
|
||||
|
||||
假如你使用火狐浏览器,要去搜索你每天访问的浏览历史,你可以使用这个[火狐扩展][3]。这个火狐扩展可以和Recoll一起工作去索引你全天浏览的网站。在安装完这个扩展之后,在Recoll的索引配置中从web历史标签页中激活它就可以咯。
|
||||
|
||||
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/home-sk-.recoll-_013.jpg)
|
||||
|
||||
所有的Linux都在他们的文件管理器中内建了搜索功能,以便于尽可能容易的搜索文件/文件夹。对于那些不满足于内置搜索功能并想寻找更高级文本搜索工具的人来说,Recoll是个值得一试的工具。我认为,这真是个容易使用且功能强大的工具,对基本搜索如此,对高级搜索也是如此.
|
||||
|
||||
欢呼吧!
|
||||
|
||||
如有问题,请参考我们的Q/A论坛 : http://ask.unixmen.com/ 。
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.unixmen.com/recoll-text-searching-tool-linux-desktops/
|
||||
|
||||
译者:[Linux-pdz](https://github.com/Linux-pdz) 校对:[jasminepeng](https://github.com/jasminepeng)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.recoll.org/
|
||||
[2]:http://www.lesbonscomptes.com/recoll/download.html
|
||||
[3]:http://sourceforge.net/projects/recollfirefox/
|
42
translated/Red Hat prepares for 64-bit ARM servers.md
Normal file
42
translated/Red Hat prepares for 64-bit ARM servers.md
Normal file
@ -0,0 +1,42 @@
|
||||
Red Hat 准备64位ARM服务器
|
||||
================================================================================
|
||||
> ARM处理器可能带来具有成千上万的节点的服务器机架,Red Hat的ARM首席预测
|
||||
|
||||
IDG新闻服务 - 企业开源软件供应商Red Hat公司正在密切关注服务器的64位ARM处理器的发展,为保持在数据中心的新生平台建立专业体系。
|
||||
|
||||
“你们在当今的商业产品市场看不到我们,但我们已经建立了超越如今一些64位技术的能力。所以接下来,如果我们有一个需要应对的市场,我们将有能力应对,”Red Hat首席ARM设计师Jon Masters说。这是Masters周五在华盛顿特区举行的USENIX LISA(大型安装系统管理)会议上提出的。
|
||||
|
||||
ARM处理器代表了“计算上翻天覆地的变化,”Masters说。虽然已经在智能手机和嵌入式计算设备占据主导地位,ARM处理器架构还可以在数据中心发挥作用。在过去的一年中,基于ARM处理器的服务器已经开始出现在服务器市场。惠普已经开始销售基于ARM架构的Moonshot系列服务器。
|
||||
|
||||
对于数据中心,ARM可能会带来超大规模计算时代因其低功耗设计,这样数千个微型计算节点可以打包成一个服务器机架。“我们在不久的将来能够建立起完全区别于现今的规模。”Masters说。
|
||||
|
||||
ARM处理器可能无法以x86处理器的速度运行,但它们可以提供大部分的性能而只消耗一小部分使用量,这意味着在一个较小的空间可以打包更多的处理器。“你可以用你手机中相同的技术,作为高密度服务器设计的一部分”Masters说。
|
||||
|
||||
他说,许多工作并不需要最快的处理器。相反,工作负载可以分布在更多的处理器上。“这和我能移动多少数据有关系,并不一定和我能做多少计算有关,”他说。例如,云计算和Web应用程序运行在多个服务器上,和运行在较少但速度更快的服务器上的表现会同样出色。
|
||||
|
||||
ARM的设计也可以简化数据中心操作。ARM系统上芯片设计可以解决管理许多服务器的外部元件的需要。例如,ARM处理器可以提供构造的互联互通,减少外部电缆和顶级机架交换机的需要。
|
||||
|
||||
“每一个刀片都具有离散布线已经指日可待了, ”他说。
|
||||
|
||||
超大规模计算还需要做大量的工作,Masters说。
|
||||
|
||||
ARM授权架构而和英特尔卖处理器不一样。其结果是,从不同供应商提供的不同的ARM处理器有相当程度的变化。“有很多我们不需要的,不必要的变化,”Masters说。 ”这可能成为需要统一系统来管理集体的数据中心的一个问题。
|
||||
|
||||
[Linaro][1]是一个致力于为ARM平台和部分已经标准化ARM任务开发核心开源软件的产业群。Red Hat的工程师发挥了重要作用,Linaro企业集团,或称为LEG,一直在努力规范软件,让用户可以得到一个能运行在不同供应商提供的ARM处理器的Linux版本。”这些都是在企业领域的基本期望,”Masters说。
|
||||
|
||||
“我们需要把重心放在如何使它们从根本上兼容,这样你可以进一步增加堆栈的值,”他说。
|
||||
|
||||
另一个问题是还没标准化的32位ARM处理器被的外部设备支持。Masters说,LEG正在考虑使用64位ARM处理器的ACPI(高级配置和电源接口)标准或UEFI(统一可扩展固件接口)。随着时间的推移,ARM将提供一个自动化类总线能力,比如将提供支持x86的机器的PCI总线。
|
||||
|
||||
Masters说,Red Hat还没有发布任何关于什么时候会发布一个ARM架构的Red Hat企业Linux版本的通知,但他明确指出,测试了许多RHEL应用程序的社区Linux发行版Fedora项目,现在已经为ARM提供了一个分布。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.computerworld.com/s/article/9243921/Red_Hat_prepares_for_64_bit_ARM_servers?taxonomyId=122
|
||||
|
||||
译者:[whatever1992](https://github.com/whatever1992) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.linaro.org/
|
||||
|
@ -0,0 +1,173 @@
|
||||
SBackup: 一个Linux下的简单备份软件
|
||||
================================================================================
|
||||
|
||||
**SBackup** 是一个简单易用的开源备份软件。它可以备份任意文件或者文件夹的一部分。所有的配置文件可以通过 Gnome 界面进行访问。文件和路径可以直接通过正则表达式进行添加和排除。它支持本地备份和远程备份。虽然它看起来简单,但是它有着许多常见的高级备份功能。
|
||||
|
||||
### 特点 ###
|
||||
|
||||
SBackup 可以完成以下工作
|
||||
|
||||
- 可以创建压缩和未压缩的备份
|
||||
- 可以把未压缩的备份分割成多份文件
|
||||
- 支持多份备份配置。每个人都可以根据自己的需求创建并修改自己的配置文件,但是不能删除默认配置文件
|
||||
- 有多种选项,如日志、邮件通知、以状态图标的形式展现和提醒
|
||||
- 支持计划任务备份和手动备份
|
||||
- 可以备份到本地(如硬盘),也可以备份到远程(如通过 FTP 访问 NAS)
|
||||
|
||||
### 在 Ubuntu、Linux Mint 和 Debian 上安装 SBackup ###
|
||||
|
||||
SBackup 可在 Ubuntu、Linux Mint 和 Debian 的默认仓库中获得,所以只要运行以下命令即可安装
|
||||
|
||||
sudo apt-get install sbackup
|
||||
|
||||
### 运行 SBackup ###
|
||||
|
||||
通过 Dash 或者 Menu 打开 SBackup
|
||||
|
||||
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/Menu_0011.jpg)
|
||||
|
||||
将会看到如下界面
|
||||
|
||||
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/Simple-Backup-Suite_002.jpg)
|
||||
|
||||
### SBackup 配置 ###
|
||||
|
||||
最初的 SBackup 没有任何用户自定义的配置文件,只有默认的配置文件。需要注意的是,用户不能删除默认的配置文件。若要创建一个新的配置文件,点击 Tools -> Profile Manager,将看到如下窗口
|
||||
|
||||
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/Simple-Backup-Suite_003.jpg)
|
||||
|
||||
单击 Add 来创建新配置文件,例子的文件用“sk”来命名
|
||||
|
||||
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/Simple-Backup-Suite_004.jpg)
|
||||
|
||||
现在已经创建了新的配置文件。若要设置配置,先选择配置文件,再单击 Edit
|
||||
|
||||
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/Configuration-Profile-Manager_005.jpg)
|
||||
|
||||
现在看到 SBackup 的配置文件已经被切换到“sk”
|
||||
|
||||
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/Simple-Backup-Suite_006.jpg)
|
||||
|
||||
当然,也可以根据不同人的需求来修改默认配置文件
|
||||
|
||||
**注意事项**:如果你用普通用户运行 SBackup,计划任务备份不能生效,你需要用 root 用户来运行。如上图所示,因为我是以普通用户运行 Sbackup,所以 Schedule 选项是灰色不可选中状态。
|
||||
|
||||
在本教程中,我将以 root 权限运行 SBackup,并且使用的是**默认配置**
|
||||
|
||||
打开终端,运行以下命令来以 root 权限运行 SBackup
|
||||
|
||||
sudo sbackup-config-gtk
|
||||
|
||||
上面的命令将以 root 权限打开默认配置的 SBackup
|
||||
|
||||
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/Simple-Backup-Suite_001.jpg)
|
||||
|
||||
### General ###
|
||||
|
||||
在 General 选项内,你可以选择多久进行一次完整备份,默认是7天。每7天 SBackup 将会进行一次完整的备份。你也可以选择备份的压缩格式。
|
||||
|
||||
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/Simple-Backup-Suite_0021.jpg)
|
||||
|
||||
### Include ###
|
||||
|
||||
这个选项不需要解释太多,你可以添加 SBackup 要备份的文件或目录。这里可以选择备份单独的文件或者完整的目录,我删除了所有的目录仅仅保留了“Resume”
|
||||
|
||||
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/Simple-Backup-Suite_0031.jpg)
|
||||
|
||||
### Exclude ###
|
||||
|
||||
如同 Include 选项,我们可以选择备份时排除的文档和目录,只需要选择要排除的文档和目录的路径即可。在默认配置下,/media, /var/run/, /var/cache/, /var/spool/ 和 /vat/tmp/ 目录均被排除
|
||||
|
||||
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/Simple-Backup-Suite_0041.jpg)
|
||||
|
||||
更进一步的是,你可以增加备份时排除文件的类型,像 mp3 和 avi 等等。在默认配置下,mp3, avi, mpeg, mkv, ogg 和 iso 是被排除不被备份的。如果你想备份这些文件,只要选中然后点击 remove。当然,如果要排除其他类型的文件,只需要点击 add 然后增加。
|
||||
|
||||
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/Simple-Backup-Suite_005.jpg)
|
||||
|
||||
在默认配置下,SBackup 不会备份.gvfs, .thumbnails, .Trash 和 .cache 这些文件夹
|
||||
|
||||
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/Simple-Backup-Suite_0061.jpg)
|
||||
|
||||
同时你也可以在备份时根据文件大小来排除某些文档和文件夹,这里我排除了体积超过100MB 的文档和文件夹。
|
||||
|
||||
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/Simple-Backup-Suite_0071.jpg)
|
||||
|
||||
### Destination ###
|
||||
|
||||
在这里你可以选择备份存放的路径,正如我之前提到的,你可以把备份的文档或文件夹存放在硬盘或者远程的 FTP 或 NAS。这里我将把备份保存在 /home/sk/My Backup 目录下。
|
||||
|
||||
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/Simple-Backup-Suite_019.jpg)
|
||||
|
||||
**提示:** 在备份前确认目录有足够的空间保存备份文件
|
||||
|
||||
### Schedule ###
|
||||
|
||||
在这个选项中,你可以设定具体的备份时间。点击 **Simple** 选项,可以按每小时、每日、每周、每月来设置你的计划备份时间。
|
||||
|
||||
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/Simple-Backup-Suite_010.jpg)
|
||||
|
||||
如果你擅长使用命令行来计划任务,则可以使用 cron 来操作。当你开启每日备份计划时,cron 命令在 **/etc/cron.daily/** 目录中创建计划文件
|
||||
|
||||
sudo ls -l /etc/cron.daily/sbackup
|
||||
|
||||
示例的输出显示
|
||||
|
||||
lrwxrwxrwx 1 root root 33 Nov 8 15:34 /etc/cron.daily/sbackup -> /usr/share/sbackup/sbackup-launch
|
||||
|
||||
### Purging ###
|
||||
|
||||
在这个选项里,可以删除超过一定时间的备份文件。在默认配置下,超过30天的备份文件将被删除。
|
||||
|
||||
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/Simple-Backup-Suite_0111.jpg)
|
||||
|
||||
### Report ###
|
||||
|
||||
Report 是最后一个选项卡,在这里你可以设置接收备份完成通知的邮箱。输入你的邮箱ID、SMTP服务地址、邮箱用户名、密码后,点击 Test mail settings。需要留意的是,在测试邮箱设置前,点击工具栏中的Save Configuration按钮保存你的配置。
|
||||
|
||||
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/Simple-Backup-Suite_0121.jpg)
|
||||
|
||||
你将在完成测试邮箱设置后看到 “Test Successful” 字样。
|
||||
|
||||
### 开始备份 ###
|
||||
|
||||
点击 SBackup 工具栏上的 **Make Backup now button** 按钮立即开始备份。
|
||||
|
||||
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/Selection_015.jpg)
|
||||
|
||||
弹出一个窗口,点击 Yes 开始创建备份文件。
|
||||
|
||||
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/sbackup-config-gtk_024.jpg)
|
||||
|
||||
现在备份的进程已经在后台开始运行,你可以通过在通知栏上的状态显示来监视备份的进程。
|
||||
|
||||
完成备份之后,关闭 SBackup ,并且确认备份文件保存在指定的目录。例子中我保存的目录是/home/sk/My Backup。
|
||||
|
||||
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/Selection_020.jpg)
|
||||
|
||||
### 恢复文件 ###
|
||||
|
||||
在终端中运行命令
|
||||
|
||||
sudo sbackup-restore-gtk
|
||||
|
||||
在 SBackup 的恢复窗口,选择可用的备份日期和快照,在 Restoration Management 面板中选择任意一个要恢复的文件,单击 **restore** 保存到默认位置或者单击 **restore as** 保存到指定的位置。
|
||||
|
||||
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/Simple-Backup-Suite_023.jpg)
|
||||
|
||||
现在文件已经从备份中恢复,就这么简单。
|
||||
|
||||
### 来源: ###
|
||||
|
||||
- [https://launchpad.net/sbackup][1]
|
||||
- [http://sourceforge.net/projects/sbackup/][2]
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.unixmen.com/linux-desktop-backup-made-easy-sbackup/
|
||||
|
||||
译者:[NearTan](https://github.com/NearTan) 校对:[Caroline](https://github.com/carolinewuyan)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:https://launchpad.net/sbackup
|
||||
[2]:http://sourceforge.net/projects/sbackup/
|
@ -1,47 +0,0 @@
|
||||
闭源(或者看起来似乎)优于开源的七个缘由
|
||||
================================================================================
|
||||
![](http://opensource.com/sites/default/files/imagecache/image-full-size/images/business/BUSINESS_asusual_deadend.png)
|
||||
|
||||
开源在某些情况下优于开源,看起来似乎挺奇怪的,因为这样的观点来竟然自于OpenLogic的创办人,而该公司专注于在开源领域提供帮助。
|
||||
|
||||
针对闭源……
|
||||
|
||||
**1. 出了问题,不用自己搞定。**
|
||||
|
||||
只要是软件,难保不出问题。要是开源软件出了这事儿,要么你自己,要么某个欠你人情债的工程师,总得有个人要花费时间排除bug。通览代码,求助于开源社区或者开源软件的供应商,通过这些手段来解决问题。
|
||||
但是闭源呢,一旦你确定开发商代码出了问题,ok,你的工作到此为止! 你只需发个文件,等着就行了。
|
||||
当然,可能会等上几个月或者几年,问题才能得到解决,更甚者永远得不到答复。但是除此之外,你还能做什么呢。 把问题踢回去,放松,期待最好的解决方案,仅此而已。
|
||||
|
||||
**2. 不必担心贡献回流到社区。**
|
||||
|
||||
如果用的是开源软件, 很有可能, 你解决了一个bug或者做出了改善,之后你的代码就会进入到社区,随着时间的推移从而帮助测试或者维护。闭源就不同了,你根本用不着给任何人做任何事情。当然,那是因为你接触不到代码,所以也修改不了,但是你可以针对遇到的问题创建自己的解决方案。你可以一直只针对同一个问题,改善再改善,一个版本接着一个版本,至少用不着跟社区打交道,为其他人提供更好的解决方法。
|
||||
|
||||
**3. 你不必考虑开源许可条款及规定事宜。**
|
||||
|
||||
针对开源,你必须遵循所使用的组件的许可条款。例如,想要搞明白Apache软件许可证和GPL之间的区别与联系,是需要花费一定的时间的。使用哪一种许可证取决于你所用的开源组件以及你如何使用这些组件(发布给第三方或者内部使用),据此都有不同的许可证可供应用(可附加到文档中进行说明)。像OpenLogic这样的公司可以很容易地理解并遵守开源许可,但是针对闭源,你大可不必担心这类事情!你的供应商的许可协议把有关软件的所有的权利都收走了,如果没有你的公司的律师明确同意的情况下,打算以独有的方式使用软件几乎是不可能的,想都不要想。当然,你还得对付许可证计数,突如其来的软件合规性审计,随着时间的推移而恶化的条款,几乎难以理解的法律术语,但至少你不必了解如何使用开源组件。
|
||||
|
||||
**4. 你用不着为每个组件在众多选项中进行选择**
|
||||
|
||||
针对数据库,Web服务器,应用服务器,编程语言,图形用户界面框架,类似的方面等等,开源都提供了大量的解决方案。在每一个特定的领域,你都可以找到运用不同的架构方法,使用各种语言构建的健壮的成品。找一款功能相似的工具很容易,这些工具都针对不同的使用场合进行了优化(性能、可扩展性、简洁之间的比较)。为了确信一个工具软件在既定场合下功能够满足需求,可以下载下来,试用一下。使用闭源软件的话,你就用不着对付那么多的选项。你只需要在每个领域探索两三个大厂商提供的产品。如果供应商没有提供免费试用版本,或者很难说服你为试用品买单,甚至签署试用协议,那你就节省时间了。
|
||||
|
||||
**5. 你不必四处找幻灯片**
|
||||
|
||||
如果打算找一些会议简报,架构图表,截图,以及其他软件相关的文档,这需要花费一定的时间。使用开源软件,你得读百科,访问论坛,还有邮件列表,才能获取到你需要的相关组件的信息。使用闭源软件,一通电话就足够了,只需坐在自己舒适的办公室,会有西装革履的专业人士把PowerPoint演示文稿寄送到你的面前。
|
||||
当然,你得预先提供自己的联系方式,销售人员是不会不给你打电话的。这样看来,至少自己没必要粗略地在网上搜索漂亮的图形。
|
||||
|
||||
**6. 你无需到处寻求技术支持**
|
||||
|
||||
你可以得到来自开源社区,自己的工程师,或专业开源组织的帮助。这可能需要一些时间,以决定是否要服务等级协议(SLA)的支持便于在保证的时间内得到答复,就像从OpenLogic那里获得帮助一样,或者如果你觉得随意的话可以张贴问题到邮件列表,自己解决。闭源就不同了,你根本不需要担忧从哪获得帮助。而且,你可能根本用不着和工程师当面交谈,只需要知道给谁打电话就OK了。
|
||||
|
||||
**7. 认输就行了**
|
||||
|
||||
开源软件,总会有办法解决问题,打补丁,改善,强化,重构,升级,或者重写。没可能跟闭源那样,甩手走开。当然,你可以谩骂开发出这个导致问题的软件的社区,但是你仍然可以解决问题,从社区或者组织那里获得帮助,或者自己动手解决。
|
||||
|
||||
嗯,你都了解了。为甚么闭源优于开源的几条缘由。你还有要补充的吗?
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://opensource.com/business/13/10/seven-reasons-closed-better-than-open-source
|
||||
|
||||
译者:[译者ID](https://github.com/l3b2w1) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
@ -0,0 +1,26 @@
|
||||
Suse Linux 主流支持到10年
|
||||
================================================================================
|
||||
**Suse在客户的要求下扩展了主流支持**
|
||||
|
||||
Suse Linux Enterprise (SLE)(11版)及以后的版本将会迎来10年的主流支持和而不是现在的7年,此举是为了匹配竞争对手的服务。
|
||||
|
||||
尼尔.布劳克曼,Suse的总裁和总经理,在佛罗里达的维斯塔湖举办的Suse 2013会议上的发言说:"我们将进入一个新的Suse Linux Enterprise支持周期。"这个主题演讲的[视频][1]已经被放到了YouTube上。
|
||||
|
||||
杰拉尔德.普法伊费尔,Suse产品管理和操作的高级领导,在周三的一封邮件中说:"Suse Linux Enterprise 11是首个收到10年主流支持的主要版本和3年的扩展支持(LTSS)。我们也考虑向前推进这个新的Suse Linux Enterprise的支持周期,同样包含了12版。"Suse售卖开源Linux软件给企业。
|
||||
|
||||
普法伊费尔说:"Suse提供不同的包用于扩展支持。扩展支持到13年将花费$60,000用于100台服务器或者$80,000用于500台服务器。对于无限太的服务器将会扩展到$125,000."他还说这些标准价格已经用了好几年了。
|
||||
|
||||
布劳克曼在他的主题演讲中说:"从一个7加3年的支持周期到10加3年的支持周期,可以会有更多时间的主流支持。"他还说:"这个决定是在几周前在客户的反映下做出的。"
|
||||
|
||||
Suse的主流支持延长是随着Red Hat的在去年1月的行动,将 Red Hat Enterprise Linux (RHEL) 5和6的生命周期延长到10年,是响应了客户的需求。
|
||||
|
||||
基于RHEL的Oracle Linux,去年2月将支持周期从8年延长到10年。基于Enterprise Linux的重编译版本的CentOS,同样将支持周期延长到10年有一段时间了。
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.itworld.com/operating-systems/382610/suse-linux-enterprise-expands-regular-support-10-years
|
||||
|
||||
译者:[geekpi](https://github.com/geekpi) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.youtube.com/watch?v=T0W4izFu_WM
|
@ -1,151 +0,0 @@
|
||||
08 Linux 内核: 配置内核(Part 4)
|
||||
================================================================================
|
||||
![](http://www.linux.org/attachments/slide-jpg.392/)
|
||||
|
||||
在“The Linux kernel: Configuring the Kernel”的第四部分里,我们将继续配置更多的设置和特性。
|
||||
|
||||
这里我们被问及关于"IBM Calgary IOMMU support (CALGARY_IOMMU)"。这个选项将会提供对IBM xSeries x366和x460的IOMMU的支持。这也将让那些32位PCI,这些系统上不支持双地址周期(DAC (Double Address Cycle))的设备正常运行,因为该系统设置在访问超过3GB内存的时候会有问题。如果需要这些IOMMU设备可以用"iommu=off"在启动时关闭。(这些内核/模块参数会在以后的文章中讨论)
|
||||
|
||||
IOMMU(input/output memory management unit)是一个内存管理单元(MMU),它连接具有DMA功能的I/O总线到主内存上。DMA(Direct Memory Access)是许多计算机支持的一种允许特定设备不借助CPU直接访问内存的特性。双地址周期(Double Address Cycle, DAC)是64位DMA;通常的DMA使用32位。
|
||||
|
||||
下面,我们被问及是否默认启用Calgary(Should Calgary be enabled by default? (CALGARY_IOMMU_ENABLED_BY_DEFAULT))。Calgary与上面提到的IOMMU是同一个概念。这两者之间的不同是IOMMU可以支持许多设备而Calgary只能支持IBM IOMMU设备。如果禁用了它但是以后需要使用到它,可以使用内核参数(iommu=calgary)。
|
||||
|
||||
这里有个问题需要小心处理(Enable Maximum number of SMP Processors and NUMA Nodes (MAXSMP))。只有在内核运行在拥有很多SMP处理器和NUMA节点的情况下如Core i7和许多AMD CPU芯片才启用它。如果系统缺乏或者只有少量的SMP处理器和NUMA节点,内核就会变得低效。这个最好选择"No"。
|
||||
|
||||
非一致性内存访问(Non-Uniform Memory Access (NUMA))是一个每部分内存都需要花费更长时间访问其他部分内存的系统。一个节点就是一组内存。例如,一个NUMA系统可能有三块内存芯片。每块芯片是一个节点。在带CPU的主板上有一个节点/芯片(这是最快的节点)。另外两个在不同的总线傻nag。这两个节点需要比第一个节点花费更长的时间去访问。
|
||||
|
||||
注意:ccNUMA和NUMA目前是相同的至少是非常相似的。
|
||||
|
||||
对称多处理器(Symmetric Multi-Processing (SMP))是NUMA的替代品。它的内存在同一根总线上。只有这么多的CPU可以访问总线,所以这限制了SMP系统上处理器的数量。然而它内存的访问速度一样块。
|
||||
|
||||
记住:我是在为AMD64系统在编译内核,所以我会告诉你我的选择来帮助读者理解过程和选择。如果我没有指出我的选择,那么我用的就是默认选择。如果你在为不同的系统编译或者你有不同的需求,你需要在你的情况下做出替代的选择。
|
||||
|
||||
接下来,除非配置工具已经为你做了选择,选择一个内核需要支持的最多CPU的数量。这个配置根据你给的数量优化内核。
|
||||
|
||||
接着启用或禁用"SMT (Hyperthreading) scheduler support (SCHED_SMT)"。SMT调度器提升了在使用了超线程技术的Pentium 4处理器上的CPU决策。然而,这会带来额外的功耗,在一些系统上最好像我一样选择"no"。
|
||||
|
||||
超线程一种专有的SMT并行微处理器(Intel 实现了它)。这是多任务/多线程(同时做许多任务)的一种特殊形式。同时多线程(Simultaneous multithreading (SMT))提升了多线程的效率。
|
||||
|
||||
在这之后,启用或者禁用"Multi-core scheduler support (SCHED_MC)"。这样也是一种提升多核CPU决策的特性。然而这回带来额外功耗。我选择了"No"。
|
||||
|
||||
在下一个选项中可以选择抢占式模式。
|
||||
|
||||
Preemption Model
|
||||
1. No Forced Preemption (Server) (PREEMPT_NONE)
|
||||
> 2. Voluntary Kernel Preemption (Desktop) (PREEMPT_VOLUNTARY)
|
||||
3. Preemptible Kernel (Low-Latency Desktop) (PREEMPT)
|
||||
choice[1-3]: 2
|
||||
|
||||
抢占就是暂停一个意图让它之后继续执行的中断任务的过程。抢占强制一个进程暂停。任务无法忽视抢占。
|
||||
|
||||
接着,我们被询问关于"Reroute for broken boot IRQs (X86_REROUTE_FOR_BROKEN_BOOT_IRQS)"。这是一个对于假中断的简单修复。假中断是一种不需要的硬件中断。这些通常是有电子干扰或者错误连接的电子产品触发。记住,中断是发送给处理器需要马上注意的信号。
|
||||
|
||||
这个选项对任何机器都很重要;我怀疑任何人可能都会有禁用这个特性的理由(Machine Check / overheating reporting (X86_MCE))。内核必须意识到过热和数据损坏,不然,系统将会继续操作,这样只会导致进一步的破坏。
|
||||
|
||||
下面,用户可以启用禁用"Intel MCE features (X86_MCE_INTEL)",这是一种额外的对像热度监控的Intel MCE特性的支持。因为我是为AMD64处理器编译内核所以我选择了"no"。机器检测异常(MCE)是一种当处理器发现硬件问题时的错误输出。MCE通常会导致内核严重错误(kernel panic)(相当于Windows中的"蓝屏")。
|
||||
|
||||
这个除了是AMD设备外是同一个问题Intel MCE features (X86_MCE_INTEL)。
|
||||
|
||||
下一个是我会禁用的调试特性(Machine check injector support (X86_MCE_INJECT))。这个会允许注射机检查。如果你偶尔执行机器注射,那最好编译成模块而不是编译进内核。机器注射可以使设备即使实际没有错误也可以发送一个错误信息。这个用来确认内核和其他进程可以正常处理错误。比如,如果CPU过热,接着应该关机,但是开发者如何在不损坏CPU的情况下测试代码。注射错误是一种最好的方法,因为它只是一种告诉硬件发送错误信号的软件。
|
||||
|
||||
注:模块是对可能被使用或者很少执行的特性/驱动而言的。只加入在许多使用该内核的系统中用到的特性/驱动到内核中。
|
||||
|
||||
如果内核很可能用在Dell笔记本上,那么启用这个特性(Dell laptop support (I8K))。否则,如果一些用户可能在戴尔笔记本电脑上使用这个内核,将其作为一个模块加入。如果这个内核不打算支持Dell笔记本,那就像我一样注释掉它。特别地,这个支持是一个允许Dell Inspiron 8000系列笔记本访问处理器的系统管理模式的驱动。系统管理模式的目的是得到处理器的温度和风扇状态,这对一些需要控制风扇的系统有用。
|
||||
|
||||
下面,用户可以选择微代码加载支持(CPU microcode loading support (MICROCODE))。这可以允许用户在支持这个特性的AMD或者Intel芯片上更新微代码。
|
||||
|
||||
注意:为了加载微代码,你必须拥有一个为你的处理器设计的合法的二进制微代码拷贝。
|
||||
|
||||
为了加载微代码补丁(修复bug或加入次要的特性)到intel芯片上(Intel microcode loading support (MICROCODE_INTEL)),这个必须启用。我禁用了它。
|
||||
|
||||
除了是AMD芯片外这个与上面的相同(AMD microcode loading support (MICROCODE_AMD))。
|
||||
|
||||
启用这个支持(/dev/cpu/*/msr - Model-specific register support (X86_MSR))可以允许某个处理器有权限使用x86特殊模块寄存器(Model-Specific Registers (MSRs))。这些寄存器是一些字符设备包括主要的202和次要的0到21((/dev/cpu/0/msr to /dev/cpu/31/msr))。这个特性用在多处理器系统上。每个虚拟字符设备都连接到一个特定的CPU。
|
||||
|
||||
注意:MSRs是用来改变CPU设备、调试、性能监控和执行追踪。MSRs使用x86指令集。
|
||||
|
||||
在这之后,我们有一个选项"CPU information support (X86_CPUID",启用这个特性允许处理器访问x86 CPUID指令,这需要通过字符设备在一个特定的CPU上执行。这些字符设备包括主要的202和次要的0到31(/dev/cpu/0/msr to /dev/cpu/31/msr),就像x86_MSR支持上面这些。
|
||||
|
||||
对于支持它的处理器,启用内核线性映射来使用1GB的页(Enable 1GB pages for kernel pagetables (DIRECT_GBPAGES))。启用这个可以帮助减轻TLB的压力。
|
||||
|
||||
页是内存本身的基本单位(位是数据的基本单位)。页的大小是由硬件自身决定的。页码表是虚拟和物理内存间的映射。物理内存是设备上的内存。虚拟内存是到内存的地址。依赖于系统架构,硬件可以访问大于实际内存地址的地址。举例来说,一个64位系统拥有6GB内存,管理员在需要时可以加上更多的内存。这是因为还有很多虚拟内存地址。然而,在很多32位系统上,系统管理员可以增加一条8GB的内存,但是系统无法完全使用它,因为系统中没有足够的虚拟内存地址去访问大容量的内存。转换后援缓冲器(Translation Lookaside Buffer (TLB))是一种提升虚拟内存转换速度的缓存系统。
|
||||
|
||||
下面,我们有了一个NUMA选项(Numa Memory Allocation and Scheduler Support (NUMA))。这可以允许内核在CPU本地内存分配器上分配CPU使用的内存。这个支持同样内核更好感知到NUMA。很少的32位系统需要这个特性,但是一些通用的645位处理器使用这个特性。我选择了"no"。
|
||||
|
||||
|
||||
为了系统使用旧方式来检测AMD NUMA节点拓扑,启用这个特性feature (Old style AMD Opteron NUMA detection (AMD_NUMA))。下一个选项是一种更新的检测方式(ACPI NUMA detection (X86_64_ACPI_NUMA))。如果两个都启用,新的方式将会占支配作用。一些硬件在使用其中一种方式而不是另外一个时工作得更好。
|
||||
|
||||
至于为了调试目的的NUMA仿真,启用下一个特性(NUMA emulation (NUMA_EMU))。
|
||||
|
||||
注意:如果你不打算调试并且你需要一个快速、轻量级系统,那么禁用尽可能多的调试特性。
|
||||
|
||||
下一个选项中,选择你的内核打算如何处理NUMA节点的最大数量。接下来选择内存模型。这里可能只有一个内存模型选择。内存模型指定了内存如何存储。
|
||||
|
||||
Maximum NUMA Nodes (as a power of 2) (NODES_SHIFT) [6]
|
||||
Memory model
|
||||
> 1. Sparse Memory (SPARSEMEM_MANUAL)
|
||||
choice[1]: 1
|
||||
|
||||
为了有助于性能,这里有一个选项用通过虚拟内存映射(Sparse Memory virtual memmap (SPARSEMEM_VMEMMAP))来优化pfn_to_page和page_to_pfn操作。页帧号是每页被给定的号码。这两个操作用来从号码得到页或者从页得到号码。
|
||||
|
||||
下一个选项是允许一个节点可以移除内存(Enable to assign a node which has only movable memory (MOVABLE_NODE))。内核页通常无法移除。当启用后,用户可以热插拔内存节点。同样可移除内存允许内存整理。作为出入内存的数据,只要有可用空间一组数据可能被划分到不同内存。
|
||||
|
||||
接着前面的内存问题,我们还有更多的问题。这些可能已被配置工具预配置了。第三个选项(BALLOON_COMPACTION),当启用时可以帮助减少内存碎片。碎片内存会减慢系统速度。第四个选项(COMPACTION)允许内存压缩。下面列到的第五个选项(MIGRATION)允许页面被移动。
|
||||
|
||||
Allow for memory hot-add (MEMORY_HOTPLUG)
|
||||
Allow for memory hot remove (MEMORY_HOTREMOVE)
|
||||
Allow for balloon memory compaction/migration (BALLOON_COMPACTION)
|
||||
Allow for memory compaction ()
|
||||
Page migration (MIGRATION)
|
||||
|
||||
注意:启用可移动内存会启用以上5个特性。
|
||||
|
||||
下一步,我们可以"Enable KSM for page merging (KSM)"。内核同页合并(Kernel Samepage Merging (KSM))会查看程序认为可以合并的内核。如果两页内存完全相同这可以节约内存。一块内存可以被删除或者被合并,并且只有一块可以使用。
|
||||
|
||||
配置工具可能会自动选择使用多少内存保存用户分配(Low address space to protect from user allocation (DEFAULT_MMAP_MIN_ADDR) [65536])。
|
||||
|
||||
下一个选项很重要(Enable recovery from hardware memory errors (MEMORY_FAILURE))。如果内存故障并且系统有MCA恢复或者ECC内存,系统就可以继续运行并且恢复。要有这个特性,硬件自身和内核都必须支持。
|
||||
|
||||
机器检测架构(Machine Check Architecture (MCA))是一个一些CPU上可以发送硬件错误信息给操作系统的特性。错误更正码内存(Error-correcting code memory (ECC memory))是一种内存设备检测和纠正错误的形式。
|
||||
|
||||
下面,配置工具会自动启用"HWPoison pages injector (HWPOISON_INJECT)"。这个特性允许内核标记一块坏页为"poisoned",接着内核会杀死创建坏页的程序。这有助于停止并纠正错误。
|
||||
|
||||
为了允许内核使用大页(Transparent Hugepage Support (TRANSPARENT_HUGEPAGE)),启用这个特性。这可以加速系统但是需要更多内存。嵌入式系统不必使用这个特性。嵌入式系统通常只有非常小的内存。
|
||||
|
||||
如果启用了上面的,那么巨大页的sysfs支持必须配置。
|
||||
|
||||
Transparent Hugepage Support sysfs defaults
|
||||
1. always (TRANSPARENT_HUGEPAGE_ALWAYS)
|
||||
> 2. madvise (TRANSPARENT_HUGEPAGE_MADVISE)
|
||||
choice[1-2?]: 2
|
||||
|
||||
下面的选项是增加process_vm_readv和process_vm_writev这两个系统调用(Cross Memory Support (CROSS_MEMORY_ATTACH))。这允许特权进程访问另外一个程序的地址空间。
|
||||
|
||||
如果有tmem,启用缓存清理(cleancache)通常是一个好主意 (Enable cleancache driver to cache clean pages if Transcendent Memory (tmem) is present (CLEANCACHE))。当一些内存页需要从内存中移除时,cleancache会将页面放在cleancache-enabled的文件系统上。当需要该页时,页会被重新放回内存中。超绝记忆体(tmem)没有一组一直大小的内存。内核对此内存使用间接寻址。
|
||||
|
||||
下一个选项允许在tmen激活后缓存交换页(Enable frontswap to cache swap pages if tmem is present (FRONTSWAP))。frontswap在交换分区放置数据。交换特性的支持需要这个。超绝记忆体
|
||||
|
||||
最好启用下一个特性(Check for low memory corruption (X86_CHECK_BIOS_CORRUPTION))。这会检测低位内存的内存损坏情况。这个特性在执行期被禁止。为了启用这个特性,在内核命令行内加入"memory_corruption_check=1"(这会在以后的文章中讨论;这不同于任何命令行)。即使经常执行这个特性,也只使用非常小的开销(接近没有)。
|
||||
|
||||
接下来我门可以设置内存损坏检测的默认设置(“Set the default setting of memory_corruption_check (X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK))。这可以选择是否开启或关闭memory_corruption_check。最好启用内存损坏检测不然如果一部分重要内存损坏后可能会导致数据丢失和系统崩溃。
|
||||
|
||||
这个选项关注的是BIOS(Amount of low memory, in kilobytes, to reserve for the BIOS (X86_RESERVE_LOW) [64])。配置工具通常知道给BIOS预留内存的最佳大小。
|
||||
|
||||
对于Intel P6处理器,开发者可以启用存储区域类型寄存器(MTRR (Memory Type Range Register) support (MTRR))。这用于连接着VGA卡的AGP和PCI卡。启用这个特性内核会创建/proc/mtrr。
|
||||
|
||||
如果X驱动需要加入回写入口,那么启用下面的选项(MTRR cleanup support (MTRR_SANITIZER))。这会将MTRR的布局从连续转换到离散。存储区域类型寄存器(Memory type range registers (MTRRs))提供了一种软件访问CPU缓存的方法。
|
||||
|
||||
下面,配置工具已经设置了一些MTRR选项
|
||||
|
||||
MTRR cleanup enable value (0-1) (MTRR_SANITIZER_ENABLE_DEFAULT) [1]
|
||||
MTRR cleanup spare reg num (0-7) (MTRR_SANITIZER_SPARE_REG_NR_DEFAULT) [1]
|
||||
|
||||
为了设置页级缓冲控制,那就启用PAT属性(x86 PAT support (X86_PAT))。页属性表(Page Attribute Table (PATs))是现在版的MTRRs并比它更灵活。如果你经历过因启用它而引发的启动问题,那么禁用这个特性后重新编译内核。我选择了"no"。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.linux.org/threads/the-linux-kernel-configuring-the-kernel-part-4.4392/
|
||||
|
||||
译者:[geekpi](https://github.com/geekpi) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
@ -1,110 +0,0 @@
|
||||
09 Linux内核: 配置内核 (Part 5)
|
||||
================================================================================
|
||||
![](http://www.linux.org/attachments/slide-jpeg.428/)
|
||||
|
||||
Linux内核拥有许多特性可以被配置。还有许多的特性要配置。
|
||||
|
||||
下一个可以配置的特性是x86的随机数生成器(x86 architectural random number generator (ARCH_RANDOM))。记住,我们现在配置的是AMD64系统的内核代码。这个随机数生成器使用Intel x86的RDRAND指令。这并不通用,所以为了一个更轻量的内核我禁用了它。
|
||||
|
||||
接着,我们可以启用或者禁用"Supervisor Mode Access Prevention (X86_SMAP)"。这是Intel处理器使用的安全特性。SWAP在一些实例中只会允许内核访问用户空间。这个有助于保护用户空间。如果启用,这里有一点性能和大小的开销,但是开销很小。由于我是用的是AMD系统,所以我禁用了这个特性。
|
||||
|
||||
开发者可以启用"EFI runtime service support (EFI)"。只有在有EFI固件的系统上启用它。拥有这个特性,内核可以使用可用的EFI服务。EFI是一个操作系统和硬件如何交流的规范,所以EFI固件是使用这个规范的硬件代码。因为我没有EFI固件,所以我禁用了它。
|
||||
|
||||
这是一个应该被启用的有用的安全方式(Enable seccomp to safely compute untrusted bytecode (SECCOMP))。这个安全特性在使用不受信任的字节码的数值计算(执行大量计算的软件)中使用。字节码(可移植代码)是一种被解释器有效读取的代码。字节码不是源代码,但它也不是汇编或者二进制代码。不受信任的代码是一种可能导致系统/数据损坏的代码。可能会破坏系统或者毁坏数据的不受信任的代码通过seccomp被隔离在独立的地址空间中。这是通过文件描述符传输的方法。通常上,最好启用这个安全特性即使会有一些性能开销,除非你在制作一个需要惊人性能的内核。
|
||||
|
||||
这里是另外一个安全特性(Enable -fstack-protector buffer overflow detection (CC_STACKPROTECTOR))。缓冲溢出是数据被写超出了它的内存界限并且进入了邻近的内存中。这是一个安全威胁。一些恶意软件使用缓冲区溢出来利用系统。启用这个会使用GCC选项 "-fstack-protector"。GCC是一个Linux编译器。这个编译器会在你配置完成后编译内核。这个编译器参数会在返回地址前在栈上加入一个canary值(特殊的安全代码)。这个值会在返回前被验证。当内存溢出发生时,canary值会得到覆盖消息。当这个发生时,会触发一个内存错误(kernel panic)。如许多人知道的那样,内核错误意味着系统将要崩溃,但是这比系统或者数据永久损害的好。发生内核错误,系统会重启,但是如果缓冲移除得到了一个损坏系统的机会,一个简单的重启无法修复破坏。你必须用GCC 4.2或者更高版本支持这个参数的GCC来编译内核。
|
||||
|
||||
注意:为了得到你使用的版本号,在命令行内键入"gcc --version"。
|
||||
|
||||
在这之后,我们可以配置定时器频率。配置工具建议使用250Hz,所以我们使用这个值。
|
||||
|
||||
Timer frequency
|
||||
1. 100 HZ (HZ_100)
|
||||
> 2. 250 HZ (HZ_250)
|
||||
3. 300 HZ (HZ_300)
|
||||
4. 1000 HZ (HZ_1000)
|
||||
choice[1-4?]: 2
|
||||
|
||||
使用1000Hz通常来讲对许多系统而言太快了。定时器频率决定着定时器中断被使用的频率。这有助于在时间线上的系统操作。程序并不是随机地执行一条命令。相反它们会等到定时器中断结束。这保持着有组织和结构的处理。频率为100Hz的定时器中断之间的时间是10ms,250Hz是4ms,1000Hz是1ms。现在许多开发者会马上想到1000Hz是最好的。好吧,这取决于你对开销的要求。一个大的定时器频率意味着更多的能源消耗和更多的能源被利用(在定时器上),产生更多的热量。更多的热量意味着硬件损耗的更快。
|
||||
|
||||
注意:如果某个特定的特性对你并不重要或者你不确定该选择什么,就使用配置工具选择的默认值。比如,就我现在正在配置的内核而言,使用哪个定时器对我并不重要。总的来说,如果你没有特别的原因去选择任何一个选项时,就使用默认值。
|
||||
|
||||
这个有趣的系统调用可能会对一些用户有用(kexec system call (KEXEC))。kexec调用会关闭当前内核去启动另外一个或者重启当前内核。硬件并不会关闭并且这个调用可以无需固件的帮助工作。bootloader没有被执行。(bootloader是启动操作系统的软件) 这个重启发生在操作系统级别上而不是硬件上。使用这个系统调用会快于执行一个标准的关机或者重启。这保持硬件在开启状态。这个系统调用并不能工作在所有系统上。为了高性能,启用热插拔。
|
||||
|
||||
To use kexec, use the command below replacing “<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/) 荣誉推出
|
@ -0,0 +1,124 @@
|
||||
戴文的Linux内核专题:16 配置内核 (12)
|
||||
================================================================================
|
||||
![](http://www.linux.org/attachments/slide-jpg.539/)
|
||||
|
||||
欢迎来享受Linux内核配置系列下一部分。如你所猜到的那样,内核支持大量不同的硬件、协议和特性。
|
||||
|
||||
下一组我们要讨论的特性是"EEPROM support"。电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory)是一种掉电或者意外关闭后不会擦除内容的存储器。
|
||||
|
||||
内核支持在I2C卡上的EEPROM芯片包括FRAMs、ROMs和SRAMs (I2C EEPROMs / RAMs / ROMs 来自多数供货商)。FRAM(同样也称作FeRAM是一种使用铁电原理而不是电介质存储数据的随机访问存储芯片)。ROM芯片是只读(Read Only Memory)芯片。SRAM是静态而不是动态存储器就像DRAM。DRAN必须被刷新以保留数据而SRAM不需要刷新。然而,两者都会在电源关闭或者丢失时失去数据。
|
||||
|
||||
内核支持SPI总线的EEPROM(SPI EEPROMs from most vendors)。串行外设接口总线(Serial Peripheral Interface Bus (SPI))是一个缺乏错误检测的全双工总线系统。
|
||||
|
||||
老式的I2C EEPROM芯片需要一个除了上面I2C驱动的驱动(Old I2C EEPROM reader)。I2C总线用于嵌入式系统和电话,由于它用的是低速总线协议。
|
||||
|
||||
这个特性用来防止Maxim的可编程EEPROM变成只读模式(Maxim MAX6874/5 power supply supervisor)。特别地,这驱动提供对这个芯片的更好的电源管理。
|
||||
|
||||
这里还有一个驱动"EEPROM 93CX6 support","Microwire EEPROM 93XX46 support"和"ENE CB710/720 Flash memory card reader support"。
|
||||
|
||||
和其他内核特性一样,这里有一个对于EEPROM的调试特性(Enable driver debugging)。再说一次,为了更好的性能,禁用调试特性。
|
||||
|
||||
下面,我们有一个TI特性(Shared transport core driver)。这个驱动提供对于BT/FM和GPS芯片的传输协议。
|
||||
|
||||
下面的驱动支持I2C LIS3LV02Dx加速度计(STMicroeletronics LIS3LV02Dx three-axis digital accelerometer (I2C))。设备提供的数据存储在/sys/devices/platform/lis3lv02d。
|
||||
|
||||
下一步, Linux提供了下载固件到Altera的FPGA的模块(Altera FPGA firmware download module)。FPGA就是现在可编程门阵列(field-programmable gate array)。它们是可编程集成电路。
|
||||
|
||||
Intel Management Engine Interface"提供Intel芯片的安全和其他服务。
|
||||
|
||||
"ME Enabled Intel Chipsets"可以支持MEI。MEI是"Management Engine Interface"(管理引擎接口)。这个驱动支持有MEI服务的芯片组。
|
||||
|
||||
"VMware VMCI Driver"是一种用于客户机和宿主机中继通信的高速虚拟设备。VMCI代表的是"Virtual Machine Communication Interface"(虚拟机通信接口)。
|
||||
|
||||
下面, "ATA/ATAPI/MFM/RLL support"可以启用/禁用。MFM (Modified Frequency Modulation)是一种特殊的编码软驱位的方法。然而,这并不工作在所有的软驱上。MFM使用RLL(Run-Length Limited)编码制式。RLL通过有带宽限制的系统通信转换数据。ATAPI是先前提过的"ATA Packet Interface",同时ATA也在讨论接口标准的时候讨论过。
|
||||
|
||||
现在我们将讨论SCSI支持。小型计算机接口(Small Computer System Interface (SCSI))是另外一种SATA的接口标准。USB和火线设备使用SCSI协议。
|
||||
|
||||
第一个SCSI设定关于"RAID Transport Class"。这允许RAID使用SCSI标准。
|
||||
|
||||
为了使用SCSI目标,启用这个特性(SCSI target support)。
|
||||
|
||||
如果系统会运行旧的Linux应用,系统可能需要"legacy /proc/scsi/ support"。这会在/proc/scsi创建SCSI文件。
|
||||
|
||||
为了支持SCSI磁盘,启用下一个特性(SCSI disk support)。这是一个通用驱动。
|
||||
|
||||
为了支持SCSI磁带,启用这个特性(SCSI tape support)。这是一个通用驱动。SCSI磁带驱动器在像磁带的磁性条上记录数据。
|
||||
|
||||
OnStream SCSI磁带需要这个驱动而不是前面提到SCSI通用驱动SCSI OnStream SC-x0 tape support)。
|
||||
|
||||
"对于SCSI CDROM support",一些CD-ROM使用SCSI协议。
|
||||
|
||||
下面, 用户可以启用"Enable vendor-specific extensions (for SCSI CDROM)"。
|
||||
|
||||
这是一个对于大量不同SCSI设备的通用驱动(SCSI generic support)。这主要用于SCSI扫描仪和其他不被上面提到的SCSI驱动支持的设备或者那些之后会讨论的设备。
|
||||
|
||||
一些SCSI点唱机需要这个SCSI驱动(SCSI media changer support)。
|
||||
|
||||
Linux内核提供"SCSI Enclosure Support"。SCSI附件是一种管理电源和制冷SCSI设备同时提供不关于数据的服务的设备。
|
||||
|
||||
Linux内核应该设置为每个SCSI设备搜索全部的逻辑单元号(Logical Unit Numbers (LUN))(Probe all LUNs on each SCSI device)。LUN是SCSI地址。
|
||||
|
||||
这有额外的对于SCSI的错误报告(Verbose SCSI error reporting (kernel size +=12K))。这会明显地增加内核的大小。
|
||||
|
||||
这里还有一个SCSI日志系统(SCSI logging facility)。
|
||||
|
||||
为了增强你的系统,启用这个特性会允许SCSI在系统启动时就被探测到而不是先启用再探测(Asynchronous SCSI scanning)。大多数系统可以一次执行这两个任务,因此为什么允许这项? 对于那些连接了很多SCSI设备的硬件,这个会明显加快启动速度。
|
||||
|
||||
下面,"Parallel SCSI (SPI) Transport Attributes"(传统的并行SCSI)允许每个SCSI设备发送传输信息给sysfs。一些系统需要这个特性。
|
||||
|
||||
下面的特性和上面提到的一样,但是发送光纤通道设备的传输信息(FiberChannel Transport Attributes)(光纤通道接口)。光线通道设备使用SCSI。
|
||||
|
||||
下面用户可以启用/禁用"SCSI target support for FiberChannel Transport Attributes"(为光纤通道添加"target"模式驱动)。
|
||||
|
||||
iSCSI设备和SAS设备的传输数据可以导出到sysfs(iSCSI Transport Attributes)和SAS Transport Attributes)。SAS代表的的是"Serial Attached SCSI"(串行链接SCSI)。
|
||||
|
||||
下面,ATA支持被加入libsas(ATA support for libsas (requires libata))。注意配置工具提示需要libata。为了满足这个需求,启用ATA支持。更多情况下,配置工具已经或者将会会你这么做,但是请无论再检查一下。libsas和libata是相应的支持SAS和ATA的库。
|
||||
|
||||
下面的特性允许SAS接口接收SMP帧(Support for SMP interpretation for SAS hosts)。这加入了一个SMP解释器到libsas中。然而,这不会增加内核的尺寸。SMP帧允许所有在多CPU系统上的处理器访问SAS设备。
|
||||
|
||||
SRP可以发送传输的数据给sysfs(SRP Transport Attributes)。SRP代表SCSI RDMA协议(SCSI RDMA Protocol)。RDMA代表远程直接内存访问(Remote Direct Memory Access)。这意味着SRP是一个用来访问连接到另外一台计算机的SCSI设备的数据的协议。
|
||||
|
||||
下一步,用户可以启用"SCSI target support for SRP Transport"。
|
||||
|
||||
可以启用底层SCSI驱动(SCSI low-level drivers)。这提供了很多基础驱动。
|
||||
|
||||
在这之后,用户可以启用/禁用"PCMCIA SCSI adapter support"。这个适配器允许SCSI设备连接到PC卡上。
|
||||
|
||||
这里有一些驱动用于特殊的适配器- (Future Domain PCMCIA support)、(Qlogic PCMCIA support) 、(Symbios 53c500 PCMCIA support)。
|
||||
|
||||
多路径安装的设备需要这个特性(SCSI Device Handlers)。这用在每个节点都需要一个到SCSI存储单元的直接路径的集群中。
|
||||
|
||||
下一步,"OSD-Initiator library"(OSD启动库)可以启用。这是一个提供了补丁、OSD协议、和针对SCSI设备的T10协议的SCSI驱动。 OSD代表的是基于对象的存储设备(Object-based Storage Device);下一段会讨论得更多。
|
||||
|
||||
这个特性生成一个SCSI上层用于测试和管理/dev/osdx设备(OSD Upper Level driver)。exofs使用这个驱动用于挂载基于OSD的文件系统。OSD设备不像其他存储单元一样使用块的存储设备。相反地,OSD设备存储数据在称之为对象的容器里。exofs曾经称作OSDFS。
|
||||
|
||||
如果启用了它,OSD特性提供了调试工具(Compile All OSD modules with lots of DEBUG prints)。
|
||||
|
||||
如今,我们可以讨论串行ATA和并行ATA特性和驱动了。首先启用/禁用用于调试的第一个特性(Verbose ATA error reporting)。
|
||||
|
||||
下一步,用户应该对于ATA设备启用高级配置及电源接口特性(ATA ACPI Support)。这允许内核在SATA设备上更有效地管理电源使用。
|
||||
|
||||
内核包含了对于"SATA Zero Power Optical Disc Drive (ZPODD) support"的驱动。这会在不使用时关闭SATA光盘驱动器(SATA optical disc drives (ODD))。这节约了能源以及减少损耗。
|
||||
|
||||
贴士:即使你在编译一个高性能的内核,尝试启用所有的电源管理特性。则减少了电源消耗、操作开销、热量产生(热量会降低性能),以及磨损。
|
||||
|
||||
SATA端口复用器需要这个驱动(SATA Port Multiplier support)。端口复用器是一个拥有许多端口但是自己仅需插入一个端口的设备。举例来说,如果一个硬件有一个SATA口,但是还需要更多的口,在这个口上插入端口复用器。现在设备可以有许多SATA口了。
|
||||
|
||||
下一个驱动用于AHCI SATA(AHCI SATA support)。高级主机控制器接口(Advanced Host Controller Interface (AHCI))是一种SATA总线适配器的操作标准。
|
||||
|
||||
对于要在Soc硬件上支持AHCI SATA设备,必须启用这个驱动(Platform AHCI SATA support)。Soc代表片上系统(System-on-a-Chip)。
|
||||
|
||||
下面是一些特殊设备的驱动
|
||||
Initio 162x SATA support
|
||||
ACard AHCI variant (ATP 8620)
|
||||
Silicon Image 3124/3132 SATA support
|
||||
|
||||
再说一次,等着下一篇精彩的文章。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.linux.org/threads/the-linux-kernel-configuring-the-kernel-part-12.4681/
|
||||
|
||||
译者:[geekpi](https://github.com/geekpi) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
@ -0,0 +1,129 @@
|
||||
戴文的Linux内核专题:17 配置内核 (13)
|
||||
================================================================================
|
||||
![](http://www.linux.org/attachments/slide-jpg.555/)
|
||||
|
||||
你好!这是Linux内核系列的下一篇,我们仍将配置ATA设备并将进入逻辑卷/存储。
|
||||
|
||||
"ATA SFF support (for legacy IDE and PATA)"应该启用,因为这扩展了ATA的能力。
|
||||
|
||||
为了支持Pacific Digital的ADMA控制器,应该启用"Pacific Digital ADMA support"。
|
||||
|
||||
"Pacific Digital Serial ATA QStor support"(串口ATA支持)在下一个驱动中支持
|
||||
|
||||
Promise的SATA SX4设备在内核中支持(Promise SATA SX4 support (Experimental))。
|
||||
|
||||
可以BMDMA的SFF ATA控制器需要这个驱动(ATA BMDMA support)。BMDMA代表总线主控直接内存访问(BMDMA stands for Bus-Master Direct Memory Access)。
|
||||
|
||||
下面,这个驱动对不同的SATA和PATA控制器提供支持Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support)。
|
||||
|
||||
这里有其他的特定设备驱动(Calxeda Highbank SATA support)、(Marvell SATA support)、(NVIDIA SATA support)、(Promise SATA TX2/TX4 support)、(Silicon Image SATA support)还有(SiS 964/965/966/180 SATA support)、(ServerWorks Frodo / Apple K2 SATA support)、(ULi Electronics SATA support)、(VIA SATA support)。。。由于有很多SATA/PATA控制器设计不同,一个通用驱动无法使用在这些设备上。
|
||||
|
||||
接下来,这个驱动支持PC卡上的ATA设备除非有特定设备管理硬件的驱动(PCMCIA PATA support)。
|
||||
|
||||
在这之后,有一个通用PATA驱动用于管理其他不被先前驱动支持的PATA设备 (Generic platform device PATA support)。
|
||||
|
||||
PATA设备的电源消耗由这个ACPI驱动管理(ACPI firmware driver for PATA)。强烈建议对系统上所有的硬件启用ACPI。虽然这会增加内核的大小,但是ACPI会增强性能。
|
||||
|
||||
"Generic ATA support"(通用ATA支持)由这个驱动提供。
|
||||
|
||||
古老的ISA、VLB和PCI总线PATA设备可以通过这个驱动支持(Legacy ISA PATA support (Experimental))。这个古老支持使用新的ATA层。
|
||||
|
||||
这组特性包含了许多对于RAID和LVM能力,可见下面的特性选项(Multiple devices driver support (RAID and LVM))。
|
||||
|
||||
有趣的事实:内核是由C和汇编写成的。
|
||||
|
||||
这个驱动允许RAID和LVM组合在一起。这用于使几个LVM卷使用RAID。分区被组合成逻辑块设备,然后形成RAID设备。
|
||||
|
||||
许多用户会希望RAID可以在启动时侦测到(Autodetect RAID arrays during kernel boot)。如果你没有RAID,那么不要启用这个特性。不然,启动处理会比原先希望的慢上几秒。
|
||||
|
||||
注意:当配置Linux内核时,最好按照"use it or lose it"(非用即失)的原则。那就是,如果你不用它,那就禁用这个特性。
|
||||
|
||||
硬盘分区可以通过这个驱动加在一起(Linear (append) mode)。
|
||||
|
||||
下面的驱动加入RAID-0支持带逻辑块设备中(RAID-0 (striping) mode)。接着还有 (RAID-1 (mirroring) mode)、(RAID-10 (mirrored striping) mode)和(RAID-4/RAID-5/RAID-6 mode)。
|
||||
|
||||
MD框架需要多路径支持(Multipath I/O support)。MD框架就是多设备(Multi Device)框架,它将多台设备作为一个单元管理。举例来说,将许多存储单元的分区组合起来可以使多个设备就像一个那样。多路径支持是用于使用处理虚拟的有多个地址的"单个设备"。因为单存储单元物理上有多件物理设备,所以它有多个硬件地址。
|
||||
|
||||
使用这个调试驱动,可以测试更大的多磁盘存储单元的bug(Faulty test module for MD)。
|
||||
|
||||
"Device mapper support"是一个用来映射逻辑扇区的卷管理器。LVM使用扇区映射。
|
||||
|
||||
如果启用的话,设备映射器可以有调试特性(Device mapper debugging support)。
|
||||
|
||||
如果需要,逻辑设备可以设置加密数据(Crypt target support)。这个特性允许用户将来加密那些存储设备。
|
||||
|
||||
只有启用了这个特性,才能使用逻辑存储单元的快照功能(Snapshot target)。
|
||||
|
||||
"Thin provisioning"(自动精简配置)允许逻辑卷设置成比组成逻辑卷的物理设备拥有更大的存储容量(Thin provisioning target)。这个特性同样为这类设备提供了快照功能。这额外的虚拟数据空间无法马上使用。这个特性的意义是允许用户在将来增加物理存储单元并且节约了配置逻辑块设备的时间。
|
||||
|
||||
用这个可以调试"Thin provisioning" (Keep stack trace of thin provisioning block lock holders)。
|
||||
|
||||
块设备性能的提升可以通过移动更多的常用数据到更快的存储单元中(Cache target (EXPERIMENTAL))。
|
||||
|
||||
卷管理器可以制成镜像逻辑卷(Mirror target)。
|
||||
|
||||
设备映射器(Device-mapper (dm))单元支持映射RAID1、RAID10、 RAID4、RAID5和RAID6(RAID 1/4/5/6/10 target)。
|
||||
|
||||
设备映射器(device-mapper)日志可以镜像到用户空间(Mirror userspace logging)。
|
||||
|
||||
"Zero target"是一个忽视写入并返回读取为零的设备。
|
||||
|
||||
接下来,卷管理器应该对硬件有多路径支持(Multipath target)。
|
||||
|
||||
这个驱动会发现最有效的到存储设备的路径来读取和写入(I/O Path Selector based on the number of in-flight I/Os)。
|
||||
|
||||
=下面的一个驱动和以上相同,但是会寻找最快路径(I/O Path Selector based on the service time)。
|
||||
|
||||
如果一个逻辑卷上的物理存储单元正忙,如果可能的话,这个特性会允许读取/写入到另一个物理卷上。
|
||||
|
||||
udev可以生成设备管理器操作事件DM uevents)。udev是/dev的设备管理器。
|
||||
|
||||
为了测试软件/硬件对偶尔失败的输入/输出任务的逻辑设备如何反映,启用这个调试特性(Flakey target)。
|
||||
|
||||
逻辑卷可以创建为一个用于验证另一个逻辑分区数据的只读存储单元(Verity target support)。
|
||||
|
||||
注意:如果你喜欢我的文章,并且如果你有Linux.org的账号,请在我的文章上点击"Like"。同样,再次分享这篇文章在Google、Twitter和/或者Facebook上。
|
||||
|
||||
ConfigFS和TCM存储引擎可以通过这个设置启用(Generic Target Core Mod (TCM) and ConfigFS Infrastructure)。ConfigFS是一个基于内存的文件系统。
|
||||
|
||||
有趣的事实:Linux内核没有"main()"函数。在程序中,main()被依赖于kernel的libc调用。内核没有main()函数是因为libc将无法启动内核。如果内核的确有main()函数,那么我们就有一个"鸡或者蛋"的问题-谁先来?另外,内核的入口点用汇编写成,这并不使用main()函数。
|
||||
|
||||
下面,"TCM/IBLOCK Subsystem Plugin for Linux/BLOCK"可以禁用或者启用。
|
||||
|
||||
接着"TCM/FILEIO Subsystem Plugin for Linux/VFS"可以启用/禁用。
|
||||
|
||||
再次,还有两个TCM特性 - (TCM/pSCSI Subsystem Plugin for Linux/SCSI) 和 (TCM Virtual SAS target and Linux/SCSI LDD fabric loopback module)
|
||||
|
||||
对于ConfigFS的"Linux-iSCSI.org iSCSI Target Mode Stack"在这个驱动中支持(Linux-iSCSI.org iSCSI Target Mode Stack)。
|
||||
|
||||
下一步,可以启用/禁用"FireWire SBP-2 fabric module"。这允许一台计算机作为一个硬盘连接到另一台计算机上。
|
||||
|
||||
在这之后,我们可以配置"Fusion Message Passing Technology (MPT) device support"。
|
||||
|
||||
在那个标题下的第一个选项是一个用于并口适配器的SCSI支持的驱动(Fusion MPT ScsiHost drivers for SPI)。
|
||||
|
||||
SCSI同样也可以支持光纤通道主机适配器(Fusion MPT ScsiHost drivers for FC)和/或SAS适配器(Fusion MPT ScsiHost drivers for SAS)。
|
||||
|
||||
下一步,用户可以设置"Maximum number of scatter gather entries"。一个低的数值可以减少每个控制器实例的内存消耗。
|
||||
|
||||
下一个驱动提供了ioctl系统调用来管理MPT适配器(Fusion MPT misc device (ioctl) driver)。
|
||||
|
||||
光纤通道端口可以用这个驱动支持IP LAN的流量(Fusion MPT LAN driver)。
|
||||
|
||||
我可以读到你们的想法-你们会想到对于这个还有另外一篇文章。是的,你们想对了。请继续关注这个系列的下一篇文章。
|
||||
|
||||
如果你喜欢这个系列,请在Linux.org和/或者Google+上发表评论告诉我你有多喜欢这个系列,并且告诉我你想在今后的文章中希望看到的方面。或者给我发邮件DevynCJohnson@Gmail.com)。谢谢!
|
||||
|
||||
想要更多地了解作者,请检查下面的签名栏中的链接(译注:原文所在论坛有)
|
||||
|
||||
如果你已经完整地阅读了这篇文章,那么你应该已经看到单词"Facebook"三次了。如果没有,你没有阅读全部文章。
|
||||
|
||||
单词"Facebook"在这段中,上一段,和一个注解中。我打赌你阅读了上面的段落而没有通读文章来试图寻找第三个单词实例。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.linux.org/threads/the-linux-kernel-configuring-the-kernel-part-13.4714/
|
||||
|
||||
译者:[geekpi](https://github.com/geekpi) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
@ -0,0 +1,118 @@
|
||||
戴文的Linux内核专题:18 配置内核 (14)
|
||||
================================================================================
|
||||
![](http://www.linux.org/attachments/slide-jpg.566/)
|
||||
|
||||
你好! 准备好读另一篇很酷的Linux内核文章了么?
|
||||
|
||||
接下来,在我们的长期追求中,我们可以启用/禁用"Fusion MPT logging facility"。MPT代表"Message Passing Technology"(消息传递技术)。Fusion驱动是由LSI Logic公司开发。MPT一种进程间使用的特定消息策略。这个技术是同步的意味着进程将会等待所需的消息。
|
||||
|
||||
在这之后,如果计算机处理拥有火线端口就应该启用"FireWire driver stack"。如果没有,那么就没有必要去启动一个不会使用到的火线驱动。火线很像USB。不过在协议、速度、物理形状和端口布局上不同。通常上,苹果设备使用火线和USB。一些PC有火线端口,但是不像USB口那样普及。
|
||||
|
||||
一些火线控制器使用OHCI-1394规范(OHCI-1394 controllers)。如果是这样,启用这个驱动。
|
||||
|
||||
为了使用火线存储设备,启用下一个驱动(Storage devices (SBP-2 protocol))。这个驱动提供了火线存储单元与火线总线通信的协议(the card with the attached FireWire ports)。一些火线扫描仪同样需要这个驱动。
|
||||
|
||||
IPv4可以用在火线端口(IP networking over 1394)。IEEE 1394或者简单的"1394"就是火线。使用IPv4在火线多播有局限。
|
||||
|
||||
"Nosy"是"FireWire PCILynx"卡上的流量监控(Nosy - a FireWire traffic sniffer for PCILynx cards)。
|
||||
|
||||
下一步,可以支持I2O设备(I2O device support)。"Intelligent Input/Output (I2O)"(智能输入/输出)总线使用硬件和操作系统层的驱动。硬件驱动(hardware drivers (HDM))并不特定与任何操作系统而OS驱动(OS drivers (OSM))必须在目标操作系统上使用。OSM可以与任何HDM通信。I2O卡/总线有一个IOP- 输入/输出处理器(Input/Output Processor)。由于主CPU处理更少的数据,所以加速了系统。
|
||||
|
||||
只在缺乏SUN I2O控制器的系统上启用"Enable LCT notification"。I2C SUN固件不支持LCT通知。
|
||||
如果目标是RAID,Adaptec I2O控制器需要下一个驱动(Enable Adaptec extensions)。
|
||||
|
||||
64位的直接内存访问可以在Adaptec I2O控制器上启用(Enable 64-bit DMA)。
|
||||
|
||||
如果允许,可以配置I2O设备(I2O Configuration support)。这个特性主要用在RAID设定中。
|
||||
|
||||
可以为I2O启用支持老的输入/输出控制(Enable ioctls (OBSOLETE))。
|
||||
|
||||
可以启用I2O总线适配器的OSM软件(I2O Bus Adapter OSM)。这组OSM被用来寻找新的在其他适配器末端的I2O设备。
|
||||
|
||||
下面,可以启用I2O块设备上的OSM(I2O Block OSM)。I2O硬件上的RAID控制器需要这个OSM。
|
||||
|
||||
下面的OSM用于I2O控制器上的SCSI或者光纤通道设备。
|
||||
|
||||
如果启用了(I2O /proc support),可以通过/proc读取I2O设备的信息。
|
||||
|
||||
在启用/禁用了I2O特性,我们可以继续其他的内核特性。下面,我们看到"Macintosh device drivers"。这只对苹果设备有用。PC的Linux内核不应该有任何这些驱动启用。然而,正如许多说法都有例外一样。一些PC用户可能会使用苹果鼠标、键盘和/或者一些其他的苹果设备。再说一次,最好彻底地理解需求和正在开发的内核。
|
||||
|
||||
下一步,我们有一个用于网络的驱动(Network device support)。X11和其他的Linux软件不依赖于这个驱动,所以如果内核不会连接到另一台计算机、因特网、内联网或者网络,那么这个特性可以安全地禁用。
|
||||
|
||||
下面的驱动就像上面,但是特定于核心驱动(Network core driver support)。
|
||||
|
||||
这个驱动支持Etherchannel(Bonding driver support)。"bonding"是两条或者更多的以太网通道的融合。这也成为中继。
|
||||
|
||||
使用这个驱动(Dummy net driver support),可以在Linux中设置一个虚拟网络。虚拟网络(dummy network)就像网络中的/dev/null。任何发送给虚拟网络的数据都会永久消失,因为它会发往/dev/null。IP地址没有设置。用户可以定义他们的网络相当于/dev/null。
|
||||
|
||||
下一步,可以支持和EQL(EQL (serial line load balancing) support)。这允许两台计算机使用SLIP或者PPP协议在两条串行连接上通信。
|
||||
|
||||
光纤通道是一种用于连接存储设备到计算机的快速串行协议(Fibre Channel driver support)。
|
||||
|
||||
TMII收发器需要这个驱动(Generic Media Independent Interface device support)。MII是一种用于最高速度为100Mbit/s以太网的接口。以太网线缆用于连接到PHYceiver,这是一种以太网收发器。
|
||||
|
||||
为了通过虚拟接口组织许多以太网设备,需要"Ethernet team driver support"。
|
||||
|
||||
"MAC-VLAN support"允许用户在特定的MAC地址和某个接口上映射数据包。
|
||||
|
||||
TAP字符设备可以由MAC-VLAN接口生成(MAC-VLAN based tap driver)。TAP设备从内核中获取数据包,这样它们就可以被送往其他地方。
|
||||
|
||||
下一个特性允许虚拟vxvlan接口在3层网络上创建2层网络(Virtual eXtensible Local Area Network (VXLAN))。这通常用于隧道虚拟网络。
|
||||
|
||||
内核发送给网络的消息可任意通过这个特性记录下来(Network console logging support)。除非记录网络信息对你很重要时才启用它。禁用这个特性会增强性能。
|
||||
|
||||
这个特性允许不同参数被改变(Dynamic reconfiguration of logging targets)。这些参数包括端口号、MAC地址、IP地址和其他一些设定。
|
||||
|
||||
如果用户空间程序希望使用TAP设备,那么启用这个特性可以允许这样的活动(Universal TUN/TAP device driver support)。
|
||||
|
||||
这个驱动用于本地以太网隧道(Virtual ethernet pair device)。
|
||||
|
||||
"Virtio network driver"用于QEMU、Xen、KVM和其他虚拟机。
|
||||
|
||||
下一步,可以启用"ARCnet support"。ARCnet是一种类似令牌环本地局域网络(Local-Area-Network (LAN)协议。ARCnet代表"Attached Resource Computer Network"(附加资源计算器网络)。
|
||||
|
||||
现在,我们进入到"ATM drivers"。ATM代表"Asynchronous Transfer Mode"(异步传输模式)。ATM用于电信。
|
||||
|
||||
Marevell以太网交换机芯片需要这个驱动(Marvell 88E6060 ethernet switch chip support)。同样,这类交换机的芯片同样需要依赖模型(Marvell 88E6085/6095/6095F/6131 ethernet switch chip support)和(Marvell 88E6123/6161/6165 ethernet switch chip support)。
|
||||
|
||||
现在,我们可以学习关于"Ethernet driver support"。
|
||||
|
||||
首先我们可以启用/禁用"3Com devices"。接下来允许内核开发者选择支持哪些3Com设备。
|
||||
|
||||
下一组选项是对于不同的"Adaptec devices"和接下来的"Alteon devices"。
|
||||
|
||||
这些只是特定设备/供应商驱动。通常地,这些驱动被作为模块加入。
|
||||
|
||||
在设置了这两组选项后,接下来还有"AMD devices"和"Atheros devices"。
|
||||
|
||||
注意:请记住内核会运行在哪类硬件上。对于大量不同的设备,或许最好把它们作为模块加入
|
||||
|
||||
这里有不同特定供货商的设备驱动-"Cadence devices"、"Broadcom devices"、"Brocade devices"、"Chelsio devices"、"Cisco devices"、"Digital Equipment devices"。一些其他的特定设备/供应商驱动遵循它们。
|
||||
|
||||
接下来的驱动并不是特定设备/供应商的 "SLIP (serial line) support"。这个驱动支持SLIP和CSLIP。SLIP(Serial Line Internet Protocol)是一种用于调制解调器和串口的因特网驱动。PPP现在用来代替SLIP。CSLIP是压缩的SLIP。
|
||||
|
||||
下面,"CSLIP compressed headers"可以启用用来压缩TCP/IP头。CSLIP快于SLIP,但是想要启用CSLIP,传输和接收的计算机都必须理解CSLIP。
|
||||
|
||||
当在恶劣的模拟线路上使用SLIP时,最好启用"Keepalive and linefill",这会帮助保持连接。
|
||||
|
||||
对于质量差的网络或者7bit网络中运行IP而言,最好启用"Six bit SLIP encapsulation"。
|
||||
|
||||
现在我们可以进入流行的USB系统,但是这些是用于网络的USB驱动。
|
||||
|
||||
第一个启用/禁用的USB网络设备是"USB CATC NetMate-based Ethernet device support"。这是用于10Mbps的USB以太网EL1210A芯片设备。USB设备将会扮演和成为一个以太网设备即使硬件是USB。
|
||||
|
||||
接下来,除了设备是KLSI KL5KUSB101B芯片组(USB KLSI KL5USB101-based ethernet device support),其他与上面的驱动一样。
|
||||
|
||||
Pegasus USB是USB转以太网的适配器/转换器(USB Pegasus/Pegasus-II based ethernet device support)。
|
||||
|
||||
接下来是另外一个USB转以太网驱动(USB RTL8150 based ethernet device support)。
|
||||
|
||||
下一篇文章中,我们将继续配置USB网络系统。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.linux.org/threads/the-linux-kernel-configuring-the-kernel-part-14.4765/
|
||||
|
||||
译者:[geekpi](https://github.com/geekpi) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
@ -0,0 +1,121 @@
|
||||
戴文的Linux内核专题:19 配置内核 (15)
|
||||
================================================================================
|
||||
![](http://www.linux.org/attachments/slide-jpg.578/)
|
||||
|
||||
你好!在这篇Linux系列文章中,我们将继续配置USB网络驱动。接着我们将进入输入设备。
|
||||
|
||||
首先,我们可以启用/禁用"Multi-purpose USB Networking Framework",这允许连接笔记本到桌面系统上。
|
||||
|
||||
下面,可以启用/禁用ASIX USB-to-Ethernet适配器驱动(ASIX AX88xxx Based USB 2.0 Ethernet Adapters)。
|
||||
|
||||
那么,还有一个ASIX适配器驱动(ASIX AX88179/178A USB 3.0/2.0 to Gigabit Ethernet)。
|
||||
|
||||
注意:通常地,最好将适配器驱动作为模块加入。
|
||||
|
||||
通信设备类规范(Communication Device Class specification)在这个驱动中提供(CDC Ethernet support (smart devices such as cable modems))。这个规范用于USB调制解调器。Linux系统可以将USB网络接口识别为以太网网络接口并且指定为"ethX",这里的"X"是以太设备编号。
|
||||
|
||||
下面是一个与上面类似的规范(CDC EEM support)。CDC EEM代表的是"Communication Device Class Ethernet Emulation Model"(通信设备类以太网仿真模型)。
|
||||
|
||||
CDC网络控制模型(NCM)同样有一个驱动提供了规范(CDC NCM support)。
|
||||
|
||||
这个驱动提供了"CDC MBIM (Mobile Broadband Interface Model)"规范同样也在Linux内核中(CDC MBIM support)。
|
||||
|
||||
下面,有一些供货商/设备特定驱动用于不同的USB网络设备和芯片组。
|
||||
|
||||
在这之后,有一个用于USB网络设备的通用驱动,它不需要任何特殊的驱动(Simple USB Network Links (CDC Ethernet subset))。
|
||||
|
||||
再说一次,还有更多的驱动用于供货商特定设备。
|
||||
|
||||
有趣的事实:Linux被用于制作James Cameron的电影"泰坦尼克"的特效。
|
||||
|
||||
"CDC Phonet support"是用于使用Phonet的Nokia USB调制解调器。(译注:Phonet是Nokia开发的面向数据包的通信协议,仅用于Nokia maemo/meego产品)
|
||||
|
||||
现在,我们可以进入使用802.11规范的无线局域网驱动了。
|
||||
|
||||
主要地,这里有一个供货商/设备特定驱动列表。
|
||||
|
||||
"SoftLED Support"控制着关于Wifi卡/设备的LED灯。
|
||||
|
||||
一些芯片组支持的SDIO在这个驱动中(Atheros ath6kl SDIO support)。SDIO是用于无线SD卡的SD(Secure Digital)规范的扩展。SDIO代表的是"Secure Digital Input/Output"
|
||||
|
||||
内核开发者可能注意到一些无线设备可以支持QoS。QoS代表"Quality of Service"(服务质量)。这个特性给予网络传输优先级。假设需要通过网络传输两组数据。只有一个可以先发送。QoS会先发送最重要的数据。
|
||||
|
||||
有趣的事实:技术上来说,Linux并不是一个操作系统。Linux是一种内核而GNU/Linux是操作系统。。
|
||||
|
||||
WAN卡需要"Generic HDLC layer"。HDLC代表"High-Level Data Link Control"(高级数据链路控制)。这是一个数据链路层协议。
|
||||
|
||||
原生HDLC可以通过"Raw HDLC support"驱动启用。
|
||||
|
||||
"Raw HDLC Ethernet device support"驱动允许HDLC层模拟以太网。
|
||||
|
||||
cHDLC驱动提供了一个HDLC的扩展,同样也称作Cisco HDLC(Cisco HDLC support)。
|
||||
|
||||
Linux内核同样也提供了一个HDLC的"Frame Relay support"(帧中继)驱动。帧中继是2层协议。
|
||||
|
||||
HDLC同样支持PPP(Synchronous Point-to-Point Protocol (PPP) support)和X.25(X.25 protocol support)。
|
||||
|
||||
接下来,这个驱动提供了DLCI下的帧中继(Frame Relay DLCI support)。
|
||||
|
||||
"LAPB over Ethernet driver"创建一个允许用户在以太网上使用LAPB的点到点连接到另一台计算机的设备文件。这个设备文件对于第一个此类设备通常是/dev/lapb0。
|
||||
|
||||
用这个驱动,X.25帧可以通过电话线发送(X.25 async driver)。特别地,这个驱动允许X.25使用异步串行。
|
||||
|
||||
对于ISA SBNI12-xx有一种特殊的驱动(Granch SBNI12 Leased Line adapter support)。这种卡对于租用线路的调制解调器是一种便宜的替代。
|
||||
|
||||
下一个驱动允许使用并行连接携带已安排的流量(Multiple line feature support)。这允许Linux系统更加有效地在SBNI12适配器上管理并行连接。一些Linux用户声称这个驱动双倍加速了他们的速度。然而,这个我没有亲身测试了解。
|
||||
|
||||
接下来,可以配置"IEEE 802.15.4 drivers"。这个是对于慢速WAN设备。这是一个控制媒体和无线网络物理层的标准。这个规范在不同的大洲使用不同的频率。不如,在欧洲,这类无线设备会使用868.0-868.6MHz的频率。
|
||||
|
||||
这个目录中的第一个设定是fake LR-WPAN驱动(Fake LR-WPAN driver with several interconnected devices)。LR-WPAN代表"Low-Rate Wireless Personal Area Network"(低速无线个人网络)。
|
||||
|
||||
有趣的事实:目前内核中只有大约2%的代码是由Linus Torvalds写的。
|
||||
|
||||
VMware使用vmxnet3虚拟以太网需要这个驱动(VMware VMXNET3 ethernet driver)。当在为大量用户编译内核时,最好将这个启用为一个模块,因为一些人可能并不希望在VMware上使用以太网。
|
||||
|
||||
Hyper-V虚拟网络需要这个驱动(Microsoft Hyper-V virtual network driver)。你可能想知道这个是否与微软的Hyper-V相同。使得,Linux支持Hyper-V。
|
||||
|
||||
数字电话服务ISDN由这个驱动提供(ISDN support)。ISDN代表"Integrated Services Digital Network"(综合业务数字网)。在法国,ISDN被称为RNIS,代表" Réseau numérique à intégration de services"。有一台ISDN适配器,计算机可以开始并接收语音呼叫。这允许计算机用来做因待机或者其他一些电话服务设备。ISDN同样也可以携带视频信息。
|
||||
|
||||
现在,我们可以进入输入设备了(Input device support)。这些是给计算机信息的设备。鼠标和键盘是最常被使用和了解的输入设备。扫描仪是另外一种输入设备的例子。
|
||||
|
||||
首先是一个支持不同触觉反馈设备的驱动(Support for memoryless force-feedback devices)。比如,许多游戏控制器的震动就是一种触觉反馈。
|
||||
|
||||
一些输入设备会检测硬件的状态(Polled input device skeleton)。这类行为需要这个驱动。
|
||||
|
||||
使用稀疏键盘映射的输入设备需要这个驱动(Sparse keymap support library)。键盘映射是键盘的布局信息。
|
||||
|
||||
下面,是另外一种键盘映射(Matrix keymap support library)。
|
||||
|
||||
注意:当为广泛的用户组编译内核时,包含大多数或者全部输入设备作为模块,因为通常不知道用户可能插到计算机上的设备类型。
|
||||
|
||||
有趣的事实:Vanilla内核就是Linux自己的原始内核,是未改变的状态。
|
||||
|
||||
"Mouse interface"对于鼠标创建了两个不同的设备文件。这两个设备文件是/dev/input/mouseX 和 /dev/input/mice。
|
||||
|
||||
下一个驱动创建了一个psaux设备文件并且它是/dev/input/mice的别名 (Provide legacy /dev/psaux device)。psaux设备文件是/dev/psaux。
|
||||
|
||||
如果系统有一块数位板,那么需要设置水平分辨率(Horizontal screen resolution)和垂直分辨率(Vertical screen resolution)。数位板是一种支持允许用户绘画的触控笔的触摸屏。另外的触摸屏无法支持如此复杂的输入。
|
||||
|
||||
下一个驱动支持操纵杆和游戏手柄(Joystick interface)。这个驱动会创建/dev/input/jsX文件。
|
||||
|
||||
"Event interface"驱动允许输入设备通过dev/input/eventX访问。
|
||||
|
||||
"Event debugging"驱动会输出所有的输入事件到系统日志中。除了要调试系统否则不要以任何理由启用它。显然地,这么做为了性能原因,但是我这么建议禁用的主要原因是安全目的。所有的按键都会被明文记录下来包括密码。
|
||||
|
||||
下面,列出了不同的键盘(Keyboards)配置驱动,接下来是鼠标(Mice)驱动和操纵杆和游戏手柄(joystick/gamepad)驱动。
|
||||
|
||||
在这之后,列出了不同特定的平板硬件/供货商的不同驱动(Tablets)。在这之后是触摸屏的驱动列表。
|
||||
|
||||
最后一组输入设备驱动是对于特定硬件和供货商的杂项驱动列表(Miscellaneous devices)。
|
||||
|
||||
这个系列的下一篇文章会讨论输入端口。不要忘记阅读这个系列的其他文章和这个网站。谢谢!
|
||||
|
||||
**致粉丝: 谢谢**你们的邮件告诉我你们对这些文章的喜爱。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.linux.org/threads/the-linux-kernel-configuring-the-kernel-part-15.4793/
|
||||
|
||||
译者:[geekpi](https://github.com/geekpi) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
@ -0,0 +1,117 @@
|
||||
戴文的Linux内核专题:20 配置内核 (16)
|
||||
================================================================================
|
||||
![](http://www.linux.org/attachments/slide-jpg.587/)
|
||||
|
||||
欢迎来到下一篇Linux内核文章。在本篇里,我们将讨论输入/输出端口。
|
||||
|
||||
首先,PS/2鼠标和AT键盘需要"i8042 PC Keyboard controller"驱动。在USB之前,鼠标和键盘使用圆形端口的PS/2端口。AT键盘是一种84键使用AT端口的IBM键盘。AT端口有5针而PS/2口有六针。
|
||||
|
||||
使用COM口(有时也称RS232串口)的输入设备需要这个驱动(Serial port line discipline)。COM是一种串口,意味着每次传输一位。
|
||||
|
||||
TravelMate笔记本需要这个特殊的驱动来使用连接到QuickPort的鼠标(ct82c710 Aux port controller)。
|
||||
|
||||
对于PS/2 mice、AT keyboards 和 XT keyboards的并口适配器使用这个驱动(Parallel port keyboard adapter)。
|
||||
|
||||
"PS/2 driver library"用于PS/2鼠标和AT键盘。
|
||||
|
||||
可以启用"Raw access to serio ports"来允许设备文件作为字符文件来使用。
|
||||
|
||||
下面,下面有一个用于"Altera UP PS/2 controller"的驱动。
|
||||
|
||||
PS/2复用同样需要一个驱动(TQC PS/2 multiplexer)。
|
||||
|
||||
ARC FPGA平台对于PS/2控制器需要特殊的驱动(ARC PS/2 support)。
|
||||
|
||||
注意:我想要说清楚这篇文章中讨论的PS/2空孩子气并不是Sony的PlayStation上的游戏控制器。这篇文章讨论的是6针鼠标/键盘端口。控制器是一种有PS/2端口的卡。
|
||||
|
||||
"Gameport support"提供对15针gameport的支持。gameport是一种曾经被很多游戏设备使用直到USB端口的发明的15针口。
|
||||
|
||||
下一个驱动是在ISA或者PnP总线卡上的gameport驱动(Classic ISA and PnP gameport support)。ISA代表"Industry Standard Architecture"(工业标准架构)并且它是一种在PCI之前的并行总线标准。PnP代表"Plug-and-Play"(即插即用)并且他是一种在ISA之前的通用标准。
|
||||
|
||||
"PDPI Lightning 4 gamecard support"提供了一个有gameport的游戏卡的专有驱动。
|
||||
|
||||
SoundBlaster Audigy卡是一种专有gameport卡(SB Live and Audigy gameport support)。
|
||||
|
||||
ForteMedia FM801 PCI音频控制器在卡上有一个音频控制器(ForteMedia FM801 gameport support)。这个驱动只支持gameport。
|
||||
|
||||
下一步,我们可以进入"Character devices"。字符设备以字符传输数据。
|
||||
|
||||
首先,可以启用/禁用TTY(Enable TTY)。移除TTY会节约很多空间,但是许多终端和这类设备需要TTY。除非你知道你在做什么,否则不要禁用TTY。
|
||||
|
||||
致我的粉丝:如果你知道一个禁用TTY的理由,你能在下面发表你的答案并与我们共享么?谢谢!
|
||||
|
||||
下一步,可以启用/禁用"Virtual terminals"(虚拟终端)。再说一次,这个可以节约很多空间,但是虚拟终端很重要。
|
||||
|
||||
下一个驱动支持字体映射和Unicode转换(Enable character translations in console)。这用于转换ASCII到Unicode。
|
||||
|
||||
虚拟终端可以用这个驱动作为系统控制台(Support for console on virtual terminal)。系统控制台管理着登陆和内核信息/警告。
|
||||
|
||||
虚拟终端必须通过控制台驱动与物理终端交互(Support for binding and unbinding console drivers)。在虚拟终端可以这么做之前,控制台驱动必须被加载。当虚拟终端关闭后,控制台终端必须被卸载。
|
||||
|
||||
下一个驱动提供了对Unix98 PTY驱动的支持(Unix98 PTY support)。这是Unix98伪终端。
|
||||
|
||||
有趣的事实:Linux内核允许某个文件系统一次在很多地方被多次挂载。
|
||||
|
||||
接下来,可以支持"Support multiple instances of devpts"(译注:允许多个"devpts"文件系统实例)。devpts文件系统用于伪终端的slave。
|
||||
|
||||
过时的PTY同样可以启用(Legacy (BSD) PTY support)。
|
||||
|
||||
可以设置最大数量的使用中的过时PTS(Maximum number of legacy PTY in use)。
|
||||
|
||||
下面的驱动可以用于提供对其他驱动不支持的串口的支持 (Non-standard serial port support)。
|
||||
|
||||
下面有一些用于特定板和卡的驱动。
|
||||
|
||||
这个驱动支持GSM MUX协议(GSM多路复用)(GSM MUX line discipline support (EXPERIMENTAL))。
|
||||
|
||||
下一个驱动启用kmen设备文件(/dev/kmem virtual device support)。kmem通常用于内核调试。kmem可以用于读取某些内核变量和状态。
|
||||
|
||||
Stallion卡上面有许多串口Stallion multiport serial support)。这个驱动特别支持这块卡。
|
||||
|
||||
下面,我们可以进入到串行设备驱动了。如前所述,串行设备每次传输一位。
|
||||
|
||||
第一个驱动用于标准串口支持(8250/16550 and compatible serial support)。
|
||||
|
||||
在这个驱动下,即插即用(Plug-and-Play)同样存在于串口中(8250/16550 PNP device support)。
|
||||
|
||||
下面的驱动允许串口用于连接一个终端后作为控制台(Console on 8250/16550 and compatible serial port)。
|
||||
|
||||
一些UART控制器支持直接内存访问(DMA support for 16550 compatible UART controllers)。UART代表的是"Universal Asynchronous Receiver/Transmitter"(通用异步收发)。UART控制器转换串行到并行,反之亦然。
|
||||
|
||||
下一步,这个驱动提供了标准PCI串行设备支持(8250/16550 PCI device support)。
|
||||
|
||||
16位PCMCIA串行设备由这个驱动支持(8250/16550 PCMCIA device support)。记住,PCMCIA是一种通常使用于笔记本的PC卡。
|
||||
|
||||
可以设置最大数量支持的串口(Maximum number of 8250/16550 serial ports),接着是在启动中注册的最大数量(Number of 8250/16550 serial ports to register at runtime)。
|
||||
|
||||
为了扩展像HUB6的串行能力,启用这个驱动(Extended 8250/16550 serial driver options)。
|
||||
|
||||
一个特殊驱动用于支持多于4种的过时串口(Support more than 4 legacy serial ports)。
|
||||
|
||||
当启用这个驱动后,可以共享串口中断(Support for sharing serial interrupts)。
|
||||
|
||||
使用这个驱动可以自动检测串口中断请求(Autodetect IRQ on standard ports)。
|
||||
|
||||
RSA串口同样也在Linux内核中支持(Support RSA serial ports)。RSA代表的是"Remote Supervisor Adapter"(远程管理适配器)。RSA是一种IBM特定的硬件。
|
||||
|
||||
下面,有不同的供应商/设备特定驱动。
|
||||
|
||||
下面有一个使用printk输出用户信息的TTY驱动(TTY driver to output user messages via printk)。printk(print kernel)是一种通常打印启动信息的特殊软件。任何由printk显示的字符串通常在/var/log/messages文件里。shell命令"dmesg"显示所有被printk使用的字符串。
|
||||
|
||||
下面,我们可以启用/禁用并口打印机的支持(Parallel printer support)。
|
||||
|
||||
接下来的驱动允许打印机作为一个控制台(Parallel printer support)。这意味着内核消息会被逐字地由打印机打印。通常地在这个系列中使用"print"(打印)这个单词时,意味这将输出信息到屏幕上。而这次,字面上的意思是将数据输出在纸上。
|
||||
|
||||
以下的驱动使设备文件在/dev/parport/中(Support for user-space parallel port device drivers)。这使得一些进程可以访问。
|
||||
|
||||
再说一次,Linux内核有许多特性和驱动,所以我们还会在下一篇文章中继续讨论更多的驱动。谢谢!
|
||||
|
||||
致粉丝:我们正在接近配置过程的终点。我有一张你们很多人想知道的内核话题列表。这些话题包含了安装内核、管理模块、加入第三方驱动、还有许多其他有趣的建议和要求。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.linux.org/threads/the-linux-kernel-configuring-the-kernel-part-16.4835/
|
||||
|
||||
译者:[geekpi](https://github.com/geekpi) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
@ -0,0 +1,129 @@
|
||||
戴文的Linux内核专题:21 配置内核 (17)
|
||||
================================================================================
|
||||
![](http://www.linux.org/attachments/slide-jpg.605/)
|
||||
|
||||
你好!这篇文章会覆盖不同的驱动。
|
||||
|
||||
首先"virtio console"是一种用于hypervisors的虚拟控制台驱动。
|
||||
|
||||
"IPMI top-level message handler"是用于IPMI系统的消息管理器。IPMI代表的是"Intelligent Platform Management Interface"(智能平台管理系统)。IPMI是一种不需要shell通过网络管理系统的接口。
|
||||
|
||||
"/dev/nvram support"允许系统读取和写入实时时钟的内存。通常上,这个特性用于在掉电时保存数据。
|
||||
|
||||
下面一个驱动支持Siemens R3964包驱动(Siemens R3964 line discipline)。这个是设备对设备协议
|
||||
|
||||
现在,我们可以进入PCMCIA字符设备驱动。然而,大多数这里的驱动是供货商/设备特定的。
|
||||
|
||||
原始块设备驱动允许块设备绑定到设备文件上/dev/raw/rawN(RAW driver (/dev/raw/rawN))。这么做的好处是高效的零拷贝。然而,大多数软件更偏好通过/dev/sd** 或者 /dev/hd**访问存储设备。
|
||||
|
||||
下面,可以设置支持的原始设备的最大数量。
|
||||
|
||||
下面的驱动可以生成设备文件/dev/hpet (HPET - High Precision Event Timer)。
|
||||
|
||||
注意:你们中很多人可能会想知道为什么要启用这些设备文件问题。好的,这些设备文件充当了一个软件和硬件之间的接口。
|
||||
|
||||
通过这个驱动可以映射HPET驱动(Allow mmap of HPET)。映射是一个生成设备和文件在内存中的地址列表。文件接着可以通过内存地址更快地找到并且接着指挥硬盘从地址中得到数据。
|
||||
|
||||
"Hangcheck timer"用于检测系统是否被锁定。这个定时器监视着锁定进程。当一个进程被冻结了,定时器就开启。当定时器停止后,如果进程还没有重启或者关闭,那么定时器会强迫进程关闭。
|
||||
|
||||
引用Linus Torvalds的话:可移植性是对于那些无法写新程序的人而言的。
|
||||
|
||||
使用Trusted Computing Group(可信赖计算组)规范的TPM安全芯片会需要这个驱动(TPM Hardware Support)。
|
||||
|
||||
现在,我们可以进入I2C设备。I2C代表的是"Inter-Integrated Circuit"(内部集成电路)并经常被成为"eye two see"。然而,一些人会说"eye squared see"。I2C是一种串行总线标准。
|
||||
|
||||
一些旧的软件将I2C适配器作为类设备,但是如今的软件不会这么做(Enable compatibility bits for old user-space)。所以,这个驱动会提供对旧软件的向后支持。
|
||||
|
||||
接下来,可以生成I2C设备文件(I2C device interface)。
|
||||
|
||||
I2C可以通过这个驱动提供复用支持(I2C bus multiplexing support)。
|
||||
|
||||
I2C可以通过这个驱动支持GPIO控制的复用(GPIO-based I2C multiplexer)。
|
||||
|
||||
对于开发者用这个驱动可以在I2C和SMBus上执行不同的测试(I2C/SMBus Test Stub)。
|
||||
|
||||
I2C系统启用这个特性可以生成调试信息(I2C Core debugging messages)。
|
||||
|
||||
下一个驱动生成额外的I2C调试信息(I2C Algorithm debugging messages)。
|
||||
|
||||
引用Linus Torvalds的话:Linux中没有原始设备的原因似乎我个人任何原始设备是一个愚蠢的注意。
|
||||
|
||||
下面的驱动会使I2C驱动生成调试信息(I2C Bus debugging messages)。
|
||||
|
||||
接下来,我们有串行外设接口(Serial Peripheral Interface)支持(SPI support)。SPi是一种用于SPI总线的同步串行协议。
|
||||
|
||||
在这之后,有一个驱动用于高速同步串行接口(High speed synchronous Serial Interface support)支持(HSI support)。HSI是一种同步串行协议。
|
||||
|
||||
PPS同样在Linux内核中支持(PPS support)。
|
||||
|
||||
"IP-over-InfiniBand"驱动支持IP包通过InfiniBand(译注:一种无限带宽技术)传输。
|
||||
|
||||
在这之后,有一个调试驱动用于IP-over-InfiniBand(IP-over-InfiniBand debugging)。
|
||||
|
||||
SCSI的RDMA协议同样可以通过InfiniBand传输(InfiniBand SCSI RDMA Protocol)。
|
||||
|
||||
这里同样有一种通过InfiniBand传输iSCSI协议的扩展(iSCSI Extensions for RDMA (iSER))。
|
||||
|
||||
有时候,错误发生在了整个系统必须知道的核心系统中(EDAC (Error Detection And Correction) reporting)。这个驱动发送核心给系统。通常地,这类底层错误由处理器中报告并接着由这个驱动让其他系统进程知道或者处理错误。
|
||||
|
||||
这个驱动提供了在老版本中的sysfs中使用的过时EDAC的支持(EDAC legacy sysfs)。
|
||||
|
||||
EDAC可以用来设置发送调试信息给Linux的日志系统(Debugging)。
|
||||
|
||||
引用Linus Torvalds的话:没有人可以第一次创造如此好的代码,除了我。
|
||||
|
||||
"Machine Check Exceptions"(机器检测异常)(MCEs)通过这个驱动被转化成可读的信息(Decode MCEs in human-readable form (only on AMD for now))。MCEs是由CPU检测到的硬件错误。MCEs通常触发内核错误。
|
||||
|
||||
将MCE解码成可读的形式的过程可以被注射用于测试错误处理(Simple MCE injection interface over /sysfs)。
|
||||
|
||||
下一个驱动允许错误在内存中被检测到并纠正(Main Memory EDAC (Error Detection And Correction) reporting)。
|
||||
|
||||
下面,还有很多用于特定设备组的检测和纠正错误的驱动。
|
||||
|
||||
引用Linus Torvalds的话:理论和实践有时会冲突。那这个发生时,理论输了。每次都是。
|
||||
|
||||
现在我们可以进入实时时钟("Real Time Clock")。这通常缩写为"RTC"。RTC一直跟随着时间。
|
||||
|
||||
![](http://www.linux.org/attachments/rtc-png.606/)
|
||||
|
||||
下面的设定允许用户在Linux系统中使用RTC时间作为"挂钟"时间(Set system time from RTC on startup and resume)。这个挂钟是我们在桌面上或者通过"date"命令看到的时间。
|
||||
|
||||
另外,挂钟可以通过NTP服务器得到时间并与RTC同步(Set the RTC time based on NTP synchronization)。
|
||||
|
||||
一些系统有几个RTC,所以用户必须设置哪一个是默认 (RTC used to set the system time)。最好设置第一个(/dev/rtc0)为主时钟。
|
||||
|
||||
可以设置RTC系统的调试特性(RTC debug support)。
|
||||
|
||||
RTC可以使用不同的接口给予操作系统当前时间。使用sysfs会需要这个驱动(/sys/class/rtc/rtcN (sysfs)),而似乎用proc需要这个驱动 (/proc/driver/rtc (procfs for rtcN))。特殊的RTC字符设备可以生成并使用 (/dev/rtcN (character devices))。shell命令"hwclock"使用/dev/rtc,所以RTC字符设备。
|
||||
|
||||
下一个驱动允许在/dev接口上模拟RTC中断(RTC UIE emulation on dev interface)。这个驱动读取时钟时间并允许新的时间从/dev中检索。
|
||||
|
||||
RTC系统可以通过测试驱动测试(Test driver/device)。
|
||||
|
||||
下面,我们会讨论直接内存访问系统。DMA是硬件独立于处理器的内存访问过程。DMA增加的系统性能因为处理器将做得更少如果硬件自身做了更多的任务。不然,硬件会等待处理器完成任务。
|
||||
|
||||
这是调试DMA系统的调试引擎(DMA Engine debugging)。
|
||||
|
||||
接下来,有许多的供货商/设备特定驱动用于DMA支持。
|
||||
|
||||
一些DMA通过这个驱动支持大端读取和写入(Use big endian I/O register access)。
|
||||
|
||||
大端指的是二进制码的排列。英语国家的数字系统将数字的最大端放在左边。比如,数字17,最左的数字是放置十位的地方大于个位。在大端中,每字节最大的放在左边。字节有8位。比如:10110100。每一处都有相应的值128、64、32、16、8、4、2、1。所以提到的为被转换成十进制180。
|
||||
|
||||
DMA系统可以使用网络减小CPU使用(Network: TCP receive copy offload)。
|
||||
|
||||
"DMA Test Client"用于测试DMA系统。
|
||||
|
||||
下一篇文章中,我们会讨论显示/视频驱动。谢谢!
|
||||
|
||||
参考:Linus Torvalds的引用来自于:[http://en.wikiquote.org/wiki/Linus_Torvalds][1]
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.linux.org/threads/the-linux-kernel-configuring-the-kernel-part-17.4875/
|
||||
|
||||
译者:[geekpi](https://github.com/geekpi) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://en.wikiquote.org/wiki/Linus_Torvalds
|
@ -0,0 +1,108 @@
|
||||
VidMasta:一个搜索电影和电视剧的桌面应用
|
||||
===
|
||||
你是否曾经想要从桌面搜索电影或电视剧,或者搜寻能够随时为你搜索这些东西的应用程序?这儿有一个应用可以满足你的需要。
|
||||
|
||||
[**VidMasta**][1]是一个免费,
|
||||
|
||||
|
||||
VidMasta: A Desktop Application For Searching Movies And TV Shows
|
||||
================================================================================
|
||||
Ever wanted to search for a Movie or a TV shows from your desktop or searching for a application to do it for you whenever you want? Here is a application to fulfil your needs.
|
||||
|
||||
[**VidMasta**][1] is free, cross-platform, federated search desktop application to read about, preview, watch, and download any movie or television titles that are being shared online. It will run on Linux, Windows and Mac OS X.
|
||||
|
||||
###特点
|
||||
|
||||
使用VidMasta,你可以做到一下这些:
|
||||
- 观看或下载任何格式的电影或电视剧
|
||||
- 支持的格式是:TV,DVD,720P,1080P。
|
||||
- 匿名链接并自动过滤不受信任的IP,可以使用代理,还可以使用加密连接。
|
||||
- 搜索算法可以为电影下载链接自动匹配最佳下载源
|
||||
- “流行电影”和“流行电视剧”选项可以显示并让你下载当前最流行的电影/电视剧
|
||||
- 下载电影字幕
|
||||
- 可设置每次搜素结果的个数
|
||||
- 设置下载的视频文件的扩展名
|
||||
- 自动按照受欢迎度为搜索结果排序
|
||||
- 可以听也可以阅读影视概要
|
||||
- 观看预告片
|
||||
- 查看上映时间和电影评价
|
||||
- 多线程搜索和下载
|
||||
- 能够侦测电影盒子设置
|
||||
- 可以和[PeerBlock][2]集成(这项功能只能在Windows2000,xp,Vista和Windows 7上使用)
|
||||
- 除了[Java][3](版本为6或以上)外,不再需要额外的软件
|
||||
- 客户端可以自动更新
|
||||
|
||||
###在Linux上安装VidMasta
|
||||
|
||||
在安装VidMasta之前,你应该在你的Linux桌面系统中安装最新版的Java。
|
||||
从[这儿][4]下载最新版。进入你下载的文件夹,使用下面的命令安装它:
|
||||
|
||||
sudo java -jar vidmasta-setup-16.7.jar
|
||||
|
||||
运行后,就会出现像下面这样的画面。点击下一步继续。
|
||||
|
||||
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/Installation-of-VidMasta_001.jpg)
|
||||
|
||||
选择安装路径,点击下一步。
|
||||
|
||||
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/Installation-of-VidMasta_002.jpg)
|
||||
|
||||
安装完成后,点击下一步。
|
||||
|
||||
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/Installation-of-VidMasta_004.jpg)
|
||||
|
||||
设置快捷键。
|
||||
|
||||
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/Installation-of-VidMasta_007.jpg)
|
||||
|
||||
最后,点击Done结束安装。
|
||||
|
||||
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/Installation-of-VidMasta_008.jpg)
|
||||
|
||||
完成安装后,VidMasta会自动打开。下面是VidMasta的默认界面。
|
||||
|
||||
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/VidMasta_009.jpg)
|
||||
|
||||
###搜素电影&电视剧
|
||||
|
||||
搜索电影电视剧非常容易。在标题框里键入电影的名字,选择电影种类和电影格式,例如“任何”,“DVD”,“720HD”,“1080HD”等。然后敲击Enter键开始搜素。你还可以通过评价来过滤搜素结果。假如你不知道电影的名字,你可以在菜单栏里勾选“任何”。
|
||||
|
||||
例如我要搜索冒险类的清晰度为720HD并在在2012年的11月第一周的今天上映的电影。一旦你敲击搜索按钮,VidMasta就会从[www.imdb.com][5]网站抓取搜索结果,并显示你每次搜索的关键词。下面是输出的样例。
|
||||
|
||||
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/VidMasta_012.jpg)
|
||||
|
||||
你还可以在下载之前观看预告片或者阅读电影概要。要看电影的概要?选择一个电影,右击它,点击阅读概要就可以咯。你也可以使用搜索结果下的按钮去阅读电影概要,观看预告片,下载或者观看整个电影
|
||||
|
||||
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/VidMasta_013.jpg)
|
||||
|
||||
更重要的是你可以在下载一部电影之前先观看它的预告片。点击观看预告片按钮,预告片就会在一个新窗口中打开,像下面这样。
|
||||
|
||||
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/%E2%96%B6-Django-Unchained-Official-Trailer-HD-YouTube-Mozilla-Firefox_014.jpg)
|
||||
|
||||
如果你喜欢这部电影,可以点击下载链接(下载链接1或者下载链接2)下载这部电影。
|
||||
|
||||
###流行电影&流行电视剧
|
||||
|
||||
假如你不知道那些电影值得去看时。那么不用担心,VidMata有一个选项去显示当前流行的电影或电视剧。点击下面的流行电影或电视剧按钮去发现当前流行流行的电影或电视剧。
|
||||
|
||||
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/VidMasta_015.jpg)
|
||||
|
||||
是不是很酷?
|
||||
|
||||
需要注意的是,若你不能下载最新的电影或电视剧时,也许是因为版权问题或者地理原因。你也可以尝试一下安装最新版的Java并禁用掉屏蔽广告程序,再去播放或下载电影。
|
||||
|
||||
你是否对此很期待呢?赶紧把它下载下来安装到你的系统中,祝你使用愉快!
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.unixmen.com/vidmasta-desktop-application-searching-movies-tv-shows/
|
||||
|
||||
译者:[Linux-pdz](https://github.com/Linux-pdz`) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:https://sites.google.com/site/algwares/vidmasta
|
||||
[2]:http://www.peerblock.com/
|
||||
[3]:http://www.java.com/
|
||||
[4]:http://sourceforge.net/projects/vidmasta/
|
||||
[5]:http://www.unixmen.com/vidmasta-desktop-application-searching-movies-tv-shows/www.imdb.com
|
Loading…
Reference in New Issue
Block a user