2013年11月

这个教程是为那些想用Ubuntu做点小实验的用户准备的。这并不适用于所有人,尤其是那些在(正式环境中)使用生产机器的用户。

如果你对网络运行和IP网络有所了解,你应该知道在大多数情况下,每个网卡只会分配一个IP地址。我们习惯认为这是一对一的事物。

一个网卡对应一个IP地址,你在一台机器上的一个网卡及其IP地址只能绑定或运行单一的网络服务/端口。例如,如果你想在80端口运行一个web服务器,而一个IP地址和端口号只能由一个web服务器监听。这是这样设计的。

所以,网卡和IP地址并不是一对一的关系,你可以创建可以单独分配IP地址的虚拟网卡。因此,单一的物理网卡可以群集无限的子网卡或虚拟网卡。每一个都能分配它自己IP地址到对应的端口。

这个简短的教程将展示给你如何在Ubuntu上做到这些。这是在一台电脑上用一张物理网卡和单一的端口号运行及测试多个网络服务的好方式。

动手吧,运行下列命令打开网络接口文件。

sudo gedit /etc/network/interfaces

然后按照下图中的步骤,添加你想要的任意多的虚拟网卡。默认情况下,Linux会给第一张网卡分配eth0的名称,所以如果你的机子只有一张网卡,那么它会被命名为eth0。

添加虚拟网卡,创建多个静态网卡并命名为eth0:1、eth0:2、eth0:3等等(eth0后面紧跟冒号和数字)。

对于你创建的每一个网卡,也要确保网络都是不同的子网,这是网络常识(译注:事实上并非如此,虚拟网卡完全可以是相同子网的IP地址,只要你需要)

完成以后,保存文件并用下列命令重启网络服务。

sudo service networking restart

就是这样!

玩得开心!


via: http://www.liberiangeek.net/2013/11/daily-ubuntu-tips-create-virtual-network-cards-in-ubuntu-linux/

译者:Luoxcat 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

什么是 ping 工具

在讲述一些关于ping工具真实直观的使用实例前,先让我来介绍一下这个命令行工具及其目的。ping工具通常用来测试一台主机在互联网协议(IP)网络内的可达性。其名字源于主动声纳法——在水下创建一个脉冲声音信号(ping)并侦听周围物体的返回信号。该方法同样生动描述了ping网络工具的工作原理。ping工具对一台主机发送回应请求然后等待ICMP响应。

实践中的ping工具的一些例子:

查询主机的IP地址

有时候你需要得到某一台主机的IP地址,如图一。只需要键入ping命令后面跟上要查询的主机名。

ping www.omgubuntu.com

查询正在使用的ping工具的版本信息

用 -V 选项可以用来查询你手头上ping工具的版本信息。键入下列命令显示正在使用的ping工具的版本信息。

ping -V

正如你从图二见到的,我正在使用的是“ping utility,iputils-sss20101006”

自动退出 ping

当你用‘ping 主机’命令ping一台机器时,ping自己无法停止,你必需按下CTRL+C强行退出,或者你可以用 -c (count)选项指定发送包的数量。使用-c选项,当网络管理员(其实普通用户也可以)发送完指定数量的包之后,无需按CTRL+C,ping进程就会自动停止。

ping -c 13 127.0.0.1

上列的命令发送了13个包到我的本地主机上。

正如你从图三看到的,我并没有按CTRL+C,而ping自动退出了。

指定数据包之间的时间间隔

你知道ping每秒钟发送一个数据包吗?你喜欢快一点还是慢一点?用 -i 选项能指定包之间的时间间隔。用下列命令快速发送或慢速发送包。

每0.13秒发送一个包

ping -i 0.13

每13秒发送一个包

ping -i 13

结合 -i 选项和 -c 选项

ping -c 13 -i 3

总共花费39秒发出13个数据包,数据包的时间间隔为三秒。


via: http://www.unixmen.com/five-examples-ping-utility/

译者:Luoxcat 校对:Mr小眼儿

本文由 LCTT 原创翻译,Linux中国 荣誉推出

Canonical公司的创始人Mark Shuttleworth他澄清了他的“茶派”论调,为他的言论而表示歉意。

我们并不是每天都能看到Mark Shuttleworth连续道歉两次,很有可能这是第一次。

第一个道歉是对收到了Canonical公司法律团队邮件的fixubuntu.com的站长Micah F. Lee,他写了一篇广泛传播的关于这些问题的博客,并且在许多论坛和网站引起了热议。

Mark Shuttleworth首先在Google+向他道歉,接着他在其个人博客上写了正式的道歉文章,他的博客通常都是用于宣布重要事情的地方。

