filev is only for testing or very careful use. of you data is recommended. you want to continue?
TRANSCRIPT
文档下载 免费文档下载http://www.mianfeiwendang.com/
本文档下载自文档下载网,内容可能不完整,您可以点击以下网址继续阅读或下载:http://www.mianfeiwendang.com/doc/d8d964c4d65fb59ca710f72d
Linux 新手入门新手可以多看一下哦!
分区大小调整完全手册
分区大小调整完全手册
* 09/30
* 2007
速度优化 | Linux 7683 次查看
* 上一条:使用虚拟内存(virtualmemory,VM)文件系统和绑定安装
* 下一条:apache 的特性
文档下载 免费文档下载http://www.mianfeiwendang.com/
摘要
本文以一个例子介绍调整分区大小的完整过程。(2004-03-25 16:59:41)
环境
服务器安装有一个 60G 的硬盘,目前已经划分为/、/home、/chroot 和/swap,详细的分区信息如何下所示:
(m for help): p
/dev/hda: 61.4 GB, 61492838400 bytes
heads, 63 sectors/track, 7476 cylinders
= cylinders of 16065 * 512 = 8225280 bytes
Boot Start End Blocks Id System
文档下载 免费文档下载http://www.mianfeiwendang.com/
/dev/hda1 * 1 915 7349706 83 Linux
/dev/hda2 916 1414 4008217 83 Linux
/dev/hda3 1415 7476 48693015 5 Extended
/dev/hda5 1415 1477 506016 82 Linux swap
/dev/hda6 1478 7476 48186936 83 Linux
然 后 现 在 希 望 从 /home 分 区 里 面 分 出 大 约 4GB 的 空 间 用 于 安 装 FreeBSD 。 ://www.mianfeiwendang.com/doc/d8d964c4d65fb59ca710f72d
过程
首先,我们需要调整文件系统的大小(注意是文件系统,而不是分区的大小),然后对调整完毕的文件系统进行检查,然后再进一步调整分区的大小。
文档下载 免费文档下载http://www.mianfeiwendang.com/
文章以我自己用的系统为例子,实际操作时根据情况调整即可。
用惯了传统调整硬盘工具的人可能会认为文件系统和硬盘的分区之间是统一的,实际上他们之间并不是完整的整体(这也就是为什么 BSD 可以在一个硬盘分区里面制作多个文件系统分区)。想像一下带有移动式书架的书橱。你可以通过移动式书架调整书橱里面书籍的位置。把书当成文件系统,你可以在书橱里面放满书籍,也可以通过移动式书架调整书橱的空间。当然也可以通过书架调整书橱里面书籍存放的位置。如下图所示:
|||
--------------- ---------------
|XXXXXXXXXXXXXXX|XXXXXXXXXX| |
|XXXXXXXXXXXXXXX|XXXXXXXXXX| |
--------------- ---------------
文档下载 免费文档下载http://www.mianfeiwendang.com/
硬盘分区/dev/hda1 中的文件系统占满了整个分区,而/dev/hda2 中的文件系统只占用了2/3 左右的分区。
基本的原理就是这样,现在让我们开始调整/dev/hda6 中文件系统的大小:
[root@ringmail root]# umount /home
[root@ringmail root]# resize_reiserfs -s 43000M /dev/hda6
3.6.4
are running BETA version of reiserfs shrinker.
vhttp://www.mianfeiwendang.com/doc/d8d964c4d65fb59ca710f72dersion is only for testing or VERY CAREFUL use.
of you data is recommended.
you want to continue? [y/N]:y
文档下载 免费文档下载http://www.mianfeiwendang.com/
the tree: 0%
....20%....40%....60%....80%....100% left 0, 301020 /sec
processed (moved):
56 (0),
8124 (0),
6313240 (0),
6321420 (0).
for used blocks in truncated region
report:
4096
count 11008000 (12046734)
文档下载 免费文档下载http://www.mianfeiwendang.com/
blocks 4678034 (5716736)
block count 336 (368)
..done
由于/home 原来的大小是 47057,而我们希望在/home 里面划分 4G 的空间出来,取整数/home 的目标大小就是 43000。所以在 resize_reiserfs 时为-s 提供大小为 43000M。
这样我们就已经完成了文件系统大小调整的工作,下面让我们计算一下目标分区的大小,这个大小需要根据你的 fdisk 里面的 Units 值来计算,因为硬盘分区都是按照柱面来划分的,基本的计算 http://www.mianfeiwendang.com/doc/d8d964c4d65fb59ca710f72d 方法为:43000*1024*1024/8225280= 5481.7304699657640834111422346716,然 后 我 们 取 最 接 近 的 值 5482 1478=6960 来 作 为 分 区 结 束 的 柱 号 , 这 里 面 的 1478
是/home 分区开始的柱面号,在前面的 fdisk 里面可以看到。
调整完文件系统的大小以后,再使用以下命令以文件系统进行全面的检查:
[root@ringmail root]# reiserfsck --check --fix-fixable /dev/hda6
文档下载 免费文档下载http://www.mianfeiwendang.com/
现在我们已经完成文件系统的大小调整工作,但是硬盘分区的大小仍然没有调整,还是跟先前一样大(可以想像我们从书橱里面拿走了几本书,而书架的大小并没有调整,依然占用着原来的空间)。
现在我们要开始进行整个操作里面最危险的操作:如果没有必要的话,最好不要进行下去 :-
D,不过不必过于担心,按照以下操作进行即可。
启动 fdisk,并按照以下步骤进行:
[root@ringmail root]# fdisk /dev/hda
number of cylinders for this disk is set to 7476.
is nothing wrong with that, but this is larger than 1024,
could in certain setups cause problems with:
) software that runs at boot time (e.g., old versions of LILO)
文档下载 免费文档下载http://www.mianfeiwendang.com/
) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)://www.mianfeiwendang.com/doc/d8d964c4d65fb59ca710f72dar
(m for help): p
/dev/hda: 61.4 GB, 61492838400 bytes
heads, 63 sectors/track, 7476 cylinders
= cylinders of 16065 * 512 = 8225280 bytes
Boot Start End Blocks Id System
/dev/hda1 * 1 915 7349706 83 Linux
/dev/hda2 916 1414 4008217 83 Linux
/dev/hda3 1415 7476 48693015 5 Extended
文档下载 免费文档下载http://www.mianfeiwendang.com/
/dev/hda5 1415 1477 506016 82 Linux swap
/dev/hda6 1478 7476 48186936 83 Linux
(m for help): d
number (1-6): 6
(m for help): n Command action l logical (5 or over) p primary partition (1-4) l First cylinder (1478-7476, default 1478): 1478 Last cylinder or size or sizeM or sizeK (1478-7476, default 7476): 6960 Command (m for help): p Disk /dev/hda: 61.4 GB, 61492838400 bytes 2http://www.mianfeiwendang.com/doc/d8d964c4d65fb59ca710f72d55 heads, 63 sectors/track, 7476 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/hda1 * 1 915 7349706 83 Linux /dev/hda2 916 1414 4008217 83 Linux /dev/hda3 1415 7476 48693015 5 Extended /dev/hda5 1415 1477 506016 82 Linux swap /dev/hda6 1478 6960 44042166 83 Linux Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. WARNING: Re-reading the partition table failed with error 16: Device or resource busy.kernel still uses the old table.
文档下载 免费文档下载http://www.mianfeiwendang.com/
new table will be used at the next reboot.
disks.
这里需要说明的是,由于内核仍然使用旧的分区表,我需要通过重新启动才可以刷新刚制作的分区信息,所以在进行完重划分区操作以后,我对系统进行了重新启操作。系统重启后再继续后续的操作过程。
通过以上步骤,我们已经完成了硬盘分区大小调整的操作,接下来回到重新调整文件系统大小的问题上来。由于硬盘分区是按照柱面来计划的,我们要在 resize_reiserfs 步骤上就一步到位调整文件系统大小与硬盘分区大小正好相等是比较困难的事情。所以一般是调硬盘分区 比 文 件 系 统 要 大 一 点 点 , 然 后 再 通 过 以 下 命 令 进 行 同 步 (http://
www.mianfeiwendang.com/doc/d8d964c4d65fb59ca710f72d 当然如果你不在意硬盘分区里面存在部分空间的话也可以忽略以下步骤):
[root@ringmail root]# umount /home/
[root@ringmail root]# resize_reiserfs /dev/hda6
3.6.4
文档下载 免费文档下载http://www.mianfeiwendang.com/
report:
4096
count 11010541 (11008000)
blocks 4680574 (4678034)
block count 337 (336)
..done
完成以后原有分区的大小调整操作已经结束,接下来需要创建新分区:
[root@ringmail root]# fdisk /dev/hda
number of cylinders for this disk is set to 7476.
is nothing wrong with that, but this is larger than 1024,
文档下载 免费文档下载http://www.mianfeiwendang.com/
) software that runs at boot time (e.g., old versions of LILO) 2) booting and partitioning software from other OSs (e.g., DOS FDISK, OS/2 FDISK) Command (m for help): p Disk /dev/hda: 61.4 GB, 61492838400 bytes 255 heads, 63 sectors/track, 7476 http://www.mianfeiwendang.com/doc/d8d964c4d65fb59ca710f72dcylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/hda1 * 1 915 7349706 83 Linux /dev/hda2 916 1414 4008217 83 Linux /dev/hda3 1415 7476 48693015 5 Extended /dev/hda5 1415 1477 506016 82 Linux swap /dev/hda6 1478 6960 44042166 83 Linux Command (m for help): n Command action l logical (5 or over) p primary partition (1-4) l First cylinder (6961-7476, default 6961): Using default value 6961 Last cylinder or size or sizeM or sizeK (6961-7476, default 7476): Using default value 7476 Command (m for help): t
code (type L to list codes): a5 Changed system type of partition 7 to a5 (FreeBSD) Command (m for help): p Disk /dev/hda: 61.4 GB, 61492838400 bytes 255 heads, 63 sectors/track, 7476 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/hda1 * 1 915 7349706 83 Linux /dev/hda2 916 141http://www.mianfeiwendang.com/doc/d8d964c4d65fb59ca710f72d4 4008217 83 Linux /dev/hda3 1415 7476 48693015 5 Extended /dev/hda5 1415 1477 506016 82 Linux swap /dev/hda6 1478 6960 44042166 83 Linux /dev/hda7 6961 7476 4144738 a5 FreeBSD Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. WARNING: Re-reading the partition table failed with error 16: Device or resource busy. The kernel still uses the old table. The new table will be used at the next reboot. Syncing disks.
至此,整个调整分区大小及创建新分区的操作全部完成。
文档下载 免费文档下载http://www.mianfeiwendang.com/
--rereadpt /dev/hda
can re-read the partitions table.
-z
also okay, and easier to remember
[Ubuntu-9.10] 修改 grub 以更改默认启动系统
网上的说法主要有两种,分别是修改两个文件:
/boot/grub/grub.conf or /boot/grub/menu.lst
也有说是 /etc 目录下的相应文件的,但是在 Ubuntu-9.10 下面,具体文件是这样地: /boot/grub/grub.cfg
至 于 更 改 的 那 个 set default=”xhttp://www.mianfeiwendang.com/doc/d8d964c4d65fb59ca710f72d“
, 那个 x 的意思,就拿我机器作为例子来说:
[eg].> ls -l grub.cfg-r--r--r-- grub.cfg
文档下载 免费文档下载http://www.mianfeiwendang.com/
> sudo chmod 244 grub.cfg> ls -l grub.cfg--w-r--r-- grub.cfg
> sudo vim grub.cfg
修改之后,最后别忘了:> sudo chmod 444 grub.cfg // 一定记得要改回来.
我晕,用过一段时间后竟然有这么多东西,那么就用彩色来突出一下重点吧,其他内容请自动跳过。如蓝色部分所示,grub 里面一共分为这么几个部分,一般三个。再如红色部分所示,也就是 menuentry 项,所以 menuentry 项按顺序从 0 开始排列,如果想让哪个被默认启动,就将 set default=“x” 中的 x 改为那个 entry 的编号。eg,如果我的电脑想默认进 windows (虽然这是没门的事),就另 x 为 8. 体现为启动时到选择启动系统时光标默认定位在 windows 系统入口上。
至于将 windows 系统不仅设置为默认启动, 而且要放在所有系统入口最顶端,还没试过。只是根据这个文件猜测:是不是将这个文件的 windows 的那个 menuentry 剪切到最前面就行? 使其 entry 编号为 0... 这个猜测暂不确定。
------------------------------------- grub.cfg, start ---------------------------------#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by /usr/sbin/grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#
##http://www.mianfeiwendang.com/doc/d8d964c4d65fb59ca710f72d# BEGIN /etc/grub.d/00_header ###
文档下载 免费文档下载http://www.mianfeiwendang.com/
[ -s /boot/grub/grubenv ]; then_grubenv=true_env
default="0"[ $prev_saved_entry ]; then_entry=$prev_saved_entry_env saved_entry_saved_entry=_env prev_saved_entry
ext2root=(hd0,8)--no-floppy --fs-uuid --set ab1eac76-a5d7-4656-8918-ffb406010912loadfont /usr/share/grub/unicode.pf2 ; thengfxmode=640x480gfxtermvbe if terminal_output gfxterm ; then true ; else # For backward compatibility with versions of terminal.mod that don't # understand terminal_output terminal gfxterm fifiif [ $recordfail = 1 ]; then set timeout=-1else set timeout=10fi### END /etc/grub.d/00_header ###
### BEGIN /etc/grub.d/05_debian_theme ###set menu_color_normal=white/blackset http://www.mianfeiwendang.com/doc/d8d964c4d65fb59ca710f72dmenu_color_highlight=black/white### END /etc/grub.d/05_debian_theme ###
### BEGIN /etc/grub.d/10_linux ###menuentry "Ubuntu, Linux
.6.31-18-generic" // 0 recordfail=1 if [ -n $have_grubenv ]; then save_env recordfail; fi set quiet=1 insmod ext2 set root=(hd0,8) search --no-floppy --fs-uuid --set ab1eac76-a5d7-4656-8918-ffb406010912 linux /boot/vmlinuz-2.6.31-18-generic root=UUID=ab1eac76-a5d7-4656-8918-
文档下载 免费文档下载http://www.mianfeiwendang.com/
ffb406010912 ro quiet splash initrd /boot/initrd.img-2.6.31-18-genericmenuentry "Ubuntu, Linux
.6.31-18-generic (recovery mode)" // 1 recordfail=1 if [ -n $have_grubenv ]; then save_env recordfail; fi insmod ext2 set root=(hd0,8) search --no-floppy --fs-uuid --set ab1eac76-a5d7-4656-8918-ffb406010912 linux /boot/vmlinuz-2.6.31-18-generic root=UUID=ab1eac76-a5d7-4656-8918-ffb406010912 ro single initrd /boot/inihttp://www.mianfeiwendang.com/doc/d8d964c4d65fb59ca710f72dtrd.img-2.6.31-18-genericmenuentry "Ubuntu, Linux
.6.31-17-generic" // 2 recordfail=1 if [ -n $have_grubenv ]; then save_env recordfail; fi set quiet=1 insmod ext2 set root=(hd0,8) search --no-floppy --fs-uuid --set ab1eac76-a5d7-4656-8918-ffb406010912 linux /boot/vmlinuz-2.6.31-17-generic root=UUID=ab1eac76-a5d7-4656-8918-ffb406010912 ro quiet splash initrd /boot/initrd.img-2.6.31-17-genericmenuentry "Ubuntu, Linux
.6.31-17-generic (recovery mode)" // 3 recordfail=1 if [ -n $have_grubenv ]; then save_env recordfail; fi insmod ext2 set root=(hd0,8) search --no-floppy --fs-uuid --set ab1eac76-a5d7-4656-8918-ffb406010912 linux /boot/vmlinuz-2.6.31-17-generic root=UUID=ab1eac76-a5d7-4656-8918-ffb406010912 ro single initrd /boot/initrd.img-2.6.31-17-genericmenuentry "Ubuntu, Linux
.6.31-14-generic"http://www.mianfeiwendang.com/doc/d8d964c4d65fb59ca710f72d // 4 recordfail=1 if [ -n $have_grubenv ]; then save_env recordfail; fi set quiet=1 insmod ext2 set root=(hd0,8) search --no-floppy --fs-uuid --set ab1eac76-a5d7-4656-8918-ffb406010912 linux /boot/vmlinuz-2.6.31-14-generic root=UUID=ab1eac76-a5d7-4656-8918-ffb406010912 ro quiet splash splash initrd /boot/initrd.img-2.6.31-14-genericmenuentry "Ubuntu,2.6.31-14-generic (recovery mode)" // 5 recordfail=1 if
文档下载 免费文档下载http://www.mianfeiwendang.com/
[ -n $have_grubenv ]; then save_env recordfail; fi insmod ext2 set root=(hd0,8) search --no-floppy --fs-uuid --set ab1eac76-a5d7-4656-8918-ffb406010912 linux /boot/vmlinuz-2.6.31-14-generic root=UUID=ab1eac76-a5d7-4656-8918-ffb406010912 ro single initrd /boot/initrd.img-2.6.31-14-generic### END /etc/grub.d/10_linux ###
### BEGIN /etc/grub.d/20_memtest86 ###menuentry "Memory test (memtest86 )" // http://www.mianfeiwendang.com/doc/d8d964c4d65fb59ca710f72d6 linux16 /boot/memtest86 .binmenuentry "Memory test (memtest86 , serial console 115200)" // 7 linux16 /boot/memtest86 .bin console=ttyS0,115200n8### END /etc/grub.d/20_memtest86 ###### BEGIN /etc/grub.d/30_os-prober ###menuentry "Microsoft Windows XP Professional (on /dev/sda1)" // 8 insmod ntfs set root=(hd0,1) search --no-floppy --fs-uuid --set 6044685444682f4a drivemap -s (hd0) $root chainloader 1### END /etc/grub.d/30_os-prober ###
### BEGIN /etc/grub.d/40_custom #### This file provides an easy way to add custom menu entries. Simply type the# menu entries you want to add after this comment. Be careful not to change# the 'exec tail' line above.### END /etc/grub.d/40_custom ###
-------------------------------- grub.cfg, end ---------------------------------------------,Jan/29/2010.
介绍 Linux 系统如何初始化和启动系统服务的(Linux 的开机流程)://www.mianfeiwendang.com/doc/d8d964c4d65fb59ca710f72dar
一、简单介绍 RHEL 开机时的先后顺序—> MBR —> Kernel —> init
文档下载 免费文档下载http://www.mianfeiwendang.com/
、当电脑一打开电源时电脑就会进入BIOS(BIOS 的工作主要是检测一些硬件设备);
、 检测完 后 会 进入 MBR 也 就 是 boot loader ( MBR 位 于 硬 盘 的第一 个扇区总共512bytes,其中前 446bytes 里面的编码是在选择引导分区也就是决定要由哪个分区来引导);
、载入系统的 Kernel(核心),在 Kernel 里主要是载入电脑设备的驱动程序,以便可以控制电脑上的设备,并且以只读方式来挂载根目录,也就是一开始只能读取到根目录所对应的那个分区,所以/etc、/bin、/sbin、/dev、/lib 这五个目录必须同根目录在一个分区中;
、最后启动 init 这个程序,所以 init 这个程序的进程编号为 1,是 Linux 中第一个执行的程序;这个程序会根据 Run level 来执行以下这些程序:
·/etc/rc.d/rc.sysinit;
·/etc/rc.d/rc 和 etc/rc.d/rc?.d/
·/etc/rc.d/rc.local
·如果有适当的图形界面管理程序
二、BIOS初始化时主要的三个任务(Basic Input/Output System)
、电脑周边设备的检测,加电自检 POST(Power on self test);
、BIOS 会选择要由哪一个设备来开机,例如:软盘启动、光盘启动、网络启动、最常见的
文档下载 免费文档下载http://www.mianfeiwendang.com/
从硬盘启动;
、选择好由哪个设备开机后,就开始读取这个设备的 MBR 引导扇区;
三、介绍 Boot Loader 中的主要工作
、Boot Loader 可以安装在两个地方:
· 安装在硬盘的 MBR 中;
· 当 有 时 候 MBR 中 被 其 他 开 机 管 理 程 序 占 用 就 可 以 将 http://www.mianfeiwendang.com/doc/d8d964c4d65fb59ca710f72dBoot Loader
安装在硬盘中的其中一个分区的引导扇区上,;
、Boot Loader 的程序码分为两个阶段:
(1)Boot Loader第一阶段的程序码非常小,只有 446bytes,可以存入在 MBR 或是某一个分区的引导扇区里,
(2)Boot Loader第一阶段的程序码是从 boot 分区来载入的,就是说 Boot Loader 第二阶段程序码存放在 /boot 这个分区中;
、下面来看三个 Boot Loader 的开机流程范例,如在一块硬盘中安装了两个系统分别为:windows 2003 和 Red hat linux
当电脑开机后,会先载入MBR 通过第一阶段程序码来载入第二阶段程序码,进入 GRUB 开机菜单这里选择哪个系统就会载入相应的核心;
文档下载 免费文档下载http://www.mianfeiwendang.com/
[此处图片未下载成功]
四、介绍 GRUB 和 grub.conf 这个配置文件的内容
其实从 MBR 载入 Boot Loader 开始,载入 Kernel,载入 init 这些程序之间都是由 GRUB
这个多重开机管理程序所负责的。
、GRUB (GRand Unified Bootloader)拥有以下特性:
· GRUB 的开机管理程序可以在开机提示字元的界面下输入指令;例如在 GRUB界面下可以按 C键就会来到以 grub> 开头的提示符来输入据指令;
· GRUB 的 开 机 管 理 程 序 可 以 支 持 以 下 几 种 文 件 系 统 :ext2/ext3、ReiserFS、JFS、FAT、minix、FFS 等等;
· 支持MD5 的密码来保护GRUB 的配置文件;
、/boot/grub/grub.conf 这个配置文件是 GRUB 的配置文件,在做修改前推荐先做好备份
下面来介绍这个配置文件的内容以及里面的语法:
· 以#开头的行为注解执行时不会使用;
· 可以以 title 开头的一行为准,分为上下两部分:
(1)基本设定:://www.mianfeiwendang.com/doc/d8d964c4d65fb59ca710f72dpardefault=0
指预设使用第一组 title 的系统记录开机,如果有多个 title 表示有多重启动,如果预设要使用
文档下载 免费文档下载http://www.mianfeiwendang.com/
第二组系统开机就将此值设为 1
=5 指进入GRUB 的界面后,会有 5秒时间让使用者选择要启动的系统,如果未选择自动使用上面的 default设定的值;=(hd0,0)/grub/splash.xpm.gz 开机时使用的背景图案,这里的(hd0,0)意思为(硬盘编号,分区编号)
hiddenmenu 隐藏开机的菜单
(2)用于区分多个系统的设定,如果这台主机中还安装了其它系统并设定了多重启动,在这里还可以看到其它系统的设定;Red Hat Enterprise Linux AS (2.6.9-11.EL) 在 GRUB 开机菜单中所显示的开机的系统名称(hd0,0) 指定下面的档案位于哪个目录中,这个 hd0,0 同样指的是用于指引导的目录,通常指/boot 目录/vmlinuz-2.6.9-11.EL ro root=LABEL=/ rhgb quiet 设定 kernel镜像的存放位置,这个位置相对于上面 root 那一行所指定的位置的相对位置, ro root=LABEL=/ 是设定/在根目录的 位 置 , ro 是 只 读 的 意思, 也 就 是 以 只 读 方 式挂载 根 目录, 也 可 以 使 用 root=/dev/hda2 类似于这种形式来挂载根目录;rhgb 意思是以图形界面显示开机过程,去掉则以文字界面显示;quiet 意思是设定开机过程中不显示错误信息;/initrd-2.6.9-11.EL.img 将这个指定的文件载入到内存中,这个文件里都是存放一些驱动程序;
、如果我们修改完 grub.conf 这个配置文件后,设定为立即生效;
、另外,如果硬盘上的 MBR被清除掉了,可使用下面的指令来重新安装 boot loader 到MBR 中:
文档下载 免费文档下载http://www.mianfeiwendang.com/
/sbin/grub-install /dhttp://www.mianfeiwendang.com/doc/d8d964c4d65fb59ca710f72dev/hda
、介绍进入GRUB 的开机管理程式可以做哪些动作(开机前改 Kernel 的参数)
(1)开机后在进入GRUB界面后,先选择要使用的系统(这里选择 Linux)
(2)按下 a键,可以在开机修改 Kernel 的参数,也就是可以传一个参数给 Kernel;这时可以看到下面这个界面
(3)上图中 root=LABEL=/ 这部分不可以动,将后面的都去掉后,先输入一个空格再输入一个 1,如下图:
这个 1 就是附加的一个参数,表示要进入单用户模式,不需要输入 root密码就可以以 root
身份登录;
(4)当进入到#提示字元时,就可以设定 root 密码了。
[此处图片未下载成功]
这时会发现一个问题任何人到主机前都可以通过这种方式修改ROOT密码是很不安全的。
6、为 GRUB 进入单用户模式设定密码及加密方法:
文档下载 免费文档下载http://www.mianfeiwendang.com/
在 GRUB 的设定档中设定密码,以防止非法者以单用户模式进入。
(1)编辑 grub.conf配置文件,在基本设定的部分里,插入一行 password 123456 来设定密码,这里是将密码设定为 123456 。
[此处图片未下载成功]
(2)当重新开机后,在 GRUB 的菜单中,需要输入 P ,再输入密码才可以进行下一步,选择其它的模式。
[此处图片未下载成功]
(3)可以发现上面设定的密码是明文的,在 GRUB 中是可以对这个密码进行加密的,如下图:
[此处图片未下载成功]
注:grub-md5-crypt 这个指令在设定一个加密的密码的时候,就算每次输入的密码相同经加密后 也 是 不同的 , 所 以 上 面 的 几组密码都 不 一 样 , grub-md5-crypt >>
/boot/grub/grub.conf 这行指令在执行后不会你上面那样会提示出输入两次密码,虽然没有 提 示 但 还 是 可 以 输 入 的 , http://www.mianfeiwendang.com/doc/
d8d964c4d65fb59ca710f72d每输入一次密码按一次回车,等设定好密码后,再打开
文档下载 免费文档下载http://www.mianfeiwendang.com/
grub.conf 文件时,就会发现经过加密的密码就追加到了 grub.conf 文件中去了,将追加文件中的前二行去掉,第三行就是要使用的密码了,然后就像上图中那样进行设定,等上面的设定好后,一定要删除掉最后三行的内容,不然会出错的。–-md5 这里面的 md5 表示后 面使用的密码是经过 md5加密的。
、在进入系统前,按 E键进入命令编辑模式,来修改引导配置文件
在 GRUB菜单选择时,按"e"键,就可以看到所对应系统的三行 grub.conf 中的配置参数,选择有错误的一行,再按"e"键,可修改这一行:
[此处图片未下载成功]
如下图:选择了第二行,按 E键,就可以修改这行内容了,这里只是未了举例子,将正常启动 的 一 行改为 了 要 使 用单用户模式 启 动 ,修改完 成 后 按 回车,返回 上 一界面 , 再 按"b"键,使用编辑后的设定开机。
[此处图片未下载成功]
五、介绍 Kernel初始化时所做的工作在开机时,有以下四项工作:
、检测电脑上的硬件设备;
、将检测到的硬件驱动程序载入 Kernel;
文档下载 免费文档下载http://www.mianfeiwendang.com/
、如果必要的驱动载入后 Kernel 将根目录以只读方式挂载进来;
、Kernel 载入第一个程序 init 这个程序;
六、介绍 init 这个程序在初始化时做了哪些工作程序读取的是 /etc/inittab 这个配置文件来决定要做哪些操作
、决定预设要使用哪个 Run Level 下面介绍几个常用的(Run Level 将在下节做详细介绍)
Run Level 可以从 0 到 6 分为 7种
[此处图片未下载成功]
· run level 1 :单用户模式,主要用来维护系统,这在前面已经使用过了;
http://www.mianfeiwendang.com/doc/d8d964c4d65fb59ca710f72d83; run
level 3 :会启用完整的服务但登录后进入文字模式;
· run level 5 :启用完整的服务登录后进入图形界面模式;
注:在 inittab 的配置文件里 id:5:initdefault: 这项 initdefault 的前面设定为 5 表示预设会用 run level 5,也就是默认启用完整服务并进入图形界面模式。
、init 会执行初始作业系统的程序
[此处图片未下载成功]
文档下载 免费文档下载http://www.mianfeiwendang.com/
、init 会根据执行的 run level 来执行 run level 对应目录里面的程序,如果 inittab 配置文件里预设的 run level 是 5,那么就会把 5 的参数传给 /etc/rc.d/rc 这个程序执行,在/etc/rc.d 目录下就可以看到 rc0.d 至 rc6.d 七个目录 run level 所对应的目录,所以init 程序会根据执行的 run level 来执行 run level 对应目录里面的程序,来决定要启用哪些服务。
[此处图片未下载成功]
、设某个组合键,如下图:定义快捷键,按这三个组合键 3秒后重启系统
[此处图片未下载成功]
、在定义UPS 不断电系统,当电源发生问题时,以及电源恢复时都要执行哪些程序。
[此处图片未下载成功]
、产生六个 virtual consoles (虚拟控制台)
[此处图片未下载成功]
(tty1~tty6)
文档下载 免费文档下载http://www.mianfeiwendang.com/
、如果启动的是 run level 5 ,初始化工作就会启动 X11(图形界面
[此处图片未下载成功]
)
七、iniit初始化流程图
[此处图片未下载成功]
以下小节将依据上面的流程图为准逐一介绍
八、介绍 http://www.mianfeiwendang.com/doc/d8d964c4d65fb59ca710f72dRun
Level (init初始化流程第一步)
其中在 Run Level 里除了 0~6 这七种外,还有 S 和 emergency 这两种Level
功能
用来做关机用的(不可以设在 initdefault 里)
,S,emergency
文档下载 免费文档下载http://www.mianfeiwendang.com/
单用户模式(只允许 root帐号登录,主要是用来做维护系统工作)
可以允许所有使用者登录,但不启用网络功能
允许所有使用者登录,拥有完整的功能,但是以文字模式进入系统
用户可自定义的,预设下与 Run level 3 是相同的
与 Run level 3 功能是一样的,允许所有使用者登录,拥有完整功能,以图形界面模式进入系统
用于重启主机(不可以设在 initdefault 里)Level 1,S,emergency 这三种执行时的主要差别在于执行程序的多少:
· 1 :执行 init 程序后,会接着执行/etc/rc.sysinit 程序来初始化系统,再执行 /etc/rc1.d/目录下的所有程序;
· S:执行 init 程序后,只会执行/etc/rc.sysinit 程序来初始化系统;
· emergency:执行 init 程序后,只会执行 /etc/rc.sysinit 程序中某些必要的程
文档下载 免费文档下载http://www.mianfeiwendang.com/
序,并不会全部执行;
、介绍一些Run level 的特性level 是使用 init 这个指令来定义要使用哪个 run level。
、下面有三种方式可以选择要使用哪个 Run level
(1)在开机时,预设 run level 会设定在 /etc/inittab 这个文件中,例如:initdefault 前面的值;
(2) 可 以 从 boot loader 传 一 个 参 数 给 kernel ( 例 如 :在 Ghttp://www.mianfeiwendang.com/doc/d8d964c4d65fb59ca710f72dRUB 的引导菜单按“a”键,在开机前可以给 kernel 传一个参数以单用户模式登录系统)
(3)在开机进入 Linux 系统后,可以使用 init 指令,再输入要进入哪个 run level ;(例如:init 5 进入 run level 5)
、使用 runlevel 指令执行后,就可以在下面显示当前在哪个级别下;
/sbin/runlevel
九、 介 绍 /etc/rc.d/rc.sysinit 这 个 程序主要做哪些工 作 ( init 初始 化流程第二步 ) rc.sysinit 这个文件是一个脚本文件,主要是一些判断程序,还有一些设定变数的程式; rc.sysinit 这个文件的工作如下:
、启动 udev ,也就是启用热插拔的设备,例如:USB,并且也会启动 SELinux;
、会把 kernel 的参数设定在/etc/sysctl.conf配置文件里;这个配置文件下下单元详细说明;
文档下载 免费文档下载http://www.mianfeiwendang.com/
、设定系统时间;
、载入 keymaps 设定,keymap设定是在定义键盘,这样电脑开机时才能找到相对应的键盘设定;
、启用 swap 这个虚拟内存的分区;
、设定主机名称,主机名称设定在 /etc/sysconfig/network 配置文件中的 HOSTNAME=
项下;
、 检查根目录有没有问题,并且重新挂载成为可读可写的状态;
、启用 RAID磁盘阵列,以及 LVM 的设备;
、启用磁盘配额的功能,就是限制使用者最多可以使用多少硬盘空间;
、检查其它的文件系统,并且把它们挂载进来;
、最后会清除被修改过的 locks及 PID files,其实就是清除一些开机时的缓存文件,以及一些没有用的信息及文件;
十、介绍 /etc/rc.d/rc 这个程式的作用
、这个步骤就是根据载入的 Run Level 来执行 Run Level 对应目当里面的程序来决定要启用 哪 些 服 务 , 例 如 , 如 果 Run level 的 值 是 5 , 就 会 去 执 行 /etc/http://www.mianfeiwendang.com/doc/d8d964c4d65fb59ca710f72drc.d/
rc5.d/* 这个目录下的所有程序,来停用或启动这个运行级别下应该有的服务,如下图:
文档下载 免费文档下载http://www.mianfeiwendang.com/
[此处图片未下载成功]
就用 rc5.d 这个目录来作说明,可以看到这个目录下都是一些链接文件,所有的链接文件都链接到了 ../init.d/* 这个目录下的某个执行文件,其实 init.d 和 rc5.d 后面的 d 是代表 Daemon(【unix】新进程;端口监督[控]程序) 的意思。
十一、介绍 Daemon Processes (Process 进程)
、Daemon Processes 就是在后台执行的程序,主要功能就是在提供一些系统的服务,所以在 init.d 目录里的所有程序全部都是在后台执行提供系统服务的程序,而这些在后台执行提供系统服务的程序都是在等待别人提出需求来提供服务,例如:httpd 这个程序就是提供 web 的服务,主要是会开启 80端口,让别人可以通过 80端口连接进来。
、Daemon 主要分为两种类型,主要差别在于提供服务的方式,说明如下:
(1)Standalone(中文翻译为:独立):在 Standalone 的程序里,当使用者提出需求要求服务时,会自己提供服务组使用者;
(2)Transient(中文翻译为:暂时程序,暂存区):当使用者提出需求时,会先跟 xinetd(以称为 :Supper Daemon) 这 个 Daemon 程序要求服 务 , 然 后 xinetd 程序再 去呼叫 Transient 类型的程序,最后 Transient 类型的程序才能够提供服务给使用者;
、在 Standalone 的 Daemon 里分为两种:
(1)在开机时,就由 init 这个程序直接启动的;
例如:Virtual Console;
文档下载 免费文档下载http://www.mianfeiwendang.com/
(2)System V Daemon 程式
例如:httpd 程序(提供 web 服务的);
十二、介绍 System V 程式的特性
、其实 Run Level 是在定义电脑启动时,要提供哪些服务:
· http://www.mianfeiwendang.com/doc/d8d964c4d65fb59ca710f72d 在每个 runlevel 里都有他相对应的目录;就像前面提到的 rc5.d 的目录;
· 而用来初始化 System V 的程序都存放在 /etc/rc.d/init.d/ 这个目录里;
、介绍 runlevel 是如何定义要提供哪些服务的。
因为在 runlevel 对应的目录里,都有一些连接,而这些链接就是用来呼叫 init.d 目录里的程序的,并夹代一个启动或停止服务的参数,所以根据 runlevel 对应目录里的链接,就可以设定系统在启动后要提供哪些服务。
、下面介绍前面提到的那个链接文件名称的格式:
[此处图片未下载成功]
这个链接文件的名称主要分为三区:
(1) 以 K 或 S 开头:K ( Kill 的缩写)开头,表示要停用链接的这个服务;S (start 的缩写)开头,表示要启用链接的这个服务;
文档下载 免费文档下载http://www.mianfeiwendang.com/
(2) 为两位的数字:表示执行的先后顺序,数字越小的越先执行,但是在 K 与 S 执行的先后顺序是先执行 K 停用链接的服务,再执行 S 启用链接的服务,这是因为要先将所有服务停用类似归零的意思,然后再启用服务,所以执行完这些链接的程序,就初始化了系统上的服务;
(3) 链接的 System V 程序名称:
、另外,System V 程序有种特性,就是启动和停止都用同一个程序,只是后面加上不同的参数:
例:/etc/init.d/httpd start 启用 web 服务
/etc/init.d/httpd stop 停用 web 服务
这里的 start , stop 就是使用的参数
十三、介绍 /etc/rc.d/rc.local 这个程式的作用(init初始化流程第三步)
、在执行完 run level 下相对应的那个目录里的链接后都会执行 rc.local 这个程式;如下图: run level2 到 5 下都有这个程式:
其中 S 表 示 启 用 , 99 表 示 执行 的 顺 序 最 后 才 会 执 行 , 执行 的 程 式 就 是 rc.lohttp://www.mianfeiwendang.com/doc/d8d964c4d65fb59ca710f72dcal;
[img]https://http://www.mianfeiwendang.com/y1maiEcMGazGe0E40b5OlvNQZ9DNIEN1Sh5HV1WkPuRk4MBzdOVOrASKU_6bUSWl8QIM-o8rQVmYzIRrkORoofJquiAPFOD9XGOKX5VJCnmxtU3J-ypbkttOVGP9yitF7jf6j0aDPeHpWM/133_U2_13_1_1[2].png[/img]
文档下载 免费文档下载http://www.mianfeiwendang.com/
、因此,可以修改 rc.local 这个文件,将 runlevel2-5 都要执行的指令或程序设定在rc.local 文件中。
十四、介绍 Virtual Consoles 的特性(init初始化流程第四步)consoles,Virtual consoles 具有以下几点特性:
、定义在 /etc/inittab 档案里,使用/sbin/mingetty 来产生 tty1 到 tty6 这六个 Virtual
consoles;
[img]https://http://www.mianfeiwendang.com/y1m0glZIJ8vcZJ9s-QhVNYvM78DxLY1LiKSAKkf0i8ew9_OdO9JRybz2cFvusQddFoudKryL4o0CBeHi9H8LJoeis8E2xo67JlZ_STBg9LRcCZY6bC9RMlDn8M_qdGIWiYpCpNZimo6ju4/133_U2_14_1_1[5].png[/img]
、如果要切换 Virtual consoles ,同时按下 ctrl-alt-F(1~6)
、 Virtual consoles 的 档 案 是 在 /dev/ 这 个 目 录 中 , 对 应 的 文 件 是 tty1、tty2、tty3、tty4、tty5、tty6;但这个目录下有许多以 tty 开头的文件
、/dev/tty0 是代表当前使用的 Virtual consoles
、 在 RHEL 中 有 以 下 三 个 预 设 的 Virtual
http://www.mianfeiwendang.com/doc/d8d964c4d65fb59ca710f72dconsoles设定:
· RHEL 中共定义了 12 个 Virtual consoles;
文档下载 免费文档下载http://www.mianfeiwendang.com/
· 在这 12 个 Virtual consoles 里,只有 1~6 的可以登录
· 如果使用图形界面登录,刚会先使用 Virtual consoles 7 登录(也就是 tty7)
注:当图形界面已启动时,才可以使用 ctrl-alt-F7 才能切换回到图形界面。
十五、如何控制系统上服务的停止与启动
在控制系统的服务停止与启动里,主要分为两种类型的工具
、控制系统预设是会自动启动的服务;
有以下三种工具可以控制 Linux 作业系统,预设会自动启动的服务:
(1)ntsysv:这个工具在 Virtual consoles 下也可以使用,此命令执行后出现的界面,如下图:可以启动 Services界面来设定系统预设要启动哪些服务,如果在 ntsysv 后面未加参数,只会设定目前这个 Run level ,如果要设定其它的 run level ,需要在后面加参数: 例如: ntsysv –level 35 指定要修改 runlevel 3 和 5预设要启动的服务
注:这个指令在文字模式下也是可以使用的。
[img]https://http://www.mianfeiwendang.com/y1mF6pWC1iHVTUGkMoYFtPGnclEKjSLt3HPrkdXHEWkYnpLyxWRjThCKchgKDPVwmcaU9knC_pDOE9lT0X9DHUWJBfneNPxnspEvFW5_uq9EHLcaL8hDxzMCjNjqDczvuTKj_1bwYiuLmo/133_U2_15_1_1[2].png[/img]
(2)chkconfig:这个工具可以快速设定,并且适用在各种 Linux 下的命令行模式工具 例如:如下图:查看预设自动启动的设定 注:下面的 gpm 的服务是在 Virtual consoles 下
文档下载 免费文档下载http://www.mianfeiwendang.com/
可 以 使 用 鼠 标 的 服 务 , 通 过 下 图 可 以 看 到 gpm 服 务在 runlehttp://www.mianfeiwendang.com/doc/d8d964c4d65fb59ca710f72dvel2
~5 下都以以 S 开头,也是是预设会自动启动的意思;
[img]https://http://www.mianfeiwendang.com/y1mG5NJFAIHcHHu_YuVLxbcXFQpPWTCFqmgCe5W2TCYf6BGokib2RjFi1bqYDUD_Qt36cSqsWXTRAdTh27T7Kq9QHNpJclNe-hBkFmolw4hfh9zvLlKW94Sh_rS17De_8v4_HhlkvU6jPs/133_U2_15_1_2[2].png[/img]
执行下面的指令,可以让 runlevel1~3预设不自动启动 gpm 的服务,如下图可以看到原来的 2 和 3 原来是以 S 开头的现在已经变成了以 K 开头,表示预设是停有的。
[img]https://http://www.mianfeiwendang.com/y1mEQvT0CvwHZVawmRyK26G6ZME18PfMU9B86nnJ6Pb1x3gxs-LMnlHigbEuBrXPCWrlsuxBhQPjpyky9K-TsGWNIaIItFO3zrhUm26kKkDJjJF3r1OXouyGKyEZYqqdCtvERP30GLKy3I/133_U2_15_1_2_1[5].png[/img]
可以使用 chkconfig –list 查看某个服务预设是否会自动启动,如下图:off 表示不启用,on 表示启用,如果想查看所有的服务可以将 gpm 去掉,这时会看到许多服务的列表,
[img]https://http://www.mianfeiwendang.com/y1mgk3CDNePR7Di-xq6IBdLCgQ-IJB5_7XQs0ecYnP4BsKieLZnwCVq5Dl14Ji83qn4J1MjZA2KJ0T2mNojt70sySta71ugSGH7xJUJcnlfeVbcwQ5-dsVbqk07JDxUBK0FdYQH3CbyF8I/133_U2_15_1_2_2[2].png[/img]
文档下载 免费文档下载http://www.mianfeiwendang.com/
( 3 ) system-config-servichttp://www.mianfeiwendang.com/doc/d8d964c4d65fb59ca710f72des
这个工具是图形界面的工具,只能在图形界面下执行,开启视窗后,左边窗口可以勾选预设要启动的服务;点选 Edit Runlevel 可以选择要修改哪个级别的预设服务,但只能设定3~5 的,如下图:
[img]https://http://www.mianfeiwendang.com/y1mMoow157lc4QPX-v75Yh0m9Q0MqoVFvj0XJhux1
yyCUHgVYH0TqjQHNUk6PVR_jjOn3GQyOs1vu4k7JTy1Kz_OHGFTT0iTiPhDDdJGz3tgRhJplFDEEKqfEVef-80aEpMi7Ui4nwN9_s/133_U2_15_1_3_1[6].png[/img]
、在系统开机后,可以手动控制服务的停止与启动,立即控制服务的启动状态; 有以下三个工具可以手动控制服务的启动与停止:
(1)service :这个工具可以立即启动或停用 standalone类型的服务;
[img]https://http://www.mianfeiwendang.com/y1m5M_SXi7a3kU5cqpIwDM6L3rgmUDB-0MEIJU9EHZqYNq5PmMh29yYiE_ZQcWkINFGeGjoHMOL0F8coNr4EE9xH4z60ETjlviHk17H6hFstuamAFjonxIWtQMYAaNqF5ORKWkZnHih0do/133_U2_15_2_1[2].png[/img]
文档下载 免费文档下载http://www.mianfeiwendang.com/
在文字模式下如果启用了鼠标功能,使用鼠标选中文字点后,按鼠标的中键就可以将选中的文字粘贴到光标所在处,这样很方便选中一些文字,现在来停用 gpm 这个服务,指令如下: · service gpm stop 停用 gpm 服务 (这种方法不一定支持所有的 Linux版本)
· /etc/init.d/gpm stop 立即停用 gpm 服务 (推荐使用绝对路径的方法来执行这个指令:这种方法支持所有 Linux版本)
· /ethttp://www.mianfeiwendang.com/doc/d8d964c4d65fb59ca710f72dc/init.d/
gpm start 立即开启 gpm 服务
· /etc/init.d/gpm reload 立即重启服务
· /etc/init.d/gpm restart 立即重启服务
· /etc/init.d/gpm status 显示服务启用状态
(2)chkconfig:这个工具可以立即启动或停用 xinetd 程式所管理的服务
例如:chkconfig telnet off 停用 telnet 服务;telnet on 启用 telnet 服务;
(3)system-config-services
图形界面工具,选择服务,再点 start(启用) 或 stop(停止) 或 restart(重启)。 十六、介绍使用指令关机
有四个指令可以用来关机
文档下载 免费文档下载http://www.mianfeiwendang.com/
、shutdown –h now h 是 halt(终止的意思),now 是参数表示立即,也可输入时间例如:13:22 表示下午 1 点 22 分关机
、halt
、power off
、init 0 进入 runlevel 0级做关机动作;
注:这四个指令在关机前都会执行 sync 这个指令,进行资料的同步,将内存中的数据写入硬盘中,以免将记忆体中的资料丢失。
十七、介绍使用指令重启电脑
、shutdown –r now -r 就是 reboot(重新启动)的意思,这里的 now 也可以换成时间
、reboot
、init 6
、ctrl-alt-del (在 virtual Console 环境中使用)
写得蛮好的 linux学习笔记二:一些常用的基本命令
一些常用的基本命令:
文档下载 免费文档下载http://www.mianfeiwendang.com/
uname -a 查看内核版本-al 显示所有文件的属性显示当前路径 ://www.mianfeiwendang.com/doc/d8d964c4d65fb59ca710f72dr- 返回上一次目录 cd ~ 返回主目录s 设置时间、日期显示日历 cal 2006
计算器具& info 帮助手册显示当前字体 locale -a 所有可用字体 /etc/sysconfig/i18n设置文件=en 使用英文字体将数据同步写入硬盘-h now & half & poweroff 关机重启& init 5 进入图形介面
/work & ?work 向上、下查找文档内容改变档案群组 chgrp testing install.log
改变所属人 chown root:root install.log
改变属性 chmod 777 install.log read=4 write=2 execute=1
复制 cp filename
删除文件 rm -rf filename 强制删除文件删除文件夹移动 mv 123.txt 222.txt 重命名创建文件夹创建文件 更新当前时间由第一行开始显示 cat |more 分页
文档下载 免费文档下载http://www.mianfeiwendang.com/
在内容前加行号& less 一面一面翻动-n filename 显示第N 行内容-n filename 显示后 N 行内容显示非纯文档-h 显示分区空间显示目录或文件的大小分区设置 fdisk -l /dev/hda 显示硬盘分区状态://www.mianfeiwendang.com/doc/d8d964c4d65fb59ca710f72d 建立各种文件系统 mkfs -t ext3 /dev/ram15检查和修复 LINUX 档案硬链接 ln -s 软件链接查找命令查找查找 find / -name "***.*** "
查看工具显示当前用户-v 查看 GCC版本 i filename 禁止删除 chattr -i filename 取消禁止显示隐藏档属性
updatedb 更新资料库fs 格式化 mkfs -t ext3
if=/etc/passwd of=/tmp/passwd.bak 备份列出系统所有的分区-t iso9660 /dev/cdrom /mnt/cdrom 挂载光盘-t vfat /dev/fd0 /mnt/floppy 挂载软盘
文档下载 免费文档下载http://www.mianfeiwendang.com/
-t vfat -o iocharset=utf8,umask=000 /dev/hda2 /mnt/hda2 挂载 fat32 分区-t ntfs -o nls=utf8,umask=000 /dev/hda3 /mnt/hda3 挂载 ntfs 分区NTFS Project: http://www.mianfeiwendang.com//mnt/hda3 缷载显示或设置网络设备network restart 重启网卡eth0 关闭网卡eth0 开启网卡清屏历史记录 !55 执行第 55 个指令设置终端 shttp://www.mianfeiwendang.com/doc/d8d964c4d65fb59ca710f72dtty -a/mbr 删除GRUB
僅進行一次的工作排程循環執行的例行性命令 [e]编辑,[l]显示,[r]删除任务
& 后台运行程序 tar -zxvf 123.tar.gz & ---------> 后台运行观看后台暂停的程序 jobs -l
将后台程序调到前台 fg n ------> n 是数字,可以指定进行那个程序让工作在后台运行结束进程 kill -9 PID [9]强制结束,[15]正常结束,[l]列出可用的 kill 信号aux 查看后台程序查看后台程序 top -d 2 每两秒更新一次 top -d 2 -p10604 观看某个 PID
-b -n 2 > /tmp/top.txt -----> 將 top 的資訊進行 2 次 , 然後將結果輸出 到 /tmp/top.txt pstree 以树状图显示程序 [A]以 ASCII 來連接,
文档下载 免费文档下载http://www.mianfeiwendang.com/
其 PID
/etc/host.conf 文件说明用户的系统如何查询节点名
定檔
/etc/issue 记录用户登录前显示的信息
/mnt 外设的挂载点
記錄在此檔案中
/var/log/boot.log 記錄開機或者是一些服務啟動的時候,所顯示的啟動或關閉訊息
文档下载 免费文档下载http://www.mianfeiwendang.com/
分別是幾個不同的網路服務的記錄檔
一些常用的基本命令:
- 返回上一次目录 cd ~ 返回主目录
将数据同步写入硬盘
://www.mianfeiwendang.com/doc/d8d964c4d65fb59ca710f72dunt 列出系统所有的分区
分区
, [p]列出帐号要刪除某個服務 killall -9 httpd
显示内存状态 free -m --------> 以 M 为单位显示显示目前系统开机时间显示网络状态 netstat -tulnp------> 找出目前系統上已在監聽的網路連線及其 PID
dmesg 显示开机信息 demsg | more
设置优先权 nice -n -5 vi & -----> 用 root 給一個 nice 植為 -5 ,用於執行 vi
renice 调整已存在优先权显示目前的 runlevel
文档下载 免费文档下载http://www.mianfeiwendang.com/
分析可载入模块的相依性显示已载入系统的模块显示 kernel模块的信息载入模块自动处理可载入模块删除模块检查,设置系统的各种服务 chkconfig --list -----> 列出各项服务状态设置系统的各种服务备份文件
压缩命令:
*.Z compress 程式壓縮的檔案;
*.bz2 bzip2 程式壓縮的檔案;
*.gz gzip 程式壓縮的檔案;
*.tar tar 程式打包的資料,並沒有壓縮過;
*.tar.gz tar 程式打包的檔案,其中並且經過 gzip 的壓縮filename 压缩文件 加[-d]解压 uncompress
filename 压缩 加[-d]解压 zcat 123.gz 查看压缩文件内容-z fihttp://www.mianfeiwendang.com/doc/d8d964c4d65fb59ca710f72dlename
压缩 加[-d]解压 bzcat filename.bz2 查看压缩文件内容-cvf /home/123.tar /etc 打包,不压缩-xvf 123.tar 解开包-zxvf /home/123.tar.gz 以 gzip解压
文档下载 免费文档下载http://www.mianfeiwendang.com/
-jxvf /home/123.tar.bz2 以 bzip2解压-ztvf /tmp/etc.tar.gz 查看 tar 内容-covB > [file|device] 份份-icduv
帐号管理
/etc/passwd 系统帐号信息
/etc/shadow 帐号密码信息 经 MD5 32 位加密
在密码栏前面加『 * 』『 ! 』禁止使用某帐号
/etc/group 系统群组信息
/etc/gshadow改变登陆组& adduser 建立新用户 ---------> useradd -m test 自动建立用户的登入目录 useradd -m -g pgroup test ---------> 指定所属级
/etc/default/useradd 相关设定
/etc/login.defs UID/GID 有關的設定更改密码 -----------> passwd test
修改用户帐号删除帐号 -----------> userdel -r test
更换登陆系统时使用的 SHELL [-l]显示可用的 SHELL;[-s]修改自己的 SHELL chfn 改变finger指令显示的信息查找并显示用户信息
文档下载 免费文档下载http://www.mianfeiwendang.com/
显示用户的 ID -----------> id test
://www.mianfeiwendang.com/doc/d8d964c4d65fb59ca710f72doupadd 添加组与 usermod类似删除组test 更改用户 su - 进入 root,且使用 root 的环境变量以其他身份来执行指令编辑/etc/sudoers 加入一行『 test ALL=(ALL) ALL 』
%wheel ALL = (ALL) ALL 系统里所有 wheel群组的用户都可用 sudo
%wheel ALL = (ALL) NOPASSWD: ALL wheel群组所有用户都不用密码 NOPASSWD
User_Alias ADMPW = vbird, dmtsai, vbird1, vbird3 加入ADMPW组ALL = NOPASSWD: !/usr/bin/passwd, /usr/bin/passwd [A-Za-z]*, \par!/usr/bin/passwd root 可以更改使用者密码,但不能更改 root密码 (在指令前面加入 ! 代表不可)
(Pluggable Authentication Modules, 嵌入式模組)
who & w 看谁在线最近登陆主机的信息最近登入的時間 读取 /var/log/lastlog
与其他用户交谈发送信息 write test [ctrl] d 发送设置终端机的写入权限 mesg n 禁止接收 mesg y
向所有用户发送信息 wall this is q test
写mail
/etc/default/useradd 家目录默认设置显示磁盘已使用的空间与限制 quota -guvs -----> 秀出目前 root 自己的 quota 限制值
文档下载 免费文档下载http://www.mianfeiwendang.com/
-vu 查询://www.mianfeiwendang.com/doc/d8d964c4d65fb59ca710f72dparquotacheck
检查磁盘的使用空间与限制 quotacheck -avug -----> 將所有的在 /etc/mtab 內,含有 quota 支援的 partition 進行掃瞄
[-m] 强制扫描一定要是独立的分区,要有 http://www.mianfeiwendang.comer 和 quota.group两件文件,在/etc/fstab添加一句: /dev/hda3 /home ext3 defaults,usrquota,grpquota 1 2
600 quota* 设置完成,重启生效编辑用户或群组的 quota
好的是 ext2/ext3 ,
是編輯 /etc/fstab ,
使得準備要開放的 quota 磁碟可以支援 quota 囉;
、編輯 quota 限制值資料:
吧!
开机流程简介
開機資訊;
文档下载 免费文档下载http://www.mianfeiwendang.com/
在/etc/rc.d/rc3.d內,以 S 开头的为开机启动,以 K 开头的为关闭,接着的数字代表执行顺序
网络协议源代码分析 之 入门
普通意义上的 socket编程是基于 GNU 提供的库函数之上实现的,比创建一个 socket 时候调用的 socket()函数就是在 sys/socket.h 中定义的,此文件在 Linux 系统下的路径为:
/usr/include/sys 。 GNU 提 供 的 标准接口, 可 以 用 来创建 socket, 然 后 开 始利用此socket 通信。具体的接口如下所示:
. 创建套接字接口 socket函数。函数原型为:
socket(int domain, int type, int protocol)
这个函数有三个参数,第一个参数指定协议族,如 AF_INET(IPv4协议),AF_INET6 (IPv6
协议),AFhttp://www.mianfeiwendang.com/doc/d8d964c4d65fb59ca710f72d_LO
CAL(Unix 域协议 ) 。第二个参数 为套接字类型。第三个参数指定协议, 也 可 以 取0。Socket函数成功时返回一个套接字文件描述符。
. 绑定套接字接口 bind函数。函数原型为:
int bind(int sockfd, struct sockaddr *my_addr, int addrlen)
文档下载 免费文档下载http://www.mianfeiwendang.com/
其中各项参数的含义为::由 socket 调用返回的文件描述符:就是 sizeof(sockaddr), 套接字地址结构的长度_addr:一个指向包含有本机 IP地址及端口号等信息的 sockaddr类型的指针;sockaddr
的定义如下:
sockaddrshort sa_family; /* 地址族, AF_xxx */
sa_data[14]; /* 14 字节的协议地址 */
;
另外还有一种用于 Internet 的套接字地址结构类型:
sockaddr_in int sin_family; /* 地址族 */
short int sin_port; /* 端口号 */
in_addr sin_addr; /* IP地址 */
char sin_zero[8]; /* 填充 0 以保持与 struct sockaddr同样大小 */
;函数返回值表明操作成功或失败:成功返回 0,出错返回-1。
. 建立连接接口 connect函数
面向连接的客户端程序使用 connect函数来配置 socket 并与远端服务器建立一个 TCP连接,其函数原型为:
文档下载 免费文档下载http://www.mianfeiwendang.com/
connect(int sockfd, struct sockaddr *sehttp://www.mianfeiwendang.com/doc/d8d964c4d65fb59ca710f72drv_addr,int addrlen)
其中 sockfd 是 socket函数返回的 socket描述符;serv_addr 是包含远端主机 IP地址和端口号的指针;addrlen 是远端地址结构的长度。connect函数在出现错误时返回-1,并且设置 errno 为相应的错误码。编写客户端程序无须调用 bind()。
. 监听接口 listen函数函数使 socket处于被动的监听模式,并为该 socket建立一个输入数据队列,将到达的服务请求保存在此队列中,直到程序处理它们。
listen(int sockfd, int backlog)
. 接受请求接口 accept函数函数由 TCP 服务器端调用,用来接受从客户端来的请求。如果没有请求,则该函数自行阻塞,直到有请求为止。
accept(int sockfd, struct sockaddr *cliaddr,socklen_t *addrlen)
. 关闭套接字接口 close函数
close( int sockfd)对 TCP套接字 sockfd 的默认的操作是将其标识为已关闭并立即返回;这时套接字描述符就不能再被进程使用了,也不能作为 read 和 write 的参数了。
文档下载 免费文档下载http://www.mianfeiwendang.com/
下 socket 网络编程是非常简单的一件事情,复杂的是其背后如何实现的,以及如
文档下载网是专业的免费文档搜索与下载网站,提供行业资料,考试资料,教学课件,学术论文,技术资料,研究报告,工作范文,资格考试,word 文档,专业文献,应用文书,行业论文等文档搜索与文档下载,是您文档写作和查找参考资料的必备网站。文档下载 http://www.mianfeiwendang.com/亿万文档资料,等你来发现