2011-12-20
2011年12月20日
[b]Linux系统启动和定制[/b]
[b]一。 多种方式安装Linux[/b]
1. CD-ROM安装
2. 硬盘安装
(1) 准备安装盘的ISO
(2) 安装启动盘启动计算机
[b]方法一:安装启动软盘来启动[/b]
安装启动软盘可用1#安装光盘的dosutils下的rawrite.exe来制作
[b]方法二:安装启动光盘来启动[/b]
将1#光盘中images目录下的boot.iso刻录光盘即可
[b]方法三:用DOS启动计算机,然后运行1#安装光盘中autoboot.bat来启动Linux的安装向导[/b]
(3) 在boot:提示符下输入linux askmethod将允许用户选择安装介质,此时可以hard drive
(4) 选择ISO存放的分区,并输入位置
[b]3. 网络安装[/b]
-FTP安装
-HTTP安装
-NFS安装
(1) 配置服务器
通过服务器把安装源文件共享出去(安装源文件指的是ISO文件解压后的内容)
(2) 利用安装启动盘启动客户机,boot:linux askmethod,然后选择相应的服务器
(3) 输入服务器地址和位置
[b]二。Linux的启动过程与设置[/b]
1. Linux的启动过程分析
(1) BIOS自检
(2) 加载GRUB引导程序
(3) 加载Linux的内核
(4) 加载init程序
(5) 用户登录
(6) 加载用户配置和shell
2. GRUB
(1) 认识grub
-GRUB是一种多种操作系统引导加载程序
-GRUB安装在硬盘的mbr中
-GRUB支持菜单和命令行两种操作界面
-GRUB支持跨硬盘引导
(2) 配置grub菜单界面
#vi /boot/grub/grub.conf
-配置默认启动项
default=数字
timeout=数字(0 代表直接启动默认项;-1 代表永久等待直到用户确认)
-设置背景图片
splashimage=(hdx,y)/路径/*.xpm.gz
注:-背景图片必须xpm.gz格式,且14色640*480的分辩率,可以按以下方法自制背景图片
#convert 源图片 -resize 640x480! -colors 14 xpm文件
#gzip xpm文件
-convert包含在ImageMagick包中
-设置GRUB口令
password =口令/--md5 口令的密文
-设置启动项目 grub-md5-crypt
a. linux启动项
title 名称 //设置启动项名称
root (hdx,y) //设置linux内核文件存放的文件
kernel 文件路径 //设置内核文件的路径
initrd 文件路径 //设置init镜像文件的路
径
b. windows启动项
title 名称 //设置启动项名称
rootnoverify (hdx,y) //Windows的引导分区
chainloaer +1 //读取引扇区
注:-如果被启动的操作系统与grub不在同一硬盘上,必须要添加map选项
(3) grub的常见问题
-如何从mbr中卸载grub?
a.dos/98启动盘启动计算机
b.c:\》fdisk /mbr
-如何加载grub引导程序到mbr中?
a.用1#安装光盘启动linux的修复模式
boot:linux rescue
…
#chroot /mnt/sysimage
……
b. 安装grub引导程序到mbr中?
#grub
grub》root (hdx,y)
grub》setup (hdx)
-如何在命令行界面中启动操作系统?
a. 启动linux
grub》root (hdx,y)
grub》kernel 内核文件
grub》initrd init文件
grub》boot
b. 启动windows
grub》rootnoverify (hdx,y)
grub》chainloader +1
grub》boot
-如何恢复grub的全局口令?
#vi /boot/grub/grub.conf
…
删除password配置选项
-如何利用grub的编辑模式启动linux的单用户模式?
在菜单界面中选择某个启动项按“e”键,然后再选择“kernel…”按e键编辑,在未尾加1,最后按b启动
-如何安装grub软件?
a. 安装grub软件到硬盘中
注:rpm包的管理
-rpm包文件的命名格式
软件名-版本号。运行平台。rpm
实例:foo-1.1.1-3.i386.rpm
-安装rpm包
#rpm -ivh [--nodeps] [--replacepkgs] rpm包文件
实例:#rpm -ivh zip-2.3-16.i386.rpm
#rpm -ivh --replacepkgs zip-2.3-16.i386.rpm
#rpm -ivh --nodeps php-4.2.2-4.i386.rpm
查询已安装的RPM包
#rpm -q[a/l/f] [软件名]
实例:#rpm -qa
#rpm -q bind
#rpm -ql bind
#rpm -qf /etc/passwd
-卸载RPM包
#rpm -e [--nodeps] 软件名
实例:
#rpm -e bind
#rpm -e --nodeps bind
-升级RPM包
#rpm -Uvh [--nodeps] RPM包文件
实例:#rpm -Uvh bind-9.4.2-10.i386.rpm
#rpm -ivh grub-0.93-4.i386.rpm
b.加载grub引导程序到mbr中
#grub
grub》root (hdx,y)
grub》setup (hdx)
3. init的分析和配置
(1) 认识init
-init程序是内核加载的第一个程序,进程号为1
-init负责其他程序,它是常驻内存程序
-init可以将系统切换不同的运行级别并加载各级别的程序
(2) 系统运行级别
-运行级别的分类
0 关机
1 单用户
2 多用户、无网络
3 多用户
4 保留
5 桌面环境
6 重启
-查看当前运行级别
#runlevel
-切换运行级别
#init 级别
(3) init的配置
#vi /etc/inittab
-设置默认运行级别
id:3:initdefault:
-设置ctrl+alt+del组合键的功能
ca::ctrlaltdel:/sbin/shutdown -t3 -r now
-设置UPS电源保护
pf::powerfail:/sbin/shutdown -f -h +2 “……”
pr:12345:powerokwait:/sbin/shutdown -c “……”
-设置启动时创建的字符终端个数
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
……
-安排系统在特定级别要运行特定程序
……
l0:0:wait:/etc/rc.d/rc 0
……
(4) /etc/rc.d/目录内容的介绍
-rc.sysinit文件
a. rc.sysinit文件是init程序加载的第一个文件,无论启 动哪个级别首先运行rc.sysinit文件
b. rc.sysinit用于设置字体、设置时钟、激活交换分区等
-rc文件
a. rc文件用于调用在启动级别要运行的程序
-rc0.d/rc1.d/…/rc6.d目录
a. rc0.d/rc1.d/…/rc6.d目录是用于存放各级别要运行 的文件
-init.d目录
a.存放各服务的启动脚本,启动脚本可用于启动/关闭/重启 服务
-rc.local文件
a.启动多用户级别会在用户登录前加载该文件,运行文件中 指定的程序
三。 Linux修复模式
1. 认识Linux修复模式
(1) Linux修复模式是一种特殊模式,可以在硬盘系统出现 故障时来修复系统而使用
2) Linux修复模式可以用Linux的1#安装光盘来启动
(3) 启动Linux修复模式的过程中会检测硬盘中的Linux系统,如果硬盘中存在同版本的Linux系统的话,那么启动向导会加硬盘系统的根分区到/mnt/sysimage
2. 启动Linux修复模式
(1) 放入1#安装光盘到CD-ROM中,并利用光盘启动计算机
(2) 在boot:提示符下输入linux rescue命令
(3) #chroot /mnt/sysimage
3. Linux修复模式的应用
(1) 修复损坏的文件系统
(2) 启动不能正常启动的系统
(3) 恢复丢失的用户口令
(4) 修改配置文件
[b]通过串口关闭Linux服务器[/b]
[b]简介[/b]
一个真正的服务器一般往往不需要连接键盘、显示器或鼠标等外设。而仅仅需要一个性能稳定的操作系统如Linux和一个网卡。诸如鼠标、键盘等外部设备则往往不必要连接。在运行Linux的机器上,通过网络进行远程管理是最好和最方便的解决方法。
在买服务器时应该确保在开机BIOS中有设定不需要检测键盘的选项。目前市场上大多数主板厂商的BIOS版本都有这样的选项。但是仍然有一些主板认为自己的的服务器将只运行windows,因此一定会在启动时需要一个键盘,因此不推荐使用这种机器作为服务器使用。
没有键盘和监视器的计算机非常适合于作为防火墙、web服务器、NFS服务器、邮件服务器的、ADSL网关、DNS服务器的概念等等。而且该机器不一定是功能非常强大的机器。即使一个老的Pentimu100机器,只要拥有足够的内存就可以同时服务数百个客户服务请求。
服务器不连接键盘、鼠标和显示器的好处是非常方便,因为服务器将只是一个简单的主机箱,可以放在任何适合的地方。但有时候你可能希望能有一个按键来实现安全的关闭服务器而无需首先远程登录服务器运行shutdown命令来实现关闭机器。也可能你现在就在服务器机房,而最近的工作站离你有100多米远;或者你希望某个没有root密码的普通用户关闭服务器。当然直接关闭电源并不是一个好的想法,因为这样可能导致丢失数据并且在下次启动时需要很长时间的文件系统检测。
解决方法是按照本文的方法安装一个很小的、便宜的串口设备实现安全关机。
[b]设备[/b]
我们将制作一个小小的、由两个LED和一个按键式开关组成的设备。其中绿色的LED亮表示当前按键式开关是处于激活状态,缓慢闪烁的黄色LED灯表示服务器正在启动或者仍然处于关闭状态。为了实现安全关闭服务器需要持续按下开关3秒钟。
如果你按了按键开关,亮着的绿色的LED将熄灭,表示正在关机,这时候命令“/sbin/shutdown -t2 -h now”被执行。在服务器关闭过程中黄色的LED将连续闪烁以进行指示。当黄色LED不再闪烁时,你仍然需要等待10秒钟才能关闭服务器电源。当所有的进程被杀掉,磁盘被卸载以后黄色LED将不再闪烁。若你的服务器支持自动关机则你不需要考虑10秒的等待时间,因为服务器会自动关闭电源。
[b]串口[/b]
关于串口令人感兴趣的是我们可以通过ioctl系统调用来控制其中的几个管脚。这意味着你不需要修改任何内核代码就可以控制连接到串口的LED或这读取按键式开关的状态。串口有足够的电压来驱动两个低电压LED。我们将使用RTS和DTR针来连接LED,并且“Carrier Detect line”被用来读取按键开关的状态。
串口母头连接器的管脚定义:
9 PIN-connector 25 PIN-connector Name Dir Description
1 8 CD input Carrier Detect
2 3 RXD input Receive Data
3 2 TXD output Transmit Data
4 20 DTR output Data Terminal Ready
5 7 GND -- System Ground
6 6 DSR input Data Set Ready
7 4 RTS output Request to Send
8 5 CTS input Clear to Send
9 22 RI input Ring Indicator
[b]电路[/b]
用户需要下面元器件来制作这个串口关机设备:
1 绿色低电压LED (一个普通LED同样可以工作,但是亮灯过低)
1 黄色低电压LED
2 1.5K欧姆的电阻
1 6.8K欧姆的电阻
1 小按键开关
[b]1 串口母头连接器[/b]
这些元器件按照如下的电路图连接在一起。串口电压范围是+/- 10伏特。1.5K电阻适合于低电压的LED,但是普通LED同样适合。不推荐修改电阻器电压和使用外部电源,因为串口控制芯片是主板的一部分,一旦你烧了其中的芯片,你只有修改整个主板。
上图是实际的电路板样品图。最后的设备如文章开始图片所示。
[b]软件[/b]
软件部分是一个小的守护进程。它可以通过/etc/rc.d/rc3.d/的脚本被启动。它通过使用ioctl(fd, TIOCMSET,…)和ioctl(fd, TIOCMGET, …)函数来读取和写串口。你可以从这里下载程序。软件中包含一个Makefile和安装指示。
2011年12月20日
[b]Linux系统启动和定制[/b]
[b]一。 多种方式安装Linux[/b]
1. CD-ROM安装
2. 硬盘安装
(1) 准备安装盘的ISO
(2) 安装启动盘启动计算机
[b]方法一:安装启动软盘来启动[/b]
安装启动软盘可用1#安装光盘的dosutils下的rawrite.exe来制作
[b]方法二:安装启动光盘来启动[/b]
将1#光盘中images目录下的boot.iso刻录光盘即可
[b]方法三:用DOS启动计算机,然后运行1#安装光盘中autoboot.bat来启动Linux的安装向导[/b]
(3) 在boot:提示符下输入linux askmethod将允许用户选择安装介质,此时可以hard drive
(4) 选择ISO存放的分区,并输入位置
[b]3. 网络安装[/b]
-FTP安装
-HTTP安装
-NFS安装
(1) 配置服务器
通过服务器把安装源文件共享出去(安装源文件指的是ISO文件解压后的内容)
(2) 利用安装启动盘启动客户机,boot:linux askmethod,然后选择相应的服务器
(3) 输入服务器地址和位置
[b]二。Linux的启动过程与设置[/b]
1. Linux的启动过程分析
(1) BIOS自检
(2) 加载GRUB引导程序
(3) 加载Linux的内核
(4) 加载init程序
(5) 用户登录
(6) 加载用户配置和shell
2. GRUB
(1) 认识grub
-GRUB是一种多种操作系统引导加载程序
-GRUB安装在硬盘的mbr中
-GRUB支持菜单和命令行两种操作界面
-GRUB支持跨硬盘引导
(2) 配置grub菜单界面
#vi /boot/grub/grub.conf
-配置默认启动项
default=数字
timeout=数字(0 代表直接启动默认项;-1 代表永久等待直到用户确认)
-设置背景图片
splashimage=(hdx,y)/路径/*.xpm.gz
注:-背景图片必须xpm.gz格式,且14色640*480的分辩率,可以按以下方法自制背景图片
#convert 源图片 -resize 640x480! -colors 14 xpm文件
#gzip xpm文件
-convert包含在ImageMagick包中
-设置GRUB口令
password =口令/--md5 口令的密文
-设置启动项目 grub-md5-crypt
a. linux启动项
title 名称 //设置启动项名称
root (hdx,y) //设置linux内核文件存放的文件
kernel 文件路径 //设置内核文件的路径
initrd 文件路径 //设置init镜像文件的路
径
b. windows启动项
title 名称 //设置启动项名称
rootnoverify (hdx,y) //Windows的引导分区
chainloaer +1 //读取引扇区
注:-如果被启动的操作系统与grub不在同一硬盘上,必须要添加map选项
(3) grub的常见问题
-如何从mbr中卸载grub?
a.dos/98启动盘启动计算机
b.c:\》fdisk /mbr
-如何加载grub引导程序到mbr中?
a.用1#安装光盘启动linux的修复模式
boot:linux rescue
…
#chroot /mnt/sysimage
……
b. 安装grub引导程序到mbr中?
#grub
grub》root (hdx,y)
grub》setup (hdx)
-如何在命令行界面中启动操作系统?
a. 启动linux
grub》root (hdx,y)
grub》kernel 内核文件
grub》initrd init文件
grub》boot
b. 启动windows
grub》rootnoverify (hdx,y)
grub》chainloader +1
grub》boot
-如何恢复grub的全局口令?
#vi /boot/grub/grub.conf
…
删除password配置选项
-如何利用grub的编辑模式启动linux的单用户模式?
在菜单界面中选择某个启动项按“e”键,然后再选择“kernel…”按e键编辑,在未尾加1,最后按b启动
-如何安装grub软件?
a. 安装grub软件到硬盘中
注:rpm包的管理
-rpm包文件的命名格式
软件名-版本号。运行平台。rpm
实例:foo-1.1.1-3.i386.rpm
-安装rpm包
#rpm -ivh [--nodeps] [--replacepkgs] rpm包文件
实例:#rpm -ivh zip-2.3-16.i386.rpm
#rpm -ivh --replacepkgs zip-2.3-16.i386.rpm
#rpm -ivh --nodeps php-4.2.2-4.i386.rpm
查询已安装的RPM包
#rpm -q[a/l/f] [软件名]
实例:#rpm -qa
#rpm -q bind
#rpm -ql bind
#rpm -qf /etc/passwd
-卸载RPM包
#rpm -e [--nodeps] 软件名
实例:
#rpm -e bind
#rpm -e --nodeps bind
-升级RPM包
#rpm -Uvh [--nodeps] RPM包文件
实例:#rpm -Uvh bind-9.4.2-10.i386.rpm
#rpm -ivh grub-0.93-4.i386.rpm
b.加载grub引导程序到mbr中
#grub
grub》root (hdx,y)
grub》setup (hdx)
3. init的分析和配置
(1) 认识init
-init程序是内核加载的第一个程序,进程号为1
-init负责其他程序,它是常驻内存程序
-init可以将系统切换不同的运行级别并加载各级别的程序
(2) 系统运行级别
-运行级别的分类
0 关机
1 单用户
2 多用户、无网络
3 多用户
4 保留
5 桌面环境
6 重启
-查看当前运行级别
#runlevel
-切换运行级别
#init 级别
(3) init的配置
#vi /etc/inittab
-设置默认运行级别
id:3:initdefault:
-设置ctrl+alt+del组合键的功能
ca::ctrlaltdel:/sbin/shutdown -t3 -r now
-设置UPS电源保护
pf::powerfail:/sbin/shutdown -f -h +2 “……”
pr:12345:powerokwait:/sbin/shutdown -c “……”
-设置启动时创建的字符终端个数
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
……
-安排系统在特定级别要运行特定程序
……
l0:0:wait:/etc/rc.d/rc 0
……
(4) /etc/rc.d/目录内容的介绍
-rc.sysinit文件
a. rc.sysinit文件是init程序加载的第一个文件,无论启 动哪个级别首先运行rc.sysinit文件
b. rc.sysinit用于设置字体、设置时钟、激活交换分区等
-rc文件
a. rc文件用于调用在启动级别要运行的程序
-rc0.d/rc1.d/…/rc6.d目录
a. rc0.d/rc1.d/…/rc6.d目录是用于存放各级别要运行 的文件
-init.d目录
a.存放各服务的启动脚本,启动脚本可用于启动/关闭/重启 服务
-rc.local文件
a.启动多用户级别会在用户登录前加载该文件,运行文件中 指定的程序
三。 Linux修复模式
1. 认识Linux修复模式
(1) Linux修复模式是一种特殊模式,可以在硬盘系统出现 故障时来修复系统而使用
2) Linux修复模式可以用Linux的1#安装光盘来启动
(3) 启动Linux修复模式的过程中会检测硬盘中的Linux系统,如果硬盘中存在同版本的Linux系统的话,那么启动向导会加硬盘系统的根分区到/mnt/sysimage
2. 启动Linux修复模式
(1) 放入1#安装光盘到CD-ROM中,并利用光盘启动计算机
(2) 在boot:提示符下输入linux rescue命令
(3) #chroot /mnt/sysimage
3. Linux修复模式的应用
(1) 修复损坏的文件系统
(2) 启动不能正常启动的系统
(3) 恢复丢失的用户口令
(4) 修改配置文件
[b]通过串口关闭Linux服务器[/b]
[b]简介[/b]
一个真正的服务器一般往往不需要连接键盘、显示器或鼠标等外设。而仅仅需要一个性能稳定的操作系统如Linux和一个网卡。诸如鼠标、键盘等外部设备则往往不必要连接。在运行Linux的机器上,通过网络进行远程管理是最好和最方便的解决方法。
在买服务器时应该确保在开机BIOS中有设定不需要检测键盘的选项。目前市场上大多数主板厂商的BIOS版本都有这样的选项。但是仍然有一些主板认为自己的的服务器将只运行windows,因此一定会在启动时需要一个键盘,因此不推荐使用这种机器作为服务器使用。
没有键盘和监视器的计算机非常适合于作为防火墙、web服务器、NFS服务器、邮件服务器的、ADSL网关、DNS服务器的概念等等。而且该机器不一定是功能非常强大的机器。即使一个老的Pentimu100机器,只要拥有足够的内存就可以同时服务数百个客户服务请求。
服务器不连接键盘、鼠标和显示器的好处是非常方便,因为服务器将只是一个简单的主机箱,可以放在任何适合的地方。但有时候你可能希望能有一个按键来实现安全的关闭服务器而无需首先远程登录服务器运行shutdown命令来实现关闭机器。也可能你现在就在服务器机房,而最近的工作站离你有100多米远;或者你希望某个没有root密码的普通用户关闭服务器。当然直接关闭电源并不是一个好的想法,因为这样可能导致丢失数据并且在下次启动时需要很长时间的文件系统检测。
解决方法是按照本文的方法安装一个很小的、便宜的串口设备实现安全关机。
[b]设备[/b]
我们将制作一个小小的、由两个LED和一个按键式开关组成的设备。其中绿色的LED亮表示当前按键式开关是处于激活状态,缓慢闪烁的黄色LED灯表示服务器正在启动或者仍然处于关闭状态。为了实现安全关闭服务器需要持续按下开关3秒钟。
如果你按了按键开关,亮着的绿色的LED将熄灭,表示正在关机,这时候命令“/sbin/shutdown -t2 -h now”被执行。在服务器关闭过程中黄色的LED将连续闪烁以进行指示。当黄色LED不再闪烁时,你仍然需要等待10秒钟才能关闭服务器电源。当所有的进程被杀掉,磁盘被卸载以后黄色LED将不再闪烁。若你的服务器支持自动关机则你不需要考虑10秒的等待时间,因为服务器会自动关闭电源。
[b]串口[/b]
关于串口令人感兴趣的是我们可以通过ioctl系统调用来控制其中的几个管脚。这意味着你不需要修改任何内核代码就可以控制连接到串口的LED或这读取按键式开关的状态。串口有足够的电压来驱动两个低电压LED。我们将使用RTS和DTR针来连接LED,并且“Carrier Detect line”被用来读取按键开关的状态。
串口母头连接器的管脚定义:
9 PIN-connector 25 PIN-connector Name Dir Description
1 8 CD input Carrier Detect
2 3 RXD input Receive Data
3 2 TXD output Transmit Data
4 20 DTR output Data Terminal Ready
5 7 GND -- System Ground
6 6 DSR input Data Set Ready
7 4 RTS output Request to Send
8 5 CTS input Clear to Send
9 22 RI input Ring Indicator
[b]电路[/b]
用户需要下面元器件来制作这个串口关机设备:
1 绿色低电压LED (一个普通LED同样可以工作,但是亮灯过低)
1 黄色低电压LED
2 1.5K欧姆的电阻
1 6.8K欧姆的电阻
1 小按键开关
[b]1 串口母头连接器[/b]
这些元器件按照如下的电路图连接在一起。串口电压范围是+/- 10伏特。1.5K电阻适合于低电压的LED,但是普通LED同样适合。不推荐修改电阻器电压和使用外部电源,因为串口控制芯片是主板的一部分,一旦你烧了其中的芯片,你只有修改整个主板。
上图是实际的电路板样品图。最后的设备如文章开始图片所示。
[b]软件[/b]
软件部分是一个小的守护进程。它可以通过/etc/rc.d/rc3.d/的脚本被启动。它通过使用ioctl(fd, TIOCMSET,…)和ioctl(fd, TIOCMGET, …)函数来读取和写串口。你可以从这里下载程序。软件中包含一个Makefile和安装指示。