在红帽Linux中使用YUM包管理器

Summary:
YUM是RHEL系统中提供的一个安装，卸载和搜索软件包的工具。它能做的不仅仅是安装、卸载软件包，它能做的还有更多，下面我们将在本文中为你展示。
YUM可以自动安装软件包的依赖包，例如当你使用yum安装httpd时，它还  ...

# 在红帽Linux中使用YUM包管理器

<img src="content_image/album_201311_19_2101469vvhw4vu9h3qssfm.png" alt="" title="">

**YUM**是RHEL系统中提供的一个安装，卸载和搜索软件包的工具。它能做的不仅仅是安装、卸载软件包，它能做的还有更多，下面我们将在本文中为你展示。

YUM可以自动安装软件包的依赖包，例如当你使用yum安装httpd时，它还会自动安装https apache server以及它依赖的软件包。通过rpm软件包安装时就没有这么方便咯（译注：就是不会自动处理软件包依赖问题咯！），你必须下载所有它依赖的软件包，然后依序安装它们。

yum工具从远端服务器上的软件仓库（通常由OS提供商提供）获取软件包的信息。一个软件仓库是能在特定架构上运行的一系列rpm软件包的集合。例如，对于32位和64位系统各有一个软件仓库，还有针对RHEL5以及RHEL6的软件仓库。你也可以建立一个本地仓库，配置你的yum让其从你的本地仓库里搜索安装软件包。在接下来的例子中，我将向你展示除了安装和卸载软件，yum还可以做的其它事情。为方便理解，我将在我的Amazon EC2 RHEL 6.4服务器上使用httpd软件包为例。

### 从软件仓库里搜索软件包

```
# yum search httpd

Loaded plugins: amazon-id, rhui-lb, security
==================== N/S Matched: httpd ==========
httpd.x86_64 : Apache HTTP Server
httpd-devel.i686 : Development interfaces for the Apache HTTP server
httpd-devel.x86_64 : Development interfaces for the Apache HTTP server
httpd-manual.noarch : Documentation for the Apache HTTP server
httpd-tools.x86_64 : Tools for use with the Apache HTTP Server
mod_dav_svn.x86_64 : Apache httpd module for Subversion server
mod_dnssd.x86_64 : An Apache HTTPD module which adds Zeroconf support

```

想获得详细的输出信息，可以使用下面的命令：

```
# yum provides httpd

Loaded plugins: amazon-id, rhui-lb, security
httpd-2.2.15-26.el6.x86_64 : Apache HTTP Server
Repo : rhui-REGION-rhel-server-releases
Matched from:

```

**yum provides httpd**在软件仓库里搜索含有httpd的软件包。

### 提供所有软件组列表

```
# yum grouplist

```

以上命令将为你显示已经安装的以及可用的软件组。你可以使用软件组安装选项来安装其中一个软件组。例如，我们将安装一个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

Dependencies Resolved

==================================================
Package Arch Version Repository Size
==================================================
Installing:
php x86_64 5.3.3-23.el6_4 rhui-REGION-rhel-server-releases 1.1 M
php-gd x86_64 5.3.3-23.el6_4 rhui-REGION-rhel-server-releases 106 k
php-pdo x86_64 5.3.3-23.el6_4 rhui-REGION-rhel-server-releases 75 k
php-pear noarch 1:1.9.4-4.el6 rhui-REGION-rhel-server-releases 393 k
php-xml x86_64 5.3.3-23.el6_4 rhui-REGION-rhel-server-releases 103 k
Installing for dependencies:
libXpm x86_64 3.5.10-2.el6 rhui-REGION-rhel-server-releases 51 k
php-cli x86_64 5.3.3-23.el6_4 rhui-REGION-rhel-server-releases 2.2 M
php-common x86_64 5.3.3-23.el6_4 rhui-REGION-rhel-server-releases 524 k

Transaction Summary
==================================================
Install 8 Package(s)

Total download size: 4.5 M
Installed size: 16 M
Is this ok [y/N]: y

Downloading Packages:
(1/8): libXpm-3.5.10-2.el6.x86_64.rpm | 51 kB 00:00
(2/8): php-5.3.3-23.el6_4.x86_64.rpm | 1.1 MB 00:00
(3/8): php-cli-5.3.3-23.el6_4.x86_64.rpm | 2.2 MB 00:00
(4/8): php-common-5.3.3-23.el6_4.x86_64.rpm | 524 kB 00:00
(5/8): php-gd-5.3.3-23.el6_4.x86_64.rpm | 106 kB 00:00
(6/8): php-pdo-5.3.3-23.el6_4.x86_64.rpm | 75 kB 00:00
(7/8): php-pear-1.9.4-4.el6.noarch.rpm | 393 kB 00:00
(8/8): php-xml-5.3.3-23.el6_4.x86_64.rpm | 103 kB 00:00
-----------------------------------------------
Total 2.9 MB/s | 4.5 MB 00:01
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : php-common-5.3.3-23.el6_4.x86_64 1/8
Installing : php-cli-5.3.3-23.el6_4.x86_64 2/8
Installing : libXpm-3.5.10-2.el6.x86_64 3/8
Installing : php-gd-5.3.3-23.el6_4.x86_64 4/8
Installing : 1:php-pear-1.9.4-4.el6.noarch 5/8
Installing : php-5.3.3-23.el6_4.x86_64 6/8
Installing : php-xml-5.3.3-23.el6_4.x86_64 7/8
Installing : php-pdo-5.3.3-23.el6_4.x86_64 8/8
Verifying : 1:php-pear-1.9.4-4.el6.noarch 1/8
Verifying : php-xml-5.3.3-23.el6_4.x86_64 2/8
Verifying : php-common-5.3.3-23.el6_4.x86_64 3/8
Verifying : libXpm-3.5.10-2.el6.x86_64 4/8
Verifying : php-cli-5.3.3-23.el6_4.x86_64 5/8
Verifying : php-5.3.3-23.el6_4.x86_64 6/8
Verifying : php-pdo-5.3.3-23.el6_4.x86_64 7/8
Verifying : php-gd-5.3.3-23.el6_4.x86_64 8/8

Installed:
php.x86_64 0:5.3.3-23.el6_4 php-gd.x86_64 0:5.3.3-23.el6_4 php-pdo.x86_64 0:5.3.3-23.el6_4
php-pear.noarch 1:1.9.4-4.el6 php-xml.x86_64 0:5.3.3-23.el6_4

Dependency Installed:
libXpm.x86_64 0:3.5.10-2.el6 php-cli.x86_64 0:5.3.3-23.el6_4 php-common.x86_64 0:5.3.3-23.el6_4

Complete!

```

### 使用YUM安装软件包

可以使用**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

Dependencies Resolved

======================================================
Package Arch Version Repository Size
======================================================
Installing:
httpd x86_64 2.2.15-29.el6_4 rhui-REGION-rhel-server-releases 821 k
Installing for dependencies:
apr x86_64 1.3.9-5.el6_2 rhui-REGION-rhel-server-releases 123 k
apr-util x86_64 1.3.9-3.el6_0.1 rhui-REGION-rhel-server-releases 87 k
apr-util-ldap x86_64 1.3.9-3.el6_0.1 rhui-REGION-rhel-server-releases 15 k
httpd-tools x86_64 2.2.15-29.el6_4 rhui-REGION-rhel-server-releases 73 k

Transaction Summary
======================================================
Install 5 Package(s)

Total download size: 1.1 M
Installed size: 3.6 M
Is this ok [y/N]: y

```

如你所见，在安装httpd时yum安装了额外的软件包。这称为yum完成的依赖包解析。

假如你不想让yum弹出[y/N]选项，可以使用**yum install -y httpd**

#### 使用yum update 命令更新一个已存在的软件包

```
# yum update httpd
Loaded plugins: amazon-id, rhui-lb, security
Setting up Update Process
No Packages marked for Update

```

这意味着你系统中安装的httpd软件包已经是yum软件仓库里的最新版本的了。

#### 更新服务器上所有的软件包

```
# yum update

```

以上命令将系统上的所有软件包更新到最新版本，包括内核软件包，这意味着你的OS更新到了RHEL提供的最新版本了。

### 下载RPM软件包但是不安装

可以使用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

Dependencies Resolved

====================================================
Package Arch Version Repository Size
====================================================
Installing:
yum-plugin-downloadonly noarch 1.1.30-14.el6 rhui-REGION-rhel-server-releases 20 k

Transaction Summary
====================================================
Install 1 Package(s)

Total download size: 20 k
Installed size: 21 k
Is this ok [y/N]: y
Downloading Packages:
yum-plugin-downloadonly-1.1.30-14.el6.noarch.rpm | 20 kB 00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : yum-plugin-downloadonly-1.1.30-14.el6.noarch 1/1
Verifying : yum-plugin-downloadonly-1.1.30-14.el6.noarch 1/1

Installed:
yum-plugin-downloadonly.noarch 0:1.1.30-14.el6

Complete!

```

现在你就可以从软件仓库里只下载软件包而不安装了，命令如下：

```
# yum install httpd-devel -downloadonly

```

默认情况下软件包会被下载到**/var/cache/yum/**目录，但是你可以添加额外选项将其下载到指定位置

```
# yum install httpd-devel -downloadonly -downloaddir=/opt

```

假如你有一个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
Setting up Local Package Process
Examining /opt/httpd-devel-2.2.15-29.el6_4.x86_64.rpm: httpd-devel-2.2.15-29.el6_4.x86_64
Marking /opt/httpd-devel-2.2.15-29.el6_4.x86_64.rpm to be installed
Resolving Dependencies
-> Running transaction check
--> Package httpd-devel.x86_64 0:2.2.15-29.el6_4 will be installed
-> Processing Dependency: apr-devel for package: httpd-devel-2.2.15-29.el6_4.x86_64
-> Processing Dependency: apr-util-devel for package: httpd-devel-2.2.15-29.el6_4.x86_64
-> Running transaction check
--> Package apr-devel.x86_64 0:1.3.9-5.el6_2 will be installed
--> Package apr-util-devel.x86_64 0:1.3.9-3.el6_0.1 will be installed
-> Processing Dependency: openldap-devel for package: apr-util-devel-1.3.9-3.el6_0.1.x86_64
-> Processing Dependency: expat-devel for package: apr-util-devel-1.3.9-3.el6_0.1.x86_64
-> Processing Dependency: db4-devel for package: apr-util-devel-1.3.9-3.el6_0.1.x86_64
-> Running transaction check
--> Package db4-devel.x86_64 0:4.7.25-18.el6_4 will be installed
-> Processing Dependency: db4-cxx = 4.7.25-18.el6_4 for package: db4-devel-4.7.25-18.el6_4.x86_64
-> Processing Dependency: db4 = 4.7.25-18.el6_4 for package: db4-devel-4.7.25-18.el6_4.x86_64
-> Processing Dependency: libdb_cxx-4.7.so()(64bit) for package: db4-devel-4.7.25-18.el6_4.x86_64
--> Package expat-devel.x86_64 0:2.0.1-11.el6_2 will be installed
--> Package openldap-devel.x86_64 0:2.4.23-32.el6_4.1 will be installed
-> Processing Dependency: cyrus-sasl-devel >= 2.1 for package: openldap-devel-2.4.23-32.el6_4.1.x86_64
-> Running transaction check
--> Package cyrus-sasl-devel.x86_64 0:2.1.23-13.el6_3.1 will be installed
--> Package db4.x86_64 0:4.7.25-17.el6 will be updated
-> Processing Dependency: db4 = 4.7.25-17.el6 for package: db4-utils-4.7.25-17.el6.x86_64
--> Package db4.x86_64 0:4.7.25-18.el6_4 will be an update
--> Package db4-cxx.x86_64 0:4.7.25-18.el6_4 will be installed
-> Running transaction check
--> Package db4-utils.x86_64 0:4.7.25-17.el6 will be updated
--> Package db4-utils.x86_64 0:4.7.25-18.el6_4 will be an update
-> Finished Dependency Resolution

Dependencies Resolved

===================================================
Package Arch Version Repository Size
===================================================
Installing:
httpd-devel x86_64 2.2.15-29.el6_4 /httpd-devel-2.2.15-29.el6_4.x86_64 526 k
Installing for dependencies:
apr-devel x86_64 1.3.9-5.el6_2 rhui-REGION-rhel-server-releases 176 k
apr-util-devel x86_64 1.3.9-3.el6_0.1 rhui-REGION-rhel-server-releases 69 k
cyrus-sasl-devel x86_64 2.1.23-13.el6_3.1 rhui-REGION-rhel-server-releases 302 k
db4-cxx x86_64 4.7.25-18.el6_4 rhui-REGION-rhel-server-releases 588 k
db4-devel x86_64 4.7.25-18.el6_4 rhui-REGION-rhel-server-releases 6.6 M
expat-devel x86_64 2.0.1-11.el6_2 rhui-REGION-rhel-server-releases 120 k
openldap-devel x86_64 2.4.23-32.el6_4.1 rhui-REGION-rhel-server-releases 1.1 M
Updating for dependencies:
db4 x86_64 4.7.25-18.el6_4 rhui-REGION-rhel-server-releases 563 k
db4-utils x86_64 4.7.25-18.el6_4 rhui-REGION-rhel-server-releases 130 k

Transaction Summary
===============================================
Install 8 Package(s)
Upgrade 2 Package(s)

Total size: 10 M
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Updating : db4-4.7.25-18.el6_4.x86_64 1/12
Installing : apr-devel-1.3.9-5.el6_2.x86_64 2/12
Installing : expat-devel-2.0.1-11.el6_2.x86_64 3/12
Installing : db4-cxx-4.7.25-18.el6_4.x86_64 4/12
Installing : db4-devel-4.7.25-18.el6_4.x86_64 5/12
Installing : cyrus-sasl-devel-2.1.23-13.el6_3.1.x86_64 6/12
Installing : openldap-devel-2.4.23-32.el6_4.1.x86_64 7/12
Installing : apr-util-devel-1.3.9-3.el6_0.1.x86_64 8/12
Installing : httpd-devel-2.2.15-29.el6_4.x86_64 9/12
Updating : db4-utils-4.7.25-18.el6_4.x86_64 10/12
Cleanup : db4-utils-4.7.25-17.el6.x86_64 11/12
Cleanup : db4-4.7.25-17.el6.x86_64 12/12
Verifying : apr-devel-1.3.9-5.el6_2.x86_64 1/12
Verifying : cyrus-sasl-devel-2.1.23-13.el6_3.1.x86_64 2/12
Verifying : apr-util-devel-1.3.9-3.el6_0.1.x86_64 3/12
Verifying : db4-cxx-4.7.25-18.el6_4.x86_64 4/12
Verifying : httpd-devel-2.2.15-29.el6_4.x86_64 5/12
Verifying : openldap-devel-2.4.23-32.el6_4.1.x86_64 6/12
Verifying : expat-devel-2.0.1-11.el6_2.x86_64 7/12
Verifying : db4-devel-4.7.25-18.el6_4.x86_64 8/12
Verifying : db4-4.7.25-18.el6_4.x86_64 9/12
Verifying : db4-utils-4.7.25-18.el6_4.x86_64 10/12
Verifying : db4-4.7.25-17.el6.x86_64 11/12
Verifying : db4-utils-4.7.25-17.el6.x86_64 12/12

Installed:
httpd-devel.x86_64 0:2.2.15-29.el6_4

Dependency Installed:
apr-devel.x86_64 0:1.3.9-5.el6_2 apr-util-devel.x86_64 0:1.3.9-3.el6_0.1
cyrus-sasl-devel.x86_64 0:2.1.23-13.el6_3.1 db4-cxx.x86_64 0:4.7.25-18.el6_4
db4-devel.x86_64 0:4.7.25-18.el6_4 expat-devel.x86_64 0:2.0.1-11.el6_2
openldap-devel.x86_64 0:2.4.23-32.el6_4.1

Dependency Updated:
db4.x86_64 0:4.7.25-18.el6_4 db4-utils.x86_64 0:4.7.25-18.el6_4

Complete!

```