这个道歉之后,他又花了一些时间说,他为带来了很多抨击的“茶派”的说法而后悔,这个事情甚至比他原来认为的还要糟糕。

“另一方面,从个人角度看,我自己犯了一个错误,当我使用标签“开源茶派”来指那些对Canonical做的事情的非技术评论家。这是不对的,并且的确可能冒犯了真的茶派(注意这里!)以及那些非技术批评家(再看这儿!)。”

“这并不是说我建议我不需要这样技术反馈,而是一些假定我拒绝了包括技术反馈在内的所有反馈。我没有——我在说对软件的评价,并不是软件本身的中心,而是开发软件的人需求的综合,或者是某个自由软件协议下发布,或者是公司的策略、或者是公司后面的国家”,Mark Shuttleworth说道

希望结束在这个事件上的所有的讨论,人们最终将能够接受引发了这次讨论的Mir。


via: http://news.softpedia.com/news/Mark-Shuttleworth-Regrets-the-quot-Tea-Party-quot-Remarks-and-Other-Canonical-Mistakes-398819.shtml

译者:Vito 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

作为FOSS的Linux编程女神计划(Outreach Program for Women)的一部分,这个夏季在Linux基金会工作的实习生们背景不同,水平也高低不等,但是她们至少有一件事情是相同的(除去性别之外),就是她们可以在自己的履历中添加一项“Linux内核黑客”。(译注:Outreach Program for Women,OPW此处译作“Linux编程女神计划”带有调侃意味,Just joke,没有恶意。)

针对女性的招募项目在对Linux内核3.12的贡献已经名列前茅。来源:LWN.net

在Linux基金会资助的第一批每人5000美元酬金的申请人中,Lisa Nguyen, Xenia Ragiadakou, Elena Ufimtseva, Laura Vasilescu 和Tulin Izer是41申请者中的7名女性女性获得者。她们与Intel、Oracle和Citrix的内核开发者一起全职工作了三个月,处理包括x86启动进程和XNUMA拓扑等项目。她们还利用500美元的旅行奖学金,出席了在新奥尔良或者爱丁堡举行的LinuxCon会议并做了演讲。

“我要说能有我这样的机会并不多哦,在LinuxCon北美会议上做志愿者,在LinuxCon北美会议上发表演讲,而且与Linux Torvalds交流了三天!”Nguyen说,她是一个Linux内核实习生,与Orcale的Konrad Rzeszutek Wilk一起解决Xen block 驱动问题。

除了学习如何创建和提交内核补丁,这些实习生们通过结交新朋友和同事,克服了她们的恐惧心理,为Linux内核的发展作出了显著的贡献。

“我不再害怕碰内核代码了”Izer这样说道,她和来自Intel的Peter P. Waskiewicz Jr.一起工作,解决x86的启动进程并行化问题。“这是我第一次对开源项目作出贡献,我以此为自豪。我将接着做下去”。

内核贡献着排行榜

LWN 8月内核报告,作为一个组织,OPW被列为对Linux3.11内核的主要贡献者之一,提交了230个变更,总体位于第13位。其中,实习生Xenia Ragiadakou给3.11内核贡献了100个补丁,在最活跃的开发者中位列前10!

“我的主要工作就是添加追踪事件,然后写trace-cmd插件,以便于人们阅读的格式分析这些痕迹,以方便xhci(驱动)找出问题。” ”Ragiadakou说,她和Intel的内核开发者Sarah Sharp一起做这项工作。“我学习了如何使用git,如何使用静态代码分析工具,以及如何发送补丁,如何查看debug日志,usb子系统是如何组成的,xhci驱动又是如何实现的。”

LWN 10月分析报告,在内核3.12上,OPW再次排在了贡献最大的团队或公司之中,这次是排行第11行,有19,649行代码的改动。那代表了在过去最新的一次开发周期中接近2.7%的改动量。

在她们的实习计划在9月份结束时,她们中的大多数仍然持续做该项目并打算继续做下去。

“我认为成为一个内核开发者是一件非常酷的事情,将来,我也要继续做这件事情,”Vasilescu说,她和Intel的Carolyn Wyborny以及 Anjali Singha一起解决igb驱动的ethtool属性。

“我甚至需要学习如何才能停下来。有时候,好吧,是常常,我无法停下来,”Ufimtseva说,她和Citrix的Stefano Stabellini、Dario Fargiolli、George Dunlap一起工作,以解决针对与工作在xen上的并行虚拟机的vNUMA拓扑问题。“我一直努力,最终我贡献的补丁被提交到了高质量代码库里,这真的是很鼓舞人心哇!”

