Chinaunix首页 | 论坛 | 博客
  • 博客访问: 176431
  • 博文数量: 114
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1116
  • 用 户 组: 普通用户
  • 注册时间: 2015-11-09 09:49
文章分类

全部博文(114)

文章存档

2016年(74)

2015年(40)

我的朋友

分类: LINUX

2016-01-06 11:27:15

gocryptfs 是一个使用 Go 开发的,加密的覆盖文件系统。
这里先介绍一下GO语言。它是谷歌2009发布的第二款开源编程语言。Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。Google对Go寄予厚望。其设计是让软件充分发挥多核心处理器同步多工的优点,并可解决面向对象程序设计的麻烦。它具有现代的程序语言特色,如垃圾回收,帮助程序设计师处理琐碎但重要的内存管理问题。Go的速度也非常快,几乎和C或C++程序一样快,且能够快速制作程序。
Go的网站就是用Go所建立,但Google有更大的野心。该软件是专为构建服务器软件所设计(如Google的Gmail)。Google认为Go还可应用到其他领域,包括在浏览器内执行软件,取代JavaScript的角色。
Pike说:它至少在强度上比JavaScript高一级。Google自建Chrome浏览器,部分原因就是加速JavaScript和网页表现,而Google已经融合了本身的技术,如Native Client和Gears。
Pike表示,Go另一项与网络相关的特色,是服务器和用户端设备,如PC或手机,可以分担工作。因此,使用Go的服务便可轻松适应不同的用户端处理性能。
Go也可解决现今的一大挑战:多核心处理器。一般电脑程序通常依序执行,一次进行一项工作,但多核心处理器更适合并行处理许多工作。Pike说:我们自认有足够的支持,可改善这方面的问题。
Go团队正在寻求帮助。其中一个重要领域是改善Go能够使用的runtime library。这类library可提供许多工具和功能,加快程序设计的过程。而Go的library还包括许多重要的设计元素,并供应处理同作、垃圾收集和其他低层杂务的资源。
Go团队也需要编译器方面的协助。Thompson曾为32位元和64位元x86处理器,及ARM处理器写过一些编译器,Taylor也为GCC编译器写过一个Go前端。
尽管Google对Go有很大的野心,该公司也明白,这项计划无法完全取代现有的技术。Pike说:我不认为我们能取代任何东西。我们只是创造出这个领域的另一个角色。gocryptfs 基于 go-fuse FUSE 库和其 LoopbackFileSystem API 构建。gocryptfs 灵感来源于 EncFS,修复了其安全问题,提供更好的性能。
gocryptfs 当前只支持 Linux 系统,以后会继续支持 OS X。

安装:

?
1
$ go get github.com/rfjakob/gocryptfs

使用:

?
1
2
3
4
5
6
7
8
9
10
11
$ mkdir cipher plain
$ $GOPATH/bin/gocryptfs --init cipher
  [...]
$ $GOPATH/bin/gocryptfs cipher plain
  [...]
$ echo test > plain/test.txt
$ ls -l cipher
  total 8
  -rw-rw-r--. 1 user  user   33  7. Okt 23:23 0ao8Hyyf1A-A88sfNvkUxA==
  -rw-rw-r--. 1 user  user  233  7. Okt 23:23 gocryptfs.conf
$ fusermount -u plain

性能:

?
1
2
3
4
5
6
7
8
9
10
11
./benchmark.bash
gocryptfs v0.3.1-30-gd69e0df-dirty; on-disk format 2
PASS
BenchmarkStreamWrite-2       100      12246070 ns/op      85.63 MB/s
BenchmarkStreamRead-2        200       9125990 ns/op     114.90 MB/s
BenchmarkCreate0B-2        10000        101284 ns/op
BenchmarkCreate1B-2        10000        178356 ns/op       0.01 MB/s
BenchmarkCreate100B-2       5000        361014 ns/op       0.28 MB/s
BenchmarkCreate4kB-2        5000        375035 ns/op      10.92 MB/s
BenchmarkCreate10kB-2       3000        491071 ns/op      20.85 MB/s
ok      github.com/rfjakob/gocryptfs/integration_tests  17.216s

如果这篇文章对你有所帮助,请记住我们。
如果想深入体验LINUX系统的新手,也可以先下载一个方德Linux软件中心试用一下。
免费下载地址:
阅读(736) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~