标签 Linux 下的文章

来享受这个Linux内核系列的下一篇文章。我们将继续配置PCI特性,接着是计算机中最重要的特性-网络。

进程地址空间标识符(Process Address Space Identifiers (PASIDs))允许PCI设备同时访问多个IO地址空间(PCI PASID support)。这个特性需要一个支持PASIDs支持的IOMMU。

下面我们可以启用/禁用"PCI IO-APIC hotplug support"。APIC代表高级可编程中断控制器(Advanced Programmable Interrupt Controllers)。可编程中断控制器(PIC)收集所有来自不同源发给一个或者多个CPU流水线的中断。高级PIC与PIC一样,但是它们有更多的特性像高级中断管理和更多的优先级模型。热插拔是一种在系统在运行时加入一件设备的能力并且不需要重启。这个驱动是为了PCI主板能拥有处理输入/输出APIC热插拔的能力。

在这之后,下面的问题询问的是启用"ISA-style DMA support"。在前文中提到过,DMA是直接内存访问,它是一种设备无需借助CPU直接访问内存的能力。ISA代表的是工业标准架构(Industry Standard Architecture),它是一种像PCI的总线标准。这个特性允许在ISA主板上支持DMA。

现在,我们可以移步到"PC Card (PCMCIA/CardBus) support"。PCMCIA代表的是个人计算机存储卡国际协会(Personal Computer Memory Card International Association)。PC卡、PCMCIA卡和Cardbus卡都是卡片形状的笔记本外设。

下一个PCMCIA选项处理"16-bit PCMCIA support"。一些旧的计算机使用16位PCMCIA卡。

为了从用户空间加载卡式信息结构(Card Information Structure (CIS))以使PCMCIA卡正常工作,这个特性应该启用(Load CIS updates from userspace)。

CardBus是16位PCMCIA的更新32位版本。这个驱动提供对这类设备的支持(32-bit CardBus support)。为了使用32位PC卡,需要一个兼容Cardbus的主机桥。

下面的驱动提供对上面提到的CardBus桥支持(CardBus yenta-compatible bridge support)。这是PCMCIA卡插入的硬件端口。

下面三个选项"Special initialization for O2Micro bridges"、"Special initialization for Ricoh bridges"和"Special initialization for TI and EnE bridges"。它们都是不同类型卡桥。

接下来,提供了"Auto-tune EnE bridges for CB cards"的驱动。

"Special initialization for Toshiba ToPIC bridges"可以在下一个选项中启用/关闭。

下一个提供的设备驱动是"Cirrus PD6729 compatible bridge support"。这在一些老的笔记本上需要。

下一个PCMCIA桥驱动是Itel的"i82092 compatible bridge support"。这也在一些老的笔记本上出现。这是另外一种桥驱动。

在这之后,以下的选项询问关于是否启用"Support for PCI Hotplug"。

下一步,ACPI PCI热插拔可以启用(ACPI PCI Hotplug driver)。这个驱动允许拥有ACPI的PCI设备热插拔(这个特性之前已经讨论过)。

对于IBM系统,为了ACPI热插拔下一个驱动应该启用(ACPI PCI Hotplug driver IBM extensions)。这就像上面的特性但特定与IBM设备。

对于带有支持CompactPCI热插拔支持的CompactPCI卡的系统,启用"CompactPCI Hotplug driver"。

下面,我们有一个选项对于另一种CompactPCI系统卡(Ziatech ZT5550 CompactPCI Hotplug)。

使用#ENUM热插拔信号通过标准IO口作为系统注册位的CompactPCI卡需要这个驱动(Generic port I/O CompactPCI Hotplug)。

使用SHPC PCI热插拔控制器的主板需要下一个驱动(SHPC PCI Hotplug driver)。SHPC代表的是标准热插拔控制器(Standard Hot-Plug Controller)。这对于PCI主板是一个通用热插拔系统。

RapidIO互联设备也需要一个特殊的驱动(RapidIO support)。RapidIO芯片和主板快于PCI和PCIe。