下一轮Linux内核实习生的截止日期是11月。申请者应有c或c++和布尔代数的基本知识,对Linux/Unix操作系统有一定的经验,了解Git更好,不过不是硬性要求。想了解有关项目以及如何申请的更详细信息,可浏览 Kernel Newbies上的OPW 页面

Lisa Nguyen

Lisa Nguyen和Oracle的Konrad Rzeszutek一起解决Xen的时钟驱动问题

在我成为OPW实习生之前,我已经获得了多个大学学位,如计算机科学,数字分析和信息安全等。我在过去的两年中持续地使用Linux,我还在Linux社区中充当多种角色,例如项目管理着,man页的作者,LinuxCon会议的协调者以及内核贡献者。

你为什么申请同OPW一起为Linux内核工作

我想要一个挑战,想要跳离自己的小窝。我要给自己一个软件开发的机会,因为过去我一直面临自信心问题。一天,我决定要寻求一个有关Linux的职业来而不是数字分析工作。当我看到OPW项目出现在Linux基金会在Google+上的博文时,我觉得这是一个再合适不过的机会咯,于是,我想“我为什么不去尝试一下呢?”

Elena Ufimtseva

Elena Ufimtseva与来自Citrix的Stefano Stabellini, Dario Fargiolli, George Dunlap的一起去解决xen虚拟机中的并行虚拟客户端的vNUMAde的拓扑问题

我作为一名Linux系统管理员已经有想当长的一段时间了,而且成为了许多项目的一分子。我从俄罗斯联邦的St.-Petersburg大学获得了我的计算机科学硕士学位。

你为什么申请同OPW一起为Linux内核工作

我觉得我想在底层开发软件,例如系统软件,而不是用java。我有一种感觉,我能应对复杂的问题并解决他们。我经常阅读最新的Linux新闻,我觉得最吸引我注意的是Greg在一年前在Google做的“关于Linux内核开发者社区以及补丁递交程序”等的报告。我觉得“哇,这好好玩哇!”

Laura Vasilescu

Laura Vasilescu 和 Carolyn Wyborny以及Anjali Singhai共同去解决igb驱动的ethtool属性。

我认为自己就是一个极客,我对改善教育系统(尤其是罗马尼亚的)有着非常浓厚的兴趣。作为一名学生,我志愿做我所在大学的教师助理,还是罗马尼亚开源教育协会的成员。我的技术专长是网络,操作系统和底层编程语言。

你为什么申请同OPW一起为Linux内核工作

我觉得成为一名内核贡献着是一件非常酷的事情,我要做一下这样的事情。

Tulin Izer

Tulin Izer和来自Intel的Peter Waskiewicz一起去解决x86系统的启动进成并行化问题。

我来自于土耳其。我是一名来自于伊斯坦布尔的Galatasaray大学的计算机工程专业的学生。今年我大四。

为什么你申请同OPW一起为Linux内核工作

我对操作系统以及使用C语言进行编程非常感兴趣,但是我对内核开发没有任何经验,但是我觉的这是一个起步的好地方。

Xenia Ragiadakou

目前,我在克利特大学学习计算机科学。过去,我已经修完了几门课程,如经济学,东欧研究史等。我决定另换一个领域的原因是我感到厌烦了。我不知道这个想法是否明智。但是我意识到我需要的是更加具有创造性、富有变化以及非常实用的东西。所以,我决定进入计算机科学学院学习。现在,我的内心重新回复平静:我觉得编程是一件更加适合我的事情。这就像玩游戏一样,我非常喜欢编程的乐趣。

为什么你申请同OPW一起为Linux内核工作

想加入开源项目的想法已经在我的脑海中存在很久了,但我一直认为我还没有足够的能力加入开源项目中去。这次有三个因素促使我去申请。1)OPW针对女性这一目标是我感到更加舒坦。2)有Linux核心方面的项目。3)被引入Linux内核的开发过程非常平顺,会在应用开发的早期加入进去。

作者:Libby Clark


via: http://www.linux.com/news/featured-blogs/200-libby-clark/746687-outreach-program-for-women-seeks-new-linux-kernel-interns/

译者:Linux-pdz 校对:jasmiepeng,wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

在比较文件的时候,通常会用基于GUI的软件。很少有人真正会为了这个目的使用命令行工具。虽然说使用命令行来比较文件/目录并不像一件小事儿那样容易,但是如果你是一个Linux使用者,那么我想你应该知道如何通过命令行比较文件,因为一旦使用了它,你会认为它绝对是一个快速的方法。

在本篇中,我们将通过一些实例来学习如何使用diff命令。

Linux diff 命令

