Coverity 扫描报告首次发现开源软件质量超过专有软件

Summary: Coverity开启了免费开发测试服务，允许任何对开源软件质量感兴趣的人查看项目 来自美国山景城（加州）的消息：Coverity公司（新思科技公司的一个子公司）发布了2013年Coverity扫描开源软件报告。 经过Coverity扫描服务以及按照Coverity开发测试平台的商业惯例，报告中详细分析了关于7.5亿行开源软件代码的分析，这是至今报告研究的最大的样本量。 在2013年Coverity扫描报告中，他们分析了超过700个C/C++开源项目和一个匿名的企业项目的样本。另外，报告中还强调了几个流行的开源Java项目的分析结果，这些项目从2013年3月就加入了扫描服务

感谢支持，我是Bob，原厂专职负责Coverity的销售与支持，有任何问题请随时联系。也欢迎大家免费试用Coverity。

我的联系方式：13311307163

Bao.Han@synopsys.com

# Coverity 扫描报告首次发现开源软件质量超过专有软件

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

**Coverity开启了免费开发测试服务，允许任何对开源软件质量感兴趣的人查看项目**

来自美国山景城（加州）的消息：Coverity公司（新思科技公司的一个子公司）发布了2013年Coverity扫描开源软件报告。

经过Coverity扫描服务以及按照Coverity开发测试平台的商业惯例，报告中详细分析了关于7.5亿行开源软件代码的分析，这是至今报告研究的最大的样本量。

在2013年Coverity扫描报告中，他们分析了超过700个C/C++开源项目和一个匿名的企业项目的样本。另外，报告中还强调了几个流行的开源Java项目的分析结果，这些项目从2013年3月就加入了扫描服务。

Coverity扫描开源项目报告成为了一个被广泛接受的衡量开放源代码质量状态的标准。在过去8年时间里，Coverity扫描服务分析了超过1500个开源项目的数亿行代码——其中包括的C/C++项目中有NetBSD, FreeBSD，LibreOffice和Linux等，Java项目中有Apache Hadoop，HBase以及Cassandra等。

自2006年已来，扫描服务帮助开发者发现和修复了超过94,000缺陷。仅在2013年一年就修复了近50,000个缺陷——这是扫描服务的用户在一年中修复缺陷的最大数量。在这些缺陷中，其中有超过11,000的缺陷修复出现在扫描服务中的四个最大的项目：NetBSD，FreeBSD，LibreOffice和Linux。

### 2013年报告中重要发现包括：

#### C/C++项目中开源软件代码质量超过专有软件

缺陷密度（每1,000行软件代码所含的缺陷）是一个通用的测量软件质量的方法，缺陷密度1.0被认为是高质量软件的公认的行业标准。

Coverity的分析中发现，扫描服务中的开源的C/C++项目的平均缺陷密度为 0.59，而为企业项目开发的专有C/C++代码的缺陷密度为 0.72。在2013年，在所有不同大小的代码库中，扫描服务中的开源项目的代码质量超过专有项目，这进一步强调了开源社区开发测试的坚定的承诺。

#### Linux继续成为开源质量的基准

通过利用扫描服务，Linux将修复一个新发现的缺陷的时间从122天减少到仅6天！从2008年第一个Coverity扫描报告发布后，扫描过的Linux版本的缺陷密度一直小于1.0。在2013年，Coverity扫描了超过850万行Linux代码并发现缺陷密度为 0.61。

#### C/C++开发者修复了更多的高风险缺陷

Coverity分析报告发现贡献于开源Java项目的开发者修复的高风险缺陷的数量没有贡献于开源C/C++项目的开发者修复的多。

参加扫描服务的Java项目开发者只修复了13%的被指出的资源泄露，而C/C++项目开发者则修复了46%。这一方面可能是因为Java编程社区错误的安全感的原因，这种安全感是因为内建于语言的保护，比如垃圾收集。然而，垃圾收集是不可预测的，而且不能访问系统资源，所以这些项目处于危险之中。

#### HBase是Java项目的基准

Coverity分析了100个开源Java项目的超过800万行代码，包括流行的大数据项目Apache Hadoop 2.3 (320,000 行代码)和Apache Cassandra (345,000 行代码)。

自从在2013年8月加入扫描服务以来，Apache HBase (Hadoop的数据库)修复了超过220个缺陷，其中包括比其他参加扫描服务Java项目更高比例的资源泄露（HBase的缺陷中资源泄露占的比例为66%，而其他项目平均为13%）。

“如果说软件正在吞食世界，那么开源软件则是带头冲锋，”Coverity的产品高级总监Zack Samocha说，“我们的目标，包括Coverity扫描服务在内是帮助开源软件社区创作高质量的软件。基于这个报告的结果——以及这个日益流行的服务——使用开发测试的开源软件项目继续提升他们软件的质量，这让他们使整个行业更上一层楼。”

Coverity今天也宣布已经开放了Coverity扫描服务，允许任何对开源软件感兴趣的人查看参与项目的进展。个人现在可以成为项目观察者，这使他们可以跟踪扫描服务中相关开源软件的状态，查看高级数据包括未解决和已修复的缺陷的数目以及缺陷密度。

“我们看到了请求扫描服务的人数的指数增长，他们仅仅是要监控被发现和被修复的缺陷。在许多情况下，这些人工作于大型的企业组织，那些企业组织在商业项目中使用开源软件，”Samocha补充说。“通过对个人开放扫描服务，我们提升了查看开源项目代码质量的新的可见度，他们的软件供应链中正包含这些项目。”

---

via: <http://www.ciol.com/ciol/features/213112/coverity-scan-report-source-software-quality-outpaces-proprietary-code/page/1>

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

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


戴文的Linux内核专题：23 配置内核 (19)

# 戴文的Linux内核专题：23 配置内核 (19)

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

欢迎进入Linux内核系列文章的下一篇！我们正在接近配置过程的终点。在这篇文章中，我们将会讨论固件驱动和文件系统驱动。

这个分类中的第一个驱动是寻找启动盘(BIOS Enhanced Disk Drive calls determine boot disk)。有时，Linux不会知道哪个盘是启动盘。这个驱动允许内核询问BIOS。Linux接着在sysfs上存储信息。Linux需要知道这些来设置bootloader。

即使BIOS EDD服务被编译进了内核，这个选项可以设置这些服务不激活(Sets default behavior for EDD detection to off )。EDD代表的是"Enhanced Disk Drive"(增强磁盘驱动器)。

当使用kexec加载不同的内核时，性能可以通过固件提供的内存映射提升(Add firmware-provided memory map to sysfs)。

"Dell Systems Management Base Driver"通过sysfs接口提供了Linux内核对于Dell硬件的更好的控制。

启用这个驱动可以通过/sys/class/dmi/id/访问硬件的信息(Export DMI identification via sysfs to userspace)。DMI代表的是Desktop Management Interface(桌面管理接口)。DMI管理硬件的组件和访问硬件的数据。BIOS中数据的接口和硬件由SMBIOS(System Management BIOS)规范调节。

从DMI得到的原始数据表可以通过这个驱动访问(DMI table support in sysfs)。

为了从iSCSI驱动器中启动，启用这个驱动(DMI table support in sysfs)。

最后的驱动是一组"Google Firmware Drivers"。这些驱动用于Google特定的硬件。除非你为Google工作并且需要在硬件上使用Linux或者你在为一台从Google偷来的电脑编译内核，否则不要启用它。

下面，我们可以配置内核的文件系统支持。

"Second extended fs support"驱动用于EXT2文件系统。<http://www.linux.org/threads/ext-file-system.4365/>

"Ext2 extended attributes"提供了原生文件系统不支持的额外的元数据的使用。

"Ext2 POSIX Access Control Lists"增加了额外的非原生的权限模型。

"Ext2 Security Labels"增强了由SELinux提供的安全性。

启用"Ext2 execute in place support"允许可执行文件在当前的位置执行而不必在页缓存中执行。

这个驱动提供EXT3文件系统(Ext3 journaling file system support)。 <http://www.linux.org/threads/ext-file-system.4365/>

"Default to 'data=ordered' in ext3"驱动设置数据的排序模式为"Ordered"。这种处理方式为日志和写入工作。数据排序在这篇文章中解释 - <http://www.linux.org/threads/journal-file-system.4136/>

"Ext3 extended attributes"提供了原生文件系统不支持的额外的元数据使用。再说一次，接下来的EXT3的驱动/特性与EXT2相同 - "Ext3 POSIX Access Control Lists" 和 "Ext3 Security Labels"。同样，对接下来的EXT4也是相同的 - "Ext4 POSIX Access Control Lists"、"Ext4 Security Labels" 和 "EXT4 debugging support"。

EXT3和EXT4支持日志块设备调试(JBD debugging support)，(JBD2 debugging support)。

下面的驱动提供Reiser文件系统支持(Reiserfs support)。 <http://www.linux.org/threads/reiser-file-system-reiser3-and-reiser4.4403/>

Reiser文件系统也有调试(Enable reiserfs debug mode)。

内核可以存储ReiserFS统计在/proc/fs/reiserfs (Stats in /proc/fs/reiserfs)。

下面的Reiser驱动/特性与EXT2/3/4相同 - ReiserFS extended attributes", "ReiserFS POSIX Access Control Lists" 和 "ReiserFS Security Labels".

Linux内核同样支持JFS，同时也包含了不同的特性 "JFS filesystem support"、 "JFS POSIX Access Control Lists"、"JFS Security Labels"、"JFS debugging" 和 "JFS statistics". <http://www.linux.org/threads/journaled-file-system-jfs.4404/>

再说一次,XFS可以通过启用这些驱动/特性支持 - "XFS filesystem support"、"XFS Quota support"、"XFS POSIX ACL support"、"XFS Realtime subvolume support" 和 "XFS Debugging support"。 <http://www.linux.org/threads/xfs-file-system.4364/>

"Global FileSystem 2"可以被内核支持(GFS2 file system support)。这个文件系统用于在集群中共享存储。

"GFS2 DLM locking"驱动提供了GFS2的分布式锁管理(DLM)

"Oracle Cluster FileSystem 2"被内核支持(OCFS2 file system support)。这个文件系统用于在集群中共享存储。

"O2CB Kernelspace Clustering"提供了OCFS2文件系统的不同服务。

"OCFS2 Userspace Clustering"允许集群栈在用户空间执行。

"OCFS2 statistics"驱动允许用户得到关于文件系统的统计信息。

像大多树Linux内核一样，OCFS2提供日志(OCFS2 logging support)。这可能被用来监视错误或者调试目的。

"OCFS2 expensive checks"驱动以性能为代价提供了存储一致性检测。一些Linux用户建议只有在调试目的在才启用它。

Linux内核同样包含了新的B树文件系统；这个驱动提供了磁盘格式化程序(Btrfs filesystem Unstable disk format)。BTRFS仍在开发中并被计划某天变的比EXT4更流行。<http://www.linux.org/threads/b-tree-file-system-btrfs.4430/>

"Btrfs POSIX Access Control Lists"提供了额外的原生BTRFS没有提供的权限模型。

下面，是一个BTRFS检测工具(Btrfs with integrity check tool compiled in (DANGEROUS))。由于BTRFS是一个最新在开发中的文件系统，大多数相关软件还并不稳定。

Linux系统也支持NIL-FileSystem(NILFS2 file system support)。<http://www.linux.org/threads/new-implementation-of-a-log-structured-file-system-nilfs.4547/>。

为了支持一些文件系统使用到的flock()系统调用，启用这个驱动(Enable POSIX file locking API)。禁用这个去的那个会减少11KB的内核大小。这个驱动提供了文件锁定。文件锁定是一个允许进程在某刻读取文件的过程。这通常用于网络文件系统，就像NFS。

"Dnotify support"驱动是一个古老的文件系统通知系统，它提醒文件系统上的事件的用户空间。它和它的继承者被用于监控应用的文件系统。某个应用告诉守护进程需要监视哪些事件。不然，每个用户空间应用需要它们自己完成这个任务。

记住，Dnotify是一个古老的系统，那么什么是新的通知系统？它就是由这个驱动提供的Inotify (Inotify support for userspace)。

一个可选的通知系统是fanotify (Filesystem wide access notification)。Fanotify与Inotify一样，但是fanotify比Inotify传递更多的信息到用户空间中。

用这个驱动Fanotify可以检测权限(fanotify permissions checking)。

对于用户想要划分存储空间的系统需要 "Quota support"。 <http://www.linux.org/threads/atomic-disk-quotas.4277/>

接下来的驱动允许通过netlink报告磁盘配额警告和信息(Report quota messages through netlink interface)。netlink是一个用于与内核通信的用户空间的套接字接口。

配额信息同样可以发送到控制台(Print quota warnings to console (OBSOLETE))。

这个驱动允许配额系统执行额外的完整性检查(Additional quota sanity checks)。在计算机技术中，完整性检查是检测由于不良编程导致的错误。文件和输出都被检查来确保数据正确而不是以奇怪的方式构造。

一些旧的系统使用老的配额系统但希望在升级新内核时保留旧的配额系统。可以通过启用这个来容易解决(Old quota format support)。许多读者可能想要知道为什么一些人想要保留旧的配额系统而不是更新新的。好的，想想一下你是一家很大公司的IT部门的经理，公司有许多服务器运行着非常重要的任务。当你可以继续使用现在工作的很好的系统，你想要创建并配置一个新的(也可能很大)的文件系统么？ 通常上，对于计算机，坚持下面的原则 - 如果它没有坏或者不会导致安全问题，不要去修复它。

用这个驱动，新的配额系统支持32位UID和GID(Quota format vfsv0 and vfsv1 support)。

为了自动挂载远程存储单元，启用这个驱动(Kernel automounter version 4 support)。

这个驱动支持FUSE文件系统(FUSE (Filesystem in Userspace) support)。用户空间文件系统(FUSE)支持任何用户创建他们自己的文件系统并在用户空间内使用。

一个特殊的FUSE扩展可以用于在用户空间使用字符设备Character device in Userspace support)。

下一篇文章中，我们会继续讨论缓存，光盘文件系统，Linux上的FAT32和其他有趣的文件系统话题。谢谢！

---

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

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

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


戴文的Linux内核专题：24 配置内核 (20)

# 戴文的Linux内核专题：24 配置内核 (20)

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

欢迎进入Linux内核系列文章的下一篇!本篇我们继续配置文件系统。

首先，我们启用"General filesystem local caching manager"，它允许内核存储文件系统缓存。这可以增加在存储空间开销上的性能。

为了调试目的，缓存系统可以通过统计信息监控(Gather statistical information on local caching)。通常上，这个特性应该只在你计划调试的时候启用。

下面的特性很像上面的，但是这个特性存储延迟信息(Gather latency information on local caching)。再说一次，这是个调试特性。

"Debug FS-Cache"提供了很多其他的缓存系统的调试功能。

下面的缓存调试工具会保存文件系统缓存对象的全局列表(任何进程可以访问这个列表)(Maintain global object list for debugging purposes)。

为了增强网络文件系统的速度，启用接下来的驱动(Filesystem caching on files)。这个特性允许整个本地文件系统被用于远程文件系统和存储单元的缓存。Linux内核会管理这个分区。

有两种不同的用于调试的驱动可用于本地缓存系统和远程文件系统，它们是(Debug CacheFiles)和(Gather latency information on CacheFiles)。

大多数通常的光盘文件系统是ISO 9660标准的ISO-9660，故名(ISO 9660 CDROM file system support)。这个驱动用于读/写主流的光盘。

当读取光盘中的长Unicode文件名或者这类文件时，需要这个驱动(Microsoft Joliet CDROM extensions)。这是ISO-9660文件系统的扩展。

"Transparent decompression extension"允许数据以压缩形式写入并以透明方式解压读出。这允许光盘上存放更多的数据。

"UDF file system support"允许内核读/写UDF文件系统的可重写光盘。UDF被设计用来管理增量写入。UDF允许光盘思想闪存盘那样使用。系统可以比常规ISO-9660文件系统写入的光盘更快地写入以及更新。然而，这并不比使用闪存快。

如你所知，Windows是一个很流行的系统。有很多存储器使用FAT文件系统。万幸的是，Linux支持这样的文件系统。这会明显地增加内核的大小，但是既然FAT文件系统是如此的通用，那么这点开销也是值得的。

为了支持FAT文件系统，启用这个驱动(VFAT (Windows-95) fs support)。在写本篇的时候。驱动还不支持FAT64(通常成为exFAT)。

代码页的大小可以在这里设置(Default codepage for FAT)。

在此之后，可以设置FAT文件系统的默认字符集(Default iocharset for FAT)。

NTFS文件系统在这个驱动提供支持(Default iocharset for FAT)。驱动提供了只读特性。为了写入NTFS，启用这个驱动(NTFS write support)。

Linux内核提供了NTFS文件系统的调试工具(NTFS debugging support)。

要在root根目录下有个proc目录，必须启用这个特性(/proc file system support)。一些其他相似的驱动依赖于这个，包括(/proc/kcore support)、(/proc/vmcore support)和 (Sysctl support (/proc/sys))。proc系统("process"的缩写)使用的proc文件系统有时称作procfds。这个文件系统在硬件的内存中，并在启用时创建。因此，当你在浏览proc中的文件时，用户仿佛像在其他存储单元上那样浏览内存。proc扮演一个用户空间和内核空间之间接口的角色。proc是在内核空间。

"Enable /proc page monitoring"提供了一些文件监视进程的内存利用。

"sysfs file system support"创建/sys文件加。sys文件系统在内存中并提供了内核对象的接口。

tmp目录被许多应用需要，包括Linux自己，因此强烈建议启用这个驱动(Tmpfs virtual memory file system support (former shm fs))。tmp文件系统可能存储在硬盘或者内存中，并只被用于存储临时文件。

Tmpfs POSIX Access Control Lists"驱动tmpfs虚拟文件系统额外的文件权限特性。

"Tmpfs extended attributes"提供了通常的tmpfs更多的属性。

"HugeTLB file system support"驱动提供了基于ramfs的hugetlbfs文件系统。这个虚拟文件系统包含了HugeTLB页。

configfs文件系统是一个以文件系统形式存在的内核对象管理器(Userspace-driven configuration filesystem)。强烈建议启用这个驱动。ConfigFS很像sysfs。然而，ConfigFS被用于创建和删除内核对象，而sysfs被用于浏览和修改内核对象。

下面，我们可以回到"真正"的文件系统了。那就是用户用来存放他们个人文件的文件系统。下面，内核能够读取ADFS文件系统(ADFS file system support)。

AFDFS文件系统写入被一个独立且不稳定的驱动提供 (ADFS write support (DANGEROUS))。ADFS代表Advanced Disc Filing System(高级光盘归档系统)。

Linux同样支持Amiga快速文件系统(Amiga FFS file system support)。 <http://www.linux.org/threads/amiga-fast-file-system-affs.4429/>

"eCrypt filesystem layer support"提供了POSIX兼容的加密文件系统层。这个eCrypt可以 用于任何文件系统无论驻留的文件系统分区表是什么。<http://www.linux.org/threads/intro-to-encryption.4376/>

eCrypt层可以有一个设备文件如果启用了这个驱动(Enable notifications for userspace key wrap/unwrap)。设备路径是/dev/ecryptfs。

Linux同样支持HFS和HFS+(Apple Macintosh file system support)和(Apple Extended HFS file system support)。<http://www.linux.org/threads/hierarchical-file-system-hfs.4480/> 与 <http://www.linux.org/threads/hierarchical-file-system-plus-hfs.4493/>

BeFS可以在Linux上作为只读文件系统使用(BeOS file system (BeFS) support (read only))。通常上，编写读取特性比编写写入能力简单。

特殊的BeFS调试特性(Debug BeFS)。

