QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6753|回复: 10

MagicL1.2(2.6.9) 升级2.6.11.11

[复制链接]
发表于 2005-6-3 19:39:44 | 显示全部楼层 |阅读模式
1、下载linux-2.6.11.11.tar.gz到 /usr/src/
2、
#cd /usr/src
#tar xzvf linux-2.6.11.11.tar.gz
#cd linux-2.6.11.11
#ln -sf /boot/config-2.6.9 /usr/src/linux-2.6.11.11/.config  (网友 demonlj)
#make mrproper

该命令确保源代码目录下没有不正确的.o文件以及文件的互相依赖。由于我们使用刚 下载的完整的源程序包进行编译,所以本步可以省略。而如果你多次使用了这些源程序编 译内核,那么最好要先运行一下这个命令。

#make menuconfig

基于文本选单的配置界面,字符终端下推荐使用

至于选项,因为比较复杂,只是简单做一介绍,编译时应视具体情况,参考帮助的内容再 加以选择。

1. Code maturity level options
  代码成熟等级。此处只有一项:prompt for development and/or incomplete code/drivers, 如果你要试验现在仍处于实验阶段的功能,比如khttpd、IPv6等,就必须把该项选择为Y了; 否则可以把它选择为N。

2. Loadable module support
  对模块的支持。这里面有三项:

  Enable loadable module support:除非你准备把所有需要的内容都编译到内核里面,否则该项应该是必选的。
  Set version inFORMation on all module symbols:可以不选它。
  Kernel module loader:让内核在启动时有自己装入必需模块的能力,建议选上。

3. Processor type and features
  CPU类型。内容蛮多的,不一一介绍了,有关的几个如下:

  Processor family:根据你自己的情况选择CPU类型。
  High Memory Support:大容量内存的支持。可以支持到4G、64G,一般可以不选。
  Math emulation:协处理器仿真。协处理器是在386时代的宠儿,现在早已不用了。
  MTTR support:MTTR支持。可不选。
  Symmetric multi-processing support:对称多处理支持。除非你富到有多个CPU,否则就不用选了。

4. General setup
  这里是对最普通的一些属性进行设置。这部分内容非常多,一般使用缺省设置就可以了。下面介绍一下经常使用的一些选项:

  Networking support:网络支持。必须,没有网卡也建议你选上。
  PCI support:PCI支持。如果使用了PCI的卡,当然必选。
  PCI access mode:PCI存取模式。可供选择的有BIOS、Direct和Any,选Any吧。
  Support for hot-pluggabel devices:热插拔设备支持。支持的不是太好,可不选。
  PCMCIA/CardBus support:PCMCIA/CardBus支持。有PCMCIA就必选了。
  System V IPC
  BSD Process Accounting
  Sysctl support:以上三项是有关进程处理/IPC调用的,主要就是System V和BSD两种风格。如果你不是使用BSD,就按照缺省吧。
  Power Management support:电源管理支持。
  Advanced Power Management BIOS support:高级电源管理BIOS支持。

5. Memory Technology Device(MTD)
  MTD设备支持。可不选。

6. Parallel port support
  并口支持。如果不打算使用串口,就别选了。

7. Plug and Play configuration
  即插即用支持。虽然linux对即插即用目前支持的不如Windows好,但是还是选上吧,这样你可以拔下鼠标之类的体验一下Linux下即插即用的感觉。

8. Block devices
  块设备支持。这个就得针对自己的情况来选了,简单说明一下吧:

  Normal PC floppy disk support:普通PC软盘支持。这个应该必选。
  XT hard disk support:
  Compaq SMART2 support:
  Mulex DAC960/DAC1100 PCI RAID Controller support:RAID镜像用的。
  Loopback device support:
  Network block device support:网络块设备支持。如果想访问网上邻居的东西,就选上。
  Logical volume manager(LVM)support:逻辑卷管理支持。
  Multiple devices driver support:多设备驱动支持。
  RAM disk support:RAM盘支持。

9. Networking options
  网络选项。这里配置的是网络协议。内容太多了,不一一介绍了,自己看吧,如果你对网络协议有所了解的话,应该可以看懂的。如果懒得看,使用缺省选项(肯定要选中TCP/IP networking哦)就可以了。让我们看看,TCP/IP、ATM、IPX、DECnet、Appletalk……支持的协议好多哦,IPv6也支持了,Qos and/or fair queueing(服务质量公平调度)也支持了,还有kHTTPd,不过这些都还在实验阶段。

10. Telephony Support
  电话支持。linux下可以支持电话卡,这样你就可以在IP上使用普通的电话提供语音服务了。记住,电话卡可和modem没有任何关系哦。

11. ATA/IDE/MFM/RLL support
  这个是有关各种接口的硬盘/光驱/磁带/软盘支持的,内容太多了,使用缺省的选项吧,如果你使用了比较特殊的设备,比如PCMCIA等,就到里面自己找相应的选项吧。

12. SCSI support
  SCSI设备的支持。我没有SCSI的设备,所以根本就不用选,如果你用了SCSI的硬盘/光驱/磁带等设备,自己找好了。

13. Fusion MPT device support
  需要Fusion MPT兼容PCI适配器,不用选。

14. I2O device support
  需要I2O接口适配器支持,在智能Input/Output(I2O)体系接口中使用。

15. Network device support
  网络设备支持。上面选好协议了,现在该选设备了,可想而知,内容肯定多得很。还好还好,里面大概分类了,有ARCnet设备、Ethernet(10 or 100 Mbit)、Ethernet(1000Mbit)、Wireless LAN(non-hamradio)、Token Ring device、Wan interfaces、PCMCIA network device support几大类。我用的是10/100M的以太网,看来只需要选则这个了。还是10/100M的以太网设备熟悉,内容虽然多,一眼就可以看到我所用的RealTeck RTL-8139 PCI Fast Ethernet Adapter support,为了免得麻烦,编译到内核里面好了,不选M了,选Y。耐心点,一般说来你都能找到自己用的网卡。如果没有,你只好自己到厂商那里去要驱动了。

16. Amateur Radio support
  配置业余无线广播。

17. IrDA(infrared)support
  红外线支持。

18. ISDN subsystem
  如果你使用ISDN上网,这个就必不可少了。

19. Old CD-ROM drivers(not SCSI、not IDE)
  做的可真周到,原来那些非SCSI/IDE口的光驱谁还在用啊,自己选吧,用IDE的CD-ROM不用选。

20. Character devices
  字符设备。这个内容又太多了,先使用缺省设置,需要的话自己就修改。把大类介绍一下吧:

  I2C support:I2C是Philips极力推动的微控制应用中使用的低速串行总线协议。如果你要选择下面的Video For linux,该项必选。
  Mice:鼠标。现在可以支持总线、串口、PS/2、C&T 82C710 mouse port、PC110 digitizer pad,自己根据需要选择。
  Joysticks:手柄。即使在linux下把手柄驱动起来意义也不是太大,游戏太少了。
  Watchdog Cards:虽然称为Cards,这个可以用纯软件来实现,当然也有硬件的。如果你把这个选中,那么就会在你的/dev下创建一个名为watchdog的文件,它可以记录你的系统的运行情况,一直到系统重新启动的1分钟左右。有了这个文件,你就可以恢复系统到重启前的状态了。
  Video For linux:支持有关的音频/视频卡。
  Ftape, the floppy tape device driver:
  PCMCIA character device support:

21. File systems
  文件系统。内容又太多了,老法子,在缺省选项的基础上进行修改。介绍以下几项:!!!(一定要全部内核安EXT2 EXT3 RFS)

  Quota support:Quota可以限制每个用户可以使用的硬盘空间的上限,在多用户共同使用一台主机的情况中十分有效。
  DOS FAT fs support:DOS FAT文件格式的支持,可以支持FAT16、FAT32。
  ISO 9660 CD-ROM file system support:光盘使用的就是ISO 9660的文件格式。
  NTFS file system support:ntfs是NT使用的文件格式。
  /proc file system support:/proc文件系统是linux提供给用户和系统进行交互的通道,建议选上,否则有些功能没法正确执行。

  还有另外三个大类都归到这儿了:Network File Systems(网络文件系统)、Partition Types(分区类型)、Native Language Support(本地语言支持)。值得一提的是Network File Systems里面的两种:NFS和SMB分别是linux和Windows相互以网络邻居的形式访问对方所使用的文件系统,根据需要加以选择。

