??xml version="1.0" encoding="utf-8" standalone="yes"?> 一般情况下?024Q我们也可以通过ulimit –n命o(h)来查看最大文件打开敎ͼ如下Q?/p> 1024 2?nbsp; 修改目标 我们的目标是Q让每一个用L(fng)录系l后pȝ打开的最大文件数都是我们讑֮好的?/p> 但我q里不得不说的是Q非帔R憾,|上很多q方面关于ulimit讄修改资源限制的文章,但没一文章管用?/p> 把这个目标分解ؓ(f)两个目标Q?/p> 2.1、设|对root用户dpȝ生效 q个目标可以实现h不难 2.2、设|对所有用L(fng)?/strong> q个非帔R?ch)?jin)Q弄不好q会(x)把你的系l给整坏Q因重编译Linux的内核才行! 所以权衡之下,我只实现?jin)第一个目标,因ؓ(f)W二个目标的风险太大Q我惛_果我之前知道q点Q那么我在装pȝ的时候我?x)先做这个处理,但现在我觉得已经晚?jin)?/p> 3?nbsp; 修改的地?/strong> 3.1、修?etc/security/limits.conf 通过 vi /etc/security/limits.conf修改其内容,在文件最后加入(数g可以自己定义Q:(x) * soft nofile = 32768 * hard nofile = 65536 3.2、修?etc/profile 通过vi /etc/profile修改Q在最后加入以下内?/p> ulimit -n 32768 然后重新d卛_生效?jin)?/p> 说明Q?/p> 其实只修?etc/profile可以生效了(jin)Q但我还是徏议把/etc/security/limits.conf也修改一下?/p> 最后强调的是,你如果要使得修改Ҏ(gu)有用户都生效Q那么现在看来你只能重新~译Linux的内核才行?br /> 最q学?fn)linux 试使用lrzsz 在这里做记录以便今后查阅?br /> 使用前准?/p> 1. 准备 lrzsz-arm-bin~译完成的发送及(qing)接收工具 本文例子?lrz 和lsz 2. SecureCRT.exe 工具Q通过串口q接到终端)(j)?/p> 开始添加工?/p> 使用其他工具lrz 和lsz 拯到终?/usr/bin 目录? 在系l环境变量\径下卛_) 修改 lrz 和lsz 的属?nbsp; chmod 755 lrz chmod 755 lsz ?/p> 开始验?/p> 1Q文件接?/p> PC端文件发送到l端某目录本例将PC端文件fport.exe发送到l端/xino目录 在终端执行命?/p> Cd /xino Lrz SecureCRT.exe弹出如下选择文gH口选择 选择 文gq点?“d”d到发送列表,点击“定” q行发?/p> 传输文g 传输完成 当前目录 出现 Fport.exe 文g?/p> 3. 文g发?/p> 在SecureCRT.exe 上选择 “选项“à“?x)话选项”选择“l端”àX/Y/Zmodem 讄?目录中的 上传?qing)下?目录Q?本例为F:\my documents 完成?在命令行输入 lsz key.sh (?key.sh 文g发送到PC端也可以是终端程序执行的 *.log) 输入命o(h)后回?上传文g 上传完成?ȝ录F:\my documents 查看 出现上传的文?/p> 备注 常用参数 -b 以二q制方式Q默认ؓ(f)文本方式。(Binary (tell it likeit is) file transfer override.Q?/p> -e Ҏ(gu)有控制字W{义。(F(tun)orce sender to escape allcontrol characters; normally XON, XOFF, DLE, CR-@-CR, and Ctrl-X are escaped.Q?/p> 如果要保证上传的文g内容在服务器端保存之后与原始文g一_(d)最好同时设|这两个标志Q如下所C方式用:(x) rz -be 此命令执行时Q会(x)弹出文g选择对话框,选择好需要上传的文g之后Q点定Q就可以开始上传的q程?jin)。上传的速度取决于当时网l的状况?/p> 如果执行完毕昄“0错误”Q文件上传就成功?jin),其他昄则表C文件上传出现问题了(jin)?/p>
转自Q?a >http://www.zihou.me/html/2010/06/12/2281.html
]]>
回环讑֤Q?'loopback device'Q允许用户以一个普通磁盘文件虚拟一个块讑֤。设想一个磁盘设备,对它的所有读写操作都被重定向到d一个名?disk-image 的普通文件而非操作实际盘或分区的轨道和扇区。(当然Qdisk-image 必须存在于一个实际的盘上,而这个磁盘必L虚拟的磁盘容量更大。)(j)回环讑֤允许你这样用一个普通文件?/span>
回环讑֤?/dev/loop0?dev/loop1 {命名。每个设备可虚拟一个块讑֤。注意只有超U用h有权限设|回环设备?/span>
回环讑֤的用与其它M块设备相同。特别是Q你可以在这个设备上创徏文gpȝq像普通的盘一样将它挂载在pȝ中。这L(fng)一个将全部内容保存在一个普通文件中的文件系l,被称拟文件系l(virtual file systemQ(译者注Q这个用法ƈ不常见。VFS 通常另有所指,如指?Linux 内核中有x件系l抽象的代码层次{)(j)?/span>
可以通过下列步骤创徏一个虚拟文件系lƈ通过回环讑֤挂蝲Q?/span>
创徏一个用于承载虚拟文件系l的I文件。这个文件的大小成为挂载后文gpȝ的大?/span>
创徏指定大小文g的简单方法是通过 dd 命o(h)。这个命令以块ؓ(f)单位Q通常?512 字节Q从一个文件向另一个文件复制数据?dev/zero 文g则是一个很好的数据来源?/span>
要徏立一?10 MB 大的名ؓ(f) disk-image 的文件可以通过以下命o(h)Q?/span>
% dd if=/dev/zero of=/tmp/disk-image count=20480
20480+0 records in
20480+0 records out
% ls -l /tmp/disk-image
-rw-rw---- 1 root root 10485760 Mar 8 01:56 /tmp/disk-image
q个新徏立的文g被填满了(jin) 0 字节。在挂蝲之前Q必d其上建立一个文件系l。这个过E会(x)建立许多用于l织和存储文件的控制单元q构造根目录l构?/span>
在这个磁盘映像之上可以构ZQ何类型的文gpȝ。以创徏 ext2 文gpȝZQext2 ?Linux pȝ中最常见的文件系l)(j)Q用 mke2fs 可以完成q个操作。因个命令通常是针对块讑֤q行操作Q当对一个普通文件操作时它会(x)要求认Q?/span>
% mke2fs -q /tmp/disk-image
mke2fs 1.18, 11-Nov-1999 for EXT2 FS 0.5b, 95/08/09
disk-image is not a block special device.
Proceed anyway? (y,n) y
q里 -q 参数用于省略输出有关新徏立文件系l的概要信息。如果你想看到这些信息,则请省略q个参数?/span>
现在 disk-image 文g包含?jin)一个新建立的文件系l,正如一个被刚刚初始化完毕的 10 MB 大小的磁盘?/span>
以一个环回设备挂载这个文件系l。方法是使用 mount 命o(h)Q指定磁盘文件ؓ(f)被挂载的讑֤。同时指?loop=loopback-device 作ؓ(f) -o 选项的参敎ͼ告诉 mount 命o(h)使用哪个回环讑֤?/span>
下面例子中的命o(h)可用于挂载我们的 disk-image 文gpȝ。要C的是只有用户可以使用环回讑֤。第一个命令将创徏一个目?/tmp/virtual-fsQ这个目录将被用于挂载我们的文gpȝ?/span>
% mkdir /tmp/virtual-fs
% mount -o loopback=/dev/loop0 /tmp/disk-image /tmp/virtual-fs
q时Q这个设备应该已l被挂蝲Q就如同一个普通的 10M I间的磁盘一栗?/span>
% df -h /tmp/virtual-fs
Filesystem Size Used Avail Use% Mounted on
/tmp/disk-image 9.7M 13k 9.2M 0% /tmp/virtual-fs
你可以向M其它盘一样用这个设备:(x)
% cd /tmp/virtual-fs
% echo 'Hello, world!' > test.txt
% ls -l
total 19
drwxr-xr-x 2 root root 12288 Mar 8 02:00 lost+found
-rw-rw---- 1 root root 14 Mar 8 02:12 test.txt
% cat test.txt
Hello, world!
h?lost+found 是一个由 mke2fs 自动建立的文件夹一旦文件系l被破坏Q部分数据被回复但没有与M文g兌hQ将被放|在q个文g夹中。?/span>
l束使用后,卸蝲q个文gpȝQ?/span>
% cd /tmp
% umount /tmp/virtual-fs
你可以删?disk-imageQ或者之后再ơ挂载ƈ使用其中的文件。你甚至可以这个文件复制到q程Lq在那里挂蝲、?#8212;—文gpȝ的内容完全不?x)受到?jing)响?/span>
除了(jin)从新创徏一个文件系l,q可以从一个现有的文gpȝ复制而得C份映像。例如,可以通过普通的复制操作Z?CD-ROM 创徏一份映像?/span>
如果pȝ中有一?IDE 接口?CD-ROM 驱动器,使用前面说过的设备名?/dev/hda。如?CD-ROM ?SCSI 接口的话Q设备文件名可能?/dev/scd0 之类。系l中也可能包含一个符号链?/dev/cdrom 指向实际的光驱。请参?/etc/fstab Q译者注Q?手册Q查看系l实际用的光驱对应的设备?/span>
接下来要做的仅仅是将q个讑֤复制Z个文?#8212;—得到的文件将是被存在盘上的、这?CD-ROM 内容的完整映像。例如:(x)
% cp /dev/cdrom /tmp/cdrom-image
取决于设备的速度?CD-ROM 的容量,q个操作可能需要几分钟的时间。最l的文g会(x)相当大,它的体积与这?CD-ROM 的容量相同?/span>
q时Q你可以在系l中挂蝲q个光盘而无L入原始的 CD-ROM 盘片。要挂蝲?/mnt/cdrom 目录下:(x)
mount -o loopback=/dev/loop0 /tmp/cdrom-image /mnt/cdrom
因ؓ(f)映像位于盘上,q个文gpȝ的速度远胜于直接挂蝲自实际光q时候。请注意多数光盘使用的文件系l类型都?nbsp; iso9660?/span>
]]>
lrzsz是一个古老的软gQ最新版?.12.20是在1998q更新的?/span>
大部分linux发行版的安装工具都可以直接安?lrzszQ比如apt-get / pacmanQ当然我们也可以下蝲安装包手动安装。这ơ由于我所在的服务器没有管理员权限Q我׃用源码包安装?/span>
$ mkdir /home/alswl/app
$ wget http://ohse.de/uwe/releases/lrzsz-0.12.20.tar.gz
$ tar xzvf lrzsz-0.12.20.tar.gz
$ cd lrzsz-0.12.20
$ ./configure --prefix="/home/alswl/app"
$ make
$ make install
$ export PATH="$PATH:/home/alswl/app/bin"
安装上面步骤可以安装完成了(jin)Q重点在?--prefix="/home/alswl/app"Q这可以指定安装路径Q安装到自己可以d的地方去?/span>
export作用是添加安装目录到 $PATH 下面Q这样可以直接?lsz / lrz 操作?/span>
2.E_性有所提高
Z(jin)d避免内核加蝲或者导出正在被使用的内核模块,或者至ؓ(f)?jin)减加载或者卸载模块的同时使用该模块的可能性(q有时会(x)Dpȝ崩溃Q,内核加蝲和导出内核模块的q程都得C(jin)改进?br /> 我一直以为Linux不会(x)LQ直到我的基?.4内核LinuxH然LQ造成重大损失。所以,强烈所有基?.4内核的Linux应用pȝ马上升内核Q一定注意,升前备份系l,防止升出错造成重大损失Q也要防止硬件不兼容、应用系l不兼容问题Q最好先试一下,再上U运行!
3.l一讑֤模型
l一讑֤模型的创建是 2.6 内核最重要的变化之一。它?j)进了(jin)模块接口的标准化,其目的是更好地控制和理讑֤Q例如:(x)更准地定pȝ讑֤?甉|理和设备电(sh)源状态?改进的系lȝl构理?br />
4.x即用QPnPQ支?nbsp;
q行 2.6 内核?Linux 成ؓ(f)一个真正即插即用的 OS。例如,?ISA PnP 扩展、遗?MCA ?EISA ȝ以及(qing)热插拔设备的 PnP 支持?br />
5.内核基础设施的变?nbsp;
Z(jin)区别?.o 为扩展名的常规对象文Ӟ内核模块现在使用的扩展名?.ko?创徏?jin)新?sysfs 文gpȝQ当内核发现讑֤?wi)时׃?x)描述它?内存支持QNUMA 支持 ,支持更大数量?RAM?.6 内核支持更大数量?RAMQ在分页模式下最高可?64GB?br />
6.NUMA
寚w一致内核访问(Non-Uniform Memory Access - NUMAQ系l的支持?2.6 内核中新出现的?br />
7.U程模型QNPTL
相对?v2.4 ?LinuxThreadsQ在版本 2.6 中新出现的是 NPTLQNative POSIX Threading LibraryQ?NPTL ?Linux 带来?jin)企业U程支持Q提供的性能q远过?LinuxThreads。它所Z的用户与内核U程的比率是 1:1?nbsp;
?2003 q?10 月,GNU C E序?glibc 中融入了(jin) NPTL 支持QRed Hat 率先?Red Hat Linux 9 ?Red Hat Enterprise Linux 中用定制的 v2.4 内核实现?NPTL?br />
8.性能改进
新的调度器算?/span> Q?.6 Linux 内核引入?jin)新?O(1) 法。在高负载情况下它运行得特别好。新的调度器Z每个 CPU 来分布时间片Q?q样消除了(jin)全局同步和重新分配@环,从而提高了(jin)性能?nbsp;
内核抢占QKernel PreemptionQ?Q新?2.6 内核是抢占式的。这显著地提高交互式和多媒体应用程序的性能?nbsp;
I/O 性能改进QLinux ?I/O 子系l也发生?jin)重大的变化Q通过修改 I/O 调度器来保不会(x)有进E驻留在队列中过长时间等待进行输?输出操作Q?q样׃?I/O 操作的响应更速?br /> 快速用L(fng)间互斥(F(tun)ast User-Space MutexesQ?Q?#8220;futexes”Q快速用L(fng)间互斥)(j)可以使线E串行化以避免竞态条Ӟ引入它也提高?jin)响应速度?通过在内核空间中部分实现“futexes”以允许基于竞争设|等待Q务的优先U而实现改q?br />
9.扩展性改q?nbsp;
处理器数目更多,Linux 内核 2.6 最多可以支?64 ?CPU。支持更大的内存Q归功于 PAEQ物理地址扩展QPhysical Address ExtensionsQ,?32-位系l上分页模式下所支持的内存增加到?64GB?nbsp;
用户和组Q惟一用户和组的数量从 65Q?00 增至 40 多亿Q也是?16-位增加到?32-位?nbsp;
PID 的数量,PID 的最大数量从 32Q?00 增至 10 ѝ?nbsp;
打开文g描述W的数量Q打开文g描述W的数量没有增加Q但是不再需要事先设|该参数Q它?yu)自行调节?br />
10.支持更多的设?br /> ?Linux 内核 2.6 之前Q内怸有可以约束大型系l的限制Q比如每条链 256 个设备。v2.6 内核d地打破了(jin)q些限制Q?不但可以支持更多cd的设备,而且支持更多同类型的讑֤。在 Linux 2.6 pȝ中,可以支持 4095 U主要的讑֤cdQ?每一个单独的cd可以有超q一百万个子讑֤?文gpȝ大小Q?Linux 内核 2.6 所允许的可d文gpȝ大小最大ؓ(f) 16 TB?br />
11.文gpȝ
ext2、ext3 ?ReiserFS {传l?Linux 文gpȝ得到?jin)显著的改进。最值得注意的改q是扩展属性(或文件元数据Q的引入?最重要的是 POSIX ACL 的实玎ͼq是Ҏ(gu)?UNIX 权限的扩展,可以支持更细化的用户讉K控制?/p>
12.除了(jin)对传l?Linux 文gpȝ的改q支持以外,新的内核完全支持?Linux 中相对较新的 XFS 文gpȝ?Linux 2.6 内核现在q引入了(jin)?NTFS 文gpȝ的改q的支持Q现在允总?写模式安?NTFS 文gpȝ?/p>
一、CentOSpȝ讉K g.cn Q发C文ؕ码?/p>
于是用以前的方式Qyum -y install fonts-chinese
CentOSpȝ安装后,q是不能昄中文字体。我使用 gedit ~辑源码Q其中文注释也ؓ(f)q?br />
后来Q终于找C下方法可以解冻I需要两个中文支持的包:(x)
fonts-chinese-3.02-12.el5.noarch.rpm
ftp://ftp.muug.mb.ca/mirror/centos/5.4/os/x86_64/CentOS/fonts-chinese-3.02-12.el5.noarch.rpm
fonts-ISO8859-2-75dpi-1.0-17.1.noarch.rpm
ftp://ftp.muug.mb.ca/mirror/centos/5.4/os/x86_64/CentOS/fonts-ISO8859-2-75dpi-1.0-17.1.noarch.rpm
一个是中文字体Q一个是字体昄包?/p>
下蝲后,在命令行安装Q?/p>
#rpm -ivh XXXX Q?XXXX 代表上面那两个包的全名, rpm 不会(x)不知道怎么用吧Q)(j)
CentOSpȝ安装完成后,重新启动卛_?/p>
二、终端?gedit 昄q
#vi /etc/sysconfig/i18n
LANG="en_US.UTF-8"
SYSFONT="latarcyrheb-sun16"
修改原内容ؓ(f)
LANG="zh_CN.GB18030"
LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"
SUPPORTED="zh_CN.UTF-8:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="lat0-sun16"
?yum 安装中文字体
#yum install fonts-chinese.noarch
system -> logout 注销
重新dCentOSpȝӞ你会(x)发现Q所有界面已从英文变成中文。在l端输入 date 命o(h)试
#date
2009 q?11 ?24 ?星期一 12:07:00 CST
三、在 ssh Q?telnet l端中文昄q解决办法Q?CentOS 5.3 Q?/p>
#vi /etc/sysconfig/i18n
原内容 LANG="en_US.UTF-8"
SYSFONT="latarcyrheb-sun16"
修改?/p>
LANG="zh_CN.GB18030"
LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"
SUPPORTED="zh_CN.UTF-8:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="lat0-sun16"
?yum 安装中文字体
#yum install fonts-chinese.noarch
断开 ssh Q重新连
在终端输?date 命o(h)试
#date
2009 q?11 ?24 ?星期一 12:09:00 CST
四、在CentOSpȝ 5.3 中用中文输入法
我以前的Ҏ(gu)是安装企鹅版 Q见下一??在此Q还有一个更单的Q只要?yum 安装 SCIM 卛_?/p>
命o(h)行输入:(x)
#yum install scim
#yum install scim-pinyin
重启动XQ按Ctrl+Alt+BackpaceQ或注销QlogoutQ?/p>
好了(jin)Q可以输入中文了(jin)。CentOSpȝ出现中文q的问题就q样解决?jin)?/p>
一、已安装xppȝ?/p>
安装xp与centos共存的双pȝQ是否一定要先装xpQ我觉得应该不是。不q因为我盘已经安装?jin)xpQ就q脆ZxppȝQwindowspȝQ来安装centospȝQ或redhatpȝQ与现有pȝ共存?jin)?/p>
二、安装grub引导E序?/p>
先下载grub4dos软gQ下载grub4dos后,解压~后可以了(jin)。核?j)文件有下面q几个:(x)grldr和grub.exeQ及(qing)menu.lst 它们拷贝到c盘下?/p>
Z(jin)讄通过windowsxppȝ的启动菜单进入grub引导菜单。须q行如下讄Q?/p>
grldr文g复制到c:\Q去掉boot.ini的只d性,然后修改c:\boot.ini文gQ在boot.ini的最后面加一行:(x)
c:\grldr=”Start GRUB4DOS”
q将boot.ini中的timeoutD|ؓ(f)大于0的数字,?timeout=5Q然后保存boot.iniQ改回只d性?br />~辑boot.ini前,可在cmd下输入:(x)
attrib -s -r -h c:\boot.ini
解除boot.ini的只d性,~辑完后输入Q?br /> attrib +s +r +h c:\boot.ini
恢复boot.ini的原有属性?/p>
~辑完重新启动计机Q在windowsxp启动菜单׃(x)出现“Start GRUB4DOS”q一,选择该项卛_q入grub4dos的环境?/p>
1、从linux镜像文g中找到boot.iso文gQ位|:(x)linux镜像文g中的/images/boot.iso.导出该文件。然后解压boot.iso文gQ将boot目录下的isolinux目录拯到c盘下?/p>
2、修改上文提到的menu.lst文g。在文g中加入如下内容:(x)
title CentOS
kernel (hd0,0)/isolinux/vmlinuz
initrd (hd0,0)/isolinux/initrd.img
3、修改后启动计算机时q入grub引导菜单后,可以看到名?#8221;centos”的启动选项。可q入linux安装引导?/p>
四、准备一个分区用来安装centospȝ?/p>
1、一般情况下Q可以将盘的最后一个分区删除预留给安装linuxpȝQ也可不删除Q安装linuxpȝq程中,可以选择要安装的分区q进行格式化操作Q?/p>
2、将linux镜像文g拯CQ何一个fat格式的分区?/p>
五、安装linux centospȝ?/p>
开机启动,q入grub菜单Q选择linux引导。根据提C选择centos镜像文g所在位|?在此处我安装的时候郁闷hard disk driver no found的问题,我进入bios讄hard disk的模式把从IDE换成AHCI模式才可以解册问题Q另外如果要想重新进入XP又要模式改回IDE)Ql根据提C行安装操作。安装系l后Qcentos默认作ؓ(f)W一启动菜单。启动centos时会(x)先进入centosgrub启动菜单Q倒计时结束前Q按上下方向可进入选择菜单Q选择other可进入windows启动菜单?/p>
到此QwindowsQxpQ与linuxQcentosQ双pȝ已l安装完毕了(jin)?/p>
1.dd
dd是一条拷贝指令,作用是用指定大小的块拯一个文Ӟq在拯的同时进行指定的转换?br />dd if=input of=output 格式是q样Q表CZif指定的input把信息拷贝到of指定的output中?
我们在做swap拯Ӟ?span style="color: red">dd if=/dev/zero of=/var/swap/file.swap bs=1024K count=64
从zero讑֤里面拷内容到file.swap文g中,?M(1024k)为块单位Q一共拷?4块,?4M。这里需要说的是/dev/zeroq个讑֤Q其实这是一个伪讑֤Q作用是不停的往外输?。与/dev/nullq个伪设备相反,/dev/null是不停的可以把垃圾信息往里面输入Q然后就没有?像黑z一?。这样就创徏?jin)一?4M大小内容全是0的file.swap文g?br /> 然后通过mkswap /var/swap/file.swap 当然如果你不x久的让文件成Z换区而是Ҏ(gu)需要动态开养I׃要修攚w|文Ӟ而是通过把该文g讄成交换区的一部分。然后在/etc/fastab的配|文件中修改配置文g加一?/var/swap/file.swap swap swap defults 0 0 q样pȝ开机就?x)自动加载这个swap文gQ就使得该文件成功永久变成了(jin)swap分区的一部分。当然如果不惌个文件永久成为swap分区的一部分Q而是惛_态的Ҏ(gu)需求来dswap分区Q可以?span style="color: red">swapon /var/swap/file.swap 或swapoff来对文gq行开兟?br />qdd /dev/zero zerofile bs=1024k count=102400 的命令创Z?00G的文Ӟ那么很有?/p>
能就?x)把pȝ目录分区胀满,q样许多临时文g都没法创Z(jin)Q导致重新引导失败。得知后果其 实是很严重的Q那么其中一个解册个问题的Ҏ(gu)是l用L(fng)分区q行盘配额限制?br />(1)开启分区磁盘配额功?br /> 开启的Ҏ(gu)是在/etc/fstab文g中,在挂载属性上加上标志usrquota(用户配额),当然要记得重启修改的配置才生效! 所有的pȝ分区 (3)启用配额功能 (4)~辑用户配额信息
四、磁盘配?/strong>
试想Q如果一个用L(fng)宿主目录和系l目录是在一个分ZQ那么用户在自己的宿ȝ录?/p>
(2)建立配额数据?br /> 使用quotacheck -cvuga 命o(h)?x)自动生成aquita.user和aquita.group两个文g(q是用于对该分区q行配额理的文??br />1.quotacheck
-c 创徏 Q?v 创徏q程昄信息Q?u表示创徏用户配额文gQ?g表示创徏l配额文Ӟ-a表示(g)
如果不是(g)所有的pȝ区就?aL加上需要检的分区 quotacheck -cvu /web
1.quotaon 分区名称 开?br />2.quotaoff 分区名称 关闭
使用edquota 用户?可以进入来~辑该用L(fng)配额信息。edquota mysileng可以看到因ؓ(f)我们开启了(jin)一个分区的配额功能所以配|文仉面有?jin)一行?br />
q就是mysileng用户的配额分配页Q因为我们只开启了(jin)一个配额分区功能,那么只有一行信息。filessystem是分区Qblocks是块单位?k,soft是Y性限Ӟhard是硬性限制。Y性限制是在超出限制后?x)给(gu)告,q在7天之内删除超出的部分。硬性限制是在超出时候给予错误的提示。inode与blockscMQ只是限制inode节点数而不是大?br />
我们把block的hardҎ(gu)100M?02400卛_。保存退出就可以?jin)。然后通过repquota -a可以查看所有用L(fng)配额信息Q?span style="color: red; ">repquota 分区可以查看该分区配额信息?span style="color: red; ">quota 用户?/span>查看用户配额信息?span style="color: red; ">edquota -t 讄soft的宽限期?edquota -p 模板用户 复制用户1 复制用户2 可以把模板用户的配额信息复制给复制用户?br />
]]>
1.default:定义~省启动的操作系l,在多pȝ旉用?nbsp;
2.timeoutQ定义缺省等待的旉?br />
(hd0,0)是什么意思呢Qhd是硬盘的意思,一般hda表示W一个硬盘,而hdb表示W?个硬盘。在grub里面hd0是hda的意思,hd1是hdb的意思。而逗号后面?表示W一个分区的意思。所以(hd0,0Q表C第一个硬盘的W一个分区?
4.hiddenmenu:隐藏菜单
5.titleQ定义上q隐藏菜单的菜单名U?span style="font-family: '宋体'; color: rgb(0,0,0); font-size: 14pt; mso-spacerun: 'yes'">
6.root: 定义/boot目录的分Z|?讄grubE序的位|?
7.kernel :定义?jin)内核所在的位置
8.initrd:加蝲镜像文g
接下来介l一些grub的简单命令与应用?/p>
通过上述命o(h)我们可以做些单应?eQ编辑当前的启动菜单?span style="font-family: '宋体'; color: rgb(0,0,0); font-size: 14pt; mso-spacerun: 'yes'">
cQ进入grub的命令行方式
bQ启动当前菜单项
dQ删除当前行
ESC:q回grub启动菜单界面Q取消对当前菜单的M修改
一、root密码忘记如何q入单用h?span style="font-family: '宋体'; color: rgb(0,0,0); font-size: 14pt; mso-spacerun: 'yes'">
单用h式只有root可以q入Q所以进入单用户模式是不需要输入root密码的,所以忘记密码,可以q入单用户密码来更改root的密码?span style="font-family: '宋体'; color: rgb(0,0,0); font-size: 14pt; mso-spacerun: 'yes'">
开入grub界面Ӟ按eq入~辑行模式,选中kernel行,再按eQ在新的界面的最后一行输入lQ与前一个字母有一个空|(j)。回车以后按b卛_?span style="font-family: '宋体'; color: rgb(0,0,0); font-size: 14pt; mso-spacerun: 'yes'">
同样如果遇到inittab的默认运行别被Ҏ(gu)0或?的话Q可以通过上述grub的指定方式直接进入某U运行别再修改配置文g?br />
二、设|grub密码
先用下面两种方式得到明文的MD5密文
1.输入grub-md5-crypt
2.先输入grub,在输入md5crypt
然后复制密文Q进入grub.conf配置文g?span style="font-family: '宋体'; color: rgb(0,0,0); font-size: 14pt; mso-spacerun: 'yes'">
在title前加入一行选项Q?span style="font-family: '宋体'; color: rgb(0,0,0); font-size: 14pt; mso-spacerun: 'yes'">
password --md5 密文
三、grub修复
首先按下c键进入grub命o(h)?通过通过命o(h)行手动启动,而不是通过grub.conf文g?img border="0" alt="" src="http://m.shnenglu.com/images/cppblog_com/mysileng/grubcomline.png" />
?br /> 上图是pȝ引导程的流E图Q我们一个部分一个部分来分别介绍Q?/p>
一、固Ӟ(x)?sh)脑按下甉|以后Q首先都是加载固Ӟ叫做firmwallQPC上面应用最多的是CMOS/BIOSQCMOS是固化在g上的那段E序QBIOS是基于这个程序的囑Ş化管理界面)(j)Q它既不是硬件也不是软gQ它主要的功能是在硬件层面进行加?sh)自(g)Q通常是检查线q上没,g可以识别没)(j)。在SUN的系l里不叫cmos而叫promQ也不叫bios而叫openbooterQ所以名字虽然不同但是原理是差不多的Q要学习(fn)q些ZgQ在购买服务器的时候,?x)有操作手册Q上面会(x)有各U命令的解释。固件设|里面只讲一点就是硬件时钟和软g旉的设|?hwclock与date)?br />
二、自居程序:(x)在进行完加电(sh)自检Q电(sh)脑会(x)开始读盘Q首先读的是MBR(master boot recorder)dD录,dD录在0柱面0头1扇区的位|。主引导记录?个部分:(x)自居E序bootloader,盘分区表Partition table,l束标志字magic number?img border="0" alt="" src="http://m.shnenglu.com/images/cppblog_com/mysileng/zijuchengxu.png" />
自居E序在所有的操作pȝ里面都有Q在linux自居E序中广泛应用的是grubQwindows的自居程序在C盘可以查看到QNTloaderQ。那自居E序grub有什么用呢?它最重要的作用就是蝲入内?/span>。其实内核在/boot文gҎ(gu)可以查看到的Q内核其实是一个可执行文g而不是一堆文件。一堆文件的那个是内核的源代码文件而不是可以用的内核E序。内核的版本号和名字{配|信息可以在/etc/grab.conf配置文g查看Q该配置文g具体的内容将在后l中详细剖析?span style="font-family: '宋体'; font-size: 14pt; mso-spacerun: 'yes'">
三、蝲入内核:(x)在蝲入内总后,工作׃l了(jin)内核。内核在引导期间Q其实最主要只做两个事情Q?.首先是驱动硬Ӟ所谓驱动就是ɾpȝ认识gQƈ调用g。一个系l最庞大的部分就是驱动,通常Ҏ(gu)需要对驱动q行裁剪Q就成了(jin)裁决pȝ?然后是启动一个进E,叫做initq程。它应该是系l存在的W一个进E?br />
四、启动进EinitQ该q程的的PIDQ进EIDQ恒?Q一般情况下PID是随卛_配的Q但是initq程是固定的。PPIDUCؓ(f)父进EIDQ可以看出initq程的父q程的PID?Q其实PID?的进E是内核调度器(kernel schedulerQ它负责对进E进行调度,即CPU旉片的分配?/p>
在父子进E关pMQ按道理父进E死?jin),子进E必L。但是有时候父q程M(jin)Q但是子q程因ؓ(f)某种Ҏ(gu)情况q没有死Q这样子q程成?jin)孤儿进E,linux(g)查到孤儿q程Q会(x)把该孤儿q程的PPID变成1。另外一U情况,是子进E死?jin),父进E不知道Q导致子q程变成僵尸q程?br />
五、读取配|文件inittab:在启动进Einit以后,׃(x)d/etc/inittab配置文g。用more /etc/inittab打开inittab文gQ首先看到的是关于系l运行别的信息?span style="font-family: '宋体'; font-size: 14pt; font-weight: normal; mso-spacerun: 'yes'">
Linuxq行U别(runlevel)一共有7U:(x)
0haltQ关机)(j)
1.Singgle user mode(但用PcMwindows的安全模?
2.Multiuser(没有NFS|络文g׃n服务的多用户模式Q命令行)
3.Full multiuer mode(?一P多加?jin)NFS)
4.UnuerdQ还未用)(j)
5.X11(默认使用Q图形界?
6.RebootQ重启)(j)
如上所q默认的一般是5.通过命o(h)runlevel可以查看当前q行U别。通过init num或者telinit num可以动态切换运行界别?其实通过ls -l 'which telinit'可以得知telinit是init的一个Y链接)?span style="font-family: '宋体'; font-size: 14pt; font-weight: normal; mso-spacerun: 'yes'">
接着l箋学习(fn)inittab配置文gQ用grep -v '^#' /etc/inittab | more 得到没有注释的配|文件。通过man init可以得知Q所有init配置文g里面的每行都是通过格式
id : runlevels : action : process
id:标识W,标记条目的唯一性,一般ؓ(f)两位字母或者数?span style="font-family: '宋体'; color: rgb(0,0,0); font-size: 14pt; mso-spacerun: 'yes'">
runlevelsQ指定运行别,如果为空Q表C所有运行别都可以?span style="font-family: '宋体'; color: rgb(0,0,0); font-size: 14pt; mso-spacerun: 'yes'">
actionQ指定脚本或者命令的q行状?/p>
processQ指定要q行的脚本或者命?/p>
下面对action的取D行介l:(x)
1.initdefault:指定pȝ~省启动的运行?span style="font-family: '宋体'; color: rgb(0,0,0); font-size: 14pt; mso-spacerun: 'yes'">
2.sysinitQ系l启动时Q执行process指定的脚本或命o(h)
3.wait:执行process指定的命令或者脚本,q在执行完成以后才运行其他的条目.
4.onceQ执?/font>process命o(h)或者脚本,但不{待其结束?/font>
5.CtrlaltdelQ按?/font>ctrl+alt+del键,执行process
6.Respawn:一旦该processl止Q则重新q行?/font>process指定的命令或?/font>
7.Powerfail:甉|出错执行process
8.Powerokwait:甉|恢复执行?/font>process
上述W三个action值wait的例子中Q其实通过ls -l /etc/rc.d/rc可以得知Qrc其实是一个可执行文gQ其实也是脚本)(j)。在rc.dq个目录下其实ƈ不只有rcq一个文Ӟq有许多文g或者目录?img border="0" alt="" src="http://m.shnenglu.com/images/cppblog_com/mysileng/lsrcd.jpg" width="998" height="150" />
可以看到有从rc0.d到rc6.d?个目录。他们是相应q行U别需要启动的服务目录文g。系l是通过actionQinitdefault的运行别来匚wq里的服务目录的。现在以rc3.dZQ?img border="0" alt="" src="http://m.shnenglu.com/images/cppblog_com/mysileng/r3d.png" />
可以看到rc3.d目录下有很多服务E序Q从他们的名UCQ我可以可以得知它们的作用,名称都是?个部分组成:(x)
W一个大写字?数字+名字
W一个大写字母SQstartQ表C启动服务,KQkillQ表C杀L?span style="font-family: '宋体'; color: rgb(0,0,0); font-size: 14pt; mso-spacerun: 'yes'">
数字表示启动序Q数字越越先启动,数字相同Q按照创建时间启?名字Ҏ(gu)作用而定?/p>
所以在q里我们可以Ҏ(gu)自己应用的需要,把有用的q程开启,无用的关闭,比如如果无用的不惛_启,可以把SҎ(gu)sQ就不会(x)启动?jin)?/p>
此处加一个专题,是我们如何在系l启动好以后来动态开启和关闭服务呢?
首先我们要知道,pȝ所有的服务都是?etc/rc.d/init.d目录下。我们可以通过start、stop、restart、status来启动、终止、重新启动、查看状态来操作服务。例?用sshd服务ZQ?img border="0" alt="" src="http://m.shnenglu.com/images/cppblog_com/mysileng/service.png" />现在我们如果要把一个服务变成开机启动有3U方法:(x)
Q?Q第一个就是在/etc/rc.d/rcn.d的服务目录中创徏一个名为SXXX的Y链接Q指向一个脚本就可以?jin)?span style="font-family: '宋体'; color: rgb(0,0,0); font-size: 14pt; mso-spacerun: 'yes'">
Q?Q用chkconfig命o(h)讄q程是否启动
Q?Q用ntsysvq入囑Ş化设|进E是否启?nbsp;