EFS是另外一个Linux只读不写的文件系统。 (EFS file system support (read only)). [http://www.linux.org/threads/extent-file-system-efs.4447/](http://www.linux.org/threads/hierarchical-file-system-plus-hfs.4493/)

一些闪存可能使用JFFS2文件系统(Journalling Flash File System v2 (JFFS2) support)。下面，可以设置调试层 (JFFS2 debugging verbosity)。 [http://www.linux.org/threads/journaling-flash-file-system-version-2-jffs2.4495/](http://www.linux.org/threads/extent-file-system-efs.4447/)

为了在NAND和NOR闪存上使用JFFS2，需要这个驱动(JFFS2 write-buffering support)。

下面的驱动提供了更好的错误保护(Verify JFFS2 write-buffer reads)。

启用"JFFS2 summary support"可以更快挂载JFFS文件系统。这个驱动存储文件系统的信息。

像其他的文件系统的扩展/额外属性驱动一样，JFFS2也有这种驱动(JFFS2 XATTR support)。

JFFS2文件系统支持不同的透明压缩系统。这允许JFFS2系统上的文件更小，并且在读取时不需要用户任何特殊的操作。 (Advanced compression options for JFFS2)、 (JFFS2 ZLIB compression support)、(JFFS2 LZO compression support)、(JFFS2 RTIME compression support) 和 (JFFS2 RUBIN compression support)。默认的压缩格式定义在下面的选项中(JFFS2 default compression mode)。

JFFS2的继任者也被Linux内核支持(UBIFS file system support)。无排序块图像文件系统(Unsorted Block Image File System (UBIFS)) 同样与LogFS竞争。

Linux内核同样支持LogFS(LogFS file system)。

基于ROM的嵌入式系统需要CramFS的支持(Compressed ROM file system support (cramfs))。

此外，嵌入式系统可以使用SquashFS，这是一种只读压缩文件系统(SquashFS 4.0 - Squashed file system support)。Linux内核也支持SquashFS的扩展属性(Squashfs XATTR support)。

SquashFS支持三种不同的压缩格式 (Include support for ZLIB compressed file systems)、(Include support for LZO compressed file systems) 和 (Include support for XZ compressed file systems)。SquashFS的块大小可以设置为4KB (Use 4K device block size?)。同样，可以设置缓存大小(Additional option for memory-constrained systems)。

Linux内核支持 FreeVxFS (FreeVxFS file system support (VERITAS VxFS(TM) compatible))、 Minix (Minix file system support)、 MPEG filesystem (SonicBlue Optimized MPEG File System support)、 HPFS (OS/2 HPFS file system support)、 QNX4 (QNX4 file system support (read only))、 QNX6 (QNX6 file system support (read only)) 和 ROM 文件系统 (ROM file system support)。 <http://www.linux.org/threads/qnx-file-systems.4577/> and <http://www.linux.org/threads/minix-mini-unix-file-system.4545/>

"RomFS backing stores (Block device-backed ROM file system support)"提供了ROMfs不同额外的属性和能力的列表。

"Persistent store support"驱动提供对pstore文件系统的支持，这允许访问平台级的持久性存储。

pstore文件系统可以存储内核日志/消息(Log kernel console messages)。

当内核崩溃时(相当于Windows中的蓝屏死机)，"Log panic/oops to a RAM buffer"会在RAM中存储日志。

下面一个驱动提供对Xenix、 Coherent、Version 7 和 System V 文件系统的支持(System V/Xenix/V7/Coherent file system support)。

Linux内核同样支持UFS(UFS file system support (read only))、 (UFS file system write support (DANGEROUS)) 和 (UFS debugging)。

内核也支持exofs(exofs: OSD based file system support)。

flash友好型文件系统(Flash-Friendly FileSystem)是一种对于闪存设备的特殊文件系统(F2FS filesystem support (EXPERIMENTAL))、 (F2FS Status Information )、 (F2FS extended attributes) 和 (F2FS Access Control Lists). <http://www.linux.org/threads/flash-friendly-file-system-f2fs.4477/>

下篇文章我们将配置网络文件系统。谢谢！

---

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

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

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


Linux Shell脚本的10个有用的“面试问题和解答”

Summary: 首先致上每日问候。Linux的浩瀚无垠，使人总能每次都提交与众不同的内容。我们The-Tecmint-Team的工作是给我们的读者提供一些独特的内容，这些内容不仅对他们的职业生涯很有用，同时也让他们增长知识。在此，我们就尝试这么去做，至于能取得多大的成功，就由我们的读者朋友们来判断吧。  我们为各类用户提供了关于Shell脚本语言和面试问题的很多教程，可以访问以下链接去阅读这些文章。  Shell脚本系列 面试问题与解答系列  在此，作为shell脚本的附加内容，在本文中我们将从面试的角度解读与Linux Shell相关的问题。 1. 在shell脚本成功

@我的印象笔记

打个基础

mark

mark

@我的印象笔记

@我的印象笔记

收

mark

cut -d;-f2 -f5 -f7 txt_tecmint<br />
这个换成cut -d; -f 2,5,7 txt_tecmint 不是更好吗

自然可以

有用

# Linux Shell脚本的10个有用的“面试问题和解答”

首先致上每日问候。Linux的浩瀚无垠，使人总能每次都提交与众不同的内容。我们“**The-Tecmint-Team**”的工作是给我们的读者提供一些独特的内容，这些内容不仅对他们的职业生涯很有用，同时也让他们增长知识。在此，我们就尝试这么去做，至于能取得多大的成功，就由我们的读者朋友们来判断吧。

<img src="content_image/album_201405_27_232841tei4p8m10ywpewb3.png" alt="Questions on Shell Scripting" title="Questions on Shell Scripting">

我们为各类用户提供了关于**Shell脚本**语言和**面试问题**的很多教程，可以访问以下链接去阅读这些文章。

* [Shell脚本系列](http://www.tecmint.com/category/bash-shell/)
* [面试问题与解答系列](http://www.tecmint.com/category/interview-questions/)

在此，作为shell脚本的附加内容，在本文中我们将从面试的角度解读与Linux Shell相关的问题。

#### 1. 在shell脚本成功执行前，如何中断脚本执行？

>
> **解答**：我们需要使用‘exit’命令来实现以上描述的情境。‘exit’命令被强制输出非0值时，脚本会报错并退出。在Unix环境下的shell脚本中，0值表示成功执行。因此，在脚本终止前执行一个不带引号的‘exit -1’命令将使脚本中止。
>
>
>

例如，创建以下一个名为“**anything.sh**”的脚本。

```
#!/bin/bash
echo "Hello"
exit -1
echo "bye"

```

保存文件并执行。

```
# sh anything.sh

Hello
exit.sh: 3: exit: Illegal number: -1

```

从上面的脚本中可以清楚地看到，在exit -1命令前，脚本执行得很好。

#### 2. 如何使用Linux命令来移除文件头？

>
> **解答**：当我们需要删除文件中的指定行时，‘sed’命令可以用来解决该问题。
>
>
>

这个是用来删除文件头（文件的首行）的正确命令。

```
# sed '1 d' file.txt

```

上面命令的问题是，它会在标准输出设备上输出不带首行的文件内容。为了保存输出到文件，我们需要使用重定向操作符，它将帮助你将输出重定向到文件。

```
# sed '1 d' file.txt > new_file.txt

```

好吧，其实**sed**命令内建的‘**-i**’开关就可以干这活，就不需要重定向符了吧。

```
# sed -i '1 d' file.txt

```

#### 3. 你怎么检查一个文本文件中某一行的长度？

>
> **解答**：‘sed’命令也可以用来查找文本文件中的某一行或者检查其长度。
>
>
>

‘**sed -n ‘n p’ file.txt**’可以解决，这里‘**n**’表示行号，‘**p**’打印出匹配内容（到标准输出），该命令通常与**-n**命令行选项连用。那么，怎样来获取长度计数呢？很明显，我们需要通过管道输出给‘**wc**’命令来计算。

```
# sed –n 'n p' file.txt | wc –c

```

要得到文本文件‘**tecmint.txt**’的第五行的长度，运行如下命令：

```
# sed -n '5 p' tecmint.txt | wc -c

```

#### 4. 可以在Linux系统上查看到所有非打印字符吗？你是怎么做到的？

>
> **解答**：可以。可以在Linux中查看所有的非打印字符。要实现上面所讲的方案，我们需要‘vi’编辑器的帮助。 怎样在‘**vi**’编辑器中显示非打印字符？
>
>
>

* 打开vi编辑器。
* 先按[esc]键，然后按‘：’进入到vi编辑器的命令模式。
* 最后，从‘vi’编辑器的命令界面输入set list命令并执行。

**注**: 这种方式可以查看文本文件中的所有非打印字符，包括**ctrl+m（^M）**。

#### 5. 假如你是一个员工组的团队领导，为xyz公司工作。公司要求你创建一个‘dir\_xyz’目录，让该组成员都能在该目录下创建或访问文件，但是除了文件创建者之外的其他人不能删除文件，你会怎么做？

>
> **解答**：这真是个有趣的工作方案。好吧，上面所讲的方案，我们需要通过下面的步骤来实施，这简直就是小菜一碟。
>
>
>

```
# mkdir dir_xyz
# chmod g+wx dir_xyz
# chmod +t dir_xyz

```

第一行命令创建了一个目录（**dir\_xyz**），上面的第二行命令让组（g）具有‘写’和‘执行’的权限，而上面的最后一行命令——权限位最后的‘+t’是‘粘滞位’，它用来替换‘x’，表明在这个目录中，文件只能被它们的拥有者、目录的拥有者或者是超级用户root删除。

#### 6. 你能告诉我一个Linux进程经历的各个阶段吗？

>
> **解答**：一个Linux进程在它的一生中，通常经历了四个主要阶段。
>
>
>

这里是Linux进程要经历的四个阶段。

* 等待：Linux进程等待资源。
* 运行：Linux进程当前正在执行中。
* 停止：Linux进程在成功执行后或收到杀死进程信号后停止。
* 僵尸：如果该进程已经结束，但仍然留在进程表中，被称为‘僵尸’。

#### 7. Linux中cut命令怎么用？

>
> **解答**：‘cut’是一个很有用的Linux命令，当我们要截取文件的指定部分并打印到标准输出，当文本区域以及文件本身很大时，这个命令很有用。
>
>
>

例如，截取‘**txt\_tecmint**’文件的前10列。

```
# cut -c1-10 txt_tecmint

```

要截取该文件中的第二，第五和第七列。

```
# cut -d;-f2 -f5 -f7 txt_tecmint

```

#### 8. ‘cmp’和‘diff’命令的区别是什么？

>
> **解答**：‘cmp’和‘diff’命令用来获取相同的东西，但各有侧重。
>
>
>

‘**diff**’命令输出为了使两个文件一样而应该做的修改。而‘**cmp**’命令则将两个文件逐字节对比，并报告第一个不匹配的项。

#### 9. 可以用‘echo’命令来替换‘ls’命令吗？

>
> **解答**：可以的。‘ls’命令可以用‘echo’命令来替代。‘ls’命令列出目录内容，从替换上述命令的角度讲，我们可以使用‘echo \*’，两个命令的输出完全一样。
>
>
>

#### 10. 你可能听过inode吧。你能简要描述一下inode吗？

>
> **解答**：‘inode’是一个‘数据结构’，在Linux上用于文件标识。每个文件在Unix系统上有一个独立的‘inode’和一个‘唯一的’inode号。
>
>
>

到此为止吧。在下一篇文章中，我们将讨论另外一些有趣味性而又有知识性的面试问题。到那时，别跑开，请上Tecmint.com，别忘了在下面的评论部分给我们提供一些有价值的反馈哦。

---

via: <http://www.tecmint.com/interview-questions-on-shell-scripting/>

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

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


Ubuntu开发者们提议创建另外风格的‘Unity 8桌面’来帮助开发

Summary: Ubuntu桌面团队已经提出创建一个基于Unity 8的新风格Ubuntu桌面的想法。 开发者Iain Lane概括了团队邮件列表中的提议，说，这样的一个转变所带来的东西会使开发者和爱好者们同样来弄明白制作出一个基于可用的软件的桌面产品需要做的工作。 Lane写道：  桌面团队想要增加一个新的Ubuntu桌面风格（目前我们并没有计划为此发行任何正式的发行版），其中包含Unity 8桌面以及为触摸项目开发的新应用。 这个想法的初衷是提供一个产品，开发者们能够使用它来弄清制作一个基于可用的软件的桌面产品需要做些什么，以及创造一片试验田来寻求解决所要

# Ubuntu开发者们提议创建另外风格的‘Unity 8桌面’来帮助开发

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

**Ubuntu桌面团队已经提出创建一个基于Unity 8的新风格Ubuntu桌面的想法。**

开发者Iain Lane概括了团队邮件列表中的提议，说，这样的一个转变所带来的东西会使开发者和爱好者们同样‘来弄明白制作出一个基于可用的软件的桌面产品需要做的工作’。

Lane写道：

>
> “桌面团队想要增加一个新的Ubuntu桌面风格（目前我们并没有计划为此发行任何正式的发行版），其中包含Unity 8桌面以及为触摸项目开发的新应用。 这个想法的初衷是提供一个产品，开发者们能够使用它来弄清制作一个基于可用的软件的桌面产品需要做些什么，以及创造一片试验田来寻求解决所要求的集成问题的最佳途径。”
>
>
>

### ‘默认预置于Ubuntu 16.04’

一个试验性的发行版在此刻所带来的好处是显而易见的。

Canonical旨在在PC上重复利用手机和平板版本的Ubuntu的代码，尽管披着更加传统的桌面环境的外衣，但这是他们走向‘convergence（融合）’计划的一部分。

但Unity 8在手机和平板形态上的项目仍然处于活跃开发的状态————二者都有正在来临的硬件发布————在塑造PC面貌的主要进程上相当缓慢也是可以理解的。

尽管有些注意事项，但Ubuntu 14.04 LTS通过一个可与现存版本一同安装的Unity 8桌面会话，提供给开发者们一个测试平板版本快照的机会。

通过创建一个专用的Unity 8桌面镜像，可安装会话中的许多限制能够得到缓解。一个实时会话（live session）不仅能够使测试通过live USB或CD更加容易进行，也能够允许更大范围的试验，以及尽情测试而不用有会影响到常规桌面用户的压力。

这个项目的一个[规划](https://blueprints.launchpad.net/ubuntu/+spec/client-1410-unity8-desktop-iso)表明这个新转变的镜像（.iso）‘应该会在16.04中成为一个默认选项’。

在大多数的人力投入仍然集中于推进移动版本的迭代使其符合标准的情况下，目前基于Compiz的版本（Unity 7，开发者称为‘现维护版本’）在可预见的未来中仍然可能被作为默认选项。

在桌面上过渡到Unity 8同样也取决于Mir（Canonical自行开发的显示服务器/显示协议）的时限。在[对Mir登场的乐观预测早已让步于现实](http://www.omgubuntu.co.uk/2014/03/mir-default-display-server-ubuntu-2016)的情况下, 更明确的计划基本上仍然处于模糊或未宣布的状态。Mir对传统桌面工作流支持工作仍处在早期阶段，比如解决窗口合并、任务切换以及多显示器设置等。从在常规PC里测试镜像中获得帮助，看起来也是一个不错的想法。

如何最好地解决“click packages”（这是Unity 8/Mir应用使用的定制运行时框架）；是否有足够的资源来支持开发‘另一风格’的桌面；以及这样的一个项目应该使用什么名称都还处在等待讨论的队列中。

---

via: <http://www.omgubuntu.co.uk/2014/05/ubuntu-unity-8-desktop-flavour-discussed>

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

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


Ubuntu Linux上的最佳照片应用程序

Summary: 在我上次写切换到Linux的理由后，一位读者建议我写一些关于Windows上流行的应用程序的Linux替代品的内容。毕竟，这对于想切换到Linux的那些Windows用户们的最普遍关心的问题。 在本文中，我列出了可用于各种用途的与照片相关的应用程序，努力试图来回应大家普遍关心的问题。这个列表中的应用程序并非是Windows程序的替代品，而只是能用于多种用途的Linux下的图像应用程序的集合。 Linux中的图像编辑应用 当我提到图像编辑时，我是指骨灰级专业风格的照片编辑。换句话讲，我是在讨论Photoshop。而对于Adobe Photoshop的Linux替代品而言，只

扬我国威！扩散周知！

[挖鼻屎] 楼下啥意思 求解

回复@伊洛酥:是啊，不知道楼下是啥意思，穿越定点错误了吧。

有没有两个系统下常见应用程序的对比清单

gimpshop基本上死掉了，gimp2.8有single windows mode，可以代替gimpshop吧。

# Ubuntu Linux上的最佳照片应用程序

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

在我上次写[切换到Linux的理由](http://itsfoss.com/reasons-switch-linux-windows-xp/)后，一位读者建议我写一些关于Windows上流行的应用程序的Linux替代品的内容。毕竟，这是想切换到Linux的Windows用户们最普遍关心的问题。

在本文中，我列出了可用于各种用途的与照片相关的应用程序，努力试图来回应大家普遍关心的问题。这个列表中的应用程序并非是Windows程序的替代品，而只是能用于多种用途的Linux下的图像应用程序的集合。

### Linux中的图像编辑应用

当我提到图像编辑时，我是指骨灰级专业风格的照片编辑。换句话讲，我是在讨论[Photoshop](http://www.photoshop.com/)。而对于Adobe Photoshop的Linux替代品而言，只有一个名字浮现在我脑海里，那就是[GIMP](http://www.gimp.org/)。GIMP是一个跨平台、全功能、专业级别的编辑软件，几乎囊括了Photoshop的全部功能。与Photoshop不同的是，GIMP对于所有平台都免费，如Linux，Windows，OS X等等。

你可以从Ubuntu软件中心来为Ubuntu安装GIMP。

如果你醉心于Photoshop，并且对于调整GIMP的外观和快捷键有一定难度，那我推荐你使用[Gimpshop](http://www.gimpshop.com/)。它是一个基于GIMP，而又有Photoshop风格的应用程序，当然也是免费的。

### Linux中的照片管理应用

这里我是在说处理图像仓库的应用程序。你可以查看图像，从照相机和手机导入图像，进行图像的简单编辑，分享图像等等。在Windows中，我们有Windows照片查看器。而在Linux中，[Shotwell](https://wiki.gnome.org/Apps/Shotwell)是当今最流行的照片管理工具。它也是各种Linux发行版中默认内置的应用程序，当然Ubuntu也是这样内置的。和GIMP不同的是，Shotwell是一个轻量级应用，但也提供了一些最基本的编辑功能。

Shotwell的一个很好的替代品是[gThumb](https://wiki.gnome.org/action/show/Apps/gthumb?action=show&redirect=gthumb)。

### Linux中用于处理原生照相机图像的应用

由于数码单反相机价格的下降，（业余）摄影师的数量也以同比例增长。由于许多数码单反相机使用原生格式存储图像，像Shotwell这样的默认的图像查看器就不能处理这些图像了，也因此像[digiKam](http://www.digikam.org/)这样的应用程序就应运而生了。作为一个开源软件，digiKam可以让你以专业方式处理高端相机图像。你可以使用digiKam来查看、管理、编辑、增强、组织图像，可以给图像贴标识，也可以分享图像。

digiKam的另一个替代品是[GTKRawGallery](http://gtkrawgallery.sourceforge.net/src/en/home.html)，该软件也关注对照相机图像的处理。

### Linux中的绘图应用

如果你正在寻找微软[画图](http://pinta-project.com/)的Linux替代品，那么我选择Paint。你可以用该软件做一些像文本注解、画圆圈这样的编辑，你可以使用铅笔、画笔和喷枪来画图。在Ubuntu中，你可以从Ubuntu软件中心安装该软件。

Pinta的另一个替代品是[Krita](http://krita.org/index.php)，该软件更强大，提供了更多的功能。比画图应用好，但还比不上GIMP。

### Linux中像Instagram一样的应用

最后，让我们来讨论一下图像美化吧。在移动设备上，我们有许多复古的图像效果，但桌面平台中却没有。要在Linux中应用Instagram一样的效果，据我所知只有[XnRetro](http://www.xnview.com/en/xnretro/)，它能巧妙地进行处理。推荐你阅读[如何在Ubuntu中使用XnRetro](http://itsfoss.com/add-instagram-effects-xnretro-ubuntu-linux/)这篇文章来获取更多信息。

以上只是编排列出了Ubuntu以及其它Linux发行版中可用的各类图像应用软件，但这不是一个这类应用程序的完整列表。事实上，还有很多同类软件，我只是列出了个类目中最好的。

你认为呢？你也使用其它一些应用程序来完成特定的工作？能和我们分享你的看法吗？

---

via: <http://itsfoss.com/image-applications-ubuntu-linux/>

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

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


Ubuntu Touch 和 Android 双系统安装官方指南

Summary: （译注：本文译自Ubuntu官方维基） Ubuntu 双系统安装器是作为技术预览版本发布给开发者的，可以使得开发者同时在一台手机上安装 Ubuntu 系统和 Android 系统。该软件现阶段或最终的目标用户并非普通用户。开发者应该熟悉 Ubuntu 和 Android 系统的分区布局并且在出现问题的时候有能力手动刷回分区。 Ubuntu 双系统安装器是一些工程师花了一点时间内做出的一个内部臭鼬项目(译注：管理层不知的研究项目)。由于项目进展良好，所以决定向开发者社区发布预览版以供大家测试、学习或者完善。 双系统启动不是常规 Ubuntu 发布版本中的一部分。

现在能适配多少机型了[思考]

@请在beep声后留言 你的nexus朋友来试试么

回复@Linux中国:[泪]

Cool!可惜手机不行

[爱你]

通讯录，短信可以共享么？

@校长Ubuntu @Ubuntu中文站 @中国Canonical_Ubuntu @敲代码的Joey_Chan 请指正。[嘻嘻]

new

麻

这个好

先收了~

# Ubuntu Touch 和 Android 双系统安装官方指南

（译注：本文译自[Ubuntu官方维基](https://wiki.ubuntu.com/Touch/DualBootInstallation)）

Ubuntu 双系统安装器是作为技术预览版本发布给开发者的，可以使得开发者同时在一台手机上安装 Ubuntu 系统和 Android 系统。该软件现阶段或最终的目标用户并非普通用户。开发者应该熟悉 Ubuntu 和 Android 系统的分区布局并且在出现问题的时候有能力手动刷回分区。

Ubuntu 双系统安装器是一些工程师花了一点时间内做出的一个内部臭鼬项目(译注：管理层不知的研究项目)。由于项目进展良好，所以决定向开发者社区发布预览版以供大家测试、学习或者完善。

双系统启动不是常规 Ubuntu 发布版本中的一部分。

安装后可实现以下功能
----------

* 一台可以在全功能的 Android 和 Ubuntu 系统之间切换的手机
* Android 系统上：一个 Ubuntu Installer 应用，用来安装 Ubuntu 系统和切换到 Ubuntu 系统
* Android 系统上：一个 SuperUser 超级用户管理器，用来为 Ubuntu 安装器授予权限
* Ubuntu 系统上：一个 Ubuntu Dual Boot 应用，用来启动到 Android 系统
* 尚不支持在 Ubuntu 系统下的更新，但可以通过 Android 下的应用程序来进行系统更新

必要条件
----

安装双系统启动，你需要：

* **一台Nexus 4 手机** (其他 [支持的 Nexus 手机](https://wiki.ubuntu.com/Touch/Devices#Working_with_phablet-flash) 理论上也能安装，但是现在还没有经过测试。)
* 手机安装 **Android 4.4.2 或者更高的系统版本** ，基于原厂固件或者 CyanogenMod 和 AOSP 的固件。
* 手机上需要有 **2.7GB 剩余存储空间** 用来安装Ubuntu。
* 桌面电脑上需要运行 **ADB 工具**
* 手机应该 **解锁 bootloader 并打开 USB 调试选项**。按照安装步骤1到3来实现。如果你的手机已经解锁过 bootloader 并且打开了 USB 调试选项了，这一步可以[跳过>](#Installation)。

### 步骤 1 - 桌面电脑设置

为了连接手机并刷机，在电脑桌面上依照以下几步操作。

**设置Touch开发者预览工具（Touch Developer Preview Tools）的 PPA**

这些 PPA 是一个迷你库，其中包含安装过程中需要的一些额外软件。以下描述如何去启用和使用它。

这些 PPA 的包含工具和依赖库支持各个 Ubuntu 发行版，包括 12.04, 12.10, 13.04, 13.10 和 14.04等。 将以下的源地址列表加入 /etc/apt/sources.list 文件中来添加 Ubuntu Touch PPA。

在你的机器上按 Ctrl+Alt+T 开启终端窗口，运行以下命令。

```
sudo add-apt-repository ppa:phablet-team/tools

```

在 Ubuntu 12.04系统上，还需要运行以下命令：

```
sudo add-apt-repository ppa:ubuntu-sdk-team/ppa

```

然后运行：

```
sudo apt-get update
sudo apt-get install ubuntu-device-flash

```

### 步骤 1.5 - 备份Android(可选)

* 确认开启开发者模式。点击 设置 -> 关于手机 -> 版本号 (点击七次)
* 确认开启 USB 调试模式。点击 设置 -> 开发者选项 -> USB 调试
* 在你的电脑上执行（译注：自然这是在Linux下，如Ubuntu里面执行的）

```
$ adb backup -apk -shared -all

```

这样就将你的操作系统、应用程序和所有的数据备份为 backup.ab 文件了。以后在重新刷回 android 系统（或root、解锁等）的时候可以使用 $ adb restore backup.ab 命令恢复你所有的数据。

### 步骤 2 - 手机解锁

如果手机已经解锁，那么跳过步骤 3。以下几步将擦除手机上所有的个人数据。

1. 关机，同时按住手机的开机键+音量上+音量下开机。
2. 手机将开机到bootloader界面。
3. 使用 USB 数据线将手机和电脑连接。
4. 在电脑上按 Ctrl+Alt+T 打开一个终端。 键入 sudo fastboot oem unlock 并回车。
5. 在手机上，接受解锁条款。
6. 按开手机开机键开机。(屏幕上 Start 的箭头所向)

**恢复手机出厂设置**

如果解锁 bootloader 后不断重启的话... 可以使用以下方法解决：

1. 在重启的过程中，同时按住 电源键+音量上+音量下 使得手机重返 fastboot 模式。
2. 在 fastboot 模式下，使用音量键选择到 Recovery 选项后，按下开机键选中。
3. 在 Recovery 模式下(Android 机器人 背景是个红色三角) 同时按住音量上键和开机键进入stock recovery 模式。再次强调，不要按住按钮不放，只是同时按他们。保证你按了正确的音量按钮。应该是右边的音量按钮的向上键。
4. 一旦进入 Recovery 模式，恢复出厂设置并清空数据，然后重启平板，现在应该可以看到欢迎屏幕了。

### 步骤 3 - 初始化手机指南

按照以下步骤初始化手机

1. 如果没有启动，启动手机进 Android 系统
2. 启用手机的 USB 调试模式
	* 在冰激凌三明治 (版本 4.0) 上打开 USB 调试(设置 > 系统 > 开发者选项 > USB 调试)
	* 在果冻豆 (版本 4.1 和 4.2) 上打开 USB 调试，需要进 设置, 关于 [手机|平板] 菜单且点击版本号7次才能进入开发者选项。
	* 在 4.2.2, (设置 > 关于 > 点击版本号7次激活开发者选项菜单)
	* 在其他版本的 Android 系统中，你通过 设置 > 开发者选项 > USB 调试来启用 USB 调试模式。您也需要接受手机上的主机密钥。
	* 在工作站中 -> adb kill-server; adb start-server
3. 将手机和电脑通过USB数据线连接起来。
	* 根据 Android 版本的不同，会弹出一个主机密匙的框，需要确认才能和电脑通信。
	* 注意，adb devices 命令不应该显示为手机 'offline' 。如果显示手机离线，在超级用户模式下运行adb(sudo adb kill-server; sudo adb start-server)，然后将手机再次连接。
	* 在某些情况下，手机仍然显示为离线，如果USB连接模式为 'MTP' (一些手机或版本的Android的默认模式)的话，就不会弹出主机密匙提示对话框。取消所有的USB连接模式选项的勾选(设置 -> 存储 -> 菜单 -> USB连接 -> MTP, PTP)也许能解决adb连接问题。
4. 记下现有手机镜像版本号，Android 系统，恢复系统时使用。可以使用 设置 > 关于手机 > 版本号码 查看版本号。

最新版的 Nexus 10s 开启开发者模式后并没有完全启动。如果是这种情况的话，启动到 bootloader 后运行 "fastboot -w" 然后进入下一步。

双系统启动安装和更新说明
------------

双系统新安装和升级在这部分过程实际上是相同的。

### 在 Android 系统中安装 Ubuntu 安装器

注意：如果手机中有一个以前版本的 Ubuntu 双启动，更新前请首先使用 Android 应用程序卸载掉 Ubuntu 系统。推荐保存用户数据，只卸载掉基本的系统。

1. 在电脑上下载双系统安装脚本到你的家目录。<http://humpolec.ubuntu.com/latest/dualboot.sh>
2. 使用 Ctrl+Alt+T 组合键打开电脑终端。
3. 运行以下命令赋予安装脚本可执行权限。

```
chmod +x dualboot.sh

```
4. 保证你的手机

	* 正常启动进入 Android 用户界面
	* 启用 USB 调试选项
	* 已经解锁了 bootloader
5. 使用 USB 数据线连接手机和电脑
6. 在终端里运行以下命令安装双系统启动：

```
./dualboot.sh

```

安装完成后，手机会重启数次。完成后，系统会启动到 Android 系统，你可以在手机的应用程序里面找到双启动应用程序 (“Ubuntu Dual Boot”) 。

或者，可以使用安装脚本的另一个替代方法，[可以参考安装手册 >](#DualBootInstallerReference)。

现在按照以下说明在 Android 下安装 Ubuntu。

Android 下安装 Ubuntu
------------------

注意：Ubuntu 安装需要手机上具有2.7GB以上的剩余内存空间。

1. 如果需要，也可以在手机和电脑USB连接状态下，终端运行以下命令来释放空间。(接受手机上的授权询问)

```
adb shell "su sh rm -rf /cache/*"

```
2. 在手机上，点击 apps 按钮打开 app 列表
3. 查看列表找到 **Ubuntu Dual Boot** 图标并启动它
4. 应用程序启动后按 **Choose channel to install** 并选择一个频道下载(推荐 **utopic** 频道)，请确保您勾选了“bootstrap”选项
5. 下载完成后需要授权 SU 权限给应用程序。提示授权的时候，选择 **Grant** 按钮
6. 按 **Reboot to Ubuntu** 按钮重启手机进入Ubuntu
7. 标准手机重启过程后会启动到Android系统中

注意：

* Ubuntu 安装器支持所有手机平板刷机工具（phablet-flash）支持的频道
* 选择了一个 Ubuntu 频道后，**bootstrap** 复选框可以让你选择清空 Ubuntu 的用户数据，如果不选中的话，用户数据将一直保留。第一次安装的话，选不选是没什么区别的
* 选中一个 Ubuntu 频道后，取消 **latest version** 复选框后可以选择一个特定版本号的镜像，否则，默认安装最新的镜像。
* 如果在安装过程下载镜像过程中，手机锁屏或者 Ubuntu 安装器在后台运行的话，安装按钮会变成 **Resume install** (恢复安装)。点击这个按钮会恢复到超级权限提示前的状态。

其他需要注意的
-------

### 更新到最新的 Ubuntu 镜像

根据双启动的经验：

* 安装新版本的 Ubuntu 需要使用 Android 上的双启动应用程序
* 下载新版本的 Ubuntu 可以在 Android 或者 Ubuntu 下进行

这实际上意味着可以有两种不同的方式更新 Ubuntu 镜像（译注：此处与前文不一致，究竟是否可在Ubuntu下更新，译者没有做过实验，可能已经支持了。）：

* **如果在android系统下**，使用双启动应用程序更新 Ubuntu ，需要选择菜单选项中的 "Uninstall Ubuntu" ，然后应用程序会询问你是否保留 Ubuntu 用户数据。如果你想保留数据、通讯录、应用程序、图片、背景设置等，这些数据将会完整保留。另外，每次新版本的 Ubuntu 发布后，将会收到 Android 通知：
	+ 对于稳定频道，应用每2天推送一次更新通知
	+ 对于推荐频道，应用每10小时推送一次更新通知
* **如果你使用的是 Ubuntu**, 使用系统设置中的标准更新机制下载新版镜像，但是不要选择安装，下载完毕后，重新启动到 Android 系统中，启动双启动应用程序，程序会恢复更新。完成后，你可以再次切换到 Ubuntu系统中。

要升级 Ubuntu 到最新版本，在 android 下的 Ubuntu 双启动应用程序中，卸载 Ubuntu 后，可以按照同样的安装步骤去下载新版本的 Ubuntu。

### 双系统安装器参考命令

大多数情况下，不带参数运行自动模式安装脚本就足够了。

dualboot.sh

* 自动模式：监测[超级用户](https://wiki.ubuntu.com/SuperUser)应用程序是否需要安装，并更新双系统安装应用程序。

dualboot.sh full

* 完整模式：安装[超级用户](https://wiki.ubuntu.com/SuperUser)和双系统启动 Android 应用程序

dualboot.sh update

* 更新模式：安装或者更新 Android 下的双系统启动应用程序

dualboot.sh channel $CHANNEL

* 边载（Sideload）模式：通过指定的 Ubuntu 频道 ($CHANNEL) 下载最新的镜像到手机。命令启动 android 双系统应用程序并继续使用边载文件进行安装。

dualboot.sh push ubuntu.tar.xz device.tar.xz version.tar.xz

* 边载推送模式：将下载参数推送给双系统启动应用程序，作为参数启动双系统安装器进行安装。

多个手机同时连到电脑上的时候，脚本还提供指定手机ID 的参数。手机ID为脚本的第一个参数。如果不指定手机ID的话，默认为第一个连接的手机。

```
dualboot.sh <device-id> channel devel-customized

```

### 使用自定义镜像服务器

如果你的手机不在官方支持列表中，需要使用第三方移植镜像服务器，你可以将自定义镜像服务器地址作为参数来使用双启动应用程序。这么办的话，打开终端，连接手机到电脑，运行以下命令(替换 $CUSTOM\_SERVER\_URL 为自定义服务器地址)：

```
adb shell "su sh 'cd /data/data/com.canonical.ubuntu.installer/files/ && echo $CUSTOM_SERVER_URL > custom_server &&  chmod 777 custom_server'"

```

下次启动双启动应用程序的时候，默认将使用自定义服务器地址而不是官方地址了。

异常处理
----

如果出现问题，安装双启动后无法进入 Android 和 Ubuntu 系统的话，你可以使用原始启动和恢复镜像恢复手机到最初状态。只有 recovery 分区被双启动修改了，当然你可以刷回原有的启动分区。

1. 下载手机的 Android 固件到你的PC上。
2. 使用快捷键 Ctrl+Alt+T 打开终端
3. 解压固件 tar 包并 cd 到其目录
4. 运行以下命令以重启手机到 bootloader

```
adb reboot bootloader

```
5. 进入 bootloader 后，运行以下命令刷回启动分区：

```
fastboot flash boot boot.img

```
6. 不要退出 bootloader ，运行以下命令刷回 recovery 分区：

```
fastboot flash recovery recovery.img

```
7. 刷机完毕后，重启你的手机应该就可以进入 Android 系统了：

```
fastboot reboot

```

致谢
--

双启动项目和其他 Ubuntu 项目一样都是开源的，你可以参与此项目，使得他更加完美！

* [Bug 报告 >](https://bugs.launchpad.net/humpolec/+filebug)
* [贡献代码 >](https://code.launchpad.net/humpolec)

FAQ
---

### 双启动如何工作？

基于 Android 的手机有一系列不同用途的分区。这些分区包括 **/boot**, **/recovery**, **/system** 和 **/data** 等。

* **boot** 分区是 bootloader 正常启动的时候载入的。这个分区的启动镜像是由一个内核和ramdisk程序组成的。简而言之，bootloader 解压启动镜像，创建一个内存盘后将镜像考入，最后使用 **初始化进程** 启动内核。
* **recovery** 分区包含有恢复镜像，它只是一个不同的启动镜像。它也含有一个内核和内存盘程序，但是初始化可执行程序被换成了内存盘中的二进制的 recovery 程序。
* **system** 分区含有所有的只读系统文件 (除了内存盘中的)供初始化进程载入。
* **data** 分区是供系统写入用户数据的可读写分区。

Ubuntu 以稍微不同的方式使用这些分区

* **boot** 和 **recovery** 分区的作用和 Android 中一样。
* **system 镜像** 含有在 [LXC](http://www.ibm.com/developerworks/cn/linux/l-lxc-containers/) 中执行的 Android 部分的程序。
* **data** 分区下的 **/data/ubuntu/** 目录含有Ubuntu系统

为了保证用户可以返回 Android 原来的系统，Android 系统的启动镜像是不允许修改的，因为原始内核必须保存。**所以使用 recovery 分区去启动Ubuntu**

### 双启动可以运行在那个版本的 Android 系统下？

* 普通 Android 或 AOSP 4.4.2 或更高版本。
* CyanogenMod (基于 Android 4.4.2 或更高版本).

### 双启动可以运行在那些手机上？

双启动通过测试可以运行在以下手机中：

* Nexus 4
* Nexus 7
* Nexus 10

### 双启动支持那些已发布版本的 Ubuntu？

双启动支持的所有手机平板刷机工具（phablet-flash）支持的系统。

### Android 和 Ubuntu 如何共享用户数据分区？

用户数据分区也放在 Ubuntu 系统镜像 /data/system.img, 大约有2GB。

Ubuntu swap 文件在用户数据分区 /data/SWAP.img (大约540MB)。

Ubuntu 的用户和系统数据也可以在以下目录找到：

* /data/user-data
* /data/system-data

Android 数据分区的使用方式不变。

### 安装双启动后是否无法启动进入 recovery？

安装双启动后，recovery 分区被 Ubuntu 启动镜像占用。这意味着启动到 recovery 模式下，就启动了Ubuntu 。

使用 recovery 的功能会在未来发布。不过当卸载掉 Ubuntu 镜像后，Ubuntu Install 应用会恢复原始的 recovery 分区(普通的 Android 或 CWM)。

### 如果用双启动替换掉 recovery 分区的话，是否还可以更新 Android 系统？

可以，使用双启动应用程序中的 "准备更新安卓" 选项。这会将原始 Android recovery 分区恢复，为 Android 系统更新做准备。这显然会删除 recovery 分区中安装的 Ubuntu 系统，但是使用双系统应用程序可以在 Android 系统更新后很容易重新安装。

任何情况下，你都可以卸载双启动并恢复原始的 recovery 分区。

### 我可以卸载双启动吗？

可以，使用 Android 版本双启动应用程序卸载 Ubuntu 后，原有的 recovery 分区数据会恢复到安装前的状态。

卸载 Ubuntu 的同时也会删除 Ubuntu 系统镜像和交换文件。如果需要，Ubuntu 用户数据也可以被删除。

### 双启动应用程序安装了一个超级用户应用，我可以使用一个第三方的超级用户应用代替它吗？

当然可以了！提供的 [超级用户](https://wiki.ubuntu.com/SuperUser) 应用只是为了那些没有安装它的用户的。

然而，需要注意一点：项目测试中只测试使用了来自 [CyanogenMod](https://wiki.ubuntu.com/CyanogenMod) 版本或者 dualboot.sh 脚本安装的超级用户应用。但是只要你使用和测试中用的类似的应用的话，一般也不会有问题的。

### 安装 Ubuntu 中，我是否可以删除用户数据后切换频道？

可以，但是有些东西没有测试过，所以有些应用也许无法正常工作。这个问题也存在于切换版本的情况。

### 我能否设置默认启动 Ubuntu 而将 Android 启动移动到 recovery 分区？

目前为止交换默认启动操作系统是不可行的。但是如果有需求的话我们会想办法支持的。

### 为什么使用 recovery 分区启动 Ubuntu 系统而不是使用一个 Android 和 Ubuntu 结合的镜像来启动？

最开始设计双启动的时候原则就是不和某个特定版本和类型的 Android 系统捆绑，留给用户自己选择的权利。所以就没有改动 Android 启动镜像和内核。

最后我们选择利用 recovery 分区启动 Ubuntu，并在需要的时候就恢复到其原始状态。

### 我已经安装了一个 CWM recovery 而且知道如何使用，我可否使用 zip 文件手动刷机？

绝对可以，我们提供的 dualboot.sh 是为了使得安装应用和 recovery 更容易。如果你想手动安装recovery 也是可以的。参看 dualboot.sh 脚本的源码来操作。

### 为什么 Ubuntu 安装器需要使用 recovery 安装到 system 分区里？

Ubuntu 安装器需要安装为 Android （预置的）系统应用。 和用户安装在用户分区的应用不一样，系统应用始终活动在系统分区中，保证可以获取第三方软件可以获取的的最高的权限。

其实 Ubuntu 安装器需要获取的权限只有两个：**缓存分区写入权限**，用来下载 Ubuntu 安装文件；和**电源管理**，用来重启系统。

---

via: <https://wiki.ubuntu.com/Touch/DualBootInstallation>

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

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


Apache Tomcat 7.0.54现已可供下载

Summary: Apache Tomcat 7.0.54，一个在JCP规范之下开发的Java Servlet和JSP技术的开源软件实现，现已可供下载。 自上一个Apache Tomcat版本的发布已经有段时日了， 但这仅仅意味着开发者们有更多的时间来对软件作出修补和更改。这是一个源码软件包，所以普通用户并不一定真的需要它。 通过更新日志得知，定制的UTF-8解码器已经被修复，在AprLifecycleListener的FIPS模式中加入了更多的管理选项，如果一个应用从已销毁的会话中调用session.invalidate()而导致的无限循环已经可被避免，在添加一个Mbean通知监听器时，移除一个Mbean监听器现在将还原

# Apache Tomcat 7.0.54现已可供下载

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

**Apache Tomcat 7.0.54，一个在JCP规范之下开发的Java Servlet和JSP技术的开源软件实现，现已可供下载。**

自上一个Apache Tomcat版本的发布已经有段时日了， 但这仅仅意味着开发者们有更多的时间来对软件作出修补和更改。这是一个源码软件包，所以普通用户并不一定真的需要它。

通过更新日志得知，定制的UTF-8解码器已经被修复，在AprLifecycleListener的FIPS模式中加入了更多的管理选项，如果一个应用从已销毁的会话中调用session.invalidate()而导致的无限循环已经可被避免，在添加一个Mbean通知监听器时，移除一个Mbean监听器现在将还原所有执行的操作，以及关于完成部署和其执行时间的信息已被添加到日志文件之中。

另外，一些理论上可能会发生内存泄漏的位置上已经做了修补，当使用JAASMemoryLoginModule时的用户认证已被修复，在反斜杠处理时的回溯已得到纠正。

在源代码归档的官方更新日志中可以找到一份完整的变更，修复以及新特性的列表。

### 下载 Apache Tomcat 7.0.54 (violetagg):

* [tar.gz (6.0.39 Stable)](http://mirrors.hostingromania.ro/apache.org/tomcat/tomcat-6/v6.0.39/bin/apache-tomcat-6.0.39.tar.gz)[binary] [6.70 MB]
* [tar.gz (6.0.39 Stable)](http://mirrors.hostingromania.ro/apache.org/tomcat/tomcat-6/v6.0.39/src/apache-tomcat-6.0.39-src.tar.gz)[sources] [3.40 MB]
* [tar.gz (7.0.52 Development)](http://www.apache.org/dist/tomcat/tomcat-7/v7.0.52/bin/apache-tomcat-7.0.52.tar.gz)[binary] [8 MB]
* [tar.gz (7.0.52 Development)](http://www.apache.org/dist/tomcat/tomcat-7/v7.0.52/src/apache-tomcat-7.0.52-src.tar.gz)[sources] [4.40 MB]
* [zip (8.0.3 Beta Development)](http://mirrors.hostingromania.ro/apache.org/tomcat/tomcat-8/v8.0.3/bin/apache-tomcat-8.0.3.tar.gz)[binary] [8.10 MB]
* [tar.gz (8.0.3 Beta Development)](http://mirrors.hostingromania.ro/apache.org/tomcat/tomcat-8/v8.0.3/src/apache-tomcat-8.0.3-src.tar.gz)[sources] [4.40 MB]

---

via: <http://news.softpedia.com/news/Apache-Tomcat-7-0-54-Now-Available-for-Download-443862.shtml>

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

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


『我终于失去了你~在拥挤的人群中~』Ubuntu用户即将失去Cinnamon

Summary: 许多Ubuntu用户过去一直在使用第三方仓库体验Cinnamon而不用安装Linux Mint，然而似乎在不久的将来，不会再有Cinnamon的第三方仓库了。 如果你在用Ubuntu系统，当前你能够通过添加一个PPA源并安装相应的软件包就可以体验到Cinnamon桌面环境。这让你可以获得像Linux Mint一样的体验，而不用真的去安装它。 不幸的是，该功能即将消失，但不是因为主要维护者不想再继续提供该软件。很显然，Ubuntu仓库将不再保留旧版本的GNOME软件包，而Cinnamon却需要这些包，这让Cinnamon要想通过PPA方式安装，即使可能，也困难重重。 稳定的PPA源确实不再

AnthonOS 才刚刚开始维护，之前 GNOME 一直没搞定

[good]

# 『我终于失去了你~在拥挤的人群中~』Ubuntu用户即将失去Cinnamon

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

**许多Ubuntu用户过去一直在使用第三方仓库体验Cinnamon而不用安装Linux Mint，然而似乎在不久的将来，不会再有Cinnamon的第三方仓库了**。

如果你在用Ubuntu系统，当前你能够通过添加一个PPA源并安装相应的软件包就可以体验到Cinnamon桌面环境。这让你可以获得像Linux Mint一样的体验，而不用真的去安装它。

不幸的是，该功能即将消失，但不是因为主要维护者不想再继续提供该软件。很显然，Ubuntu仓库将不再保留旧版本的GNOME软件包，而Cinnamon却需要这些包，这让Cinnamon要想通过PPA方式安装，即使可能，也困难重重。

“稳定的PPA源确实不再维护了，而每晚更新的PPA源也只为开发而保留，但不应该用于任何种类的生产机器上（它可能会在任何时候中断）。”

“坦率地说，除了切换到其它支持Cinnamon的版本外，目前我没有其它替代品可以提供给Ubuntu用户。外面有很多这样的版本，我只是希望有人（最终）站到Ubuntu这边来为它的用户提供合适的包。”Gwendal Le Bihan——Cinnamon包的维护者[说](http://askubuntu.com/questions/94201/how-do-i-install-the-cinnamon-desktop)。

这意味着，从今往后，只有不稳定的PPA源可用了，但也只是用于测试，用户不应该将该源部署到正式机器上。而不久之后，你要想见见Cinnamon的样子，就只好去安装Linux Mint（或者Arch也行），或者你自己动手编译吧。

如果你仍然想要安装Cinnamon，Ubuntu 14.04 LTS（Trusty Tahr）可以使用不稳定的PPA源。你所要做是在终端下输入一些命令（你需要root权限来做此事）：

```
sudo add-apt-repository ppa:gwendal-lebihan-dev/cinnamon-nightly
sudo apt-get update
sudo apt-get install cinnamon

```

安装完成后，你所要做的仅仅是注销系统并从欢迎屏幕选择Cinnamon桌面。

Cinnamon桌面环境是作为GNOME shell的分支开发的，目的在于提供一个简洁而保守的替代品用于替代当前提供的一切。许多用户不满意GNOME、Unity以及KDE的取向而正在寻找那些没有偏移常规太多的桌面。

有可能有别人会构建另外一个提供了所有所需软件包的PPA源，让Cinnamon能在即将发布的Ubuntu 14.10中正常工作，但可能性似乎不大。

---

via: <http://news.softpedia.com/news/Ubuntu-Users-Will-No-Longer-Have-a-Cinnamon-PPA-443933.shtml>

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

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


每日 Ubuntu 小技巧——以色辨夹

Summary: 这篇简短的文章将教会你如何在Ubuntu 14.04或者其先前版本中使用美化工具来实现通过颜色分辨文件夹。这个工具就是Folder Color,它允许用户改变 Nautilus 文件浏览器中文件夹的颜色，这样就可以让用户很容易地识别并区分它们。 这个工具的开发者设计初衷是与 Nautilus 配合使用，其实它也可以与Ubuntu上其它的图标主题配合使用。这是一个很好的工具，轻量级，不会影响你的系统的性能。 这个软件安装起来方便，让下面这个简短的教程告诉你如何做吧。 假如你想将重要的文件夹设置成红色的，或者将文档文件夹设置为黄色，你可以用Folder Color

色彩乃身外之物

明天是试试

明天看看arch用用 //@你是个好人啦:转发微博

这是极好极好的

# 每日 Ubuntu 小技巧——以色辨夹

这篇简短的文章将教会你如何在Ubuntu 14.04或者其先前版本中使用美化工具来实现通过颜色分辨文件夹。这个工具就是**Folder Color**,它允许用户改变 Nautilus 文件浏览器中文件夹的颜色，这样就可以让用户很容易地识别并区分它们。

这个工具的开发者设计初衷是与 Nautilus 配合使用，其实它也可以与Ubuntu上其它的图标主题配合使用。这是一个很好的工具，轻量级，不会影响你的系统的性能。

这个软件安装起来方便，让下面这个简短的教程告诉你如何做吧。

假如你想将重要的文件夹设置成红色的，或者将文档文件夹设置为黄色，你可以用Folder Color轻松地更改它们的颜色。

接下来教你来安装这个工具。

在Ubuntu 中**Ctrl - Alt - T**打开终端。添加下面的PPA源。

```
sudo add-apt-repository ppa:costales/folder-color

```

然后运行下面的命令更新你的系统并安装Folder Color。

```
sudo apt-get update && sudo apt-get install folder-color

```

这样安装就可以了。现在你要做的就是注销登录然后再次登入系统或者重新启动Nautilus 。打开Nautilus，在你想改变颜色的文件夹上右键单击选择你想要的颜色。这些是预先定义的颜色，或许无法满足你的需要，但是对于大多数用户来说这足够了。

如果你想卸载它，运行下面的命令移除PPA源。

```
sudo add-apt-repository -r ppa:costales/folder-color

```

最后，运行下面的命令移除Folder Color 。

```
sudo apt-get update && sudo apt-get remove folder-color

```

使用愉快！

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

---

via: <http://www.liberiangeek.net/2014/04/daily-ubuntu-tips-identify-folders-by-colors-in-ubuntu/>

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

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


Arduino 与 Raspberry Pi: 哪个是更适合你的DIY平台？

Summary: 你想做硬件DIY吗？它们哪个更适合你？ 如果你很熟悉电子DIY，那么应该听过Arduino和Raspberry Pi（树莓派）的特点对比。你也许甚至会猜测到，像我之前认为的，它们两个是处理相似问题的相互竞争的硬件平台。 实际上，Arduino和树莓派非常不一样。对于初学者来说，树莓派是一台完整功能的计算机，而Arduino只是一个微控制器，它仅仅是组成计算机的一个模块。 这里有一些指引来帮助你区分Arduino和树莓派，然后确定这两个DIY设备中的哪个更适合你的需求。 概述 树莓派和Arduino最开始都被设计成教育工具，这也是它们现在这么流行的原因，它

看不到全文

文章不存在？

回复@ID404:对不起，系统bug，已经解决。

回复@阿伯在江湖:对不起，系统BUG，已经解决，谢谢您的提醒；》

马！

它们两个是处...好吧我邪恶了

只会闪灯的遁走[委屈]

回复@FireworCs:[衰]

回复@阿伯在江湖:修复啦~~

//@被小猪媞拱了的白菜挺:转发微博

回复@Linux中国:谢谢你。

我有一个树莓派

回复@阿伯在江湖:是我该谢谢您

想到了pcduino

关键是不知道拿它们做什么。没有需求。。

# Arduino 与 Raspberry Pi: 哪个是更适合你的DIY平台？

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

 **你想做硬件DIY吗？它们哪个更适合你？**

如果你很熟悉电子DIY，那么应该听过[Arduino](http://readwrite.com/2014/04/21/easy-arduino-projects-basics-tutorials-diy-hardware)和[Raspberry Pi（树莓派）](http://readwrite.com/2014/01/20/raspberry-pi-everything-you-need-to-know)的特点对比。你也许甚至会猜测到，[像我之前认为的](http://readwrite.com/2014/04/16/arduino-raspberry-pi-connected-home-tutorials-projects)，它们两个是处理相似问题的相互竞争的硬件平台。

实际上，Arduino和树莓派非常不一样。对于初学者来说，树莓派是一台完整功能的计算机，而Arduino只是一个微控制器，它仅仅是组成计算机的一个模块。

这里有一些指引来帮助你区分Arduino和树莓派，然后确定这两个DIY设备中的哪个更适合你的需求。

### 概述

树莓派和Arduino最开始都被设计成教育工具，这也是它们现在这么流行的原因，它们两个都非常容易学习使用。

树莓派来自英国。开始的时候，发明者Eben Upton和他在剑桥大学计算机实验室的同事对学生数量的逐渐减少和差劲的技能感到非常懊恼，于是想办法解决这个问题。他们设计的树莓派是一台便宜的方便修改的计算机，目的是提高动手能力。Upton在2006年设计了树莓派的原型，在[2012年4月](http://www.raspberrypi.org/archives/1081)的时候第一次可以在市场上买到。

另一个，Arduino诞生于意大利。它是根据发明者Massimo Banzi和合伙人想到这个点子的一个酒吧的名字命名的。Banzi是伊夫雷亚互动设计学院的一名教师，他想为他学设计的学生做一个简单的硬件原型制作工具。

作为教育工具，Arduino和树莓派都适合初学者。而在了解了它们的硬件和软件特点之后，很明显它们会应用到完全不同的项目中。

### 硬件和软件

这里大概列出了两者规格上的最大差异

|  |  |  |
| --- | --- | --- |
|   | **Arduino Uno** | **树莓派Model B** |
| **价格** | $30 | $35 |
| **体积** | 7.6 x 1.9 x 6.4 cm | 8.6cm x 5.4cm x 1.7cm |
| **内存**  | 0.002MB | 512MB |
| **主频** | 16 MHz | 700 MHz |
| **集成网络接口** | 没有 | 10/100M以太网RJ45 |
| **多任务支持** | 没有 | 有 |
| **输入电压** | 7到12伏 | 5伏 |
| **Flash存储** | 32KB | SD卡(2到16G)  |
| **USB**  | 一个，仅做为输入 | 两个，可扩展外围设备 |
| **操作系统** | 没有 | Linux发行版 |
| **集成开发环境** | Arduino | Scratch, IDLE, Linux支持的任何环境 |

它们两个的价格和体积都差不多，我们已经知道树莓派和Arduino都很小巧很便宜，只是它们所包含的东西决定了它们的不同。树莓派在时钟速度上比Arduino快40倍。而更打击Arduino的是，树莓派拥有其128,000倍的内存。树莓派是一台独立的计算机，可以运行实际的Linux操作系统，支持多任务，支持两个USB端口，还可以无线连接到因特网。总之，它足够强劲，完全可以作为个人电脑（但是还不足以与Mac或PC比较）。

也许看起来树莓派比Arduino高级，但那仅仅是软件应用。Arduino的简单让它在单纯的硬件项目中表现更好。

我采访了Limor Fried，她是[Adafruit](http://www.adafruit.com/)的创办者，Adafruit是一个DIY电子商店，提供Arduino和树莓派的部件和工具，询问了她关于这两者之间不同的专业意见。作为一个从MIT毕业的工程师，立志要教所有级别的电子技术的高手，Fried比其他人更懂这两个平台。

“Arduino有处理'实时'和'模拟电路'的能力，这是树莓派没有的，这种灵活性让它可以匹配各种传感器或芯片”Fried这样说，“树莓派就没有这样灵活，比如，要读取模拟传感器就需要额外的硬件协助。有成千上万的教程教你把Arduino挂到几乎所有的设备上。另一方面，树莓派可以受益于多年的Linux软件积累，所以它们两个都是很棒的选择！”

Arduino的集成开发环境明显比Linux容易太多了。比如，如果你在树莓派上想写个程序让LED闪烁，你需要安装一个操作系统以及各种代码库，而这还仅仅只是开始。而在Arduino上，你可以用仅仅8行代码来让LED闪烁。而且，Arduino并没有设计成运行操作系统或是大量软件，你可以仅仅把它插到板子上，它就开始工作了。

树莓派可以支持多个任务进程，它可以在后台运行多个程序。比如，我有一台树莓派同时用作打印服务器和[VPN服务器](http://readwrite.com/2014/04/10/raspberry-pi-vpn-tutorial-server-secure-web-browsing)。

另一方面，你可以让Arduino插在板子上去长时间执行单一的任务，而当你想停止的时候把它拔出来就好了。这也是为什么Fried建议初学者在玩树莓派之前先玩Arduino：

“Arduino更简单，更难'变砖'或'损坏'，而且有更多的适合初学者的学习资源。”Fried这样说，“而要玩树莓派，你不但要学习编程比如Python，还要学习Linux。Arduino可以在任意电脑上工作，而且可以用电池供电，你可以任意时候随时开关都很安全。而树莓派在没有合适关机的情况下断电可能会损坏。”

树莓派在软件应用上大放光芒，而Arduino让硬件项目变得更简单。所以问题变成你先确定你想做什么。

### 一起使用

选择树莓派或是Arduino的终极答案是：“为什么要选择？”如果你想学习一些电子知识，它们中任意一个可以教你不同的内容。

按照Fried的意见，树莓派和Arduino是互补的。她提供了一种场景，Arduino是传感器工场，而树莓派负责分发指令：

“它们在一起工作会更好”Fried说，“Arduino非常适合驱动马达，读取传感器数据，控制LED，等等。而同时你可以用一个连接到因特网的树莓派来驱动Arduino，一台迷你电脑可以轻松地用来播放视频，音乐或是发送邮件。”

作者Simon Monk，他曾经写过大量关于树莓派和Arduino的书，在博客里写了篇教程用一点点代码就可以[连接树莓派和Arduino](http://www.doctormonk.com/2012/04/raspberry-pi-and-arduino.html)。它用到了Python的库，[PySerial](http://playground.arduino.cc/Interfacing/Python)，这也是Arduino基地推荐的连接电脑和Arduino的最容易的方式。

只要你做到了这个，那几乎就有无限可能了。你可以[自制啤酒](http://www.brewpi.com/)，用Arduino控制传感器，而用树莓派来处理主要流程。你还可以建立一个[制造机器人的平台](http://www.raspberrypi.org/help/faqs/)，比单独的Arduino或是树莓派机器人强大多了。

### 社区

不管树莓派还是Arduino，都有很多大型的、活跃的社区。这些论坛不仅仅是在学校和大学里使用，世界范围的极客们也都在里面。

下面这些地方你可以去看看，里面会有树莓派的支持和一些项目创意：

* [The Raspberry Pi Foundation — FAQs](http://www.raspberrypi.org/help/faqs/)
* [The Raspberry Pi Foundation — Project Forums](http://www.raspberrypi.org/forums/viewforum.php?f=15)
* [Learn Raspberry Pi with Adafruit](https://learn.adafruit.com/category/learn-raspberry-pi)
* [Element 14 (Pi’s manufacturer) Raspberry Pi Community](http://www.element14.com/community/community/raspberry-pi)
* [The Raspberry Pi Wiki](http://elinux.org/RPi_Hub)

下面是关于Arduino的：

* [Arduino’s Official Getting Started Guide](http://arduino.cc/en/Guide/HomePage)
* [Arduino Playground](http://playground.arduino.cc/Projects/ArduinoUsers)
* [Arduino Official Forums](http://forum.arduino.cc/)
* [Learn Arduino with Adafruit](https://learn.adafruit.com/category/learn-arduino)
* [r/arduino on Reddit](http://www.reddit.com/r/Arduino)

图片来源：[Simon Monk](http://www.doctormonk.com/2012/04/raspberry-pi-and-arduino.html)

---

via: [http://readwrite.com/2014/05/07/arduino-vs-raspberry-pi-projects-diy-platform#feed=/hack&awesm=~oEFMq68riarQK2](http://readwrite.com/2014/05/07/arduino-vs-raspberry-pi-projects-diy-platform#feed=/hack&awesm=%7EoEFMq68riarQK2)

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

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


在Ubuntu 14.04上安装 Webmin

Summary: Webmin是一个开源的基于网页的Unix/Linux系统管理工具。通过使用Webmin，你可以在浏览器上设置和安装所有的系统服务，包括:DNS、DHCP、Apache、NFS和Samba等等。因此，有了这个，你就再也不需要去记住所有的修改配置的命令了。 使用官方软件源在Ubuntu 14.04 LTS上安装Webmin 添加webmin的官方仓库: 修改 /etc/apt/sources.list, sudo vi /etc/apt/sources.list  添加如下内容: deb http://download.webmin.com/download/repository sarge contrib deb http://webmin.mirror.somersettechsolutions.co.uk/repository sarge contrib  添加G

玩过……不错

Repost

好东西，收藏了

真么厉害？

MARK

[哈哈]

这个必须得收藏

回头试下

qwerty

# 在Ubuntu 14.04上安装 Webmin

[Webmin](http://www.webmin.com/)是一个开源的基于网页的Unix/Linux系统管理工具。通过使用Webmin，你可以在浏览器上设置和安装所有的系统服务，包括:DNS、DHCP、Apache、NFS和Samba等等。因此，有了这个，你就再也不需要去记住所有的修改配置的命令了。

### 使用官方软件源在Ubuntu 14.04 LTS上安装Webmin

添加webmin的官方仓库:

修改 **/etc/apt/sources.list**,

```
sudo vi /etc/apt/sources.list

```

添加如下内容:

```
deb http://download.webmin.com/download/repository sarge contrib
deb http://webmin.mirror.somersettechsolutions.co.uk/repository sarge contrib

```

添加GPG密钥:

```
sudo wget http://www.webmin.com/jcameron-key.asc
sudo apt-key add jcameron-key.asc

```

更新软件源:

```
sudo apt-get update

```

通过如下命令安装webmin:

```
sudo apt-get install webmin

```

如果你想从远程系统访问webmin的控制台，就在防火墙里开启webmin的默认端口“10000”

```
sudo ufw allow 10000

```

### 访问Webmin控制界面

打开浏览器并访问URL\*\* https://ip-address:10000/\*\*。应该会出现如下的场景。在此输入用户名和密码来登录webmin的控制台。

这是我的Webmin面板。

就是这样。现在，你就可以管理和配置你的Ubuntu服务器图形。享受吧！

---

via: <http://www.unixmen.com/install-webmin-ubuntu-14-04/>

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

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


Ubuntu 每日技巧- 自动备份Ubuntu 14.04到Box云存储上

Summary: 如今你已经升级或者安装了Ubuntu 14.04， 但是还有另外一件保护你的新系统需要做的事情：备份！ Ubuntu内置了一个备份工具 Dj Dup Backup Tool。它允许你备份你的系统并保存在本地或者通过不同的协议保存在远端服务器上。 还有许多其他的工具来备份你的Ubuntu计算机与文件。你可以通过Dropbox 客户端或者其他云服务来自动备份你的重要文档。你也有可能使用UbuntuOne来备份你的机器，但现在这不再是一个选择了。 另外一个可以用来备份你机器的云存储是Box。Box是一个很棒的服务，它是Dropbox的一个替代品。Box云存储的一个缺点是它没有Drop

Repost

# Ubuntu 每日技巧- 自动备份Ubuntu 14.04到Box云存储上

如今你已经升级或者安装了Ubuntu 14.04， 但是还有另外一件保护你的新系统需要做的事情：备份！

Ubuntu内置了一个备份工具 **Déjà Dup Backup Tool**。它允许你备份你的系统并保存在本地或者通过不同的协议保存在远端服务器上。

还有许多其他的工具来备份你的Ubuntu计算机与文件。你可以通过[Dropbox 客户端](http://www.liberiangeek.net/2014/04/daily-ubuntu-tips-get-dropbox-installed-in-ubuntu-14-04-trusty-tahr/)或者其他云服务来自动备份你的重要文档。你也有可能使用UbuntuOne来备份你的机器，但现在这不再是一个选择了。

另外一个可以用来备份你机器的云存储是Box。Box是一个很棒的服务，它是Dropbox的一个替代品。Box云存储的一个缺点是它没有Dropbox那样的Linux客户端。

它的一个好处是它有Dropbox不支持的通过WebDAV协议来备份你的文件。

本篇简要教程会教你如何使用Box云服务来自动备份你的Ubuntu机器。

在你开始之前，你首先要确保你有一个Box账号，如果没有，请先前去注册。

当你完成后，打开**Dash** 并搜索备份。或者进入**选项 (Gear) –> 系统设置 –> 备份**

接下来，选择备份的文件夹(即保存)，忽略的文件夹，以及在哪里保存备份。位置是我们要首先设置的。对于存储位置，我们选择**WebDAV** 。接下来输入服务器地址(如下所示), 文件夹应该是/dav/，并输入你的Box用户名。

回到概况，选择**立即备份**。

你会被要求输入密码。输入后继续。

在下一屏中，你可以选择是否用密码加密备份。我建议不要这么做，因为忘记密码可能也会有危险。（译注：当然那些秘密的东西你就不要备份到这里了）

第一次备份后，前往打开定期备份设置。接着进入计划并选择对于你最好的备份计划。

要打开定期备份，要将右上角的滑动条拖到右边（即变成橙色的“ON”）。

就是这样！你现在可以进入'保存的文件夹' 并开始加入更多需要备份的文件夹。

体验一下吧！

---

via: <http://www.liberiangeek.net/2014/04/daily-ubuntu-tips-automatically-backing-up-ubuntu-14-04-to-box-cloud-storage/>

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

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


五个 Ubuntu 14.04 最佳图标集

Summary: 还在苦苦折腾让你的 Ubuntu 14.04 更加漂亮的方法吗？那就赶紧给你的系统换套图标吧！如果你还没发现哪些图标主题很棒，不用着急，我已经整理了一些适用于Ubuntu 14.04的最佳图标集。不过在欣赏这些图标集之前，我还是先向你介绍一下如何应用图标主题吧。 如何在 Ubuntu 系统中应用新图标集： 你可以通过两种方式来安装一个新的图标主题。一个是添加PPA源。你可以添加PPA软件源，然后安装某个图标集。但并不是所有的图标集可以通过该方法获得。所以，另一种方法就是，下载该图标集的压缩文件，然后将之解压到~/.icons文件夹。如果这个文件

#全民使用ubuntu系统#

Repost

sudo add-apt-repository ppa:snwh/moka-icon-theme-dail 这句执行不成功

该版本标准帐户不能登录的ＢＵＧ什么时候能解决啊，因此我还没升级呢！

果然还是最喜欢numix~

Nice！

感觉真心不错

# 五个 Ubuntu 14.04 最佳图标集

还在苦苦折腾让你的 Ubuntu 14.04 更加漂亮的方法吗？那就赶紧给你的系统换套图标吧！如果你还没发现哪些图标主题很棒，不用着急，我已经整理了一些适用于**Ubuntu 14.04的最佳图标集**。不过在欣赏这些图标集之前，我还是先向你介绍一下如何应用图标主题吧。

### 如何在 Ubuntu 系统中应用新图标集：

你可以通过两种方式来安装一个新的图标主题。一个是添加PPA源。你可以添加PPA软件源，然后安装某个图标集。但并不是所有的图标集可以通过该方法获得。所以，另一种方法就是，下载该图标集的压缩文件，然后将之解压到**~/.icons**文件夹。如果这个文件夹不存在的话，你可以使用下面的命令来新建：

```
mkdir ~/.icons

```

解压到以上路径的图标只对当前用户有效。如果你希望所有的用户都可以使用该图标主题，你应该将该图标解压到**/usr/share/icons**。

到此，你已经安装了该图标。这样的话，你就可以使用[Unity Tweak Tool](http://itsfoss.com/how-to-install-themes-in-ubuntu-13-10/)来应用该图标主题。你可以使用下面的命令来安装 Unity Tweak Tool：

```
sudo apt-get install unity-tweak-tool

```

安装完毕后，打开该软件，点击**外观**选项下面的**图标**：

现在，你可以选择你所喜欢的图标集啦。到此为止，我想你已经掌握了如何在 Ubuntu 中更换图标，下面我们一起来欣赏 Ubuntu 中最棒的图标主题吧。

### Ubuntu 14.04最棒的图标主题：

废话不多说，我们一起来欣赏一些 Ubuntu Unity 桌面可用的图标主题吧（可能也支持Gnome桌面环境，小编未在该桌面环境下测试）：

#### Moka:

你可以使用以下命令在 Ubuntu 以及同类的发行版中安装该图标主题：

```
sudo add-apt-repository ppa:snwh/moka-icon-theme-daily
sudo apt-get update
sudo apt-get install moka-icon-theme moka-icon-theme-symbolic moka-icon-theme-extras

```

#### Numix:

上图中展示的是 Numix 圆形图标主题。一些相似的图标主题和壁纸资源也是可以通过 Numix PPA 软件源获得的：

```
sudo add-apt-repository ppa:numix/ppa
sudo apt-get update
sudo apt-get install numix-icon-theme numix-icon-theme-circle

```

#### Uniform:

你可以通过下面的链接获取该图标主题：

* [下载Uniform icon theme](http://0rax0.deviantart.com/art/Uniform-Icon-Theme-453054609)

#### Plateau:

你可以通过下面的链接获取该图标主题：

* [下载Plateau icon theme](http://malysss.deviantart.com/art/Plateau-0-2-391110900)

#### Simple [只支持Gnome桌面环境]:

你可以通过下面的链接获取该图标主题：

* [下载Simple icon theme for Gnome](http://www.deviantart.com/art/Simple-icon-theme-426040287)

到此，这一次精美图标主题介绍就结束了，但这绝不意味着终止。之后我还会继续给大家介绍更多的精美图标主题。此外，如果你有很棒的图标主题，而且没有在我们这次的**图标主题介绍**中提到，一定记得分享给我们哦。

---

via: <http://itsfoss.com/best-icon-themes-ubuntu-1404/>

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

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


在Surface Pro 3上运行Ubuntu – 虽不完美但很有戏

Summary: 微软从5月21日起接受Surface Pro 3平板PC的预订，没过多久Linux爱好者们就在其上尝试了Ubuntu 14.04。结果是十分有戏的！Surface pro 3宣称其拥有还不错的硬件配置，当它的所有的硬件都被支持后，对任何Linux用户而言在上面运行 Ubuntu 无疑是一件令人感到振奋的事情。 最明智的第一步无疑是对Surface pro 3的系统镜像做个备份。根据上面安装系统版本的不同，其备份镜像的大小也不一定相同，但这一过程无疑都很快。不过，恢复Windows 8.1的时候还另外需要一个驱动器来帮助恢复镜像，因为一旦安装了Linux，原本的修复和还原功能将会消失。

@RyeMa

期待~

如果完美支持，那必须买

# 在Surface Pro 3上运行Ubuntu – 虽不完美但很有戏

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

微软从5月21日起接受Surface Pro 3平板PC的预订，没过多久Linux爱好者们就在其上尝试了Ubuntu 14.04。结果是十分有戏的！Surface pro 3宣称其拥有还不错的[硬件配置](http://www.microsoft.com/surface/en-us/products/surface-pro-3)，当它的所有的硬件都被支持后，对任何Linux用户而言在上面运行 Ubuntu 无疑是一件令人感到振奋的事情。

最明智的第一步无疑是对Surface pro 3的系统镜像做个备份。根据上面安装系统版本的不同，其备份镜像的大小也不一定相同，但这一过程无疑都很快。不过，恢复Windows 8.1的时候还另外需要一个驱动器来帮助恢复镜像，因为一旦安装了Linux，原本的修复和还原功能将会消失。

要在Surface上安装Ubuntu，插入一个Ubuntu的可启动U盘，同时按住音量减键和电源键，直到Surface的标志出现，然后放开这两个键。一旦从USB启动之后，你就能看到熟悉的Ubuntu安装界面（有实时会话[live session]和安装选项）。后续Ubuntu安装步骤和一般的安装相同。

安装完成后大部分组件都能达到开箱即用的状态。WiFi能够正常工作，但只能检测到2.4GHz的网络。Type Cover上的触控板工作正常，但键盘不能工作。在辅助设置中的虚拟键盘可以用来输入，但在Ubuntu中还是缺少一些功能特性。最佳的选择是连接一个USB键盘。随附的手写笔能够像鼠标一样工作，点击下去相当于鼠标左键单击，但蓝牙不能开箱即用，手写笔上的按钮也不起作用。在Ubuntu上手写笔的功能实现上，在压感上可能会有点小问题。尽管系统流畅反应迅速，但没有了Type Cover的体验无论如何也算不上最佳。就像键盘一样，dock（译注：Surface的扩展底座）可能也做不到开箱即用。相比于Ubuntu，触控和WiFi同样可以开箱即用的KDE的Plasma Active（译注：KDE专为触控设备打造的用户界面）会是个更好的选择。另外，最新版的Kubuntu在Surface Pro 3上安装时还存在一些问题。

如果这部设备能够获得开发者足够的关注的话，到Surface Pro 3在各个销售点开售的时候，大部分问题应该能够得到解决。 这里是这次试验时录下的Ubuntu运行在Surface Pro 3上的简短[视频](https://www.youtube.com/watch?v=mRH-c2_kDA4)。

---

via: <http://www.muktware.com/2014/05/ubuntu-surface-pro-3-smooth-yet-promising/27870>

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

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


Ubuntu 14.04下升级GNOME至3.12

Summary: 如果您的系统最近已升级至Ubuntu GNOME 14.04 LTS版本，那么拥有稳定独立的GNOME Shell无疑是您最佳的选择 但我认为比较保守的用户会倾向于选择默认向新手提供的稳定版本。你真想要了解如何在Ubuntu14.04升级GNOME至3.12吗？ 好的，接下来我将向你介绍如何完成。首先，我们需要先了解下来龙去脉。 默认采用GNOME 3.10的原因 GNOME 3.12在3月底发布后引发了一阵轰动而天马行空的评论。尽管其上个月发布的版本在Ubuntu 14.04 LTS版本之前已经逐步趋于稳定，却仍不能从14.04包中直接安装，这是为什么呢? 简单来说在开发周期中它出现太晚以至

# Ubuntu 14.04下升级GNOME至3.12

**如果您的系统最近已升级至Ubuntu GNOME 14.04 LTS版本，那么拥有稳定独立的GNOME Shell无疑是您最佳的选择**

但我认为比较保守的用户会倾向于选择默认向新手提供的稳定版本。你真想要了解如何在Ubuntu14.04升级GNOME至3.12吗？

好的，接下来我将向你介绍如何完成。首先，我们需要先了解下来龙去脉。

#### 默认采用GNOME 3.10的原因

GNOME 3.12在3月底发布后引发了一阵轰动而天马行空的评论。尽管其上个月发布的版本在Ubuntu 14.04 LTS版本之前已经逐步趋于稳定，却仍不能从14.04包中直接安装，这是为什么呢?

简单来说在开发周期中它出现太晚以至于没有充足的时间来对它进行审查、测试并确保它已经更新至LTS命令发布支持的标准及用户期望。默认至旧版发布的3.10是有意义的，因为有专门的计划来确保测试完整。

所以，正因为这样**不建议升级GNOME至3.12**。

这样清楚了吗？接下来，让我们进入下一个阶段。

### 如何在Ubuntu 14.04升级GNOME至3.12

#### 确保你正在运行的GNOME版本是3.10

为确保正确遵循本向导，需要在最新版本的Ubuntu(14.04 LTS)或Ubuntu GNOME下继续操作。如果不是最新版本的话，请停止操作；你需要升级后再继续。如果不这样做，接下来将会有一系列复杂又麻烦的事情需要解决。

若你运行的是Ubuntu常规版本（例如带有Unity），那么需要在开始以下步骤前从Ubuntu软件中心安装GNOME 3.10。

按以下给出的链接选项准备好安装程序。

* [Ubuntu14.04LTS版本下安装GNOME3.10]

#### 增加GNOME 3.12 PPA

起初人们预想的是GNOME 3.12将会由标准GNOME Team PPA随着 14.04 LTS 发布。但3个星期过去了，却什么都没有。这是因为一些小的3.10软件包仍然没有跟着发布最新的3.12的包。

然而，[GNOME Team Staging PPA](https://launchpad.net/%7Egnome3-team/+archive/gnome3-staging?field.series_filter=trusty)确实涵盖了升级用到的各种3.12版本包。开发者强调说，增加这个存档会让桌面系统‘运行流畅’，但现在包含的包并未‘准备好为大众所使用’。

这儿假设您是一个PPA清理工具的行家，以上的一切都已明了，请继续向下。首先，让我们核对并安装已发布的更新：

```
sudo apt-get update && sudo apt-get dist-upgrade

```

按下回车键后等待安装包程序。

一旦完成此过程或再没有任何挂起的更新，就可以增加 GNOME Team Staging PPA了。为实现这项操作，打开新的命令行窗口输入以下命令：

```
sudo add-apt-repository ppa:gnome3-team/gnome3-staging
sudo apt-get update && sudo apt-get dist-upgrade

```

升级过程开始前需要输入密码，同时需要注意此过程中命令行提示的信息。如果一切顺利点击‘y’键确认安装。

#### 附加内容

为体验真实的GNOME环境也许你想获取一些新的GNOME应用，例如[Polari IRC客户端、GNOME地图和GNOME网页浏览器](http://www.omgubuntu.co.uk/2014/03/top-12-features-gnome-3-12)。安装这三个应用需要运行如下的命令：

```
sudo apt-get install epiphany-browser gnome-maps polari -y

```

在这些都安装完成之后，你就可以安全的重启了！

### 善后服务

#### 登录

如果你之前使用Unity,Xfce或别的桌面环境，不要忘记登录前从登录界面选择GNOME会话。

#### 回顾

对我自己来说，Ubuntu 14.04下运行GNOME 3.12很流畅。升级后没有出现任何诸如性能下降的问题，尽管我确实见到过在打开活动窗口时的奇怪罕见的显示故障，并且在一个应用下发生的间歇性阴影消失现象。但随着错误不断消除这些都不是大问题。

3.12版本的性能等同于GNOME3.10；应用的打开方式交互性强且体验并没有明显下降。

所有新的GNOME影音应用在PPA上并没有现成的包，这让人有点失望。当然有理由解释这点(很可能需要新版本的视频解码器)。此外仍要注意的是一些GNOME扩展包在升级后不能继续工作。

当然3.12因为测试不足，其中存在错误不可避免。若用户要求稳定性（或者希望保持系统工作时的高度统一和完整），可以继续支持已通过测试的GNOME 3.10版本。

### 从GNOME 3.12 降至3.10版本

但是如果想要体验闪闪亮的新功能及最新发布的GNOME应用，那就试一试PPA平台吧。如果遇到了错误可以随时使用PPA清理工具来降级至稳定版本。

```
sudo apt-get install ppa-purge

sudo ppa-purge ppa:gnome3-team/gnome3-staging

```

---

via: <http://www.omgubuntu.co.uk/2014/05/upgrade-gnome-3-12-ubuntu-14-04>

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

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


Steam Machines 今年没戏了

@Keery_Nie_WindMGC [泪][泪][泪]泰拉

大赞

万年beta

不错

# Steam Machines 今年没戏了

<img src="content_image/album_201405_31_144151b055lp6fwfephw3p.jpg" alt="2014年 Steam Machines 将不会发布" title="2014年 Steam Machines 将不会发布">

游戏社区急于期盼 Valve 发布的基于 Linux 的 Steam Machines(译注：一个基于Linux的游戏机)，但是看起来这个混合游戏机会推迟到明年发布了。

Valve 并不是一个守时的公司，看起来即将到来的 Steam Machines （延迟）发布正好符合公司的风格。但是大家都在讨论的 Steam Machines 到底是个什么东西？

一年半前该公司宣布推出 Steam Linux的客户端；数月前 Valve 发布了SteamOS，它是基于 Debian 的一个游戏机和PC混合的 Linux 发行版。该产品将和 PlayStation 4 和 Xbox 共同争夺家庭市场。

唯一的不同是 Valve 对这个游戏机架构有些不同的想法。他们想使得游戏机可以使用大量第三方公司开发的组件升级，而这些组件符合统一的标准。

为了使得游戏体验更好，Valve 正致力于开发新一代的游戏机，将刷新用户在游戏机上玩游戏的体验，尤其是第一人称射击和策略游戏。不幸的是，如你所见，这是个艰巨的任务，2014年发布的目标已经无法达成了。

“我们正在使用一个无线原型控制器进行现场测试，测试用户包含铁杆玩家、业内人士和休闲玩家。我们收到了海量的反馈，这意味着我们的控制器会开发的更好。当然也搞的我们忙于修改所有的改进。现在来看，我们正在计划2015年发布产品而不是2014年。”

“我们和大家一样非常期望 Steam Machines 能尽快拿到手。但是我们首要保证的是一旦你拿到手，你将得到前所未有的游戏体验。希望大家能和我们一起耐心等待。在那之前，我们将继续发布更新如果我们有更多信息的话，” Valve [发言人说](http://steamcommunity.com/groups/steamuniverse#announcements/detail/1820891223906967821)在 Steam Universe 社区里谈到。

这可能意味着需要解决掉一些问题，但是 Steam 控制器远没有完成。很可能他们的 SteamOS 操作系统并没有准备好应付这么艰巨的任务。驱动程序也有些问题需要较长的时间去修复。

AMD的支持太差了，Valve 确实是想使得 Steam Machines 项目成为一个有竞争力项目。最大的问题可能是价格，到时候会很高，将会比 PS4 和 Xbox 高多了。

Valve 和合作的厂商需要更多时间去降低成本，提高产品和软硬件的质量。他们也需要更多的游戏进驻，所以将 Linux domination of the world 推迟了六个月，推迟到2015年，这也许不是件坏事。

---

via: <http://news.softpedia.com/news/Linux-World-Domination-and-Steam-Machines-Delayed-Until-2015-444271.shtml>

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

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


GNOME在线账户应用3.13.2中添加了对照片和地图的支持

Summary: GNOME开发者宣布最新版的GNOME在线账户（3.13.2）现已发布，并带来数个新特性。 GNOME的3.13.x分支的仅限用于开发，它最终会发展成为稳定的3.14版本，但那还有很长的路要走。在此之前，开发者们可以自由地改动和添加新特性。 这个分支之前的数个版本带来了一些十分有趣的改动。其它的一些改变包括，开发者们从软件中移除了对Windows和Twitter账户的支持。 通过更新日志得知，对照片应用的支持已经添加，一个对过时的GNOMECOMMONINIT的调用已经被移除，UI进行了调整使得在线账户能够在对话框中使用标题栏，为了防止timerfd（译注：timerfd

gnome  gnome，哎，挺喜欢的，就是越来越偏向于平板触屏了，鼠标甩来甩去的，哎！

@有道云笔记收藏

# GNOME在线账户应用3.13.2中添加了对照片和地图的支持

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

**GNOME开发者宣布最新版的GNOME在线账户（3.13.2）现已发布，并带来数个新特性。**

GNOME的3.13.x分支的仅限用于开发，它最终会发展成为稳定的3.14版本，但那还有很长的路要走。在此之前，开发者们可以自由地改动和添加新特性。

这个分支之前的数个版本带来了一些十分有趣的改动。其它的一些改变包括，开发者们从软件中移除了对Windows和Twitter账户的支持。

通过[更新日志](http://ftp.acc.umu.se/pub/GNOME/sources/gnome-online-accounts/3.13/gnome-online-accounts-3.13.2.news)得知，对照片应用的支持已经添加，一个对过时的GNOME*COMMON*INIT的调用已经被移除，UI进行了调整使得在线账户能够在对话框中使用标题栏，为了防止timerfd（译注：timerfd是Linux为用户程序提供的一个定时器接口）的泄漏，报警逻辑已被简化，以及添加了对Facebook地图应用的支持。

另外，对一个微小的内存泄漏问题进行了修复，默认的凭据缓存将不再泄漏，Flickr账户连接现使用SSL加密使其更加安全。

**下载 GNOME在线账户 3.13.2 源代码包：**

* [tar.xz (3.12.2 Stable)](http://ftp.acc.umu.se/pub/GNOME/sources/gnome-online-accounts/3.12/gnome-online-accounts-3.12.2.tar.xz)[sources] [1.20 MB]
* [tar.xz (3.13.2 Development)](http://ftp.acc.umu.se/pub/GNOME/sources/gnome-online-accounts/3.13/gnome-online-accounts-3.13.2.tar.xz)[sources] [1.30 MB]

请记住这是一个开发版本，不应将其安装在生产环境的机器上。该下载请仅作为测试目的安装。

---

via: <http://news.softpedia.com/news/GNOME-Online-Accounts-3-13-2-Adds-Support-or-Photos-and-Maps-444249.shtml>

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

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


六步优化你的 Ubuntu 14.04

Summary: Ubuntu 14.04 LTS (Trusty Tahr) 是一个非常优秀的操作系统，但是与其他发行版一样，它的初始化配置对用户来说并不是最优的配置。虽然这样有许多原因，但我们可以自己做一些配置来极大地提升你的Ubuntu操作体验。 Ubuntu 是一款非常优秀的操作系统，而且其14.04的最新版本也是Canonical迄今为止制作的最精心版本，但是对于许多用户来说，这一系统中仍存在许多需要改善的方面。确实，如果你希望获得完整的操作体验，你需要进行一些设置修改。 比如，当你第一次启动这一系统时，你需要打开软件与更新(Software  Updates)，确认在第一个选项U

#全民使用ubuntu系统#

我会说

我看不懂界面吗

英文界面和终端对我来说都是一个样的

马克

要是AMD和英伟达的驱动能像Intel一样就好了~

Gnome Shell万岁！

本来就很简单的事情 让你们这些所谓的LINUX 传道士 说成了高科技 真无耻之极

操作系统原来就是给人用的  不是你们这些人来显摆所谓的那些三脚猫的功夫的

来自山东烟台的 Internet Explorer 8.0|Windows XP 用户

# 六步优化你的 Ubuntu 14.04

**Ubuntu 14.04 LTS (Trusty Tahr) 是一个非常优秀的操作系统，但是与其他发行版一样，它的初始化配置对用户来说并不是最优的配置。虽然这样有许多原因，但我们可以自己做一些配置来极大地提升你的Ubuntu操作体验。**

Ubuntu 是一款非常优秀的操作系统，而且其14.04的最新版本也是Canonical迄今为止制作的最精心版本，但是对于许多用户来说，这一系统中仍存在许多需要改善的方面。确实，如果你希望获得完整的操作体验，你需要进行一些设置修改。

比如，当你第一次启动这一系统时，你需要打开“软件与更新”(Software & Updates)，确认在第一个选项“Ubuntu Software”中所有的子选项都被选中。因为如果你想获得所有重要的包，你需要这些软件库被激活。

 “软件与更新”(Software & Updates)软件库

第二个修改是安装Ubuntu Restricted Extras. 这样可以安装许多由于法律原因而无法与操作系统绑定的重要软件包，如Adobe公司的Flash与Microsoft的字体。自己安装这些软件是没有任何问题的，但开发者不能默认地包含这些软件。打开一个终端，输入如下命令：

```
sudo apt-get update
sudo apt-get install ubuntu-restricted-extras

```

安装完成后，你需要删掉系统默认的即时消息软件：Empathy. 它是GNOME的一部分，而且是一个非常有限的并有bugs的解决方案。你需要安装Pidgin来替换。根据如下命令进行安装：

```
sudo apt-get remove empathy
sudo apt-get install pidgin
sudo apt-get install pidgin-plugin-pack

```

现在，如果你已经完成了对即时消息软件的处理，你需要安装视频卡(video card)的驱动。如果你有Intel的GPU，你不需要做任何事情，但是如果你的GPU是NVIDIA或者AMD的，你可能需要相应公司的驱动，这样可以在游戏中为你提供更好的性能。再次打开“软件与更新”(Software & Updates)，点击最后一个选项：额外驱动(Additional Drivers)，选择你需要的驱动。这需要一定时间，请耐心等待。然后重启。

 “软件与更新”(Software & Updates)驱动

然后，你可能也想终止通过Unity's Dash的在线搜索。打开“系统设置”，选择“安全与隐私”(Security and Privacy). 在第三个选项“搜索”中，你可以发现一个按钮可以关闭在线搜索。

 在Ubuntu 14.04 LTS中关闭在线搜索

最后，你可能也想稍微定制一下桌面。在桌面点击鼠标右键，选择改变桌面背景。你会发现一个名为“启动器图标大小”的滚动条。你可以激活这个滚动条，修改结果也可以实时看到。在“行为”选项中，你也可以发现一个选项来选择在应用窗口中显示菜单，而不是在Unity的顶部条那显示。

 改变菜单的显示方式

以上就是所有的内容。你依据这些做的任何改变都可以将你的Ubuntu 14.04 LTS定制成你自己的版本，而且这些只是针对操作系统外貌的改变，极少针对特性与性能。

希望你喜欢！

---

via: <http://news.softpedia.com/news/Six-Step-You-Need-to-Take-to-Make-Ubuntu-14-04-LTS-Better-439341.shtml>

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

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


findmnt-寻找挂载的文件系统

Summary: 命令findmnt用来查找在Linux下已经被挂载的文件系统。该命令会从/etc/fstab、/etc/mtab或者/proc/self/mountinfo中寻找指定的文件系统。  如何安装findmnt findmnt命令来自于util-linux-ng软件包，这个包现在改名为util-linux。该软件包中还包括其他一些工具，比如hwclock等。从kernel.org ftp页面下载util-linux以安装findmnt。 如何在Fedora下安装findmnt Fedora用户可以通过下面的命令安装该软件包： $ sudo yum install util-linux-ng  Findmnt默认选项 如果没有提供特定的挂载点或者设备，该命令默认会以优美的树形结构列出所有已经

没机会用[爱你]

nice

好东西

# findmnt-寻找挂载的文件系统

命令findmnt用来查找在Linux下已经被挂载的文件系统。该命令会从/etc/fstab、/etc/mtab或者/proc/self/mountinfo中寻找指定的文件系统。

### 如何安装findmnt

findmnt命令来自于util-linux-ng软件包，这个包现在改名为util-linux。该软件包中还包括其他一些工具，比如hwclock等。从kernel.org ftp页面[下载util-linux](ftp://ftp.kernel.org/pub/linux/utils/util-linux/)以安装findmnt。

### 如何在Fedora下安装findmnt

Fedora用户可以通过下面的命令安装该软件包：

```
$ sudo yum install util-linux-ng

```

### Findmnt默认选项

如果没有提供特定的挂载点或者设备，该命令默认会以优美的树形结构列出所有已经被挂载的文件系统。

```
$ findmnt

```

### Findmnt轮询模式

findmnt可以被用来监控/proc/self/mountinfo文件的变化。轮询模式可以通过下面的命令进行调用：

```
$ findmnt -p

```

或者

```
$ findmnt --poll

```

/proc/self/mountinfo文件的任何变化会自动的在终端中进行更新。一开始你不会发现终端中的输出有任何变化，如果此时你拔掉U盘再插入，变化就会出现在终端中。

轮询停止的时间可以通过**--timeout**或者**--first-only**选项进行限制。

### 超时选项

该选项可以与--pool一起使用来限制轮询模式的时间。**超时单位是毫秒**。超过此时间后，findmnt不会再监控/proc/self/mountinfo文件的变化。

```
$ findmnt --poll --timeout 6000

```

### First-only选项

first-only选项只会监控/proc/self/mountinfo文件的第一次变化，之后该命令退出轮询模式。第一次变化会出现在终端中，并且返回到提示符。使用此选项在终端中输入：

```
$ findmnt --poll --first-only

```

### 模仿df输出的选项

findmnt命令也可以用来模仿df命令的输出。你可以参考如下的命令使用findmnt和选项**--df**。

```
$ findmnt --df

```

或者

```
$ findmnt -D

```

它会返回和**df -h**命令几乎相同的输出。

```
$ df -h

```

### Findmnt list选项

如果你不喜欢默认的树形输出，你可以使用**--list**或者**-l**选项。它会以列的形式进行输出。

```
$ findmnt --list

```

执行此命令的输出如下：

### Findmnt Evaluate 选项

求值选项会转换所有的标签(比如LABEL，UUID，PARTUUID或者PARTLABEL)成真实的设备名称。该选项可以结合**--fstab**选项来打印所有在/etc/fstab中包含的文件系统。**--fstab**选项的输出是列的形式，因此当使用**--fstab**的时候无需使用**--list**选项。

```
$ findmnt --fstab --evaluate

```

当这两个选项像如下一样结合使用的时候，输出如下：

### Findmnt type 选项

该选项允许你限制打印出的文件系统。多个文件系统可以使用逗号分割进行指定。在这个实例中，该命令会搜索ext4,ext3和vfat文件系统。

```
$ findmnt -t ext4,ext3,vfat

```

### 结语

你可以按照你的需要尝试不同的findmnt选项。

---

via: <http://linoxide.com/linux-command/powerful-findmnt-command/>

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

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


在Ubuntu/Mint中安装 Spotify

Summary: Spotify 是一个现今非常流行的流媒体音乐服务。不仅可以在网页上访问其服务，而且可以在 linux 中安装其桌面客户端。这个客户端增加了额外的功能，比如听播放本地音乐和同步本地音乐到Spotify 服务器、或同步本地音乐到iPhone 、iPod等其它移动设备。 在本文将讨论如何快速 *在 Ubuntu 14.04 安装 Spotify * 以及其它基于 Debian 的发行版，如 Linux Mint, Elementary OS, Bodhi 等等。 在Ubuntu 14.04 和 Linux Mint 17 中安装 Spotify 现在开始安装 Spotify 桌面客户端，打开一个终端(Ctrl+Alt+T) 使用如下命令： sudo sh -c 'echo "deb

這幾天看到好幾個基佬宣傳這個

Repost

天朝不能用，而且广告太多...

天朝IP卑鄙

# 在Ubuntu/Mint中安装 Spotify

Spotify 是一个现今非常流行的流媒体音乐服务。不仅可以在网页上访问其服务，而且可以在 linux 中安装其桌面客户端。这个客户端增加了额外的功能，比如听播放本地音乐和同步本地音乐到Spotify 服务器、或同步本地音乐到iPhone 、iPod等其它移动设备。

在本文将讨论如何快速**在 Ubuntu 14.04 安装 Spotify** 以及其它基于 Debian 的发行版，如 Linux Mint, Elementary OS, Bodhi 等等。

### 在Ubuntu 14.04 和 Linux Mint 17 中安装 Spotify

现在开始安装 Spotify 桌面客户端，打开一个终端(Ctrl+Alt+T) 使用如下命令：

```
sudo sh -c 'echo "deb http://repository.spotify.com stable non-free" >> /etc/apt/sources.list.d/spotify.list'

```

这行命令将增加上述仓库到软件的源列表，然后增加 GPG Key:

```
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 94558F59

```

下一步比较简单。更新和安装 Spotify 客户端：

```
sudo apt-get update
sudo apt-get install spotify-client

```

这样就安装完成了。现在可以在Unity Dash (ubuntu 中) 上通过搜索Spotify 来启动它。在 Ubuntu 环境下，Spotify 客户端整合的非常好。这是 Spotify 在 Ubuntu 14.04 下的界面：

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

我希望本文能帮助你在 Ubuntu 和其它 Linux OS 下安装 Spotify 客户端。 我想这可以算作在 [安装 Ubuntu 14.04 之后需要做的事情](http://itsfoss.com/things-to-do-after-installing-ubuntu-14-04/)。 中的第一件。如何发现它呢? 使用过其它类似 Spotify 的服务吗? 一起来分享你的观点吧。

---

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

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

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


Ubuntu 14.04 LTS中的主要程序变化的总结

Summary: 过去几周我们已经讨论过 Ubuntu 的第一个LTS新版本在过去两年内在操作系统方面的主要更新。今天我们将要列出 Ubuntu 应用程序商店中自从上一个 LTS 版本以来主要的应用程序更新。 主要的程序和工具更新 除了大量桌面应用程序更新(下一节讨论)外，两年以来大量的其他程序和工具都有了非常不错的更新。以下讨论其中的一部分：   Xen 4.4 对于 Ubuntu 内置的 Xen 这是一个重大更新。最显著的变化就是它不再支持纯32位的 CPU 了（虽然还继续支持32位操作系统）。这不应该是一个大问题，因为过去六年以来大多数CPU都是64位的。但是这意味着那些

mark

还是喜欢Ubuntu！

#全民使用ubuntu系统#

# Ubuntu 14.04 LTS中的主要程序变化的总结

过去几周我们已经讨论过 Ubuntu 的第一个LTS新版本在过去两年内在操作系统方面的主要更新。今天我们将要列出 Ubuntu 应用程序商店中自从上一个 LTS 版本以来主要的应用程序更新。

### 主要的程序和工具更新

除了大量桌面应用程序更新(下一节讨论)外，两年以来大量的其他程序和工具都有了非常不错的更新。以下讨论其中的一部分：

* **Xen 4.4** 对于 Ubuntu 内置的 Xen 这是一个重大更新。最显著的变化就是它不再支持纯32位的 CPU 了（虽然还继续支持32位操作系统）。这不应该是一个大问题，因为过去六年以来大多数CPU都是64位的。但是这意味着那些还在老服务器或笔记本上使用 Ubuntu 的人需要知道 Xen 将不再支持他们的CPU了。
* **QEMU 2.0** 紧接着 Xen 后面介绍 QEMU ，因为为了适应 Xen，QEMU做了些调整。最主要的影响是在 KVM 中创建的虚拟机无法从以前的 Ubuntu 12.04 迁移到这个版本，并且快照也无法恢复。另外，加入了对 arm64 的二进制虚拟。
* **MySQL** 尽管默认安装的是 MySQL 5.5，但是也可以从标准库中安装 Percona, MariaDB 或者 MySQL 5.6。令人意外的是，不像其他的主流发行版，Ubuntu 并没有将数据库换成MariaDB ，继续默认安装 MySQL。我猜测估计是和甲骨文维持了比较好的关系。
* **Apache 2.4 和 PHP 5.5** 有点意外的是 Apache 升级到了2.4版本，毕竟2.2版本已经稳定使用了太久了。但我还是很高兴地看到主流发行版能够跟上新的版本。PHP 早在 12.04 LTS 就可以升级到 PHP 5.5 了，不过新版系统则已经默认安装 PHP 5.5 了。注意：如果你使用的是一些老板 CMS 平台 (嗯嗯，比如DRUPAL), 在升级过程中可能得做一些调整，具体请参考文档。

### 软件中心：桌面应用程序升级

简单来说，软件中心的主要几个软件都有许多重大更新(毕竟距离上个版本已经有两年的时间了)。最明显的软件更新如下：

* Google Chrome 33
* Firefox 28
* Nautilus 3.10
* The Gimp – 2.8
* KDE 4.13 (我觉得是最好的桌面环境)

上面虽然没提，办公套件已经预装了 LibreOffice 4.2.3.3 ，看起来棒极了，不信自己看：

<img src="content_image/album_201405_31_220224p2lieij2mbe8nel8.png" alt="Ubuntu 14.04 LTS Libre Office Upgrade" title="Ubuntu 14.04 LTS Libre Office Upgrade">

### 总结

总之，Ubuntu 14.04 LTS 成功的从 12.04 平滑过渡过来了。除非你运气太差，使用了最新版本的 NVidia 显卡(使用 780GTX 或 Titan芯片的 Linux 专用驱动并没有集成到系统中)。

以下的几篇文章中，我将深入了解有关显示器和显卡的更多的技术细节(高分辨率显示器更好)，同时对 Mir(Xwindows 桌面替换软件) 做一个早期预览测试(当然是在虚拟机环境中)。如果你还有其他想知道的，在评论栏里留言，我们下周见！

---

via:<https://linuxacademy.com/blog/linux/ubuntu-14-04-lts-major-application-updates/>

译者：[shipsw](https://github.com/shipsw) 校对：[校对者ID](https://github.com/%E6%A0%A1%E5%AF%B9%E8%80%85ID)

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


麻雀虽小五脏俱全，4MLinux现在才仅55MB

Summary: 4MLinux是一个已经发展到版本9.0 Beta版的小型Linux发行版，专注于计算机的4MS，即维护（用于系统救援的Live CD）、多媒体（像是播放DVD）、迷你服务器（使用inetd守护进程）和Mystery (Linux小游戏)。 4MLinux是世界上最小的，能够为用户提供一个桌面环境和一些应用，可以日常应用的发行版。 大多数mini版本的Linux发行版通常从一开始就不提供这样的大量的应用程序，特别是在只有55MB大小的情况下。 这个版本的亮点是维护（MBR和GPT分区软件，4MLinux备份脚本9.0，ClamAV0.98.3）、多媒体（MPlayer SVN-r37146，FFmpeg Git-2014-04-10）

@forestgump

这么好的东西！

目前4MLinux 9.0还是一个开发版，Linux新手慎用之！

还有这么diao的OS

致敬,55M能那么炫的桌面.<br />
我就发现我自己的桌面系统,4G内存快给我吃完了.

小是因为高压，占用内存什么的还是一样的，这样报道容易造成不必要的误解，请斟酌～

linux的内存占用高是它的优点行不，这样就会提高速度，不需要动不动就放到硬盘缓存中而影响速度，也不了解

不懂乱说一气，影响别人的积极性

“小”是说的整个发行版的大小啊。而占用内存，和本文有关系么？再说，内存占用这个，Linux内存相对占用不高，那些缓存和缓冲并不能视作内存占用吧。

Linux的内存占用，那些buffer和cache并不能视作内存占用。那些如果有新的进程申请，是马上可用的。

如今的4MLinux版本号是36，大小为909M。这篇文章是我当年第一次知道4Mlinux。

来自117.136.79.146的 Opera Mobile 61.2|Android 10 用户

# 麻雀虽小五脏俱全，4MLinux现在才仅55MB

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

**4MLinux是一个已经发展到版本9.0 Beta版的小型Linux发行版，专注于计算机的4MS，即维护（用于系统救援的Live CD）、多媒体（像是播放DVD）、迷你服务器（使用inetd守护进程）和Mystery (Linux小游戏)。**

4MLinux是世界上最小的，能够为用户提供一个桌面环境和一些应用，可以日常应用的发行版。

大多数mini版本的Linux发行版通常从一开始就不提供这样的大量的应用程序，特别是在只有55MB大小的情况下。

“这个版本的亮点是维护（MBR和GPT分区软件，4MLinux备份脚本9.0，ClamAV0.98.3）、多媒体（MPlayer SVN-r37146，FFmpeg Git-2014-04-10），迷你服务器（FTP，HTTP，SSH，SFTP）和Mystery（一组小游戏）。“

开发者在博客里说:“4MLinux的X Window基于X.Org Server 1.15.1、Mesa 10.1.3,、JWM 2.2.2 和 FOX toolkit 1.6.49。4MLinux还支持全自动安装的'vanilla'版本的LibreOffice4.2.4、Java RE 7u55和VirtualBox 4.3.12。ISO映像的大小约为55 MB”

正如你所看到的，大部分提供的包都是很新的，如VirtualBox、LibreOffice、Mesa、ffmpeg、ClamAV等等。如果你有关于这个版本不太有信心，可以随时用虚拟机尝试它。

有趣的是用户可以在X Server 启动前切入启动进程并使用命令行，这是一个不错的做法。

开发者在完成了主要的更新后将开始发布所有的其它分支版本，比如完整版、游戏版、服务器版、媒体版、救援版等等。请记住，你可以从一个非常简单的软件的帮助下，从主面板选择并安装这些Linux分支版。

用户还会发现，大部分你所需要的应用程序都可以在仓库找到，而4MLinux发行版可以通过下载相应的软件包来执行上面的任务。

完整的更新说明可在官方找到 [说明](http://4mlinux-releases.blogspot.ro/2014/05/4mlinux-90-beta-released.html).

### 下载4MLinux 9.0 Beta:

* [4MLinux 8.2 (ISO)](http://sourceforge.net/projects/linux4m/files/8.0/updates/8.2/livecd/4MLinux-8.2.iso/download)[iso] [53.90 MB]
* [4MLinux 9.0 Beta (ISO)](http://sourceforge.net/projects/linux4m/files/9.0/livecd/4MLinux-9.0.iso/download)[iso] [53 MB]

请记住，目前9.0还是一个开发版，它不应该在生产机器上安装。它的目的仅用于测试目的。

---

via: <http://news.softpedia.com/news/4MLinux-9-0-Beta-Is-a-55-MB-Operating-System-that-Has-It-All-443946.shtml>

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

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


findmnt 命令的八个应用实例

Summary: 已挂载的文件系统和设备 linux 中常用的检查已挂载的文件系统的是 mount 命令，不仅用于列出已挂载的设备，而且可以在需要的时候挂载和卸载。另外还有一个叫做 findmnt 的超赞命令，它可以用于快速查看挂载位置和选项。  安装findmnt findmnt 命令来自 util-linux 软件包，默认安装在大多数发行版中，如 Ubuntu，Fedora，Debian $ aptitude search util-linux i util-linux - Miscellaneous system utilities $ yum info util-linux  使用findmnt 1. 列出文件系统 无任何选项运行 findmnt，只会以树形结构图的方式列出所有已挂载的文件系

Cool!

#findmnt 命令的八个应用实例#

赞，学习了@我的印象笔记

@红帽Linux技术 @红帽中国 @快递宝科技

findmnt

转发微博。

# findmnt 命令的八个应用实例

### 已挂载的文件系统和设备

linux 中常用的检查已挂载的文件系统的是 mount 命令，不仅用于列出已挂载的设备，而且可以在需要的时候挂载和卸载。另外还有一个叫做 findmnt 的超赞命令，它可以用于快速查看挂载位置和选项。

### 安装findmnt

findmnt 命令来自 util-linux 软件包，默认安装在大多数发行版中，如 Ubuntu，Fedora，Debian

```
$ aptitude search util-linux
i   util-linux                     - Miscellaneous system utilities

$ yum info util-linux

```

### 使用findmnt

#### 1. 列出文件系统

无任何选项运行 findmnt，只会以树形结构图的方式列出所有已挂载的文件系统。

```
$ findmnt

```

#### 2. 以列表形式输出

输出可以格式化为一个简单的列表，而不是默认的树形结构，使用l（键盘u和o中间那个，不是数字1）选项使它方便阅读。

```
$ findmnt -l
TARGET                   SOURCE                              FSTYPE  OPTIONS
/sys                     sysfs                               sysfs   rw,nosu
/proc                    proc                                proc    rw,nosu
/dev                     udev                                devtmpf rw,rela
/dev/pts                 devpts                              devpts  rw,nosu
/run                     tmpfs                               tmpfs   rw,nosu
/                        /dev/disk/by-uuid/6fa5a72a-ba26-4588-a103-74bb6b33a763
                                                             ext4    rw,rela
/sys/fs/cgroup                                               tmpfs   rw,rela
/sys/fs/fuse/connections                                     fusectl rw,rela
/sys/kernel/debug                                            debugfs rw,rela
/sys/kernel/security                                         securit rw,rela
/run/lock                                                    tmpfs   rw,nosu
/run/shm                                                     tmpfs   rw,nosu
/run/user                                                    tmpfs   rw,nosu
/sys/fs/pstore                                               pstore  rw,rela
/media/13f35f59-f023-4d98-b06f-9dfaebefd6c1
                         /dev/sda8                           ext4    rw,nosu
/media/4668484A68483B47  /dev/sda5                           fuseblk rw,nosu
/proc/sys/fs/binfmt_misc binfmt_misc                         binfmt_ rw,nosu
/sys/fs/cgroup/systemd   systemd                             cgroup  rw,nosu
/run/user/1000/gvfs      gvfsd-fuse                          fuse.gv rw,nosu

```

#### 3. df格式输出

Findmnt 可以用“-D”或“-df”选项创建一个 df 格式的输出报告空闲和已用磁盘空间。

```
$ findmnt -D
SOURCE                  FSTYPE       SIZE   USED   AVAIL USE% TARGET
devtmpfs                devtmpfs   994.2M      0  994.2M   0% /dev
selinuxfs               selinuxfs       0      0       0    - /sys/fs/selinux
tmpfs                   tmpfs     1001.5M    68K 1001.4M   0% /dev/shm
tmpfs                   tmpfs     1001.5M   724K 1000.8M   0% /run
tmpfs                   tmpfs     1001.5M      0 1001.5M   0% /sys/fs/cgroup
/dev/mapper/fedora-root ext4         6.5G   5.3G  811.6M  82% /
tmpfs                   tmpfs     1001.5M    60K 1001.5M   0% /tmp
/dev/sda1               ext4       476.2M 107.7M  339.6M  23% /boot

```

需要注意的是，以上选项 util-linux2.20 之前的版本都不可用，它正好是 Ubuntu13.10 上的最新版本

#### 4. 从fstab读取文件系统

使用“-s”或“-fstab”选项，findmnt 将只从/etc/fstab文件和/etc/fstab.d目录读取文件系统。

```
$ findmnt -s
TARGET SOURCE                                    FSTYPE OPTIONS
/      /dev/mapper/fedora-root                   ext4   defaults
/boot  UUID=18cde604-1c65-4ec8-8a8d-385df50ada3b ext4   defaults
swap   /dev/mapper/fedora-swap                   swap   defaults

```

#### 5. 通过类型过滤文件系统

Findmnt 可以打印出只基于类型的特定的文件系统，例如 ext4，多个系统类型可以指定一个逗号分隔。

```
$ findmnt -t ext4
TARGET  SOURCE                  FSTYPE OPTIONS
/       /dev/mapper/fedora-root ext4   rw,relatime,seclabel,data=ordered
└─/boot /dev/sda1               ext4   rw,relatime,seclabel,data=ordered

```

#### 6. 原始输出

如果你喜欢原始风格的输出，那么使用“-r”或“--raw”选项。

```
$ findmnt --raw
TARGET SOURCE FSTYPE OPTIONS
/sys sysfs sysfs rw,nosuid,nodev,noexec,relatime
/proc proc proc rw,nosuid,nodev,noexec,relatime
/dev udev devtmpfs rw,relatime,size=4069060k,nr_inodes=1017265,mode=755
/dev/pts devpts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000
/run tmpfs tmpfs rw,nosuid,noexec,relatime,size=816716k,mode=755
/ /dev/disk/by-uuid/6fa5a72a-ba26-4588-a103-74bb6b33a763 ext4 rw,relatime,errors=remount-ro,data=ordered
/sys/fs/cgroup  tmpfs rw,relatime,size=4k,mode=755
/sys/fs/fuse/connections  fusectl rw,relatime
/sys/kernel/debug  debugfs rw,relatime
/sys/kernel/security  securityfs rw,relatime
/run/lock  tmpfs rw,nosuid,nodev,noexec,relatime,size=5120k
/run/shm  tmpfs rw,nosuid,nodev,relatime
/run/user  tmpfs rw,nosuid,nodev,noexec,relatime,size=102400k,mode=755
/sys/fs/pstore  pstore rw,relatime
/media/13f35f59-f023-4d98-b06f-9dfaebefd6c1 /dev/sda8 ext4 rw,nosuid,nodev,relatime,errors=remount-ro,data=ordered
/media/4668484A68483B47 /dev/sda5 fuseblk rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other,blksize=4096
/proc/sys/fs/binfmt_misc binfmt_misc binfmt_misc rw,nosuid,nodev,noexec,relatime
/sys/fs/cgroup/systemd systemd cgroup rw,nosuid,nodev,noexec,relatime,name=systemd
/run/user/1000/gvfs gvfsd-fuse fuse.gvfsd-fuse rw,nosuid,nodev,relatime,user_id=1000,group_id=1000

```

看起来非常整洁（译注，亲爱的读者你也这样觉得么？）。

#### 7. 通过源设备查找

通过源设备查找文件系统，指定设备路径包括/不包括“-S”选项。

```
$ findmnt -S /dev/sda1
TARGET SOURCE    FSTYPE OPTIONS
/boot  /dev/sda1 ext4   rw,relatime,seclabel,data=ordered

```

#### 8. 通过挂载点查找

通过挂载目录查找文件系统，指定目录包括/不包括“-T /--target”选项。

```
$ findmnt -T /
TARGET SOURCE                  FSTYPE OPTIONS
/      /dev/mapper/fedora-root ext4   rw,relatime,seclabel,data=ordered

$ findmnt -T /media/4668484A68483B47
TARGET                  SOURCE    FSTYPE  OPTIONS
/media/4668484A68483B47 /dev/sda5 fuseblk rw,nosuid,nodev,relatime,user_id=0

```

### 总结

这是一个 findmnt 命令的简要介绍。关于 findmnt 的更多选项可以在 man 手册页中找到。

---

via: <http://www.binarytides.com/linux-findmnt-command/>

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

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


如何修复Ubuntu/Mint中无法添加PPA源的错误

Summary: 一名Its FOSS的普通读者Chetan Jain今天联系了我，并询问道：我要怎样修复Ubuntu 14.04中无法添加PPA源的错误。Chetan在尝试安装TLP (一个用于减少过热发生的电源管理工具)的时候遇到了这个错误： chetan@Inspiron-3521:~$ sudo add-apt-repository ppa:linrunner/tlp Cannot add PPA: ppa:linrunner/tlp. Please check that the PPA name or format is correct.  如果你在Ubuntu或Mint上添加PPA源时遇到了类似的情况，别担心。这是PPA源的一个常见情况（一般很少发生）之一，很容易就能够得到解决。 修复Ubuntu 14.04和Linux Mint中无法

备用

Repost

zhlxsh@zhlxsh-X550LA:~$ sudo add-apt-repository ppa:atareao/atareaosudo

Cannot add PPA: 'ppa:atareao/atareaosudo'.

Please check that the PPA name or format is correct.

没有用啊，还是这个提示

ppa:atareao/atareao，后面的 sudo 可能是下一条命令的开始：(

# 如何修复Ubuntu/Mint中无法添加PPA源的错误

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

一名It’s FOSS的普通读者Chetan Jain今天联系了我，并询问道：我要怎样修复Ubuntu 14.04中无法添加PPA源的错误。Chetan在尝试安装[TLP (一个用于减少过热发生的电源管理工具)](http://itsfoss.com/solve-overheating-issue-battery-life-ubuntu-1304/)的时候遇到了这个错误：

```
chetan@Inspiron-3521:~$ sudo add-apt-repository ppa:linrunner/tlp
Cannot add PPA: ‘ppa:linrunner/tlp’.
Please check that the PPA name or format is correct.

```

如果你在Ubuntu或Mint上添加PPA源时遇到了类似的情况，别担心。这是PPA源的一个常见情况（一般很少发生）之一，很容易就能够得到解决。

### 修复Ubuntu 14.04和Linux Mint中无法添加PPA源的错误

发生这种错误主要有两种原因。一种是您电脑中的CA证书已经损坏，或者是您的网络设置了一个代理。

首先让我们重新安装一下CA证书：

```
sudo apt-get install --reinstall ca-certificates

```

如果上面的命令不起作用，可能是网络使用了一个代理设置。要略过代理设置，使用sudo命令并加上参数E，就像下面这样：

```
 sudo -E add-apt-repository ppa:linrunner/tlp

```

这样PPA源应该就能正常工作了。Chetan的情况通过第二种方法解决了。我希望这个快速指南同样能够帮助您摆脱PPA源错误。欢迎您提出任何问题或是建议来帮助我们改进。

---

via: <http://itsfoss.com/fix-add-ppa-error-ubuntu-1404-linux-mint/>

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

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


如何在VirtualBox中的Linux客户机系统间共享磁盘

Summary: 在本教程中，让我来给你们展示一下如何在VirtualBox中的两个Linux客户机系统间共享一个磁盘。 本教程对于那些想配置一下并玩玩GFS或者集群的人来说还是很有帮助的。 下图是VirtualBox的标准界面：  第一个客户系统机CentOS1：  第二个客户机系统CentOS2：  给第一台机器添加额外的磁盘：  点击文件-虚拟介质管理器（Control+D）打开虚拟介质管理器界面：  设置磁盘为可共享（Shareable）：  在客户机CentOS 2上，你可以添加现有磁盘，该磁盘在CentOS1客户机系统之前已经创建好：  完成后，你可以重启第二个客户机系统，并检查驱动器是否已

[太阳]一直在烦

好好学学

@我的印象笔记

# 如何在VirtualBox中的Linux客户机系统间共享磁盘

在本教程中，让我来给你们展示一下如何在VirtualBox中的两个Linux客户机系统间共享一个磁盘。

本教程对于那些想配置一下并玩玩GFS或者集群的人来说还是很有帮助的。

下图是VirtualBox的标准界面：

第一个客户系统机CentOS1：

第二个客户机系统CentOS2：

给第一台机器添加额外的磁盘：

点击文件->虚拟介质管理器（Control+D）打开虚拟介质管理器界面：

设置磁盘为可共享（Shareable）：

在客户机CentOS 2上，你可以添加现有磁盘，该磁盘在CentOS1客户机系统之前已经创建好：

完成后，你可以重启第二个客户机系统，并检查驱动器是否已经添加：

大功告成。

---

via: <http://www.unixmen.com/share-disks-virtualbox-linux-guest-os/>

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

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


Summary: 安装Ubuntu 14.04之后，先要做的几件事情中其中一项是安装Adobe Flash Player。一般来说，如果安装了Ubuntu Restricted Extras，Flash Player应该可以工作而且你应该能够在网上观看在线视频，比如You Tube等网站上。 其实这不是因为Chromium是在Ubuntu 14.04上使用才出现的问题。当你用其他的网页浏览器比如火狐、Chrome时，你可以轻松地播放You Tube等网站视频，但在Chromium中你将会看到Adobe Flash player缺失插件的通知：  Adobe Flash Player is required to display some elements on this page. Install plug-in..   只有在Chromiu

每次装ubuntu都被flash player坑。

这么麻烦，只适合折腾

@Andy-风动

安装成功，重启chromium还是没用

非常感谢。成功了！！！

相必因为版权的原因用这个方法安装 Flash Player，其实是绕了一个大圈。因为那个源的包实质只是一个脚本。它的功能是在 Google 网站下载 Linux 版的 Chrome, 然后从里面提取出 Flash Player。

NICE,終於解決了我的問題，非常感謝！但總感覺在UBUNTU上看鬥魚之類的直播網站很卡！

zai yi xia

# 修复Ubuntu 14.04中Chromium的Adobe Flash Player的问题

[安装Ubuntu 14.04之后，先要做的几件事情](http://itsfoss.com/things-to-do-after-installing-ubuntu-14-04/)中其中一项是安装Adobe Flash Player。一般来说，如果安装了[Ubuntu Restricted Extras](https://help.ubuntu.com/community/RestrictedFormats)，Flash Player应该可以工作而且你应该能够在网上观看在线视频，比如You Tube等网站上。

其实这不是因为Chromium是在Ubuntu 14.04上使用才出现的问题。当你用其他的网页浏览器比如火狐、Chrome时，你可以轻松地播放You Tube等网站视频，但在Chromium中你将会看到Adobe Flash player缺失插件的通知：

>
> **Adobe Flash Player is required to display some elements on this page. Install plug-in..**
>
>
>

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

### 只有在Chromium中出现flash player问题的原因：

只有在Chromium中发生这个问题的原因是，之前Chromium使用Netscape Plugin API构架来支持Flash，从Ubuntu 14.04开始，[Chromium将会停止使用Netscape Plugin API](http://blog.chromium.org/2013/09/saying-goodbye-to-our-old-friend-npapi.html)。因此，我们才遇到Chromium的Adobe Flash Player的问题。

那么，为什么这个问题没有发生在其他浏览器上？答案是，因为它们使用 Flash Player 11.2。

### 修复Chromium上Adobe Flash Player的问题：

修复这个问题，我们应该使用Pepper Flash Player，一个来自Google更安全更稳定的版本的Flash Player。在Ubuntu 14.04的源里有[Adobe Flash Player Pepper 安装器](https://wiki.debian.org/PepperFlashPlayer)。这个安装器会下载Google Chrome，提取出Pepper Flash Player然后设置给Chromium使用。

要在Ubuntu 14.04安装Pepper Flash Player，打开一个终端，使用下面的命令：

```
sudo apt-get install pepperflashplugin-nonfree
sudo update-pepperflashplugin-nonfree --install

```

之后重启Chromium。不用重启系统。我希望这个帖子能够帮助你解决Chromium上Adobe Flash Player的问题。欢迎提出任何问题和建议。

---

via: <http://itsfoss.com/fix-flash-player-issue-chromium-in-ubuntu-14-04/>

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

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


Summary: 当前，完全硬件虚拟化技术（KVM、Xen、Hyper-V 等）能在一个物理主机上很好地运行多个互相独立的操作系统，但这也带来一些问题：性能不佳，资源浪费，系统反应迟缓等。有时候对用户来说，完全的硬件虚拟化并不是最好的选择。 一种替代方案是使用轻量级虚拟化技术  所谓的 LinuX Container 容器 (LXC)，它提供的是系统级虚拟化。与跑虚拟机相比，LXC 可以在一个轻量级沙箱容器里面跑多个 Linux 操作系统。当你需要设置一些易于克隆的开发环境、测试环境，或想在安全沙盒里安装应用时，LXC 就非常有用了。 Docker 是一个开源工具，可以让用

@我的印象笔记

#全民使用ubuntu系统#

马克，以前用libvirt

转发微博。

@我的印象笔记

[赞]

# 在 Ubuntu 中用 Docker 管理 Linux Container 容器

当前，完全硬件虚拟化技术（KVM、Xen、Hyper-V 等）能在一个物理主机上很好地运行多个互相独立的操作系统，但这也带来一些问题：性能不佳，资源浪费，系统反应迟缓等。有时候对用户来说，完全的硬件虚拟化并不是最好的选择。

一种替代方案是使用轻量级虚拟化技术 —— 所谓的 [LinuX Container 容器](https://linuxcontainers.org/) (LXC)，它提供的是系统级虚拟化。与跑虚拟机相比，LXC 可以在一个轻量级沙箱容器里面跑多个 Linux 操作系统。当你需要设置一些易于克隆的开发环境、测试环境，或想在安全沙盒里安装应用时，LXC 就非常有用了。

[Docker](https://www.docker.io/) 是一个开源工具，可以让用户方便地布署 Linux Container 容器。Docker 很快变成了 container 技术的非官方标准，从而被 [Ubuntu](http://blog.docker.io/2014/04/docker-in-ubuntu-ubuntu-in-docker/) 和 [Red Hat](http://www.redhat.com/about/news/press-archive/2014/4/red-hat-docker-expand-collaboration)等众多发行版吸收进去。

本教程中我会向你们演示如何在 Ubuntu 14.04 中使用 Docker 来管理 LXC。需要注意的是，本教程的一些内容可能会与其他 Ubuntu 版本下的操作会稍微有些出入。

当前Ubuntu 系统下的 Docker 的安装包只提供64位。如果你想运行32位的 Docker，你需要[使用源码编译32位 Docker 工具](http://mwhiteley.com/linux-containers/2013/08/31/docker-on-i386.html)。

### 安装 Docker

通过 apt-get 安装 Docker 简直是小菜一碟。

```
$ sudo apt-get install docker.io

```

如果你不是 root 组的用户，你可以把自己加入到 docker 用户组。下面的命令可以让没有 root 权限的用户使用 Docker：

```
$ sudo usermod -a -G docker $USER

```

重新登录，以便让你的用户组权限生效。

下一步是编辑 Docker 配置文件，确定 Docker 可执行文件的路径：

```
$ sudo vi /etc/default/docker.io

DOCKER="/usr/bin/docker.io"

```

重启 Docker 服务：

```
$ sudo service docker.io restart

```

### 管理 Docker Container 容器

如果你想在新的 Docker 容器下创建一个新的 Ubuntu 操作系统，你首先需要 pull 一个 [Ubuntu](http://xmodulo.com/go/ubuntubook) 的 Docker 镜像。下面的命令可以通过网络下载 Docker 镜像：

```
$ docker pull ubuntu

```

你可以使用下面的命令启动 Docker 里面的 Ubuntu 系统。最后的参数“/bin/bash”表示一旦容器启动，首先会执行简单的 bash。

```
$ docker run -i -t ubuntu /bin/bash

```

上面的命令会立即启动 Ubuntu container 容器（这是一个完美的容器！），然后它会提供一个 shell 提示符运行环境给你。现在开始你可以通过这个沙箱环境访问一个完整的 Ubuntu 系统了。

输入“exit”命令退出 Docker 容器。

你也可以用下面的命令进入不同的系统。比如 Fedora：

```
$ docker.io run -i -t fedora /bin/bash

```

如果系统中还不存在 Fedora Docker 镜像，这个命令会自动下载它，然后启动这个 Fedora 的 Docker 容器。

如果你想要开启指定版本的系统，比如 Ubuntu 13.04，你可以使用下面的命令：

```
$ docker.io run -i -t ubuntu:13.04 /bin/bash

```

### Container 容器网络设置

Docker 使用 Linux 桥接技术与其他容器通信，以及连通外网。安装完 Docker 后你应该可以看到 docker0 这个网桥，这是 Docker 默认创建的。你创建的每个容器都会通过这个网桥连接到网络。

#### 自定义 Linux 网桥

如果你想自定义网桥，你可以执行以下步骤。你可以在这个网桥后面分配一个子网，并为这个子网分配地址。下面的命令会为 Docker 子网分配 10.0.0.0/24 地址段：

```
$ sudo apt-get install bridge-utils
$ sudo brctl addbr br0
$ sudo ifconfig br0 10.0.0.1 netmask 255.255.255.0

```

然后在 /etc/default/docker.io 文件的 DOCKER\_OPTS 变量里添加“-b=br0”选项，并重启 Docker 服务：

```
$ sudo service docker.io restart

```

到目前为止，任何创建的容器都会连上 br0 网桥，它们的 IP 地址会从 10.0.0.0/24 中自动分配（译注：在10.0.0.2到10.0.0.254之间随机分配）。

#### 其他自定义设置

你可以通过 /etc/default/docker.io 文件的 DOCKER\_OPTS 变量设置其他一些属性：

* "-dns 8.8.8.8 -dns 8.8.4.4": 为容器指定 DNS 服务器。
* "-icc=false": 将容器与其他容器隔离出来

### 疑难解答

1、当你运行 docker.io 命令时，你可能会遇到以下问题：

>
> dial unix /var/run/docker.sock: no such file or directory
>
>
>

这个错误可能是由于 Docker 后台进程没有启动。检查下 Docker 后台进程的状态，确认它已经处于启动状态：

```
$ sudo service docker.io status
$ sudo service docker.io start

```

---

via: <http://xmodulo.com/2014/05/manage-linux-containers-docker-ubuntu.html>

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

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


如何在终端下截取一个完整长度的网页截图

Summary: 与其记笔记或是把看到的内容发送给其他人，我们更经常通过截屏来帮助我们记忆。 但是通常情况下，如果一个网页超出了屏幕高度，我们就得用多张截图去截取其全部内容。 对于 Linux，你将会有一个更好的解决方案：使用一个 GNOME 的应用来截取某个链接的整个页面。 这个应用叫做 gnome-web-photo，这篇文章将介绍如何安装和使用它。 在 Ubuntu 和 Debian 的分支下： $ sudo apt-get install gnome-web-photo  在 Fedora 下： $ sudo yum install gnome-web-photo  但是对于 CentOS 和其他 RedHat 分支的用户，请注意 gnome-web-photo 依赖 G

赞！

学习了。不过chrome粉的来说，截取网页的话，插件就搞定了

firefox底层也支持保存成图片的？selenium测试工具的插件好像也可以

傻逼！浏览器直接抓屏！

#全民使用ubuntu系统#

这个，必须得收藏一下。高级技能呀！人无我有，人不会，我会呀。

为什么，我试了半天都不行呢？

我还是通过SHUTTER来软件长截屏的。

这个可以么？我回头看看有没有MAC版本~

用SHUTTER是可以实现的。参见，http://linux.cn/thread-12915-1-1.html

# 如何在终端下截取一个完整长度的网页截图

与其记笔记或是把看到的内容发送给其他人，我们更经常通过截屏来帮助我们记忆。 但是通常情况下，如果一个网页超出了屏幕高度，我们就得用多张截图去截取其全部内容。

对于 Linux，你将会有一个更好的解决方案：使用一个 GNOME 的应用来截取某个链接的整个页面。 这个应用叫做 **gnome-web-photo**，这篇文章将介绍如何安装和使用它。

在 Ubuntu 和 Debian 的分支下：

```
$ sudo apt-get install gnome-web-photo

```

在 Fedora 下：

```
$ sudo yum install gnome-web-photo

```

但是对于 CentOS 和其他 RedHat 分支的用户，请注意 gnome-web-photo 依赖 GTK+ 3.0 这个软件包。 也就是说 gnome-web-photo 是和 **CentOS/RHEL 6 自带的 GNOME 2 不相兼容的**。

要为一个网页截图：

```
$ gnome-web-photo -t 0 --mode=photo http://www.unixmen.com output.png

```

上面这条命令将为 Unixmen 的主页截取一个完整长度的截图，并保存在当前工作目录下。

输出样例：

**-t** 这个参数可以设置生成截图的超时时间。**-t 0** 则表示禁用超时参数。

**通过** gnome-web-photo，你可以用下面的命令为一个网页生成一个缩略图：（默认大小是 **256×256**，但是可以通过 “**-s**” 来指定缩略图的大小）

```
$ gnome-web-photo -t 0 -s 128 --mode=thumbnail http://www.unixmen.com output.png

```

输出样例：

如果你想将网页截取成一个可供打印的多页 PDF 文档，你可以输入下面的命令：

```
$ gnome-web-photo -t 0 --mode=print http://www.unixmen.com output.pdf

```

注意这个应用并不支持 **.jpg** 格式。

这个应用应该对各类用户都有所帮助。我经常对网页进行缩略图和完整长度的截图，希望对你也有所帮助。

---

via: <http://www.unixmen.com/take-full-length-screenshots-websites-via-terminal/>

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

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


为什么 Linux 的 htop 命令完胜 top 命令

Summary: 在 Linux 系统中，top 命令用来显示系统中正在运行的进程的实时状态，它显示了一些非常有用的信息，比如 CPU 利用情况、内存消耗情况，以及每个进程情况等。但是，你知道吗？还有另外一个命令行工具 'htop'，它与传统的 top 命令功能一样，但它有更加强大的功能及能显示更多的信息。这篇文章，我们会用实例来讨论这个 'htop' 命令。 Linux 中的 htop 命令 下面是从 htop 的手册页摘抄下来的相关描述:  它类似于 top 命令，但可以让你在垂直和水平方向上滚动，所以你可以看到系统上运行的所有进程，以及他们完整的命令行。 可以不用输入进

简直秒几条街......

为什么官微要用ubuntu

这个真心不错啊...[嘻嘻]

[吃惊]//@小白在安同:简直秒几条街......

为毛以前一直没人告诉我？？//@机智的阿卡林酱: [吃惊]//@小白在安同:简直秒几条街......

還有更叼的…是可以用鼠標點擊高亮//@机智的阿卡林酱: [吃惊]//@小白在安同:简直秒几条街......

get!!!

很好很强大的样子

貌似挺吊，但这不是标配哇，办公区不好安装，郁闷~~

Mark

【linux下用htop替代top】确实更好，只需单击"CPU%"或"MEM%"，即可将当前系统所有进程根据资源消耗率进行排序，还可方便地给特定进程发送指令（如终止进程等）。

@有道云笔记

# 为什么 Linux 的 htop 命令完胜 top 命令

在 Linux 系统中，top 命令用来显示系统中正在运行的进程的实时状态，它显示了一些非常有用的信息，比如 CPU 利用情况、内存消耗情况，以及每个进程情况等。但是，你知道吗？还有另外一个命令行工具 'htop'，它与传统的 top 命令功能一样，但它有更加强大的功能及能显示更多的信息。这篇文章，我们会用实例来讨论这个 'htop' 命令。

### Linux 中的 htop 命令

下面是从 htop 的手册页摘抄下来的相关描述:

>
> 它类似于 top 命令，但可以让你在垂直和水平方向上滚动，所以你可以看到系统上运行的所有进程，以及他们完整的命令行。
>
>
> 可以不用输入进程的 PID 就可以对此进程进行相关的操作 (killing, renicing)。
>
>
>

### 首先明白它的输出

**htop 命令**以直观的格式来显示信息。下面是 HTOP 的输出快照:

如果你观察窗口的左上角部分，你会看到显示的是 CPU 负载、内存消耗及交换空间的实时信息，右上角包含的是任务、线程、平均负载及系统运行时间的信息。

平均负载部分提供了三个数字，这仅仅表示的是过去的5分钟、10分钟和15分钟系统的平均负载而已，在单核的系统中，平均负载为1表示的是百分之百的 CPU 利用率。最后，运行时间 （uptime）标示的数字是从系统启动起到当前的运行总时间。

下面，我们将用例子来进一步讨论这个命令。

### 1. 用 F2 键编辑配置

htop 命令提供了许多自定义选项，你所要做的就是从主窗口中按下 F2 键。

下面所示的是可用的自定义选项:

只需使用箭头键选择和更改特定的设置。

### 2. 通过 F9 键发送信号

htop 命令可以让你很容易地在 htop 窗口内给一个进程发送任意的信号。按下 F9 键即可。

如你所见，窗口的左边部分列出的是所有可用的信号，右边部分列出的是进程。只要选中信号，并选择一个进程，然后按下 enter 键，选中的信号就会发送到此进程。

### 3. 显示进程的树状视图

htop 命令也提供了进程的树状视图查看功能。按下 F5 键切换。

下面是 htop 显示树形视图信息的例子:

要退出树状视图模式，请再一次按下 F5 键。

### 4. 通过 F3 键搜索进程

htop 命令提供了易用的方式来搜索进程。按下 F3 键，一个文本框就会出现在窗口底部。

下面是例子:

如您所见，一条名为‘搜索’的文本提示框出现在窗口底部，您可以在这儿输入进程的名字然后回车搜索。如果找到，它会在列出的进程列表里高亮选中此进程。

### 5. 通过空格键来设置颜色标注进程条目

在系统中运行着的实时进程视图中，要追踪某个进程是个大问题。因为整个列表在不停的刷新着，进程的排列顺序也在变动着。为了这个问题， htop 提供了一个很简单的解决方案：颜色标注。是的，你可以标注一个进程条目，它会以不同的颜色显示，因此要追踪它就变得容易了。

要标注某个进程条目，需要做的就是选中此条目，然后按下‘空格’键。例如，在下面的截图示例中，我已经颜色标注了三个进程条目:

所以通过此方法，你就能很轻松地追踪想查看的进程。

### 6. 命令行选项

除了上面介绍的一些热键，htop 还提供了很有用的命令行选项。下面是其中一部分:

* **-s 选项** : 按指定的列排序。例如，**htop -s PID** 命令会按 PID 列的大小排序来显示。
* **-u 选项** : 显示指定的用户的进程信息列表。例如，**htop -u himanshu** 命令会只显示出用户名为 himanshu 的相关进程。
* **-d 选项** : 设置刷新的延迟时间。例如，**htop -d 100** 命令会使输出在1秒后才会刷新（参数 -d 的单位是10微秒）。

---

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

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

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


试试Linux下的ip命令，ifconfig已经过时了

Summary: linux的ip命令和ifconfig类似，但前者功能更强大，并旨在取代后者。使用ip命令，只需一个命令，你就能很轻松地执行一些网络管理任务。ifconfig是net-tools中已被废弃使用的一个命令，许多年前就已经没有维护了。iproute2套件里提供了许多增强功能的命令，ip命令即是其中之一。  要安装ip，请点击这里下载iproute2套装工具 。不过，大多数Linux发行版已经预装了iproute2工具。 你也可以使用git命令来下载最新源代码来编译： $ git clone https://kernel.googlesource.com/pub/scm/linux/kernel/git/shemminger/iproute2.git   设置和删除Ip

屌爆了

[赞]

@我的印象笔记

哦？ //@2gua:[赞]

@我的印象笔记

@我的印象笔记

好吧，习惯真的很难改。

@我的印象笔记

Mark

学习一下

[赞] //@2gua:[赞]

[赞]

//@T-Bagwell刘歧://@2gua: [赞]

mark

mark~~~

nice//@ruochen_SH: //@T-Bagwell刘歧://@2gua: [赞]

BSD 系统ifconfig用得挺好//@2gua: [赞]

KISS怎么体现？//@2gua: [赞]

不错！

[good]//@网络化制造: 男的女的嘴对嘴[哈哈]//@王海鹏Seal:KISS怎么体现？//@2gua: [赞]

厉害！！我还一直用ifconfig…………不知道公司机器装没装ip工具//@Linux中国:[嘻嘻]//@网络化制造:男的女的嘴对嘴[哈哈]//@王海鹏Seal:KISS怎么体现？//@2gua: [赞]

That's so cool!

回复@王文文IT:应该与时俱进啦[嘻嘻]

mark

学习了//@王文文IT:如果你新装的系统里找不到ifconfig，多半就是换成ip这个命令了（之前让我纳闷很久的一个问题）。

比如说Arch的base system就没有ifconfig和route等命令了 //@Linux中国:回复@王文文IT:应该与时俱进啦[嘻嘻] //@王文文IT:如果你新装的系统里找不到ifconfig，多半就是换成ip这个命令了（之前让我纳闷很久的一个问题）。

两种表现形式//@王海鹏Seal:KISS怎么体现？//@2gua: [赞]

其实我只见过arch默认没有ifconfig//@小白在安同:@某冰磷的碳核 OS3 换这？ //@Linux中国: 回复@王文文IT:应该与时俱进啦[嘻嘻]//@王文文IT:如果你新装的系统里找不到ifconfig，多半就是换成ip这个命令了（之前让我纳闷很久的一个问题）。

OS3 计划明年暑假，所以这个时候可能还要激进一些 //@果壳中的米特尼克: 其实我只见过arch默认没有ifconfig//@小白在安同:@某冰磷的碳核 OS3 换这？

@mark //@Linux中国:历史遗迹，事实上开源界一方面新生事物和新技术发展的很快，另外一方面遗老遗少也挺多。不要被旧的东西完全束缚住，但也不能草率前进。//@releaseV1:既然废弃了为什么那么多的发行版预装的都是ifconfig？//@Rhinuxx:BSD 系统ifconfig用得挺好//@2gua: [赞]

马

我能说我习惯了ifconfig吗？//@我爱笨兔兔ibentutu: @mark //@Linux中国:历史遗迹，事实上开源界一方面新生事物和新技术发展的很快，另外一方面遗老遗少也挺多。不要被旧的东西完全束缚住，但也不能草率前进。//@releaseV1:既然废弃了为什么那么多的发行版预装的都是ifconfig？

//@butbueatiful:转发微博

废话，等于没说//@Linux中国:历史遗迹，事实上开源界一方面新生事物和新技术发展的很快，另外一方面遗老遗少也挺多。不要被旧的东西完全束缚住，但也不能草率前进。//@releaseV1:既然废弃了为什么那么多的发行版预装的都是ifconfig？//@Rhinuxx:BSD 系统ifconfig用得挺好//@2gua: [赞]

怪不得arch默认没有ifconfig.//@zhangle1967082265: 转发微博

So Cool

好像不如原来的好用 @我的印象笔记

还有一个systemd//@我爱笨兔兔ibentutu:@mark //@Linux中国:历史遗迹，事实上开源界一方面新生事物和新技术发展的很快，另外一方面遗老遗少也挺多。不要被旧的东西完全束缚住，但也不能草率前进。//@releaseV1:既然废弃了为什么那么多的发行版预装的都是ifconfig？//@Rhinuxx:BSD 系统ifconfig用得挺好

原来这玩意儿叫iproute2~//@Linux中国:历史遗迹，事实上开源界一方面新生事物和新技术发展的很快，另外一方面遗老遗少也挺多。不要被旧的东西完全束缚住，但也不能草率前进。//@releaseV1:既然废弃了为什么那么多的发行版预装的都是ifconfig？//@Rhinuxx:BSD 系统ifconfig用得挺好//@2gua: [赞]

活到老，学到老//@Linux中国:回复@王文文IT:应该与时俱进啦[嘻嘻]//@王文文IT:如果你新装的系统里找不到ifconfig，多半就是换成ip这个命令了（之前让我纳闷很久的一个问题）。

有什么实质性的区别吗？

学习了

只有arch早早就坚持这个了//@王文文IT: 如果你新装的系统里找不到ifconfig，多半就是换成ip这个命令了（之前让我纳闷很久的一个问题）。

mark //@我爱笨兔兔ibentutu: @mark //@Linux中国:历史遗迹，事实上开源界一方面新生事物和新技术发展的很快，另外一方面遗老遗少也挺多。不要被旧的东西完全束缚住，但也不能草率前进。//@releaseV1:既然废弃了为什么那么多的发行版预装的都是ifconfig？//@Rhinuxx:BSD 系统ifconfig用得挺好

你还在使用ifconfig吗？

我不太能接受这个事儿。。。

我输入p link set eth0 down 能关闭网络，ip link set eth0 up 没反应？ 求解@Linux中国

iproute2//@Linux中国: 历史遗迹，事实上开源界一方面新生事物和新技术发展的很快，另外一方面遗老遗少也挺多。不要被旧的东西完全束缚住，但也不能草率前进。//@releaseV1:既然废弃了为什么那么多的发行版预装的都是ifconfig？//@Rhinuxx:BSD 系统ifconfig用得挺好//@2gua: [赞]

啊？//@某冰磷的碳核:lfs base早就是有ip没有ifconfig的

ip?没用过。。//@Linux中国:回复@王文文IT:应该与时俱进啦[嘻嘻]//@王文文IT:如果你新装的系统里找不到ifconfig，多半就是换成ip这个命令了（之前让我纳闷很久的一个问题）。

你却说花花世界不必当真！

习惯了ifconfig

还是在用ifconfig哇 //@Linux中国:历史遗迹，事实上开源界一方面新生事物和新技术发展的很快，另外一方面遗老遗少也挺多。不要被旧的东西完全束缚住，但也不能草率前进。//@releaseV1:既然废弃了为什么那么多的发行版预装的都是ifconfig？//@Rhinuxx:BSD 系统ifconfig用得挺好//@2gua: [赞]

[晕]

soga

我还用ifconfig和ifcfg-eth*的配置文件来管理和设置网络，除非没有ifconfig命令的时候。

【用ip替代ifconfig】 设置IP地址:#ip addr add 192.168.0.111/24 dev eth0 查看是否生效:#ip addr show eth0 删除IP地址:#ip addr del 192.168.0.111/24 dev eth0 更改默认路由:#ip route add default via 192.168.0.1 停止网络接口:#ip link set eth0 down 激活网络接口:#ip link set eth0 up

学习了

@天宇feiyond

//@马全一:转发微博

//@马全一:转发微博

赞一个！

mark//@Linux中国: 汗//@T-Bagwell刘歧: 玩raspberry pi的时候发现pidora不支持ifconfig了，支持ip，不会用 yum install net-tools 又把ifconfig 装回来了……//@T-Bagwell刘歧: //@2gua: [赞]

转给Linux爱好者。 //@Linux中国:汗//@T-Bagwell刘歧: 玩raspberry pi的时候发现pidora不支持ifconfig了，支持ip，不会用 yum install net-tools 又把ifconfig 装回来了……//@T-Bagwell刘歧: //@2gua: [赞]

我跟不上时代潮流了[懒得理你]

得学会努力接受新的事务。

没用过IP,得学习了,@我的印象笔记

ifconfig过时还早吧，都是习惯用这个了。

mark

yeah,很不错！学习了

ip是新命令？

是的，netstat 过时啦。

这个是最基础的东西，所以往往有一定的重要性

来自黑龙江哈尔滨的 Chrome Mobile 62.0|Android 6.0 用户

真有趣

馬克

学习了！感谢分享！

用惯了if用其他反而不适应

能列出所有网口信息吗？明显做不到，我有50个网口，需要全部列出来，请问还有其他命令吗？

ifconfig -a 与ip addr show真的是一样吗？作者很辛苦做了个对照列表，但实际上这两个命令完全不一样，我用ip addr show不能看到我的50个网口。

那个用 ip addr show 看不到网口的，要用 ip link show

# 试试Linux下的ip命令，ifconfig已经过时了

linux的**ip**命令和**ifconfig**类似，但前者功能更强大，并旨在取代后者。使用ip命令，只需一个命令，你就能很轻松地执行一些网络管理任务。ifconfig是net-tools中已被废弃使用的一个命令，许多年前就已经没有维护了。iproute2套件里提供了许多增强功能的命令，ip命令即是其中之一。

要安装ip，请[点击这里](http://www.linuxgrill.com/anonymous/iproute2/NEW-OSDL/)下载**iproute2套装工具** 。不过，大多数Linux发行版已经预装了iproute2工具。

你也可以使用git命令来下载最新源代码来编译：

```
$ git clone https://kernel.googlesource.com/pub/scm/linux/kernel/git/shemminger/iproute2.git

```

### 设置和删除Ip地址

要给你的机器设置一个IP地址，可以使用下列ip命令：

```
$ sudo ip addr add 192.168.0.193/24 dev wlan0

```

请注意IP地址要有一个后缀，比如/24。这种用法用于在无类域内路由选择（CIDR）中来显示所用的子网掩码。在这个例子中，子网掩码是255.255.255.0。

在你按照上述方式设置好IP地址后，需要查看是否已经生效。

```
$ ip addr show wlan0

```

你也可以使用相同的方式来删除IP地址，只需用del代替add。

```
$ sudo ip addr del 192.168.0.193/24 dev wlan0

```

### 列出路由表条目

ip命令的路由对象的参数还可以帮助你查看网络中的路由数据，并设置你的路由表。第一个条目是默认的路由条目，你可以随意改动它。

在这个例子中，有几个路由条目。这个结果显示有几个设备通过不同的网络接口连接起来。它们包括WIFI、以太网和一个点对点连接。

```
$ ip route show

```

假设现在你有一个IP地址，你需要知道路由包从哪里来。可以使用下面的路由选项（译注：列出了路由所使用的接口等）：

```
$ ip route get 10.42.0.47

```

### 更改默认路由

要更改默认路由，使用下面ip命令：

```
$ sudo ip route add default via 192.168.0.196

```

### 显示网络统计数据

使用ip命令还可以显示不同网络接口的统计数据。

当你需要获取一个特定网络接口的信息时，在网络接口名字后面添加选项**ls**即可。使用多个选项**-s**会给你这个特定接口更详细的信息。特别是在排除网络连接故障时，这会非常有用。

```
$ ip -s -s link ls p2p1

```

### ARP条目

地址解析协议（ARP）用于将一个IP地址转换成它对应的物理地址，也就是通常所说的MAC地址。使用ip命令的neigh或者neighbour选项，你可以查看接入你所在的局域网的设备的MAC地址。

```
$ ip neighbour

```

### 监控netlink消息

也可以使用ip命令查看netlink消息。monitor选项允许你查看网络设备的状态。比如，所在局域网的一台电脑根据它的状态可以被分类成REACHABLE或者STALE。使用下面的命令：

```
$ ip monitor all

```

### 激活和停止网络接口

你可以使用ip命令的up和down选项来激某个特定的接口，就像ifconfig的用法一样。

在这个例子中，当ppp0接口被激活和在它被停止和再次激活之后，你可以看到相应的路由表条目。这个接口可能是wlan0或者eth0。将ppp0更改为你可用的任意接口即可。

```
$ sudo ip link set ppp0 down

$ sudo ip link set ppp0 up

```

### 获取帮助

当你陷入困境，不知道某一个特定的选项怎么用的时候，你可以使用help选项。man页面并不会提供许多关于如何使用ip选项的信息，因此这里就是获取帮助的地方。

比如，想知道关于route选项更多的信息：

```
$ ip route help

```

### 小结

对于网络管理员们和所有的Linux使用者们，ip命令是必备工具。是时候抛弃ifconfig命令了，特别是当你写脚本时。

---

via: <http://linoxide.com/linux-command/use-ip-command-linux/>

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

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


如何在Ubuntu 14.04中默认关闭蓝牙

Summary: 我最近新买了一台Dell Inspiron 7437，我第一时间做的一些事情之一就是让预装的Windows 8和Ubuntu 14.04双启动。我旧的笔记本没有蓝牙，听起来很奇怪但事实就是这样。这就是我为何从来没有注意到蓝牙总是在Ubuntu的每次启动时自动开启。 从节能和安全目的来说这都不是件好事。而且，我几乎不使用蓝牙，所以我为何要让蓝牙默认启用？尽管在Ubuntu中只要一次点击就能关闭蓝牙，但每次登录都要这样重复地做一遍真是件令人泄气的任务。更简单的解决方案是在Ubuntu启动的时候关闭蓝牙。 在今天的帖子中，我将与您分享如何在每次启动是默认禁用

我的电脑都没蓝牙，有什么奇怪的吗？

笔记本要蓝牙干吗？[挖鼻屎]我一直想不明白。。

dell没有蓝牙开关[挖鼻屎]

重度蓝牙耳机用户//@校长Ubuntu:笔记本要蓝牙干吗？[挖鼻屎]我一直想不明白。。

# 如何在Ubuntu 14.04中默认关闭蓝牙

我最近新买了一台Dell Inspiron 7437，我第一时间做的一些事情之一就是[让预装的Windows 8和Ubuntu 14.04双启动](http://itsfoss.com/install-ubuntu-1404-dual-boot-mode-windows-8-81-uefi/)。我旧的笔记本没有蓝牙，听起来很奇怪但事实就是这样。这就是我为何从来没有注意到**蓝牙总是在Ubuntu的每次启动时自动开启**。

从节能和安全目的来说这都不是件好事。而且，我几乎不使用蓝牙，所以我为何要让蓝牙默认启用？尽管在Ubuntu中只要一次点击就能关闭蓝牙，但每次登录都要这样重复地做一遍真是件令人泄气的任务。更简单的解决方案是**在Ubuntu启动的时候关闭蓝牙**。

在今天的帖子中，我将与您分享如何在每次启动是默认禁用蓝牙。

### 在Ubuntu 14.04中默认关闭蓝牙：

打开一个终端并使用以下命令来安装[gksu](https://wiki.gnome.org/action/show/Apps/Attic/gksu?action=show&redirect=gksu)（如果你还没有安装它的话）（译注：如果你已经有了gksu，那么可以使用它；如果还没有，也不想安装，那你使用sudo一样可以）。

```
sudo apt-get install gksu

```

gksu是用来在以root权限运行程序时输入密码的程序。当你已经安装了gksu之后，使用下列命令：

```
gksudo gedit /etc/rc.local

```

它会打开rc.local这个文件。只需在文件中的exit 0之前加入下列命令：

```
rfkill block bluetooth

```

就这样，你的rc.local文件看起来就像这样：

这就是全部步骤了。重新启动电脑，您应该能够看到蓝牙已经被禁用了。当然您需要使用它的时候可以从指示器面板的蓝牙标志打开它。

### 小说明：

这一小部分只是对我们做了什么进行简短的解释。您并不一定要阅读完这一部分。您可以直接跳到评论部分留下您的建议和感谢 :)

rc.local文件是用来记录在系统启动的时候运行的各种shell命令的。这些命令是用户定义的。在一个新的安装中，rc.local文件中没有任何命令。我们做的就是在这里面加入命令 **rfkill block bluetooth**。[rfkill](http://wireless.kernel.org/en/users/Documentation/rfkill)是一个用来查询各种开关，按钮和底层系统接口状态的工具。我们在rc.local中使用这个命令来在每次启动的时候软关闭（译注：与其对应的是硬关闭，指通过硬件开关来关闭）蓝牙。我希望这些能把原理解释的清楚一点。

---

via: <http://itsfoss.com/turn-off-bluetooth-by-default-in-ubuntu-14-04/>

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

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