2014年5月

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更加容易进行,也能够允许更大范围的试验,以及尽情测试而不用有会影响到常规桌面用户的压力。

这个项目的一个规划表明这个新转变的镜像(.iso)‘应该会在16.04中成为一个默认选项’。

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

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

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


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

译者:alim0x 校对:wxy

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

在我上次写切换到Linux的理由后,一位读者建议我写一些关于Windows上流行的应用程序的Linux替代品的内容。毕竟,这是想切换到Linux的Windows用户们最普遍关心的问题。

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

Linux中的图像编辑应用

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

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

如果你醉心于Photoshop,并且对于调整GIMP的外观和快捷键有一定难度,那我推荐你使用Gimpshop。它是一个基于GIMP,而又有Photoshop风格的应用程序,当然也是免费的。

Linux中的照片管理应用

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

Shotwell的一个很好的替代品是gThumb

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

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

digiKam的另一个替代品是GTKRawGallery,该软件也关注对照相机图像的处理。

Linux中的绘图应用

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

Pinta的另一个替代品是Krita,该软件更强大,提供了更多的功能。比画图应用好,但还比不上GIMP。

Linux中像Instagram一样的应用

最后,让我们来讨论一下图像美化吧。在移动设备上,我们有许多复古的图像效果,但桌面平台中却没有。要在Linux中应用Instagram一样的效果,据我所知只有XnRetro,它能巧妙地进行处理。推荐你阅读如何在Ubuntu中使用XnRetro这篇文章来获取更多信息。

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

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


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

译者:GOLinux 校对:wxy

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

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

Questions on Shell Scripting

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

在此,作为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 校对:wxy

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

欢迎进入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/

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

为了在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/andhttp://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 校对:wxy

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

欢迎进入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 校对:wxy

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

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 校对:Caroline

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