在Linux中使用LVM构建灵活的磁盘存储（第一部分）

Summary: 逻辑卷管理器（LVM）让磁盘空间管理更为便捷。如果一个文件系统需要更多的空间，可以在它的卷组中将空闲空间添加到其逻辑卷中，而文件系统可以根据你的意愿调整大小。如果某个磁盘启动失败，用于替换的磁盘可以使用卷组注册成一个物理卷，而逻辑卷扩展可以将数据迁移到新磁盘而不会丢失数据。 在Linux中创建LVM存储 在如今，每台服务器空间都会因为我们的需求增长而不断扩展。逻辑卷可以用于RAID，SAN。单个物理卷将会被加入组以创建卷组，在卷组中，我们需要切割空间以创建逻辑卷。在使用逻辑卷时，我们可以使用某些命令来跨磁盘、跨逻辑

@我的印象笔记

LVM用着确实很方便，但是在高要求环境下用RAID靠谱一点，否则磁盘挂了你找谁？

RAID5或RAID0之上，你再用 LVM。

不过，我真的不喜欢 LVM，感觉麻烦，或者是因为场景不太需要。

mark

我个人不讨厌LVM。我只在LVM上用过RAID，没有在RAID上用过LVM，另外我只有模拟场景，从没在真实场景下用过（还是学生）我觉得LVM不错的地方就是可以把多块磁盘的空间合并到一起创建一个超大的空间，方便文件的存放管理

受教

有空了我试试性能

在 LVM 上使用 raid 就只能使用软 RAID 了，其实也还可以。<br />
LVM 能将多个零散的存储拼合到一起，是不错的。只是一般设计服务器的时候，预先对用量会有估计，所以有时候用不到这种；当然，有时候存在没办法预先估计，而增长速度也不确定的情况下，不能用多台机器分担及使用 NAS 之类时，LVM 还是相当有用的。

lvm也没想象中的那么容易坏吧，lvm和raid各有优势吧，从理论上来说raid更加安全，lvm更容易扩展

不是 LVM 坏，是硬盘的硬件坏。。。

没规划经验，刚好拿来学一下！

# 在Linux中使用LVM构建灵活的磁盘存储（第一部分）

**逻辑卷管理器（LVM）**让磁盘空间管理更为便捷。如果一个文件系统需要更多的空间，可以在它的卷组中将空闲空间添加到其逻辑卷中，而文件系统可以根据你的意愿调整大小。如果某个磁盘启动失败，用于替换的磁盘可以使用卷组注册成一个物理卷，而逻辑卷扩展可以将数据迁移到新磁盘而不会丢失数据。

*在Linux中创建LVM存储*
在如今，每台服务器空间都会因为我们的需求增长而不断扩展。逻辑卷可以用于RAID，SAN。单个物理卷将会被加入组以创建卷组，在卷组中，我们需要切割空间以创建逻辑卷。在使用逻辑卷时，我们可以使用某些命令来跨磁盘、跨逻辑卷扩展，或者减少逻辑卷大小，而不用重新格式化和重新对当前磁盘分区。卷可以跨磁盘抽取数据，这会增加I/O数据量。

### LVM特性

* 可以在任何时候灵活地扩展空间。
* 可以安装和处理任何文件系统。
* 可以通过迁移来恢复错误磁盘。
* 可以使用快照功能恢复文件系统到先前的阶段。等等……

#### 我的服务器设置 - 需求

* 操作系统 —— 安装有LVM的CentOS 6.5
* 服务器IP地址 —— 192.168.0.200

### 在Linux中创建LVM磁盘存储

**1.** 我们已经在虚拟磁盘（VDA）中使用了带LVM的CentOS 6.5操作系统。在此，我们可以使用下列命令查看到物理卷（PV），卷组（VG），逻辑卷（LV）。

```
# pvs
# vgs
# lvs

```

*检查物理卷*
下面是上面截图中各个参数的说明。

* 物理磁盘大小（PV Size）
* 用作虚拟磁盘vda的磁盘
* 卷组大小（VG Size）
* 卷组名称（vg\_tecmint）
* 逻辑卷名称（LogVol00，LogVol01）
* LogVol00分配给swap，大小1GB
* LogVol01分配给/，大小16.5GB

从上面看，我们可以知道VDA磁盘中没有足够的空闲空间。

**2.** 为了创建一个**新卷组**，我们需要在这台服务器上添加额外的**3个硬盘**。3个驱动器不是强制使用的，只要一个就足够用来创建新的**VG**，并在其中创建**LV**了。我在这里添加了更多的磁盘，目的只是用于演示和更多命令功能的说明。

下面是我已经额外添加的磁盘。

```
sda, sdb, sdc

```

---

```
# fdisk -l

```

*验证添加的磁盘*
* 用于操作系统（CentOS 6.5）的默认磁盘。
* 默认磁盘上定义的分区（vda1 = swap），（vda2 = /）。
* 额外添加的磁盘Disk1，Disk2，Disk3。

各个磁盘大小都是20GB，默认的卷组的PE大小为4MB，我们在该服务器上配置的卷组使用默认PE。

*卷组显示*
* **VG Name** – 卷组名称。
* **Format** – LVM架构使用LVM2。
* **VG Access** – 卷组为读写模式，备好待用。
* **VG Status** – 卷组可调整大小，如果我们需要添加更多空间，我们可以扩展更多。
* **Cur LV** – 当前卷组中有2个逻辑卷。
* **CurPV and Act PV** – 当前使用的物理磁盘是1（vda），已被激活，因此我们可以使用该卷组。
* **PE Size** – 磁盘的物理扩展大小，可以定义使用PE，或者GB，LVM的默认PE大小是4MB。例如，如果我们需要创建5GB大小的逻辑卷，我们可以使用总计1280 PE，你们懂我的意思么？

这里解释一下 -> 1024MB = 1GB，这样的话，1024MB x 5 = 5120PE = 5GB，然后5120/4 = 1280，4是默认的PE大小。

* Total PE – 该卷组具有的PE数量。
* Alloc PE – 总的PE使用量，已经使用的全部PE，4482 x 4PE = 17928。
* Free PE – 这里因为已经使用，所以没有空闲PE了。

**3.** 只使用了vda，当前CentOS在使用lvm的vda物理磁盘中安装了**/boot，/，swap,**，该磁盘中没有空间剩余。

```
# df -TH

```

*检查磁盘空间*
上面的图片中显示了用于根的挂载点已使用了**18GB**，因此没有空闲空间可用了。

**4.** 那么，让我们创建新的物理卷（**pv**），以及名为**tecmint*add*vg**的卷组（**vg**），并在其中创建逻辑卷（**lv**）。这里，我们可以创建4个逻辑卷，分别名为 **tecmint\_documents**，**tecmint\_manager**以及**tecmint*add*vg**。

我们可以扩展当前使用的卷组以获得更多空间。但在这里，我们将要做的是，创建新的卷组，然后在里面肆意妄为吧。过会儿，我们可以看到怎样来扩展使用中的卷组的文件系统。

在使用新磁盘前，我们需要使用fdisk来对磁盘分区。

```
# fdisk -cu /dev/sda

```

* **c** – 关闭DOS兼容模式，推荐使用该选项。
* **u** – 当列出分区表时，会以扇区而不是柱面显示。

*创建新的物理分区*
接下来，请遵循以下步骤来创建新分区。

* 选择**n**来创建新分区。
* 选择**p**来创建主分区。
* 选择我们需要创建的分区号。
* 按**Enter**两次来使用整个磁盘空间。
* 我们需要修改新创建的分区类型，输入**t**。
* 选择需要修改的分区号，选择我们创建的分区号**1**。
* 这里，我们需要修改类型。我们需要创建LVM，因此我们使用LVM的类型代码8e。如果不知道类型代码，按**L**来列出所有类型代码。
* 打印我们创建的分区以确认。
* 这里我们可以看到Linux LVM的ID 8e。
* 写入修改并退出fdisk。

重复以上步骤，为另外2个磁盘sdb和sdc创建新分区。然后重启机器，使用fdisk命令来验证分区表。

```
# fdisk -l

```

*验证分区表*
### 创建物理卷

**5.** 现在，该使用3个磁盘来创建物理卷了。这里，我已经使用pvs命令将物理磁盘列了出来，现在只有一个默认的**pvs**被列出来了。

```
# pvs

```

然后，使用命令创建新的物理磁盘。

```
# pvcreate /dev/sda1 /dev/sdb1 /dev/sdc1

```

再次列出磁盘来查看新创建物理磁盘。

```
# pvs

```

*创建物理卷*
### 创建卷组

**6.** 使用可用的空闲PV来创建名为**tecmint*add*vg**的卷组，PE大小为32。显示当前卷组，我们可以看到只有带有1个PV的一个卷组在使用。

```
# vgs

```

这将使用上面创建的3个物理卷创建名为**tecmint*add*vg**的卷组，PE大小为32MB。

```
# vgcreate -s 32M tecmint_add_vg /dev/sda1 /dev/sdb1 /dev/sdc1

```

接下来，再次运行vgs命令来验证卷组。

```
# vgs

```

*创建卷组**验证卷组*
理解vgs命令输出：

* 卷组名。
* 本卷组中使用的物理卷。
* 显示本卷组中的可用空闲空间。
* 卷组总大小。
* 本卷组中的逻辑卷，这里我们还没创建，所以是0。
* SN = 卷组包含的快照数量。（后面，我们会创建一个快照。）
* 卷组状态，如可写，可读，可调整大小，已导出，部分的和集群的。这里是wz——意为w = 可写，z = 可调整大小。
* 卷组中使用的物理卷（PV）数量。

**7.** 使用命令来显示更多卷组信息。

```
# vgs -v

```

*检查卷组信息*
**8.** 要获取更多关于新创建的卷组信息，运行以下命令。

```
# vgdisplay tecmint_add_vg

```

*列出新卷组*
* 卷组名称
* 使用的LVM架构。
* 可读写，备好待用。
* 该卷组可以调整大小。
* 使用和激活的物理磁盘数量。
* 卷组总大小。
* 这里单个PE大小为32。
* 该卷组中可用的PE总数。
* 当前还没有在卷组中创建任何LV，因此它是空闲的。
* 该卷组的UUID。

### 创建逻辑卷

**9.** 现在，创建3个名为**tecmint\_documents**,**tecmint\_manager**和**tecmint\_public**的逻辑卷。这里，我们可以看到如何分别以PE为单位和GB为单位来创建逻辑卷。首先，使用以下命令来列出当前逻辑卷。

```
# lvs

```

*列出当前卷组*
**10.** 这些逻辑卷处于**vg\_tecmint**卷组中使用**pvs**命令来列出并查看有多少空闲空间可以创建逻辑卷。

```
# pvs

```

*检查空闲空间*
**11.** 卷组大小为**54GB**，而且未被使用，所以我们可以在该组内创建LV。让我们将卷组平均划分大小来创建3个逻辑卷，就是说**54GB**/3 = **18GB**，创建出来的单个逻辑卷应该会是18GB。

#### 方法1： 使用PE创建逻辑卷

首先，让我们使用物理扩展（PE）为单位来创建逻辑卷。我们需要知道分配到该卷组的默认PE大小，以及总的可用PE大小来创建新的逻辑卷，运行下面的命令来获取使用中的卷组信息。

```
# vgdisplay tecmint_add_vg

```

*创建新逻辑卷*
* 默认分配给该卷组的PE为32MB，这里单个的PE大小为32MB。
* 总可用PE是1725。

只要用bc命令做一点小小的计算来看看就知道了。

```
# bc

```

---

```
1725PE/3 = 575 PE.
575 PE x 32MB = 18400 --> 18GB

```

*计算磁盘空间*
按**CRTL+D**退出**bc**。现在让我们使用575个PE来创建3个逻辑卷。

```
# lvcreate -l (Extend size) -n (name_of_logical_volume) (volume_group)
# lvcreate -l 575 -n tecmint_documents tecmint_add_vg
# lvcreate -l 575 -n tecmint_manager tecmint_add_vg
# lvcreate -l 575 -n tecmint_public tecmint_add_vg

```

* -**l** – 使用扩展大小创建
* -**n** – 给逻辑卷命名

使用lvs命令来列出创建的逻辑卷。

```
# lvs

```

*列出创建的逻辑卷*
#### 方法2： 使用GB大小创建逻辑卷

在使用GB大小创建逻辑卷时，我们不能获得精确的大小。因此，最好的办法是用扩展。

```
# lvcreate -L 18G -n tecmint_documents tecmint_add_vg
# lvcreate -L 18G -n tecmint_manager tecmint_add_vg
# lvcreate -L 18G -n tecmint_public tecmint_add_vg
# lvcreate -L 17.8G -n tecmint_public tecmint_add_vg

```

使用lvs命令来列出创建的逻辑卷。

```
# lvs

```

*验证创建的逻辑卷*
这里，我们可以看到，当创建第三个LV的时候，我们不能收集到18GB空间。这是因为尺寸有小小的改变，但在使用或者尺寸来创建LV时，这个问题会被忽略。

### 创建文件系统

**12.** 要使用逻辑卷，我们需要格式化。这里我使用ext4文件系统来创建卷，并打算挂载到**/mnt**。

```
# mkfs.ext4 /dev/tecmint_add_vg/tecmint_documents
# mkfs.ext4 /dev/tecmint_add_vg/tecmint_public
# mkfs.ext4 /dev/tecmint_add_vg/tecmint_manager

```

*创建Ext4文件系统*
**13.** 让我们在**/mnt**下创建目录，并将已创建好文件系统的逻辑卷挂载上去。

```
# mount /dev/tecmint_add_vg/tecmint_documents /mnt/tecmint_documents/
# mount /dev/tecmint_add_vg/tecmint_public /mnt/tecmint_public/
# mount /dev/tecmint_add_vg/tecmint_manager /mnt/tecmint_manager/

```

使用下面的命令来列出并确认挂载点。

```
# df -h

```

*挂载逻辑卷*
#### 永久挂载

现在，这些逻辑卷是临时挂载上去的，要永久挂载，我们需要添加条目到fstab中。要达到这个目的，让我们使用下面的命令来获取挂载条目

```
# cat /etc/mtab

```

在输入来自mtab中的挂载条目内容时，我们需要在fstab中做些小小的改变，修改rw为默认。

```
# vim /etc/fstab

```

我们的fstab条目应该和下面的类似，使用wq！保存并退出fstab。

```
/dev/mapper/tecmint_add_vg-tecmint_documents    /mnt/tecmint_documents  ext4    defaults 0 0
/dev/mapper/tecmint_add_vg-tecmint_public       /mnt/tecmint_public     ext4    defaults 0 0
/dev/mapper/tecmint_add_vg-tecmint_manager      /mnt/tecmint_manager    ext4    defaults 0 0

```

获取mtab挂载条目\**打开fstab文件**添加自动挂载条目*
重启前，执行mount -a命令来检查fstab条目。

```
# mount -av

```

*验证fstab条目*
这里，我们已经了解了怎样来使用逻辑卷构建灵活的存储，从使用物理磁盘到物理卷，物理卷到卷组，卷组再到逻辑卷。

在我即将奉献的文章中，我将介绍如何扩展卷组、逻辑卷，减少逻辑卷，拍快照以及从快照中恢复。

---

via: <http://www.tecmint.com/create-lvm-storage-in-linux/>

