Linux上分区,格式化,读写挂载EXT4,NTFS和FAT32分区

NTFS 具体实现的内部细节被保密,因此这导致第三方开发者试图制作处理 NTFS 的工具变得异常困难。
Linux中完整并安全的对 NTFS 的读写功能由 NTFS-3G 驱动程序提供。该驱动程序包含在绝大多数Linux发行版中。

同时也存在过时的,大部分仅只读的解决方案:

Linux 内核 2.2:从版本 2.2.0 开始,可以读取 NTFS 分区。
Linux 内核 2.6:包含一个由 Anton Altaparmakov(来自剑桥大学)和 Richard Russon 编写的驱动程序,该驱动程序支持读取文件以及在部分情况下的改写文件和调整文件大小。
NTFSMount:使用 ntfsmount 可以通过一个用户级驱动程序对文件和目录进行有限的读写操作。[35]
Tuxera NTFS: 高性能可读写上业内核驱动, 主要是针对嵌入式设备, 他还开发了开源的 NTFS-3G 驱动.
NTFS for Linux:由 Paragon 提供的对 NTFS 提供完整读写支持的商用驱动程序。
Captive NTFS:一个使用 Windows 自身的驱动程序“ntfs.sys”并进行简单封装的驱动程序。

请注意,上面所有三个用户级别驱动程序(NTFSMount、NTFS-3G 以及 Captive NTFS)都基于用户空间文件系统(FUSE),该系统是一个用于在用户空间和内核代码间通讯以获取或保存数据的 Linux 内核模块。技术上面所有的驱动程序(除了 Paragon NTFS for Linux)都是开源(GPL)的。由于 NTFS 内部结构非常复杂,内置的 2.6.14 内核驱动程序和 FUSE 都不允许修改被认为是不安全的卷,以避免发生损坏事故。

Debian系统的NTFS文件系统驱动程序:
1、ntfs
安装方法:无需安装,内核集成
使用方法:
1、手动挂载:

mount -t ntfs /dev/sda1 /mnt/windows

2、开机挂载(vim /etc/fstab)

/dev/sda1 /mnt/windows ntfs ro,user,uid=1000,gid=1000,dmask=0222,fmask=0333 0 0

Linux内核的NTFS驱动程序,提供只读访问。

2、ntfs-3g
通过FUSE用户空间的NTFS驱动程序,提供读取和写入访问。

安装方法:

apt-get install ntfs-3g

使用方法:
1、手动挂载:

mount -t ntfs-3g /dev/sda1 /home/shares/public/disk1

2、开机挂载(vim /etc/fstab)

/dev/sda1 /home/shares/public/disk1 ntfs-3g rw,uid=1000,gid=1000,dmask=0002,fmask=0003 0 0

NTFS-3G采用FUSE(用户空间文件系统)提供微软Windows所使用的NTFS文件系统的支持。它可以:
*创建,删除,重命名或移动文件,目录,硬链接,和流;
*读写文件,包括流,稀疏文件,和透明压缩文件;
*处理符号链接,设备和FIFO等特殊文件;
*提供标准的管理文件所有权和权限,包括POSIX的ACL。

3、ntfsmount
安装方法:下载地址
使用方法:
1、手动挂载:

ntfsmount /dev/hda1 /mnt/ntfs -o locale=be_BY.UTF-8

2、开机挂载(vim /etc/fstab)

/dev/hda1 /mnt/ntfs fuse.ntfs locale=be_BY.UTF-8 0 0

通过FUSE用户空间的NTFS驱动程序,提供读取和写入访问。

Debian系统的FAT32文件系统挂载(可解决FAT32格式在Linux下正常显示长文件名):
使用方法:
1、手动挂载:

mount -t vfat /dev/sda2 /home/shares/public/disk2 -o utf8=1

2、开机挂载(vim /etc/fstab)

/dev/sda2 /home/shares/public/disk2 vfat umask=0000,utf8=1 0 0

3、卸载

fusermount -u /mnt/ntfs