"IDT Tsi721 PCI Express SRIO Controller"是一个特殊类型的RapidIO控制器。

下一个选项允许开发者输入在主机完成枚举前系统发现节点应该等待多久时间(以秒计)。这通常选择默认值

下一个特性会允许RapidIO系统接受除了维护信号外其他流量(Enable RapidIO Input/Output Ports)。

为了使用DMA引擎框架从RIO设备上发送或接收RapidIO数据,启用这个驱动(DMA Engine support for RapidIO)。RIO设备是可重配的输入/输出设备。RapidIO使用NREAD和NWRITE请求来在本地和远程内存间传输数据,因此驱动需要允许RapidIO使用DMA访问RIO设备。DMA控制器需要在内存中完成这个特性。

如果允许,RapidIO可以提供调试信息(RapidIO subsystem debug messages)。如前面所说,调试特性可以禁用,除非你或者其他人使用的内核需要调试特性。

下一个驱动提供"IDT Tsi57x SRIO switches support"。这是一组串口RapidIO开关,下面的四个选项是对于不同串口RapisIO开关驱动-"IDT CPS-xx SRIO switches support"、"Tsi568 SRIO switch support"、"IDT CPS Gen.2 SRIO switch support"和"Tsi500 Parallel RapidIO switch support"。

管理这些驱动后,我们可以继续其他的内核选项。下一个选项提供对ELF的支持(Kernel support for ELF binaries)。可执行与可链接格式(Executable and Linkable Format (ELF))支持是一种可执行文件规范。强烈建议启动这个。

为了执行那些需要解释器的脚本和二进制文件,这个特性必须启用(Kernel support for MISC binaries)。这些可执行文件的类型通常称为包装器驱动的二进制格式。例如包括Python2/3、 .NET、Java、DOS执行程序等等。

当这个选项启用时(Enable core dump support),内核可以生成崩溃文件。这是一个调试特性。除非这个内核是用来调试(无论内核本身还是软件),不然这个并不必要。

64位处理器可以执行32位程序如果启用了"IA32 Emulation"。最好启用这个特性除非开发者确定内核永远不会运行32位代码。

老式的a.out二进制文件也被支持(IA32 a.out support)。就像它称呼的那样,"汇编输出"(Assembler Output),这是一种已编译代码的文件格式。

下一个设置允许32位处理器访问完整的64位寄存器文件和宽数据路径(x32 ABI for 64-bit mode)。然而,仍旧使用32位指针。这些32位进程将比同样的为64位编译的进程使用内存更少,因为他们使用32位指针

下面,我们将讲网络支持。

我们第一个网络设定是启用一般的网络(Networking Support)。很少有开发者会禁用这个特性。如果他们这么做了,内核会变得又小又快,但是它将无法使用Wifi、蓝牙、以太网或者任何由网络设备或协议处理的连接。一些在独立系统上程序也需要这个特性,即使硬件上不存在网络设备。举例来说,X11依赖于网络特性。如果你能提供一个替代方案在屏幕上显示图形,你才能在内核中禁用网络特性。

"Packet socket"允许在没有中介物的情况下,进程与网络设备间进行通信。这个增强了性能。

ss工具需要启用这个特性用来数据包监控(Packet: sockets monitoring interface)。包监控意味着监视相关本地设备的网络流量。

"Unix domain sockets" (Unix域套接字)是用来建立和访问网络连接。X窗口系统需要这个特性;这是一个极好的例子来说明为什么即使系统中不会使用网络但是仍然在内核中启用网络特性。Unix域套接字是运行在同一台机器上的进程间的网络协议。

上面的Unix套接字可以被ss工具监控,但是下面一个特性必须先启用(UNIX: socket monitoring interface)。

转换(Transformation (XFRM))用户配置接口被许多Linux原生工具用到,所以这个特性强烈建议启用(Transformation user configuration)。这个会启用Ipsec-Internet Protocol SECurity(互联网协议安全)。Ipsec控制着验证并且/或者加密IP数据包。

下一个特性允许开发者给予网络数据包第二个政策(称作sub-policy)(Transformation sub policy support)。

