jaffson's profilesundayPhotosBlogLists Tools Help

sunday

jaffson

Occupation
Location
Interests
比较外向。。很喜欢玩。。也很喜欢聊天。。
love  
Photo 1 of 40
25 October

Ubuntu初学者命令(转载)

NO 分类 PS1 命令名 用法及参数 功能注解
1 文件管理 # ls ls -a 列出当前目录下的所有文件,包括以.头的隐含文件
文件管理 # ls ls -l或ll 列出当前目录下文件的详细信息
文件管理 # pwd pwd 查看当前所在目录的绝对路经
文件管理 # cd cd .. 回当前目录的上一级目录
文件管理 # cd cd - 回上一次所在的目录
文件管理 # cd cd ~ 或 cd 回当前用户的宿主目录
文件管理 # cd cd ~用户名 回指定用户的宿主目录
2 文件管理 # mkdir mkdir 目录名 创建一个目录
文件管理 # mkdir mkdir –p 递归式去创建一些嵌套目录
文件管理 # rmdir Rmdir 空目录名 删除一个空目录
3 文件管理 # rm rm 文件名 文件名 删除一个文件或多个文件
文件管理 # rm rm -rf 非空目录名 递归删除一个非空目录下的一切,不让提式-f
4 文件管理 # cat cat文件名 一屏查看文件内容
5 文件管理 # more more文件名 分页查看文件内容
6 文件管理 # less less 文件名 可控分页查看文件内容
7 文件管理 # grep grep字符 文件名 根据字符匹配来查看文件部分内容
8 文件管理 # mv mv 路经/文件 /经/文件 移动相对路经下的文件到绝对路经下
文件管理 # mv mv 文件名 新名称 在当前目录下改名
9 文件管理 # cp cp /路经/文件 ./ 移动绝对路经下的文件到当前目录下
10 文件管理 # find find 路经 -name “字符串” 查找路经所在范围内满足字符串匹配的文件和目录
11 文件管理 # ln ln 源文件 链接名 创建当前目录源文件的硬链接
ln /home/test /usr/test1 在/usr下建立/home/test的硬链接
12 文件管理 # ln Ln -s a b 创建当前目录下a的符号链接b
13 文件管理 # touch touch file1 file2 创建两个空文件
14 磁盘管理 # df df 用于报告文件系统的总容量,使用量,剩余容量。
15 磁盘管理 # du du -b /home 查看目前/HOME目录的容量(k)及子目录的容量(k)。
16 磁盘管理 # fdisk fdisk -l 查看系统分区信息
17 磁盘管理 # fdisk fdisk /dev/sdb 为一块新的SCSI硬盘进行分区
18 磁盘管理 # mkfs.ext3 Mkfs.ext3 /dev/sdb1
为第一块SCSI硬盘的第一主分区格式化成
ext3的文件系统
mkfs.ext2 Mkfs.ext2/dev/sdb2 格式化成ext2文件系统
19 磁盘管理 # mount mount -t 文件系统类型 设备路经 访问路经
磁盘管理 # 文件系统类型
Iso9660 光驱文件系统
vfat Fat文件系统(windows)
挂载光驱 # mount –t iso9660 /dev/cdrom /mnt/cdrom
挂载FAT # mount –t vfat /dev/hda5 /mnt/cdrom 挂第一个ide的第五个逻辑分区
17 磁盘管理 # Umount /mnt/cdrom 卸载/mnt/cdrom为空
18 文件权限 # chmod chmod u+s file 为file的属主加上特殊权限
chmod g+r file 为file的属组加上读权限
chmod o+w file 为file的其它用户加上写权限
chmod a-x file 为file的所有用户减去执行权限
chmod 765 file 为file的属主设为完全权限,属组设成读写权,其它用户具有读和执心权限
19 文件权限 # chown chown root /home 把/home的属主改成root用户
20 文件权限 # chgrp chgrp root /home 把/home的属组改成root组
21 打印管理 # redhat-config-printer-tui 进入安装打印机界面
22 打印管理 # lp lp –d hptr file 打印file到hptr的打印机上
23 打印管理 # lpq Lpq –P 打印机名 查看打印机的状态
24 打印管理 # lprm Lprm –P 打印机名 a 删除打印机内的打印作业
25 打印管理 # disable Disable –r “changing paper” HPtr 禁用打印机并提示原因
26 打印管理 # enable Enable HPtr 重新启用被禁用的
27 用户管理 # useradd Useradd 创建一个新的用户
28 用户管理 # groupadd Groupadd 组名 创建一个新的组
29 用户管理 # passwd Passwd 用户名 为用户创建密码
30 用户管理 # Passwd -d Passwd -d用户名 删除用户密码也能登陆
31 用户管理 # Passwd -l Passwd -l用户名 锁定账号密码
32 用户管理 # Passwd -u Passwd -u用户名 解锁账号密码
33 用户管理 # Passwd -S Passwd -S用户名 查询账号密码
34 用户管理 # Usermod -l Usermod -l 新用户名 老用户名 为用户改名
35 用户管理 # Usermod -L Usermod -L 要锁定用户名 锁定用户登陆
36 用户管理 # Usermod -U Usermod –U解锁用户名 解锁用户登陆
37 用户管理 # Usermod -u Usermod –u 501用户名 改变用户UID
38 用户管理 # Userdel Userdel–r 用户名 删除用户一切
39 用户管理 # Groupmod -n Groupmod –n新用户名 老用户名 为组改名
40 用户管理 # Groupmod -g Groupmod –g 501 组名 改变组GID
41 用户管理 # groupdel Groupdel组名 先应删它的用户 删除组
42 用户管理 # gpasswd -a gpasswd -a 用户名 组名 增加用户到组
43 用户管理 # Id id 用户名 查用户信息
44 软件管理 # rpm -qa rpm –qa | less 查询已安装RPM
45 软件管理 # rpm –qa | grep ftp 查询指定RPM
46 软件管理 # rpm -q rpm -q 已安装的RPM包 查是否安装
47 软件管理 # rpm -q telnet-server 查看telnet服务器包
48 软件管理 # rpm -qi rpm –qi 软件包名称 查看软件的描述信息
49 软件管理 # rpm -ql rpm –ql软件包名称 查询软件包的文件列表
50 软件管理 # rpm -qf rpm –qf软件包名称 查询某个文件所属的软件包
51 软件管理 # rpm -qp rpm –qp软件包全名 查询未安装的软件包信息
52 软件管理 # rpm -e rpm –e 软件包名称 删除具体的软件包
53 软件管理 # rpm -U rpm –Uvh软件包全名 升级软件包并显示过程
54 软件管理 # rpm -ivh rpm –ivh 软件包全名 安装软件包并显示过程
55 软件管理 # rpm -V rpm –V软件包名称 验证软件包的大小,类型等
56 软件管理 # tar -c 创建包 –x 释放包 -v 显示命令过程 –z 代表压缩包
57 软件管理 # tar -cf tar –cvf benet.tar /home/benet 把/home/benet目录打包
58 软件管理 # tar -czf tar –zcvf benet.tar.gz /mnt 把目录打包并压缩
59 软件管理 # tar –tf tar –tf benet.tar 看非压缩包的文件列表
60 软件管理 # tar –tzf tar –tf benet.tar.gz 看压缩包的文件列表
61 软件管理 # tar –xf tar –xf benet.tar 非压缩包的文件恢复
62 软件管理 # tar –zxvf tar –zxvf benet.tar.gz 压缩包的文件解压恢复
63 软件管理 # tar -jxvf tar –jxvf benet.tar.bz2
64 软件管理 # diff diff file1 file2 > 补丁名.patch 为新旧文件生成补丁文件
65 软件管理 # diff diff file1 file2 比较两个文件的区别
66 软件管理 # Patch Patch file补丁名.patch 打补丁
67 软件管理 # ./configure --prefix=/usr/local/ 编译前配置
68 软件管理 # make 编译
69 软件管理 # make install 安装编译好的源码包
70 启动管理 # reboot Init 6 重启LINUX系统
71 启动管理 # Halt Init 0 Shutdown –h now 关闭LINUX系统
72 启动管理 # runlevel 显示系统运行级
73 启动管理 # Init [0123456] 改变系统运行级,7种
74 启动管理 # Chkconfig –-list [服务名称] 查看服务的状态
75 启动管理 # Chkconfig –-level <运行级> <服务名> on|off|set 设置服务的启动状态
76 启动管理 # Chkconfig <服务名> on|off|set 设置非独立服务启状态
77 进程管理 # Top动态 Ps-aux静态 进程树pstree 查看系统进程
78 进程管理 # 程序名 & 后台运行程序
79 进程管理 # fg 把后台运行的进程调回前台
80 进程管理 # bg 把前台运行进程调到后台
81 进程管理 # renice Renice +1 180 把180号进程的优先级加1
82 进程管理 # kill Kill PID 终止某个PID进程
83 进程管理 # at at 5pm + 3 days
/bin/ls 指定三天后下午5:00执行/bin/ls
84 进程管理 # crontab Crontab -e 用VI的形式来编辑自动周期性任务
85 进程管理 # crontab Crontab -l 查看自动周期性任务
86 进程管理 # crontab Crontab -r 删除自动周期性任务
87 进程管理 # crond Service crond <start|stop|restart|status>
马上启动自动周期性服务 Service crond <启动|停止|重启|状态>