让我们通过一些实际的例子理解diff命令。

假设我们有两个文件(file1 和 file2):

$ cat file1
Hi,
Hello,
How are you?
I am fine,
Thank you.


$ cat file2
Hello,
Hi,
How are you?
I am fine.

你可以看见两个文件有些小的不同。现在,让我们看看diff命令如何找出两者的不同的。

像这样运行diff命令:

$ diff file1 file2
1d0
< Hi, 
2a2 
> Hi,
4,5c4
< I am fine,
< Thank you.
--- 
> I am fine.

你可以看见diff后面跟了两个文件的名字作为命令行的参数,并且它在输出中生成了差异比较。输出并不容易理解。理由是,这是被计算机使用的而不是为了人类。尽管如此,让我们一步步解码输出:

注意 – 在下面的文本中,file1和file2将被当作旧文件和新文件。

1d0
< Hi,

这里,1d0这一行意味着旧文件的第一行应该被删除(d)以使两个文件的第一行同步。旧文件中需要被删除的行以'<'标记。

2a2
> Hi,

这里,2a2行意味着新文件中的第二行应该加到旧文件的第二行后。要添加的行显示在输出的下一行用'>'标记。

4,5c4
< I am fine,
< Thank you.
---
> I am fine.

这里,4,5c4这一行意味着在旧文件中的4到5行现在已被改变并且需要用新文件中的第4行代替。添加和删除的行分别用'>'和'<'表示。

那么,来总结一下,

  • 首先diff命令的第一个参数被视为旧文件而第二个参数被视为新文件。
  • 像1d0、2a2、4,5c4这种表达式可以用语法解码为 旧文件的行号或者行的范围[新文件的行号或者行的范围]。这里的'行为'可以是追加,删除或者改变替换。
  • '<'代表删除的行,而'>'代表添加的行。

除了文件外,diff命令还可以比较两个目录。让我们通过一个例子学习。

这里是'new\_dir'目录包含的内容:

$ ls new_dir/
file file2 frnd frnd1.cpp log1.txt log3.txt log5.txt
file1 file name with spaces frnd1 frnd.cpp log2.txt log4.txt

这是'origdir'目录含有的内容:(译注:原文为and here are the contents of a directory named ‘olddir’ ,其中'old\_dir'应为笔误。)

$ ls orig_dir/
file1 file name with spaces frnd1 frnd.cpp log2.txt log4.txt test
file2 frnd frnd1.cpp log1.txt log3.txt log5.txt

下面是diff命令执行后的输出:

$ diff new_dir/ orig_dir/
Only in new_dir/: file
Only in orig_dir/: test

你可以看到当diff命令被用来比较这两个目录时,很容易就会显示两个文件中缺失的文件。

下面是一些在命令行下常用的选项:

1. 用 -i 忽略大小写

如果两个文件含有相同的文本但是大小写不同,diff命令仍会默认报告它不同。

比如:

$ cat file1
HI

$ cat file2
hi

$ diff file1 file2
1c1
< HI
---
> hi

你可以看见diff命令在输出中报告了大小写不同。

要去除这个默认行为,使用-i选项。

以下是个例子:

$ diff -i file1 file2
$

这样你可以看到没有生成输出,这是当两个文件相同时的默认行为。

2. 用 -s 选项报告两个文件相同

在例子1的后面,我们看到如果文件相同diff不会生成报告。虽然这个默认行为不错但是它仍可能会造成很大疑惑,特别对于新手而言。因此,如果你像样diff命令明确地报告两个文件不同,那么就使用-s命令选项。

来举个例子:

$ diff -is file1 file2
Files file1 and file2 are identical

你可以看到我加了-s选项在后面的例子中,这次diff命令会明确地报告两个文件是相同的。

3. 使用 -b 忽略空格

另外一个常用的是diff报告文件存在不同数量的空格。

举例说明:

$ cat file1
Hi, how are you?

$ cat file2
Hi, how are  you?

观察这两个文件唯一的不同是file2中'are'和'you'之间额外的空格。现在,当使用diff命令比较两个文件时,输出如下:

$ diff file1 file2
1c1
< Hi, how are you?
---
> Hi, how are  you?

因此你可以看到diff命令报告了不同。但是如果你想要忽略这些空格,使用 -b 选项。

$ diff -b file1 file2
$

这样你可以看到由于-b选项,diff命令报告这两个文件是相同的。

diff命令还提供了更多的命令行选项。阅读man page来获取完整的列表。


via: http://linoxide.com/linux-command/linux-diff-command-examples/

译者:geekpi 校对:Caroline