IPsec安全联合定位器可以当这个特性启用时(Transformation migrate database)动态更新。使用移动IPv6的设备需要这个特性。当计算机与路由器或者任何形式的网络设备设置了一个网络连接,安全协议会确保两者不会意外地连接到网络上的其他设备上。IP数据包被设定发送到一个特定的设备上。然而,移动设备会使用不同的网络,比如说提供了4G信号,也需要能够使用相同的连接到新的网络点上。即使可能是相同的4G供应商,不同的设备会提供一个4G连接到它的物理位置。当设备处在新的区域时,它仍会使用相同的IP地址。

下一个特性是显示在包处理中的传输错误统计(Transformation statistics)。这对开发者有用。如果不需要,可以禁用掉它。

"PF\_KEY sockets"与KAME套接字兼容且它在使用从KAME移植来的IPsec工具时有用。KAME是IPv4 IPsec、IPv6 IPsec和IPv6的免费协议栈。

这是另外一个需要的移动IPv6特性,它增加了到PF\_KEYv2套接字的PF\_KEY MIGRATE消息(PF\_KEY MIGRATE)。

下面的是最重要的并且是在网络中最著名的需要启用的特性-"TCP/IP networking"。大多数网络(包括因特网)依赖于这个协议。甚至X窗口系统也使用TCP/IP。这个特性甚至允许用户ping它们自己(命令:ping 127.0.0.1)。要使用因特网或者X11,这个必须启用。

为了寻找网络中数个计算机,"IP: multicasting"必须启用。多播是一种给多台计算机但不是全部计算机发送消息的能力。广播会给网络中的所有计算机发送信号。

如果这是一个路由器Linux系统的内核,那就启用这个选项(IP: advanced router)。

如果下面的特性启用了,那么IP地址会在启动时自动配置(IP: kernel level autoconfiguration)。当用户希望不用配置就能连接到一个网络时是很有用的。

启用了DHCP协议支持,那么Linux系统可以通过网络像NFS挂载它的根文件系统并且使用DHCP发现IP地址(IP: DHCP support)。这允许Linux系统通过网络拥有它的远程根文件系统而不必用户在每次系统启动时手动管理进程。

