CentOS系統啟動

Linux組成

Linux: kernel+rootfs

kernel:  進程管理、內存管理、網絡管理、驅動程序、文件系統、安全功能

rootfs: 程序和glibc

庫:函數集合, function,  調用接口(頭文件負責描述)

過程調用:procedure ,無返回值

函數調用:function

程序:二進制執行文件

內核設計流派:

單內核(monolithic kernel) Linux

把所有功能集成于同一個程序

微內核(micro kernel) Windows, Solaris

每種功能使用一個單獨子系統實現

 

內核

Linux 內核特點:

支持模塊化:.ko (內核對象)

如:文件系統,硬件驅動,網絡協議等

支持內核模塊的動態裝載和卸載

組成部分:

核心文件:/boot/vmlinuz- VERSION -release

ramdisk :輔助的偽根系統

CentOS 5: /boot/initrd- VERSION -release.img

CentOS 6,7: /boot/initramfs- VERSION -release.img

模塊文件:/lib/modules/ VERSION -release

 

CentOS6 啟動流程

1.加載BIOS 的硬件信息,獲取第一個啟動設備

2.讀取第一個啟動設備MBR 的引導加載程序(grub) 的啟動信息

3.加載核心操作系統的核心信息,核心開始解壓縮,并嘗試驅動所有的硬件設備

4.核心執行init 程序,并獲取默認的運行信息

5.init 程序執行/etc/rc.d/rc.sysinit 文件

6.啟動核心的外掛模塊

7.init 執行運行的各個批處理文件(scripts)

8.init 執行/etc/rc.d/rc.local

9.執行/bin/login 程序,等待用戶登錄

10. 登錄之后開始以Shell

POSTPower-On-Self-Test ,加電自檢,是BIOS 功能的一個主要部分 。負責完成對CPU、主板、內存、硬盤系統、顯示子系統、串并行接口、鍵盤、CD-ROM 光驅等硬件情況的檢測 。

ROMBIOS,Basic Input and Output System ,保存著有關計算機系統最重要的基本輸入輸出程序,系統信息設置、開機加電自檢程序和系統啟動自舉程序等。

RAMCMOS 互補金屬氧化物半導體,保存各項參數的設定按次序查找引導設備,第一個有引導程序的設備為本次啟動設備

bootloader: 引導加載器,引導程序

windows: ntloader ,僅是啟動OS

Linux:功能豐富,提供菜單,允許用戶選擇要啟動系統或不同的內核版本;把用戶選定的內核裝載到內存中的特定空間中,解壓、展開,并把系統控制權移交給內核

LILOLInux LOader

GRUB: GRand Unified Bootloader

GRUB 0.X: GRUB Legacy,GRUB2

MBR:

446: bootloader,  64:分區表, 2: 55AA

GRUB:

primary boot loader : 1st stage ,1.5 stage

secondary boot loader2nd stage ,分區文件

kernel

自身初始化:

探測可識別到的所有硬件設備

加載硬件驅動程序(借助于ramdisk 加載驅動)

以只讀方式掛載根文件系統

運行用戶空間的第一個應用程序:/sbin/init

ramdisk

內核中的特性之一:使用緩沖和緩存來加速對磁盤上的文件訪問,并加載相應的硬件驅動

ramdisk –> ramfs  提高速度

CentOS 5: initrd

工具程序:mkinitrd

CentOS 6 ,7: initramfs

工具程序:mkinitrd, dracut

系統初始化:

POST –> BootSequence (BIOS) –>Bootloader(MBR) –> kernel(ramdisk) –> rootfs(只讀) –> initsystemd

 

ramdisk 管理

ramdisk 文件的制作:

(1) mkinitrd 命令

為當前正在使用的內核重新制作ramdisk 文件

mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)

(2) dracut 命令

為當前正在使用的內核重新制作ramdisk 文件

dracut /boot/initramfs-$(uname -r).img $(uname -r)

 

系統啟動流程

init 程序的類型:

SysV: init, CentOS 5之前

配置文件:/etc/inittab

Upstart: init,CentOS 6