fdisk -l
fdisk /dev/xvda | d 3
fdisk /dev/xvda | n p 3
mkfs -t ext4 /dev/xvda3
mount -t ext4 /dev/xvda3 /mnt
service mysqld stop
mv /www/* /mnt/
df -h
echo "/dev/xvda3 /www ext4 defaults 0 0" >> /etc/fstab

参考资料:
http://zh.wikipedia.org/wiki/NTFS
http://wiki.debian.org/NTFS
http://www.tuxera.com/community/ntfs-3g-download/ (NTFS-3G官方主页)
http://manpages.ubuntu.com/manpages/hardy/man8/ntfsmount.8.html

HTTPS的七个误解

开发网页的时候,往往需要观察HTTP通信。

我使用的工具主要有两个,在Firefox中是Firebug,在IE中是Fiddler。但是,一直听别人说,付费软件HttpWatch是这方面最好的工具。

前几天,HttpWatch的官方网志刊登了一篇好文章,澄清了一些HTTPS协议容易产生误解的地方。学习之后,我增长了不少网页加密通信的知识。

我觉得这篇文章很实用,值得留作参考,就翻译了出来。 继续阅读

Pinterest架构:两年内月PV从零到百亿

Pinterest正经历了指数级曲线般的增长,每隔一个半月翻翻。在这两年里,Pinterest,从 每月PV量0增长到10亿,从两名成立者和一个工程师成长为四十个工程师,从一台MySQL 服务器增长到180台Web 服务器(Web Engine),240台接口服务器(API Engine), 88台MySQL 数据库 (cc2.8xlarge) ,并且每台DB有一个备份服务器,110台Redis 实例服务(Redis Instance),200台 Memcache 实例服务(Memcache  Instance)。

令人叹为观止的增长。想一探Pinterest的传奇吗?我们请来了Pinterest的两位创立者Yashwanth Nelapati 和 Marty Weiner,他们将以 Scaling Pinterest为题讲述关于Pinterest架构的充满戏剧化的传奇故事。他们说如果能在一年半前飞速发展时能看到有人做类似题材的演讲的话,他们就会有更多的选择,以避免自己在这一年半里做出的很多错误的决定。

这是一个很不错的演讲,充满了令人惊讶的细节。同时这个演讲也是很务实的,归根结底,它带来了可让大家选择的策略。极度推荐

这篇演讲中有两个我最为看重的经验:

1.强大的架构在处理增长时通过简单增加相同的东西(服务器)来应对,同时还能保证系统的正确性。当遇到某种(性能)问题时,你想通过砸钱来扩容指的是你可以简单增加服务器(boxes)。如果你的架构能够做到这一点,那它就如金子一般强大而珍贵!

2. 当某些(性能问题)快到极限时大多数技术都会以他们自己的方式失败。这导致他们在审核工具时要考虑以下一些特性:成熟,好且简单,有名气且用的人多,良好 的支持,持续的优异性能,很少失败,开源。按照这样的标准,他们选择了:MySQL, Solr, Memcache, and Redis,放弃了Cassandra ,Mongo。 继续阅读

禁止WordPress将半角符号转换为全角符号

WordPress处于安全考虑,会自动将文章中的英语标点符号(半角) 转换成 中文标点符号(全角),以防止恶意脚本运行。虽然增强了安全性,但是对于英文站点来说,是个不小的麻烦。

[全角举例]AabB1234@$%^&*;,。:
[半角举例]AabB1234@$%^&*;,.:

解决办法:

  • 打开/wp-includes/formatting.php,找到以下4行代码:

// static strings
$curl = str_replace($static_characters, $static_replacements, $curl);
// regular expressions
$curl = preg_replace($dynamic_characters, $dynamic_replacements, $curl);

将黄色两行删除,或者 在前面加上 //,如下:

// static strings
//$curl = str_replace($static_characters, $static_replacements, $curl);
// regular expressions
//$curl = preg_replace($dynamic_characters, $dynamic_replacements, $curl);

保存即可,其实就是禁用Wordpress默认的 将半角转化为全角 的功能。

查看Linux系统的系统和版本信息

查看centos内核的版本:

1)

[root@localhost ~]# cat /proc/version

Linux version 2.6.18-194.el5 (mockbuild@builder10.centos.org) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-48)) #1 SMP Fri Apr 2 14:58:14 EDT 2010

2)

[root@localhost ~]# uname -a

Linux localhost.localdomain 2.6.18-194.el5 #1 SMP Fri Apr 2 14:58:14 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux

3)

[root@localhost ~]# uname -r

2.6.18-194.el5

继续阅读