下面的选项和上面的类似除了使用的是BOOTP而不是DHCP(IP: BOOTP support。BOOTP是自举协议;这个协议使用UDP而不是TCP并且只能使用IPv4网络

RARP是一个被BOOTP和DHCP替代了的旧协议,但是它仍可以加到内核中(IP: RARP support)。

网络协议可以在另一个概念中使用,称作"隧道"。这个特性可以用在Linux内核中(IP: tunneling)。安全shell协议(The secure shell protocol (SSH))就是隧道协议的一个例子。SSH需要这个特性。

下面的驱动可以多路复用通用路由封装包(GRE (Generic Routing Encapsulation))(IP: GRE demultiplexer)。多路复用是一个使单个信号进入不同部分的过程(这不会复制消息,只是分解它)。GRE是一种隧道协议。

下面的特性允许GRE通道在IP连接中形成(IP: GRE tunnels over IP)。这允许GRE隧道在IP网络中形成。

当启用这个特性(IP: broadcast GRE over IP),广播可以通过IP使用GRE。

在Linux系统的路由器内,为了让IP包发往多个地址,需要启用这个(IP: multicast routing)。


via: http://www.linux.org/threads/the-linux-kernel-configuring-the-kernel-part-7.4490/

译者:geekpi 校对:wxy

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

IT技能清单调查报告结果显示,雇主所需的Linux人才应具备的IT技能可分成相对独立的组群。本文将着重介绍在上一个季度(2013年7月-9月)需求度最高的3组IT技能,这些技能在包括美国在内的被选国家招聘广告中都有所提及,同时结果表明这三组技能可以和Linux相关的工作领域需求相匹配。

报告指出在上一季度具有嵌入式开发人员相关技能的人才是Linux专业雇主亟需的一类。排在第二位和第三位涉及的技能领域分别对应虚拟化技术和LAMP管理。本文将基于这三类工作清单涉及到的技能需求加以讨论,并对分析后的三组技能间的依赖结构关系加以洞悉。

如果您尚未阅读IT技能清单,我们强烈建议您在阅读以下内容前先熟悉这篇文章。它详细阐明了本次研究中用到的方法,本文也是基于IT技能清单的材料才得以进一步分析。

2013年8月IT技能分类更新

在IT技能清单这篇文章中,LinuxCareer.com分析了2013年5月到6月底的Linux工作清单,我们在这个基础上将2013年7月到9月底这个时间段的更新也加至分类分析中。10类相关的IT技能在Linux招聘广告中出现的比率列于如上条形图中。IT分类图表表明如何基于分类设计出此条形图。我们可以看到,IT技能需求前三组为:占据27%的Linux就业市场份额的嵌入式开发人员需求,占20%就业份额的虚拟化技术工程师和占12%Linux就业份额的LAMP管理员。文章接下来的三部分将围绕这三项IT技能需求组及三者的相互关系展开详细的讨论。例如,MySQL和PHP这两项技能有强关联性,通常雇主都会一起考虑。另外要指出的是,LinuxCareer.com的这项调查里掌握Linux的基础知识已默认存在于任一招聘需求中。

嵌入式开发人员及程序员

需求最高的第一类技能组是针对嵌入式开发人员及程序员的。如下的依赖图详细阐明了技能间的关联关系,尤其表明了哪几项技能更可能同时出现在Linux招聘需求中。例如,嵌入式开发非常需要C/C++/C#相关技能,而这些语言要么在图表下部的深色矩形区域,要么在图表上部的对应圆形阴影中聚集。

总体来说,这组技能可以进一步细分成如下三类:

  1. Android, Embedded, C/C++/C# 和 Java。如果您准备在嵌入式领域发展,这些是你需要掌握的核心技能,而C/C++/C#或Java掌握其一便可满足雇主需求,因为Java是基于部分C/C++/C#性能的扩展性语言。如果您阅读了8月的IT技能表,就会发现,Java以9513分居于编程语言的榜首,而C/C++/C#是5403分。如果您尚在犹豫是掌握C/C++/C#还是Java,从技能表得分看起来Java应该是更好的选择。但根据如下图表显示,C/C++/C#似乎在嵌入式领域的招聘需求中更受欢迎。总结可得尽管Java在IT技能表中有更高的得分,但在嵌入式开发职位上掌握C/C++/C#会比Java更有用。
  2. Python, Perl 和 Bash。这些是对脚本编程语言技能的补充。对Perl和Python语言的需求经常会在招聘中同时出现,当然,也可以理解成这两种语言技能都是需要掌握的。
  3. Git, Subversion 和 Jira。这些软件知识会应用到源码管理、调试和项目管理中,同时了解这几个方面的知识对相关项目的编程大有裨益。目前,主流开源项目和大量合作项目都在用类似的软件管理他们的源码。

涉及数据仓储及管理的虚拟化技术工程师

目前第二大需求技能组是如下依赖图所示与虚拟化技术工程师相关的技能。这一组可进一步细分成两部分,第一部分是Redhat, VMware, vSphere, ESX/ESXi, XenServer 和 Citrix,这些技能对寻求虚拟化技术工程师的工作很重要;第二部分是同Unix系统、数据仓储及管理相关的技能。同时这两部分是紧密联系的。显然VMware和ESX/ESXi及vSphere是相关的,因为ESX/ESXi是VMware虚拟机下提供的虚拟产品,而vSphere是VMware虚拟机的云端虚拟操作系统。Redhat和VMware、Citrix产品被分到同一部分同样有其原因。这里Solaris和AIX具有密切关系的原因可以理解为它们都是专有的Unix系统,掌握其一便可。

LAMP管理员

最后,第三大技能组是如下依赖图中显示雇主需求的LAMP管理员应具备的技能。LAMP是Linux、Apache、MySQL和PHP的简称,所有这四项内容是作为一名LAMP管理员所要了解的核心。这是一组相对来说小规模却会引领你至在Linux路途中发展更远的技能。实际上,PHP和MySQL的密切关系表明这些技能中的任一项都不能脱离其它技能来单独掌握。

总结

本文基于就业能力和Linux专业人员需求技能分组阐明了两点。第一点是对经常出现的IT技能通过集群分析划出了10类IT技能组;第二点是基于Linux工作需求与相应技能组的对应结果,嵌入式程序员在Linux招聘需求比率最高,第二及第三技能需求比率最高的领域分别对应虚拟化技术工程师及LAMP管理员领域。这三大技能组即为上一季度分析出的Linux技能需求的核心。

参考

[1] Percentage of Linux job ads linked with corresponding skill groups created by GNU R. Relevant package: graphics.

[2] Dependency charts created by GNU R. Relevant package: corrgram.


via: http://www.linuxcareer.com/insights-into-top-3-it-skills-groups-in-highest-demand

译者:icybreaker 校对:wxy

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

国际数据公司(IDC)的分析师在周三投寄了一篇新闻稿凸显出IBM 的 AIX 系统和 P-系列的硬件持有量已经快速下降。伴随着专有 Unix 系统下跌的同时,相关的运行着 Linux 系统的 X86 服务器销量却在崛起。IBM 已经明确指出这是一个长期趋势,所以投资了10亿美元用在基于 Power 系统的 Linux 开发。与新闻报道的 AIX 20%销售额下降的同时,我的这篇文章终于发布出来了。

过去数年中,我在管理 AIX 和 Linux 系统上一点都不顺利,如果能让我挑选的话,会选择灵活性和易用性更好的 Linux 系统和稳定性更高的 Power 机器。根据我的经验, AIX 很难设置,在设置好后要变动也很困难,但一旦设置好并启动起来,它就会一直很好的运行下去。一台配置合适的 AIX 服务器可以正常运行数年而无需干预,但是需要修改配置的时候,并且经常需要修改配置,就准备好长期的艰苦跋涉吧。相比之下,经过这么多年来,成千上万的开发人员和系统管理员,以及大牌公司的贡献,使得Linux更易于管理。根据Infoworld报道:

Linux服务器市场正在健步崛起,服务器总销量占总收入的百分比高达28%,所以任何可以提高市场占有率的投资,将会非常有价值,即使大部分份额的Linux服务器仍然是商用 x86 硬件。

Intel 和 AMD 的硬件也现跨越式发展,正在缩小与 Power 机器的性能差距。当我听到一个新的刀片上配置 10GB 的以太网卡已经成为标准、256GB 的 RAM 已经很正常了,以及普通业务需要订购装有 16 核 CPU 的服务器已经成为常态时,吃惊不小。Intel 服务器和 IBM 的 Power 服务器性能差不多,但价格低很多。因为企业的关注点在于是否逃脱“顾问软件”及 IBM 的供应商锁定,所以在行业标准的x86硬件上运行的开源软件正变得越来越有吸引力。不过,IBM已经降低了 Power 系列机器的价格来保持竞争力。

这说明, IBM 选择投入在基于 Power 机器的 Linux 系统而不是 AIX 系统。 IBM 可能已经开发出现代版的 AIX,并使用通用的开源工具以使交互操作性更好。尽管 IBM 声明 AIX 仍然是重要的,但在 Power 机器的销售额持续下降,伴随的是 Linux 方面的投入,这一切的一切都正在翻开新故事的新篇章。

IBM 不可能一切都以 AIX 为核心,但他们可能会无限期的延长其使用寿命。如果 AIX 做为开源系统发布,看看市场的反映,将会十分精彩。


via: http://ostatic.com/blog/proprietary-unix-continues-to-fall

译者:runningwater 校对:wxy

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

喜欢GNOME风格菜单?安装Class Menu Indicator吧。

对于那些从开始就一直关注Ubuntu操作系统的人,他们看见几乎所有的Ubuntu经历的改变。发生了许多的改变,尤其是在桌面部分。从经典的GNOME桌面环境到Unity,Ubuntu已经完全地重新设计了。

对于那些新用户,他们所知道的就是Unity桌面环境,仅仅只是听说过或者见过之前Ubuntu的原始GNOME桌面环境。

如果你是一个老资格用户,想要在Ubuntu的Unity回到GNOME风格的菜单,安装Classic Menu Indicator 可以解决这个问题。这个有趣的包被安装在顶部面板的通知区域,在Ubuntu中带回了GNOME风格菜单体验。

像经典的GNOME菜单一样,它包括所有的应用和经典菜单结构。对于曾经使用过它的人们是容易导航和开启应用。对于新用户,它也是容易掌握。

接下来的简短指导将会告诉你如何在Ubuntu中安装这个包。

马上开始,在键盘上按下 Ctrl – Alt – T 打开终端。

打开完毕后,运行下列命令,加入它的PPA文件

sudo apt-add-repository ppa:diesch/testing

接来下,运行下列命令安装它。

sudo apt-get update && sudo apt-get install classicmenu-indicator

安装完成后,在Unity Dash中启动。它叫Classic Menu Indicator。当你启动它的时候,它会自动的嵌入顶部面板,如下图。

就是这样,使用并享受吧!

via: http://www.liberiangeek.net/2013/11/daily-ubuntu-tipslike-gnome-classic-menu-get-classic-menu-indicator/

译者:Vic\_\_\_ 校对:wxy

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

你有没有遇到过一个程序占用了你所有的网络带宽的情况?如果你遇到过,那么你就需要限制带宽的应用。不管你是一个系统管理员还是一名普通Linux用户,您都应该学习如何控制应用的上传和下载速度来确保你的网络带宽不会被一个程序耗光。

Trickle 是什么?

Trickle是一款带宽控制供给,用来限制如Firefox, FTP , SSH以及其他使用网络带宽的程序的带宽。你希望你的Youtube音乐体验影响到你的ftp下载么?如果不想,请继续阅读这篇文章,学习如何在你的机器上安装和使用trickle。

怎样在Linux上安装Trickle

trickle工具有一些依赖包,安装和使用trickle之前必须安装“libevent 库”,不过这个库在大多数现在的Linux机器上已经默认安装。

在 Debian/Ubuntu/Linux Mint 上

Debian/Ubuntu/Mint 机器上运行 apt-get install trickle进行安装。请确保源列表已经更新,接着安装你想要的应用。

$ sudo apt-get update
$ sudo apt-get install trickle

在 RHEL/CentOS/Fedora 上

首先你需要更新系统,然后使用下面的命令安装trickle。

# yum update
# yum install trickle

Trickle如何工作?

Trickle通过控制socket数据读写量来控制和限制应用的上传/下载速度。它使用另一个版本的BSD套接字API,但是区别是trickle还管理socket调用。

要注意的是trickle使用动态链接和加载,所以它只对于使用"Glibc库"的程序有用。由于trickle可以设置数据在socket上的传输延迟,所以它可以用来限制一个应用的网络带宽。

Trickle不能做什么?

Trickle不能用于限制使用UDP协议的应用的带宽,它只可用于TCP连接,但是你要知道它也并不是对所有的TCP连接有效。如果你一直仔细地看这篇文章,你可以猜到原因是什么。你还记得trickle只对使用Glibc库应用有效吧?

还要说一下,trickle无法工作在使用静态链接的可执行程序上。

确定Trickle是否可运行在某个特定应用上

既然trickle无法限制每个应用的上传/下载速度,就应该有个方法找出trickle可以工作的应用。

ldd工具可以帮我们找出某个特定的程序是否使用了libc.so库。如果程序使用了这个库,就可以使用trickle来限制它的网络带宽使用。

ldd命令用于打印每个程序需要的共享库。如果你是一个好奇的Linux Geek,那么你可以使用man命令来找出关于ldd工具的更多信息。

# man ldd

Filezilla是一款使用ftp协议传输文件的程序,trickle可以用来限制它的下载或者上传速度么?在你考虑的时候,我使用以下的命令来找出trickle是否可用于filezilla。

# ldd filezilla | grep libc.so

就我而言,它输出了如下:

oltjano@oltjano-X55CR:/usr/bin$ ldd filezilla | grep libc.so
    libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb6bc4000)

