修改 ext4 中的 reserverd blocks

出于安全原因,ext4 默认会为每个分区保留 5% 的空间,该空间做紧急情况之用,普通用户没有权限使用这 5% 的空间,只有 root 用户可以。但是对于 300G 的 SSD 来说,一块就有 15G 的空间无法使用,现在需要释放一部分的空间。

查看 sda1 的磁盘信息:
$ tune2fs -l /dev/sda1

将 reserverd block 调至 2%:
$ sudo tune2fs -m 2 /dev/sda1

ref:
http://www.wiredrevolution.com/system-administration/free-ext3-reserved-blocks-with-tune2fs
 

目录下的隐藏文件

$ cp -a /home/jaseywang/. /tmp/
$ cp /home/jaseywang/.[^.]* /tmp/

注意:下面这种方式是错误的,这会复制本级目录以及上层目录的内容:
$ cp -a /home/jaseywang/.* /tmp/

由此引申的,ls, rm, mv 等都是一个原理。

$ rm -rf /home/jaseywang/.??*
$ find /home/jaseywang/ -iname ".*" -maxdepth 1 -type f
$ find /home/jaseywang/ -iname ".*" -maxdepth 1 -type d
$ find /home/jaseywang/ -iname ".*" -maxdepth 1 -type f -delete
$ find /home/jaseywang/ -iname ".*" -maxdepth 1 -type f -exec rm {} \;
$ find /home/jaseywang/ -iname ".*" -maxdepth 1 -type d -exec rm -rf {} \;

 

Linux Kernel in a Nutshell 笔记(一)

2.Requirements for Building and Using the Kernel

注意:
1.在编译内核的过程中,从 downloading 到 uncompress 到 configure 以及 build 务必不要使用 root,只有在 install 器件的两三个命令需要用到 root 权限。
2.kernel 的源代码不要放在 /usr/src/ 目录下,该目录下是放置一些头文件以及系统库文件的地方,另外,开发啥的也不要在此目录下进行。

编译一个 kernel,无外乎这三个工具。

compiler,一般情况下就是 gcc 了:
$ gcc --version
gcc (Ubuntu 4.4.3-4ubuntu5.1) 4.4.3
Copyright (C) 2009 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

linker,binutils 工具包包含链接需要的工具:
$ ld -v
GNU ld (GNU Binutils for Ubuntu) 2.20.1-system.20100303

make,一般是在 make 包里面:
$ make --version
GNU Make 3.81
Copyright (C) 2006  Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

This program built for x86_64-pc-linux-gnu
Continue reading

热插拔的一些问题

一台 R510,12 块硬盘,在启动进行 SAS 检查的时候只能检查到 11 块硬盘,slot 7的硬盘缺失(编号从 0 开始,到 slot 11),最初没有理会这个问题,系统照装,安装完毕后磁盘的编号如下:
$ ls /dev/sd*
sda   sdc   sdc2  sdd   sde   sdf   sdg   sdh   sdi   sdj   sdk   sdl   sdm
sdb   sdc1  sdc5  sdd1  sde1  sdf1  sdg1  sdh1  sdi1  sdj1  sdk1  sdl1  sdm1

系统启动加载硬盘的信息:
$ dmesg  | grep disk
[    9.008580] sd 1:0:0:0: [sda] Attached SCSI removable disk
[    9.133147] sd 2:0:0:1: [sdb] Attached SCSI removable disk
[   13.128908] sd 0:0:1:0: [sdd] Attached SCSI disk
[   13.131742] sd 0:0:2:0: [sde] Attached SCSI disk
[   13.133006] sd 0:0:0:0: [sdc] Attached SCSI disk
[   13.133979] sd 0:0:3:0: [sdf] Attached SCSI disk
[   13.137656] sd 0:0:4:0: [sdg] Attached SCSI disk
[   13.141043] sd 0:0:5:0: [sdh] Attached SCSI disk
[   13.142132] sd 0:0:6:0: [sdi] Attached SCSI disk
[   13.145329] sd 0:0:7:0: [sdj] Attached SCSI disk
[   13.150285] sd 0:0:8:0: [sdk] Attached SCSI disk
[   13.150904] sd 0:0:9:0: [sdl] Attached SCSI disk
[   13.153535] sd 0:0:10:0: [sdm] Attached SCSI disk
Continue reading