22. Console drivers
  控制台驱动。一般使用VGA text console就可以了,标准的80*25的文本控制台。

23. Sound
  声卡驱动。如果你能在列表中找到声卡驱动那自然最好,否则就试试OSS了。

24. USB supprot
  USB支持。很多USB设备,比如鼠标、调制解调器、打印机、扫描仪等,在linux都可以得到支持,根据需要自行选择。

25. Kernel hacking
  配置了这个,即使在系统崩溃时,你也可以进行一定的工作了。普通用户是用不着这个功能的。

  配置完后,存盘退出,当然你也可以把现在的配置文件保存起来,这样下次再配置的时候就省力气了。

!!!(/DEV/下由 个 AUTO MOUNT /dev 一定要选!!!

接下来是编译,输入以下命令。(网友 solaris)

#make && make modules_install && make install  (网友 demonlj)

#init 6

重新起动

!!!如果重起出现
VFS:unable to mount root fs on ~~~~~错误

不妨用2.6.9进入后这样

#cd /boot/grub
#vi /boot/grub/grub.config
去掉升级内核后的加载,让系统直接用kernel /boot/vmlinuz-2.6.11.11 init 5引导,我现在就是在2.6.11.11下。
ro root=/dev/hda10 vga=791 splash=silent
initrd /boot/initrd-2.6.9.img

这个是我最后升级2.6.11.11内核后成功引导的 grub.conf

# grub.conf generated by MagicInstaller.

# Note that you do not have to rerun grub after making changes to this file.
default=1
timeout=10
splashimage=(hd0,9)/boot/grub/splash.xpm.gz
title WINDOWS XP SP2
rootnoverify (hd0,0)
chainloader +1
title MagicLinux (2.6.11.11)
root (hd0,9)
kernel /boot/vmlinuz-2.6.11.11 init 5
title MagicLinux (Graphics Mode)
root (hd0,9)
kernel /boot/vmlinuz-2.6.9 init 5 ro root=/dev/hda10 vga=791 splash=silent
initrd /boot/initrd-2.6.9.img
title MagicLinux (2.6.11.11Console Mode)
root (hd0,9)
kernel /boot/vmlinuz-2.6.11.11 init 3
 楼主| 发表于 2005-6-3 19:41:46 | 显示全部楼层
内核配置界面(ZT)


使用方向键在各选项间移动;使用“Enter”键进入下一层选单;每个选项上的高亮字母是键盘快捷方式,使用它可以快速地到达想要设置的选单项。在括号中按“y”将这个项目编译进内核中,按“m”编译为模块,按“n”为不选择(按空格键也可在编译进内核、编译为模块和不编译三者间进行切换),按“h”将显示这个选项的帮助信息,按“Esc”键将返回到上层选单。

注意,如果“make menuconfig”命令失败,很可能是ncurses库没有安装。

内核的配置选项很多,这里就主要选项进行简要说明,使大家能根据自己的情况,进行内核定制。如果某些项把握不准,可以参考documentation/Configure.help文件,也可搜索整个系统,并查看相关的选项都在哪些文件中出现了。接下来就是个选项的配置说明情况。

◆ Loadable module support(可加载模块支持)。其中“Enable loadable module support”选项可让内核支持模块;“Module unloading”选项可以让用户卸载不再使用的模块,如果不选的话用户将不能卸载任何模块(注意,有些模块一旦加载就不能卸载,与是否选择了此选项无关);“Module versioning support(EXPERIMENTAL)”选项允许用户可以使用其它版本内核中编译的模块,不过并不可靠,所以一般不选择它;“Automatic kernel module loading”选项允许内核自动调用“modprobe”命令来加载需要的模块。

模块是一小段代码,编译后可在系统内核运行时被动态地加入内核,从而为内核增加一些特性或对某种硬件进行支持。一般一些不常用到的驱动或特性可以编译为模块以缩小内核的体积。在运行时可以使用“modprobe”命令把模块加载到内核中去(在不需要时还可以卸载它)。

◆ Set version infomation on all symbols for modules(CONFIG_MODVERSIONS)是有关内核模块版本控制的选项。如果用户打算开发内核模块代码(包括当前内核源码树中之外的任何模块代码),就开启这个设置。一般的用户可以关闭。

◆(Pentium-III/Celeron(Coppermine))Processor family用来选择CPU类型。它允许内核使用高级处理器内部的特殊指令。当然,如果用户的CPU是80386,就没必要选择P4。但是如果实在不知该怎么选择,就选386。这时如果用户使用高级的CPU,内核的运行速度会比它应有的速度慢,但至少它能够运行。建议使用Help和/proc/cpuinfo获得更多的帮助。

◆ High Memory Support (CONFIG_NOHIGHMEM)使内核支持大内存。通常情况下内核只支持1GB内存(实际情况是896MB,它与vmalloc()的实现有关,这超出了我们的讨论范围)。如果用户的内存数量超过了896MB,请选择内核对4GB内存的支持,甚至64GB内存的支持。

◆ Symmetric multi-processing support(CONFIG_SMP)使内核支持多处理器。如果用户有多于一个CPU,那么一定要选这项。

◆ Maximum number of CPUs(2-32)用以选择处理器数量。对于单CPU用户来说,选多少都没有意义。

◆ General setup表示通用配置。这里可设置内核对虚拟内存的支持和为System V的进程提供通信机制;通过“Sysctl support”选项可以动态地更改一些核心参数与变量,而不需要重新启动系统。

◆ File systems(文件系统)。这里的内容很多,建议在缺省的基础上进行修改。一般需要DOS FAT(FAT16、FAT32)、VFAT,EXT3、NTFS和ISO9660(标准光盘使用的文件系统)支持。

介绍完这些内核配置的主要选项,用户在根据自己的要求配置好内核之后,接下来就要编译内核。

◆ Power management options (ACPI、APM)是高级电源管理。要注意ACPI与APM不能同时使用。如果同时配置了这两者,那么在系统启动时,若发现一个可工作的ACPI设备,那么APM将被关闭,ACPI会被加载。

如果想让Linux支持高级电源管理,例如软关机、系统休眠等,需要选择“Power Management support”选项;“Software Suspend(EXPERIMENTAL)”选项可以挂起计算机(类似Windows XP中的休眠),这个功能不需要高级电源管理的支持;“Processor”选项可让处理器在空闲时节省电能,应该选上;“Thermal Zone”选项在系统温度过高时,及时调整系统的工作状态,以保护CPU(需要硬件的支持)。

◆ Bus options(PCI、PCMCIA、EISA、MCA和ISA)用以设置系统总线。根据主板参数自己进行选择。针对PCI总线的是“PCI support”选项,下面还有ISA和EISA子项,一般都是需要的;“Support for hot-pluggable devices”选项是对热插拔设备的支持;“PCMCIA/CardBus support”选项支持PCMCIA。

◆ Executable file formats表示可执行文件格式,一般全要选上。

◆ Device Drivers用来选择设备驱动程序。声卡、显卡、网卡和电视卡等驱动都在这里选择。其中“Plug and Play support”选项支持即插即用;“Block devices”选项支持块设备;“SCSI device support”选项支持SCSI 设备;“Multi-device support(RAID and LVM)”选项支持RAID和逻辑卷;“Networking support”选项支持网络,包括网络协议和网络设备,协议中肯定要“TCP/IP”项,根据自己的网卡选择相应的设备;ISDN上网必需选“ISDN subsystem”选项;“Sound”选项是声卡驱动,有两种选择,一种是ALSA驱动,一种是Open Sound System驱动,选择支持自己声卡的那种,将之编译进内核;“USB Support”选项该项很重要,平常用的优盘就是一种USB设备;对USB而言,至少需要“Support for USB”、“USB device filesystem”、“ECHI HCD(USB 2.0)support”、“UCHI HCD(most Intel and VIA)support”、“USB Audio support”、“USB MIDI support”和“USB Mass Storage support”选项。

执行了“make ”之后,系统会在include/linux目录下生成一个autoconf.h文件。例如,在配置内核选项时选择支持NTFS文件系统,并把它编译进了内核,那么在.config中就会生成“CONFIG_NTFS_FS=y”这项,相应的在include/linux/autoconf.h中会生成“#define CONFIG_NTFS_FS 1”这项。因此所有与NTFS文件系统相关的C源文件都会包含include/config/ntfs/fs.h这个头文件。

新的2.6.0内核中增加了两个GUI配置工具,要使用xconfig必需先安装Qt库(一般发行版的光盘里都有),要使用gconfig就要先安装Gtk库。

在启动配置工具时,2.6.0内核会读取当前的系统配置,从而保持与当前配置相同的选项。这个特性是为方便以后的升级工作,在内核特性变化不大的情况下可以直接以当前的选项为基础,省去了逐项配置的麻烦。有两种方法可以让2.6.0内核以默认选项来启动配置工具,一种是将当前的配置文件/boot/config-XXX删除;另一种是在执行配置工具前先执行“make defconfig”命令。

除此之外,还为make添加了几个新选项,是allyesconfig、allnoconfig和allmodconfig。它们是为内核开发人员与测试人员准备的。

用户根据自己的要求配置好内核之后,接下来就要编译内核。
回复

使用道具 举报

 楼主| 发表于 2005-6-3 19:43:37 | 显示全部楼层
小空的世界  ZT

  ·linux 系统不能开机或可能出现的错误情况


这篇文章是针对Thiz系统中常见的错误都有写到
MBR错误,inittab错误,fstab错误,mount错误等等。。
很值得读读,如果很不幸遇到这些问题也不用重装,重装,再重装啦。
你会发现linux是很健壮的。。。。。。。 ^_^



/*****************************************************************
********************
*   第一次修改
********************
下周一(2004年4月19日)就要到上海参加RHCE考试,考完后基本上不会再碰这些无
关紧要的问题。实际上,只要有充足的时间,任何一个对linux有充分兴趣的大虾小虾们
都能想办法在不重装系统的前提下,上google查资料修复这些问题。但RHCE考试中时间
比较紧张,而一个系统管理员也不可能把所有千奇百怪的问题都遇到,所以了解一些常见
trouble还是有好处的。

Thiz不代表甚麽,虽然相对于其他许多考试Thiz要难一些,通过后也不会成为"理论
家",不知如何实战,尤其在国内"假"文凭满天飞的情况下("假"不是指制假文凭假证
书那种假,现在非常多的非常正规的教育部门的文凭,实际上与假的没甚麽区别),RHCE
比较容易受人尊敬(同时向CCIE敬礼),但Thiz考得毕竟比较浅,象许多坛子里的Thiz
们说的,"Thiz的服务设置贵在广而不是精","Thiz仅仅是开始",拿不拿这个证就看
它对你有没有用了。anyway,在准备Thiz的过程中,你会发现自己以前忽略的一些基础
知识,对于考Thiz值不值这个问题总是仁者见仁,智者见智,就懒得想那么多了。


(假设系统中至少已经安装有grub或lilo程序,按错误可能发生的顺序,包括root帐号不
能正常登录的情况,写这个错误情况最初的目的是让自己心中有数,希望没有误人子弟)

********************
*   第二次修改
********************
补充了第二点关于/initrd的说明

********************
*   第三次修改(4.15)
********************
结果这篇文章成了分析Thiz中的问题,本来只考虑不能正常开机与登
录情况的,既然linuxsir.org的版主kissingwolf说只分析到这一步可能有点危险(如果某位
小虾读了这篇文章就以为这可能已经涉及到了整个Troubleshooting而去考试,恐怕已经误
人子弟了)。
好,就偶能想到的考点继续写点。当然,下周一考完试,偶就不可能再继续修改这篇文章
了。

补充了第六点的说明

********************
*   第四次修改(4.16)
********************
到现在为,偶已经是为了写这个内容而写了。反正后天就休息了(考试前要好好玩一玩)

补充第九点到了login提示符不能正常登录的情况

*******************************************************************/

  #######################
#                      #
####################### #
#                     # #
#  一、MBR错误。     # #
#                     ##
#######################

由于意外原因,主引导记录被破坏,新手安装多操作时系统常发生先装linux再装windows
类系统后只能引导win的情况。这种情况下,grub.conf或lilo.conf正常,只需进入rescue
模式重安装一次MBR即可。
情况描述:只能进入win类系统或开机后BIOS自检通过后黑屏无任何提示。


  #######################
#                      #
####################### #
#                     # #
#  二(1)、引导程序错误##
#                     ##
#######################

grub.conf或lilo.conf文件错误。修改了grub.conf或lilo.conf后,或者硬盘物理位置和分区
发生变化后造成不能正常启动。进入rescue模式,修改grub.conf或lilo.conf即可。注意修
改了lilo.conf后需执行lilo命令(可加-v 参数查看详细信息)

情况描述:
(一)grub的一般情况
1、如果没有找到内核(vmlinuz-x.x.x文件),
  出现File not found
    Press any key to continue....
  说明root(hdx,x)错误,或内核文件名不对

2、如果找到内核后,运行一会,
  出现kernel Panic:Not init Found,
  一般来说是没有找到根分区(/分区)即root=/dev/xxx不对

3、如果找到内核后,运行一会,
  出现Kernel panic: VFS: Unable to mount root fs on ...,
  一般来说可能忘了加上initrd /initrd-2.4.21-4.EL.img(大多情况发生在使用scsi硬盘)
4、总的来说grub.conf里面必须存在的就几行。
#more grub.conf
title linux
root (hd0,1)                                        #/boot分区所在位置
kernel /vmlinuz-2.4.21-4.EL ro root=/dev/TEST/root 
                                                    #内核和根分区(/分区)位置
(根分区可能是LVM和raid,而不仅是hdx和sdx)
initrd /initrd-2.4.21-4.EL.img

平时练习grub.conf菜单文件的最好办法是把这个文件删掉,每次重启时自己使用grub的
交互命令行就快就会对文件里面的内容熟悉。

(二)lilo的一般情况

lilo中没有找到内核文件或ramdisk文件(initrd-2.4.xx.x.ximg)出现的提示与grub中相同,
但如果是分区发生变化就会出现众所周知的L、LI、010101等错误。
lilo.conf中必须出现的几行。
image=/boot/vmlinuz-2.4.21-4.EL   #内核所在位置
label=linux             #等于grub中的title
root=/dev/sdc1                   #根分区所在位置
initrd=/boot/initrd-2.4.21-4.EL.img
注意如果lilo中不加boot=/dev/sdx,则运行lilo程序时,需加参数指明
lilo -b /dev/sdx

(三)综述

1、grub.conf文件设置错误可以使用交互命令进入系统,而lilo.conf文件设置错误又没有
设delay值的话,连sigle模式都无法进入,只能用rescue修复。修改文件后发正常的重启
信号就行了,不用执行sync命令。

2、lilo.conf文件中基本上不管有没有/boot分区,而grub就要区别有无/boot分区,grub.conf
中root(hdx,x),如果有/boot分区,这个root就是指/boot分区,如果/boot只是作为一个目
录在根分区中(/分区),这个root(hdx,x)就是/分区的所在位置。

3、那麽:lilo.conf文件中的内核和根分区(/分区)的位置能不能象grub.conf这样写呢:
lilo:
image=/boot/vmlinuz-2.4.21-4.EL root=/dev/sdc1
grub:
kernel /vmlinuz-2.4.21-4.EL ro root=/dev/TEST/root 
结果lilo是无法找到/分区。

4、记住lilo.conf和grub.conf都有4行必须写,不同之处在于grub.conf中多了一行指明/boot
目录(注意不是/boot分区,而仅仅是/boot目录)所在分区的位置,而lilo.conf中把kernel
和根分区(/分区)拆行为两行。

5、我估计grub和lilo是troubleshooting中必考项目

  #######################
#                      #
####################### #
#                     # #
#  二(2)、/initrd目录# #
#                     ##
#######################

这个该死的问题搞了我一整个下午,说来话长,写在最后(估计考试中不大可能出这种题,
要不就太缺德了)。

********************
*   第四次修改补充
********************
考试中说不定会考。
只要使用了ramdisk 而没有建立/initrd目录,就无法启动。
我把scsi的数据全部放到ide盘上以后,把initrd /initrd.x.x.x-img 这一行删除后,没有/initrd
就能启动,不过ext3的日志就不能支持了。但是scsi硬盘,基本上是必须使用ramdisk的

  #######################
#                      #
####################### #
#                     # #
#  三、/etc/inittab # #
#                     ##
#######################

***(/etc/initab还可能在后面发生错误)*****

(一)如果出现INIT: No inittab file found
    Enter runlevel:
一般来说就是inittab文件丢失或者有错误。

(二)如果启动基本正常,到了
INIT:Entering runlevel: 3     (或者 5)
后,就开始出现一系列错误,很有可能/etc/inittab文件中
si::sysinit:/etc/rc.d/rc.sysinit 这一行发生错误
由于系统许多模块还没有初始化。

只能进入rescue模式,如果对inittab文件不很熟悉的话,最好把initscripts的rpm包重装
一次。默认的/etc/inittab文件应该能正常启动。


  #######################
#                      #
####################### #
#                     # #
#  四、/etc/fstab   # #
#                     ##
#######################

/etc/fstab文件错误(比/etc/inittab文件后出错)

(一)出现WARNING:coundn't open /etc/fstab: No such file or directory
/etc/fstab文件丢失
/etc/fstab文件不属于任何rpm包,利用fdisk和e2label命令查看根分区(/分区)、/boot、/home、
/usr、/var分区(如果有这几个分区),然后编辑/etc/fstab文件,注意fstab文件的格式,如
果记不住,可以查看帮助:如果未mount /分区,则先装载,如果/usr分区单列,装载/usr
分区。如果在rescue模式下则先chroot。
查找fstab的帮助文件:
1、直接man fstb
2、locate fstab
  你会发现有个叫fstab.5.gz的文件,一般在/usr/share/man/man5/fstab.5.gz
  可以 man /usr/share/man/man5/fstab.5.gz
  或者 zless /usr/share/man/man5/fstab.5.gz
3、rpm -ql mount | grep fstab 也能找到fstab的帮助文件
4、find / -iname "*fstab*"     最笨的办法
如果不是在rescue模式,修改fstab文件时出来Read-only file system咋办?重新装载成读
写模式
mount -o remount,rw /dev/sdax /

(二)mount 文件丢失或被替换
mount 文件错误会出现/proc文件相关错误,红字显示很醒目,
此时比较麻烦,需进入rescue模式而不是进入输入root口令进行修改,因为根分区现在被
mount成只读(ro)模式,你没有mount命令来把根分区mount 成读写的(rw)。

(三)文件系统错误
1、使用fsck进行修复,郁闷的是无论出现什么提示只能选y,要不系统依然有问题。
2、可能文件系统的superblock有问题,把备份的恢复即可。(考试中这种情况几乎不可能)
fsck.ext3 -b (8192*n)+1

(四)raid或LVM错误
使用raid和lvm的知识进行修复,如果raid盘或lvm盘中没有数据,则可把/etc/fstab中提
到的/dev/mdx和/dev/xxxxxx/xxx相关的注释掉。如何修复raid或lvm上的数据估计Redhat
是不会考的。
我在做实验时,发现RedHat Enterprise AS3的/etc/rc.sysinit有个小bug
如果我在做raid的基础上把raid做到LVM里面去,重启系统时,会报告出错。
例如:
1、编辑/etc/raidtab         #设一个任意级别的 md0
2、mkraid /dev/md0         #假设一切都正常,该raid则可使用了
3、pvcreate /dev/md0        #建立LVM的pv
4(方法一)、vgextend VGname /dev/md0            #把md0加到现有vg中
4(方法二)、vgcreate VGname /dev/md0 /dev/sdax  #新建一个vg
5、lvcreate -L 5G -n newlv VGname                #在VGname这个vg中建立一个5G
的名字newlv的lv
6、mkfs.ext3 /dev/VGname/newlv                   #格式化成ext3文件系统
7、把/dev/VGname/newlv加到/etc/fstab中
8、reboot
你会发现系统出错。原来/etc/rc.sysinit在启动raid时,是根据/etc/fstab这个文件来的,如
果/etc/fstab中没有以/dev/mdx开头行,则不启动/etc/raidtab中的md0、md1 .....,重启系统,
你会发现启动raid时有(skiped)的东东。如果这个raid是属于LVM中的一个pv,所以在
启动LVM的时候,也跟着出错。
临时办法倒是有:编辑/etc/rc.sysinit,因为在rc.sysinit文件中确定/etc/fstab中是否有raid是
用的grep命令:
INFSTAB=`LC_ALL=C grep -c "^$i" /etc/fstab`
其中INFSTAB是确定命令是否成功的变量,$i是/etc/raidtab 文件中的md0或md1...etc,
把$i前面的^去掉即可。

(五)quota设置错误
大不了把/etc/fstab中的usrquota和grpquota全部关闭。
FIXME:是否还有其他发生错误的可能?


  #######################
#                      #
####################### #
#                     # #
#  五、/etc/inittab # #
#                     ##
#######################

***/etc/inittab文件错误***
系统反复重启或启动后就关机
设置了错误的runlevel,如0或6

  #######################
#                      #
####################### #
#                     # #
# 六、其他daemon错误 # #
#                     ##
#######################

情况比较复杂,根据显示出错误信息决定如何修复。

********************
*   第三次修改补充
********************

偶的这篇短文中没有提到的地方可能有:
(一)网络配置错误
      ip addr netmask route gateway 大不了加上tc iptables ipchains 以及相关的配置文件
(二)DNS解析错误
      大多在/etc/host.conf /etc/resolve.conf  /etc/hosts这些文件有关
(三)xwindow的桌面环境及主要的一次配置文件.xinitrc、XF86Config、/etc/X11/Xxxx目
录下面的
(四)磁盘分区,文件系统,swap分区相关
      这些最基本的知识都不知道?
(五)FIXME:其中diagnose and correct bootloader failures arising from bootloader,module, and
filesystem errors 偶没明白,bootloader中出错的地方,与那些module有关?
(六)诊断和修复其他daemon错误(就是各种网络服务啦),而根据RHCE and RHCT Exam
Preparation Guide提到的不外乎以下:
服务不能正常启动,最基本的调试方法是利用该服务自带的配置文件检测工具先检测一次,
然后再另开一个tty,执行
tail -f /var/log/message
同时到另一个tty启动该服务,观察输出的消息,具体情况具体分析。如果服务启动了不
能正常使用的话,注意iptables是否拒绝了客户端,客户端是否在pam、tcp_wrapper等其
他控制方式上被拒绝,同时也可以观察/var/log/中的相关文件。
1、HTTP/HTTPS
   httpd -q 测试配置文件
2、SMB
   testparm 测试配置文件
3、NFS
   showmount -e localhost 看自己是否正常提供了exports
   rcpinfo -p localhost   看portmap 是否正常
4、FTP
   AS3目前自带vsftpd,配置非常简单
5、Web proxy
   AS3目前自带squid,如果只是要配置一个简单的带认证的web proxy,根据conf文件
修改非常简单
6、SMTP
   默认sendmail、也可使用postfix(网易就是用的这个)
7、IMAP, IMAPS, and POP3
   要简单使用,几乎不用配置。
8、SSH
   /etc/ssh/sshd_config,几乎每天都要用的东西
9、DNS
   named-checkconf   named-checkzone检查配置文件

   考试中虽然不能重装整个系统,但我想把该服务删掉重装应该的可以的,所以说,如果
仅仅是要正常启动一个基本的网络服务程序,确实找不到问题所在,rpm -ivh --force
software.2.x.x.x.rpm

还有一些Thiz中没有提到的服务:
10、ntp
   时间服务,要想简单配置也不困难/etc/ntp.conf
11、NIS
    这个不知为何没有提到,不过用ypserv做个简单的NIS认证也不难
12、inn
   新闻服务器,需要两个包inn和cnew,偶配好一个inn服务器后,用台win98登上去的
时候,心里是叨矛的激动啊,回想起97年的时候上新闻组心里真是莫名的高兴。
13、LDAP
  Thiz如果考LDAP的客户端认证还可以接受,但如果要考LDAP的服务器应用,恐怕
不大可能。要配置一台最基本LDAP服务器让它启动不难,但具体应用,你到redhat的网
站去看,他们正在搞40x的培训,专门针对LDAP的。

网络服务调度中有个工具非常有用,telnet,别看网站到处说telnet不安全,没用了,但你
查看服务器是否正常运行的时候,telnet功能强大。
网络服务出错是千变万化,每一个服务的具体分析诊断可以出几十上百本书,我想redhat
不会考得那么难。这时最有用的词还是:具体问题具体分析。

  #######################
#                      #
####################### #
#                     # #
#  七、/etc/inittab # #
#                     ##
#######################

***如果服务基本已经启动完毕却出现***

INIT: no more processes left in this runlevel

可能是没有程序守护 tty1或tty2............等,即/etc/inittab文件中少了
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
等等

出现这种情况,如果不明白/etc/inittab的格式,强制重装initscripts的rpm包即可

  #######################
#                      #
####################### #
#                     # #
#  八、xwindow错误   # #
#                     ##
#######################

一般来说与/etc/X11/XF86config文件有关,考试中不可能涉及硬盘问题。
运行redhat-config-xfree86一般都能解决,可能发生的问题较多,普通点的就是刷新率,显
示模式如800x600等。
********************
*   第三次修改补充
********************
桌面环境配置错误?用过windows系统应该能轻易上手。

  #######################
#                      #
####################### #
#                     # #
# 九、root不能正常登录##
#                     ##
#######################

********密码及PAM相关*******

(一)出现Login incorrect 多半与密码相关
1、的确是密码错误 单用户模式修改
2、root用户被锁  单用户模式 usermod -U root 即可
3、没有root用户,即没有uid为0的用户
4、/etc/securetty文件中没有tty*(*表示1,2,3,4等)

(二)输入用户名和密码后,只见屏幕一闪,,那多半与authconfig、pam有关了
1、三轮车夫同志遇到的。authconfig时,选了ldap认证,后来ldap服务器的地址变了后,
就无法登录。
   解决办法:运行 authconfig取消该选项。

2、/etc/pam.d/system-auth中添加了
   account required /lib/security/$ISA/pam_access.so
   或其他类似的pam模式限制,如pam_listfile.so、pam_time.so等。
  解决办法同上,运行authconfig后会自动删掉。

3、/etc/pam.d/login中添加了
   account required /lib/security/$ISA/pam_access.so
   或其他类似的pam模式限制,如pam_listfile.so、pam_time.so等。
  解决办法:只有手工去查看login文件,运行authconfig后不会自动取消。

4、/etc/pam.d/  目录中的system-auth 或login中的模块文件名有误。
  模块文件名错误同样会使系统无法登录。
  建议发生无法登录的情况时,到单用户或rescue模式,首先查看/var/log/secure 和
message文件。

********************
*   第四次修改补充
********************
(一)如果/etc/passwd中设置的shell是/bin/bash,那么bash被替换或丢失也会造成无法登
录。其他同理。
(二)/etc/profile、/etc/bashrc等等登录后初始化环境的程序被做了手脚也有错都会造成无
法登录。/etc/profile.d目录下,~/.profile、~/bashrc等等,其他同理。
   例如:你在/etc/profile 加一行logout,那肯定是登录又退出了。
(三)/bin/login文件丢失或出错误。
   这个问题比较好判断,当你输入用户名后回车,又回到登录界面,连输密码的机会
都没有。/var/log/message中会有记录。
(四)/etc/passwd 文件丢失。有日志。
(五)帐号过期(这几种情况基本上都与/etc/passwd有关)。 /var/log/message中会有日志
记录。
   修复文件是/etc/passwd(如果没有使用shadow的话) 或/etc/shadow(一般情况)

所以说最关键的是要看系统的提示和日志,永远都有未知问题。
另外,估计考试中与scsi硬盘有关的不大会考,考试中心恐怕不会用那麽多的学习pc装scsi
硬盘,成本高了,除非尽用老掉牙的scsi盘和卡(比同容量的ide还是贵)。


****************************************************************
**********************关于第二点的说明**************************
****************************************************************
  #######################
#                      #
####################### #
#                     # #
#  二(2)、/initrd目录 # #
#                     ##
#######################

该问题困扰了整个下午。从头说起:

中午在linuxsir.org的论坛上发现一位叫Proarfei的发了个贴子,内容如下:

---------------------------发贴内容--------------------------------
RHAS3-请求帮助!
安装RHAS3时很顺利,由于是双系统,而且我希望是ntldr做主启动程序,所以我选择了
GRUB安装位置在引导分区的第一扇区,但很奇怪的是,AS在安装完成处没有提示创建
引导盘,在RH9中是有这一步的,我在查询AS3的安装说明中也没有这步骤,但在说明
GRUB配置时说可以创建引导在别的盘上,我不是很清楚AS3是如何创建引导程序在软盘
上的,请各位高手指点一二。
---------------------------发帖结束--------------------------------


AS3中的确没有创建引导盘这一步,当时我不明白Proarfei究竟是想用软盘引导还是想在
ntldr中引导linux,于是回贴如下:


---------------------------回帖内容--------------------------------
如果想用软盘启动linux与grub无关。
制作启动盘
mkbootdisk `uname -r`

如果想在nt启动菜单选择启动
ntldr是由配置文件boot.ini提供工作参数的,该文件位于Windows XP系统分区的根目录下,
具有隐藏、系统、只读属性。我们只需要将Red Hat Linux的引导记录作为一个文件备份到
C盘的根目录下,并相应地在boot.ini文件里添加一个项目来指向它们,就可以实现双重系
统了。
参见:
http://tech.ccidnet.com/pub/article/c738_a79178_p1.html
----------------------------回帖结束------------------------------


由于平时从来没有用过mkbookdisk做过系统盘,不知是否有效,于是自己顺便做个实验,
以免乱说误人子弟。谁知道偶在AS3上用这个命令做盘时,显示:

[root@blueflybird root]# mkbootdisk  --device /dev/fd0 `uname -r`
Insert a disk in /dev/fd0. Any information on the disk will be lost.
Press <Enter> to continue or ^C to abort:
cp: writing `/tmp/mkbootdisk.MPg6Cy/initrd.img': No space left on device
cat: write error: No space left on device
cat: write error: No space left on device
20+0 records in
20+0 records out

靠,空间不足,而且还不说到底是哪个盘的空间不足,整得我连忙用df查看。
结果毕竟还是做好了启动盘(只是不能使用该盘正常启动)

而此时偶又想起,如果Proarfei同志只是要引导linux,把lilo或grub安装到软盘上也行啊,
根本不用mkbookdisk做系统盘。等到论坛上回完贴,心里很不爽,为什么偶用mkbookdisk
做的盘就不能启动呢?

突然偶又想起(偶已经想起了很多次什么东东了),是不是偶用的scsi硬盘造成ramdisk太
大的原因哦,管他三七二十二,还是二十三,去找个IDE盘接上,把scsi中的文件复制到
ide中

cp -a /bin /sbin /var /lib /etc /boot /dev /usr /IDE/
由于根分区中的/root区内编译2.6的内核也占了1G,所以/root /tmp /proc 几个区就自己建
了,swap,暂时不用吧
象/mnt /home  /misc 目前对我来说毫无价值,懒得管他,这样拷了好久(幸亏还有笔记本
可以用)。

终于拷完,把grub也装上,卸下scsi盘,再把IDE放到第一个位置,reboot
从SCSI开始出错。

---------------------------屏幕结束--------------------------------
/lib/BusLogic.o:init_module:
Hint: insmod errors can be caused by incorrect module parameters, including invalid IO or IRQ
parameters.
      you may find more information in syslog or the output from dmesg
ERROR:/bin/insmod exited abnormally!
.
.
调ext3.o module正常
.
.
Mounting root filesystem 正常
.
.
pivortroot:pivot_root(/sysroot,/sysroot/initrd)failed: 2
umount /initrd/proc failed: 2
Freeing unused kernel memory: 164k freed
Kernel panic: No init found. Try passing init= option to kernel
---------------------------显示结束-------------------------------

以后的事让我越来越不爽,甚至变得气急败坏,许许多多的事反反复复做了许多遍。
一、拆下IDE,装上SCSI
二、拆下SCSI,装上IDE
三、看/var/log/dmesg,反复拆,反复看,里面屁都没有一个最新的
四、mkinitrd /boot/initrd.2.4.x.x.xEl `uname -r`
五、加参数--omit-scsi-modules
六、加参数--omit-raid-modules
七、加参数--omit-lvm-modules
八、试用各种组合方式
九、重新回想系统启动的顺序
十、IDE和SCSI整在一起,考文件,拷了删,再删了拷
十一、差点就准备用dd
十二、发狂中
十三、看电视、胃痛
十四、启动时向内核加参数init=/bin/sh、加1。
十五、用带scsi-modules 的ramdisk和不带scsi-modules 的ramdisk
十六、明明知道本来许多无关的情况,都尽量试试关掉再打开。
十七、再重新回想系统启动的顺序

怎么会想得到与/initrd 这个目录有关系?????正绝望中看到
umount /initrd/proc failed: 2
心想总不可能与/initrd有关系吧,管$$$$的,试了再说。

好了,进入rescue建立/initrd目录后,$$$$的一切正常了。
然后制作了一个不带scsi、raid、lvm的ramdisk,initrd.2.4..x.x.x.img的尺寸小了一大半,
重启也正常,再用


- 作者: kongge 2005年03月24日, 星期四 18:31  回复(0) |  引用(0) 加入博采
  已锁定
此日志的浏览权限已被作者锁定,请同作者联系,发送短消息,如果你的身份符合作者的要求,点击此处可以进行浏览
- 作者: kongge 2005年02月11日, 星期五 00:33  回复(0) |  引用(0) 加入博采
  关于使用cue/bin光盘镜像文件
1.如果镜像是VCD之类的影碟,可以直接用mplayer播放:

mplayer cue://file[] [options]

2.用bchunk( http://he.fi/bchunk/ )转为ISO,这需要占用文件写入的时间:

bchunk file.bin file.cue outputfile

mount -t iso9660 outputfile /mnt/cdrom -o loop

3.使用cdemu( http://cdemu.sourceforge.net ),这是一个kernel module,比较高效:

cdemu 0 file.cue

mount -t iso9660 /dev/cdemu/0 /mnt/cdrom

- 作者: kongge 2005年02月5日, 星期六 18:33  回复(1) |  引用(0) 加入博采
回复

使用道具 举报

 楼主| 发表于 2005-6-3 19:47:18 | 显示全部楼层
linux之 F.A.Q   (ZT)


原文地址:http://www.smth.org/bbscon.php?board=LinuxApp&id=12810

发信人: Rocktor (戒烟迎锦标), 信区: LinuxNewbie
标  题: 一句话问答(2004/03/18更新)
发信站: BBS 水木清华站 (Mon Jun 16 14:23:35 2003), 转信

一句话问答(网络无关篇+网络相关篇+程序开发篇+经典图书)
(注:括号中的回答为nichloas网友提供的关于debian的回答,以浅蓝色
标出)

2003/12/6更新,调整了部分内容的排版以方便阅读,去掉了些小错误。
2003/9/7更新,添加了nichloas网友提供的部分关于debian系统的问题,以及
        对原有一些问题答案的改进。Thanks to nichloas~!

--------------------------目录-网络无关篇-目录--------------------------
0001   修改主机名
0002.a Ret Hat Linux启动到文字界面(不启动xwindow)
0002.b 如何在控制台和xwindow之间切换
0003   redhat的自动升级问题
0004   windows下看linux分区的软件 :
0005   mount用法
0006   在vmware的LINUX中使用本地硬盘的FAT分区
0007.a 删除名为\a的文件
0007.c 删除名字带的/和‘\0'文件
0007.d 删除名字带不可见字符的文件
0007.e 删除文件大小为零的文件
0008   redhat设置滚轮鼠标(mc1011) :
0009   加装xwindow
0010   删除linux分区
0011   如何退出man
0012   不编译内核,mount ntfs分区
0013   redhat 8.0中用xmms听mp3
0014   找回忘记了的root口令(lilo/grub)
0015   使ctrl + alt + del失效
0016   如何看出redhat的版本(7.3?8.0?)
0017   文件在哪个rpm中(无双)
0018   把man或info的信息存为文本文件
0019   利用现存两个文件,生成一个新的文件
0020   设置com1口,让超级终端通过com1口进行登录
0021   删除目录下所有文件包括子目录
0022   查看系统信息
0023   去掉多余的回车符
0024   切换X桌面(lnx3000)
0025   通用的声卡驱动程序(lnx3000)
0026   改变redhat的系统语言/字符集(beming/mc1011)
0027   把屏幕设置为90列
0028   使用md5sum文件
0029   一次解压多个zip文件
0030   看pdf文件
0031   查找权限位为S的文件
0032   装中文输入法
0033   把弹出的光盘收回来
0034   cd光盘做成iso文件
0035   快速观看开机的硬件检测
0036   查看硬盘的使用情况
0037   查看目录的大小
0038   查找或删除正在使用某文件的进程(wwwzc)
0039   安装软件
0040   字符模式下设置/删除环境变量
0041.a ls如何看到.开头的文件
0041.b 如何只看到点开头的文件?
0042   rpm中的文件安装到哪里去了
0043   使用src.rpm
0044   vim中显示颜色或不显示颜色
0045   linux是实时还是分时操作系统
0046   make bzImage -j的j是什么意思(wind521)
0047   源码包怎么没有
0048   修改系统时间
0049   开机就mount上windows下的分区
0050   linux怎么用这么多内存
0051   FSTAB 最后的配置项里边最后两个数字是什么意思(lnx3000)
0052   linux中让用户的密码必须有一定的长度,并且符合复杂度(eapass)
0053   linux中的比较常见的翻译软件?
0054   不让显示器休眠
0055   用dat查询昨天的日期(gadfly)
0056   xwindow下如何截屏
0057   解压小全
0058   在多级目录中查找某个文件的方法
0059   不让普通用户自己改密码(myxfc)
0060   显卡实在配不上怎么办(win_bigboy)
0061   超强删除格式化工具(弱智)
0062   如何让xmms播放列表里显示正确的中文(myxfc)
0063   linux下听MP3(hehhb)
0064   安装中文字体(hehhb)
0065   装载windows分区的FAT32、FAT16文件系统(hehhb)

-----------------目录-网络相关篇-目录---------------------
0001   让apache的默认字符集变为中文
0002   永久更改ip
0003   从Linux上远程显示Windows桌面(lnx3000)
0004   手动添加默认网关
0005   redhat 8.0上msn和qq
0006   查出22端口现在运行什么程序
0008   RH8.0命令行下轻松改变ping 的TTL值(cgweb)
0009   RH8.0命令行下轻松改变系统配置默认值(houaq)
0010   mount局域网上其他windows机器共享出的目录
0011   允许|禁止root通过SSH登陆(Fun-FreeBSD)
0012   让root直接telnet登陆
0013   在linux接adsl设备
0014   让linux自动同步时间(shunz)
0015   linux的网上资源有哪些
0016   北京的培训点
0017   改变telnet的端口
0018   终端模式有问题(sakulagi)
0019   模仿超级终端,LINUX里什么程序连接路由器和交换机(alstone)
0020   ssh上来能不能不自动断线(wind521)
0021   用什么工具做入侵检测
0022   Linux下检测程序内存泄漏的工具
0023   linux下如何监视所有通过本机网卡的数据
0024   为什么root执行好多命令都说command not found
0025   关闭用户的POP3权限(tiansgx)
0026   linux下播放flash动画(myxfc)
0027   锁定wu-ftp用户目录(wangla)
0028   Q:如何查看当前网络速度?
0029   Q: Proftp连接后显示:500 FTP server shut down,是怎么回事?
------------------------目录-程序开发篇-目录----------------------
0001   linux下调试core文件
0002   gcc abc.c得到的a.out不能运行
0003   c++ 编译时为什么出错信息说cout没定义
0004   新编译生成的gcc ,使用的标准连接库都在/usr/local/lib 下了,但使用的缺省的连接路径是 /usr/lib 怎样添加?(除了在每次编译时 增加 -L /usr/local/lib 以外)(sakulagi)
------------------------目录-经典图书篇-目录----------------------
0001   GNU/Linux高级网络应用服务指南
0002   Linux Apache Web Server管理指南
0003   Linux内核情景分析
0004   Unix环境高级编程
0005   编程精粹--Microsoft编写优质无错c程序秘诀
0006   understanding the linux kernel第二版
0007   UNIX操作系统教程(英文版)(弱智)
0008   UNIX编程环境(弱智)
0009   The Art of UNIX Programming(hutuworm)
0010   unix网络编程--卷一《套接口API和X/Open传输接口API》(slg1972)
0011   unix网络编程--卷二《进程间通讯》(slg1972)
0012   unix网络编程--卷三《应用程序》(slg1972)
0013   《基于C++ CORBA高级编程》(slg197
------------------------------目录结束----------------------------------





----------------------------网络无关篇--------------------------
0001
修改主机名
vi /etc/sysconfig/network,修改HOSTNAME一行为HOSTNAME=主机名,重启后也能生效
在终端下输入hostname YourNewHostname,也能暂时生效;重起后失效。
(vi /etc/hostname)

0002.a
Ret Hat Linux启动到文字界面(不启动xwindow)
将/etc/inittab中 id:5:initdefault: 一行中的5改为3

0002.b
切换图形和字符界面
alt+ctrl+f1(...f

0003
redhat的自动升级问题
在www.redhat.com/corp/support/errata/找到补丁,6.1以后的版本带有一个工
具up2date,它能够测定哪些rpm包需要升级,然后自动从redhat的站点下载并完成安装。

0004
windows下看linux分区的软件 :
Paragon.Ext2FS.Anywhere.2.5.rar和explore2fs-1.00-pre4.zip

0005
mount用法
fat32的分区:#> mount -o codepage=936,iocharset=cp936 /dev/hda7 /mnt/cdrom
ntfs分区用上述方法可显示部分中文,2.6内核需要用nls=cp936参数
iso文件    :#>mount -o loop /abc.iso /mnt/cdrom
软盘       :#>mount /dev/fd0 /mnt/floppy
USB闪存    :#>mount /dev/sda1 /mnt/cdrom
所有/etc/fstab内容 mount -a
注:mount时可以指定文件格式"-t 格式", 格式可以为vfat, ext2, ext3等.

0006
在vmware的LINUX中使用本地硬盘的FAT分区
将本地的FAT分区共享,然后在VMWARE中使用SMBFS挂上。可以将如下的行放到/etc/fstab中:
//win_ip/D$ /mnt/d smbfs defaults,auto,username=win_name,password=win_pass,codepage=936,iocharest=gb2312 0 0
其中win_ip是你的windows的IP地址;
D$是你的windows里面共享的D盘的共享名;
/mnt/d是要将该分区mount到linux的目录;
win_name和win_pass是你的WINDOWS里面可以读取该分区的用户,比如你的管理员名和密码。
如果你运行了/etc/rc.d/init.d/netfs,那么在启动的时候就会自动挂载这个分区。


0007.a
删除名为-a的文件
rm ./-a
rm -- -a 告诉rm这是最后一个选项,参见getopt
ls -i 列出inum,然后用find . -inum inum_of_thisfile -exec rm '{}' \;

0007.b
删除名为\a的文件
rm \\a

0007.c
删除名字带的/和‘\0'文件
这些字符是正常文件系统所不允许的字符,但可能在文件名中产生,如unix下的NFS文件系统在Mac系统上使用
1.解决的方法,把NFS文件系统在挂到不过滤'/'字符的系统下删除含特殊文件名的文件。
2.也可,将错误文件名的目录其它文件移走,ls -id 显示含该文件目录的inum,umount 文件系统,
clri清除该目录的inum,fsck,mount,check your lost+found,rename the file in it.
最好是通过WINDOWS FTP过去就可以删除任何文件名的文件了!

0007.d
删除名字带不可见字符的文件
列出文件名并转储到文件:ls -l >aaa
然后编辑文件的内容加入rm命令使其内容成为删除上述文件的格式:
vi aaa
[rm -r *******
]
把文件加上执行权限 chmod +x aaa
执行 $aaa

0007.e
删除文件大小为零的文件
rm -i `find ./ -size 0`
find ./ -size 0 -exec rm {} \;
find ./ -size |xargs rm -f &非常有效
for file in * #自己定义需要删除的文件类型
do
if [ ! -s ${file} ]
then
rm ${file}
echo "rm $file Success!"
fi
done

0008
redhat设置滚轮鼠标(mc1011) :
进入X后,选择鼠标的配置,选择wheel mouse(ps/2)就可以了,
如果鼠标表现异常,重启计算机即可。
(su
vi /etc/X11/XF86Config-4(RH等系统没有'-4')
把PS/2 改成 ImPS/2)


0009
加装xwindow
用linux光盘启动,选择升级,然后单独选择包,安装即可

0010
删除linux分区
做一张partition magic的启动软盘,启动后删除. 或者用win2000的启动光盘启动,然后删除.

0011
如何退出man
q键

0012
不编译内核,mount ntfs分区
原装rh8,未升级或编译内核
0. 用uname -v命令查看自己的内核版本(以下以2.4.18-14为例)
1. 上google.com搜索并下载 kernel-ntfs-2.4.18-14.i686.rpm
2. rpm -ivh kernel-ntfs-2.4.18-14.i686.rpm
3. mkdir /mnt/c
4. mount -t ntfs /dev/hda1 /mnt/c

0013
redhat 8.0中用xmms听mp3
下载www.gurulabs.com/files/xmms-mp3-1.2.7-13.p.i386.rpm
rpm -Uvh xmms-mp3-1.2.7-13.p.i386.rpm

0014
找回忘记了的root口令(lilo/grub)
三种办法:
1.在系统进入单用户状态,直接用passwd root去更改
2.用安装光盘引导系统,进行linux rescue状态,将原来/分区挂接上来,作法如下:
cd /mnt
mkdir hd
mount -t auto /dev/hdaX(原来/分区所在的分区号) hd
cd hd
chroot ./
passwd root
这样可以搞定
3.将本机的硬盘拿下来,挂到其他的linux系统上,采用的办法与第二种相同
rh8中
一. lilo
1. 在出现 lilo: 提示时键入 linux single
画面显示 lilo: linux single
2. 回车可直接进入linux命令行
3. #vi /etc/shadow
将第一行,即以root开头的一行中root:后和下一个:前的内容删除,
第一行将类似于
root::......
保存
4. #reboot重启,root密码为空
二. grub
1. 在出现grub画面时,用上下键选中你平时启动linux的那一项(别选dos哟),然后按e键
2. 再次用上下键选中你平时启动linux的那一项(类似于kernel /boot/vmlinuz-2.4.18-14 ro root=LABEL=/),然后按e键
3. 修改你现在见到的命令行,加入single,结果如下:
kernel /boot/vmlinuz-2.4.18-14 single ro root=LABEL=/
4. 回车返回,然后按b键启动,即可直接进入linux命令行
5. #vi /etc/shadow
将第一行,即以root开头的一行中root:后和下一个:前的内容删除,
第一行将类似于
root::......
保存
6. #reboot重启,root密码为空

0015
使ctrl + alt + del失效
vi /etc/inittab
将ca::ctrlaltdel:/sbin/shutdown -t3 -r now这行注释掉就可以了

0016
如何看出redhat的版本(7.3?8.0?)
cat /proc/version或者cat /etc/redhat-release

0017
文件在哪个rpm中(无双)
上www.rpmfind.net上搜,或者rpm -qf 文件名得到

0018
把man或info的信息存为文本文件
以 tcsh 为例:
man tcsh | col -b > tcsh.txt
info tcsh -o tcsh.txt -s

0019
利用现存两个文件,生成一个新的文件
1. 取出两个文件的并集(重复的行只保留一份)
2. 取出两个文件的交集(只留下同时存在于两个文件中的文件)
3. 删除交集,留下其他的行
1. cat file1 file2 | sort | uniq
2. cat file1 file2 | sort | uniq -d
3. cat file1 file2 | sort | uniq -u

0020
设置com1口,让超级终端通过com1口进行登录
确认有/sbin/agetty,编辑/etc/inittab,添加
7:2345:respawn:/sbin/agetty /dev/ttyS0 9600
9600bps是因为联路由器缺省一般都是这种速率,也可以设成
19200、38400、57600、115200
修改/etc/securetty,添加一行:ttyS0,确保root用户能登录
重启机器,就可以拔掉鼠标键盘显示器(启动时最好还是要看看输出信息)了

0021
删除目录下所有文件包括子目录
rm -rf 目录名

0022
查看系统信息
cat /proc/cpuinfo - CPU (i.e. vendor, Mhz, flags like mmx)
cat /proc/interrupts - 中断
cat /proc/ioports - 设备IO端口
cat /proc/meminfo - 内存信息(i.e. mem used, free, swap size)
cat /proc/partitions - 所有设备的所有分区
cat /proc/pci - PCI设备的信息
cat /proc/swaps - 所有Swap分区的信息
cat /proc/version - Linux的版本号 相当于 uname -r
uname -a - 看系统内核等信息

0023
去掉多余的回车符
sed 's/^M//' test.sh > back.sh, 注意^M是敲ctrl_v ctrl-m得到的
或者 dos2unix filename

0024
切换X桌面(lnx3000)
switchdesk KDE或者switchdesk GNOME
(vi ~/.xinitrc
添加或修改成
exec gnome-session 或
exec startkde
然后用startx启动X)


0025
通用的声卡驱动程序(lnx3000)
OSS   :http://www.opensound.com/
ALSA  :http://www.alsa-project.org/

0026
改变redhat的系统语言/字符集(beming/mc1011)
修改 /etc/sysconfig/i18n 文件,如
LANG="en_US",xwindow会显示英文界面,
LANG="zh_CN.GB18030",xwindow会显示中文界面。

还有一种方法
cp /etc/sysconfig/i18n $HOME/.i18n
修改 $HOME/.i18n 文件,如
LANG="en_US",xwindow会显示英文界面,
LANG="zh_CN.GB18030",xwindow会显示中文界面。
这样就可以改变个人的界面语言,而不影响别的用户
(Debian不支持GB18030(RH的zysong字库是有版权的)
现在好像没有Free的GBK和GB18030字库
vi .bashrc
export LANG=zh_CN.GB2312
export LC_ALL=zh_CN.GB2312)



0027
把屏幕设置为90列
stty cols 90

0028
使用md5sum文件
md5sum isofile > hashfile, 将 md5sum 档案与 hashfile 档案内容比对, 验证杂凑值
是否一致 md5sum –c hashfile

0029
一次解压多个zip文件
unzip "*",注意引号不能少

0030
看pdf文件
使用xpdf或者安装acrobat reader for linux

0031
查找权限位为S的文件
find . -type f \( -perm -04000 -o -perm -02000 \) -exec ls -lg {} \;

0032
装中文输入法
以redhat8为例,xwindow及其终端下的不用说了吧,缺省就安装了,用ctrl-space呼出。
现在讨论纯console,请下载zhcon.gnuchina.org/download/src/zhcon-0.2.1.tar.gz,
放在任一目录中,tar xvfz zhcon-0.2.1.tar.gz, cd zhcon-0.2.1, ./configure,
make, make install。安装结束,要想使用,请运行zhcon,想退出,运行exit。

0033
把弹出的光盘收回来
#eject -t

0034
cd光盘做成iso文件
cp /dev/cdrom xxxx.iso

0035
快速观看开机的硬件检测
dmesg | more

0036
查看硬盘的使用情况
df -k 以K为单位显示
df -h 以人性化单位显示,可以是b,k,m,g,t..

0037
查看目录的大小
du -sh dirname
-s 仅显示总计
-h 以K、M、G为单位,提高信息的可读性。KB、MB、GB是以1024为换算单 位, -H以1000为换算单位。

0038
查找或删除正在使用某文件的进程(wwwzc)
fuser filename
fuser -k filename

0039
安装软件
rpm -ivh aaa.rpm
tar xvfz aaa.tar.gz; cd aaa; ./configure; make; make install

0040
字符模式下设置/删除环境变量
bash下
设置:export 变量名=变量值
删除:unset 变量名
csh下
设置:setenv 变量名 变量值
删除:unsetenv 变量名

0041.a
ls如何看到.开头的文件
ls -a

0041.b
如何只看到点开头的文件?
ls .* -d




0042
rpm中的文件安装到哪里去了
rpm -qpl aaa.rpm

0043
使用src.rpm
rpmbuild --rebuild *.src.rpm

0044
vim中显示颜色或不显示颜色
vi ~/.vimrc; 如果有syntax on,则显示颜色,syntax off,则不显示颜色

0045
linux是实时还是分时操作系统
分时

0046
make bzImage -j的j是什么意思(wind521)
-j主要是用在当你的系统硬件资源比较大的时候,比较富裕的时候,用这个可以来加快编译的速度,如-j 3

0047
源码包怎么没有
回复

使用道具 举报

发表于 2005-6-3 20:40:47 | 显示全部楼层
赞一个,支持新人
回复

使用道具 举报

发表于 2005-6-4 18:29:27 | 显示全部楼层
辛苦了!支持一下。
回复

使用道具 举报

发表于 2005-6-6 12:33:19 | 显示全部楼层
文章不错,非常好。不过 ml 1.2 默认的内核配置有问题,所以不推荐直接升级,而是使用我们提供的 2.6.9 更新包。另外这样升级许多功能就都没了,因为内核没有打补钉。
回复

使用道具 举报

发表于 2005-6-6 12:36:03 | 显示全部楼层
A:命令hdparm可以调整硬盘的各种效率模式。hdparm -c 1 -k 1 -d 1 /dev/hda就可以打开了 (为了向下兼容,linux默认状态下是不打开的)。如果你希望在计算机启动的时候就实现这样的效果, 请在/etc/rc.local文件里添加这样一句。
──────────────────────────────
因为 -k1 就代表永久保存修改,所以“在 /etc/rc.local 文件里添加这样一句”是没有必要的。
回复

使用道具 举报

 楼主| 发表于 2005-6-11 11:50:42 | 显示全部楼层
[quote:837004372b="KDE"]文章不错,非常好。不过 ml 1.2 默认的内核配置有问题,所以不推荐直接升级,而是使用我们提供的 2.6.9 更新包。另外这样升级许多功能就都没了,因为内核没有打补钉。[/quote]


同意,我现在又用回2.6.9(KDE3.4.1),2.6.11.11我的 升级内核因为没有选择SCSI,所以一些闪盘没有办法加载,再就是我认为ML1.22.6.9(KDE3.4.1)已经足够一般家庭使用来!!!


升级内核太费时间!
我的机器是
C2 850
AX34
256M
ST 80G
MX440 128M
ACER 77E

呵呵,我连续升级内核加起来3天4次,2.6.11.11的速度没有多快!只是支持NV的最新驱动罢来!但是现在的ML1.2(2.6.9)下,我已经是1024*768 85 HZ了,所以不玩大型游戏的我绝对足够来!
回复

使用道具 举报

发表于 2005-6-11 19:16:32 | 显示全部楼层
在linux下面USB闪存盘是模拟SCSI设备的,必需要支持SCSI设备。
回复

使用道具 举报

发表于 2005-6-11 20:49:24 | 显示全部楼层
谢谢 今晚回去就更新
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-5-23 22:53 , Processed in 0.118592 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表