既然filezilla使用了“libc.so”库,那么trickle可以用来限制它的网络带宽。这个方法可以用在任何你感兴趣的程序上。

学习如何使用Trickle

使用下面的命令输出trickle工具的版本

root@oltjano-X55CR:~# trickle -V
trickle: version 1.07

Linux有很多命令行工具使测试(实验)变得有趣和美丽。下面的命令使用wget 工具来下载最新的Pear OS镜像.

root@oltjano-X55CR:~# wget http://sourceforge.net/projects/pearoslinux/files/Pear%20OS%208/pearos8-i386.iso/download

--2013-11-20 11:56:32--  http://sourceforge.net/projects/pearoslinux/files/Pear%20OS%208/pearos8-i386.iso/download
Resolving sourceforge.net (sourceforge.net)... 216.34.181.60
Connecting to sourceforge.net (sourceforge.net)|216.34.181.60|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://downloads.sourceforge.net/project/pearoslinux/Pear%20OS%208/pearos8-i386.iso?r=&ts=1384928843&use_mirror=kaz [following]
--2013-11-20 11:56:33--  http://downloads.sourceforge.net/project/pearoslinux/Pear%20OS%208/pearos8-i386.iso?r=&ts=1384928843&use_mirror=kaz
Resolving downloads.sourceforge.net (downloads.sourceforge.net)... 216.34.181.59
Connecting to downloads.sourceforge.net (downloads.sourceforge.net)|216.34.181.59|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://kaz.dl.sourceforge.net/project/pearoslinux/Pear%20OS%208/pearos8-i386.iso [following]
--2013-11-20 11:56:33--  http://kaz.dl.sourceforge.net/project/pearoslinux/Pear%20OS%208/pearos8-i386.iso
Resolving kaz.dl.sourceforge.net (kaz.dl.sourceforge.net)... 88.204.157.163
Connecting to kaz.dl.sourceforge.net (kaz.dl.sourceforge.net)|88.204.157.163|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1093664768 (1.0G) [application/octet-stream]
Saving to: ‘download’