配置文件:/etc/inittab, /etc/init/*.conf

[root@localhost ~]# pstree
init─┬─abrtd

Systemd systemd, CentOS 7

配置文件:/usr/lib/systemd/system

  /etc/systemd/system

[root@localhost ~]# pstree
systemd─┬─ModemManager───2*[{ModemManager}]

/sbin/init CentOS6 之前

運行級別:為系統運行或維護等目的而設定;0-6 7個級別

0:關機

1:單用戶模式(root自動登錄), single, 維護模式

2: 多用戶模式,啟動網絡功能,但不會啟動NFS;維護模式

3:多用戶模式,正常模式;文本界面

4:預留級別;可同3 級別

5:多用戶模式,正常模式;圖形界面

6:重啟

默認級別:3, 5

切換級別:init #

查看級別:runlevel ; who -r

[root@localhost ~]# cat /etc/inittab
# Default runlevel. The runlevels used are:
#   0 - halt (Do NOT set initdefault to this)
#   1 - Single user mode
#   2 - Multiuser, without NFS
#   3 - Full multiuser mode
#   4 - unused
#   5 - X11
#   6 - reboot (Do NOT set initdefault to this)
id:5:initdefault:
[root@localhost ~]# runlevel
N 5

init 初始化

init讀取其初始化文件:/etc/inittab

初始運行級別(RUN LEVEL)

系統初始化腳本

對應運行級別的腳本目錄

捕獲某個關鍵字順序

定義UPS電源終端/恢復腳本

在虛擬控制臺生成getty

在運行級別5初始化X

 

CentOS 5inittab

配置文件:/etc/inittab

每一行定義一種action 以及與之對應的process (過程)

id:runlevel:action:process

action:

wait:  切換至此級別運行 一次

respawn :此process 終止,就重新啟動之

initdefault :設定默認運行級別;process 省略

sysinit :設定系統初始化方式,此處一般為指定

/etc/rc.d/rc.sysinit

ca::ctrlaltdel:/sbin/shutdown -t3 -r now

id:3:initdefault:

si::sysinit:/etc/rc.d/rc.sysinit

l0:0:wait:/etc/rc.d/rc 0

l1:1:wait:/etc/rc.d/rc 1…

l6:6:wait:/etc/rc.d/rc 6

 

CentOS 6 /etc/inittab 和相關文件

/etc/inittab

設置系統默認的運行級別

id:3:initdefault:

示例:

破解CentOS5 6 root 口令

/etc/init/control-alt-delete.conf

/etc/init/tty.conf

/etc/init/start-ttys.conf

/etc/init/rc.conf

/etc/init/prefdm.conf

 

啟動流程

/etc/rc.d/rc.sysinit:  系統初始化腳本

(1)  設置主機名

(2)  設置歡迎信息

(3)  激活udev selinux

(4)  掛載/etc/fstab 文件中定義的文件系統

(5)  檢測根文件系統,并以讀寫方式重新掛載根文件系統

(6)  設置系統時鐘

(7)  激活swap 設備

(8)  根據/etc/sysctl.conf 文件設置內核參數

(9)  激活lvm software raid 設備

(10)  加載額外設備的驅動程序

(11)  清理操作

說明:rc N –>  意味著讀取/etc/rc.d/rcN.d/

K*: K##* ## 運行次序;數字越小,越先運行;數字越小的服務,通常為依賴到別的服務

S*: S##* ## 運行次序;數字越小,越先運行;數字越小的服務,通常為被依賴到的服務

for srv in /etc/rc.d/rcN.d/K*; do

$srv stop

done

for srv in /etc/rc.d/rcN.d/S*; do

$srv start

done

 

chkconfig 命令

chkconfig 命令

查看服務在所有級別的啟動或關閉設定情形:

添加:

SysV 的服務腳本放置于/etc/rc.d/init.d (/etc/init.d)

chkconfig –add name

#!/bin/bash

#LLLL  表示初始在哪個級別下啟動,表示都不啟動

# chkconfig: LLLL nn nn

刪除:

chkconfig –del name

修改指定的鏈接類型

chkconfig [–level levels] name <on|off|reset>

–level LLLL:  指定要設置的級別;省略時表示2345

ntsysv命令

[root@localhost ~]# ntsysv

CentOS系統啟動 

將*號換為空格,單擊tab鍵,選擇ok  相當于關閉該服務

[root@localhost ~]# ls /etc/rc.d/rc5.d
K01smartd        K69rpcsvcgssd      K92pppoe-server  S13cpuspeed          S26udev-post
K02oddjobd       K73winbind         K95firstboot     S13irqbalance        S28autofs
K05wdaemon       K74ntpd            K95rdma          S13rpcbind           S50bluetooth
K10psacct        K75ntpdate         K99rngd          S15mdmonitor         S55sshd
K10saslauthd     K75quota_nld       S01sysstat       S22messagebus        S70spice-vdagentd
K15htcacheclean  K76ypbind          S02lvm2-monitor  S24nfslock           S80postfix
K15httpd         K84NetworkManager  S08ip6tables     S24rpcgssd           S82abrt-ccpp
K50dnsmasq      K84wpa_supplicant  S08iptables      S25blk-availability        S82abrtd
K50kdump         K87restorecond     S10network       S25cups              S90crond
K50vsftpd        K88sssd            S11auditd        S25netfs             S95atd
K60nfs           K89netconsole      S11portreserve   S26acpid             S99certmonger
K61nfs-rdma      K89rdisc           S12rsyslog       S26haldaemon         S99local
[root@localhost ~]# chkconfig --list httpd查看httpd服務在所有級別的啟動或關閉設定情形
httpd       0:off   1:off   2:off   3:off   4:off 5:off 6:off
[root@localhost ~]# chkconfig --level 5  httpd on   指定級別
[root@localhost ~]# chkconfig --list httpd
httpd       0:off   1:off   2:off   3:off   4:off 5:on 6:off
[root@localhost ~]# ls /etc/rc.d/rc5.d
K01smartd        K73winbind         K95firstboot     S13irqbalance        S28autofs
K02oddjobd       K74ntpd            K95rdma          S13rpcbind           S50bluetooth
K05wdaemon       K75ntpdate         K99rngd          S15mdmonitor         S55sshd
K10psacct        K75quota_nld       S01sysstat       S22messagebus        S70spice-vdagentd
K10saslauthd     K76ypbind          S02lvm2-monitor  S24nfslock           S80postfix
K15htcacheclean  K84NetworkManager  S08ip6tables     S24rpcgssd           S82abrt-ccpp
K50dnsmasq       K84wpa_supplicant  S08iptables      S25blk-availability     S82abrtd
K50kdump         K87restorecond     S10network       S25cups            S85httpd
K50vsftpd        K88sssd            S11auditd        S25netfs             S90crond
K60nfs           K89netconsole      S11portreserve   S26acpid             S95atd
K61nfs-rdma      K89rdisc           S12rsyslog       S26haldaemon         S99certmonger
K69rpcsvcgssd    K92pppoe-server    S13cpuspeed      S26udev-post         S99local

xinetd管理的服務

service命令:手動管理服務

service 服務 start|stop|restart

service  –status-all

[root@localhost ~]# service atd start
Starting atd:                                               [  OK  ]
[root@localhost ~]# service atd stop
Stopping atd:                                               [  OK  ]
 
[root@localhost ~]# service --status-all    列出當前服務的狀態
abrt-ccpp hook is installed
abrtd (pid  2031) is running...
abrt-dump-oops is stopped
……
wdaemon is stopped
winbindd is stopped
wpa_supplicant is stopped
ypbind is stopped

瞬態(Transient)服務被xinetd 進程所管理

進入的請求首先被xinetd 代理

配置文件:/etc/xinetd.conf 、/etc/xinetd.d/<service>

libwrap.so 文件鏈接

chkconfig 控制的服務:

chkconfig  tftp  on

 

啟動流程

注意:正常級別下,最后啟動一個服務S99local 沒有鏈接至/etc/rc.d/init.d 一個服務腳本,而是指向了/etc/rc.d/rc.local 腳本

       不便或不需寫為服務腳本放置于/etc/rc.d/init.d/ 目錄,且又想開機時自動運行的命令,可直接放置于/etc/rc.d/rc.local 文件中

/etc/rc.d/rc.local 在指定運行級別腳本后運行

可以根據情況,進行自定義修改

1:2345:respawn:/usr/sbin/mingetty tty1

2:2345:respawn:/usr/sbin/mingetty tty2

 …

6:2345:respawn:/usr/sbin/mingetty tty6

mingetty 會自動調用login 程序

x:5:respawn:/etc/X11/prefdm -nodaemon

總結:/sbin/init –> (/etc/inittab) –>設置默認運行級別–>運行系統初始腳本、完成系統初始化–> (關閉對應下需要關閉的服務)啟動需要啟動服務–>設置登錄終端

CentOS 6 init 程序為: upstart,其配置文件:/etc/inittab, /etc/init/*.conf法,配置文件的語法 遵循upstart 配置文件語法格式,和CentOS5 不同

 

grub legacy

CentOS 6 啟動流程:

POST –> Boot Sequence(BIOS) –> Boot Loader –>Kernel(ramdisk) –> rootfs –> switchroot –> /sbin/init –>(/etc/inittab, /etc/init/*.conf) –> 設定默認運行級別 –> 系統初始化腳本 rc.sysinit –> 關閉或啟動對應級別的服務 –> grub: GRand Unified Bootloader

grub 0.97: grub legacy

grub 2.x: grub2

grub legacy:

stage1: mbr

stage1_5: mbr之后的扇區,讓stage1中的bootloader能識別stage2 所在的分區上的文件系統

stage2 :磁盤分區(/boot/grub/)

實驗:
[root@localhost ~]# cd /boot/grub/
[root@localhost grub]# ls
device.map     grub.conf         minix_stage1_5     stage2
e2fs_stage1_5  iso9660_stage1_5  reiserfs_stage1_5  ufs2_stage1_5
fat_stage1_5   jfs_stage1_5      splash.xpm.gz      vstafs_stage1_5
ffs_stage1_5   menu.lst          stage1             xfs_stage1_5
[root@localhost grub]# mv * /app/ (所有移動到/app下)
[root@localhost grub]# ls
[root@localhost grub]# mv  /app/grub.conf  . (將/app中的grub.conf移動到當前目錄下)
[root@localhost grub]# ls
grub.conf
[root@localhost grub]# ls /app
device.map     ffs_stage1_5       menu.lst          splash.xpm.gz    ufs2_stage1_5
e2fs_stage1_5  iso9660_stage1_5   minix_stage1_5     stage1         vstafs_stage1_5
fat_stage1_5   jfs_stage1_5        reiserfs_stage1_5   stage2          xfs_stage1_5
[root@localhost grub]# reboot
 
Broadcast message from root@localhost.localdomain
(/dev/pts/1) at 4:21 ...
 
The system is going down for reboot NOW!
[root@localhost grub]# mv /app/* . (將/app中的文件移動到當前目錄下)
[root@localhost grub]# ls
device.map     grub.conf         minix_stage1_5     stage2
e2fs_stage1_5  iso9660_stage1_5  reiserfs_stage1_5  ufs2_stage1_5
fat_stage1_5   jfs_stage1_5      splash.xpm.gz      vstafs_stage1_5
ffs_stage1_5   menu.lst          stage1             xfs_stage1_5

執行此操作后系統依舊可以正常啟動,除grub.conf外的文件做備份用途

此操作僅適用于裝完系統后的初始狀態,后期如果做過修復工作,此操作會導致系統無法啟動

配置文件:/boot/grub/grub.conf <– /etc/grub.conf

stage2 及內核等通常放置于一個基本磁盤分區

功用:

(1)提供啟動菜單、并提供交互式接口

a:  內核參數

e:  編輯模式,用于編輯菜單

c:  命令模式,交互式接口

(2)加載用戶選擇的內核或操作系統

允許傳遞參數給內核

可隱藏啟動菜單

(3)為菜單提供了保護機制

為編輯啟動菜單進行認證

為啟用內核或操作系統進行認證

grub 的命令行接口

help:獲取幫助列表

help KEYWORD:詳細幫助信息

find (hd#,#)/PATH/TO/SOMEFILE

root (hd#,#)

kernel /PATH/TO/KERNEL_FILE:設定本次啟動時用到的內核文件;額外還可添加許多內核支持使用的cmdline 參數

例如:max_loop=100 selinux=0 init=/path/to/init

initrd /PATH/TO/INITRAMFS_FILE:  設定為選定的內核

提供額外文件的ramdisk

boot:引導啟動選定的內核

cat /proc/cmdline 內核參數

內核參數文檔:/usr/share/doc/kernel-doc-2.6.32/Documentation/kernel-parameters.txt

識別硬盤設備

(hd#,#)

hd#: 磁盤編號,用數字表示;從0 開始編號

#: 分區編號,用數字表示; 0 開始編號

(hd0,0) 第一塊硬盤,第一個分區

手動在grub 命令行接口啟動系統

grub> root (hd#,#)

grub> kernel /vmlinuz-VERSION-RELEASE ro

root=/dev/DEVICE

grub> initrd /initramfs-VERSION-RELEASE.img

grub> boot

 

grub legacy 配置文件

配置文件:/boot/grub/grub.conf

default=#:  設定默認啟動的菜單項;落單項(title) 編號從0 開始

timeout=# :指定菜單項等待選項選擇的時長

splashimage=(hd#,#)/PATH/XPM_FILE :菜單背景圖片文件路徑

hiddenmenu :隱藏菜單

password [–md5] STRING:  啟動菜單編輯認證

title TITLE :定義菜單項“標題”, 可出現多次

root (hd#,#) :查找stage2 kernel 文件所在設備分區;為grub 的根

kernel /PATH/TO/VMLINUZ_FILE [PARAMETERS] :啟動的內核

initrd /PATH/TO/INITRAMFS_FILE: 內核匹配的ramfs 文件

password [–md5|–encrypted ] STRING:  啟動選定的內核或操作系統時進行認證

[root@localhost ~]# vim /boot/grub/grub.conf
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.32-696.el6.x86_64)
        root (hd0,0)
        kernel /vmlinuz ro root=UUID=1fd1710f-ff1a-4eba-94f8-c57ecc05d6c6 rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet crashkernel=auto
        initrd /initramfs-2.6.32-696.el6.x86_64.img

grub 加密

生成grub 口令

grub-md5-crypt

[root@localhost ~]# grub-md5-crypt
$1$WhmGJ/$p4/QlAG/c4gDe5xHG5IAF1

grub-crypt (推薦使用)sha512算法

[root@localhost ~]# grub-crypt
$6$5ZSxXQQ0572blxhO$lu2nUcZzGA4rqywNzqUMaBQzl4CFy9hpdwf2PcAnOHpyNotdZv3j.ysvnkP2f7x2AIC.wFzPzmcu8M75gTkyi/

破解root 口令:

啟動系統時,設置其運行級別1

進入單用戶模式

(1)編輯grub 菜單( 選定要編輯的title,而后使用e 命令)

(2)在選定的kernel 后附加

1, s, S single 都可以

(3)kernel 所在行,鍵入“b”命令

 

grub 安裝

安裝grub

(1) grub-install

安裝grub stage1stage1_5/dev/DISK 磁盤上,并復制GRUB到相關文件到DIR/boot目錄下

grub-install –root-directory=DIR /dev/DISK

(2) grub

grub> root (hd#,#)

grub> setup (hd#)

 

救援環境

在根文件系統無法使用時需要,如/bin/mount 刪除

對系統沒有特殊要求

從光盤引導(boot.iso 或者安裝光盤#1

USB盤(由boot.iso 制作)引導

文件系統重組

Anaconda 將會詢問是否應該掛載文件系統

/mnt/sysimage/*

/mnt/stage2

$PATH 包括硬盤的目錄

文件系統節點

提供系統特定的設備文件

mknod了解major/minor

 

系統配置文件丟失修復

系統在引導期間,很重要的一個過程就是init進程讀取其配置文件/etc/inittab ,啟動系統基本服務程序及默認運行級別的服務程序完成系統引導,如果/etc/inittab 誤刪除或修改錯誤,Linux將無法正常啟動。此時,只有通過救援模式才可以解決此類問題。

 

有備份文件的恢復辦法:

進入救援模式,執行chroot 命令后,如果有此文件的備份(強烈建議系統中的重要數據目錄,如/etc  /boot 等要進行備份),直接將備份文件拷貝回去,退出重啟即可。如果是配置文件修改錯誤,如比較典型的/boot/grub/grub.conf /etc/passwd 的文件修改錯誤,也可以直接修正恢復。假設有備份文件/etc/inittab.bak ,則在救援模式下執行:

chroot /mnt/sysimage

cp /etc/inittab.bak /etc/inittab

 

沒有備份文件的恢復辦法

如果一些配置文件丟失或軟件誤刪除,且無備份,可以通過重新安裝軟件包來恢復,首先查找到/etc/inittab 屬于哪一個RPM

chroot /mnt/sysimage

rpm -qf /etc/inittab

initscripts-9.03.49-1.el6.centos.x86_64

exit 退出chroot 模式

掛載存放RPM 包的安裝光盤(在救援模式下,光盤通常掛載在/mnt/source 目錄下)

mount /dev/sr0 /mnt/source

CentOS6系統的RPM包存放在光盤Package目錄下,要修復的硬盤系統的根目錄在/mnt/sysimage下,需要使用–root選項指定其位置。覆蓋安裝/etc/inittab 文件所在的RPM 包:

rpm -ivh –replacepkgs | force /mnt/source/Packages/initscripts-9.03.49-1.el6.centos.x86_64.rpm

其中的rpm 命令選項“–replacepkgs”表示覆蓋安裝,執行完成后,即已經恢復了此文件

 

如果想只提取RPM 包中的/etc/inittab 文件進行恢復,可以在進入救援模式后,執行命令:

rpm2cpio /mnt/source/Packages/initscripts-9.03.49-1.el6.centos.x86.rpm | cpio -idv ./etc/inittab

cp etc/inittab /mnt/sysimage/etc

注意此命令執行時不能將文件直接恢復至/etc 目錄,只能提取到當前目錄下,且恢復的文件名稱所在路徑要寫完整的路徑。提取文件成功后,將其復制到根分區所在的/mnt/sysimage 目錄下相應位置即可

關于以上所講grub的一些詳細操作請點擊:http://www.www58058.com/?p=75379&preview=true

自制linux 系統

分區并創建文件系統

fdisk /dev/sdb

分兩個必要的分區

/dev/sdb1 對應/boot /dev/sdb2對應根 /

mkfs.ext4  /dev/sdb1

mkfs.ext4  /dev/sdb2

掛載boot

mkdir /mnt/boot子目錄必須為boot

mount /dev/sdb1 /mnt/boot

安裝grub

grub-install –root-directory=/mnt /dev/sdb

恢復內核和initramfs 文件

cp  /boot/vmlinuz-2.6.32-642.el6.x86_64  /mnt/boot/

cp  /boot/initramfs-2.6.32-642.el6.x86_64.img  /mnt/boot

建立grub.conf:

vim /mnt/boot/grub.conf

title wanglinux

root (hd0,0)

kernel /vmlinuz-2.6.32-642.el6.x86_64

root=/dev/sda2  selinux=0  init=/bin/bash

initrd /initramfs-2.6.32-642.el6.x86_64.img

chroot /mnt/sysroot

創建一級目錄

mkdir /mnt/sysroot

mount /dev/sdb2 /mnt/sysroot

mkdir pv

/mnt/sysroot/{etc,lib,lib64,bin,sbin,tmp,var,usr,sys,proc,opt,home,root,boot,dev,mnt,media}

復制bash 和相關庫文件

復制相關命令及相關庫文件

ls,cat,vim,reboot,hostname

 

 

 

 

原創文章,作者:Linux.rookie,如若轉載,請注明出處:http://www.www58058.com/75717

(0)
Linux.rookieLinux.rookie
上一篇 2017-05-15
下一篇 2017-05-15

相關推薦

  • linux學習筆記: grep命令,正則表達式

    linux學習筆記:grep命令,正則表達式 linux運維筆記 簡介 grep命令是一個最初用于Unix操作系統的命令行工具,在給出文件列表或者標準輸入之后,grep會對匹配一個或者多個正則表達式的文本進行搜索,并且只輸出匹配或者不匹配的行或者文本。(參見維基百科)  正則表達式是計算機科學的一個概念,正則表達式使用單個字符串…

    Linux干貨 2017-04-07
  • 馬哥教育網絡班21期-第一周課程練習

    第一周課程練習 1、描述計算機的組成及其功能?         1.1 現代主流的計算機(馮·諾依曼體系)主要由五部分組成,分別是控制器、運算器、存儲器、輸入和輸出設備??刂破骱瓦\算器對應我們現實計算機看到的CPU,存儲器對應內存和硬盤等存儲設備,輸入設備對應鼠標鍵盤等其它外設,輸出設備對應顯示器、音響、打印機等其它外…

    Linux干貨 2016-06-26
  • linux的tty

    原創作品,允許轉載,轉載時請務必以超鏈接形式標明文章 原始出處 、作者信息和本聲明。否則將追究法律責任。http://jeffyyko.blog.51cto.com/28563/140012 最近做了一個小測試,得到了以下結論 測試linux發行版本:rhel AS4.0 環境:VMware 5.0 目的:修改 vi /etc/initt…

    Linux干貨 2015-03-26
  • Linux學習之課前環境安裝調試

    系統安裝,VNC,VMware軟件安裝

    2018-03-26
  • 馬哥教育網絡班22期+第9周課程練習

    1、寫一個腳本,判斷當前系統上所有用戶的shell是否為可登錄shell(即用戶的shell不是/sbin/nologin);分別這兩類用戶的個數;通過字符串比較來實現;            [root@test ~]# vim&nbsp…

    Linux干貨 2016-10-24
  • Linux RPM 命令參數使用詳解

    rpm 執行安裝包: 二進制包(Binary)以及源代碼包(Source)兩種。二進制包可以直接安裝在計算機中,而源代碼包將會由 RPM自動編譯、安裝。源代碼包經常以src.rpm作為后綴名。 -ivh # 安裝顯示安裝進度–install–verbose–hash。 使用方法如下:   &n…

    2017-04-18
欧美性久久久久