作者：[Babin Lonston](http://www.tecmint.com/author/babinlonston/) 译者：[GOLinux](https://github.com/GOLinux) 校对：[wxy](https://github.com/wxy)

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


配置 Linux 的访问控制列表(ACL)

不错！

Repost

liunx？我书读的少，不要骗我[思考]

@有道云笔记收藏

m

不错

# 配置 Linux 的访问控制列表(ACL)

使用拥有权限控制的Liunx，工作是一件轻松的任务。它可以定义任何user,group和other的权限。无论是在桌面电脑或者不会有很多用户的虚拟Linux实例，或者当用户不愿意分享他们之间的文件时，这样的工作是很棒的。然而，如果你是在一个大型组织，你运行了NFS或者Samba服务给不同的用户，然后你将会需要灵活的挑选并设置很多复杂的配置和权限去满足你的组织不同的需求。

Linux（和其他Unix等POSIX兼容的操作系统）有一种被称为访问控制列表(ACL)的权限控制方法，它是一种权限分配之外的普遍范式。例如，默认情况下你需要确认3个权限组：owner、group和other。而使用ACL，你可以增加权限给其他用户或组别，而不单只是简单的"other"或者是拥有者不存在的组别。可以允许指定的用户A、B、C拥有写权限而不再是让他们整个组拥有写权限。

ACL支持多种Linux文件系统，包括ext2, ext3, ext4, XFS, Btfrs, 等。如果你不确定你的文件系统是否支持ACL，请参考文档。

### 在文件系统使ACL生效

首先，我们需要安装工具来管理ACL。

Ubuntu/Debian 中:

```
$ sudo apt-get install acl

```

CentOS/Fedora/RHEL 中:

```
# yum -y install acl

```

Archlinux 中:

```
# pacman -S acl

```

出于演示目的，我将使用ubuntu server版本，其他版本类似。

安装ACL完成后，需要激活我们磁盘分区的ACL功能，这样我们才能使用它。

首先，我们检查ACL功能是否已经开启。

```
$ mount

```

你可以注意到，我的root分区中ACL属性已经开启。万一你没有开启，你需要编辑/etc/fstab文件，在你需要开启ACL的分区的选项前增加acl标记。

现在我们需要重新挂载分区（我喜欢完全重启，因为我不想丢失数据），如果你对其它分区开启ACL，你必须也重新挂载它。

```
$ sudo mount / -o remount

```

干的不错！现在我们已经在我们的系统中开启ACL，让我们开始和它一起工作。

### ACL 范例

基础ACL通过两条命令管理：**setfacl**用于增加或者修改ACL，**getfacl**用于显示分配完的ACL。让我们来做一些测试。

我创建一个目录/shared给一个假设的用户，名叫freeuser

```
$ ls -lh /

```

我想要分享这个目录给其他两个用户test和test2，一个拥有完整权限，另一个只有读权限。

首先，为用户test设置ACL：

```
$ sudo setfacl -m u:test:rwx /shared

```

现在用户test可以随意创建文件夹，文件和访问在/shared目录下的任何地方。

现在我们增加只读权限给用户test2:

```
$ sudo setfacl -m u:test2:rx /shared

```

注意test2读取目录需要执行(x)权限

让我来解释下setfacl命令格式：

* **-m** 表示修改ACL。你可以增加新的，或修改存在的ACL
* **u:** 表示用户。你可以使用 **g** 来设置组权限
* **test** 用户名
* **:rwx** 需要设置的权限。

现在让我向你展示如何读取ACL：

```
$ ls -lh /shared

```

你可以注意到，正常权限后多一个+标记。这表示ACL已经设置成功。要具体看一下ACL，我们需要运行：

```
$ sudo getfacl /shared

```

最后，如果你需要移除ACL：

```
$ sudo setfacl -x u:test /shared

```

如果你想要立即擦除所有ACL条目：

```
$ sudo setfacl -b /shared

```

最后，在设置了ACL文件或目录工作时，cp和mv命令会改变这些设置。在cp的情况下,需要添加“p”参数来复制ACL设置。如果这不可行，它将会展示一个警告。mv默认移动ACL设置，如果这也不可行，它也会向您展示一个警告。

### 总结

使用ACL让在你想要分享的文件上拥有更多的能力和控制，特别是在NFS/Samba服务。此外，如果你的主管共享主机，这个工具是必备的。

---

via: <http://xmodulo.com/2014/08/configure-access-control-lists-acls-linux.html>

作者：[Christopher Valerio](http://xmodulo.com/author/valerio) 译者：[VicYu](http://www.vicyu.net) 校对：[wxy](https://github.com/wxy)

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


Summary: 问题：我想要监控TCP连接活动（如，建立连接的三次握手，以及断开连接的四次握手）。要完成此事，我只需要捕获TCP控制包，如SYN，ACK或FIN标记相关的包。我怎样使用tcpdump来仅仅捕获TCP SYN，ACK和/或FYN包？  作为业界标准的捕获工具，tcpdump提供了强大而又灵活的包过滤功能。作为tcpdump基础的libpcap包捕获引擎支持标准的包过滤规则，如基于5重包头的过滤（如基于源/目的IP地址/端口和IP协议类型）。  tcpdump/libpcap的包过滤规则也支持更多通用分组表达式，在这些表达式中，包中的任意字节范围都可以使用关系或二进制操作符进行检

mk

Repost

mark

@有道云笔记收藏

Repost

M

这东西很好用//@andreeeeew: M

@有道云笔记收藏

very good

@有道云笔记收藏

最后一个示例参数粗欧文  @wxy

# Linux有问必答：如何使用tcpdump来捕获TCP SYN，ACK和FIN包

>
> **问题**：我想要监控TCP连接活动（如，建立连接的三次握手，以及断开连接的四次握手）。要完成此事，我只需要捕获TCP控制包，如SYN，ACK或FIN标记相关的包。我怎样使用tcpdump来仅仅捕获TCP SYN，ACK和/或FYN包？
>
>
>

作为业界标准的捕获工具，tcpdump提供了强大而又灵活的包过滤功能。作为tcpdump基础的libpcap包捕获引擎支持标准的包过滤规则，如基于5重包头的过滤（如基于源/目的IP地址/端口和IP协议类型）。

tcpdump/libpcap的包过滤规则也支持更多通用分组表达式，在这些表达式中，包中的任意字节范围都可以使用关系或二进制操作符进行检查。对于字节范围表达，你可以使用以下格式：

```
proto [ expr : size ]

```

“proto”可以是熟知的协议之一（如ip，arp，tcp，udp，icmp，ipv6），“expr”表示与指定的协议头开头相关的字节偏移量。有我们熟知的直接偏移量如tcpflags，也有取值常量如tcp-syn，tcp-ack或者tcp-fin。“size”是可选的，表示从字节偏移量开始检查的字节数量。

使用这种格式，你可以像下面这样过滤TCP SYN，ACK或FIN包。

只捕获TCP SYN包：

```
 # tcpdump -i <interface> "tcp[tcpflags] & (tcp-syn) != 0"

```

只捕获TCP ACK包：

```
# tcpdump -i <interface> "tcp[tcpflags] & (tcp-ack) != 0"

```

只捕获TCP FIN包：

```
# tcpdump -i <interface> "tcp[tcpflags] & (tcp-fin) != 0"

```

之捕获TCP SYN或ACK包：

```
 # tcpdump -r <interface> "tcp[tcpflags] & (tcp-syn|tcp-ack) != 0"

```

---

via: <http://ask.xmodulo.com/capture-tcp-syn-ack-fin-packets-tcpdump.html>

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

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


墙外香花：Google drive和Ubuntu 14.04 LTS的胶合

Summary: Google尚未发布用于从Ubuntu访问其drive的官方Linux客户端。然开源社区却业已开发完毕非官方之软件包grive-tools。 grive乃是Google Drive（在线存储服务）的GNU/Linux系统客户端，允许你同步所选目录到云端，以及上传新文件到Google Drive。 grive-tools安装步骤 步骤：1 使用下列命令添加grive-tools PPA： # sudo add-apt-repository ppa:thefanclub/grive-tools  步骤：2 更新列表 #sudo apt-get update  步骤：3 安装grive-tools # sudo apt-get install grive-tools  访问Google Drive的步骤 步骤：1 安装完了，通过输入Grive在Unit

赞

还得翻墙？？？[挖鼻屎]

这个好

大天朝的我们用这个不是很现实

不翻也可

回复@My王威:哦，google drive 没被墙？

OneDrive这个尿性看来我也是转GoogleDrive好了。//@Linux中国:回复@My王威:哦，google drive 没被墙？ //@My王威:不翻也可

Dropbox再见//@Linux中国:回复@My王威:哦，google drive 没被墙？ //@My王威:不翻也可

# 墙外香花：Google drive和Ubuntu 14.04 LTS的胶合

Google尚未发布用于从Ubuntu访问其drive的**官方Linux客户端**。然开源社区却业已开发完毕非官方之软件包‘**grive-tools**’。

grive乃是Google Drive（**在线存储服务**）的GNU/Linux系统客户端，允许你**同步**所选目录到云端，以及上传新文件到Google Drive。

### grive-tools安装步骤

步骤：1 使用下列命令添加grive-tools PPA：

```
# sudo add-apt-repository ppa:thefanclub/grive-tools

```

步骤：2 更新列表

```
#sudo apt-get update

```

步骤：3 安装grive-tools

```
# sudo apt-get install grive-tools

```

### 访问Google Drive的步骤

**步骤：1** 安装完了，通过输入**Grive**在**Unity Dash**搜索应用，并打开之。

**步骤：2** 登入google drive，你将被问及访问google drive的权限。

点击**下一步**时，新的浏览器中讲打开**Google登录页**

登入你的Google帐号，并点击**接受**，如下所示：

**步骤：3** 下面将提供给你一个 **google代码**，复制并粘贴到**Grive设置框**内。

点击下一步后，将会开始同步google drive到你**家目录**下的‘**Google Drive**’文件夹。完成后，将出现如下窗口。

Google Drive 文件夹会创建在**用户的主目录**下。

---

via: <http://www.linuxtechi.com/mount-google-drive-in-ubuntu/>

作者：[Pradeep Kumar](http://www.linuxtechi.com/author/pradeep/)  译者：[GOLinux](https://github.com/GOLinux) 校对：[wxy](https://github.com/wxy)

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


如何在Linux上移除文件内的隐私数据

Summary: 典型的数据文件通常关联着元数据，其包含这个文件的描述信息，表现为一系列属性-值的集合。元数据一般包括创建者名称、生成文件的工具、文件创建/修改时期、创建位置和编辑历史等等。几种流行的元数据标准有 EXIF（图片）、RDF（web资源）和DOI（数字文档）等。 虽然元数据在数据管理领域有它的优点，但事实上它会危害你的隐私。相机图片中的EXIF格式数据会泄露出可识别的个人信息，比如相机型号、拍摄相关的GPS坐标和用户偏爱的照片编辑软件等。在文档和电子表格中的元数据包含作者/所属单位信息和相关的编辑历史。不一定这么绝对，但诸

Repost

mk

# 如何在Linux上移除文件内的隐私数据

典型的数据文件通常关联着“元数据”，其包含这个文件的描述信息，表现为一系列属性-值的集合。元数据一般包括创建者名称、生成文件的工具、文件创建/修改时期、创建位置和编辑历史等等。几种流行的元数据标准有 EXIF（图片）、RDF（web资源）和DOI（数字文档）等。

虽然元数据在数据管理领域有它的优点，但事实上它会[危害](http://www.theguardian.com/world/2013/sep/30/nsa-americans-metadata-year-documents)你的隐私。相机图片中的EXIF格式数据会泄露出可识别的个人信息，比如相机型号、拍摄相关的GPS坐标和用户偏爱的照片编辑软件等。在文档和电子表格中的元数据包含作者/所属单位信息和相关的编辑历史。不一定这么绝对，但诸如[metagoofil](http://code.google.com/p/metagoofil/)一类的元数据收集工具在信息收集的过程中常最作为入侵测试的一部分被利用。

对那些想要从共享数据中擦除一切个人元数据的用户来说，有一些方法从数据文件中移除元数据。你可以使用已有的文档或图片编辑软件，通常有自带的元数据编辑功能。在这个教程里，我会介绍一种不错的、单独的**元数据清理工具**，其目标只有一个：**匿名一切私有元数据**。

[MAT](https://mat.boum.org/)（元数据匿名工具箱）是一款专业的元数据清理器，使用Python编写。它属于Tor旗下的项目，而且是Live 版的隐私增强操作系统 [Trails](https://tails.boum.org/) 的标配应用。

与诸如[exiftool](http://xmodulo.com/2013/08/view-or-edit-pdf-and-image-metadata-from-command-line-on-linux.html)等只能对有限种类的文件类型进行写入的工具相比，MAT支持从各种各样的文件中消除元数据：图片（png、jpg）、文档（odt、docx、pptx、xlsx和pdf）、归档文件（tar、tar.bz2）和音频（mp3、ogg、flac）等。

### 在Linux上安装MAT

在基于Debian的系统（Ubuntu或Linux Mint）上，已经打包好MAT，所以安装很直接：

```
$ sudo apt-get install mat

```

在Fedora上，并没有预先生成的MAT软件包，所以你需要从源码生成。这是我在Fedora上生成MAT的步骤（不成功的话，请查看教程底部）：

```
$ sudo yum install python-devel intltool python-pdfrw perl-Image-ExifTool python-mutagen
$ sudo pip install hachoir-core hachoir-parser
$ wget https://mat.boum.org/files/mat-0.5.tar.xz
$ tar xf mat-0.5.tar.xz
$ cd mat-0.5
$ python setup.py install

```

### 使用MAT-GUI匿名元数据

一旦安装好，通过GUI和命令行都可以使用MAT。输入这个命令启动MAT的GUI：

```
$ mat-gui

```

尝试清理一个包含如下内置元数据的实例文档文件（如private.odt）。

点击“添加”按钮来添加需要清理的文件到MAT中。一旦载入文件，点击“确认”按钮对所有隐藏的元数据信息进行扫描。

只要元数据被MAT检测到，“State”状态就会被标记成“Dirty”。双击文件可以查看检测到的元数据。

点击“清理”按钮来清除文件中的元数据。MAT会自动清空文件中的所有私有元数据字段。

清除后的状态中不包含任何私有可辨识的痕迹：

### 从命令行匿名元数据

```
$ mat -c .

```

正如前面提到的，另一种调用MAT的方式是从命令行，使用mat命令可达到。

为了检查任何敏感的元数据，先前往文件所在的目录，然后运行：

```
$ mat -c .

```

这样会扫描当前目录和其子目录下的所有文件，并报告它们的状态（已清理或未清理）。

你可以使用“-d”选项来查看检测到的真实元数据：

```
$ mat -d <input_file>

```

如果不为mat命令提供任何选项，默认操作会移除文件的元数据。如果要在清理的过程中保留原始文件的备份，使用“-b”选项。下面命令会清除所有文件的元数据，并将原始文件存储为“\*.bak”文件。

```
$ mat -b .

```

查看所支持的文件类型，请运行：

```
$ mat -l

```

### 故障排除

当前我在Fedora上使用编译版本的MAT遇到了下列问题。当我尝试在Fedora清除归档/文档文件的元数据时（如*.gz、*.odt、\*.docx），MAT因为下列错误失败。如果你知道如何解决这个问题，请在评论里回复我。

```
  File "/usr/lib64/python2.7/zipfile.py", line 305, in __init__
    raise ValueError('ZIP does not support timestamps before 1980')
ValueError: ZIP does not support timestamps before 1980

```

### 总结

MAT是一款简单但非常好用的工具，用来预防从元数据中无意泄露私人数据。请注意如果有必要，文件内容也需要保护。MAT能做的是消除与文件相关的元数据，但并不会对文件本身进行任何操作。简而言之，MAT是一名救生员，因为它可以处理大多数常见的元数据移除，但不应该只指望它来保证你的隐私。[译者注：养成良好的隐私保护意识和习惯才是最好的方法]

---

via: <http://xmodulo.com/2014/08/remove-file-metadata-linux.html>

作者：[Dan Nanni](http://xmodulo.com/author/nanni) 译者：[KayGuoWhu](https://github.com/KayGuoWhu) 校对：[wxy](https://github.com/wxy)

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


在Linux中扩展/缩减LVM（第二部分）

Summary: 前面我们已经了解了怎样使用LVM创建弹性的磁盘存储。这里，我们将了解怎样来扩展卷组，扩展和缩减逻辑卷。在这里，我们可以缩减或者扩展逻辑卷管理（LVM）中的分区，LVM也可称之为弹性卷文件系统。   前置需求  使用LVM创建弹性磁盘存储第一部分  什么时候我们需要缩减卷？ 或许我们需要创建一个独立的分区用于其它用途，或者我们需要扩展任何空间低的分区。遇到这种情况时，使用 LVM我们可以很容易地缩减大尺寸的分区，以及扩展空间低的分区，只要按下面几个简易的步骤来即可。 我的服务器设置  需求  操作系统  安装有LVM的CentOS 6.5

@mywiz

mk

这个顶一下..想学习的东西

fdisk分区做的lvm

新加的大磁盘是 parted的分区

加不到lv里边去吗？

可以添加,正常执行就可

# 在Linux中扩展/缩减LVM（第二部分）

前面我们已经了解了怎样使用LVM创建弹性的磁盘存储。这里，我们将了解怎样来扩展卷组，扩展和缩减逻辑卷。在这里，我们可以缩减或者扩展逻辑卷管理（LVM）中的分区，LVM也可称之为弹性卷文件系统。

### 前置需求

* [使用LVM创建弹性磁盘存储——第一部分](http://linux.cn/article-3965-1.html)

#### 什么时候我们需要缩减卷？

或许我们需要创建一个独立的分区用于其它用途，或者我们需要扩展任何空间低的分区。遇到这种情况时，使用 LVM我们可以很容易地缩减大尺寸的分区，以及扩展空间低的分区，只要按下面几个简易的步骤来即可。

#### 我的服务器设置 —— 需求

* 操作系统 – 安装有LVM的CentOS 6.5
* 服务器IP – 192.168.0.200

### 如何扩展卷组以及缩减逻辑卷

#### 扩展逻辑卷

目前，我们已经有一个PV，VG和2个LV。让我们用下面的命令来列出它们。

```
# pvs
# vgs
# lvs

```

*逻辑卷扩展*

在物理卷和卷组中没有空闲空间可用了，所以，现在我们不能扩展逻辑卷的大小。要扩展，我们需要添加一个物理卷（**PV**），然后通过扩展**vg**来扩展卷组，这样我们就会得到足够大的空间来扩展逻辑卷大小了。所以，首先我们应该去添加一个物理卷。

要添加一个新**PV**，我们必须使用fdisk来创建一个LVM分区。

```
# fdisk -cu /dev/sda

```

* 选择**n**来创建新分区。
* 选择**p**来创建主分区。
* 选择我们需要创建的分区号。
* 如果有其它可用磁盘，请按**1**。
* 使用**t**来修改分区类型。
* 输入**8e**来将分区类型修改为Linux LVM。
* 使用**p**来打印创建的分区（这里我们没有使用该选项）。
* 按**w**写入修改。

完成后重启系统。

*创建LVM分区*

使用fdisk列出并检查我们创建的分区。

```
# fdisk -l /dev/sda

```

*验证LVM分区*

接下来，使用下列命令来创建新**PV**（物理卷）。

```
# pvcreate /dev/sda1

```

使用下面的命令来验证pv。

```
# pvs

```

*创建物理卷*

#### 扩展卷组

添加该pv到**vg\_tecmint**卷组来扩展卷组的大小，以获取更多空间来扩展**lv**。

```
# vgextend vg_tecmint /dev/sda1

```

让我们检查现在正在使用的卷组的大小。

```
# vgs

```

*扩展卷组*

我们甚至可以看到哪个**PV**用于创建使用中的特定卷组。

```
# pvscan

```

*检查卷组*

这里，我们可以看到卷组所处的物理卷。我们已经添加了一个pv，而且它完全空着。在扩展逻辑卷之前，让我们先看看我们所拥有的各个卷组的大小。

*检查所有逻辑卷*

* LogVol00用于Swap。
* LogVol01用于/。
* 现在我们有16.50GB大小的空间用于/（root）。
* 当前有4226物理扩展（PE）可用。

现在，我们打算去扩展/分区**LogVol01**。在扩展后，我们可以像上面那样列出它的大小以确认。我们能可以使用GB或PE来扩展，这一点我已经在LVM第一部分解释过了，这里我使用PE来扩展。

要获取可用的物理扩展大小，运行以下命令。

```
# vgdisplay

```

*检查可用的物理扩展*

总共有**4607**空闲PE可用，亦即有**18GB**空间空间可用。因此，我们可以将我们的逻辑卷扩展到**18GB**这么大。让我们使用PE大小来扩展。

```
# lvextend -l +4607 /dev/vg_tecmint/LogVol01

```

使用**+**来添加更多空间。在扩展后，我们需要改变文件系统大小，使用以下命令。

```
# resize2fs /dev/vg_tecmint/LogVol01

```

 *扩展逻辑卷*

* 用来使用物理扩展扩展逻辑卷的命令。
* 这里我们可以看到它从16.51GB扩展到了34GB。
* 如果文件系统已被挂载并处于使用中，改变文件系统大小。
* 要扩展逻辑卷，我们不需要卸载文件系统

现在，让我们看看当前使用的改变大小后的逻辑卷。

```
# lvdisplay

```

*改变逻辑卷大小*

* LogVol01用于扩展的卷 /。
* 扩展后，从16.50GB上升到了34.50GB。
* C当前扩展，在扩展前有4226，我们已经添加了4607个扩展，因此现在有8833。

现在，如果我们检查可用的vg的话，空闲PE将会是0。

```
# vgdisplay

```

查看扩展的结果。

```
# pvs
# vgs
# lvs

```

*验证分区大小改变*

* 添加的新物理卷。
* 卷组vg\_tecmint从17.51GB扩展到了35.50GB。
* 逻辑卷LogVol01从16.51GB扩展到了34.50GB。

这里，我们已经完成扩展卷组和逻辑卷的过程。让我们一起迈向逻辑卷管理中一些有趣的部分。

#### 缩减逻辑卷（LVM）

这里，我们将了解如何缩减逻辑卷。人人都说它很危险，在缩减lvm的时候可能会导致灾难。缩减lvm在逻辑卷管理中比其它部分要来得确实有趣得多。

* 在开始之前，备份好数据总是对的，这样如果出错，就不会头痛了。
* 要缩减逻辑卷，需要小心翼翼地完成5个步骤。
* 在扩展一个卷的时候，我们可以在该卷挂载时扩展它（在线），但对于缩减，我们必须在缩减前卸载文件系统。

让我们来了解一下下面这5个步骤。

* 卸载文件系统以便缩减。
* 在卸载后检查文件系统。
* 缩减文件系统。
* 5减少当前逻辑卷大小。
* 再检查文件系统以防出错。
* 将文件系统再次挂载回去。

为了演示，我已经创建了独立的卷组和逻辑卷。这里，我将缩减逻辑卷**tecmint*reduce*test**。现在它有18GB大小，我们需要将它缩减到**10GB**而不丢失数据。也就是说，我们需要从**18GB**中减少**8GB**。卷中已经有**4GB**被使用。

```
18GB ---> 10GB

```

在缩减大小的时候，我们只需要缩减8GB，所以在缩减后它总计会有10GB。

```
# lvs

```

 *缩减逻辑卷*

这里，我们可以看到文件系统信息。

```
# df -h

```

*检查文件系统大小*

* 卷大小是18GB。
* 它已经使用了3.9GB。
* 可用空间是13GB。

首先，卸载挂载点。

```
# umount -v /mnt/tecmint_reduce_test/

```

*卸载分区*

然后，使用以下命令来检查文件系统错误。

```
# e2fsck -ff /dev/vg_tecmint_extra/tecmint_reduce_test

```

*扫描分区错误*

**注意**：必须通过所有文件系统检查的5个步骤，若未完全通过，则你的文件系统可能存在问题。

接下来，缩减文件系统。

```
# resize2fs /dev/vg_tecmint_extra/tecmint_reduce_test 8GB

```

*缩减文件系统*

使用GB来缩减逻辑卷。

```
# lvreduce -L -8G /dev/vg_tecmint_extra/tecmint_reduce_test

```

*缩减逻辑分区*

要使用PE来缩减逻辑卷，我们需要知道默认PE大小和卷组的总PE大小，以进行一次小小的计算来得出准确的缩减大小。

```
# lvdisplay vg_tecmint_extra

```

这里，我们需要使用bc命令来做一些小计算来获得10GB的PE大小。

```
1024MB x 10GB = 10240MB or 10GB

10240MB / 4PE = 2048PE

```

按**CTRL+D**来退出BC。

*计算PE大小*

使用PE来缩减大小。

```
# lvreduce -l -2048 /dev/vg_tecmint_extra/tecmint_reduce_test

```

 *使用PE来缩减大小*

将文件系统大小调整回去。在这一步中，如果发生任何错误，这就意味着我们已经将文件系统搞乱了。

```
# resize2fs /dev/vg_tecmint_extra/tecmint_reduce_test

```

将文件系统挂载回同样的挂载点。

```
# mount /dev/vg_tecmint_extra/tecmint_reduce_test /mnt/tecmint_reduce_test/

```

*挂载文件系统*

检查分区和文件的大小。

```
# lvdisplay vg_tecmint_extra

```

这里，我们可以看到最后的结果，逻辑已经被缩减到10GB。

在本文中，我们已经了解了如何来扩增卷组、逻辑卷以及缩减逻辑卷。在下一部分（第三部分）中，我们将了解如何为逻辑卷做快照并将它恢复到更早的状态。

---

via: <http://www.tecmint.com/extend-and-reduce-lvms-in-linux/>

作者：[Babin Lonston](http://www.tecmint.com/author/babinlonston/) 译者：[GOLinux](https://github.com/GOLinux) 校对：[wxy](https://github.com/wxy)

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


Linux有问必答：如何创建新的亚马逊AWS访问密钥

Summary: 问题：我在配置一个需要访问我的亚马逊AWS帐号的应用时被要求提供AWS访问密钥ID和秘密访问密钥，我怎样创建一个新的AWS访问密钥呢？  亚马逊AWS安全凭证用于验证你以及授权任何第三方应用访问你的AWS帐号，有各种不同的AWS安全凭证可用，如密码、访问密钥、多因素身份验证、X.509证书等。 如果你想要创建新的访问密钥（访问密钥ID和秘密访问密钥），请按一下步骤进行。 首先，登录到AWS控制台。 从顶部栏选择安全凭证菜单（图中红色方框所示）。  在下一页中，选择访问密钥（访问密钥ID和秘密访问密钥）选项（图中红色方框所示）。  在下

# Linux有问必答：如何创建新的亚马逊AWS访问密钥

>
> **问题**：我在配置一个需要访问我的亚马逊AWS帐号的应用时被要求提供**AWS访问密钥ID**和**秘密访问密钥**，我怎样创建一个新的AWS访问密钥呢？
>
>
>

亚马逊AWS安全凭证用于验证你以及授权任何第三方应用访问你的AWS帐号，有各种不同的AWS安全凭证可用，如密码、访问密钥、多因素身份验证、X.509证书等。

如果你想要创建新的访问密钥（访问密钥ID和秘密访问密钥），请按一下步骤进行。

首先，登录到[AWS控制台](http://aws.amazon.com/console/)。

从顶部栏选择“安全凭证”菜单（图中红色方框所示）。

在下一页中，选择“访问密钥（访问密钥ID和秘密访问密钥）”选项（图中红色方框所示）。

在下一页中，你将看到一个现存访问密钥ID列表（如果有的话）。注意，你不能恢复现存访问密钥ID的“秘密访问密钥”。出于安全的原因，秘密访问密钥只能在你创建新访问密钥时才可见。

点击“创建新访问密钥”（见图示），将会立即创建一个新的访问密钥ID和密码访问密钥对。

要么下载一个包含有新访问密钥的密钥文件，要么复制并粘贴新访问密钥信息。再次提请牢记，一旦你关闭该窗口，秘密访问密钥将不再可用，除非你下载一个密钥文件。

### 多用户AWS帐号

如果你是作为公司身份创建的帐号，多个雇员共享这一公司帐号，你可能想要使用身份和访问管理（IAM）来创建并管理他们的访问密钥。

IAM是一个web服务，它允许一个公司管理多个用户及其与一个AWS帐号关联的安全凭证。使用IAM，多个用户可以作为不同身份登入单一的AWS帐号，并管理他们的安全凭证而不会相互干预对方的密钥。

要管理IAM用户，点击“安全凭证”页面上的“用户”菜单（见图示）。

然后，你就可以创建一个新的IAM用户并管理他们的安全凭证，比如访问密钥之类的东西。

---

via: <http://ask.xmodulo.com/create-amazon-aws-access-key.html>

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

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


Summary: 在Linux里，由于对安全的考虑，我们允许任何人按下Ctrl-Alt-Del来重启系统。但是在生产环境中，应该停用按下Ctrl-Alt-Del 重启系统的功能。  在这篇文章里，我们将要介绍如何在RHEL和CentOS下停用该热键。 在RHEL 5.X和CentOS 5.X下 ### 保护init进程免于Ctrl-Alt-Del,像下面一样编辑'/etc/inittab'里由'ca::ctrlaltdel:'开头的一行: # cat /etc/inittab # Trap CTRL-ALT-DELETE #ca::ctrlaltdel:/sbin/shutdown -t3 -r now  我们还可以改变'ca::ctrlaltdel:'这行来输出日志 ,如果任何人想用该热键重启服务器,就会有日志, # cat /etc/init

# 在RHEL/CentOS 5/6下停用按下Ctrl-Alt-Del 重启系统的功能

在Linux里，由于对安全的考虑，我们允许任何人按下**Ctrl-Alt-Del**来**重启**系统。但是在生产环境中，应该停用按下Ctrl-Alt-Del 重启系统的功能。

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

在这篇文章里，我们将要介绍如何在RHEL和CentOS下停用该热键。

### 在RHEL 5.X和CentOS 5.X下 ###

保护**init**进程免于**Ctrl-Alt-Del**,像下面一样编辑'**/etc/inittab**'里由'**ca::ctrlaltdel**:'开头的一行:

```
[root@localhost ~]# cat /etc/inittab
# Trap CTRL-ALT-DELETE
#ca::ctrlaltdel:/sbin/shutdown -t3 -r now

```

我们还可以改变'ca::ctrlaltdel:'这行来输出日志 ,如果任何人想用该热键重启服务器,就会有日志,

```
[root@localhost ~]# cat /etc/inittab
# Trap CTRL-ALT-DELETE
ca::ctrlaltdel:/bin/logger -p authpriv.warning -t init "Console-invoked Ctrl-Alt-Del was ignored"

```

### 在RHEL6.X和CentOS 6.X下

在RHEL6.X和CentOS 6.X下, 该热键的行为由'**/etc/init/control-alt-delete.conf**'控制.

**第一步** 在变化之前，先用下列命令备份配置

```
[root@localhost ~]# cp -v /etc/init/control-alt-delete.conf /etc/init/control-alt-delete.override

```

**第二步**编辑文件，把'exec /sbin/shutdown'这一行用下方配置代替，这个配置会在每次按下Ctrl-Alt-Del 时输出日志:

```
[root@localhost ~]# cat /etc/init/control-alt-delete.conf
exec /usr/bin/logger -p authpriv.notice -t init "Ctrl-Alt-Del was pressed and ignored"

```

---

via: <http://www.linuxtechi.com/disable-reboot-using-ctrl-alt-del-keys/>

作者：[Pradeep Kumar](http://www.linuxtechi.com/author/pradeep/) 译者：[2q1w2007](https://github.com/2q1w2007) 校对：[wxy](https://github.com/wxy)

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


Linux有问必答：如何为CentOS 7配置静态IP地址

Summary: 问题：在CentOS 7上，我想要将我其中一个网络接口从DHCP改为静态IP地址配置，如何才能永久为CentOS或RHEL 7上的网络接口分配静态IP地址？  如果你想要为CentOS 7中的某个网络接口设置静态IP地址，有几种不同的方法，这取决于你是否想要使用网络管理器。  网络管理器（Network Manager）是一个动态网络的控制器与配置系统，它用于当网络设备可用时保持设备和连接开启并激活。默认情况下，CentOS/RHEL 7安装有网络管理器，并处于启用状态。 使用下面的命令来验证网络管理器服务的状态： $ systemctl status NetworkManager.service  运行以

不错

@阿兜兜_時線TimeLine 好好学习，天天向上

真麻烦 服务器上的 NM 就是烦人

亲，网关都没有怎么上网呢

撒旦大神

# Linux有问必答：如何为CentOS 7配置静态IP地址

>
> **问题**：在CentOS 7上，我想要将我其中一个网络接口从DHCP改为静态IP地址配置，如何才能永久为CentOS或RHEL 7上的网络接口分配静态IP地址？
>
>
>

如果你想要为CentOS 7中的某个网络接口设置静态IP地址，有几种不同的方法，这取决于你是否想要使用网络管理器。

网络管理器（Network Manager）是一个动态网络的控制器与配置系统，它用于当网络设备可用时保持设备和连接开启并激活。默认情况下，CentOS/RHEL 7安装有网络管理器，并处于启用状态。

使用下面的命令来验证网络管理器服务的状态：

```
$ systemctl status NetworkManager.service

```

运行以下命令来检查受网络管理器管理的网络接口：

```
$ nmcli dev status

```

如果某个接口的nmcli的输出结果是“已连接”（如本例中的enp0s3），这就是说该接口受网络管理器管理。你可以轻易地为某个特定接口禁用网络管理器，以便你可以自己为它配置一个静态IP地址。

下面将介绍**在CentOS 7上为网络接口配置静态IP地址的两种方式**，在例子中我们将对名为enp0s3的网络接口进行配置。

### 不使用网络管理配置静态IP地址

进入/etc/sysconfig/network-scripts目录，找到该接口的配置文件（ifcfg-enp0s3）。如果没有，请创建一个。

打开配置文件并编辑以下变量：

在上图中，“NM\_CONTROLLED=no”表示该接口将通过该配置文件进行设置，而不是通过网络管理器进行管理。“ONBOOT=yes”告诉我们，系统将在启动时开启该接口。

保存修改并使用以下命令来重启网络服务：

```
# systemctl restart network.service

```

现在验证接口是否配置正确：

```
# ip add

```

### 使用网络管理器配置静态IP地址

如果你想要使用网络管理器来管理该接口，你可以使用nmtui（网络管理器文本用户界面），它提供了在终端环境中配置配置网络管理器的方式。

在使用nmtui之前，首先要在/etc/sysconfig/network-scripts/ifcfg-enp0s3中设置“NM\_CONTROLLED=yes”。

现在，请按以下方式安装nmtui。

```
# yum install NetworkManager-tui

```

然后继续去编辑enp0s3接口的网络管理器配置：

```
# nmtui edit enp0s3

```

在下面的屏幕中，我们可以手动输入与/etc/sysconfig/network-scripts/ifcfg-enp0s3中所包含的内容相同的信息。

使用箭头键在屏幕中导航，按回车选择值列表中的内容（或填入想要的内容），最后点击屏幕底部右侧的确定按钮。

最后，重启网络服务。

```
# systemctl restart network.service

```

好了，现在一切都搞定了。

---

via: <http://ask.xmodulo.com/configure-static-ip-address-centos7.html>

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

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


Adobe从网站上撤下了Linux PDF Reader的下载链接

Summary: 由于该公司从网站上撤下了软件的下载链接，因此这对于任何需要在Linux上使用Adobe这家公司的PDF阅读器的人而言有些麻烦了。 Reddit 上的一个用户发帖说，当他去 Adobe 网站上去下载该软件时，Linux并没有列在支持的操作系统里。 不知道什么时候，更不知道为什么，Linux版本被删除了，不过第一次被发现是在八月份。 这也并没有让人太惊讶。Adobe Reader 官方的Linux版本在2013年5月才更新，而且当时还在滞后的版本9.5.x上，而Windows和Mac版已经在v11.x。 谁在意呢？无所谓 这是一个巨大的损失么？你可能并不会这么想。毕竟Adobe Reader是

不足为奇

okular big law good

Chrome是Linux最好的PDF阅读器

Chrome是Linux最好的Android模拟器//@机智的阿卡林酱:Chrome是Linux最好的PDF阅读器

那是你信仰不够，信仰够的人不会死X。//@Light工作室-DavidHuang: Linux就一个X我就受不了，还要阅读器……Desktop一律不装。。//@鲜嫩肥美东条希: 傻逼Adobe，咱们Linuxer才懒得用你们的垃圾软件，Okular比Adobe PDF Reader不知好到哪里去！//@机智的阿卡林酱: Chrome是Linux最好的PDF阅读器

你有用过evince吗？ //@机智的阿卡林酱:Chrome是Linux最好的PDF阅读器

你有用过evince吗？

有foxit reader，好久没用adobe的pdf了。

我们都是用浏览器打开PDF文件。

不理解，为何Linux这么好的系统，大家都撤退了呢？nero的linux也不干了。

回复@ZMOM1031:一直用这个。但是不能comment。有办法吗？

哦。知道了。反正从来就不用。

从来不用！

# Adobe从网站上撤下了Linux PDF Reader的下载链接

<img src="content_image/album_201410_10_204128sm3wfm3odonfonzn.jpg" alt="Linux上的其他PDF解决方案" title="Linux上的其他PDF解决方案">
**由于该公司从网站上撤下了软件的下载链接，因此这对于任何需要在Linux上使用Adobe这家公司的PDF阅读器的人而言有些麻烦了。**

[Reddit 上的一个用户](https://www.reddit.com/r/linux/comments/2hsgq6/linux_version_of_adobe_reader_no_longer/)发帖说，当他去 Adobe 网站上去下载该软件时，Linux并没有列在[支持的操作系统](http://get.adobe.com/reader/otherversions/)里。

不知道什么时候，更不知道为什么，Linux版本被删除了，不过第一次被发现是在八月份。

这也并没有让人太惊讶。Adobe Reader 官方的Linux版本在2013年5月才更新，而且当时还在滞后的版本9.5.x上，而Windows和Mac版已经在v11.x。

### 谁在意呢？无所谓

这是一个巨大的损失么？你可能并不会这么想。毕竟Adobe Reader是一款名声不好的app。速度慢，占用资源而且体积臃肿。而原生的PDF阅读app像Evince和Okular提供了一流的体验而没有上面的那些缺点。

除开Snark，这一决定将会影响一些事。一些政府网站只能使用官方Abode应用才能完成或者提交提供的官方文档和程序。

Adobe把Linux给刷了这事并不鲜见。该公司在2012年[停止了Linux上flash版本的更新](http://www.omgubuntu.co.uk/2012/02/adobe-adandons-flash-on-linux)（把它留给Google去做），[并且此前从它们的跨平台运行时环境“Air”中排除了踢开了Linux用户](http://www.omgubuntu.co.uk/2011/06/adobe-air-for-linux-axed)。

不过并没有失去一切。虽然网在不再提供链接了，然而在Adobe FTP服务器上仍有Debian的安装程序。计划使用老的版本？需要自己承担风险且没有来自Adobe的支持。同样注意这些版本可能还有没有修复的漏洞。

* [下载Ubuntu版本的 Adobe Reader 9.5.5](ftp://ftp.adobe.com/pub/adobe/reader/unix/9.x/9.5.5/enu/AdbeRdr9.5.5-1_i386linux_enu.deb)

---

via: <http://www.omgubuntu.co.uk/2014/10/adobe-reader-linux-download-pulled-website>

作者：[Joey-Elijah Sneddon](https://plus.google.com/117485690627814051450/?rel=author) 译者：[geekpi](https://github.com/geekpi) 校对：[wxy](https://github.com/wxy)

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


恰当地管理开源，让软件更加安全

各有利弊。就像IOS和Android

# 恰当地管理开源，让软件更加安全

越来越多的公司意识到，要想比对手率先开发出高质量具有创造性的软件，关键在于积极使用开源项目。软件版本更迭要求市场推广速度足够快，成本足够低，而仅仅使用商业源代码已经无法满足这些需求了。如果不能选择最合适的开源软件集成到自己的项目里，一些令人称道的点子怕是永无出头之日了。

然而，使用开源软件也要面对新的挑战。一方面，你的团队从开源软件中汲取力量变得更快更灵活，另一方面，开源代码在传播过程中是否经历了不可控修改、安全性该如何保障的问题也日益凸显了出来。

OpenSSL Heartbleed 漏洞已经证实。如果你不了解你的应用程序或者已发布的产品中到底运行着什么代码，那你就可能面临需要大量时间才能解决的潜在安全威胁。相反，如果对项目里什么地方使用了什么版本的开源组件都了如指掌，一旦遇到漏洞，响应速度和解决速度都会是千金不换的。

### 安全性藏在代码内部

Heartbleed bug 让开发人员和企业知道了软件安全性有多重要。专利软件和开源软件哪个更安全？这场广泛受到关注的讨论并没有一个简单的结论。现实情况是，不论是专利软件还是开源软件，它们绝大部分都有缺陷，其中一些缺陷还威胁到软件的安全性。

如果开源软件被内部代码、专利代码引用了，那开发人员将不得不面对更复杂的安全性挑战。要是管理授权许可的手段再不恰当，那想追溯一段代码的来源和引用就得把相关人员全都牵连进来，难度必然急剧增加。

要想切实了解你软件的潜在漏洞，首先你得理解以下三件事儿：

1. 你的产品和应用程序里现在跑着什么代码？
2. 那些开发前期使用的代码，开发人员是从哪儿弄来的？
3. 开发后期使用了哪些组件，这些组件有哪些地方要在部署之前充分测试？

### 现状怎么样

所有企业都应该对比常见漏洞数据库——比如美国国家标准与技术学会的[国家漏洞数据库](http://nvd.nist.gov/)（NVD）——来检查他们的代码。NVD 等组织追踪并收集了各种安全漏洞的信息以及排名，这些数据可以协助企业确保代码及时更新，规避安全风险。

如果你从没对照漏洞数据库检查过你的代码，那你可有的忙了。好在我们有个可以利用这些数据库定期自动识别开源安全漏洞的[工具](http://www.blackducksoftware.com/oss-logistics/secure)，这个工具还可以警示和追踪项目中使用的受影响的开源组件并提供必要的解决方案。

持续监控你的代码库能保证及时发现未知代码、了解代码来源、授权信息不会过时、安全漏洞一旦出现就能第一时间掌握并寻求解决方案。如果你的公司有详细的代码清单，你就能轻而易举地找到漏洞所在并及时修复，确保你的业务和客户不会面临危险。

### 预防未来的问题

相当多开发人员青睐开源软件是因为开源软件易于获得且免费，他们不用为此再走采购流程。目前来看，尽管很多开源组织都有自己的使用策略或使用指引，他们却并没有强制使用者遵守，也没有追查使用者是否遵守。知道你的组织将会使用哪些开源代码、这些代码是否有授权、你的组织中什么地方引用了它们是非常重要的。

你知道你用了什么代码之后，就该好好整理它们了。你可以实现一个贯穿整个开发流程的管理框架，这样你可以掌握每段代码的详细信息，不用再在诸如代码更新了没有、什么时候更新的以及在哪儿更新的这类问题上浪费时间。手工管理这些信息不大可能，所以一流公司都使用自动化代码管理和审查工具。

虽然每个公司、每个开发团队都面临各不相同的问题，但实践证明下面几条安全管理经验对使用开源软件的任何规模的组织都有意义：

* **自动批准和分类** - 捕捉并追踪开源组件的相关属性，评估许可证合规性，通过自动化扫描、批准和使用过程来审查可能出现的安全漏洞。
* **维护最新代码的版本** - 评估代码质量，确保你的产品使用的是最新版本的代码。
* **评估代码** - 评估所有在使用的开源代码；审查代码安全性、授权许可、列出风险并予以解决。
* **确保代码合法** - 创建并实现开源政策，建立自动化合规检查流程确保开源政策、法规、法律责任等符合开源组织的要求。

### 关键是，要让管理流程运作起来

随着软件飞速渗入各行各业，开放源代码将在创新发展的道路上扮演越来越重要的角色。为了规避安全问题给日益复杂的环境带来的风险，企业必须运行起一套管理其组织中开源代码使用情况的流程，构筑一个定期对照漏洞数据库检查代码并快速消除风险的流程。

\*作者 Bill Ledingham 是 Black Duck Software 公司的首席技术官（CTO）兼工程执行副总裁。在这之前，Bill 是 Verdasys 的首席技术官，领导信息和网络安全团队为全球顶尖的 2000 家公司和政府机构提供敏感信息的安全保障。 Bill 曾经与人合伙创办过四家公司，现在活跃于波士顿创业社区，作为 CommonAngels 的合作伙伴和投资人迄今已有 6 年历史。

---

via: <http://www.linux.com/news/software/applications/782953-how-to-achieve-better-security-by-proper-management-of-open-source>

作者：[Bill Ledingham](http://www.linux.com/community/forums/person/59656) 译者：[sailing](https://github.com/sailing) 校对：[wxy](https://github.com/wxy)

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


Linux有问必答：如何在命令行创建一个MySQL数据库

Summary: 问题：在一个某处运行的MySQL服务器上，我该怎样通过命令行创建和安装一个MySQL数据库呢？  为了能通过命令行创建一个MySQL数据库，你可以使用mysql命令行客户端。下面是通过mysql命令行客户端创建和安装MySQL的步骤。  第一步：安装MySQL客户端 当然你得确保MySQL客户端已经安装完毕。如果没有的话，可以按照下面的方法。 在Debian，Ubuntu 或者 Linux Mint上： $ sudo apt-get install mysql-client  在Fedora，CentOS 或者 RHEL上： $ sudo apt-get install mysql  第二步：登陆到MySQL服务器 首先，你需要使用root用户登陆进你的MySQL

一个简单的mysql命令行使用例子

文章前边部分一直再用，只是那个为数据库创建一个只能访问一个数据库的账户学习了： mysql> GRANT ALL PRIVILEGES ON xmodulo_DB.* TO 'new_user'@'%' IDENTIFIED BY 'new_password'; mysql> FLUSH PRIVILEGES;

@我的印象笔记

在Fedora，CentOS 或者 RHEL上安装客户端是：yum install mysql

我觉得要安装Mysql的话在安装MySQL数据库服务的时候就应该安装

yum install mysql mysql-server //安装MySQL客户端和服务端

service mysqld start //启动MySQL服务

mysqladmin -u root password'登录密码' //设置MySQL登录密码

感觉这篇文章短斤少两啊，MySQL的其他用户也没创建

→_→ 竟然在Fedora，CentOS 或者 RHEL上：  $ sudo apt-get install mysql

抱歉，文章有误，已经修改。<br />
这篇文章没有涉及到如何安装和配置 mysql server，只是安装客户端并建立数据库。

“第五步：创建一个用户，并授予权限”我没看到有创建SQL用户的那条命令

CREATE USER 用户名 IDENTIFIED BY '密码';

另外我问一下，新浪微博的评论和转发是怎么同步到Linux中国的评论里的？

嗯，应该是要创建用户的，我去看看原文。<br />
转发和评论是我们做的 API 同步。

不用显式创建用户的，只需要grant 的时候给identified就行了。

好吧

回复@Linux中国:[嘻嘻][嘻嘻]没，只是看到这个小问题，可能会让我等小白误会，@Linux中国 团队还是是值得大家肯定的！继续发扬！另外社区略安静的样子…//@Linux中国: 回复@eve_ouyang:抱歉抱歉，校对翻译过程笔误~~马上改。

这个对于小白来说很有实用

# Linux有问必答：如何在命令行创建一个MySQL数据库

>
> **问题**：在一个某处运行的MySQL服务器上，我该怎样通过命令行创建和安装一个MySQL数据库呢？
>
>
>

为了能通过命令行创建一个MySQL数据库，你可以使用mysql命令行客户端。下面是通过mysql命令行客户端创建和安装MySQL的步骤。

### 第一步：安装MySQL客户端

当然你得确保MySQL客户端已经安装完毕。如果没有的话，可以按照下面的方法。

在Debian，Ubuntu 或者 Linux Mint上：

```
$ sudo apt-get install mysql-client

```

在Fedora，CentOS 或者 RHEL上：

```
$ sudo yum install mysql

```

### 第二步：登陆到MySQL服务器

首先，你需要使用root用户登陆进你的MySQL数据库，如下：

```
$ mysql -u root -h <mysql-server-ip-address> -p

```

请注意：为了能登进远程的MySQL服务器，你需要[开启服务器上的远程访问](http://xmodulo.com/2012/06/how-to-allow-remote-access-to-mysql.html)，如果你想调用同一主机上的MySQL服务器，你可以省略 "-h " 参数

```
$ mysql -u root -p

```

你将需要输入MySQL服务器的密码，如果认证成功，MySQL提示将会出现。

### 第三步：创建一个MySQL数据库

在MySQL提示中输入命令之前，请记住所有的命令都是以分号结束的(否则将不会执行)。另外，考虑输入命令的时候使用大些字母，输入数据库对象使用小写字母。但那不是必须的，只是方便你的阅读。

现在，让我们创建一个叫做xmodulo\_DB的数据库：

```
mysql> CREATE DATABASE IF NOT EXISTS xmodulo_DB;

```

### 第四步：创建一个数据库表

为了达到演示的目的，我们将会创建一个叫做posts\_tbl的表，表里会存储关于文章的如下信息：

* 文章的标题
* 作者的名字
* 作者的姓
* 文章可用或者不可用
* 文章创建的日期

这个过程分两步执行：

首先，选择我们需要使用的数据库：

```
mysql> USE xmodulo_DB;

```

然后，在数据库中创建新表：

```
mysql> CREATE TABLE 'posts_tbl' (
'post_id' INT UNSIGNED NOT NULL AUTO_INCREMENT,
'content' TEXT,
'author_FirstName' VARCHAR(100) NOT NULL,
'author_LastName' VARCHAR(50) DEFAULT NULL ,
'isEnabled' TINYINT(1) NOT NULL DEFAULT 1,
'date' TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ,
PRIMARY KEY ( 'post_id' )
) TYPE = MYISAM;

```

### 第五步：创建一个用户，并授予权限

当涉及到访问我们新创的数据库和表的时候，创建一个新用户是一个很好的主意。这样做就可以让用户在没有整个MySQL服务器权限的情况下，去访问那个数据库(而且只能是那个数据库)

你可以创建新用户，授予权限，并且使改变生效：

```
mysql> GRANT ALL PRIVILEGES ON xmodulo_DB.* TO 'new_user'@'%' IDENTIFIED BY 'new_password';
mysql> FLUSH PRIVILEGES;

```

'new*user'和'new*password'分别指的是新的用户名和他的密码。这条信息将会被保存在mysql.user表中，而且密码会被加密。

### 第六步：测试

让我们插入一个虚拟的记录到posts\_tbl表：

```
mysql> USE xmodulo_DB;
mysql> INSERT INTO posts_tbl (content, author_FirstName, author_Las tName)
VALUES ('Hi! This is some dummy text.', 'Gabriel', 'Canepa');

```

然后查看posts\_tbl表中的所有记录：

```
mysql> SELECT * FROM posts_tbl;

```

注意：MySQL会在我们先前定义的地方自动插入适当的默认值(比如，'isEnabled'和'date')。

---

via: <http://ask.xmodulo.com/create-mysql-database-command-line.html>

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

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


如何在Crunchbang下恢复Openbox的默认配置

Summary: CrunchBang是一个很好地融合了速度、风格和内容的基于Debian GNU/Linux的发行版。使用了灵活的Openbox窗口管理器，高度定制化并且提供了一个现代、全功能的GNU/Linux系统而没有牺牲性能。 Crunchbang是高度自定义的，用户可以尽情地地把它调整成他们想要的样子。这一切都通过文本文件（配置）。我作为一个Crunchbang用户，我最近搞乱了我的menu.xml配置文件，它负责下面的菜单显示。  我的菜单配置文件中丢失了所有内容。由于我没有备份（最好备份配置文件）。我不得不搜索Crunchbang安装后的默认配置。这里就是我如何修复的过程，这里要

# 如何在Crunchbang下恢复Openbox的默认配置

[CrunchBang](http://crunchbang.org/)是一个很好地融合了速度、风格和内容的基于Debian GNU/Linux的发行版。使用了灵活的Openbox窗口管理器，高度定制化并且提供了一个现代、全功能的GNU/Linux系统而没有牺牲性能。

Crunchbang是高度自定义的，用户可以尽情地地把它调整成他们想要的样子。这一切都通过文本文件（配置）。我作为一个Crunchbang用户，我最近搞乱了我的**menu.xml**配置文件，它负责下面的菜单显示。

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

我的菜单配置文件中丢失了所有内容。由于我没有备份（最好备份配置文件）。我不得不搜索Crunchbang安装后的默认配置。这里就是我如何修复的过程，这里要感谢Crunchbang论坛。

了解所有为你预备份的默认配置是很有趣的，你可以在这里找到：

```
/etc/skel/.config/

```

因此对于任何默认配置，你只需复制他们并重启适当的程序。

我在这里使用Openbox的**menu.xml**作为示例：

```
cp -r /etc/skel/.config/openbox/menu.xml ~/.config/openbox/menu.xml

```

接着重启openbox。

```
openbox --restart

```

---

via: <http://www.unixmen.com/recover-default-openbox-config-files-crunchbang/>

作者：[Enock Seth Nyamador](http://www.unixmen.com/author/seth/) 译者：[geekpi](https://github.com/geekpi) 校对：[wxy](https://github.com/%E6%A0%A1%E5%AF%B9%E8%80%85ID)

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


PHP-RSA加密跨域通讯实战

Summary: 基于POST GET 的http通讯虽然非常成熟，但是很容易被人监听。 并且如果使用跨域jsonp的通讯很容易在历史记录中发现通讯网址以及参数。为了克服这些问题， 并且降低服务器成本，我们没有使用SSL而使用 RSA加密。文章中的php加密解密 JS的加密解密 互相加密解密 都能验证通过。


Summary: LaTeX是一种文本标记语言，也可以说是一种文档编撰系统。在很多大学或者机构中普遍作为一种标准来书写专业的科学文献、毕业论文或其他类似的文档。在这篇文章中，我们会看到如何在Ubuntu 14.04中使用LaTeX。 在 Ubuntu 14.04 或 Linux Mint 17 中安装 Texmaker 来使用LaTeX Texmaker是一款免费开源的LaTeX编辑器，它支持一些主流的桌面操作系统，比如Window，Linux和OS X。下面是Texmaker的主要特点：  支持Unicode编码的编辑器 拼写检查 代码折叠 自动补全 快速导航 PDF查看器 编译简单 支持370个数学符号 LaTeX格式文本 通过TeX4ht导出

不知道该怎么做中文排版

添加一些宏包和设置字体,这些可以在网上找到.

请搜索CTeX

# 在 Ubuntu 14.04 和 Linux Mint 17 中通过 Texmaker 来使用LaTeX

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

[LaTeX](http://www.latex-project.org/)是一种文本标记语言，也可以说是一种文档编撰系统。在很多大学或者机构中普遍作为一种标准来书写专业的科学文献、毕业论文或其他类似的文档。在这篇文章中，我们会看到如何在Ubuntu 14.04中使用LaTeX。

### 在 Ubuntu 14.04 或 Linux Mint 17 中安装 Texmaker 来使用LaTeX

[Texmaker](http://www.xm1math.net/texmaker/index.html)是一款免费开源的LaTeX编辑器，它支持一些主流的桌面操作系统，比如Window，Linux和OS X。下面是Texmaker的主要特点：

* 支持Unicode编码的编辑器
* 拼写检查
* 代码折叠
* 自动补全
* 快速导航
* PDF查看器
* 编译简单
* 支持370个数学符号
* LaTeX格式文本
* 通过TeX4ht导出到html和odt文件
* 支持正则表达式

在Ubuntu 14.04下，你可以通过下面的链接下载Texmaker的二进制包

* [下载Texmaker编辑器](http://www.xm1math.net/texmaker/download.html#linux)

你通过上述链接下载到的是一个.deb包，因此你在一些像Linux Mint，Elementary OS，Pinguy OS等等类Debain的发行版中可以使用相同的安装方式。

如果你想使用像Github式的markdown编辑器，你可以试试[Remarkable编辑器](http://itsfoss.com/remarkable-markdown-editor-linux/)。

希望Texmaker能够在Ubuntu和Linux Mint中帮到你。

---

via: <http://itsfoss.com/install-latex-ubuntu-1404/>

作者：[Abhishek](http://itsfoss.com/author/Abhishek/) 译者：[john](https://github.com/johnhoow) 校对：[Caroline](https://github.com/carolinewuyan)

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


在 Debian 上使用 systemd 管理系统

Summary: 人类已经无法阻止 systemd 占领全世界的 Linux 系统了，唯一阻止它的方法是在你自己的机器上手动卸载它。到目前为止，systemd 已经创建了比任何软件都多的技术问题、感情问题和社会问题。这一点从Linux 初始化软件之战上就能看出，这场争论在 Debian 开发者之间持续了好几个月。当 Debian 技术委员会最终决定将 systemd 放到 Debian 8（代号 Jessie）的发行版里面时，其反对者试图通过多种努力来取代这项决议，甚至有人扬言要威胁那些支持 systemd 的开发者的生命安全。  这也说明了 systemd 对 Unix 传承下来的系统处理方式有很大的干扰

[哈哈]个人喜欢systemd比init多

比init高效，不过对普通用户来说没太大明显区别

用习惯了还是可以的

# 在 Debian 上使用 systemd 管理系统

人类已经无法阻止 systemd 占领全世界的 Linux 系统了，唯一阻止它的方法是在你自己的机器上手动卸载它。到目前为止，systemd 已经创建了比任何软件都多的技术问题、感情问题和社会问题。这一点从[“Linux 初始化软件之战”](https://lists.debian.org/debian-devel/2013/10/msg00444.html)上就能看出，这场争论在 Debian 开发者之间持续了好几个月。当 Debian 技术委员会最终决定将 systemd 放到 Debian 8（代号 Jessie）的发行版里面时，其反对者试图通过多种努力来[取代这项决议](https://lists.debian.org/debian-devel/2014/02/msg00316.html)，甚至有人扬言要威胁那些支持 systemd 的开发者的生命安全。

这也说明了 systemd 对 Unix 传承下来的系统处理方式有很大的干扰。“一个软件只做一件事情”的哲学思想已经被这个新来者彻底颠覆。除了取代了 sysvinit 成为新的系统初始化工具外，systemd 还是一个系统管理工具。目前为止，由于 systemd-sysv 这个软件包提供的兼容性，那些我们使用惯了的工具还能继续工作。但是当 Debian 将 systemd 升级到214版本后，这种兼容性就不复存在了。升级措施预计会在 Debian 8 "Jessie" 的稳定分支上进行。从此以后用户必须使用新的命令来管理系统、执行任务、变换运行级别、查询系统日志等等。不过这里有一个应对方案，那就是在 .bashrc 文件里面添加一些别名。

现在就让我们来看看 systemd 是怎么改变你管理系统的习惯的。在使用 systemd 之前，你得先把 sysvinit 保存起来，以便在 systemd 出错的时候还能用 sysvinit 启动系统。这种方法**只有在没安装 systemd-sysv 的情况下才能生效**，具体操作方法如下：

```
# cp -av /sbin/init /sbin/init.sysvinit

```

在紧急情况下，可以把下面的文本：

```
init=/sbin/init.sysvinit

```

添加到内核启动参数项那里。

### systemctl 的基本用法

systemctl 的功能是替代“/etc/init.d/foo start/stop”这类命令，另外，其实它还能做其他的事情，这点你可以参考 man 文档。

一些基本用法：

* systemctl - 列出所有单元（UNIT）以及它们的状态（这里的 UNIT 指的就是系统上的 job 和 service）
* systemctl list-units - 列出所有 UNIT
* systemctl start [NAME...] - 启动一项或多项 UNIT
* systemctl stop [NAME...] - 停止一项或多项 UNIT
* systemctl disable [NAME...] - 将 UNIT 设置为开机不启动
* systemctl list-unit-files - 列出所有已安装的 UNIT，以及它们的状态
* systemctl --failed - 列出开机启动失败的 UNIT
* systemctl --type=mount - 列出某种类型的 UNIT，类型包含：service, mount, device, socket, target
* systemctl enable debug-shell.service - 将一个 shell 脚本设置为开机启动，用于调试

为了更方便处理这些 UNIT，你可以使用 systemd-ui 软件包，你只要输入 systemadm 命令就可以使用这个软件。

你同样可以使用 systemctl 实现转换运行级别、重启系统和关闭系统的功能：

* systemctl isolate graphical.target - 切换到运行级别5，就是有桌面的运行级别
* systemctl isolate multi-user.target - 切换到运行级别3，没有桌面的运行级别
* systemctl reboot - 重启系统
* systemctl poweroff - 关机

所有命令，包括切换到其他运行级别的命令，都可以在普通用户的权限下执行。

### journalctl 的基本用法

systemd 不仅提供了比 sysvinit 更快的启动速度，还让日志系统在更早的时候启动起来，可以记录内核初始化阶段、内存初始化阶段、前期启动步骤以及主要的系统执行过程的日志。所以，**以前那种需要通过对显示屏拍照或者暂停系统来调试程序的日子已经一去不复返啦**。

systemd 的日志文件都被放在 /var/log 目录。如果你想使用它的日志功能，需要执行一些命令，因为 Debian 没有打开日志功能。命令如下：

```
# addgroup --system systemd-journal
# mkdir -p /var/log/journal
# chown root:systemd-journal /var/log/journal
# gpasswd -a $user systemd-journal

```

通过上面的设置，你就可以以普通用户权限使用 journal 软件查看日志。使用 journalctl 查询日志可以获得一些比 syslog 软件更方便的玩法：

* journalctl --all - 显示系统上所有日志，以及它的用户
* journalctl -f - 监视系统日志的变化（类似 tail -f /var/log/messages 的效果）
* journalctl -b - 显示系统启动以后的日志
* journalctl -k -b -1 - 显示上一次（-b -1）系统启动前产生的内核日志
* journalctl -b -p err - 显示系统启动后产生的“ERROR”日志
* journalctl --since=yesterday - 当系统不会经常重启的时候，这条命令能提供比 -b 更短的日志记录
* journalctl -u cron.service --since='2014-07-06 07:00' --until='2014-07-06 08:23' - 显示 cron 服务在某个时间段内打印出来的日志
* journalctl -p 2 --since=today - 显示优先级别为2以内的日志，包含 emerg、alert、crit三个级别。所有日志级别有： emerg (0), alert (1), crit (2), err (3), warning (4), notice (5), info (6), debug (7)
* journalctl > yourlog.log - 将二进制日志文件复制成文本文件并保存到当前目录

Journal 和 syslog 可以很好的共存。而另一方面，一旦你习惯了操作 journal，你也可以卸载掉所有 syslog 的软件，比如 rsyslog 或 syslog-ng。

如果想要得到更详细的日志信息，你可以在内核启动参数上添加“systemd.log\_level=debug”，然后运行下面的命令：

```
# journalctl -alb

```

你也可以编辑 /etc/systemd/system.conf 文件来修改日志级别。

### 利用 systemd 分析系统启动过程

systemd 可以让你能更有效地分析和优化你的系统启动过程：

* systemd-analyze - 显示本次启动系统过程中用户态和内核态所花的时间
* systemd-analyze blame - 显示每个启动项所花费的时间明细
* systemd-analyze critical-chain - 按时间顺序打印 UNIT 树
* systemd-analyze dot | dot -Tsvg > systemd.svg - 为开机启动过程生成向量图（需要安装 graphviz 软件包）
* systemd-analyze plot > bootplot.svg - 产生开机启动过程的时间图表

systemd 虽然是个年轻的项目，但已有大量文档。首先要介绍给你的是[Lennart Poettering 的 0pointer 系列](http://0pointer.de/blog/projects/systemd.html)。这个系列非常详细，非常有技术含量。另外一个是[免费桌面信息文档](http://www.freedesktop.org/wiki/Software/systemd/)，它包含了最详细的关于 systemd 的链接：发行版特性文件、bug 跟踪系统和说明文档。你可以使用下面的命令来查询 systemd 都提供了哪些文档：

```
# man systemd.index

```

不同发行版之间的 systemd 提供的命令基本一样，最大的不同之处就是打包方式。

---

via: <http://xmodulo.com/2014/07/use-systemd-system-administration-debian.html>

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

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


小技巧：在Ubuntu 14.04中重置Unity和Compiz设置

Summary: 如果你一直在试验你的Ubuntu系统，你可能最终以Unity和Compiz的一片混乱收场。在此贴士中，我们将看看怎样来重置Ubuntu 14.04中的Unity和Compiz。事实上，全部要做的事，仅仅是运行几个命令而已。  重置Ubuntu 14.04中的Unity和Compiz 打开终端（Ctrl+Alt+T），并使用以下命令来重置compiz： dconf reset -f /org/compiz/  重置compiz后，重启Unity： setsid unity  此外，如果你想将Unity图标也进行重置，试试以下的命令吧： unity --reset-icons  可能的疑难解决方案： 如果你在重置compiz时遇到如下错误：  error: GDBus.Error:org.gtk

驱动挂了怎么破？[挖鼻屎]

呵呵哒……坑死了[悲伤][悲伤]

我只想知道unity和compiz是什么 ？

我只想知道unity和compiz是什么 ？

原来这么简单哈，不过我用的是deepin，不好意思哈。

在我的开发环境搞了一下compiz的立体桌面，然后发现多工作区之间拖动窗口会卡住，unity任务栏会变灰无法点击，快捷键也错乱了，赶紧卸载compiz，重启系统，还是不行，用dconf命令无效还报错，setsid unity也没用，然后又把compiz重装上，把desk wall重新打开，dconf命令和setsid都试了还是不行，正在蛋疼，看到最后改.config/dconf名，试了一下，咦，貌似好了。。。。用的好好的，真不能手贱啊

# 小技巧：在Ubuntu 14.04中重置Unity和Compiz设置

如果你一直在试验你的Ubuntu系统，你可能最终以Unity和Compiz的一片混乱收场。在此贴士中，我们将看看怎样来重置Ubuntu 14.04中的Unity和Compiz。事实上，全部要做的事，仅仅是运行几个命令而已。

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

### 重置Ubuntu 14.04中的Unity和Compiz

打开终端（Ctrl+Alt+T），并使用以下命令来重置compiz：

```
dconf reset -f /org/compiz/

```

重置compiz后，重启Unity：

```
setsid unity

```

此外，如果你想将Unity图标也进行重置，试试以下的命令吧：

```
unity --reset-icons

```

### 可能的疑难解决方案：

如果你在重置compiz时遇到如下错误：

>
> error: GDBus.Error:org.gtk.GDBus.UnmappedGError.Quark.\_g*\_*2dfile*2\_*derror\_2dquark.Code17: Cannot open dconf database: invalid gvdb header
>
>
>

可能的原因是用户文件被搞乱了。备份dconf配置，并移除配置文件：

```
mv ~/.config/dconf/ ~/.config/dconf.bak

```

希望本贴士对你重置Ubuntu 14.04中Unity和compiz有所帮助，欢迎您随时提出问题和建议。

---

via: <http://itsfoss.com/reset-unity-compiz-settings-ubuntu-1404/>

作者：[Abhishek](http://itsfoss.com/author/Abhishek/) 译者：[GOLinux](https://github.com/GOLinux) 校对：[wxy](https://github.com/wxy)

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


如何使用 systemd 中的定时器

Summary: 我最近在写一些执行备份工作的脚本，我决定使用systemd timers而不是对我而已更熟悉的cron jobs来管理它们。 在我使用时，出现了很多问题需要我去各个地方找资料，这个过程非常麻烦。因此，我想要把我目前所做的记录下来，方便自己的记忆，也方便读者不必像我这样，满世界的找资料了。  在我下面提到的步骤中有其他的选择，但是这里是最简单的方法。在此之前，请查看systemd.service, systemd.timer,和systemd.target的帮助页面(man)，学习你能用它们做些什么。 运行一个简单的脚本 假设你有一个脚本叫：/usr/local/bin/myscript ，你想要

Repost

真绕啊。

一个 myscript.timer 搞定不行么？非得再搞个 myscript.service。。。

所以，systemd 实在是太繁琐了，我觉得被批评为“违背 UNIX 哲学”是批评对了。

嗯，反正我不喜欢 systemd 的“语法”和“接口”。感觉很反人类。

同感。。或者是我老了，不愿意接纳新事物了。

# 如何使用 systemd 中的定时器

我最近在写一些执行备份工作的脚本，我决定使用[systemd timers](https://fedoraproject.org/wiki/User:Johannbg/QA/Systemd/Systemd.timer)而不是对我而已更熟悉的[cron jobs](https://en.wikipedia.org/wiki/Cron)来管理它们。

在我使用时，出现了很多问题需要我去各个地方找资料，这个过程非常麻烦。因此，我想要把我目前所做的记录下来，方便自己的记忆，也方便读者不必像我这样，满世界的找资料了。

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

在我下面提到的步骤中有其他的选择，但是这里是最简单的方法。在此之前，请查看**systemd.service**, **systemd.timer**,和**systemd.target**的帮助页面(man)，学习你能用它们做些什么。

### 运行一个简单的脚本

假设你有一个脚本叫：**/usr/local/bin/myscript** ，你想要每隔一小时就运行一次。

#### Service 文件

第一步，创建一个service文件，根据你Linux的发行版本放到相应的系统目录(在Arch中，这个目录是**/etc/systemd/system/** 或 **/usr/lib/systemd/system**)

myscript.service

```
[Unit]
Description=MyScript

[Service]
Type=simple
ExecStart=/usr/local/bin/myscript

```

注意，务必将**Type**变量的值设置为"simple"而不是"oneshot"。使用"oneshot"使得脚本只在第一次运行，之后系统会认为你不想再次运行它，从而关掉我们接下去创建的定时器(Timer)。

#### Timer 文件

第二步，创建一个timer文件，把它放在第一步中service文件放置的目录。

myscript.timer

```
[Unit]
Description=Runs myscript every hour

[Timer]
# 首次运行要在启动后10分钟后
OnBootSec=10min
# 每次运行间隔时间
OnUnitActiveSec=1h
Unit=myscript.service

[Install]
WantedBy=multi-user.target

```

#### 授权 / 运行

授权并运行的是timer文件，而不是service文件。

```
# 以 root 身份启动定时器
systemctl start myscript.timer
# 在系统引导起来后就启用该定时器
systemctl enable myscript.timer

```

### 在同一个Timer上运行多个脚本

现在我们假设你在相同时间想要运行多个脚本。这种情况，**你需要在上面的文件中做适当的修改**。

#### Service 文件

像我[之前说过的](http://jason.the-graham.com/2013/03/06/how-to-use-systemd-timers/#service-file)那样创建你的service文件来运行你的脚本，但是在每个service 文件最后都要包含下面的内容:

```
[Install]
WantedBy=mytimer.target

```

如果在你的service 文件中有一些依赖顺序，确保你使用**Description**字段中的值具体指定**After=something.service**和**Before=whatever.service**中的参数。

另外的一种选择是(或许更加简单)，创建一个包装脚本来使用正确的顺序来运行命令，并在你的service文件中使用这个脚本。

#### Timer 文件

你只需要一个timer文件，创建**mytimer.timer**，像我在[上面指出的](4)。

#### target 文件

你可以创建一个以上所有的脚本依赖的target文件。

mytimer.target

```
[Unit]
Description=Mytimer
# Lots more stuff could go here, but it's situational.
# Look at systemd.unit man page.

```

#### 授权 / 启动

你需要将所有的service文件和timer文件授权。

```
systemctl enable script1.service
systemctl enable script2.service
...
systemctl enable mytimer.timer
systemctl start mytimer.service

```

Good luck.

---

via: <http://jason.the-graham.com/2013/03/06/how-to-use-systemd-timers/>

作者：Jason Graham 译者：[johnhoow](https://github.com/johnhoow) 校对：[wxy](https://github.com/wxy)

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


Linux有问必答：如何扩展XFS文件系统

Summary: 问题：我的磁盘上有额外的空间，所以我想要扩展其上创建的现存的XFS文件系统，以完全使用额外空间。怎样才是扩展XFS文件系统的正确途径？  XFS是一个开源的（GPL）日志文件系统，最初由硅谷图形（SGI）开发，现在大多数的Linux发行版都支持。事实上，XFS已被最新的CentOS/RHEL 7采用，成为其默认的文件系统。在其众多的特性中，包含了在线调整大小这一特性，使得现存的XFS文件系统在已经挂载的情况下可以进行扩展。然而，对于XFS文件系统的缩减却还没有支持。  要扩展一个现存的XFS文件系统，你可以使用命令行工具xfs_growfs，这在大多数L

centos 7 上不能生效呢？也没错误信息，啥多余的信息也没有已?

# Linux有问必答：如何扩展XFS文件系统

>
> **问题**：我的磁盘上有额外的空间，所以我想要扩展其上创建的现存的XFS文件系统，以完全使用额外空间。怎样才是扩展XFS文件系统的正确途径？
>
>
>

XFS是一个开源的（GPL）日志文件系统，最初由硅谷图形（SGI）开发，现在大多数的Linux发行版都支持。事实上，XFS已被最新的CentOS/RHEL 7采用，成为其默认的文件系统。在其众多的特性中，包含了“在线调整大小”这一特性，使得现存的XFS文件系统在已经挂载的情况下可以进行扩展。然而，对于XFS文件系统的**缩减**却还没有支持。

要扩展一个现存的XFS文件系统，你可以使用命令行工具xfs\_growfs，这在大多数Linux发行版上都默认可用。由于XFS支持在线调整大小，目标文件系统可以挂在，也可以不挂载。

下面展示了**xfs\_growfs**的基本用法：

作为目标XFS文件系统来扩展，你可以指定挂载点、磁盘分区或者逻辑卷（在使用LVM时），使用数据块数量来指定新的XFS文件系统的大小。你可以使用xfs\_info命令行工具来检查数据块大小和数量：

要将XFS文件扩展到1986208：

```
$ sudo xfs_growfs /dev/centos/root -D 1986208

```

如果你不使用“-D”选项来指定大小，xfs\_growfs将会自动扩展XFS文件系统到最大的可用大小。

```
$ sudo xfs_growfs /dev/centos/root

```

注意，当你扩展一个现存的XFS文件系统时，必须准备好事先添加用于XFS文件系统扩展的空间。这虽然是很显然的事，但是如果在所在的分区或磁盘卷上没有空闲空间可用的话，xfs*growfs就没有办法了。同时，如果你尝试扩展XFS文件系统大小到超过磁盘分区或卷的大小，xfs*growfs将会失败。

---

via: <http://ask.xmodulo.com/expand-xfs-file-system.html>

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

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


使用 GIT 备份 linux 上的网页文件

[哈哈]猛然发现换LOGO了

功能很强大，步骤很复杂。

我的备份就一个脚本的事就能全部备份到Dropbox里<br />
在服务器上安装乱七八糟的软件，不干！

专业安防解决方案服务商

1、定制网络高清一体机机芯，模拟高清一体机机芯

2、定制Hi3516A高清网络摄像机，高清一体机机芯

3、定制Hi3531 Hi3532 Hi3521 Hi3520A Hi3520D Hi3515A  DVR软硬件

4、定制Hi3535 Hi3531 Hi3521 Hi3520A Hi3520D Hi3515A  NVR软硬件

5、定制Hi3531 Hi3521 Hi3520A Hi3520D Hi3515A  DVR/NVR混合型软硬件

6、定制Hi3518E Hi3518C Hi3518A Hi3516C卡片机 摇头机软硬件

7、定制TI DM8127  DM8148 DM8168软硬件

8、定制车牌识别  人脸识别等图像处理 视觉处理软件

联系QQ360379857

# 使用 GIT 备份 linux 上的网页文件

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

BUP 并不单纯是 Git, 而是一款基于 Git 的软件. 一般情况下, 我使用 rsync 来备份我的文件, 而且迄今为止一直工作的很好. 唯一的不足就是无法把文件恢复到某个特定的时间点. 因此, 我开始寻找替代品, 结果发现了 BUP, 一款基于 git 的软件, 它将数据存储在一个仓库中, 并且有将数据恢复到特定时间点的选项.

要使用 BUP, 你先要初始化一个空的仓库, 然后备份所有文件. 当 BUP 完成一次备份是, 它会创建一个还原点, 你可以过后还原到这里. 它还会创建所有文件的索引, 包括文件的属性和验校和. 当要进行下一个备份时, BUP 会对比文件的属性和验校和, 只保存发生变化的数据. 这样可以节省很多空间.

### 安装 BUP (在 Centos 6 & 7 上测试通过)

首先确保你已经安装了 RPMFORGE 和 EPEL 仓库

```
[techarena51@vps ~]$ sudo yum groupinstall "Development Tools"
[techarena51@vps ~]$ sudo yum install python python-devel
[techarena51@vps ~]$ sudo yum install fuse-python pyxattr pylibacl
[techarena51@vps ~]$ sudo yum install perl-Time-HiRes
[techarena51@vps ~]$ git clone git://github.com/bup/bup
[techarena51@vps ~]$ cd bup
[techarena51@vps ~]$ make
[techarena51@vps ~]$ make test
[techarena51@vps ~]$ sudo make install

```

对于 debian/ubuntu 用户, 你可以使用 "apt-get build-dep bup". 要获得更多的信息, 可以查看 <https://github.com/bup/bup>

在 CentOS 7 上, 当你运行 "make test" 时可能会出错, 但你可以继续运行 "make install".

第一步时初始化一个空的仓库, 就像 git 一样.

```
[techarena51@vps ~]$ bup init

```

默认情况下, bup 会把仓库存储在 "~/.bup" 中, 但你可以通过设置环境变量 "export BUP\_DIR=/mnt/user/bup" 来改变设置.

然后, 创建所有文件的索引. 这个索引, 就像之前讲过的那样, 存储了一系列文件和它们的属性及 git 目标 id (sha1 哈希表). (属性包括了软链接, 权限和不可改变字节)

```
bup index /path/to/file
bup save -n nameofbackup /path/to/file

#Example
[techarena51@vps ~]$ bup index /var/www/html
Indexing: 7973, done (4398 paths/s).
bup: merging indexes (7980/7980), done.

[techarena51@vps ~]$ bup save -n techarena51 /var/www/html

Reading index: 28, done.
Saving: 100.00% (4/4k, 28/28 files), done.
bloom: adding 1 file (7 objects).
Receiving index from server: 1268/1268, done.
bloom: adding 1 file (7 objects).

```

"BUP save" 会把所有内容分块, 然后把它们作为对象储存. "-n" 选项指定备份名.

你可以查看备份列表和已备份文件.

```
[techarena51@vps ~]$ bup ls
local-etc    techarena51  test
#Check for a list of backups available for my site
[techarena51@vps ~]$ bup ls techarena51
2014-09-24-064416  2014-09-24-071814  latest
#Check for the files available in these backups
[techarena51@vps ~]$ bup ls techarena51/2014-09-24-064416/var/www/html
apc.php                      techarena51.com              wp-config-sample.php         wp-load.php

```

在同一个服务器上备份文件从来不是一个好的选择. BUP 允许你远程备份网页文件, 但你必须保证你的 SSH 密钥和 BUP 都已经安装在远程服务器上.

```
bup index path/to/dir
bup save-r remote-vps.com -n backupname path/to/dir

```

### 例子: 备份 "/var/www/html" 文件夹

```
[techarena51@vps ~]$bup index /var/www/html
[techarena51@vps ~]$ bup save -r user@remotelinuxvps.com: -n techarena51 /var/www/html
Reading index: 28, done.
Saving: 100.00% (4/4k, 28/28 files), done.
bloom: adding 1 file (7 objects).
Receiving index from server: 1268/1268, done.
bloom: adding 1 file (7 objects).

```

### 恢复备份

登入远程服务器并输入下面的命令

```
[techarena51@vps ~]$bup restore -C ./backup techarena51/latest

#Restore an older version of the entire working dir elsewhere
[techarena51@vps ~]$bup restore -C /tmp/bup-out /testrepo/2013-09-29-195827
#Restore one individual file from an old backup
[techarena51@vps ~]$bup restore -C /tmp/bup-out /testrepo/2013-09-29-201328/root/testbup/binfile1.bin

```

唯一的缺点是你不能把文件恢复到另一个服务器, 你必须通过 SCP 或者 rsync 手动复制文件.

通过集成的 web 服务器查看备份.

```
bup web
#specific port
bup web :8181

```

你可以使用 shell 脚本来运行 bup, 并建立一个每日运行的定时任务.

```
#!/bin/bash

bup index /var/www/html
bup save -r user@remote-vps.com: -n techarena51 /var/www/html

```

BUP 并不完美, 但它的确能够很好地完成任务. 我当然非常愿意看到这个项目的进一步开发, 希望以后能够增加远程恢复的功能.

你也许喜欢阅读这篇——使用[inotify-tools](http://techarena51.com/index.php/inotify-tools-example/)实时文件同步.

---

via: <http://techarena51.com/index.php/using-git-backup-website-files-on-linux/>

作者：[Leo G](http://techarena51.com/) 译者：[wangjiezhe](https://github.com/wangjiezhe) 校对：[Caroline](https://github.com/carolinewuyan)

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


Linux Kernel 3.17 带来了很多新特性

Summary: Linus Torvalds已经发布了最新的稳定版内核3.17。  Torvalds以他典型的放任式的口吻在Linux内核邮件列表中解释说：  过去的一周很平静，我对3.17的如期发布没有疑虑（相对于乐观的我应该早一周发布么的计划而言）。  由于假期，Linux说他还没有开始合并3.18的改变：  我马上要去旅行了- 在我期盼早点发布的时候我希望避免一些事情。这意味着在3.17发布后，我不会在下周非常活跃地合并新的东西，并且下下周是LinuxCon EU  Linux 3.17有哪些新的? 最新版本的 Linux 3.17 加入了最新的改进，硬件支持，修复等等。范围从不明觉厉的 - 比如：me

Repost

公司的ubuntu14.04已经更新内核 笔记本就不更新了 还是跟随官方推送比较好

「新的包括Rockchip RK3288和AllWinner A23 SoC的ARM芯片支持」@瑞芯-Rockchip

在用最新的内核，只是不知道有什么不同，反正在某些方面已经无所谓啦。

# Linux Kernel 3.17 带来了很多新特性

Linus Torvalds已经发布了最新的稳定版内核3.17。

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

Torvalds以他典型的[放任式](http://lkml.iu.edu/hypermail/linux/kernel/1410.0/02818.html)的口吻在Linux内核邮件列表中解释说：

>
> “过去的一周很平静，我对3.17的如期发布没有疑虑（相对于乐观的“我应该早一周发布么”的计划而言）。”
>
>
>

由于假期，Linux说他还没有开始合并3.18的改变：

>
> “我马上要去旅行了- 在我期盼早点发布的时候我希望避免一些事情。这意味着在3.17发布后，我不会在下周非常活跃地合并新的东西，并且下下周是LinuxCon EU”
>
>
>

### Linux 3.17有哪些新的?

最新版本的 Linux 3.17 加入了最新的改进，硬件支持，修复等等。范围从不明觉厉的 - 比如：[memfd 和 文件密封补丁](http://lwn.net/Articles/607627/) - 到大多数人感兴趣的，比如最新硬件的支持。

下面是这次发布的一些亮点的列表，但它们并不详尽：

* Microsoft Xbox One 控制器支持 (没有震动反馈)
* 额外的Sony SIXAXIS支持改进
* 东芝 “主动防护感应器” 支持
* 新的包括Rockchip RK3288和AllWinner A23 SoC的ARM芯片支持
* 安全计算设备上的“跨线程过滤设置”
* 基于Broadcom BCM7XXX板卡的支持（用在不同的机顶盒上）
* 增强的AMD Radeon R9 290支持
* Nouveau 驱动改进，包括Kepler GPU修复
* 包含Intel Broadwell超级本上的Wildcatpoint Audio DSP音频支持

### 在Ubuntu上安装 Linux 3.17

虽然被列为稳定版，但是目前对于大多数人而言只有很少的功能需要我们“现在去安装”。

但是如果你很耐心——**更重要的是**——有足够的技能去处理从中导致的问题，你可以通过在由Canonical维护的主线内核存档中找到一系列合适的包安装在你的Ubuntu 14.10中，升级到Linux 3.17。

**警告：除非你知道你正在做什么，不要尝试从下面的链接中安装任何东西。**

* [访问Ubuntu内核主线存档](http://kernel.ubuntu.com/%7Ekernel-ppa/mainline/?C=N;O=D)

---

via: <http://www.omgubuntu.co.uk/2014/10/linux-kernel-3-17-whats-new-improved>

作者：[Joey-Elijah Sneddon](https://plus.google.com/117485690627814051450/?rel=author) 译者：[geekpi](https://github.com/geekpi) 校对：[wxy](https://github.com/wxy)

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


Linux日历程序California 0.2 发布了

Summary: 随着上月的Geary和Shotwell的更新，非盈利软件套装Yobra又回来了，同时带来了是新的California日历程序。 一个合格的桌面日历是工作井井有条（以及想要井井有条）的必备工具。Chrome Web Store上广受欢迎的Sunrise应用的发布让我们的选择比以前更丰富了，而California又为之增添了新的生力军！ Yorba的Jim Nelson在Yorba博客上写道：发生了很多变化，接着写道：...很高兴的告诉大家，初次发布比我预想的加入了更多的特性。  California 0.2在GNOME上看上去棒极了。 最突出变化的是添加了自然语言解析器。这使得添加事件更容易。你可以直接

@我的印象笔记

# Linux日历程序California 0.2 发布了

**随着[上月的Geary和Shotwell的更新](http://www.omgubuntu.co.uk/2014/09/new-shotwell-geary-stable-release-available-to-downed)，非盈利软件套装Yobra又回来了，同时带来了是新的[California](https://wiki.gnome.org/Apps/California)日历程序。**

一个合格的桌面日历是工作井井有条（以及想要井井有条）的必备工具。[Chrome Web Store上广受欢迎的Sunrise应用](http://www.omgchrome.com/sunrise-calendar-app-for-google-chrome/)的发布让我们的选择比以前更丰富了，而California又为之增添了新的生力军！

Yorba的Jim Nelson在Yorba博客上写道：“发生了很多变化“，接着写道：“...很高兴的告诉大家，初次发布比我预想的加入了更多的特性。”

*California 0.2在GNOME上看上去棒极了。*

最突出变化的是添加了“自然语言”解析器。这使得添加事件更容易。你可以直接输入“**在下午2点就Nachos会见Sam**”接着California就会自动把它安排下接下来的星期一的下午两点，而不必你手动输入位的信息（日期，时间等等）。（LCTT 译注：显然你只能输入英文才行）

这个功能和我们我们在5月份评估开发版本时一样好用，甚至还修复了一个bug：事件重复。

要创建一个重复时间（比如：“每个星期四搜索自己的名字”），你需要在日期前包含文字“every”（每个）。要确保地点也在内（比如：中午12点和Samba De Amigo在Boston Tea Party喝咖啡）。条目中需要有“at”或者“@”。

至于详细信息，我们可以见[GNOME Wiki上的快速添加页面](https://wiki.gnome.org/Apps/California/HowToUseQuickAdd)：

其他的改变包括：

-以‘月’和‘周’视图查看事件 -添加/删除 Google，CalDAV和web（.ics）日历 -改进数据服务器整合 -添加/编辑/删除远程事件（包括重复事件） -用自然语言安排计划
 -按下F1获取在线帮助 -新的动画和弹出窗口

### 在Ubuntu 14.10上安装 California 0.2

作为一个GNOME 3的程序，它在 Gnome 3下运行的外观和体验会更好。

不过，Yorba也没有忽略Ubuntu用户。他们已经努力（也可以说是耐心地）地解决导致Ubuntu需要同时安装GTK+和GNOME的主题问题。结果就是在Ubuntu上程序可能看上去有点错位，但是同样工作的很好。

California 0.2在[Yorba稳定版软件PPA](https://launchpad.net/%7Eyorba/+archive/ubuntu/ppa?field.series_filter=utopic)中可以下载，只用于Ubuntu 14.10。

---

via: <http://www.omgubuntu.co.uk/2014/10/california-calendar-natural-language-parser>

作者：[Joey-Elijah Sneddon](https://plus.google.com/117485690627814051450/?rel=author) 译者：[geekpi](https://github.com/geekpi) 校对：[wxy](https://github.com/wxy)

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


Ubuntu 有这功能吗？－回答4个新用户最常问的问题

Summary: **在谷歌输入Can Ubunt，一系列的自动建议会展现在你面前。这些建议都是根据最近搜索用户最频繁检索而形成的。 对于Linux老用户来说，他们都胸有成竹的回答这些问题。但是对于新用户或者那些还在探索类似Ubuntu这样的发行版是否适合的人来说，他们不是十分清楚这些答案。这都是中肯，真实而且是基本的问题。 所以，在这片文章，我将会去回答4个最常会被搜索到的"Can Ubuntu...?"问题。 Ubuntu可以取代Windows吗？  Windows 并不是每个人都喜欢或都必须的 是的。Ubuntu（和其他Linux发行版）是可以安装到任何一台有能力运行微软系统的电脑

Fedora, OpenSUSE也没好到哪里去嘛

頭像……

=_=//@Linux中国:→_→//@Maxiee_SIGHUP: 搜了下 can Gentoo ,结果全是“Gentoo can’t XXX”的问题……倒是第一条结果很逗“can gentoo penguins fly”……

回复@陈伟琪在肇庆:怎么？

回复@Linux中国:沒有之前的好看。

回复@陈伟琪在肇庆:[泪]

搜了下can fedora，然后网页挂了//@Linux中国:是老滚挂么？[嘻嘻]//@周源M: 搜下can arch linux，第一条竟然是can arch linux be stable[哈哈] //@Linux中国:→_→ //@Maxiee_SIGHUP: 搜了下 can Gentoo ,结果全是“Gentoo can’t XXX”的问题……倒是第一条结果很逗“can gentoo penguins fly”……

用过一段时间ubuntu，然后换iMac了。ubuntu上上网听听歌是够了。//@Linux中国: 是老滚挂么？[嘻嘻]//@周源M: 搜下can arch linux，第一条竟然是can arch linux be stable[哈哈]

噗哈哈哈哈哈哈哈//@Linux中国:是老滚挂么？[嘻嘻]//@周源M: 搜下can arch linux，第一条竟然是can arch linux be stable[哈哈] //@Linux中国:→_→ //@Maxiee_SIGHUP: 搜了下 can Gentoo ,结果全是“Gentoo can’t XXX”的问题……倒是第一条结果很逗“can gentoo penguins fly”……

[哈哈]挂了上官网看下怎么回事，不过太久没有滚过的话估计挂的机率超级大，话说，我用arch那么久，没有很不稳定的说，第一条竟然是can arch linux be stable。。。。。[可怜] //@Linux中国:是老滚挂么？[嘻嘻] //@周源M: 搜下can arch linux，第一条竟然是can arch linux be stable[哈哈]

我觉得如果用来办公只是简单用用offic之类的，那完全可以用deepin等linux发行版来代替windows。

# Ubuntu 有这功能吗？－回答4个新用户最常问的问题

\*\*在谷歌输入‘Can Ubunt[u]’，一系列的自动建议会展现在你面前。这些建议都是根据最近搜索用户最频繁检索而形成的。

对于Linux老用户来说，他们都胸有成竹的回答这些问题。但是对于新用户或者那些还在探索类似Ubuntu这样的发行版是否适合的人来说，他们不是十分清楚这些答案。这都是中肯，真实而且是基本的问题。

所以，在这片文章，我将会去回答4个最常会被搜索到的"Can Ubuntu...?"问题。

### Ubuntu可以取代Windows吗？

*Windows 并不是每个人都喜欢或都必须的*

是的。Ubuntu（和其他Linux发行版）是可以安装到任何一台有能力运行微软系统的电脑。

无论你觉得**应不应该**取代它，要不要替换只取决于你自己的需求。

例如，你在上大学，所需的软件都只是Windows而已。暂时而言，你是不需要完全更换你的系统。对于工作也是同样的道理。如果你工作所用到的软件只是微软Office, Adobe Creative Suite 或者是一个AutoCAD应用程序，不是很建议你更换系统，坚持你现在所用的软件就足够了。

但是对于那些用Ubuntu完全取代微软系统的我们，Ubuntu 提供了一个安全的桌面工作环境。这个桌面工作环境可以运行与支持很广的硬件环境。基本上，每个东西都有软件的支持，从办公套件到网页浏览器，视频应用程序，音乐应用程序到游戏。

### Ubuntu 可以运行 .exe文件吗？

*你可以在Ubuntu运行一些Windows应用程序*

是可以的，尽管这些程序不是一步到位，或者不能保证运行成功。这是因为这些软件原本就是在Windows下运行的，本来就与其他桌面操作系统不兼容，包括Mac OS X 或者 Android （安卓系统）。

那些专门为Ubuntu（和其他 Debian 系列的 Linux 发行版本）的软件安装包都是带有“.deb”的文件后缀名。它们的安装过程与安装 .exe 的程序是一样的 －双击安装包，然后根据屏幕提示完成安装。 （LCTT 译注：RedHat 系统采用.rpm 文件，其它的也有各种不同的安装包格式，等等，作为初学者，你可以当成是各种压缩包格式来理解）

但是Linux是很多样化的。它使用一个名为"Wine"的兼容层，可以运行许多当下很流行的应用程序。 (Wine不是一个模拟器，但是简单来看可以当成一个快捷方式。）这些程序不会像在Windows下运行得那么顺畅，或者有着出色的用户界面。然而，它足以满足日常的工作要求。

一些很出名的Windows软件是可以通过Wine来运行在Ubuntu操作系统上，这包括老版本的Photoshop和微软办公室软件。 有关兼容软件的列表，[参照Wine应用程序数据库](https://appdb.winehq.org/)。

### Ubuntu会有病毒吗？

*它可能有错误，但是它并有病毒*

理论上，它会有病毒。但是，实际上它没有。

Linux发行版本是建立在一个病毒，蠕虫，隐匿程序都很难被安装，运行或者造成很大影响的环境之下的。

例如，很多应用程序都是在没有特别管理权限要求，以普通用户权限运行的。病毒要访问系统关键部分的请求也是需要用户管理权限的。很多软件的提供都是从那些维护良好的而且集中的资源库，例如Ubuntu软件中心，而不是一些不知名的网站。 由于这样的管理使得安装一些受感染的软件的几率可以忽略不计。

你应不应该在Ubuntu系统安装杀毒软件？这取决于你自己。为了自己的安心，或者如果你经常通过Wine来使用Windows软件，或者双系统，你可以安装ClamAV。它是一个免费的开源的病毒扫描应用程序。你可以在Ubuntu软件中心找到它。

你可以在Ubuntu维基百科了解更多关于病毒在Linux或者Ubuntu的信息。 [Ubuntu 维基百科](https://help.ubuntu.com/community/Antivirus)。

### 在Ubuntu上可以玩游戏吗？

*Steam有着上百个专门为Linux设计的高质量游戏*

当然可以！Ubuntu有着多样化的游戏，从传统简单的2D象棋，拼字游戏和扫雷游戏，到很现代化的AAA级别的要求显卡很强的游戏。

你首先可以去 **Ubuntu 软件中心**。这里你会找到很多免费的，开源的和收费的游戏，包括广受好评的独立制作游戏，像World of Goo 和Braid。当然也有其他传统游戏的提供，例如，Pychess(国际象棋)，four-in-a-row（四子棋）和Scrabble clones（猜字拼字游戏）。

对于游戏狂热爱好者，你可以安装**Steam for Linux**。在这里你可以找到各种这样最新最好玩的游戏。

另外，记得留意这个网站：[Humble Bundle](https://www.humblebundle.com/)。每个月都会有两周的这种“只买你想要的”的套餐。作为游戏平台，它是对Linux特别友好的支持者。因为每当一些新游戏出来的时候，它都保证可以在Linux下搜索到。

---

via: <http://www.omgubuntu.co.uk/2014/08/ubuntu-can-play-games-replace-windows-questions>

作者：[Joey-Elijah Sneddon](https://plus.google.com/117485690627814051450/?rel=author) 译者：[Shaohao Lin](https://github.com/shaohaolin) 校对：[wxy](https://github.com/wxy)

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


Summary: 问题: 当我尝试使用SSH的X11转发选项连接到远程主机时, 我在登录时遇到了一个 "X11 forwarding request failed on channel 0" （X11 转发请求在通道0上失败）的错误。 我为什么会遇到这个错误，并且该如何修复它？  首先，我们假设你已经正确启用了SSH的X11转发。  如果你在登录时遇到"X11 forwarding request failed on channel 0" （X11 转发请求在通道0上失败），这里可能有不同的原因，解决的方法也不同。 方案一 出于安全原因，OpenSSH服务默认将X11转发请求绑定到本地回环地址上，并且在DISPLAY环境变量中将主机名设置为localhost。

# Linux有问必答：如何修复“X11 forwarding request failed on channel 0”错误

>
> **问题**: 当我尝试使用SSH的X11转发选项连接到远程主机时, 我在登录时遇到了一个 "X11 forwarding request failed on channel 0" （X11 转发请求在通道0上失败）的错误。 我为什么会遇到这个错误，并且该如何修复它？
>
>
>

首先，我们假设你已经正确启用了[SSH的X11转发](http://xmodulo.com/2012/11/how-to-enable-x11-forwarding-using-ssh.html)。

如果你在登录时遇到"X11 forwarding request failed on channel 0" （X11 转发请求在通道0上失败），这里可能有不同的原因，解决的方法也不同。

### 方案一

出于安全原因，OpenSSH服务默认将X11转发请求绑定到本地回环地址上，并且在DISPLAY环境变量中将主机名设置为“localhost”。在这样的设定下，一些 X11客户端不能正确处理X11转发，这会导致报告中的错误。要解决这个问题，在/etc/ssh/sshd配置文件中加入下面这几行，它可以将X11转发请求绑定到外网卡地址上。

```
$ sudo vi /etc/ssh/sshd_config

```

---

```
X11Forwarding yes
X11UseLocalhost no

```

重启SSH使设置生效:

```
$ sudo /etc/init.d/ssh restart (Debian 6, Ubuntu or Linux Mint)
$ sudo systemctl restart ssh.service (Debian 7, CentOS/RHEL 7, Fedora)
$ sudo service sshd restart (CentOS/RHEL 6)

```

### 方案二

如果远程主机的SSH服务禁止了IPv6，那么X11转发失败的错误也有可能发生。要解决这个情况下的错误。打开/etc/ssh/sshd配置文件，取消对"AddressFamily all" （如果有这条的话）的注释。接着加入下面这行。这会强制SSH服务只使用IPv4而不是IPv6。（LCTT 译注：此处恐有误，AddressFamily 没有 all 这个参数，而 any 代表同时支持 IPv6和 IPv4，以此处的场景而言，应该是关闭IPv6支持，只支持 IPv4，所以此处应该是“注释掉 AddressFamily any”才对。）

```
$ sudo vi /etc/ssh/sshd_config

```

---

```
AddressFamily inet

```

再说一次，重启SSH服务来完成设置

---

via: <http://ask.xmodulo.com/fix-broken-x11-forwarding-ssh.html>

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

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


在命令行中管理 Wifi 连接

get

转发微博.

爱折腾就是好玩

但是比如像cmcc这种，在dhcp获取ip后还需要在它们的网站上登陆的该怎么办？

好像不行的。

用w3m登录到网页上登录i。。。能行不- -

为什么呢？这是什么原理...是因为需要在网络服务提供商的网站上登陆注册么？

是，我对这个没研究，但是这种后验证的，似乎是另外一套机制。

不行的，那个登录到网页上填信息，用命令行发post未免有点太玄幻了

不行的，那个登录到网页上填信息，用命令行发post未免有点太玄幻了

# 在命令行中管理 Wifi 连接

无论何时要安装一款新的 Linux 发行系统，一般的建议都是让您通过有线连接来接到互联网的。这主要的原因有两条：第一，您的无线网卡也许安装的驱动不正确而不能用；第二，如果您是从命令行中来安装系统的，管理 WiFi 就非常可怕。我总是试图避免在命令行中处理 WiFi 。但 Linux 的世界，应具有无所畏惧的精神。如果您不知道怎样操作，您需要继续往下来学习之，这就是写这篇文章的唯一原因。所以我迫使自己学习如何在命令行中管理 WiFi 连接。

通过命令行来设置连接到 WiFi 当然有很多种方法，但在这篇文章里，同时也是一个建议，我使用最基本的方法：那就是使用在任何发布版本中都有的包含在“默认包”里的程序和工具。或者说我偏向于使用这一种方法。使用此方法显而易见的好处是这个操作过程能在任意有 Linux 系统的机器上复用。不好的一点是它相对来说比较复杂。

首先，我假设您们都已经正确安装了无线网卡的驱动程序。没有这前提，后续的一切都如镜花水月。如果您你机器确实没有正确安装上，您应该看看关于您的发布版本的维基和文档。

然后您就可以用如下命令来检查是哪一个接口来支持无线连接的：

```
$ iwconfig

```

一般来说，无线接口都叫做 wlan0。当然也有例外的，但在这篇教程中我们将会一直用通用叫法。

以防万一，你得确认下以使此接口服务是启动着的：

```
$ sudo ip link set wlan0 up

```

一但确认了无线接口是工作着的，你就可以用如下命令来扫描附近的无线网络了：

```
$ sudo iw dev wlan0 scan | less

```

根据扫描出的结果，可以得到网络的名字（它的 SSID），它的信息强度，以及它使用的是哪个安全加密的（如：WEP、WPA/WPA2）。从此时起，将会分成两条路线：情况很好、很容易的以及情况稍微复杂的。

如果您想连接的网络是没有加密的，您可以用下面的命令直接连接：

```
$ sudo iw dev wlan0 connect [网络 SSID]

```

如果网络是用 WEP 加密的，也非常容易：

```
$ sudo iw dev wlan0 connect [网络 SSID] key 0:[WEP 密钥]

```

但网络使用的是 WPA 或 WPA2 协议的话，事情就不好办了。这种情况，您就得使用叫做 wpa*supplicant 的工具，它默认是没有的。然后需要修改 /etc/wpa*supplicant/wpa\_supplicant.conf 文件，增加如下行：

```
network={
    ssid="[网络 ssid]"
    psk="[密码]"
    priority=1
}

```

我建议你在文件的末尾添加它，并确保其他配置都注释掉。要注意 SSID 和密码字串都是大小写敏感的。在技术上您也可以把接入点的名称当做是 SSID，使用 wpa\_supplicant 工具的话会有合适的 SSID 来替代这个名字。

一旦配置文件修改完成后，在后台启动此命令：

```
$ sudo wpa_supplicant -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf

```

最后，无论是连到开放的网络还是加密的安全网络，您都得获取 IP 地址。简单地使用如下命令：

```
$ sudo dhcpcd wlan0

```

如果一切顺利的话，您应该已经通过 DHCP 获取到了一个全新的本地 IP，这个过程是在后台自动完成的。如果想确认下是否真正连接上的话，您可以再一次输入如下命令检查：

```
$ iwconfig

```

最后，我认为多次重复第一步的检查操作是很有必要的。您永远不会知道什么时候您的图形用户界面挂了，或者是什么时候不能访问无线连接了，所以现在就准备着用命令来检测吧。还有，前面提到过的，有很多种方式（如 NetworkManager、[wicd](http://wicd.sourceforge.net/)、[netcfg](https://www.archlinux.org/netcfg/)、[wifi](https://github.com/rockymeza/wifi) 等等）来管理无线连接。我坚持使用最基本的方式，但在某些情况下，我使用的工具可能您还没有，所以您在之前就得先下载它们。另一方面，有很多高级的应用程序，他们确实是不包含在“默认包”里面的，使用它们会大大简化操作过程。但一般建议是开始的话最好从基本的来。

关于从命令行来管理连接 WiFi 您还有其他方式方法吗？请在评论中让我们知道。

---

via: <http://xmodulo.com/2014/08/manage-wifi-connection-command-line.html>

作者：[Adrien Brochard](http://xmodulo.com/author/adrien) 译者：[runningwater](https://github.com/runningwater) 校对：[校对者ID](https://github.com/%E6%A0%A1%E5%AF%B9%E8%80%85ID)

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


如何清理 Ubuntu 14.04 的最近打开文件历史列表

Summary: 这个简明教程对Ubuntu 14.04历史文件清理进行了说明，它用于初学者。 要从dash搜索删除历史记录，请遵循以下程序。 转到系统设置（System Settings）并打开安全与隐私（Security  Privacy）。  在文件与应用（Files and Applications）标签下，点击清除用户数据（Clear Usage Data）。  你也可以关闭记录文件与应用使用（Record file and Application usage）以阻止系统记录你当前使用的文件和应用。   via: http://www.ubuntugeek.com/how-to-delete-recently-opened-files-history-in-ubuntu-14-04.html 译者：GOLinux 校对：wxy 本文由

@我的印象笔记

大神求gank啊

# 如何清理 Ubuntu 14.04 的最近打开文件历史列表

这个简明教程对Ubuntu 14.04历史文件清理进行了说明，它用于初学者。

要从dash搜索删除历史记录，请遵循以下程序。

转到系统设置（System Settings）并打开安全与隐私（Security & Privacy）。

在文件与应用（Files and Applications）标签下，点击清除用户数据（Clear Usage Data）。

你也可以关闭“记录文件与应用使用（Record file and Application usage）以阻止系统记录你当前使用的文件和应用。

---

via: <http://www.ubuntugeek.com/how-to-delete-recently-opened-files-history-in-ubuntu-14-04.html>

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

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


技巧：在CentOS 7上安装Vmware 10

Summary: 在CentOS 7上安装Vmware 10.0.3，我来介绍下我的经验。通常，这个版本是不能在CentOS 7工作的，因为它只能运行在比较低的内核版本3.10上。 首先，以正常方式下载并安装（没有问题）。唯一的问题是在后来运行vmware程序的时候。 如何修复？ 1  进入 /usr/lib/vmware/modules/source。 cd /usr/lib/vmware/modules/source  2  解压 vmnet.tar. tar -xvf vmnet.tar  3  进入 vmnet-only 目录。 cd vmnet-only  4  编辑filter.c文件。 vi filter.c  在206和259行，替换以下字符串： #if LINUX_VERSION_CODE  KERNEL_VERSION(3, 13, 0)  为： #

///有点尴尬啊，没看清标题，还以为安装的是VC呢。呵呵。不过在CENTOS7下用VM workstation...... 倒是新鲜啊..... 呵呵.....

买不起 License……

没有登录.....

没有登录.....

什么？

我换浏览器发表评论忘记登录了。呵呵。   我个人是比较期待linux环境下使用VC的。呵呵。

VC啊，我估计没多大可能。。

介面不太漂亮哈。

# 技巧：在CentOS 7上安装Vmware 10

在CentOS 7上安装Vmware 10.0.3，我来介绍下我的经验。通常，这个版本是不能在CentOS 7工作的，因为它只能运行在比较低的内核版本3.10上。

首先，以正常方式下载并安装（没有问题）。唯一的问题是在后来运行vmware程序的时候。

### 如何修复？

**1 – 进入 /usr/lib/vmware/modules/source。**

```
cd /usr/lib/vmware/modules/source

```

**2 – 解压 vmnet.tar.**

```
tar -xvf vmnet.tar

```

**3 – 进入 vmnet-only 目录。**

```
cd vmnet-only

```

**4 – 编辑filter.c文件。**

```
vi filter.c

```

在206和259行，替换以下字符串：

```
#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0)

```

为：

```
#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 0, 0)

```

保存并退出。

**5 – 回到先前文件夹。**

```
cd ../

```

**6 – 再次压缩文件夹。**

```
tar -uvf vmnet.tar vmnet-only

```

**7 – 移除旧目录。**

```
rm -fr vmnet-only

```

**8 – 启动vmware并体验。**

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

---

via: <http://www.unixmen.com/install-vmware-10-centos-7/>

作者： M.el Khamlichi 译者：[GOLinux](https://github.com/GOLinux) 校对：[wxy](https://github.com/wxy)

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


绿盟科技增资国内 Linux 厂商深之度(Deepin)，占股10%

Summary: 据最新消息：  经北京神州绿盟信息安全科技股份有限公司（以下简称公司或绿盟科技）第二届董事会第七次会议审议通过，拟以超募资金人民币2000万元向全资子公司北京神州绿盟信息技术有限公司（以下简称绿盟信息或投资方）增资，再由绿盟信息以人民币2000万元，与北京世界星辉科技有限责任公司（以下简称世界星辉）共同向武汉深之度科技有限公司（以下简称深之度或目标公司）增资。本次增资完成后，绿盟信息取得深之度10%股权，深之度成为绿盟信息的参股公司。   本次交易背景： 1、国产操作系统市场潜力巨大 国产操作系统是国家大力支持培

deepin做的确实好看

回复@Nevea-: 他理念是让Linux进入寻常百姓家。。而不是仅仅是程序员用。。。看linux现状，任重而道远，一方面普通软件厂商不做，qq阿里都不搞。。显卡厂商对于linux独显的支持烂的一坨，尤其英伟达。。导致游戏厂商推进困难。。问题很多啦

回复@贱贱mephisto:软件的支持确实是个长期的过程 但是……它比别的Linux要好看的多 这就可以吸引很多用户 有些Linux界面做的太简陋了 还有直接就相当于windows的外壳

绿盟，什么来头？@Deepin官方微博 @Linux中国 @Linux_cn PS:话说Linux中国和Linux_cn什么关系？

卧槽

请问 intel芯片的 win8平板 能安装linux么？ 触屏可以无效。

支持

喜闻乐见。核高基本来就应该由商业公司来做，政府做辅助推动。

Deepin的同学们， 大家一起加油， 好戏还在后面！

[good]

赞//@ManateeLazyCat_deepin: Deepin的同学们， 大家一起加油， 好戏还在后面！

竟然是绿盟，什么时候deepin这么吊了。

deepin越来越强大了！[酷]//@ManateeLazyCat_deepin: Deepin的同学们， 大家一起加油， 好戏还在后面！

好戏还在后头！[耶]

什么好戏？据说这次增资的两家公司其中有一家和奇虎360有关！//@Deepin官方微博: 好戏还在后头！[耶]

什么好戏？真吊胃口，求剧透 //@Deepin官方微博:好戏还在后头！[耶]

爱@Deepin官方微博

[鼓掌]有了资金就有人，有人就会发展壮大//@Deepin官方微博: 好戏还在后头！[耶]

绿盟科技，记住了//@Deepin官方微博:好戏还在后头！[耶]

加油！//@Deepin官方微博: 好戏还在后头！[耶]

这是不是就预示着deepin系统上将有杀毒软件可供运行？？？//@Deepin官方微博:好戏还在后头！[耶]

增资8000万了哦！厉害。

LINUX上并不需要杀毒，

# 绿盟科技增资国内 Linux 厂商深之度(Deepin)，占股10%

[据最新消息](http://stock.jrj.com.cn/share,disc,2014-10-16,300369,0000000000000aab73.shtml)：

>
> 经北京神州绿盟信息安全科技股份有限公司第二届董事会第七次会议审议通过，拟以超募资金人民币2000万元向全资子公司北京神州绿盟信息技术有限公司增资，再由绿盟信息以人民币2000万元，与北京世界星辉科技有限责任公司共同向武汉深之度科技有限公司增资。本次增资完成后，绿盟信息取得深之度10%股权，深之度成为绿盟信息的参股公司。
>
>
>

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

本次交易背景：

**1、国产操作系统市场潜力巨大**

国产操作系统是国家大力支持培育的战略性产业领域，国务院于2011年发布《进一步鼓励软件产业和集成电路产业发展的若干政策》中提到包括操作系统在内的基础软件是国家重点支持的产业。2014年4月微软宣布停止对XP系统提停止服务，停止提供补丁和安全更新；5月中央国家机关政府采购中心发布关于进行信息类协议供货软件产品补充招标的通知，其中要求所有计算机类产品不允许安装windows 8操作系统，这为国产操作系统全面在政府机关采购和预装做出关键性推动。

目前，政府已经有多个国产化试点项目正在推进和规划中。预计三年后，国产操作系统在政府机关的办公终端年市场空间将达到数亿元人民币。金融、能源等多个各行业也正在根据国家要求，制定未来三到五年的国产化替代时间表。以银行业为例，银监会2014年39号文颁布了《关于应用安全可控信息技术加强银行业网络安全和信息化建设的指导意见》，其中明确提出“从2015年起，各银行业金融机构对安全可控信息技术的应用以不低于15％的比例逐年增加，直至2019年达到不低于75％的总体占比”。其中“安全可控信息技术”主要指使用国产化软硬件技术。就相关技术的研究开发方面，文中还专门提到“2015年起，银行业金融机构应安排不低于5％的年度信息化预算，专门用于支持本机构围绕安全可控信息系统开展前瞻性、创新性和规划性研究，支持本机构掌握信息化核心知识和技能。”此举将对银行业的IT国产化、信息安全产生深远影响，国产操作系统、数据库等领域的中国企业将有更多参与机会。预计未来将出现更多的自主可控示范项目，从而拉动本土企业市场份额持续提升。其中行业专用设备市场，包括自助式服务终端、智能哑终端，国产操作系统也有较大的市场机会。

**2、深之度具备较强的竞争力**

Deepin操作系统具有全球范围内同类操作系统产品中为数不多的独立桌面环境，深之度为Deepin操作系统独立自主开发完成包括深度翻译、深度音乐、深度影院、深度游戏和深度商店等一系列国内独具特色的应用软件，该系列所有软件都是深之度针对中国用户的使用习惯进行设计优化。

深之度的战略合作伙伴包括科大讯飞、烽火科技、金山科技、网易科技、傲游科技、达梦科技等国内相关领域内领先IT企业； 典型客户包括中华人民共和国环境保护部、广东省版权局、中国银行监督管理委员会、厦门大学、湖北大学等政府机关及高校事业单位。

深之度获得 “2012年中日韩东北亚开源软件竞赛优胜奖”、OSCHINA颁发的“2012年最受欢迎中国开源奖”，中国开源软件推进联盟颁发的“2014年度中国开源优秀项目”，并于2014年进入中央国家机关政府采购中心操作系统采购名录。

**3、双方合作共赢，共拓国产操作系统市场**

公司凭借在操作系统领域的深厚安全技术积累，可帮助深之度打造安全的国产操作系统，从而提升Deepin操作系统的技术优势和竞争力。

绿盟科技是中国领先的信息安全企业，拥有大量以政府、军队军工、金融、能源等领域优质客户为主的客户群体，这类客户大多有采用国产操作系统的要求，通过本次投资合作，绿盟科技可凭借与上述主要领域客户的密切合作关系，帮助深之度加快行业推广，共同开拓国产操作系统市场。


学习VIM之2014

Forward.

非常喜欢

//@LUPA开源社区:转发微博

除了vim自带的语法高亮插件和一个bufferexplorer插件外, 其他插件从不用.  vim就是一高效文本编辑器 无需让vim做过多的事. <br />
还有我觉得来篇介绍如何使用help资源. 如何阅读手册 之类的文章更好.  过多的介绍插件 失去了重点

不偏不倚，我认同您的意见！过于将 VIM 神化，万事都在 VIM 内解决——和 emacs 一样，我也认为是走入了极端。

补全算不算高效编辑的一部分呢？

# 学习VIM之2014

作为一名开发者，你不应该把时间花费在考虑如何去找你所要编辑的代码上。在我转移到完全使用 VIM 的过程中，感到最痛苦的就是它处理文件的方式。从之前主要使用 Eclipse 和 Sublime Text 过渡到 VIM，它没有捆绑一个常驻的文件系统查看器对我造成了不少阻碍，而其内建的打开和切换文件的方式总是让我泪流满面。

就这一点而言，我非常欣赏VIM文件管理功能的深度。在工作环境上我已经装配了这些工具，甚至比起那些视觉编辑器好很多。因为这个是纯键盘操作，可以让我更快地在代码里面穿梭。搭建环境需要花费一些时间，安装几个插件。首先第一步是我明白vim内建功能只是处理文件的一种选择。在这篇文章里我会带你去认识vim文件管理功能与使用更高级的插件。

### 基础篇:打开新文件

学习vim其中最大的一个障碍是缺少可视提示，不像现在的GUI图形编辑器，当你在终端打开一个新的vim是没有明显的提示去提醒你去走什么，所有事情都是靠键盘输入，同时也没有更多更好的界面交互，vim新手需要习惯如何靠自己去查找一些基本的操作指令。好吧，让我开始学习基础吧。

创建新文件的命令是**:e 或:e** 打开一个新缓冲区保存文件内容。如果文件不存在它会开辟一个缓冲区去保存与修改你指定文件。缓冲区是vim是术语，意为"保存文本块到内存"。文本是否能够与存在的文件关联，要看是否每个你打开的文件都对应一个缓冲区。

打开文件与修改文件之后，你可以使用**:w**命令来保存在缓冲区的文件内容到文件里面，如果缓冲区不能关联你的文件或者你想保存到另外一个地方，你需要使用**:w** 来保存指定地方。

这些是vim处理文件的基本知识，很多的开发者都掌握了这些命令，这些技巧你都需要掌握。vim提供了很多技巧让人去深挖。

### 缓冲区管理

基础掌握了，就让我来说更多关于缓冲区的东西，vim处理打开文件与其他编辑器有一点不同，打开的文件不会作为一个标签留在一个可见的地方，而是只允许你同时只有一个文件在缓冲区打开，vim允许你打开多个缓存区。一些会显示出来，另外一些就不会，你需要用**:ls**来查看已经打开的缓存，这个命令会显示每个打开的缓存区，同时会有它们的序号，你可以通过这些序号使用**:b** 来切换或者使用循序移动命令 **:bnext** 和 **:bprevious** 也可以使用它们的缩写**:bn**和**:bp**。

这些命令是vim管理文件缓冲区的一个基础，我发现他们不会按照我的想法映射出来。我不想关心缓冲区的顺序，我只想按照我的想法去到那个文件或者想在当前这个文件.因此必需了解vim更深入的缓存模式，我不是推荐你必须用内部命令来作为主要的文件管理方案。但这些的确是很强大可行的选择。

### 分屏

分屏是vim其中一个最好用的管理文件功能，在vim中你可以将当前窗口同时分开为2个窗口，可以按照你喜欢的配置去重设大小和分配，个别时候，我可以在同时打开6文件每个文件，每个都拥有不同大小。

你可以通过命令**:sp** 来新建水平分割窗口或者 **:vs** 垂直分割窗口。你可以使用这些关键命令去调整你想要的窗口大小，老实说，我喜欢用鼠标处理vim任务，因为鼠标能够给我更加准确的两列的宽度而不需要猜大概的宽度。

创建新的分屏后，你需要使用**ctrl-w [h|j|k|l]**来向后向前切换。这个有一点笨拙，但这个却是很重要、很普遍、很容易、很高效的操作。如果你经常使用分屏,我建议你去.vimrc使用以下代码去设置别名为**ctrl-h** **ctrl-j** 等等。

```
nnoremap <C-J> <C-W><C-J> "Ctrl-j to move down a split
nnoremap <C-K> <C-W><C-K> "Ctrl-k to move up a split
nnoremap <C-L> <C-W><C-L> "Ctrl-l to move    right a split
nnoremap <C-H> <C-W><C-H> "Ctrl-h to move left a split

```

### 跳转表

分屏是解决多个关联文件同时查看问题,但我们仍然不能解决已打开文件与隐藏文件之间快速移动问题。这时跳转表是一个能够解决的工具。

跳转表是众多插件中看起来奇怪而且很少使用的一个。vim能够追踪每一步命令还有切换你正在修改的文件。每次从一个分屏窗口跳到另外一个，vim都会添加记录到跳转表里面。它记录你去过的地方，这样就不需要担心之前的文件在哪里，你可以使用快捷键去快速追溯你的踪迹。**Ctrl-o**允许你返回你上一次地方。重复操作几次就能够返回到你最先编写的代码段地方。你可以使用**ctrl-i**来向前返回。当你在调试多个文件或在两个文件之间切换时，它能够发挥极大的快速移动功能。

### 插件

如果你想vim像Sublime Text 或者Atom一样，我就让你认清一下，这里有很好的机会让你看清一些难懂，可怕和低效的事情。例如大家会发出"当Sublime有了模糊查找功能，为什么我一定要输入全路径才能够打开文件" "没有侧边栏显示目录树我怎样查看项目结构" 等等。但vim有了解决方案。这些方案不需要破坏vim的核心。我只需要经常修改vim配置与添加一些最新的插件，这里有3个有用的插件可以让你像Sublime管理文件

* [CtrlP](https://github.com/kien/ctrlp.vim) 是一个跟Sublime的"Go to Anything"栏一样模糊查找文件.它快如闪电并且非常可配置性。我使用它主要用来打开文件。我只需知道部分的文件名字不需要记住整个项目结构就可以查找了。
* [The NERDTree](https://github.com/scrooloose/nerdtree) 这个一个文件管理夹插件，它重复了很多编辑器都有的侧边文件管理夹功能。我实际上很少用它，对于我而言模糊查找会更加快。对于你接手一个项目，尝试学习项目结构与了解什么可以用是非常方便的，NERDTree是可以自己定制配置，安装它能够代替vim内置的目录工具。
* [Ack.vim](https://github.com/mileszs/ack.vim) 是一个专为vim的代码搜索插件，它允许你跨项目搜索文本。它封装了Ack 或 Ag 这[两个极其好用的搜索工具](http://benmccormick.org/2013/11/25/a-look-at-ack/)，允许你在任何时候在你项目之间快速搜索跳转。

在vim核心与它的插件生态系统之间，vim 提供足够的工具允许你构建你想要得工作环境。文件管理是软件开发系统的最核心部分并且你值得拥有体验的权利。

开始时需要通过很长的时间去理解它们，然后在找到你感觉舒服的工作流程之后再开始在上面添加工具。但依然值得你去使用，你不用爆头就可以理解如何去使用，能够轻易编写你的代码。

### 更多插件资源

* [Seamlessly Navigate Vim & Tmux Splits](http://robots.thoughtbot.com/seamlessly-navigate-vim-and-tmux-splits) 这个插件需要每一个想使用它的人都要懂得使用[tmux](http://tmux.sourceforge.net/)，这个跟vim的splits 一样简单好用。
* [Using Tab Pages](http://vim.wikia.com/wiki/Using_tab_pages) 它是一个vim的标签功能插件，虽然它的名字用起来有一点疑惑，但它不是文件管理器。对如何在有多个工作可视区使用"tab pages" 在vim wiki 网站上有更好的概述。
* [Vimcasts: The edit command](http://vimcasts.org/episodes/the-edit-command/) 一般来说 Vimcasts 是大家学习vim的一个好资源。这个屏幕截图与一些内置工作流程很好地描述了之前说的文件操作方面的知识。

---

via: <http://benmccormick.org/2014/07/07/learning-vim-in-2014-working-with-files/>

作者：[Ben McCormick](http://benmccormick.org/2014/07/07/learning-vim-in-2014-working-with-files/) 译者：[haimingfg](https://github.com/haimingfg) 校对：[wxy](https://github.com/wxy)

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


使用vmstat和iostat命令进行Linux性能监控

Summary: 这是我们正在进行的Linux命令和性能监控系列的一部分。vmstat和iostat两个命令都适用于所有主要的类unix系统（Linux/unix/FreeBSD/Solaris）。 如果vmstat和iostat命令在你的系统中不可用，请安装sysstat软件包。vmstat，sar和iostat命令都包含在sysstat（系统监控工具）软件包中。iostat命令生成CPU和所有设备的统计信息。你可以从这个连接中下载源代码包编译安装sysstat，但是我们建议通过YUM命令进行安装。  在Linux系统中安装sysstat #yum -y install sysstat   vmstat - 内存，进程和分页等的简要信息。 iostat - CPU统计信息，设备

学习中。。。。。。

po主，在下有一个问题请教一下。使用iostat的时候，输入“iostat -xtc”，有些会显示出“actv ”指标和其他的一些指标，但是我自己动手尝试的时候一直是没有的，不知道是怎么一回事情呢？问题比较小白。自己搜索了一下也没有找到合理的答案。

# 使用vmstat和iostat命令进行Linux性能监控

这是我们正在进行的**Linux**命令和性能监控系列的一部分。**vmstat**和**iostat**两个命令都适用于所有主要的类**unix**系统（**Linux/unix/FreeBSD/Solaris**）。

如果**vmstat**和**iostat**命令在你的系统中不可用，请安装**sysstat**软件包。**vmstat**，**sar**和**iostat**命令都包含在**sysstat**（系统监控工具）软件包中。iostat命令生成**CPU**和所有设备的统计信息。你可以从[这个连接](http://sebastien.godard.pagesperso-orange.fr/download.html)中下载源代码包编译安装sysstat，但是我们建议通过**YUM**命令进行安装。

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

### 在Linux系统中安装sysstat

```
#yum -y install sysstat

```

* **vmstat** - 内存，进程和分页等的简要信息。
* **iostat** - CPU统计信息，设备和分区的输入/输出统计信息。

### Linux下vmstat命令的6个范例

#### 1. 列出活动和非活动的内存

如下范例中输出6列。**vmstat**的man页面中解析的每一列的意义。最重要的是内存中的**free**属性和交换分区中的**si**和**so**属性。

```
[root@tecmint ~]# vmstat -a

procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
 r  b   swpd   free  inact active   si   so    bi    bo   in   cs us sy id wa st
 1  0      0 810420  97380  70628    0    0   115     4   89   79  1  6 90  3  0

```

* **Free** – 空闲的内存空间
* **si** – 每秒从磁盘中交换进内存的数据量（以KB为单位）。
* **so** – 每秒从内存中交换出磁盘的数据量（以KB为单位）。

**注意**：如果你不带参数的执行**vmstat**命令，它会输出自系统启动以来的总结报告。

#### 2. 每X秒执行vmstat，共执行N次

下面命令将会每2秒中执行一次**vmstat**，执行6次后自动停止执行。

```
[root@tecmint ~]# vmstat 2 6

procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0      0 810420  22064 101368    0    0    56     3   50   57  0  3 95  2  0
 0  0      0 810412  22064 101368    0    0     0     0   16   35  0  0 100  0  0
 0  0      0 810412  22064 101368    0    0     0     0   14   35  0  0 100  0  0
 0  0      0 810412  22064 101368    0    0     0     0   17   38  0  0 100  0  0
 0  0      0 810412  22064 101368    0    0     0     0   17   35  0  0 100  0  0
 0  0      0 810412  22064 101368    0    0     0     0   18   36  0  1 100  0  0

```

#### 3. 带时间戳的vmstat命令

带**-t**参数执行**vmstat**命令，该命令将会在每一行输出后都带一个时间戳，如下所示。

```
[tecmint@tecmint ~]$ vmstat -t 1 5

procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------ ---timestamp---
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0      0 632028  24992 192244    0    0    70     5   55   78  1  3 95  1  0        2012-09-02 14:57:18 IST
 1  0      0 632028  24992 192244    0    0     0     0  171  514  1  5 94  0  0        2012-09-02 14:57:19 IST
 1  0      0 631904  24992 192244    0    0     0     0  195  600  0  5 95  0  0        2012-09-02 14:57:20 IST
 0  0      0 631780  24992 192244    0    0     0     0  156  524  0  5 95  0  0        2012-09-02 14:57:21 IST
 1  0      0 631656  24992 192244    0    0     0     0  189  592  0  5 95  0  0        2012-09-02 14:57:22 IST

```

#### 4. 统计各种计数器

**vmstat**命令的**-s**参数，将输出各种事件计数器和内存的统计信息。

```
[tecmint@tecmint ~]$ vmstat -s

      1030800  total memory
       524656  used memory
       277784  active memory
       185920  inactive memory
       506144  free memory
        26864  buffer memory
       310104  swap cache
      2064376  total swap
            0  used swap
      2064376  free swap
         4539 non-nice user cpu ticks
            0 nice user cpu ticks
        11569 system cpu ticks
       329608 idle cpu ticks
         5012 IO-wait cpu ticks
           79 IRQ cpu ticks
           74 softirq cpu ticks
            0 stolen cpu ticks
       336038 pages paged in
        67945 pages paged out
            0 pages swapped in
            0 pages swapped out
       258526 interrupts
       392439 CPU context switches
   1346574857 boot time
     2309 forks

```

#### 5. 磁盘统计信息

**vmstat**的**-d**参数将会输出所有磁盘的统计信息。

```
[tecmint@tecmint ~]$ vmstat -d

disk- ------------reads------------ ------------writes----------- -----IO------
       total merged sectors      ms  total merged sectors      ms    cur    sec
ram0       0      0       0       0      0      0       0       0      0      0
ram1       0      0       0       0      0      0       0       0      0      0
ram2       0      0       0       0      0      0       0       0      0      0
ram3       0      0       0       0      0      0       0       0      0      0
ram4       0      0       0       0      0      0       0       0      0      0
ram5       0      0       0       0      0      0       0       0      0      0
ram6       0      0       0       0      0      0       0       0      0      0
ram7       0      0       0       0      0      0       0       0      0      0
ram8       0      0       0       0      0      0       0       0      0      0
ram9       0      0       0       0      0      0       0       0      0      0
ram10      0      0       0       0      0      0       0       0      0      0
ram11      0      0       0       0      0      0       0       0      0      0
ram12      0      0       0       0      0      0       0       0      0      0
ram13      0      0       0       0      0      0       0       0      0      0
ram14      0      0       0       0      0      0       0       0      0      0
ram15      0      0       0       0      0      0       0       0      0      0
loop0      0      0       0       0      0      0       0       0      0      0
loop1      0      0       0       0      0      0       0       0      0      0
loop2      0      0       0       0      0      0       0       0      0      0
loop3      0      0       0       0      0      0       0       0      0      0
loop4      0      0       0       0      0      0       0       0      0      0
loop5      0      0       0       0      0      0       0       0      0      0
loop6      0      0       0       0      0      0       0       0      0      0
loop7      0      0       0       0      0      0       0       0      0      0
sr0        0      0       0       0      0      0       0       0      0      0
sda     7712   5145  668732  409619   3282  28884  257402  644566      0    126
dm-0   11578      0  659242 1113017  32163      0  257384 8460026      0    126
dm-1     324      0    2592    3845      0      0       0       0      0      2

```

#### 6. 以MB为单位输出统计信息

**vmstat**的**-S**和**-M**参数（大写和MB）将会以MB为单位输出。**vmstat**默认以KB为单位输出统计信息。

```
[root@tecmint ~]# vmstat -S M 1 5

procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0      0    346     53    476    0    0    95     8   42   55  0  2 96  2  0
 0  0      0    346     53    476    0    0     0     0   12   15  0  0 100  0  0
 0  0      0    346     53    476    0    0     0     0   32   62  0  0 100  0  0
 0  0      0    346     53    476    0    0     0     0   15   13  0  0 100  0  0
 0  0      0    346     53    476    0    0     0     0   34   61  0  1 99  0  0

```

### linux下的Iostat命令的6个范例

#### 1. 输出CPU和输入/输出（I/O）的统计信息

不带参数的**iostat**命令将会输出**CPU**和每个分区的**输出/输出**的统计信息，如下所示。

```
[root@tecmint ~]# iostat

Linux 2.6.32-279.el6.i686 (tecmint.com)         09/03/2012      _i686_  (1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.12    0.01    1.54    2.08    0.00   96.24

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda               3.59       161.02        13.48    1086002      90882
dm-0              5.76       159.71        13.47    1077154      90864
dm-1              0.05         0.38         0.00       2576          0

```

#### 2. 只输出CPU的统计信息

**iostat**命令的**-c**参数仅输出**CPU**的统计信息，如下所示。

```
[root@tecmint ~]# iostat -c

Linux 2.6.32-279.el6.i686 (tecmint.com)         09/03/2012      _i686_  (1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.12    0.01    1.47    1.98    0.00   96.42

```

#### 3. 只输出磁盘的输入/输出统计信息

**iostat**命令的**-d**参数仅输出磁盘的所有分区的**输入/输出**的统计信息，如下所示。

```
[root@tecmint ~]# iostat -d

Linux 2.6.32-279.el6.i686 (tecmint.com)         09/03/2012      _i686_  (1 CPU)

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda               3.35       149.81        12.66    1086002      91746
dm-0              5.37       148.59        12.65    1077154      91728
dm-1              0.04         0.36         0.00       2576          0

```

#### 4. 只输出某个磁盘的输入/输出统计信息

在默认情况下iostat命令会输出所有分区的统计信息，但是若在iostat命令后加上**-p**参数和磁盘设备名，该命令将会仅输出列出的磁盘的输入/输出统计信息，如下所示。

```
[root@tecmint ~]# iostat -p sda

Linux 2.6.32-279.el6.i686 (tecmint.com)         09/03/2012      _i686_  (1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.11    0.01    1.44    1.92    0.00   96.52

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda               3.32       148.52        12.55    1086002      91770
sda1              0.07         0.56         0.00       4120         18
sda2              3.22       147.79        12.55    1080650      91752

```

#### 5. 输出逻辑卷管理（LVM）的统计信息

iostat命令的**-N**(大写)参数将会输出**LVM**（LCTT译注：[LVM](http://en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux))是linux环境下对磁盘分区进行管理的一种机制，是磁盘分区和文件系统间的一个逻辑层）的统计信息，如下所示。

```
[root@tecmint ~]# iostat -N

Linux 2.6.32-279.el6.i686 (tecmint.com)         09/03/2012      _i686_  (1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.11    0.01    1.39    1.85    0.00   96.64

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda               3.20       142.84        12.16    1086002      92466
vg_tecmint-lv_root     5.13       141.68        12.16    1077154      92448
vg_tecmint-lv_swap     0.04         0.34         0.00       2576          0

```

#### 6. iostat版本信息

iostat的**-V**(大写)参数将会输出**iostat**的版本信息，如下所示。

```
[root@tecmint ~]# iostat -V

sysstat version 9.0.4
(C) Sebastien Godard (sysstat  orange.fr)

```

**注意**：**vmstat**和**iostat**的输出中包含多列的数据和标志，限于篇幅无法在本文中进行详细的解析。如果你想知道更多的信息，请查看**vmstat**和**iostat**的man帮助手册。如果你觉得本文对你有价值，请在下面的评论框中与你的朋友分享。

---

via: <http://www.tecmint.com/linux-performance-monitoring-with-vmstat-and-iostat-commands/>

作者：[Ravi Saive](http://www.tecmint.com/author/admin/) 译者：[cvsher](https://github.com/cvsher) 校对：[wxy](https://github.com/wxy)

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


全能冠军：Linux系统性能和使用活动监控工具 sysstat

Summary: Sysstat是一个非常方便的工具，它带有众多的系统资源监控工具，用于监控系统的性能和使用情况。我们在日常使用的工具中有相当一部分是来自sysstat工具包的。同时，它还提供了一种使用cron表达式来制定性能和活动数据的收集计划。  下表是包含在sysstat包中的工具  iostat: 输出CPU的统计信息和所有I/O设备的输入输出（I/O）统计信息。 mpstat: 关于CPU的详细信息（单独输出或者分组输出）。 pidstat: 关于运行中的进程/任务、CPU、内存等的统计信息。 sar: 保存并输出不同系统资源（CPU、内存、IO、网络、内核等。。。）的详细信息。 sadc

有点意思。。。

可以，学习了

不建议使用yum remove 删除软件，这样会把依赖的也给删掉。要是删除可以使用rpm -e 。

好长时间没有折腾Linux了

# 全能冠军：Linux系统性能和使用活动监控工具 sysstat

**Sysstat**是一个非常方便的工具，它带有众多的系统资源监控工具，用于监控系统的性能和使用情况。我们在日常使用的工具中有相当一部分是来自sysstat工具包的。同时，它还提供了一种使用cron表达式来制定性能和活动数据的收集计划。

下表是包含在sysstat包中的工具

* [**iostat**](http://linux.cn/article-4024-1.html): 输出CPU的统计信息和所有I/O设备的输入输出（I/O）统计信息。
* **mpstat**: 关于CPU的详细信息（单独输出或者分组输出）。
* **pidstat**: 关于运行中的进程/任务、CPU、内存等的统计信息。
* **sar**: 保存并输出不同系统资源（CPU、内存、IO、网络、内核等。。。）的详细信息。
* **sadc**: 系统活动数据收集器，用于收集sar工具的后端数据。
* **sa1**: 系统收集并存储sadc数据文件的二进制数据，与sadc工具配合使用
* **sa2**: 配合sar工具使用，产生每日的摘要报告。
* **sadf**: 用于以不同的数据格式（CVS或者XML）来格式化sar工具的输出。
* **Sysstat**: sysstat工具的man帮助页面。
* **nfsiostat**: NFS（Network File System）的I/O统计信息。
* **cifsiostat**: CIFS(Common Internet File System)的统计信息。

最近(在2014年6月17日)，**sysstat 11.0.0**（稳定版）已经发布了，同时还新增了一些有趣的特性，如下：

pidstat命令新增了一些新的选项：首先是“-R”选项，该选项将会输出有关策略和任务调度的优先级信息。然后是“**-G**”选项，通过这个选项我们可以使用名称搜索进程，然后列出所有匹配的线程。

sar、sadc和sadf命令在数据文件方面同样带来了一些功能上的增强。与以往只能使用“**saDD**”来命名数据文件。现在使用**-D**选项可以用“**saYYYYMMDD**”来重命名数据文件，同样的，现在的数据文件不必放在“**var/log/sa**”目录中，我们可以使用“SA\_DIR”变量来定义新的目录，该变量将应用与sa1和sa2命令。

### 在Linux系统中安装sysstat

在主要的linux发行版中，‘**sysstat**’工具包可以在默认的程序库中安装。然而，在默认程序库中的版本通常有点旧，因此，我们将会下载源代码包，编译安装最新版本（**11.0.0**版本）。

首先，使用下面的连接下载最新版本的sysstat包，或者你可以使用**wget**命令直接在终端中下载。

* <http://sebastien.godard.pagesperso-orange.fr/download.html>

```
# wget http://pagesperso-orange.fr/sebastien.godard/sysstat-11.0.0.tar.gz

```

*下载sysstat包*

然后解压缩下载下来的包，进去该目录，开始编译安装

```
# tar -xvf sysstat-11.0.0.tar.gz
# cd sysstat-11.0.0/

```

这里，你有两种编译安装的方法：

#### a)

第一，你可以使用**iconfig**(这将会给予你很大的灵活性，你可以选择/输入每个参数的自定义值)

```
# ./iconfig

```

*sysstat的iconfig命令*

#### b)

第二，你可以使用标准的**configure**，在命令行中定义所有选项。你可以运行 **./configure –help 命令**来列出该命令所支持的所有限选项。

```
# ./configure --help

```

*stsstat的cofigure -help*

在这里，我们使用标准的**./configure**命令来编译安装sysstat工具包。

```
# ./configure
# make
# make install

```

*在Linux系统中配置sysstat*

在编译完成后，我们将会看到一些类似于上图的输出。现在运行如下命令来查看sysstat的版本。

```
# mpstat -V

sysstat version 11.0.0
(C) Sebastien Godard (sysstat <at> orange.fr)

```

### 更新Linux 系统中的sysstat

默认的，sysstat使用“**/usr/local**”作为其目录前缀。因此，所有的二进制数据/工具都会安装在“**/usr/local/bin**”目录中。如果你的系统已经安装了sysstat 工具包，则上面提到的二进制数据/工具有可能在“**/usr/bin**”目录中。

因为“**$PATH**”变量不包含“**/usr/local/bin**”路径，你在更新时可能会失败。因此，确保“**/usr/local/bin**”路径包含在“$PATH”环境变量中，或者在更新前，在编译和卸载旧版本时将**-prefix**选项指定值为“**/usr**”。

```
# yum remove sysstat            [On RedHat based System]
# apt-get remove sysstat        [On Debian based System]

```

---

```
# ./configure --prefix=/usr
# make
# make install

```

现在，使用‘mpstat’命令的‘**-V**’选项查看更新后的版本。

```
# mpstat -V

sysstat version 11.0.0
(C) Sebastien Godard (sysstat <at> orange.fr)

```

**参考**: 更多详细的信息请到 [Sysstat Documentation](http://sebastien.godard.pagesperso-orange.fr/documentation.html)

在我的下一篇文章中，我将会展示一些sysstat命令使用的实际例子，敬请关注更新。别忘了在下面评论框中留下您宝贵的意见。

---

via: <http://www.tecmint.com/install-sysstat-in-linux/>

作者：[Kuldeep Sharma](http://www.tecmint.com/author/kuldeepsharma47/) 译者：[cvsher](https://github.com/cvsher) 校对：[wxy](https://github.com/wxy)

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