linux学习笔记2

************************************************************
故障排除
  linux系统启动流程
   开机自检 (bios)--》MBR引导--》GRUB菜单--》加载内核(kernel)
   --》运行INIT进程--》读取/etc/inittab配置文件(执行/etc/rc.d/rc.sysinit脚本  执行/etc/rc.d/rc脚本  执行/etc/rc.d/rc.local  启动mingetty进程)
  0磁道0扇区存放MBR(主引导记录) 大小512字节 包含三部分内容:
   bootloader  446字节  (启动加载器)  
   partion 64字节 (分区表)
   magic 2字节  (硬盘唯一标志)
bootloader:
  lilo  早期的  管理空间小 1024柱面之前 (8g) 
  grub程序   不仅可以管理linux,还可以管理别的os  (一部分在bootloader  一部分在/boot)
         
  grub-install  /dev/sda  (将grub的第一部分装入硬盘的MBR中)
  grub-install  --root-directory=/   /dev/sda     (将grub的第二部分装入对应的/boot目录里)

 可以编辑/etc/grub.conf文件 来进行grub菜单的设置
  主要信息(5.4为例):   
    default=0
    timeout=5
    hiddenmenu  默认隐藏操作系统菜单
    title   操作系统的名字
             root (hd0,0) 
             kernel /vmlinuz-2.6.18-164.el5 ro(只读)  root-LABEL=/  rhgb quiet  (内核)
             initrd  /initrd-2.6.18-164.el5.img  (引导过程中需要的驱动程序)
    操作案例:
 (查看包中内容)    #mkdir abc
     #cp  /boot/initrd-2.6.18-164.el5.img  ./abc
     #cd  abc
 abc]#zcat initrd-2.6.18-164.el5.img  |cpio -id  (拆解该包)
 abc]#cd  lib/
 lib]# ll
 
inittab文件的结构  例:x:5:respawn:/etc/x11/prefdm-nodaemon
第一列为id   (用于在inittab文件中唯一标识一个配置记录) 
第二列为runlevels  (用于指定该记录在哪些运行级别中运行)
第三列为action   (用于描述记录将执行哪种类型的动作)
第四列为process  (用于设置启动进程所执行的命令)
启动过程中可能出现的问题:
一  grub的第一段出现问题
例:dd  if=/dev/zero  of=/dev/sda bs=446 count=1  (覆盖掉前446字节)
    init 6 (测试能否启动)
  解决方案: linux rescue  (进入救援模式)
             #chroot  /mnt/sysimage/
             #grub-install  /dev/sda  (将grub的第一部分装入硬盘的MBR中)
             #exit  
             #exit  (两次退出系统重启)
 二  grub第二段出现问题
例:将/boot/grub/grub.conf改名  因为/etc/grub.conf链接到该文件 若改名则链接不到 出错
     #mv  /boot/grub/grub.conf  /boot/grub/grub.conf.old
     #init 6  
    
   解决方案: (可以通过find / 按tab键两次查看是否存在)
   grub> root (hd0,0)
   grub> kernel /vmlinuz-2.6.18-164.el5 ro(只读)  root=/dev/sda2  rhgb quiet  (内核)
   grub>  initrd  /initrd-2.6.18-164.el5.img  (引导过程中需要的驱动程序)
   grub> boot        
 启动后需要手工去编辑grub菜单: (可以通过!!ls /boot/ 来查看内核以便编写)
  vim  /boot/grub/grub.conf
内容 default=0
     timeout=5
     hiddenmenu  默认隐藏操作系统菜单
     title   操作系统的名字
             root (hd0,0) 
             kernel /vmlinuz-2.6.18-164.el5 ro(只读)  root=/dev/sda2  rhgb quiet  (内核)
             initrd  /initrd-2.6.18-164.el5.img  (引导过程中需要的驱动程序)
三  fstab改写出现问题 加载时出错
例:  随意改写/etc/fstab文件
     系统提示输入口令 
     :在此需要输入根口令
     进入后编辑所改写的文件:vim /etc/fstab
     但是会发现保存不了 强制保存也不行
     #mount -o remount,rw  /    (重新加载根目录)
四  管理员口令丢失
     解决办法 :
   重启系统  进入grub菜单
   按e进入编辑状态
  选择 kernel行  按e进行编辑
    在最后插入一个 S 或者singel 或者1 回车
    按b键进行引导
   passwd  root  修改口令 或者 删掉密码  passwd  -d  root