0% [                                                                                                    ] 30,78,278    381KB/s  eta 1h 50m

从输出可以看到,下载速度大约是381 KB/s。我想限制下载速度到13 K/s,这样我就可以用我的带宽做其他的事情了。下面的命令用来限制wget速度到13 K/s

ravisaive@ravisaive-OptiPlex-380:~$ trickle -d 13 wget http://sourceforge.net/projects/pearoslinux/files/Pear%20OS%208/pearos8-i386.iso/download

--2013-11-20 12:01:19--  http://sourceforge.net/projects/pearoslinux/files/Pear%20OS%208/pearos8-i386.iso/download
Resolving sourceforge.net (sourceforge.net)... 216.34.181.60
Connecting to sourceforge.net (sourceforge.net)|216.34.181.60|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://downloads.sourceforge.net/project/pearoslinux/Pear%20OS%208/pearos8-i386.iso?r=&ts=1384929129&use_mirror=kaz [following]
--2013-11-20 12:01:19--  http://downloads.sourceforge.net/project/pearoslinux/Pear%20OS%208/pearos8-i386.iso?r=&ts=1384929129&use_mirror=kaz
Resolving downloads.sourceforge.net (downloads.sourceforge.net)... 216.34.181.59
Connecting to downloads.sourceforge.net (downloads.sourceforge.net)|216.34.181.59|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://kaz.dl.sourceforge.net/project/pearoslinux/Pear%20OS%208/pearos8-i386.iso [following]
--2013-11-20 12:01:20--  http://kaz.dl.sourceforge.net/project/pearoslinux/Pear%20OS%208/pearos8-i386.iso
Resolving kaz.dl.sourceforge.net (kaz.dl.sourceforge.net)... 88.204.157.163
Connecting to kaz.dl.sourceforge.net (kaz.dl.sourceforge.net)|88.204.157.163|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1093664768 (1.0G) [application/octet-stream]
Saving to: ‘download.1’

