N26-博客作業-week10

1、請詳細描述CentOS系統的啟動流程(詳細到每個過程系統做了哪些事情)

N26-博客作業-week10

2、為運行于虛擬機上的CentOS 6添加一塊新硬件,提供兩個主分區;
  (1) 為硬盤新建兩個主分區;并為其安裝grub;
  (2) 為硬盤的第一個主分區提供內核和ramdisk文件; 為第二個分區提供rootfs;
  (3) 為rootfs提供bash、ls、cat程序及所依賴的庫文件;
  (4) 為grub提供配置文件;
  (5) 將新的硬盤設置為第一啟動項并能夠正常啟動目標主機;

~]# fdisk /dev/sdb                                               
~]# mke2fs -t ext4 /dev/sdb{1,2}                                
~]# mount /dev/sdb1 /mnt                                         
~]# grub-install --root-directory=/mnt /dev/sdb                  
~]# cp /boot/initramfs-2.6.32-504.el6.i686.img /mnt/initramfs    
~]# cp /boot/vmlinuz-2.6.32-504.el6.i686 /mnt/vmlinuz            
~]# vim /mnt/boot/grub/grub.conf                                 
    default=0
    timeout=5
    title CentOS6(test)
    root (hd0,0)
    kernel /vmlinuz ro root=/dev/sda2 selinux=0 init=/bin/bash
    initrd /initramfs
~]# umount /dev/sdb1                                              
~]# mount /dev/sdb2 /mnt                                          
~]# mkdir -p /mnt/{bin,sbin,lib,lib64,etc,home,root,media,mnt,dev,tmp}
~]# mkdir -p /mnt/{usr/{bin,sbin,lib,lib64},var{lib,lib64,log,local,cache},proc,sys,selinux}
~]# cp /bin/{bash,ls,cat} /mnt/bin
~]# cp `ldd /bin/{bash,ls,cat}|grep -eo "/lib.*[[:space:]]"| sort -u` /mnt/lib                                             
~]# sync                                                          
~]# init 6                                                        
重啟后進入BIOS設置 調整硬盤啟動順序后保存退出。

3、制作一個kickstart文件以及一個引導鏡像。描述其過程。

可以直接手動編輯或使用創建工具在桌面模式下用system-config-kickstart (CentOS 6)來創建ks.cfg#命令段firewall --disabled                                    //禁用防火墻install                                                //執行新安裝cdrom                                                  //用光盤安裝rootpw --iscrypted $1$TxkJ7T6B$obLELgEGcn0uzgA3QTAPl/  //管理員加密密碼auth  --useshadow  --passalgo=sha512                   //屏蔽密碼算法graphical                                              //安裝圖形環境firstboot --disable                                    //首次引導禁用代理keyboard us                                            //安裝鍵盤類型lang en_US                                             //默認語言selinux --enforcing                                    //激活selinuxlogging --level=info                                   //信息等級timezone  Asia/Hong_Kong                               //系統時區bootloader --location=mbr                              //在MBR上安裝引導程序clearpart --all                                        //刪除所有現存分區  part /boot --fstype="ext4" --size=500                  //分區掛載part / --fstype="ext4" --size=10000#腳本段%pre                                                   //安裝前腳本echo "start"%end%post                                                  //安裝后腳本echo "end"%end#程序包段%packages@chinese-support                                       //中文支持@development                                           //開發工具@graphical-admin-tools                                 //圖形化工具@remote-desktop-clients                                //遠程桌面客戶端git-ibus-table-cangjie-ibus-table-erbi-ibus-table-wubi%end

4、寫一個腳本
  (1) 能接受四個參數:start, stop, restart, status
   start: 輸出“starting 腳本名 finished.”
   …
  (2) 其它任意參數,均報錯退出;

#!/bin/bash
#
cat << EOF
Please make a choice!
start
stop
restart
status
======================
EOF

read -p "Your choice: " choice

case $choice in
    
    start)
        echo "starting script $choice finished."
    ;;
    
    stop)
        echo "starting script $choice finished."
    ;;
    
    restart)
        echo "starting script $choice finished."
    ;;
    
    status)
        echo "starting script $choice finished."
    ;;
    
    *)
        exit 1
esac

5、寫一個腳本,判斷給定的用戶是否登錄了當前系統;
  (1) 如果登錄了,則顯示用戶登錄,腳本終止;
  (2) 每3秒鐘,查看一次用戶是否登錄;

#!/bin/bash
#
read -p "Give a username: " username