本文由 LCTT 原创翻译,Linux中国 荣誉推出

大多数情况下,你无需担心你的电脑温度。除非制造上的缺陷,否则硬件设计一般不会使其超过最高工作温度。但即使没有任何硬件故障,各种各样的软件问题也会导致硬件过热,例如,显卡驱动的严重bug,风扇控制程序的错误配置,CPU调频守护进程的故障,等等。

严重的过热可能会对硬件造成永久性的伤害,所以应当时刻小心系统上的任何过热问题。因此,如果有合适的温度监控系统,能在系统温度突然急速上升时,第一时间向用户发出警报,岂不美哉?

本教程,我将描述如何在Linux下监控系统温度

在Linux下有许多用户级工具可以检查和监控各种系统组件的温度。

例如lm-sensors,它可以从硬件嵌入式传感器获取信息,以达到监测温度、电压、湿度和风扇的作用;还有hddtemp,它可以通过读取S.M.A.R.T.参数来测量温度;今天我们要介绍的是psensor,这是一款前端图形化界面温度监测工具,能够可视化显示CPU、Nvidia/ATI/AMD各家显卡以及硬盘等多个硬件设备的温度。

接下来,我将描述如何设置psensor来监控CPUs和硬盘的温度。

在Linux 桌面系统中安装 psensor

使用psensor可视化显示系统温度,需要基于其他工具诸如lm-sensors和hddtemp等获得的数据。因此你需要在安装psensor的同时,一并安装这两款工具。

在Debian或Ubuntu下安装psensor:

$ sudo apt-get install lm-sensors hddtemp psensor

在Ubuntu下还可以通过PPA仓库安装最新版本的psensor:

$ sudo add-apt-repository ppa:jfi/ppa
$ sudo apt-get update
$ sudo apt-get install lm-sensors hddtemp psensor

在Fedora下安装psensor:

$ sudo yum install lm_sensors hddtemp
$ sudo yum install gcc gtk3-devel GConf2-devel lm_sensors-devel cppcheck libatasmart-devel libcurl-devel json-c-devel libmicrohttpd-devel help2man libnotify-devel libgtop2-devel make
$ wget http://wpitchoune.net/psensor/files/psensor-0.8.0.3.tar.gz
$ tar xvfvz psensor-0.8.0.3.tar.gz
$ cd psensor-0.8.0.3
$ ./configure
$ make
$ sudo make install 

这里注意,由于需要GTK3库的支持,psensor无法与搭载GNOME2桌面的CentOs或RHEL 6兼容。

在Linux中配置 psensor

在启动 psensor之前,你需要先配置lm\_sensors和hddtemp。

lm\_sensors 配置

运行以下命令,配置lm\_sensors,每一项都选择YES。

$ sudo sensors-detect 

这个命令将会探查和检测你硬件中嵌入的传感器(包括CPUs、储存控制器、I/O芯片),然后自动决定系统中哪个驱动模块需要载入并监测其温度。

一旦传感器检测完成,你需要把检测到的驱动模块添加到/etc配置中,这样它们才可以在开机时自动加载。

img

在Debian或Ubuntu下,检测到的驱动模块将会被添加到/etc/modules。在Fedora下,驱动信息会添加到/etc/sysconfig/lm\_sersors。

接下来,继续加载必要的模块,如下:

Ubuntu:

$ sudo service module-init-tools start 

Debian:

$ sudo /etc/init.d/kmod start

Fedora

$ sudo service lm_sensors start 

hddtemp 配置

你还需要启动hddtemp,监控硬盘驱动器的温度。

运行下列命令,作为一个守护进程启动hddtemp。记得把“/dev/sda”替换成你系统上的硬盘驱动器。

$ sudo hddtemp -d /dev/sda 

用 psensor 监控系统温度

要启动psensor监测温度,只需简单运行:

$ psensor 

psensor窗口将显示一个可用的传感器列表,并将传感器中读出的温度可视化显示出来。你可以选择性地启用或禁用任意一个传感器。

另外,你可以为每个传感器设置警报级别,这样当传感器温度超过某一阈值时,你就能得到通知了。

img

psensor默认使用的温度单位是“摄氏度”,最新的版本(0.7-0.8)支持在摄氏与华氏之间转换温度单位,如果你用的版本比较旧(例如0.6.x)并且不支持温度单位转换,Ubuntu用户可以通过PPA仓库来安装最新版的psensor,Debian用户则可以通过源代码来安装。


via: http://xmodulo.com/2013/11/monitor-system-temperature-linux.html

译者:Luoxcat 校对:Mr小眼儿

本文由 LCTT 原创翻译,Linux中国 荣誉推出