自己制作一个小型的linux系统 (与win pe相似)
 1首先在宿主机上增加一块硬盘 即sdab
  将linux系统启动所需的一些必要文件装入到第二块硬盘 然后在新的主机上利用该硬盘进行启动
 2 启动宿主机
   #fdisk /dev/sdb
    n
    1
    +100m
    a
    1
    n
    2
    回车(默认)
    +200m
    p
    w
   #partprobe /dev/sdb
    #mkdir  /mnt/boot
    #mkdir   /mnt/sysroot
    #mkfs -t ext3 /dev/sdb1
    #mkfs -t ext3 /dev/sdb2
    #mount  /dev/sdb1 /mnt/boot/
    #mount  /dev/sdb2  /mnt/sysroot/
    #grub-install --root-directory=/mnt ( 系统会自动找boot目录 所以不必写出来) /dev/sdb
    #ll /mnt/boot/
    #ll /mnt/boot/grub (查看是否有所需文件)
    #cd  /mnt/boot/
    #cp  /boot/vmlinuz-2.6.18-164.el5  ./  (将宿主机的内核拷贝到当前目录)
    #cp  /boot/initrd-2.6.18-164.el5.img ./ (将宿主机的驱动程序拷贝到当前目录)
    #cd  grub/
    #vim  grub.conf
    内容:
    default=0
    timeout=5
    title  mylinux-1
    root  (hd0,0)
       kernel /vmlinuz-2.6.18-164.el5 ro  root=/dev/sda2  rhgb quiet 
       initrd  /initrd-2.6.18-164.el5.img
     #cd /mnt/sysroot/
     #mkdir dev tmp etc proc sys lib sbin bin  usr
     #chmod o+wt  tmp/
     # cp /sbin/init  sbin/
     #ldd /sbin/int  (查看所需的库文件)
     #cd lib/
     #cp  /lib/libsepol.so.1  ./
     #cp  /lib/libselinux.so.1  ./
     #cp  /lib/libc.so.6  ./
     #cp  /lib/libdl.so.2  ./
     #cp  /lib/ld-linux.so.2  ./
     #cp  /bin/bash  /mnt/sysroot/bin/
     #ldd /bin/bash
     #cp /lib/libtermcap.so.2 ./
     #cd  ../etc
     #cp  /etc/inittab ./
     #vim  inittab
        留下所需要的即可
     #mkdir rc.d
     #cd  rc.d/
     #vim rc.sysinit
     内容:#!/bin/bash
           /bin/bash
     #chmod a+x rc.sysinit
     #sync
     #sync
     #sync  (多次执行以同步)
  此时若在新的主机上使用的话 是没有指令可以使用的 所以需要拷贝一些文件和
  所对应的库文件下面以ls命令为例:
  
     #cp /bin/ls /mnt/sysroot/bin/
     #ldd /bin/ls
     #cd /mnt/sysroot/lib/
     #cp /lib/librt.so.1 ./
     #cp /lib/libacl.so.1 ./
     #cp /lib/libpthread.so.0 ./
     #cp /lib/librttr.so.1 ./
     #sync
     #sync 
*********************************************************************************
系统扩充
源代码
   1名称  .tar.gz  .tar.bz2
      tar  -zxvf  名称.tar.gz -C
      tar  -jxvf  名称.tar.bz2 -C
   2. ./configure --prefix  (install) 
   3. make
   4. make  install
rpm  redhat  packet  manager   (不能解决依赖问题)
     安装 升级 卸载  查询  校验
  安装
   1.-i 安装
     -v 详细信息
     -h 进度
     所以常常一起使用  -ivh
   卸载 -e
    rpm  -e  包名
  查询
  -q  -a  -->-qa   查询所有
      -i  --》-qi  查询所安装的包的信息
      -l  --》-ql 包名  查询已经安装包的位置
          --》-qlp 文件名  查看包中的文件以及将要安装的位置
      -C ---》-qC 包名 可配置的文件
      -f ----》-qf 查询所属包
      --scripts 包名  查询安装过程中所执行的脚本
      --changelog  使用日志
  升级
 -Uvh  (升级  安装)
 -Fvh  (升级)
校验
 1.签名(数字签名--真实性,完整性)
   -K  (--checksig)
 2.内容
   -V
yum  (yellow dog)
网络yum  ftp http  nfs
 本地yum
 
 
    

你可能感兴趣的:(linux,职场,配置文件,菜单,休闲)