0% [                                                                                                   ] 2,01,550    13.1KB/s  eta 21h 5m

从输出可以看到,下载速度被限制到了13K/s。下载将会持续21小时5分钟。上面的“-d”选项表示下载,还可以结合使用 “-d”选项和上传选项(-u),如下例所示。

# trickle -u 100 -d 50 ftp

上面的命令限制ftp 客户端的上传速度为100K/s,下载速度为50K/s。还可以使用下面的命令,限制在一个shell里运行的所有命令的带宽。

trickle -d 130 -u 13 bash

每个命令行工具都对用户提供了帮助,使用"trickle -h"命令来找出更多trickle工具的用法。

root@oltjano-X55CR:/usr/bin# trickle -h

Usage: trickle [-hvVs] [-d ] [-u ] [-w ] [-t ]
               [-l ] [-n ] command ...
    -h Help (this)
    -v Increase verbosity level
    -V Print trickle version
    -s Run trickle in standalone mode independent of trickled
    -d     Set maximum cumulative download rate to  KB/s
    -u     Set maximum cumulative upload rate to  KB/s
    -w   Set window length to  KB 
    -t  Set default smoothing time to  s
    -l   Set default smoothing length to  KB
    -n     Use trickled socket name 
    -L       Set latency to  milliseconds
    -P     Preload the specified .so instead of the default one