实现磁盘配额 (注安装LINUX时建立/home分区)
目标:对用户zhao在/home目录上实现soft limit为5k,hard limit 为10k的磁盘配额
实现步骤:
1. 修改包含/home的行, #vi /etc/fstab, 改为:defaults,usrquota。也就是增加usrquota项。然后保存退出。
2、卸载/home目录 #umount /home
3. 挂接/home目录 #mount /home
4、增加用户zhao #useradd zhao
5、修改密码 #passwd zhao
6、生成关于/home目录的quota信息 # quotacheck -cmug /home
#quotacheck -vu /home
7、查看所有用户的信息 #repquota -au
8、设置配额 #edquota -u zhao
将soft 和hard 分别改为5和10
9、保存并退出 #wq!
10、修改时间 #edquota -t
11、 #wq!
12.开启/home上的磁盘配额功能 #quotaon /home
13.查询配额 #quota -u zhao
14.验证配额 #su - zhao
$touch myfile

由于重裝windows等原因破坏了gru(转载)

由于重裝windows等原因破坏了grub,無法進入ubuntu的請看這里。本帖是根据論壇里相應的帖子整理的。很可能有漏掉不少帖子,請使用論壇的搜索功能。
下面將給出很多種方法來解決這個問題:
1.用livecd(强烈推荐)
2,用安裝cd
3,使用grub4dos
4,使用grub軟盤
1,使用livecd(强烈推荐)
使用任何你喜歡的linux livecd(比如,ubuntu 6.06的desktop cd)