### 使用yum卸载软件包

使用 **yum remove** 卸载软件包。举例如下：

```
# yum remove httpd
Failed to set locale, defaulting to C
Loaded plugins: amazon-id, downloadonly, rhui-lb, security
Setting up Remove Process
Resolving Dependencies
-> Running transaction check
--> Package httpd.x86_64 0:2.2.15-29.el6_4 will be erased
-> Processing Dependency: httpd-mmn = 20051115 for package: php-5.3.3-23.el6_4.x86_64
-> Processing Dependency: httpd = 2.2.15-29.el6_4 for package: httpd-devel-2.2.15-29.el6_4.x86_64
-> Running transaction check
--> Package httpd-devel.x86_64 0:2.2.15-29.el6_4 will be erased
--> Package php.x86_64 0:5.3.3-23.el6_4 will be erased
-> Finished Dependency Resolution

Dependencies Resolved

================================================
Package Arch Version Repository Size
================================================
Removing:
httpd x86_64 2.2.15-29.el6_4 @rhui-REGION-rhel-server-releases 2.9 M
Removing for dependencies:
httpd-devel x86_64 2.2.15-29.el6_4 @/httpd-devel-2.2.15-29.el6_4.x86_64 526 k
php x86_64 5.3.3-23.el6_4 @rhui-REGION-rhel-server-releases 3.5 M

Transaction Summary
================================================
Remove 3 Package(s)

Installed size: 7.0 M
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Erasing : httpd-devel-2.2.15-29.el6_4.x86_64 1/3
Erasing : php-5.3.3-23.el6_4.x86_64 2/3
Erasing : httpd-2.2.15-29.el6_4.x86_64 3/3
Verifying : httpd-2.2.15-29.el6_4.x86_64 1/3
Verifying : httpd-devel-2.2.15-29.el6_4.x86_64 2/3
Verifying : php-5.3.3-23.el6_4.x86_64 3/3

Removed:
httpd.x86_64 0:2.2.15-29.el6_4

Dependency Removed:
httpd-devel.x86_64 0:2.2.15-29.el6_4 php.x86_64 0:5.3.3-23.el6_4

Complete!

```

### 列出所有安装的软件包

假如你要列出你系统上安装的所有软件包，你可以使用**yum list installed**命令。这条命令结合grep命令是非常有用的，可以用来检查某个特定的软件包是否已被安装。这与使用rpm -qa命令询问已经安装的软件包相似。

```
# yum list installed
Loaded plugins: amazon-id, downloadonly, rhui-lb, security
Installed Packages
ConsoleKit.x86_64 0.4.1-3.el6 @koji-override-0/$releasever
ConsoleKit-libs.x86_64 0.4.1-3.el6 @koji-override-0/$releasever
MAKEDEV.x86_64 3.24-6.el6 @koji-override-0/$releasever
PyYAML.x86_64 3.10-3.1.el6 @koji-override-0/$releasever
Red_Hat_Enterprise_Linux-Release_Notes-6-en-US.noarch
4-2.el6 @koji-override-0/$releasever
SDL.x86_64 1.2.14-3.el6 @koji-override-0/$releasever
abrt.x86_64 2.0.8-15.el6 @koji-override-0/$releasever
abrt-addon-ccpp.x86_64 2.0.8-15.el6 @koji-override-0/$releasever
abrt-addon-kerneloops.x86_64 2.0.8-15.el6 @koji-override-0/$releasever
abrt-addon-python.x86_64 2.0.8-15.el6 @koji-override-0/$releasever
abrt-cli.x86_64 2.0.8-15.el6 @koji-override-0/$releasever
abrt-libs.x86_64 2.0.8-15.el6 @koji-override-0/$releasever
abrt-tui.x86_64 2.0.8-15.el6 @koji-override-0/$releasever
acl.x86_64 2.2.49-6.el6 @koji-override-0/$releasever
acpid.x86_64 1.0.10-2.1.el6 @koji-override-0/$releasever
aic94xx-firmware.noarch 30-2.el6 @koji-override-0/$releasever
.
.
Output Truncated.

```

### 列出可用的软件库，通过它们可以查询、安装和更新软件包

```
# yum repolist

Loaded plugins: amazon-id, downloadonly, rhui-lb, security
repo id repo name status
rhui-REGION-client-config-server-6 Red Hat Update Infrastructure 2.0 Client Configuration Server 6 4
rhui-REGION-rhel-server-releases Red Hat Enterprise Linux Server 6 (RPMs) 10994
rhui-REGION-rhel-server-releases-optional Red Hat Enterprise Linux Server 6 Optional (RPMs) 6250
repolist: 17248

```

---

via: <http://linoxide.com/linux-command/package-management-yum-redhat-linux/>