总结

本篇文章介绍如何在Linux机器上安装trickle工具,并用它如何做一些简单的事情。无论你为大公司工作还是自己使用,trickle都是高级Linux用户的必备工具。


via: http://www.tecmint.com/manage-and-limit-downloadupload-bandwidth-with-trickle-in-linux/

译者:geekpi 校对:jasminepeng

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

TeamViewer,是一款热门的远程支持和桌面共享工具,并且它的Windows版、Mac OS X版和Linux版(包含Ubuntu)已经更新到版本 9 了。TeamViewer 允许你在任何地方通过网络控制任何电脑。

如果你在谈一桩生意或者帮助别人解决一些与电脑相关的问题,例如杀毒,又或者远程共享你的屏幕内容,那同样,它是一款功能强大的工具,值得拥有。

以下是这个支持工具如何使用的例子。

最近,我妈妈打电话给我说她想弄清楚如何安装一个程序。当我在电话中花了几分钟尝试帮她弄那个程序,不过都失败后,我决定自己来。

因此我们两个人都花了几分钟下载了 TeamViewer,我连接上了她的电脑并且帮她安装了那个程序。

这是一个 TeamViewer 如何帮助你解决问题的例子,如果你准备使用 TeamViewer 来帮助你的顾客或者是客户的话,你可能需要购买一个授权许可来遵守公司的政策。

我宁愿选择 TeamViewer 而不选择其它远程支持工具的另外一个原因是它允许你直接使用,无需安装,至少在 Windows 上是这样。如果你只使用一次的话,那么你只需要运行它,而它却不会占用你的磁盘空间。

现在 TeamViewer 能够在几乎所有操作系统上运行,包括 Android 和 IOS。

Windows 用户可以 从这里下载 TeamViewer

Ubuntu 用户可以 从这链接下载并运行 TeamViewer

在 Ubuntu 轻松安装 TeamViewer,运行下面的命令来下载安装程序

wget http://download.teamviewer.com/download/teamviewer_linux.deb

对于 64位操作系统, 使用下面的链接.

wget http://download.teamviewer.com/download/teamviewer_linux_x64.deb

最后,运行下面的命令来安装。

sudo dpkg -i teamviewer_linux*.deb; sudo apt-get -f install

去试试吧!

如果上述的命令不能成功运行的话,那么就去 TeamViewer 下载页面来下载.


via: http://www.liberiangeek.net/2013/12/daily-ubuntu-tips-teamviewer-9-is-available-for-download/

译者:hyaocuk 校对:Caroline

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