while true; do
    if who | grep "^$username\>" &> /dev/null; then
        break
    fi
    sleep 3
done

echo "$username logged on"  

6、寫一個腳本,顯示用戶選定要查看的信息;
   cpu) display cpu info
   mem) display memory info
   disk) display disk info
   quit) quit
   非此四項選擇,則提示錯誤,并要求用戶重新選擇,只到其給出正確的選擇為止;

#!/bin/bash
#
cat << EOF
cpu) display cpu information
mem) display memory infomation
disk) display disks information
quit) quit
===============================
EOF

read -p "Enter your option: " option

while [ "$option" != "cpu" -a "$option" != "mem" -a "$option" != "disk" -a "$option" != "quit" ]; do
    echo "cpu, mem, disk, quit"
    read -p "Enter your option again: " option
done

if [ "$option" == "cpu" ]; then
    lscpu
elif [ "$option" == "mem" ]; then
    free -m
elif [ "$option" == "disk" ]; then
    fdisk -l /dev/[hs]d[a-z]
else
    echo "quit"
    exit 0
fi

7、寫一個腳本
  (1) 用函數實現返回一個用戶的UID和SHELL;用戶名通過參數傳遞而來;
  (2) 提示用戶輸入一個用戶名或輸入“quit”退出;
    當輸入的是用戶名,則調用函數顯示用戶信息;
    當用戶輸入quit,則退出腳本;進一步地:顯示鍵入的用戶相關信息后,再次提醒輸出用戶名或quit:

#!/bin/bash
#
userinfo() {
    local user=$1
    awk -F: '/^'"$user"'/{printf "%s:%s:%s\n",$1,$3,$NF}' /etc/passwd
}

while true; do
    read -p "Please enter a username or "quit": " choice
    if [[ "$choice" == "quit" ]]; then
        break   
    else
        userinfo $choice
    fi
done

exit 0

原創文章,作者:浙江-咲,如若轉載,請注明出處:http://www.www58058.com/72894

(0)
浙江-咲浙江-咲
上一篇 2017-04-09
下一篇 2017-04-09

相關推薦

  • 網絡21期第十周博客作業

    1、請詳細描述CentOS系統的啟動流程(詳細到每個過程系統做了哪些事情) Centos6啟動流程:       POST加電自檢 —> BOOT Sequence —> 加載內核啟動系統    &n…

    Linux干貨 2016-09-15
  • 一起學DHCP系列(一)開篇、概述

    原創作品,允許轉載,轉載時請務必以超鏈接形式標明文章 原始出處 、作者信息和本聲明。否則將追究法律責任。http://jeffyyko.blog.51cto.com/28563/162108     從本節開始,我們將開始討論有關DHCP服務器的相關問題,從易到難一步步理解DHCP服務。還是一樣,在…

    Linux干貨 2015-03-25
  • 軟件包管理2

    四、程序包編譯     程序包編譯安裝:     Application-VERSION-release.src.rpm –> 安裝后,使用rpmbuild命令制作成二進制格式的rpm包,而后再安裝     源代碼&#82…

    Linux干貨 2016-08-27
  • Linux文件查找之locate、find詳解

     locate命令詳解 locate命令其實是find -name的另一種寫法,但是要比后者快得多,原因在于它不搜索具體目錄,而是搜索一個數據庫文件,這個數據庫中含有本地所有文件信息。Linux系統自動創建這個數據庫,并且每天自動更新一次,所以使用locate命令查不到最新變動過的文件。為了避免這種情況,可以在使用locate之前,先使用updat…

    Linux干貨 2016-08-16
  • Ansible中文權威

    福利貼 運維神器 Ansible 本土化在際,除了每日分享,定期更新外,還有大蝦不定期解惑,更多福利可關注  http://www.www58058.com/doc/ansible/  或 掃描二維碼入( 372011984 )群關注.

    Linux干貨 2015-08-13
  • yum倉庫配置

    yum倉庫搭建 yum客戶端在安裝之前要在服務器下載相關的源數據緩存在 cachedir=/var/cache/yum/$basearch/$releasever中 gpgcheck=1檢查數據包的簽名完整性 導入鑰匙或gpgcheck=0就不檢查否側安裝不了yum 在/etc/yum.conf設置配置文件 在/etc/yum.repos.d中創建一個后綴是…

    2017-12-03

評論列表(1條)

  • 馬哥教育
    馬哥教育 2017-04-13 09:41

    總結的比較不錯~繼續加油~

欧美性久久久久