译者：[Linux-pdz](https://github.com/Linux-pdz) 校对：[jasminepeng](https://github.com/jasminepeng)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


ncdu-基于Ncurses的磁盘实用工具

Summary: 几天前，我们讨论了gt5（一个具有图形前端的磁盘实用工具）。接着上次，继续介绍这个命令系列：du替代命令，我们今天要讨论的是一个基于ncurese的磁盘实用工具，可以远程运行但没有图形环境。我们要介绍的这个命令行 ...

# ncdu-基于Ncurses的磁盘实用工具

几天前，我们讨论了[gt5](http://mylinuxbook.com/gt5-a-graphical-alternative-to-du/)（一个具有图形前端的磁盘实用工具）。接着上次，继续介绍这个命令系列：du替代命令，我们今天要讨论的是一个基于ncurese的磁盘实用工具，可以远程运行但没有图形环境。我们要介绍的这个命令行工具叫做**ncdu**。

### ncdu——基于Ncurses的du可选程序

这个命令行工具只是一个基于curses版本的标准du命令。它可帮助你在没有安装图形环境的情况下快速查看系统的磁盘使用统计。

### 检测环境

* 操作系统 – Ubuntu 13.04
* Shell – Bash 4.2.45
* 应用 – ncdu 1.9

### 简明教程

以下是一些ncdu命令的例子：

**1. 默认输出**

执行以下**ncdu**命令，你会观察到，它会先扫描磁盘然后降序显示各个目录下的空间使用情况。

**> 扫描**

**> 输出**

你会看到在输出里显示了一个磁盘使用情况表。假如你要扫描整个文件系统，你可以在运行**ncdu**命令时加上**-x**选项。

**2. 按i可以得到选定目录的更多信息**

如你所见，第一项默认选中。想要知道选定项的更多信息，可以按**i**。

下面给出一个例子：

如你所见，显示了目录，类型，大小，实际占用空间等。项返回，再按一次**i**。

**3. 在ncdu的界面中删除目录**

在ncdu的界面中删除目录，只需要选中目录，然后按**d**。

下面给出一个例子：

如你所见，ncdu请求用户确认。假如你选择yes,目录将会从系统中删除。

**4. 显示每一个目录的磁盘使用占总的磁盘空间的百分比**

按**g**显示每个目录大小占总的磁盘空间的百分比。

下面给出一个例子：

如你所见，在输出结果的第二竖列显示了每个目录所占用的空间占总的磁盘空间的百分比。

**5. 获悉有关所有可使用快捷键的**

按**？**可获得相关快捷键、格式以及有关ncdu版本的信息。

下面给出一些例子：

想知道有关命令行选项以及其它信息，可前往[ncdu命令的Man页面](http://linux.die.net/man/1/ncdu)。

### 下载/安装/配置

以下是一些有关ncdu命令的重要链接

* [主页](http://dev.yorhel.nl/ncdu)
* [下载链接](http://dev.yorhel.nl/ncdu)

当然，你也可以通过命令方式下载安装，比如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/) 荣誉推出


Ubuntu 2013 开发者峰会于 11 月 19 日召开

Summary:
Ubuntu 2013 开发者峰会是一个 Ubuntu 官方组织的会议。来自各行各业的 Ubuntu 使用者、开发者、设计师等等人员将参加会议。Ubuntu 2013 开发者峰会将于 11 月 19 日召开。

会议为期三天，11 月 21 日结束。
会议分 ...

# Ubuntu 2013 开发者峰会于 11 月 19 日召开

Ubuntu 2013 开发者峰会是一个 Ubuntu 官方组织的会议。来自各行各业的 Ubuntu 使用者、开发者、设计师等等人员将参加会议。Ubuntu 2013 开发者峰会将于 11 月 19 日召开。

<img src="content_image/album_201311_19_163226dyyrd002hyq0jeey.png" alt="" title="">

会议为期三天，11 月 21 日结束。

会议分为六大主题分开讨论：

* [app development](http://summit.ubuntu.com/uds-1311/track/appdev)
* [client](http://summit.ubuntu.com/uds-1311/track/client)
* [cloud and server](http://summit.ubuntu.com/uds-1311/track/servercloud)
* [community](http://summit.ubuntu.com/uds-1311/track/community)
* [core](http://summit.ubuntu.com/uds-1311/track/core)
* [design](http://summit.ubuntu.com/uds-1311/track/design)

虽然分为六类，不过这些方面几乎涵盖了 Ubuntu 所有的方方面面。

另：第一天由 [Mark Shuttleworth's 主持阶段为：14:00 - 15:00 UTC](http://summit.ubuntu.com/uds-1311/meeting/22027/intro-by-jono-bacon-keynote-by-mark-shuttleworth/) 。


Linux 下用来查询安装包信息的RPM选项

Summary: RPM是RedHat的包管理器，用来安装、卸载、升级和查询基于RedHat Linux的安装包。RHEL和基于它的系统使用rpm命令来完成这些功能。以下是一些例子来演示rpm的查询功能，和展示了用不同的方法来查询rpm数据库和还原配置 ...

# Linux 下用来查询安装包信息的RPM选项

RPM是RedHat的包管理器，用来安装、卸载、升级和查询基于RedHat Linux的安装包。RHEL和基于它的系统使用rpm命令来完成这些功能。以下是一些例子来演示rpm的查询功能，和展示了用不同的方法来查询rpm数据库和还原配置文件。

我在示例命令中使用SSH包来做说明。

<img src="content_image/album_201311_20_152948s2tauakezl9c23v9.png" alt="" title="">

查询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](http://www.linoxide.com/how-tos/disable-ssh-direct-login/)的绝对路径，可以用来开始配置服务。

### 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/) 荣誉推出


如何在Ubuntu13.10中安装最新版的NVIDIA 331.20驱动

Summary:
有时候安装新版本的NVIDIA驱动会遇到一些麻烦，尤其是当你不习惯Linux系统中的运作方式时。

这时候，这篇教程就能起到作用了，它能帮助普通用户从最新版的NVIDIA驱动331.20中获益。
在Ubuntu系统中有两种方法安装NV ...

# 如何在Ubuntu13.10中安装最新版的NVIDIA 331.20驱动

**有时候安装新版本的NVIDIA驱动会遇到一些麻烦，尤其是当你不习惯Linux系统中的运作方式时。**

<img src="content_image/album_201311_21_110601hc4hrol4hoh24p4u.jpg" alt="" title="">

这时候，这篇教程就能起到作用了，它能帮助普通用户从最新版的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/) 荣誉推出


可以快速保存、访问和粘贴文本片段的Unity漂亮工具

Summary:
反复键入特定的信息 - 如电子邮件地址或家庭地址，详细的终端命令，及时发送用户喜爱的电视节目的资讯 - 可是件苦差事。

Snippets  方便的访问存储的文本的方法
谢天谢地，这个世界上有一些工具可以帮助我们（做这  ...

# 可以快速保存、访问和粘贴文本片段的Unity漂亮工具

**反复键入特定的信息 - 如电子邮件地址或家庭地址，详细的终端命令，及时发送用户喜爱的电视节目的资讯 - 可是件苦差事。**

<img src="content_image/album_201311_21_103520teac1iphawwfahav.jpg" alt="" title="">

*Snippets – 方便的访问存储的文本的方法*

谢天谢地，这个世界上有一些工具可以帮助我们（做这些事儿）。

*‘Snippets’* 就是Unity中这种组件之一。 这是一个简单的启动程序小工具，它让你在一个文件中保存和存储摘下来的内容，然后当你需要的时候从Unity的一个快速列表里复制到剪贴板。

在某些人把他的内裤扔到我的脸上之前，我得说Snippets不是唯一的这种工具，它甚至不是第一个提供这一系列功能的。但是它独特的是通过Unity启动器来提供这一系列功能。

这个软件具功能不错又足够简单，提供以下功能:

* 添加、访问存储在txt文件中的文本段
* 在快速列表里查看保存的文本段
* 点击文本段就可以复制到剪贴板
* 提供了把剪贴板中的内容保存到txt文件的选项

尽管它不是一个“智能”的剪贴板管理工具 – 它只是列出了你特别添加的项目；它不会列出你最近的剪贴板项目历史，但仍然是一个非常方便的小工具。

### 怎样为Unity安装Snippets

想要使用这个漂亮的启动器项目，你需要先安装一个命令行剪贴板工具XClip。点击下面的按钮（链接）从软件中心安装。

* [点击以在Ubuntu里安装XClip](apt://xclip)

下一步，下载下面的‘Snippets’压缩文件。这包含了剩余所有的使用这个应用所需要的东西。

* [下载‘Snippets’Unity启动器](https://www.dropbox.com/s/ha6lngizmz78srv/snippets%20by%20stinkeye.tar.gz)

当这个压缩文件下完之后你就可以解压了。进入生成的文件夹，然后按Ctrl+H显示隐藏的文件。移动文件夹‘.snippets-launcher‘到你的主文件夹中。**如果不这么做，这个组件将无法正常工作。**

下一步是安装启动器项目。这是被一个你刚搬到文件夹里面的脚本关照的，但它不具有可执行的权限（需要安装），因此，我们首先需要关照它一下。

打开一个新的终端窗口在里面小心的键入下面的命令：

```
cd .snippets-launcher/ && chmod +x snippets.sh
./snippets.sh

```

就是这样；Snippets应该已经整装待发了。打开Unity Dash搜索Snippets然后把它拖到启动器上去：

* 左键点击启动器打开可以添加你的文本段的文本文件
* 右键点击启动器上的项目打开快速列表

快速列表里的选项:

* 左键点击文本段以添加到剪贴板
* 左键点击“日期”可以复制当前日期
* 点击“添加剪贴板内容”可以把当前剪贴板中的内容加入到.txt文件中（译注：实际上保存的文本是存储在一个文本文件中）
* 在添加一个项目到.txt文件后点击“更新启动器”

更多关于这个懒人的工具信息尽在[Ubuntu论坛](http://ubuntuforums.org/showthread.php?t=2184916)，在那里它的开发者，“Stinkeye”,会很高兴地提供帮助。

---

via: <http://www.omgubuntu.co.uk/2013/10/unity-launcher-clipboard-snippets-item>

译者：[crowner](https://github.com/crowner) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


Linux企业级桌面版：Ubuntu Vs Windows

Summary: 过去的10年中，Linux的众多支持者几乎每年都预言当年会是linux桌面版之年。对微软主导的企业来说，这曾经是一个崇高的目标，但时代在变。在智能手机和云计算市场领域，Linux已经发展壮大成为一个顽强的竞争对手，打  ...

# 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转换的因素，包括培训和支持，还有一些潜在的复杂性问题。

<img src="content_image/album_201311_21_094505lkdy0hrzb8b3blqz.png" alt="" title="">

我知道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/) 荣誉推出


快来尝尝肉桂新口味儿，Mint 16现已加入肯德基豪华午餐~

Summary:
经过6个月艰苦卓绝的开发工作，Linux Mint开发组终于发布了更加稳定可靠的Linux Mint 16，版本代号Petra 肉桂版（Cinnamon Edition）。此次发布的Linux Mint包括了软件升级、新增功能以及多个bug修复。

这一版本是  ...

# 快来尝尝肉桂新口味儿，Mint 16现已加入肯德基豪华午餐~

经过6个月艰苦卓绝的开发工作，Linux Mint开发组终于发布了更加稳定可靠的[Linux Mint 16，版本代号Petra 肉桂版（Cinnamon Edition）](http://blog.linuxmint.com/?p=2477)。此次发布的Linux Mint包括了软件升级、新增功能以及多个bug修复。

这一版本是项目组努力工作6个月的辛勤果实，它为我们带来了2种独特“口味儿”，**肉桂（Cinnamon）**及其**伴侣（MATE）**，但具体新功能都有哪些呢？

根据官方发布的声明，下面列出了Linux Mint 16 Petra Cinnamon版本的新功能：

* Cinnamon升级至2.0版
* 全新的登录界面
* 支持USB记忆棒
* 系统性能提升
* 全新的软件管理器
* 系统更加完善
* UI美工更加漂亮
* 主要组件得到优化

### Cinnamon 2.0

肉桂2.0带来诸多改进，修复了多个bug，加入许多新功能。首先，关闭窗口、切换工作台等日常操作加入了声音效果，同时，用户可以独立于主音量之外，单独对这些声音进行设置，另外，2.0版还加入了一个新面板，大大方便了session会话和账户关联任务等操作。

### 账户细节

系统管理员可以通过“用户与组”配置工具，对用户和组进行管理，你还可以使用新的“账户细节”配置界面对密码等信息进行修改。

### 软件管理器

“快”！这是用来描述新版Linux Mint软件管理器最合适的字眼。每个人都欣喜地看到，如今的软件管理器不但比以前占用更少的内存，而且支持多个截图预览， **搜索**更加迅捷，**启动**更加快速。

### 系统更加完善

你会在你的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/) 荣誉推出


Ubuntu vs. openSUSE：不同的公司控制风格的比较

Summary:
Ubuntu和OpenSUSE以不同的方式发展他们的Linux发行版。你觉得哪种好？
相当多的linux开发都接受来自那些有意改善Linux的公司的资助，这早已不是秘密（这里的Linux我指的是组成一个完整Linux系统的任何部分）。但是， ...

# Ubuntu vs. openSUSE：不同的公司控制风格的比较

*Ubuntu和OpenSUSE以不同的方式发展他们的Linux发行版。你觉得哪种好？*

相当多的linux开发都接受来自那些有意改善Linux的公司的资助，这早已不是秘密（这里的Linux我指的是组成一个完整Linux系统的任何部分）。但是，许多公司进行资助的方式却有很大不同。

让我们看看两个很典型的例子：Ubuntu和openSUSE。

<img src="content_image/album_201311_21_222740zk34sh55u0sehus5.jpeg" alt="" title="">

这两者都是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/) 荣誉推出


KDE和Canonical的关于Mir的冲突最终爆发了

Summary:
KDE开发者和Canonical之间酝酿的冲突在一连串Mir显示服务器所造成的问题后最终爆发了。
KDE与Canonical，尤其是Mark Shuttleworth，有很深的交情。曾几何时，在2006年，Mark Shuttleworth是第一个赞助KDE的人，人们  ...

# KDE和Canonical的关于Mir的冲突最终爆发了

KDE开发者和Canonical之间酝酿的冲突在一连串Mir显示服务器所造成的问题后最终爆发了。

KDE与Canonical，尤其是Mark Shuttleworth，有很深的交情。曾几何时，在2006年，Mark Shuttleworth是第一个赞助KDE的人，人们总会像这样谈论这件事：

“我毫不怀疑当你看到KDE4所带来的巨大潜能时，你会知道你今天所做的是正确的。你是个真正有远见的人。这个世界需要更多的像你一样的人。”一位KDE社区成员所述。

而在七年之后，Canonical宣布了一款新的显示服务器Mir，而KDE、Kubuntu和Canonical社区的所有东西已经被丢到窗外。

[一篇由Mark Shuttleworth写的文章](http://news.softpedia.com/news/Mark-Shuttleworth-Says-That-Mir-Opponents-Have-Formed-the-Open-Source-Tea-Party-392793.shtml)最终成为了战争的导火索，其中写道，他将所有批判Mir显示服务器的人归类到一个虚拟的“茶派（Tea Party）”，在他看来这就是派系的而已。有很多人，尤其是几个高级KDE开发者，他们批判Mir，他们在一开始就反对Mir。

<img src="content_image/album_201311_21_2250565tb59hunm0lulaml.png" alt="" title="">

KDE Plasma的开发者兼KDE组织主席，亚伦·塞戈，就这个问题向Mark Shuttleworth发起抗议。而[Canonical的创始人没有理睬](http://news.softpedia.com/news/KDE-Developer-and-President-of-KDE-e-v-Upset-Because-Mark-Shuttleworth-Is-Ignoring-Him-396623.shtml)他的要求，这引起了一系列反应.

第二个反应来自一位Kwin的开发者和维护者，Martin Gräßlin，他说这基本上[可以跟Ubuntu社区说Goodbye了](http://news.softpedia.com/news/Major-KDE-Developer-Says-Goodbye-to-Ubuntu-396429.shtml)。在他的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/) 荣誉推出


十个鲜为人知的 Linux 命令 - Part 3

Summary:
我们继续10个鲜为人知Linux命令系列的第三部分。或许你已经知道了这些命令，那你无疑是一个有经验而喜欢探索的Linux用户。
22. ^foo^bar 命令
在一个实例中运行修改后的最后一个命令。假设我需要运行一个命令ls -l来 ...

# 十个鲜为人知的 Linux 命令 - Part 3

我们继续“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 命令](http://www.tecmint.com/11-cron-scheduling-task-examples-in-linux/)相似也可用于安排一个任务或者在某个特定时刻执行命令。

```
avi@localhost:~/Desktop$ echo "ls -l > /dev/pts/0" | at 14:012

```

或

```
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**”的意思是，将这串命令(这里是 **ls -l**)输出在标准终端上。你可以用你需要或者选择的命令替代‘**ls -l**‘。

> ：重定向输出

**/dev/pts/0**: 这是输出设备和/或文件，输出到指定的地方，这里输出在终端（/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 .

```

**注意**:上面的命令在[检查系统使用率](http://www.tecmint.com/check-linux-disk-usage-of-files-and-directories/)是非常有用。

### 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，来检测我是否连接到了因特网。

当你等待或者持续盯着你的终端等待命令的回应或者等待服务器的连接时，有时是很气人的。

一旦服务器连通就有一个声音如何（译注：下面命令是等60秒PING一次）？

```
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 命令](http://www.tecmint.com/13-basic-cat-command-examples-in-linux/)检查内容。

```
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命令反转文件内容（译注：当然，我们知道cat反转过来就是tac）。

```
avi@localhost:~/Documents$ tac 35.txt
```

**示例输出**

> 1. 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.
> 3. 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) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


如何在Linux上配置基于Web的网络流量监控系统

Summary:
当你在本地网络监控网络流量，根据流量大小、监控平台/接口、数据库类型等等，可以有许多不同的选择。
ntopng是一套开源（遵循GPLv3协议）网络流量分析解决方案，提供基于web界面的实时网络流量监控。支持跨平台，包 ...

# 如何在Linux上配置基于Web的网络流量监控系统

当你在本地网络监控网络流量，根据流量大小、监控平台/接口、数据库类型等等，可以有许多不同的选择。

[ntopng](http://www.ntop.org/products/ntop/)是一套开源（遵循GPLv3协议）网络流量分析解决方案，提供基于web界面的实时网络流量监控。支持跨平台，包括Linux和MacOS X。ntopng类似于RMON远端网络监控代理，具有内置的Web服务能力，使用[Redis](http://redis.io/)键值服务按时间序列存储统计信息。你可以在任何指定的监控服务器上安装ntopng，只需使用任一web浏览器，就能实时访问服务器上的流量报告了。

本教程就来介绍**如何使用ntopng在Linux上配置基于Web的网络流量监控系统**

### ntopng的特性

* 从数据流级别与协议级别对本地网络流量进行实时分析
* 支持域、AS（自制系统）与VLAN级别的统计分析
* 支持IP地址地理定位
* 支持基于“服务探索”（例如Google、Facebook）的深度报文检测（DPI）
* 历史流量分析（例如分别按照小时、日、周、月、年进行分析）
* 支持sFlow、NetFlow（v5/v9版）以及基于nProbe的IPFIX
* 网络流量矩阵（谁正在和谁谈话？）
* 支持IPv6

### 在Linux上安装ntopng

官方网页上提供了针对[Ubuntu](http://apt.ntop.org/)和[CentOS](http://rpm.ntop.org/)的二进制安装包。如果你使用的恰好是以上二者其一，并且懒得用源码安装，可以直接到官网下载二进制文件包安装，并忽略这一小节下面的内容。

如果你想通过[源码](http://sourceforge.net/projects/ntop/files/ntopng/)安装最新的ntopng，请继续往下看

如果你是Debian、Ubuntu或Linux Mint，执行以下命令：

```
$ sudo apt-get install libpcap-dev libglib2.0-dev libgeoip-dev redis-server wget libxml2-dev
$ tar xzf ntopng-1.0.tar.gz -C ~
$ 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
libxml2-devel redis wget
$ tar xzf ntopng-1.0.tar.gz -C ~
$ cd ~/ntopng-1.0/
$ ./configure
$ make geoip
$ make
```

如果你是CentOS或RHEL，首先[设置EPEL repository](http://xmodulo.com/2013/03/how-to-set-up-epel-repository-on-centos.html)，然后再执行上面和[Fedora](http://xmodulo.com/go/fedora_guide)一样的命令就可以。

### 在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://:3000

这时，你会看到ntopng的登录界面。使用默认帐密：“admin/admin”。

下面是一些截图。

**top流的实时可视化图像**

[](http://www.flickr.com/photos/xmodulo/10487165303/)

**top主机的实时统计，包括top协议和top AS数量**

[](http://www.flickr.com/photos/xmodulo/10486988416/)

**基于DPI的自动程序/服务探索生成的的实时数据报告**

[](http://www.flickr.com/photos/xmodulo/10486988386/)

**历史流量数据分析**

[](http://www.flickr.com/photos/xmodulo/10486995114/)

---

via: <http://xmodulo.com/2013/10/set-web-based-network-traffic-monitoring-linux.html>

译者：[Mr小眼儿](http://blog.csdn.net/tinyeyeser) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


如何在Linux的桌面上创建快捷方式或启动器

Summary: 如果在Linux桌面系统中你经常使用一个程序，你可能想去创建一个桌面快捷方式，以便于你在桌面只要点击一下快捷方式就可以启动它。虽然不少带有图形界面的程序会在安装时自动在桌面上创建快捷方式，还有一些图形界面  ...

# 如何在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://www.flickr.com/photos/xmodulo/10848506344/)

在你要创建快捷方式的合适分类处（例如， "Utilities"）右击，点击位于顶部的“新条目”按钮，键入应用的名字。

[](http://www.flickr.com/photos/xmodulo/10848418496/)

最后，填上使用快捷方式启动app时所需的元信息即可。

[](http://www.flickr.com/photos/xmodulo/10848506284/)

### 在xfce桌面上创建快捷方式

假如你使用xfce桌面，在桌面空白处右击，选择“创建启动器”按钮。然后填上快捷方式的详细信息就可以了。

### 在Cinnamon桌面上创建快捷方式

假如使用的是Linux Mint的Cinnamon桌面，你可以在桌面空白处右击鼠标，选择菜单“创建启动器”而创建一个应用启动器。

### 在LXDE桌面上创建快捷方式

在LXDE桌面，你只需在桌面空白处右击一下鼠标，然后选择“创建新快捷方式”就可以咯。

[](http://www.flickr.com/photos/xmodulo/10848922593/)

---

via: <http://xmodulo.com/2013/11/create-desktop-shortcut-launcher-linux.html>

译者：[Linux-pdz](https://github.com/Linux-pdz) 校对：[Caroline](https://github.com/carolinewuyan)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


解密"top"命令

Summary: 当对服务器的性能好奇时，我第一个想到的是"top"命令。top不是最好的，它不是一个长期的快照，但是它提供了服务器的一个不错的时间点快照，并且试着提供了告诉"现在在发生什么？"。不幸地，如果你没有深入了解不同显 ...

# 解密"top"命令

当对服务器的性能好奇时，我第一个想到的是"top"命令。top不是最好的，它不是一个长期的快照，但是它提供了服务器的一个不错的时间点快照，并且试着提供了告诉"现在在发生什么？"。不幸地，如果你没有深入了解不同显示域的意义，top的输出很容易被误解。

我不会完整解读top命令的[man page](http://www.linuxmanpages.com/man1/top1.php)，当你和时间和意愿时，它一直在那等着你。我想要做的是指出一些我如何得到系统的快速概况的几个要点，并希望得到我接下来该怎么做的指示。top是我在故障排除时的第一站，但这很少会是我唯一的一站。

[<img src="content_image/album_201311_23_202423a2xaiu4o42g28uu2.png" alt="" title="">](http://www.flickr.com/photos/51724787@N06/10847969205/)

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'（大写字母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) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


戴文的Linux内核专题：10 配置内核(6)

Summary:
欢迎来到下一篇关于内核配置文章！还有大量的选项需要配置。这篇文章将主要讨论PCI和ACPI。

这里我们可以启用由ACPI控制的扩展坞和可移动驱动器槽的支持(Dock)。记住，ACPI(Advanced Configuration and Power Manag ...

# 戴文的Linux内核专题：10 配置内核(6)

欢迎来到下一篇关于内核配置文章！还有大量的选项需要配置。这篇文章将主要讨论PCI和ACPI。

<img src="content_image/album_201311_23_211248jqrqtwj8e8rhtteq.png" alt="" title="">

这里我们可以启用由ACPI控制的扩展坞和可移动驱动器槽的支持(Dock)。记住，ACPI(Advanced Configuration and Power Management Interface)是一个电源管理系统。扩展坞是一种其他的设备通过额外的接口插入的设备。扩展坞可以容纳许多不同的端口和连接器。一个ACPI控制的扩展坞是指其电源管理是通过ACPI进行的。驱动器槽是一套可以增加硬盘的设备，这也可以由ACPI管理。

下面，我们允许ACPI用来管理空闲的CPU(Processor)。这会让处理器在空闲时进入ACPI C2或者C3状态。这可以节省电源并降低CPU芯片的温度。处理器只在100%没有占用时才进入空闲状态。没有程序必须请求一个特定时间的CPU资源。

CPU电源有四个状态 - C0、C1、C2和C3。C0是操作激活状态。C1(Halt)是一个不执行指令激活状态，但是可以立刻执行指令。C2(Stop-Clock)是一种断电状态。C3(Sleep)是一种比C2更彻底的断电状态。在C3状态中，现在缓存不再被同步或者管理，直到CPU离开这个状态。第五个状态称作C1E(Enhanced Halt State)，他拥有低功耗。

如果启用了IPMI驱动，那么ACPI可以访问BMC控制器(IPMI)。基板管理控制器(BMC)是一种管理软件和硬件间连接的微控制器。智能平台管理接口(IPMI)是一种框架，通过直接的硬件层面而不是登录shell或者操作系统层面来管理计算机。

ACPI v4.0进程聚合器允许内核应用一个CPU配置到所有系统中的处理器中(Processor Aggregator)。截止到ACPI v4.0，只有idle状态可以用这个方式配置。

接下来，可以启用ACPI热区(Thermal Zone)。多数硬件支持这个特性。这允许风扇的电源由ACPI管理。

如果启用这个选项，自定义DSDT可以链接到内核。在这个设置中，开发者必须在文件中包含完整的路径名。系统差异表(DSDT)是一个包含了系统支持的电源事件信息的文件。它不需要输入路径名，这些表存在于固件中。内核会帮你处理这些。这个主要的目的是用于如果开发者需要使用不同于设备内置的表时用到。

任意ACPI表都可以通过initrd来覆盖(ACPI tables override via initrd)。ACPI表是指示如何控制并与硬件交互的基础规则和指令。

像内核的其他部分一样，ACPI系统也可以生成调试信息(Debug Statements)。像其他调试特性一样，你或许希望禁用它并省下50KB。

启用下面的特性会为系统检测到的每个PCI插槽(PCI slot detection driver)创建文件(/sys/bus/pci/slots/)。一个PCI插槽是在PCI主板上的一个端口，它允许用户接上其他的PC设备。PCI是主板的一种类型。PCI是指组件互相通信的方式。有些应用程序可能需要这些文件。

电源管理定时器是另外一种电源管理系统(Power Management Timer Support)。这是许多系统追踪时间的方式。这个只需要很少的能源。处理器的空闲、电压/频率调节和节流都不会影响这个定时器。大量的系统需要使用这个特性。

下面，可以启用ACPI模块和容器设备驱动(Container and Module Devices)。这会启用处理器、内存和节点的热插拔支持。它需要NUMA系统。

下面的驱动提供对ACPI内存的热插拔支持(Memory Hotplug)。有些设备甚至启用这个驱动也不支持热插拔。如果驱动以模块形式加入，那么模块将会被acpi\_memhotplug调用。

注意：对于内核某个特定的功能，硬件、BIOS和固件在必须支持时会有问题。有些系统的BIOS是不控制硬件的。这种类型的BIOS通常不会限制特性。如果内核确实有一个特定的功能，硬件必须有能力完成这样的任务。

智能电源管理驱动提供访问电池的状态和信息(Smart Battery System)。

下面，我们有一个"Hardware Error Device"驱动。设备通过SCI报告硬件错误。通常上，大多数的错误会是已纠正的错误。

下面的是ACPI调试特性(Allow ACPI methods to be inserted/replaced at run time)。这允许ACPI AML方式不通过重启系统管理。 AML代表的是ACPI机器语言(ACPI Machine Language)。AML代码可以通过请求重启来改变和测试。

APEI是ACPI的错误接口(ACPI Platform Error Interface (APEI))。APEI从芯片给操作系统报告错误。这个错误接口同样提供错误注射的能力。

当"SFI (Simple Firmware Interface) Support" 启用后，硬件固件可以发送消息给操作系统。固件与操作系统间的通信通过内存中的静态表。SFI-only的计算机的内核工作需要这个特性。

想要改变处理器的时钟速度和运行时，就启用这个特性(CPU Frequency scaling)。CPU频率调整意味着改变处理器的时钟速度。这个驱动可以用于降低时钟频率以节能。

下面是另外一个电源管理子系统(CPU idle PM support)。当处理器不在活跃状态时，它最好处在有效的空闲方式来减少电源消耗和减少CPU损耗。减少电源消耗同样可以降低内部元件的发热。

Linux内核提供了很多CPU空闲驱动。在多处理器系统上，一些用户可能有一个理由在每个CPU上使用不同的驱动(Support multiple cpuidle drivers)。启用这个驱动可以允许用户给每个处理器设置不同的驱动。

对于Intel处理器，内核有一个特别为管理这类CPU芯片空闲的驱动(Cpuidle Driver for Intel Processors)。

当内存芯片空闲时，这些同样可以处于低功耗状态(Intel chipset idle memory power saving driver)。这个驱动是特别支持IO AT的Intel设备的。

不同的计算机使用不同类型的主板(PCI support)。其中一种类型是PCI。这个驱动允许内核运行在PCI主板上。

下面，我们可以启用/禁用 "Support mmconfig PCI config space access"。

接下来，我们有一个选择启用/禁用主桥窗口驱动(Support mmconfig PCI config space access)。警告：这个驱动还没有完成(至少在3.9.4中是这样)。

像上面提到的主板，还有另一种类型的主板。写一个选项是提供"PCI Express (PCIe) support"的驱动。PCIe是一种改进并且更快速的PCI。

在这之后，下面的驱动应该被启用以支持PCIe主板上的热插拔(PCI Express Hotplug driver)。

接着，我们可以启用/禁用PCIe主板报错(Root Port Advanced Error Reporting)。这就是PCIe AER驱动。

下一个特性允许用户使用PCIe EREC(PCI Express ECRC settings control)覆盖BIOS和固件设置。下一个选项，这是对PCIe的错误注射(PCIe AER error injector support)。

下面的设置提供了操作系统控制PCI的活跃状态和时钟电源管理(PCI Express ASPM control)。通常上，固件会控制ASPM，但是这个特性允许操作系统采取控制。

如前面一样，像内核的许多组件一样，这里提供了ASPM的调试支持(Debug PCI Express ASPM)。

下面，在这个菜单选择"Default ASPM policy"。

在这选项之后，下一个是关于允许设备驱动启消息信号中断(Message Signaled Interrupts (MSI))。通常上最好允许设备给CPU发送中断。

为了在系统日志中加入大量的调试信息，启用"PCI Debugging"。

下一个选项允许PCI核心检测是否有必要启用PCI资源重分配(Enable PCI resource re-allocation detection)。

当在Linux上托管一个虚拟操作系统时，它有时可以用于为虚拟系统保留PCI设备(PCI Stub driver)。在系统虚拟化下，一个操作系统可能在另一个系统的内部或者并行。有时它们会竞争资源。可以为客户机保留设备可以减小竞争和增加性能。

下面的驱动允许超传输设备(hypertransport devices)使用中断(Interrupts on hypertransport devices)。HyperTransport是一种系统/协议总线用于处理器之间的高速通信。

下一个驱动用于PCI虚拟化，它允许虚拟设备间共享它们的物理资源(PCI IOV support)。

PCI页面请求接口(PRI)使在IOMMU(输入/输出内存管理单元)之后的PCI设备能够从页错误中恢复(PCI PRI support)。页错误不是一种错误；它指的是软件尝试访问不在物理内存上的数据的事件。

再次说明，你会在之后的文章中看到更多的需要配置Linux内核特性。

---

via: <http://www.linux.org/threads/the-linux-kernel-configuring-the-kernel-part-6.4457/>

译者：[geekpi](https://github.com/geekpi) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


Suse Linux 延长支持期时间到10年

Summary:
Suse在客户的要求下延长了支持期
Suse Linux Enterprise (SLE)(11版)及以后的版本将会迎来10年的支持期和而不是现在的7年，此举是为了应对竞争对手的服务。

Suse的总裁和总经理尼尔.布劳克曼，在佛罗里达的维斯塔湖 ...

# Suse Linux 延长支持期时间到10年

**Suse在客户的要求下延长了支持期**

Suse Linux Enterprise (SLE)(11版)及以后的版本将会迎来10年的支持期和而不是现在的7年，此举是为了应对竞争对手的服务。

<img src="content_image/album_201311_24_191613bj65zeu3ela760za.png" alt="" title="">

Suse的总裁和总经理尼尔.布劳克曼，在佛罗里达的维斯塔湖举办的Suse 2013会议上的发言说："我们将进入一个新的Suse Linux Enterprise支持周期。"这个主题演讲的[视频](http://www.youtube.com/watch?v=T0W4izFu_WM)已经被放到了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月的行动，RedHat根据客户需求将 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) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


Red Hat 为64位ARM服务器做准备

Summary:
ARM处理器可能带来具有成千上万的节点的堆叠服务器，Red Hat的ARM首席架构师预测说

来自IDG新闻服务：企业开源软件供应商Red Hat公司正在密切关注服务器的64位ARM处理器的发展，以建立在数据中心的新生平台上的专业 ...

# Red Hat 为64位ARM服务器做准备

>
> ARM处理器可能带来具有成千上万的节点的堆叠服务器，Red Hat的ARM首席架构师预测说
>
>
>

来自IDG新闻服务：企业开源软件供应商Red Hat公司正在密切关注服务器的64位ARM处理器的发展，以建立在数据中心的新生平台上的专业能力。

<img src="content_image/album_201311_24_194527yy3gg7yvy087as53.png" alt="" title="">

“你们在当今的商业产品市场看不到我们，但我们已经建立了超越如今一些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](http://www.linaro.org/)是一个致力于为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) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


如何在Linux下监控系统温度

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

# 如何在Linux下监控系统温度

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

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

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

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

例如[lm-sensors](http://lm-sensors.org/)，它可以从硬件嵌入式传感器获取信息,以达到监测温度、电压、湿度和风扇的作用；还有[hddtemp](http://www.guzu.net/linux/hddtemp.php),它可以通过读取[S.M.A.R.T.](http://en.wikipedia.org/wiki/S.M.A.R.T.)参数来测量温度；今天我们要介绍的是[psensor](http://wpitchoune.net/blog/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配置中，这样它们才可以在开机时自动加载。

在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窗口将显示一个可用的传感器列表，并将传感器中读出的温度可视化显示出来。你可以选择性地启用或禁用任意一个传感器。

[](http://www.flickr.com/photos/xmodulo/10719475225/)

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

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

---

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

译者：[Luoxcat](https://github.com/Luoxcat) 校对：[Mr小眼儿](http://blog.csdn.net/tinyeyeser)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


Linux编程女神计划招募新的内核级MM实习生

Summary: 作为FOSS的Linux编程女神计划（Outreach Program for Women）的一部分，这个夏季在Linux基金会工作的实习生们背景不同，水平也高低不等，但是她们至少有一件事情是相同的（除去性别之外），就是她们可以在自己的履历 ...

# Linux编程女神计划招募新的内核级MM实习生

作为[FOSS的Linux编程女神计划（Outreach Program for Women）](https://wiki.gnome.org/OutreachProgramForWomen)的一部分，这个夏季在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月内核报告](http://lwn.net/Articles/563977/)，作为一个组织，OPW被列为对Linux3.11内核的主要贡献者之一，提交了230个变更，总体位于第13位。其中，实习生Xenia Ragiadakou给3.11内核贡献了100个补丁，在最活跃的开发者中位列前10！

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

据[LWN 10月分析报告](http://lwn.net/Articles/570483/)，在内核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 页面](http://kernelnewbies.org/OPWIntro)。

### 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](http://www.linux.com/community/forums/person/41373/catid/200-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](https://github.com/Linux-pdz) 校对：[jasmiepeng](https://github.com/jasminepeng),[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


举例说明Linux diff 命令

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

# 举例说明Linux diff 命令

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

<img src="content_image/album_201311_25_1522382ry6m46tlxsszz5r.png" alt="" title="">

在本篇中，我们将通过一些实例来学习如何使用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

```

这是'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的后面，我们看到如果文件相同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](http://unixhelp.ed.ac.uk/CGI/man-cgi?diff)来获取完整的列表。

---

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

译者：[geekpi](https://github.com/geekpi) 校对：[Caroline](https://github.com/carolinewuyan)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


Mark Shuttleworth为“茶派”及其他错误认错

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

我们并不是每天都能看到Mark Shuttleworth连续道歉两次，很有可能这是第一次。
第一个道歉是对收到了Canonical公司法律团队  ...

# Mark Shuttleworth为“茶派”及其他错误认错

**Canonical公司的创始人Mark Shuttleworth他澄清了他的[“茶派”论调](http://linux.cn/article-2283-1.html)，为他的言论而表示歉意。**

<img src="content_image/album_201311_26_225319vrb4h074py0rb1p7.jpg" alt="" title="">

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

[第一个道歉](http://news.softpedia.com/news/Mark-Shuttleworth-Apologizes-for-the-Trademark-Infringement-Letter-Sent-to-Fixubuntu-com-398583.shtml)是对收到了Canonical公司法律团队邮件的fixubuntu.com的站长Micah F. Lee，他写了一篇广泛传播的关于这些问题的博客，并且在许多论坛和网站引起了热议。

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

这个道歉之后，他又花了一些时间说，他为带来了很多抨击的[“茶派”](http://news.softpedia.com/news/Mark-Shuttleworth-Says-That-Mir-Opponents-Have-Formed-the-Open-Source-Tea-Party-392793.shtml)的说法而后悔，这个事情甚至比他原来认为的还要糟糕。

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

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

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

---

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

译者：[Vito](https://github.com/vito-L) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


五个 ping 工具的使用实例

Summary:
什么是 ping 工具
在讲述一些关于ping工具真实直观的使用实例前，先让我来介绍一下这个命令行工具及其目的。ping工具通常用来测试一台主机在互联网协议(IP)网络内的可达性。其名字源于主动声纳法在水下创建一个脉冲  ...

# 五个 ping 工具的使用实例

### 什么是 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](https://github.com/Luoxcat) 校对：[Mr小眼儿](http://blog.csdn.net/tinyeyeser)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


Ubuntu每日小贴士 - 在Ubuntu下创建虚拟网卡

Summary:
这个教程是为那些想用Ubuntu做点小实验的用户准备的。这并不适用于所有人，尤其是那些在（正式环境中）使用生产机器的用户。
如果你对网络运行和IP网络有所了解，你应该知道在大多数情况下，每个网卡只会分配一个IP  ...

# Ubuntu每日小贴士 - 在Ubuntu下创建虚拟网卡

这个教程是为那些想用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](https://github.com/Luoxcat) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


每日Ubuntu小技巧-更改Samba工作组和计算机名

Summary:
这是另一个Ubuntu的新用户问的最多的问题。这个问题的答案很简单，但当你接触新事物时，你需要时间来完全理解它。
这是我们前几天收到的问题；

如何更改Samba的工作组名和Ubuntu的计算机名称？

对于大多数Ubuntu用 ...

# 每日Ubuntu小技巧-更改Samba工作组和计算机名

这是另一个Ubuntu的新用户问的最多的问题。这个问题的答案很简单，但当你接触新事物时，你需要时间来完全理解它。

这是我们前几天收到的问题；

>
> 如何更改Samba的工作组名和Ubuntu的计算机名称？
>
>
>

对于大多数Ubuntu用户，改变他们的计算机名称是极少发生的事情，更别说samba工作组了。一些进阶使用者可能要学习如何用Ubuntu很简单的做到这一点。

当涉及到在Ubuntu中更改计算机名时，我们曾写过一个简单的帖子，可以点击[这里](http://linux.cn/article-2199-1.html)找到。按照这个[怎样修改你的计算机名字](http://linux.cn/article-2199-1.html)的简易指南来实现目的。

也许还有其他方法来改变你在Ubuntu中的计算机名，但是这是最简单和最快的。对于那些使用Ubuntu系统的服务器，你可以用vi或vim编辑的主机名和主机文件。那些不了解这些编辑器的人也许很难使用vi或vim。

在键盘上按**Ctrl – Alt – T**打开终端来更改Ubuntu中的Samba工作组。当终端打开时，运行以下命令来编辑的Samba的配置文件。

```
sudo gedit /etc/samba/smb.conf

```

打开这个文件后，请确保在[global]段中workgroup起始的那行的单词或值是你想要的工作组。例如，如果你希望工作组变成UBGP，将WORKGROUP替换成UBGP，并保存该文件。在大多数情况下，你必须重启动计算机以使之生效。

<img src="content_image/album_201311_27_001855q11h38zyqtfqm8sv.png" alt="" title="">

以上就是如何在Ubuntu中更改你的计算机名以及工作组的方法。记住，如果你这样做是为了共享或访问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)，[whatever1992](https://github.com/whatever1992) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


Canonical Dev称Linux Mint“脆弱”，不要将其用于网银

Summary:
一位Canonical公司工程师建议：基于Ubuntu的流行操作系统Linux Mint用户不应该将其用于网银 。
Mint决定禁止更新那些存在已知安全问题的安装包 - 从内核、浏览器到启动加载器和Xorg显示服务 - 这样给用户带来了一个  ...

# Canonical Dev称Linux Mint“脆弱”，不要将其用于网银

**一位Canonical公司[工程师建议](https://lists.ubuntu.com/archives/ubuntu-devel-discuss/2013-November/014770.html)：基于Ubuntu的流行操作系统Linux Mint用户不应该将其用于网银 。**

Mint决定禁止更新那些存在已知安全问题的安装包 - 从内核、浏览器到启动加载器和Xorg显示服务 - 这样给用户带来了一个“脆弱的系统” ，Oliver Grawert说。

>
> “不去马上整合Ubuntu提交的那些修正，而是拒绝这些软件包的（安全）更新。我要说，强制保持一个有缺陷的内核、浏览器或xorg，而不是允许安装更新补丁，这会变成一个易受攻击的系统，（原文如此）”。
>
>
> “就我个人而言，我不会用它做网银操作。”
>
>
>

当然不只有Grawert认为Mint在安全意识上的低下。Mozilla贡献者兼前Ubuntu成员 **Benjamin Kerensa** 也有同样的看法：

>
> “目前还不清楚为什么Linux Mint禁止所有的安全更新。我可以说，Mint需要花好几个月才能得到一个Firefox的修正版，而Ubuntu和Debian已经早在他们的包上打了安全补丁。
>
>
> 这将置Linux Mint用户处于危险中，也是我从来不建议任何人将Linux Mint作为一种替代Ubuntu的系统的主要原因之一。”
>
>
>

Oliver Grawert是一位可靠的撰稿人。作为一位Canonical公司下的Ubuntu工程师，他比大多数人更了解自己在说什么。

那么Mint的用户存在实际风险么？

半对半错。Mint开发商坚决拒绝更新的现有软件包中大部分的安全“漏洞”（这个词更好一些）都是有记录和已知的，虽然这些漏洞很少被利用。因此对用户构成的“实际风险”仍然存在，至少现在，在理论上是很有可能的。

也就是说，没有发生**已知的**由于使用Mint发行版（或任何其他基于Ubuntu的未打补丁的发行版）并被通过利用Grawert引用的Ubuntu开发邮件列表上的漏洞造成身份盗窃乃至更糟的事故的情况。

但是，仅仅因为迄今为止没有人曾经钻进这扇半掩的窗户，并不能说明其他人永远不会这么做。

**看到Ubuntu持续被提及有关自身的（主要是理论上）隐私问题后，至少它还穿着另外一只鞋子，我们可喜的看到它对用户安全的强烈关注正在延伸至其他发行版上。**

*请注意：我们已经向Linux Mint征求意见及澄清，答复将在后继文章发表。*

---

via: <http://www.omgubuntu.co.uk/2013/11/canonical-dev-dont-use-linux-mint-online-banking-unsecure>

译者：[whatever1992](https://github.com/whatever1992) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


每日Ubuntu小技巧：一款轻量级的Email阅读器Geary

Summary:
正如大家所知，Ubuntu 本身自带可以收发邮件的客户端Thunderbird，当然它也支持Gmail，Yahoo Mail，Microsoft Outlook 等等支持IMAP协议的邮件服务。
Thunderbird 是一个功能强大的邮件客户端，只要email客户端所需  ...

# 每日Ubuntu小技巧：一款轻量级的Email阅读器Geary

正如大家所知，Ubuntu 本身自带可以收发邮件的客户端——Thunderbird，当然它也支持Gmail，Yahoo Mail，Microsoft Outlook 等等支持IMAP协议的邮件服务。

Thunderbird 是一个功能强大的邮件客户端，只要email客户端所需要的功能，它都能够做到。但是如果你想选择一个能在够在GNOME 下运行的轻量级客户端，Geary 是一个不错的选择。

Geary 是一个界面简洁，能让你快捷方便的地阅读邮件的免费程序。它所有的对话均展示在一个简洁的面板上，这样你可以不必点击鼠标来切换消息。

Geary 还支持IMAP 协议，所以你可以使用Google, Yahoo 和 Microsoft 这样的在线邮箱服务。

以Ubuntu 13.10用户为例，Geary 可以在Ubuntu 的软件中心获取。只要运行以下命令即可安装Geary 。

```
sudo apt-get install geary

```

在以前的Ubuntu 版本中，键盘按下**Ctrl – Alt – T** 可以打开终端。打开之后，运行以下命令增加PPA源。

```
sudo add-apt-repository ppa:yorba/ppa

```

接下来运行以下命令来升级系统和安装Geary 。

```
sudo apt-get update && sudo apt-get install geary

```

第一次启动Geary时，你需要设置你的Gmail，Yahoo 或 Microsoft 电子邮件帐户。

<img src="content_image/album_201311_28_13131154f7h1z7033x7u3u.png" alt="" title="">

设置非常的简单，只要输入你的账号信息，Geary 就会自动配置好你的账号。

若想卸载Geary ，首先要从系统中移除它的PPA源，要运行的命令如下。

```
sudo add-apt-repository -r ppa:yorba/ppa

```

然后再运行以下命令卸载Geary 。

```
sudo apt-get remove geary

```

就这么简单~

---

via: <http://www.liberiangeek.net/2013/11/daily-ubuntu-tips-get-geary-a-lightweight-email-reader-in-ubuntu/>

译者：[NearTan](https://github.com/NearTan) 校对：[Caroline](https://github.com/carolinewuyan)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


九个uname命令获取Linux系统详情的实例

Summary:
当你在控制台模式下，无法通过鼠标右键  关于获取操作系统的信息。这时，在Linux下，你可以使用uname命令，帮助你完成这些工作。 Uname是unix name的缩写。在控制台中实际使用的时候只需键入uname。

当你输入uname  ...

赞！！不过我想知道在安装Git lfs的时候怎么根据这些信息选择安装哪一个版本呢？

可以讲一下Git lfs的这几个版本的意思吗？尤其是后两个的区别

Linux 386

Linux ARM64

Linux AMD64

# 九个uname命令获取Linux系统详情的实例

当你在控制台模式下，无法通过“鼠标右键 > 关于”获取操作系统的信息。这时，在Linux下，你可以使用**uname**命令，帮助你完成这些工作。 Uname是**unix name**的缩写。在控制台中实际使用的时候只需键入**uname**。

<img src="content_image/album_201311_28_133107waaiialkaazaaa0u.png" alt="" title="">

当你输入uname不带参数时，它仅仅显示你的操作系统的名字。

```
# uname

Linux

```

也许这还不能满足你的需要。所以你需要加上一些参数，来使uname显示你所需要的信息。

以下是uname参数的列表:

### 1. 内核名称

你可以用**-s**参数，显示内核名称。（译注：可以在其他的类Unix系统上运行这个命令看看，比如mac就会显示Darwin）

```
# uname -s

Linux

```

输出信息会跟uname不带参数时输出的一样。

### 2. 内核发行版

如果你想知道你正在使用哪个内核发行版（指不同的内核打包版本），就可以用**-r**参数

```
# uname -r

2.6.18-371.1.2.el5

```

### 3. 内核版本

除一些内核信息外，用**-v**参数uname也能获取更详细的内核版本信息（译注：不是版本号，是指该内核建立的时间和CPU架构等）。

```
# uname -v

#1 SMP Tue Oct 22 12:57:43 EDT 2013

```

### 4. 节点名

参数 -n 会提供给你节点的主机名。举例来说，如果你的主机名是“dev-machine”，**-n**参数就会把主机名打印出来。

```
# uname -n

dev-machine

```

对于RedHat和CentOS用户来说，你也可以通过**/etc/redhat\_release**文件来查看：

```
# cat /etc/redhat_release

CentOS release 5.10 (Final)

```

如果不是基于RedHat的发行版，你可以查看**/etc/issue**文件.类似如下：

```
# cat /etc/issue

Linux Mint Olivia \n \l:

```

### 5.硬件名称

如果你想知道用的是哪类机器，你可以尝试**-m**参数。它将告诉你关于硬件的信息。

```
# uname -m

i686

```

i686表明了你用的是32位的操作系统，如果是X86\_64则表明你用的是64位的系统。

### 6. 硬件平台

与硬件名称类似，-i参数会显示你的硬件平台（译注：硬件名称i686是属于硬件平台i386系列的）。

```
# 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) 校对：[Mr小眼儿](http://blog.csdn.net/tinyeyeser)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


11个Linux基础面试问题

Summary:
Q.1: Linux 操作系统的核心是什么?

Shell
Kernel
Command
Script
Terminal

答: 内核(Kernel)是Linux 操作系统的核心。Shell是一个命令行解释器，命令（Command）是针对计算机的指令，脚本(Script)是存储在文件中  ...

# 11个Linux基础面试问题

### Q.1: Linux 操作系统的核心是什么?

* Shell
* Kernel
* Command
* Script
* Terminal

>
> **答**: 内核(Kernel)是Linux 操作系统的核心。Shell是一个命令行解释器，命令（Command）是针对计算机的指令，脚本(Script)是存储在文件中的命令的集合，终端(Termial)是命令行接口。
>
>
>

### Q.2: Linus Torvalds 都创建过什么东东?

* Fedora
* Slackware
* Debian
* Gentoo
* Linux

>
> **答**: Linux Torvalds 创建了Linux，Linux是所有上述操作系统的核心，同样也是其他一些Linux 操作系统的核心。
>
>
>

### Q.3: Torvalds，使用C++语言编写了Linux内核的大部分代码，是这样吗?

>
> **答**: 不! Linux内核包含了12,020,528行代码，其中注释占去了2,151,595 行。因此剩下的9,868,933 行就是纯代码了。而其中7,896,318行都是用C语言写的。
>
>
>

剩下的1,972,615行则是使用C++，汇编，Perl, Shell Script, Python, Bash Script, HTML, awk, yacc, lex, sed等。

**注**：代码行数每天都在变动，平均每天超过3,509行代码添加到内核。

### Q.4: 起初，Linux 是为 Intel X86 架构编写的，但是后来比其他操作系统移植的硬件平台都多，是这样吗 ？

>
> **答**: 是的，我同意。Linux那时候是为x86机器写的，而且现已移至到所有类型的平台。今天超过90%的超级计算机都在使用Linux。Linux在移动手机和平板电脑领域前景广阔。事实上我们被Linux包围着，远程遥控，太空科学，研究，Web，桌面计算等等，举之不尽。
>
>
>

### Q.5: 编辑 Linux 内核合法吗?

>
> **答**: 是的，内核基于GPL发布，任何人都可以基于GPL允许的权限随意编辑内核。Linux内核属于免费开源软件（FOSS）。
>
>
>

### Q.6: UNIX和Linux操作系统，本质上的不同在哪里？

>
> **答**: Linux操作系统属于免费开源软件，内核是由 Linus Torvalds 和开源社区共同开发的。当然我们不能说UNIX操作系统和免费开源软件（FOSS）无关，BSD 就是基于 FOSS 范畴的 UNIX 的变种。而且大公司如 Apple，IBM，Oracle，HP等，都在为UNIX内核贡献代码。
>
>
>

### Q. 7: 挑出来一个与众不同的来.

* HP-UX
* AIX
* OSX
* Slackware
* Solaris

>
> **答** : Slackware。 HP-UX, AIX, OSX, Solaris 分别是由 HP, IBM, APPLE, Oracle 开发的，并且都是UNIX的变种. Slackware 则是一个Linux操作系统.
>
>
>

### Q.8: Linux 不会感染病毒吗?

>
> **答** : 当然会! 这个地球上不存在不会感染病毒的操作系统。但是Linux以迄今为止病毒数量少而著称，是的，甚至比UNIX还要少。Linux榜上有名的病毒只有60-100个，而且没有一个病毒在传播蔓延。Unix粗略估计有85-120个。
>
>
>

### Q.9: Linux 属于哪种类型的操作系统?

* 多用户
* 多任务
* 多线程
* 以上所有
* 以上都不是

>
> **答** : 以上所有。Linux是一个支持多用户，可以同时运行多个进程执行多个任务的操作系统。
>
>
>

### Q.10: 一般的 Linux 命令的语法格式是：

* command [选项] [参数]
* command 选项 [参数]
* command [选项] [参数]
* command 选项 参数

>
> **答** : Linux 命令的正确语法是, Command [选项] [参数]。
>
>
>

### Q.11: 挑出来一个与众不同的来.

* Vi
* vim
* cd
* nano

>
> **答** : cd 与其他命令不同。Vi，vim和 nano都是编辑器，用于编辑文档，而cd是用于切换目录的命令。
>
>
>

就这么多了。上述问题你学到手几个？效果如何？我们期待着你的评论。下周，会有新的问题，让我们拭目以待。保持健康，锁定链接，记得来**Tecmint**哦。

---

via: <http://www.tecmint.com/basic-linux-interview-questions-and-answers/>

译者：[l3b2w1](https://github.com/l3b2w1) 校对：[jasminepeng](https://github.com/jasminepeng)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


如何使用图形界面Webmin管理linux服务器

Summary: 一台典型的linux服务器运行命令行环境中，并已经包括了一些用于安装和配置各种没有界面的服务的基本工具。和一些成熟的具有图形界面的桌面软件相比，就安全性、资源消费和速度来说，仅需要少量的设置无疑是一个优点  ...

# 如何使用图形界面Webmin管理linux服务器

一台典型的linux服务器运行命令行环境中，并已经包括了一些用于安装和配置各种没有界面的服务的基本工具。和一些成熟的具有图形界面的桌面软件相比，就安全性、资源消费和速度来说，仅需要少量的设置无疑是一个优点。

如果你习惯了使用基于图形界面的软件环境，你也许会想在Linux服务器中是否也有图形界面。典型的Linux桌面环境如GNOME、KDE等，与它们提供的功能相比，其所占用的系统资源负担是很不值得的，而且还不够安全，因为越多的代码越会带来安全弱点。

另外一个成熟的桌面GUI的可选替代是使用 **基于Web的管理工具**。现在已经有许多基于Web的配置管理工具，如 [Webmin](http://www.webmin.com/)、[ISPconfig](http://www.ispconfig.org/)、[Zentyal](http://www.zentyal.org/)等。

在这篇教程中, 我会讲述 **怎样利用基于Web的界面工具来管理和配置Linux服务器**。

Webmin 是一个用Perl语言写的轻量级 (~20 MB) 系统配置工具。 Webmin 具有内置的web服务器， 允许用户通过web接口来配置Linux服务器。 其中一个优点是由于它是基于模块架构的，你可以选择性加载[模块](http://www.webmin.com/standard.html)来扩展其功能。

### Linux服务器上安装Webmin

在 Ubuntu 或 Debian 系统中安装Webmin， 你可以使用如下命令。

```
$ 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

```

在CentOS 或 RHEL 系统中安装Webmin， 使用如下命令：

```
$ wget http://prdownloads.sourceforge.net/webadmin/webmin_1.660_all.deb
$ sudo rpm -U webmin-1.660-1.noarch.rpm

```

### 使用 Webmin

安装好Webmin之后，你可以通过在浏览器中输入 https://<主机的IP地址>:10000 来使用。 如果你开启了防火墙， 请确保TCP端口 10000 没有被拦截。

同时， 请注意你应该使用 HTTPS， 而不是 HTTP。 否则， 会出现重定向错误。 Webmin 默认使用其自己生成的的SSL验证模式。

一旦你进入了Webmin登录页面， 你可以使用root身份登录 （当然需要输入root账户密码）或者使用具有root权限的任何用户账户登录。 登录成功后， 你可以看到如下Linux服务器的状态信息。

[](http://www.flickr.com/photos/xmodulo/10937800943/)

### Webmin 的特点

Webmin 一个引以为豪的优点就是它几乎能够配置任何Linux服务器所支持的配置。接下来我来介绍，让你们大体了解它的一些重要功能。

设置引导时自动启动的服务， 同时显示他们相关配置信息。

[](http://www.flickr.com/photos/xmodulo/10937589506/)

实时监控服务器状态和其他服务， 同时配置定时监控及邮件提醒。 你也可以监控一系列服务器守护进程如 NFS、MySQL、 BIND DNS、Squid proxy、Apache Web server等， 或者监控系统资源如磁盘存储情况、内存使用和网络占用等。

[](http://www.flickr.com/photos/xmodulo/10937589676/)

配置 iptables-based firewall。

[](http://www.flickr.com/photos/xmodulo/10937801173/)

配置本地路由表和网关。

[](http://www.flickr.com/photos/xmodulo/10937531925/)

挂载和配置文件系统。

[](http://www.flickr.com/photos/xmodulo/10937589556/)

通过文件管理接口来查看和修改本地文件，但是这需要浏览器有相关的java插件。

[](http://www.flickr.com/photos/xmodulo/10937531975/)

通过改变Webmin的相关配置，你可以控制管理 IP 地址，添加/删除 Webmin 功能模块，开启双因子认证来使用安全登录功能，或者创建证书验证等。

[](http://www.flickr.com/photos/xmodulo/10937532015/)

---

via: <http://xmodulo.com/2013/11/manage-linux-server-gui.html>

译者：[thinkinglk](https://github.com/thinkinglk) 校对：[Caroline](https://github.com/carolinewuyan)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


那些算法在哪里？

Summary: 本文来源于一篇stackexchange的问题回答。提问者问到，我们在计算机科学和数学课程里面学习到的那些算法，到底在什么地方用到了？结果Vijay D给出一个洋洋洒洒的深入回答，得到了提问者和众多围观。我们将这篇回答翻 ...


Apache OpenOffice 与 LibreOffice 之间的抉择

Summary:
这两个开源办公套件产品很相似，然而某一个貌似已经开始具有轻微的领先优势

Apache OpenOffice和LibreOffice都是OpenOffice.org的现代衍生产品。最近几年，几乎所有的Linux发行版都将LibreOffice作为它们的默认办公 ...

# Apache OpenOffice 与 LibreOffice 之间的抉择

>
> 这两个开源办公套件产品很相似，然而某一个貌似已经开始具有轻微的领先优势……
>
>
>

[Apache OpenOffice](http://www.openoffice.org/)和[LibreOffice](http://www.libreoffice.org/)都是OpenOffice.org的现代衍生产品。最近几年，几乎所有的Linux发行版都将LibreOffice作为它们的默认办公套件。然而，过去18个月来，OpenOffice作为Apache项目又重新回到了人们的视线，对于这两款全功能办公套件，现在，自由软件用户可以进行二选一咯~

<img src="content_image/album_201311_30_210641yyikkkvi0gqgy5i5.png" alt="" title="">

然而即使是用户，在两种几乎一样的选择中做决定也会有困难。三年前，这哥儿俩分了家，三年时间，这对于软件开发来说是很长的一段时间，即使是这样，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还拥有更多的“冒险创新精神”，例如，与边栏类似，Impress中的任务面板，摘要显示了大多数幻灯片设计步骤中要用到的选项卡名称。

在Writer编辑窗口中，LibreOffice的大部分界面已经完成改进，窗口底部的状态栏中，添加了一个字词计数器，原本负责管理和编辑模板的狭窄子菜单，如今也已被高端大气上档次的流线形按钮所取代。

更明显的，LibreOffice中的主文本框架被精减为四个边角的十字准线。同样的，页眉和页脚也默认改为不可见，要想找到它们，四个小直角标明了它们的边界位置，点击就可以出现。

不太成功的一点改进是LibreOffice中管理页眉页脚的编辑窗口中的选项卡。虽然这个选项卡事实上是为了便于手动调整格式，但是让人郁闷的是，当在新一页的第一行输入的时候，已经输入的一部分总是会自动隐藏起来。

尽管LibreOffice还重组了许多对话窗口的选项，但是这些努力远没有结束。有时，开发人员会让LibreOffice变成传统框架与现代极简艺术的混合体，看起来有些不伦不类，但是，至少LibreOffice正在尝试着解决长期搁置的界面问题，而这些，OpenOffice甚至都还没来得及意识到。

### 做出选择

如果文档不超过2到3页，一般用户可能会时常看看标题栏看自己用的是LibreOffice还是OpenOffice。然而，对于进阶用户而言，LibreOffice目前可能更有优势。优势并不算大，但是很明显。

这一优势的确很难被忽略。原因首先是，在LibreOffice已经确立了好几个月时间优势的情况下，OpenOffice却仍在专注于管理权和代码审计，这些工作也许有帮助，也有必要，但是普通用户更愿意看到他们对代码做出更多的改进工作。

其次，LibreOffice的开发人员大部分是[Go-oo](https://en.wikipedia.org/wiki/Go-oo)的前成员，这是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必须完全从头实现。

这一情况有可能会改变，尤其是当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) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


Recoll:Unix和Linux桌面的文本搜索工具

Summary:
Recoll是一个Unix和Linux桌面的文本搜索工具。Recoll可以搜索文件名和文件内的关键字。
Recoll可以为你做到以下这些。

它可以搜索任何格式的文件
支持通配符
可以依据文件的作者、类型、大小和格式等条件进行搜索
  ...

# Recoll:Unix和Linux桌面的文本搜索工具

[Recoll](http://www.recoll.org/)是一个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

```

对于其它的发行版，可以去[下载页面](http://www.lesbonscomptes.com/recoll/download.html)下载源代码并编译安装。

### 启动Recoll

Recoll可以从Dash或者菜单中启动。

第一次启动时，你需要索引整个home目录。依据你 home 目录里储存的东西的多少,需要的时间不等。按下**Start indexing now**按钮开始索引。

假如你想更多的自定义索引，可以调整索引配置和索引计划。要做到这一点，只需要点击一下**Indexing configuration**或者**Indexing schedule**链接。假如你要稍后再去配置，你可以在Preferences(首选项)菜单里配置这些选项。

一旦索引完成，你就可以搜索文件/文件夹了。结果将根据相关性展现，并显示匹配的一小部分内容。

### 配置

正如上面提到的，假如你想更多的控制索引的细节，你可以调节Recoll的索引功能。 在Recoll的工具中有两个配置项

1. 索引配置
2. 索引计划

让我们来看一下上面这两个的简短描述。

**索引配置**可以让你索引时决定包含哪些目录以及排除哪些目录。默认情况下索引时将包含整个home目录。你可以在这儿从索引中添加或移除目录。

你也可以定义web历史队列以及储存web页面的最大容量。

**index schedule**则是可以让制定一个计划以便于进行自动索引或者当你登陆系统后就进行实时索引。

Recoll支持两种索引计划：

**Cron任务** - 决定什么时候开始运行以及写入Crontab键值。

以上这个屏幕截图中，Recoll的cron任务会在每天上午12点的时候执行。设置完cron任务后，点击enable键激活它就可以咯。

**启动时实时索引** - 决定是否当你登陆入系统时进行实时索引。

激活这一选项，recoll的守护程序都会随系统启动。要注意的是这一选项只有在默认索引设置的情况下才可用。

### 基本搜索

现在你已经对Recoll了解的足够多了。是时候去搜索一下文件或者文件夹了。这个应用的美妙之处就在于它既可以搜索文件名还可以搜索文件内的关键词。

在Recoll的用户界面中，在顶部右边的搜索栏中键入要搜索的关键字，然后点击Search按钮。

如你在上图所见，精确相关的内容将会显示还能预览到一小部分内容。你可以点击Open按钮直接打开搜索到的文件，或者在打开它之前使用预览按钮预览它。

你还可以过滤搜索结果，使用分类例如媒体、消息、其它、演示文档、电子表格或者文本等。更重要的是，你还可以选择匹配任一项、全部项、文件名或者语言等的搜索结果。

### 高级搜索

点击菜单栏中的高级搜索图标或者前往**Tools->Advanced Search**。这将打开一个新的对话窗口。在这儿你可以附加更多的限制条件来进行搜索。例如我可以搜索文件内容里含有关键字“hp”以及文件名含有“storage”的文件。

这将找到并显示文件内含有关键字“hp”且文件名含有“storage”的文件。

### Unity桌面以及网站集成

这个应用支持桌面集成以及网站集成。假如你要把它集成到你的Ubuntu的Unity桌面中去，你可以用下面的命令安装**recoll-lens**。

```
sudo apt-get install recoll-lens

```

请注意，lens限制显示结果最多显示20条。假如你要显示更多数目的搜索结果，编辑**rclsearch.py**，修改“**if actual\_results >= 20:**”这一行就可以咯。

假如你使用火狐浏览器，要去搜索你每天访问的浏览历史，你可以使用这个[火狐扩展](http://sourceforge.net/projects/recollfirefox/)。这个火狐扩展可以和Recoll一起工作去索引你全天浏览的网站。在安装完这个扩展之后，在Recoll的索引配置中从web历史标签页中激活它就可以咯。

所有的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/) 荣誉推出


VidMasta:搜索和观看在线电影、电视剧的神器

Summary:
你是否曾经想要从桌面搜索电影或电视剧，或者搜寻能够随时为你搜索这些东西的应用程序？这儿有一个应用可以满足你的需要。
VidMasta是一个免费的、跨平台的的应用，它将搜索、浏览、评论、观看和下载那些在线分享的  ...

# VidMasta:搜索和观看在线电影、电视剧的神器

你是否曾经想要从桌面搜索电影或电视剧，或者搜寻能够随时为你搜索这些东西的应用程序？这儿有一个应用可以满足你的需要。

[**VidMasta**](https://sites.google.com/site/algwares/vidmasta)是一个免费的、跨平台的的应用，它将搜索、浏览、评论、观看和下载那些在线分享的视频和电视剧等功能融为一体。它可以运行在Linux、Windows和Mac OS X上。

### 特点

使用VidMasta，你可以做到以下这些：

* 观看或下载任何格式的电影或电视剧
* 支持的格式是：TV，DVD，720P，1080P。
* 匿名链接并自动过滤不受信任的IP，可以使用代理，还可以使用加密连接。
* 搜索算法可以为电影下载链接自动匹配最佳下载源
* “流行电影”和“流行电视剧”选项可以显示并让你下载当前最流行的电影／电视剧
* 下载电影字幕
* 可设置每次搜素结果的个数
* 设置下载的视频文件的扩展名
* 自动按照受欢迎度为搜索结果排序
* 可以听也可以阅读影视概要
* 观看预告片
* 查看上映时间和电影评价
* 多线程搜索和下载
* 能够侦测电影盒子设置
* 可以和[PeerBlock](http://www.peerblock.com/)集成（这项功能只能在Windows2000，xp,Vista和Windows 7上使用）
* 除了[Java](http://www.java.com/)（版本为6或以上）外，不再需要额外的软件
* 客户端可以自动更新

### 在Linux上安装VidMasta

在安装VidMasta之前，你应该在你的Linux桌面系统中安装最新版的Java。从[这儿](http://sourceforge.net/projects/vidmasta/)下载最新版。进入你下载的文件夹，使用下面的命令安装它：

```
sudo java -jar vidmasta-setup-16.7.jar

```

运行后，就会出现像下面这样的画面。点击下一步继续。

选择安装路径，点击下一步。

安装完成后，点击下一步。

设置快捷键。

最后，点击Done结束安装。

完成安装后，VidMasta会自动打开。下面是VidMasta的默认界面。

### 搜素电影&电视剧

搜索电影电视剧非常容易。在标题框里键入电影的名字，选择电影种类和电影格式，例如“任何”，“DVD”，“720HD”，“1080HD”等。然后敲击Enter键开始搜素。你还可以通过评价来过滤搜素结果。假如你不知道电影的名字，你可以在菜单栏里勾选“任何”。

例如我要搜索冒险类的清晰度为720HD并在在2012年的11月第一周的今天上映的电影。一旦你敲击搜索按钮，VidMasta就会从[www.imdb.com](http://www.unixmen.com/vidmasta-desktop-application-searching-movies-tv-shows/www.imdb.com)网站抓取搜索结果，并显示你每次搜索的关键词。下面是输出的样例。

你还可以在下载之前观看预告片或者阅读电影概要。要看电影的概要？选择一个电影，右击它，点击阅读概要就可以咯。你也可以使用搜索结果下的按钮去阅读电影概要，观看预告片，下载或者观看整个电影

更重要的是你可以在下载一部电影之前先观看它的预告片。点击观看预告片按钮，预告片就会在一个新窗口中打开，像下面这样。

如果你喜欢这部电影，可以点击下载链接（下载链接1或者下载链接2）下载这部电影。

### 流行电影＆流行电视剧

假如你不知道那些电影值得去看时。那么不用担心，VidMata有一个选项去显示当前流行的电影或电视剧。点击下面的流行电影或电视剧按钮去发现当前流行流行的电影或电视剧。

是不是很酷？

需要注意的是，若你不能下载最新的电影或电视剧时，也许是因为版权问题或者国家原因。

你也可以尝试一下安装最新版的Java并禁用掉屏蔽广告程序，再去播放或下载电影。

你是否对此很期待呢？赶紧把它下载下来安装到你的系统中，祝你使用愉快！

---

via: <http://www.unixmen.com/vidmasta-desktop-application-searching-movies-tv-shows/>

译者：[Linux-pdz](https://github.com/Linux-pdz) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


这是玩笑吗？Linux之“祖父”认为NSA曾要求在Linux中植入后门

Summary:
美国国家安全局（NSA）被指他们曾经要求Linux的创始人，Linus Torvalds，在GNU/Linux中建立一个他们可以访问的后门。
这绝非谣言，Linus的父亲，Nils Torvalds如此说道。（译注：也许Nils可以算做是Linux的祖父？好  ...

# 这是玩笑吗？Linux之“祖父”认为NSA曾要求在Linux中植入后门

美国国家安全局（[**NSA**](http://www.nsa.gov/)）被指他们曾经要求Linux的创始人，Linus Torvalds，在GNU/Linux中建立一个他们可以访问的“后门”。

这绝非谣言，Linus的父亲，Nils Torvalds如此说道。（译注：也许Nils可以算做是Linux的祖父？好吧，我是标题党，啦啦啦~ :D 无论如何，感谢他生了一个好儿子！ ）

<img src="content_image/album_201312_01_195614gdv9qvj1jgzmjgo3.jpg" alt="Nils Torvalds" title="Nils Torvalds">

作为欧洲议会（MEP）的成员之一，Nils出席了最近关于“欧盟公民监视问题”的委员会质询会议。根据爱德华·斯诺登泄露出的一些NSA文档，委员会对文档中列出的一些公司代表就所谓的“合作”进行了质询。

同属欧洲议会成员的瑞典盗版党主席Christian Engström就质问微软的发言人，其公司是否曾主动为NSA在他们的系统中植入过“后门”，（译者注：盗版党是一个以废除专利制度、维护公民隐私为宗旨的民间自发政党，最先在瑞典出现，传送门→[盗版党百度百科](http://baike.baidu.com/view/1104760.htm)）。之后，Nils Torvalds[说道](http://youtu.be/EkpIddQ8m2s?t=3h09m06s)：

>
> 我的长子[Linus Torvalds]也被问到了同样的问题 —— “NSA是否曾要求他植入后门？”，当时他口中回答“No”，但同时却在点头。我的儿子有某种程度上的法律自由，他已经给出了正确的回答…… 每个人都明白，NSA的确曾要求他这么干过！
>
>
>

如果这段描述让你觉着耳熟，你可以[看下Youtube上关于这一段的视频片段](http://www.youtube.com/watch?v=7gRsgkdfYJ8)。后来Linus坚称他当时只是开玩笑，[NSA并没有为此找过他](http://mashable.com/2013/09/19/linus-torvalds-backdoor-linux/)。

**但是，根据11月11号质询会议上的发言看来，他的父亲并不这么想。**

根据文档，Google、[Yahoo!](http://www.telegraph.co.uk/technology/internet-security/10459081/Yahoo-to-encrypt-internal-traffic-following-NSA-revelations.html)、Facebook，[的确还有微软](http://www.bbc.co.uk/news/technology-23285642)，都在NSA要求提供“后门”的合作公司之列，这一发现，虽不足以震惊全世界，但事实上，从大局考虑还是有意义的。毕竟，凭什么说NSA不会要求Linus这么做呢？

Nils并没有解释Linus具体是如何回应的 —— 但我估计，这说明了两个问题，首先我们至少可以肯定的一点是，开源世界一直在努力防范类似事情成为可能；

其次，如果真的有某些漏洞存在，NSA长长的触手早就已经把你的压箱底私房钱翻个底儿掉了。

---

via: <http://www.omgubuntu.co.uk/2013/11/nsa-ask-linus-torvalds-include-backdoors-linux-father-says-yes>

译者：[Mr小眼儿](http://blog.csdn.net/tinyeyeser) 校对：[Caroline](https://github.com/carolinewuyan)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


如何在CentOS 5/6上安装EPEL 源

Summary:
EPEL 是什么？
EPEL (Extra Packages for Enterprise Linux，企业版Linux的额外软件包) 是Fedora小组维护的一个软件仓库项目，为RHEL/CentOS提供他们默认不提供的软件包。这个源兼容RHEL及像CentOS和Scientific Linu ...

非常有帮助

# 如何在CentOS 5/6上安装EPEL 源

EPEL 是什么？

EPEL (Extra Packages for Enterprise Linux，企业版Linux的额外软件包) 是Fedora小组维护的一个软件仓库项目，为RHEL/CentOS提供他们默认不提供的软件包。这个源兼容RHEL及像CentOS和Scientific Linux这样的衍生版本。

<img src="content_image/album_201312_02_234203dr5rr4yhakaybalk.jpg" alt="" title="">

我们可以很容易地通过yum命令从EPEL源上获取上万个在CentOS自带源上没有的软件。EPEL提供的软件包大多基于其对应的Fedora软件包，不会与企业版Linux发行版本的软件发生冲突或替换其文件。

更多关于EPEL 项目的细节可以到以下网站获取：<https://fedoraproject.org/wiki/EPEL>

在文本中，我将展示在CentOS下如何安装EPEL源

>
> 提示 - RHEL/CentOS系统有许多第三方源，比较流行的比如RpmForge，RpmFusion，EPEL，Remi等等。
>
>
> 然而需要引起注意的是，如果系统添加了多个第三方源，可能会因此产生冲突——一个软件包可以从多个源获取，一些源会替换系统的基础软件包，从而可能会产生意想不到的错误。已知的就有Rpmforge与EPEL会产生冲突。
>
>
> 对于这些问题我们建议，调整源的优先权或者有选择性的安装源，但是这需要复杂的操作，如果你不确定如何操作，我们推荐你只安装一个第三方源。
>
>
>

在CentOS 上安装EPEL
---------------

要想安装EPEL，我们先要下载EPEL的rpm安装包。

CentOS/RHEL下的6.x和5.x版本下载页面如下

<http://download.fedoraproject.org/pub/epel/6/i386/repoview/epel-release.html> <http://download.fedoraproject.org/pub/epel/5/i386/repoview/epel-release.html>

以上网址可能会被重定向到特定的镜像站而加快下载速度。这个页面包含可以直接获取到rpm包的下载链接。直接的下载链接如下：

<http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm> <http://download.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm>

根据你的CentOS 版本来选择正确的下载地址。

请注意EPEL 的安装包是独立编译的，所以它可以安装在32位和64位系统中。

### 1. 确认你的CentOS 的版本

首先通过以下命令确认你的CentOS 版本

```
$ cat /etc/redhat-release
CentOS release 6.4 (Final)

```

### 2. 下载EPEL 的rpm 安装包

现在从上面的地址下载CentOS 版本所对应的EPEL 的版本

```
$ wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm

```

### 3. 安装EPEL

通过以下命令安装EPEL 软件包

```
$ sudo rpm -ivh epel-release-6-8.noarch.rpm

```

或

```
$ sudo rpm -ivh epel-release*

```

### 5. 检查EPEL 源

安装好EPEL 源后，用yum 命令来检查是否添加到源列表

```
# yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.vonline.vn
 * epel: buaya.klas.or.id
 * extras: centos-hn.viettelidc.com.vn
 * updates: mirrors.fibo.vn
repo id        repo name                                              status
base           CentOS-6 - Base                                         6,381
epel           Extra Packages for Enterprise Linux 6 - x86_64         10,023
extras         CentOS-6 - Extras                                          13
nginx          nginx repo                                                 47
updates        CentOS-6 - Updates                                      1,555
repolist: 18,019

```

EPEL已经在repo 后列出，并且显示提供了上万个软件包，所以EPEL 已经安装到你的CentOS了。

EPEL源的配置安装到了 **/etc/yum.repos.d/epel.repo** 文件。

现在来试一下从EPEL 获取软件包

```
$ sudo yum install htop

```

---

via: <http://www.binarytides.com/setup-epel-repository-centos/>

译者：[NearTan](https://github.com/NearTan) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


每日Ubuntu小技巧－让鼠标适合左利手用户

Summary:
电脑的鼠标被设计成使用食指（大拇指旁边的那个手指）完成大部分操作。默认情况下鼠标为右利手用户配置。打开电脑时，多数情况下你会使用食指完成点击动作。
事实上，许多左利手用户（俗称左撇子）习惯把鼠标放到键  ...

# 每日Ubuntu小技巧－让鼠标适合左利手用户

电脑的鼠标被设计成使用食指（大拇指旁边的那个手指）完成大部分操作。默认情况下鼠标为右利手用户配置。打开电脑时，多数情况下你会使用食指完成点击动作。

事实上，许多左利手用户（俗称左撇子）习惯把鼠标放到键盘的左边，然后用中指进行单击操作。但这并不是左利手用户使用鼠标最好的方法。

这个简短的教程为想要正确地使用左手操作鼠标的用户而编写。它将会帮助左利手用户将鼠标设置成用食指点击鼠标主键的操作模式。

这个教程同样适用于右利手用户。如果鼠标为左利手用户设置，那么右利手用户可以使用这个教程将鼠标键切换回来。

好了，现在咱们开始吧，点击顶部右端面板中的齿轮按钮选择**System Settings（系统设置）**...

然后在系统设置选项中选择**Mouse & Touchpad (鼠标和触摸板)**，打开后选择‘**Right(右)**’选项，这样就可以改变鼠标的主键以适应左利手用户。

改回左以适应右利手用户。改变将会在选择后立即生效。

就是这样了。现在左撇子用户可以将鼠标移到键盘左边，用左手的食指来正确地操作鼠标了。

使用愉快！

---

via: <http://www.liberiangeek.net/2013/11/daily-ubuntu-tipsmake-the-mouse-left-handed-for-left-hand-users/>

译者：[Linchenguang](https://github.com/Linchenguang) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出