在终端下输入:
代码:

sudo su
grub


你应该看到像这样的东西:

代码:

grub>


接着输入:
代码:

root (hdx,y)
setup (hdx)


请不要完全照样输入!请弄懂这些命令的含义。
hd表示硬盘,格式是
(hd硬盘号,分区号)
从零开始计算。
所以(按照日常的习惯,从1开始数),(hd0,0)表示第一个硬盘的第一个分区,(hd0,1)表示第一个硬盘的第2个分区,(hd1,4)表示第2个硬盘的第5个分区。
(注意,linux系统里是用hda1表示第一个硬盘的第一个分区,不要把它和grub中的表示混起来。)

root (hdx,y)
这里的(hdx,y) 是/boot 目录所在的分区(通常情况下,也就是你装ubuntu系统的分区,除非你安装的时候把/boot分出去了。)如果你不知道你把ubuntu装在第几个分 区,可以在输入root (hd0, 时按Tab键来补全。(假设你把ubuntu装在第一块硬盘上)
按了tab后,你将看到一些有关各个分区的信息。通常你可以通过分区的大小和格式看出你把ubuntu系统装在哪里了。
setup (hdx) 通常情况下,是setup (hd0)。(多半你把ubuntu装在第一块硬盘上。)要注意的是,不要输入setup (hd0,0)。我曾经犯过这个错误。(如果你没把命令抄下来,凭记忆操作的话,可能会犯这种错误。)

最後,用
代码:
quit

退出grub,重啟系統。

好了,总结一下用到的命令(建议你把下面的代码抄在纸上。如果你对(hdx,y)表示的含义还感觉模糊,最好把上面几段解释也抄下来。)
代码:

sudo su
grub
root (hdx,y)
setup(hdx)
quit

2,使用ubuntu安裝cd恢复

ubuntu desktop-cd可能用不起来。你可能需要6。06的alternative cd。


1. 用 Ubuntu 安装 CD 开机
2. 在 "boot:" 提示号出现时, 键入 "rescue" 当作开机参数

boot: rescue

3. 顺着屏幕上的指示跟着作
4,例如 假设 /boot 磁碟分区位在 /dev/hda
代码:
#grub-install /dev/hda


下面是另外一种方法。
firehare 写道:

1. 启动系统到 Ubuntu 安装CD
2. 沿着屏幕上的命令直到 (千万不要超过这一步)
[!!] Fdisk disks
3. 按 'Ctrl + Alt + F2'
4. 按 'Enter' 进入终端
5.

~ # mkdir /ubuntu
~ # fdisk -l /dev/discs/disc0/disc
~ # mount <你的Ubuntu根设备所在位置> /ubuntu/
~ # chroot /ubuntu/
sh-2.05b#
6. 假设 /dev/hda1 是 /boot 分区的地址
7. sh-2.05b# grub

grub> root (hd0,0)
grub> setup (hd0)
grub> quit




1. 用 Ubuntu 安装 CD 开机
2. 在 "boot:" 提示号出现时, 键入 "rescue" 当作开机参数

boot: rescue

3. 顺着屏幕上的指示跟着作
4,例如 假设 /boot 磁碟分区位在 /dev/hda
代码:
#grub-install /dev/hda

3.1使用grub4dos重新安裝grub
下載http://www.ubuntu.org.cn/download/installformharddisk/grldr
oneleaf 写道:

将 grldr 复制到 C:\,编辑C:\BOOT.INI,加入一行:

C:\GRLDR="GRUB"

再手工输入启动命令
例如:
root (hd0,0)
kernel /vmlinuz-2.6.10-5-686 root=/dev/hdb5 ro quiet splash
initrd /initrd.img-2.6.10-5-686
savedefault
boot

进入后,重新安装grub就好了。

重新安裝grub:
例如 假设 /boot 磁碟分区位在 /dev/hda
代码:
# grub-install /dev/hda

GRUB入门教程

GRUB入门教程 (转载)
==============================
目录:
1. 教程提示
2. GRUB 基础
3. 安装 GRUB
4. 使用 GRUB
5. GRUB 内幕
6. 总结
==============================

第一章 教程提示

我应该学习这门教程吗?

本教程向您显示如何安装和使用 GRUB (Grand Unified Boot Loader)。就像 LILO 一样,GRUB 允许引导 Linux 系统,它负责装入和引导内核。但与 LILO 不同,GRUB 的功能非常多,更易于使用,更可靠和灵活,而且非常小巧。

如果已经有些熟悉 LILO,并了解了磁盘分区的基本知识,那么您就掌握了学习本教程应具备的预备知识。通过学习本教程和安装 GRUB 之后,您将改进 Linux 系统的可靠性和可用性。

如果只是想尝试 GRUB,可以学习本教程的前半部分,并制作 GRUB 引导盘,然后练习使用它来引导系统。这样做以后,您将学会在紧急情况下如何使用 GRUB 来引导系统。

但是,如果想更深入地体验 GRUB,可以学完整个教程,它将为您演示如何将 GRUB 设置成缺省引导装入器。

第二章 GRUB 基础

什么是 GRUB?

GRUB 是引导装入器 -- 它负责装入内核并引导 Linux 系统。GRUB 还可以引导其它操作系统,如 FreeBSD、NetBSD、OpenBSD、GNU HURD 和 DOS,以及 Windows 95、98、NT 和 2000。尽管引导操作系统看上去是件平凡且琐碎的任务,但它实际上很重要。如果引导装入器不能很好地完成工作或者不具有弹性,那么就可能锁住系统,而无 法引导计算机。另外,好的引导装入器可以给您灵活性,让您可以在计算机上安装多个操作系统,而不必处理不必要的麻烦。

GRUB 很棒

幸好,GRUB 是一个很棒的引导装入器。它有许多功能,可以使引导过程变得非常可靠。例如,它可以直接从 FAT、minix、FFS、ext2 或 ReiserFS 分区读取 Linux 内核。这就意味着无论怎样它总能找到内核。另外,GRUB 有一个特殊的交互式控制台方式,可以让您手工装入内核并选择引导分区。这个功能是无价的:假设 GRUB 菜单配置不正确,但仍可以引导系统。哦,对了 -- GRUB 还有一个彩色引导菜单。我们只是刚开始。

为什么使用 GRUB?

您也许会奇怪,为什么全世界都需要 GRUB -- 毕竟,Linux 世界在很长一段时间里一直使用 LILO 引导装入器,而且它可以让上百万的 Linux 用户引导系统。是的,的确是这样,LILO 很有效。但是,LILO 的维修率很高,而且很不灵活。与其花很多时间来描述 GRUB 的优点,还不如演示如何创建自己的 GRUB 引导盘以及如何使用它来引导系统。然后,我将说明 GRUB 的一些很“酷”的技术细节,并指导您完成将 GRUB 安装到 MBR(主引导记录)的过程,以使它成为缺省引导装入器。

如果您有点胆小,不必害怕。可以学习本教程的前半部分,创建 GRUB 引导盘,尝试使用 GRUB 而不必弄乱现有的引导装入器。或者,可以用其安全的“驻留”方式来熟悉 GRUB。那么,让我们立即开始吧。

第三章 安装 GRUB

下载 GRUB

要开始探究 GRUB 的精妙之处,首先需要下载、编译和安装它。但不要害怕 -- 根本不会修改您的引导记录 -- 我们只是要编译和安装 GRUB,就像其它程序一样,在此过程中我们可以创建 GRUB 引导盘。请不要担心;在修改引导过程之前,我会告诉您。

现在开始。访问 ftp://alpha.gnu.org/gnu/grub/ 并下载可以找到的最新版本的 GRUB tar 压缩包。我编写本教程时,最新的 tar 压缩包是 grub-0.5.96.1.tar.gz。下载了最新版本后,就可以安装了。

安装步骤

这里是从 tar 压缩包安装 GRUB 所需输入的命令。我将在 /tmp 中编译源文件,并将所有部分都安装到硬盘的 /usr 目录下。从 root 用户,输入以下命令:

# cd /tmp
# tar xzvf /path/to/archive/here/grub-0.5.96.1.tar.gz
# cd grub-0.5.96.1
# ./configure --prefix=/usr
# make
# make install

现在已经安装了 GRUB,准备开始使用它。

制作引导盘

要制作引导盘,需执行一些简单的步骤。首先,在新的软盘上创建 ext2 文件系统。然后,将其安装,并将一些 GRUB 文件复制到该文件系统,最后运行 "grub" 程序,它将负责设置软盘的引导扇区。准备好了吗?

制作引导盘,第二部分

好,将一张空盘插入 1.44MB 软驱,输入:

# mke2fs /dev/fd0
创建了 ext2 文件系统后,需要安装该文件系统:

# mount /dev/fd0 /mnt/floppy
现在,需要创建一些目录,并将一些关键文件(原先安装 GRUB 时已安装了这些文件)复制到软盘:

# mkdir /mnt/floppy/boot
# mkdir /mnt/floppy/boot/grub
# cp /usr/share/grub/i386-pc/stage1 /mnt/floppy/boot/grub
# cp /usr/share/grub/i386-pc/stage2 /mnt/floppy/boot/grub

只需要再有一个步骤,就能得到可用的引导盘。

制作引导盘,第三部分

解压、编译和安装 GRUB 源 tar压缩包时,会将程序 grub 放到 /usr/sbin 中。该程序非常有趣并值得注意,因为它实际上是 GRUB 引导装入器的半功能性版本。是的,尽管 Linux 已经启动并正在运行,您仍可以运行 GRUB 并执行某些任务,而且其界面与使用 GRUB 引导盘或将 GRUB 安装到硬盘 MBR 时看到的界面完全相同。

这是有趣的设计策略,现在该使用驻留版本的 GRUB 来设置引导盘的引导扇区了。从 root 用户,输入 "grub"。GRUB 控制台将启动,显示如下:

GRUB version 0.5.96.1 (640K lower / 3072K upper memory)

[ Minimal BASH-like line editing is supported. For the first word, TAB
lists possible command completions. Anywhere else TAB lists the possible
completions of a device/filename. ]

grub>

欢迎使用 GRUB 控制台。现在,研究命令。

制作引导盘,第四部分

在 grub> 提示符处,输入:

grub> root (fd0)
grub> setup (fd0)
grub> quit

现在,引导盘完成了。在继续下一步骤之前,在看一下刚才输入的命令。第一个 "root" 命令告诉 GRUB 到哪里查找辅助文件 stage1 和 stage2。缺省情况下,GRUB 会在指定的分区或磁盘上的 /boot/grub 目录中进行查找。在安装引导盘时,也就是几分钟以前,我们已将这些文件复制到正确的位置。接着,输入了 setup 命令,它告诉 GRUB 将引导装入器安装到软盘的引导记录上;我们将在以后详细讨论这一过程。然后退出。现在,已经制作好引导盘,可以开始使用 GRUB 了。

第四章 使用 GRUB

准备

使用 GRUB 引导系统之前,需要知道一些信息。首先,应知道哪个分区保存了 Linux 内核,以及 root 文件系统的分区名称。然后,应查看现有 LILO 配置来寻找需要传递给内核的变量,如 "mem=128M"。一旦获取了这些信息,就可以开始了。

启动 GRUB

要启动 GRUB,需要关闭系统并退出引导盘。如果由于某些原因而不能立即关闭系统(比如上班时在部门的服务器上测试 GRUB),那么只要在提示中输入 "grub" 并继续操作。所有程序的运行情况都不会改变,只是您不能执行引导(因为 Linux 正在运行)。

首次接触

装入引导盘时,在屏幕顶部将出现一条消息,告诉您正在装入第一阶段和第二阶段。几秒后,将会出现一个熟悉的屏幕,显示如下:

GRUB version 0.5.96.1 (640K lower / 3072K upper memory)

[ Minimal BASH-like line editing is supported. For the first word, TAB
lists possible command completions. Anywhere else TAB lists the possible
completions of a device/filename. ]

grub>

可以看到,这些内容与在 Linux 中以驻留方式运行 GRUB 时出现的消息完全相同 -- 只不过现在我们是使用 GRUB 来引导 Linux。

"root"

在 Linux 中,当谈到 "root" 文件系统时,通常是指主 Linux 分区。但是,GRUB 有它自己的 root 分区定义。GRUB 的 root 分区是保存 Linux 内核的分区。这可能是您的正式 root 文件系统,也可能不是。例如,在 Gentoo Linux 中,有一个单独的小分区专用于保存 Linux 内核与引导信息。大多数情况下,我们不安装这个分区,这样在系统意外崩溃或重新引导时,就不会把它弄乱。

"root",第二部分

这些,我们讨论的是 GRUB,需要指定 GRUB 的 root 分区。进入 root 分区时,GRUB 将把这个分区安装成只读型,这样就可以从该分区中装入 Linux 内核。GRUB 的一个很“酷”的功能是它可以读取本机的 FAT、FFS、minix、ext2 和 ReiserFS 分区,我们很快就会讨论这个功能。但现在,让我们输入 root 分区。在提示中输入 root,但不要按 Enter 键:

grub> root (

现在,按一次 Tab 键。如果系统中有多个硬盘,GRUB 将显示可能完成的列表,从 "hd0" 开始。如果只有一个硬盘,GRUB 将插入 "hd0,"。如果有多个硬盘,继续进行,在 ("hd2") 中输入名称并在名称后紧跟着输入逗号,但不要按 Enter 键。部分完成的 root 命令看起来如下:

grub> root (hd0,

"root",第三部分

现在,继续操作,再按一次 Tab 键。GRUB 将显示特定硬盘上所有分区的列表,以及它们的文件系统类型。在我的系统中,按 Tab 键时得到以下列表:

grub> root (hd0, (tab)
Possible partitions are:
Partition num: 0, Filesystem type is ext2fs, partition type 0x83
Partition num: 1, Filesystem type unknown, partition type 0x82
Partition num: 2, Filesystem type unknown, partition type 0x7
Partition num: 4, Filesystem type is reiserfs, partition type 0x83
Partition num: 5, Filesystem type is reiserfs, partition type 0x83

如您所见,GRUB 的交互式硬盘和分区名称实现功能非常有条理。这些,只需要好好理解 GRUB 新奇的硬盘和分区命名语法,然后就可以继续操作了。

GRUB 命名约定

到目前为止,您可能会感到一点困惑,因为 GRUB 所使用的硬盘/分区命名约定与 Linux 使用的命名约定不同。在 Linux 中,第一个硬盘的第五个分区称作 "hda5"。而 GRUB 把这个分区称作 "(hd0,4)"。GRUB 对硬盘和分区的编号都是从 0 开始计算。另外,硬盘和分区都用逗号分隔,整个表达式用括号括起。现在,回来看一下 GRUB 提示,可以发现如果要引导 Linux 硬盘 hda5,应输入 "root (hd0,4)"。如果已经明白了 GRUB 硬盘/分区命名,您也许要调整当前 root 命令行,以使它指向保存 Linux 内核的分区。按以下格式输完命令,然后按 Enter 键:

grub> root (hd0,4) (hit enter)
Filesystem type is reiserfs, partition type 0x83

装入内核

现在已安装了 root 文件系统,到装入内核的时候了。在 GRUB 提示中,依次输入 "kernel"、空格、到内核的路径、空格、内核参数,如 root 参数(GRUB 将自动插入适当的 "mem=" 参数)。我在我的系统中输入:

grub> kernel /boot/bz2.4 root=/dev/hda5
[Linux-bzImage, setup=0x1200, size=0xe1a30]

请留意 "root=" 内核参数,它非常重要。它应该指向保存 root 文件系统的 Linux 分区。您也许要写下到目前为止输入的命令,这样在教程后面讲述如何创建 GRUB 引导菜单时,就可以迅速找到它们。

Root,内核,引导!

您已经安装了 root 文件系统并装入了内核。现在,可以引导了。只要输入 "boot",Linux 引导过程就将开始。

第五章 GRUB 内幕

重新调查引导软盘

如果一切正常,就可以使用使用 GRUB 引导盘来引导当前 Linux 发行版。如您所见,GRUB 是功能非常强大的引导装入器,它让您可以随意动态配置以进行引导。我将向您介绍如何创建 GRUB 引导菜单,这样就可以从菜单中进行 OS 选择,而不是输入三行命令来引导 Linux。但在动手之前,现在是深入了解 GRUB 幕后是如何工作的好时机。我将说明引导盘引导过程的工作原理,这样您就可以对 GRUB 有一个更好的评价和了解。

两阶段过程

要制作引导软盘,需要做两件事 -- 将文件复制到软盘的 ext2 文件系统的 /boot/grub 目录中,运行 GRUB 的安装程序。运行 GRUB 安装程序时,GRUB 将 "stage 1" 装入器安装到软盘的引导记录中。它还将 stage 1 装入器配置成从 ext2 文件系统直接装入 stage2。通常,GRUB 通过在包含 stage2 数据的软盘上创建一列块来完成此操作,这样 stage1 装入 stage2 时不必知道 ext2 文件系统的任何情况。

但是,大多数情况下,GRUB 在安装完 stage1 之后,会立即将 stage1.5 装入器安装到引导记录中。这个特殊的 stage1.5 允许无需使用原始块列表就能从 ext2 文件系统装入 stage2,却要更灵活的标准基于路径的方法。GRUB 理解文件系统结构的这一能力使 GRUB 比 LILO 更强壮。例如,如果正好在整理引导盘文件系统的碎片,stage1 就可以找到 stage2(归功于 ext2 stage1.5)。而 LILO 就不能完成此项操作。因为 LILO 只能依赖于映射文件,每次更新内核或在磁盘上物理移动数据时,即使不更改路径,也需要重新运行它。

阶段 1、1.5 和 2

您也许会想知道:如果使用 FAT 而不是 ext2 文件系统创建引导盘,GRUB 是否可以工作。是的,它可以工作,因为在输入 "setup (fd0)" 时,GRUB 会安装与 root 文件系统类型匹配的 stage1.5。即使没有没有空间可以安装 stage1.5,GRUB 仍可以通过追溯到更原始的块列表,来装入 stage2。

搜索和恢复

在继续讨论之前,先研究一个与引导软盘相关的实用提示。由于 GRUB 的交互式性质,它为恢复软盘生成了一个很好的引导装入器。但是,如果将好的内核复制到引导盘上,那它就更好了。那样,即使硬盘上的内核坏了或者被意外删除 了,也可以追溯到引导盘内核,并启动和运行系统。要将备用内核复制到引导盘,执行以下操作:

# mount /dev/fd0 /mnt/floppy
# cp /path/to/bzImage /mnt/floppy/boot
# umount /dev/fd0

现在,软盘已包含备用内核,可以在 GRUB 中使用它来引导 Linux 发行版,操作如下:

grub> root (fd0)
grub> kernel /boot/bzImage root=/dev/hda5 (将 /dev/hda5 更改成想要引导的分区名称)
grub> boot

硬盘引导

好,现在如何将 GRUB 安装到硬盘上?这个过程几乎与引导盘安装过程一样。首先,需要决定哪个硬盘分区将成为 root GRUB 分区。在这个分区上,创建 /boot/grub 目录,并将 stage1 和 stage2 文件从 /usr/share/grub/i386-pc 复制到该目录中。可以通过重新引导系统并使用引导盘,或者使用驻留版本的 GRUB 来执行后一步操作。在这两种情况下,启动 GRUB,并用 root 命令指定 root 分区。例如,如果将 stage1 和 stage2 文件复制到 hda5 的 /boot/grub 目录中,应输入 "root (hd0,4)"。现在,只差一步。

硬盘引导,续

接着,决定在哪里安装 GRUB -- 在硬盘的 MBR,或者如果与 GRUB 一起使用另一个“主”引导装入器,则安装在特定分区的引导记录中。如果安装到 MBR,则可以指定整个磁盘而不必指定分区,如下(对于 hda):

grub> setup (hd0)

如果要将 GRUB 安装到 /dev/hda5 的引导记录中,应输入:

grub> setup (hd0,4)

现在,已安装 GRUB。引导系统时,应该立即以 GRUB 的控制台方式结束(如果安装到 MBR)。现在,应创建引导菜单,这样就不必在每次引导系统时都输入那些命令。

引导菜单

要创建菜单,只需在 /boot/grub 中创建一个简单的文本文件 menu.lst。如果将它放在正确位置,它将在 root GRUB 驱动器的 stage1 和 stage2 文件的旁边。这里是一个样本 menu.lst 文件,可以将它作为一个您的菜单的基础:

default 0
timeout 30
color white/blue blue/green

title=Boot Linux
root (hd0,4)
kernel /boot/bzImage root=/dev/hda5

title=Boot Linux using initrd
root (hd0,5)
kernel /boot/bzImage root=/dev/loop0 init=/initdisk.gz
initrd /initdisk.gz

title=Windows NT
root (hd0,3)
chainloader +1

我将在以下的屏面中说明 menu.lst 格式。

理解引导菜单

引导菜单很容易理解。前三行设置缺省菜单项(项目号 0,第一个)、设置超时值(30 秒),并选择整个菜单的一些颜色。

接着的三行配置 "Boot Linux" 菜单项。要创建手工引导命令系列之外的菜单项,只要添加一行 "title=" 作为第一行,并从最后一行中除去 "boot" 命令(GRUB 会自动添加这个命令)。

接着的四行显示了如何使用 GRUB 来引导 initrd(初始 root 磁盘),如果您愿意的话。现在,讨论最后三行……

链式装入器

这里是示例 menu.lst 的最后三行……

title=Windows NT
root (hd0,3)
chainloader +1

这里,我添加了一项来引导 Windows NT。要完成此操作,GRUB 使用了“链式装入器”。链式装入器从分区 (hd0,3) 的引导记录中装入 NT 自己的引导装入器,然后引导它。这就是这种技术叫做链式装入的原因 -- 它创建了一个从引导装入器到另一个的链。这种链式装入技术可以用于引导任何版本的 DOS 或 Windows。
 
第六章 总结

GRUB 的弹性

GRUB 最好的优点之一就是其强健的设计 -- 在不断使用它时请别忘了这点。如果更新内核或更改它在磁盘上的位置,不必重新安装 GRUB。事实上,如有必要,只要更新 menu.lst 文件即可,一切将保持正常。

只有少数情况下,才需要将 GRUB 引导装入器重新安装到引导记录。首先,如果更改 GRUB root 分区的分区类型(例如,从 ext2 改成 ReiserFS),则需要重新安装。或者,如果更新 /boot/grub 中的 stage1 和 stage2 文件,由于它们来自更新版本的 GRUB,很有可能要重新安装引导装入器。其它情况下,可以不必理睬!

优秀的 GRUB 参考资料

我们在这里只是介绍了 GRUB 的一部分。例如,可以使用 GRUB 来执行网络引导,引导 BSD 文件系统,或更多操作。另外,GRUB 有许多配置和安全性命令也很有用。如需所有 GRUB 功能的完整描述,请阅读 GRUB 出色的 GNU 文档。只要在 bash 提示中输入 "info grub" 就可以阅读该文档。
17 October

ubuntu

前天晚上叫朋友教我在电脑装了个ubuntu,以前也安装过红旗的linux,当时觉得挺麻烦的..不过这次却方便了很多/
我是在已经有winxp的基础上安装这个系统的..在硬盘上分出个区来作为linux用..用grub引导winxp跟linux.
11 July

教你如何真正玩转XP共享

  Win XP是NT内核的,所以在网络安全的要求比9x要高。在文件共享方面,也不同于9x。在9x的系统中只需要在共享中设个密码,就可以只让知道密码的用户登陆。而xp却无法这样简单地实现。
  
  Win XP的共享分为两中:简单文件共享(Simple File Sharing)和高级文件共享(Professional File Sharing)。xp在默认情况下是打开简单文件共享的。
  
  一、简单文件共享
  
  打开简单文件共享很简单,只要右键点击文件夹,然后选择属性,出现如下图所示:
  
    图1
  
  我们只要选中在网络中共享这个文件夹。共享以后,“允许网络用户更改我的文件”这一项是默认打开的,所以没有特殊必要的话,我们必须把它前面的勾去掉。
  
  共享驱动器的话会先出现一些安全提示,如下图:
    
   图2
  
  然后点击共享驱动器,就会出现如图1一样的设置。
  
  开启GUEST帐户
  
  这一步很重要,xp默认GUEST帐户是没有开启的,如下图:
    
   图3
  
  要允许网络用户访问这台电脑,必须打开GUEST帐户。依次执行"开始-设置-控制面板-管理工具-计算机管理--本地用户和组-用户"在右边的GUEST账号上单击右键,选"属性"然后去掉"账号已停用"选择,98用网络用户登陆,用户名密码同在XP下刚输入的就行。
  
  如果还是不能访问,可能是本地安全策略限制该用户不能访问。在启用了GUEST用户或者本地有相应账号的情况下,点击"开始--设置--控制面板--计算机管理--本地安全策略"打开"本地安全指派--拒绝从网络访问这台计算机"的用户列表中如果看到GUEST或者相应账号请删除,设置简单文件共享,网络上的任何用户都可以访问,无须密码,简单明了,过程如下图。
    
   图4
  
  二、高级文件共享
  
  xp的高级文件共享是通过设置不同的帐户,分别给于不用的权限,即设置ACL(Access Control List,访问控制列表)来规划文件夹和硬盘分区的共享情况达到限制用户访问的目的。
  
  第一、禁止简单文件共享:
  
  首先打开一个文件夹,在菜单栏的“工具”,“文件夹选项”,“查看”的选项卡,在高级设置里,去掉“使用简单文件共享(推荐)”,如下图:
    
   图5
  
  光是这样并不能启动高级文件共享,这只是禁用了简单文件共享,还必须启用帐户,设置权限,才能达到限制访问的问题。
  
  第二,设置帐户
  
  进入控制面板的用户帐户,有计算机的帐户和来宾帐户。仅仅是开启GUEST帐户并不能达到多用户不同权限的目的。而且在高级文件共享中,Windows XP默认是不允许网络用户通过没有密码的账号访问系统。所以,我们必须为不同权限的用户设置不同的帐户。
  
  假如网络其他用户的访问权限都一样(大多数情况都是这样),我们只需设置一个用户就行了。在用户帐户里,新建一个用户,由于我们必须考虑网络安全性,以所设用户必须为最小的权限和最少的服务,类型设置为“受限制用户”。如AAA用户。
  
  在默认的情况下,xp新建帐户是没有密码的,上面说过,默认情况下xp是不允许网络用户通过没有密码的帐户访问的。所以,我们必须给刚刚添加的AAA用户填上密码。
  
  添加用户也可以这样进行:打开 控制面板,“管理工具”,“计算机管理”,“系统工具”,“本地用户和组”,“用户”,在右边的窗口,按右键新建用户,如下图:
    
   图6
  
  如果你希望网络用户通过此帐户访问系统而不需要密码,需要更改xp的安全策略:
  
  打开控制面板,“管理工具”,“本地安全策略”,展开“本地策略-安全选项”,双击“账户: 使用空白密码的本地账户只允许进行控制台登录”,并停用它,然后确定。如下图:
    
   图7
  
  注意:在Home版的Windows XP里是没有组策略的。
  
  第三、设置共享
  
  做好以上的设置就可以设置共享了,点击一个文件夹,属性,共享选项卡,嘿嘿,跟刚刚的不同了吧,下面还多了个权限的按钮。如下图:
    
   图8
  
  点击权限,默认是EVERYONE,也就是每个用户都有完全控制的权限如下图:
    
   图9
  
  这设置不安全,所以我们要把EVERYONE删除了。
  
  下面添加AAA的权限,按“添加”,查找用户名“AAA”,确定之后就组和用户中就有了,如下图:
  
   图10
  
  其中(BIGEASTAAA)表示计算机bigeast中的AAA用户。
  
  如果我们设置AAA有只读权限,只需要在“读取”那里打勾就行了。
  
  权限的说明:
  
  读取权限允许用户:浏览或执行文件夹中的文件。
  
  更改权限允许用户:改变文件内容或删除文件。
  
  完全控制权限允许用户:完全访问共享文件夹。
  
  如果设置不同的帐户不同权限,重新一次以上步骤。
  
  特别注意,打开了高级共享,系统的所有分区都被默认共享出来,必须把它改回来。
  
  第四、网络用户访问共享文件夹
  
  如果网络用户的操作系统是NT/2000/XP的话,访问时候提示用户密码,只要输入刚刚设置好的帐户密码就可以正常访问了。否则无法访问。
  
  如果客户机的操作系统是Windows 95/98/Me,可以设置在登录Windows时直接登录到网络,这样就可以直接登录Windows xp/2000 /NT。用户名是这一切的关键。然而许多Windows 9X的电脑设置了直接登录到桌面而不需要提供用户名和密码(即Windows 登录)。如果是这样的话,点击 开始-注销,就会显示出当前登录的用户名。只要确定 注销,就可以换用其他用户名登录了。登录后,双击网络邻居图标,就可以浏览所有共享的文件夹和硬盘分区。如果在这一步你遇到了错误,那么可能是没有正确登录造成的。
09 June

mysql

第一天:6.8
 
mysql 启动:
问题:因只输入mysql而出现:
ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: NO)
 
解决:mysql -u用户名 -p密码
 
 
 
There are no music lists on this space.