日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux基础学习7

發布時間:2025/6/17 linux 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux基础学习7 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Linux 的開機流程分析 1. 加載 BIOS 的硬件信息與進行自我測試,并依據設定取得第一個可開機的裝置; 2. 讀取并執行第一個開機裝置內 MBR 的 boot Loader (亦即是 grub, spfdisk 等程序); 3. 依據 boot loader 的設定加載 Kernel ,Kernel 會開始偵測硬件與加載驅動程序; 4. 在硬件驅動成功后,Kernel 會主動呼叫 init 程序,而 init 會取得 run-level 信息; 5. init 執行 /etc/rc.d/rc.sysinit 檔案來準備軟件執行的作業環境 (如網絡、時區等); 6. init 執行 run-level 的各個服務之啟動 (script 方試); 7. init 執行 /etc/rc.d/rc.local 檔案; 8. init 執行終端仿真程序 mingetty 來啟動login 程序,最后就等待用戶登入啦 即:BIOS自檢與硬件檢測--》bootloader加載kernel 自檢與硬件檢測--》kernel呼叫init --》init呼叫 rc.sysinit 系統初始化--》init呼叫各服務初始化--》init呼叫rc.local 本地用戶設置初始化--》進入登錄程序 BIOS (Basic Input Output System) BIOS 是透過硬件的 INT13 中斷功能來讀取 MBR 的; Boot Loader 程序安裝在哪里呢?就在開機裝置的第一個扇區 (sector) 內,也就是我們一直談到的MBR (Master Boot Record, 主要啟動記錄區)。 /sbin/init? /etc/inittab與runlevel 第一支程序 init 及配置文件 /sbin/init 最主要的功能就是準備軟件執行的環境,包括系統的主機名、網絡設定、語系處理、文件系統格式及其他服務的啟動等。 而所有的動作都會透過init 的配置文件,亦即是 /etc/inittab 來規劃,而 inittab 內還有一個很重要的設定項目,那就是默認的runlevel (開機執行等級) ; run level 分為 7 個等級: ? 0 - halt (系統直接關機) ? 1 - single user mode (單人維護模式,用在系統出問題時的維護) ? 2 - Multi-user, without NFS (類似底下的 runlevel 3,但無 NFS服務) ? 3 - Full multi-user mode (完整的有網絡功能的純文本模式) ? 4 - unused (系統保留功能) ? 5 - X11 (與runlevel 3 類似,但加載使用 X Window) ? 6 - reboot (重新啟動) /etc/inittab 的內容與語法 檔案的語法是利用冒號 (:) 將設定分隔成為四個字段,每個字段的意義與說明如下: [設定項目]:[run level]:[init 的動作行為]:[指令項目] 1. 設定項目:最多四個字符,代表 init 的主要工作項目,只是一個簡單的代表說明。 2. run level:該項目在哪些 run level 底下進行的意思。如果是 35 則代表 runlevel 3 與 5 都會執行。 3. init 的動作項目:主要可以進行的動作項目意義有: 4. 指令項目:亦即應該可以進行的指令,通常是一些 script 。 /etc/rc.d/rc.local 用戶自定義開機啟動程序 make ?confing 流程 動態與靜態函數庫 靜態(Static)特色: 擴展名: ? ? ? ? ? ? ? ? (擴展名為 .a)這類的凼式庫通常擴展名為 libxxx.a 的類型 編譯行為:      ?這類凼式庫在編譯的時候會直接整合到執行程序當中,所以利用靜態凼式庫編譯成的檔案會比較大一些; 獨立執行的狀態:   ?這類凼式庫最大的優點,就是編譯成功的可執行文件可以獨立執行,而不需要再向外部要求讀取凼式庫的內容 。 升級難易度:     ?雖然執行檔可以獨立執行,但因為凼式庫是直接整合到執行檔中, 因此若凼式庫升級時,整個執行檔必須要重新編譯才能將新版的凼式庫整合到程序當中。 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 也就是說,在升級方面,只要凼式庫升級了,所有將此凼式庫納入的程序都需要重新編譯! 動態 (Dynamic)特色: 擴展名: ? ? ? ? ? ? ? ?????(擴展名為 .so)這類凼式庫通常擴展名為 libxxx.so 的類型; 編譯行為: ? ? ? ? ? ? ?  動態凼式庫與靜態凼式庫的編譯行為差異挺大的。 與靜態凼式庫被整個捉到程序中不同的,動態凼式庫在編譯的時候,在程序里面只有一個『 指向 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(Pointer)』的位置而已。也就是說,動態凼式庫的內容并沒有被整合到執行檔當中,而是當執行檔要使用到凼式庫的機制時, 程序才會去讀取凼式庫來使 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 用,由于執行文件當中僅具有指向動態凼式庫所在的指針而已, 并不包含凼式庫的內容,所以檔案大小比較小點; 獨立執行的狀態:    這類型的凼式庫所編譯出來的程序不能被獨立執行, 因為當我們使用到凼式庫的機制時,程序才會去讀取凼式庫,所以凼式庫檔案『 必須要存在』才行, ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 而且,凼式庫的『 所在目錄也不能改變』,因為我們的可執行文件里面僅有『指針』即當要取用該動態凼式庫時, 程序會主動去某個路徑下讀取。所以動 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 態凼式庫可不能隨意移動或刪除,會影響很多相依的程序 升級難易度:      雖然這類型的執行檔無法獨立運作,然而由于是具有指向的功能, 所以,當凼式庫升級后,執行檔根本不需要進行重新編譯的行為,因為執行檔會直接指 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 向新的凼式庫檔案 (前提是凼式庫新舊版本的檔名相同喔!)。 RPM? 安裝 [root@www ~]# rpm -ivh package_name
選項與參數:
-i :install 的意思 -v :察看更細部的安裝信息畫面 -h :以安裝信息列顯示安裝進度 范例一:安裝 rp-pppoe-3.5-32.1.i386.rpm [root@www ~]# rpm -ivh rp-pppoe-3.5-32.1.i386.rpm Preparing... ####################################### [100%] 1:rp-pppoe ####################################### [100%]

?

范例二、直接由網絡上面的某個檔案安裝,以網址來安裝: [root@www ~]# rpm -ivh http://website.name/path/pkgname.rpm RPM 升級與更新 (upgrade/freshen) -Uvh ? ? 后面接的軟件即使沒有安裝過,則系統將予以直接安裝; 若后面接的軟件有安裝過舊版,則系統自動更新至新版; -Fvh ? ??如果后面接的軟件并未安裝到你的 Linux 系統上,則該軟件不會被安裝;亦即只有已安裝至你 Linux 系統內的軟件會被『升級』! RPM 查詢 (query) root@www ~]# rpm -qa <==已安裝軟件
[root@www ~]# rpm -q[licdR] 已安裝的軟件名稱 <==已安裝軟件
[root@www ~]# rpm -qf 存在亍系統上面的某個文件名 <==已安裝軟件
[root@www ~]# rpm -qp[licdR] 未安裝的某個文件名 <==查閱 RPM 檔案
選項與參數:
查詢已安裝軟件的信息:
-q :僅查詢,后面接的軟件名稱是否有安裝; -qa :列出所有的,已經安裝在本機 Linux 系統上面的所有軟件名稱; -qi :列出該軟件的詳紳信息 (information),包括開發商、版本等說明等; -ql :列出該軟件所有的檔案與目錄所在完整文件名 (list); -qc :列出該軟件的所有配置文件 (找出在 /etc/ 底下的檔名而已) -qd :列出該軟件的所有說明文件 (找出不 man 有關的檔案而已) -qR :列出與該軟件有關的相依軟件所有的檔案 (Required 的意思) 利用 yum 進行查詢、安裝、升級與移除功能 [root@www ~]# yum [option] [查詢工作項目] [相關參數] 選項與參數: -y ? : ?? 當 yum 要等待用戶輸入時,這個選項可以自動提供 yes 的響應; --installroot=/some/path :將該軟件安裝在 /some/path 而不使用默認路徑 [查詢工作項目] [相關參數]:這方面的參數有: search : ?搜尋某個軟件名稱或者是描述 (description) 的重要關鍵字; info : ? ? ?同上,不過有點類似 rpm -qai 的執行結果; provides:從檔案去搜尋軟件!類似 rpm -qf 的功能! [root@www ~]# yum [option] [查詢工作項目] [相關參數]
選項與參數:
install ? :后面接要安裝的軟件! update : 后面接要升級的軟件,若要整個系統都升級,就直接 update 即可-q remove ?: 移除后面接的軟件; ? 備份策略 1.系統基本設定信息 ? /etc/ ? 整個目錄
? /home 整個目錄
? /var/spool/mail
? /boot ? /root ? 如果你自行安裝過其他的套件,那么 /usr/local/ 或 /opt 也最好備份一下! 2.網絡服務數據信息 ? 軟件本身的配置文件案,例如:/etc/ 整個目錄,/usr/local/ 整個目錄 ? 軟件服務提供的數據,以 WWW 及 MySQL 為例:WWW 資料:/var/www 整個目錄或 /srv/www 整個目錄,及系統的用戶家目錄MySQL : /var/lib/mysql 整個目錄 ? 其他在 Linux 主機上面提供的服務之數據庫檔案! 由于硬件或者費用的限制,鳥哥推薦需要備份目錄: ? /boot
? /etc
? /home
? /root
? /usr/local(或者是 /opt 及 /srv 等) ? /var(注:這個目錄當中有些暫存目錄則可以不備份!) 備份用儲存媒體的選擇 1.硬件備份,如硬盤,光盤等 2. 異地備援系統,將數據定期備份到異地機器當中 ? 備份的種類、頻率與工具: 積累備份和差異備份 完整備份之累積備份 (Incremental backup) 如果你的主機是負責相當重要的服務,那么當系統損毀時,希望在最短的時間復原系統,僅僅備份關鍵數據時不行的,因為只有關鍵數據,還得重新安裝新的disturbtion,還的考慮新舊版本之間的差異問題,還得進行數據的移植與系統服務的重建;所以需要完整備份; 積累備份: 累積備份操作意圖 ? 僅僅與前一次累計結果相比較,備份與前一次累計的不同之處; 累積備份使用的備份軟件 dd, cpio, dump/restore # 1. 用 dd 來將 /dev/sda 備份到完全一模一樣的 /dev/sdb 硬盤上: [root@www ~]# dd if=/dev/sda of=/dev/sdb # 由于 dd 是讀取扇區,所以 /dev/sdb 這顆磁盤可以不必格式化!非常的方便! # 只是你會等非常非常久!因為 dd 的速度比較慢! # 2. 使用 cpio 來備份不還原整個系統,假設儲存媒體為 SATA 磁帶機: [root@www ~]# find / -print | cpio -covB > /dev/st0 <==備份到磁帶機 [root@www ~]# cpio -iduv < /dev/st0 <==還原 假設 /home 為一個獨立的文件系統,而 /backupdata 也是一個獨立的用來備份的文件系統,那如何使用 dump 將/home 完整的備份到 /backupdata 上呢?可以像底下這樣進行看看: # 1. 完整備份
[root@www ~]# dump -0u -f /backupdata/home.dump /home # 2. 第一次進行累積備份 [root@www ~]# dump -1u -f /backupdata/home.dump.1 /home 差異備份: 差異備份與累積備份有點類似,也是需要進行第一次的完整備份后才能夠進行。只是差異備份指的是:每次的備份都是與原始的完整備份比較的結果。 所以系統運作的越久,離完整備份時間越長, 那么該次的差異備份數據可能就會越大!差異備份的示意圖如下所示: 差異備份常用的工具與累積備份差不多!因為都需要完整備份嘛!如果使用 dump 來備份的話,那么每次備份的等級(level) 就都會是 level 1 的意思啦!當然啦,你也可以透過 tar的 -N 選項來備份喔!如下所示: [root@www ~] # tar -N '2009-06-01' -jpcv -f /backupdata/home.tar.bz2 /home # 只有在比 2009-06-01 還要新的檔案,在 /home 底下的檔案才會被打包進home.bz2 中! # 有點奇怪的是,目錄還是會被記錄下來,只是目錄內的舊檔案就不會備份。 此外,你也可以透過 rsync 來進行鏡像備份喔! 這個 rsync 可以對兩個目錄進行鏡像 (mirror) ,算是一個非常快速的備份工具!簡單的指令方法為: [root@www ~]# rsync -av 來源目錄 目標目錄
# 1. 將 /home/ 鏡像到 /backupdata/home/ 去
[root@www ~]# rsync -av /home /backupdata/
# 此時會在 /backupdata 底下產生 home 這個目錄來! [root@www ~]# rsync -av /home /backupdata/ # 再次進行會快很多!如果數據沒有更動,幾乎不會進行任何動作! 總結
  • Linux啟動流程
    • BIOS自檢與硬件檢測-->bootloader加載kernel 自檢與硬件檢測-->kernel呼叫init -->init呼叫 rc.sysinit 系統初始化-->init呼叫各服務初始化-->init呼叫rc.local 本地用戶設置初始化-->進入登錄程序
    • 系統初始化,服務初始化,用戶設置初始化;
    • 第一支程序init及配置文件
      • /sbin/init,準備環境,各種初始化
      • /etc/inittab配置文件及語法,默認開啟runlevel(7個等級)
        • [設定項目]:[run level]:[init 的動作行為]:[指令項目]
    • /etc/rc.d/rc.local
      • 用戶自定義開機啟動程序
  • make config 流程
    • make依據makefile的設定,呼叫原始碼,函數庫,編譯器來編譯。
    • 動態庫與靜態庫
      • libxxx.so動態庫,libxxx.a靜態庫
      • 靜態庫,整合到程序當中,不需要再向外部請求函數庫,升級困難,需要把庫重新編譯到程序中。
      • 動態庫,程序在編譯的時候只指向動態庫的位置,沒有被編譯到程序中,程序需要執行的時候到指定位置去執行。易于升級
  • RPM
    • 安裝
      • rpm -ivh package_name
      • 可以網址來安裝
    • 查詢
      • rpm -qa 已安裝軟件
  • yum
    • yum [option] [查詢工作項目] [相關參數] 選項與參數:
      • install ? :后面接要安裝的軟件
      • update : 后面接要升級的軟件,若要整個系統都升級,就直接 update 即可
      • remove ?: 移除后面接的軟件;
      • search,info;
  • 備份策略
    • 累計備份
    • 完整備份
    • 差異備份
      • 與累計備份有些類似,只是差異備份每次只能與完全備份比較并備份。累計備份,可以針對上一次累計結果來備份。
  • 備份工具
    • dd
      • 讀取扇區,磁盤不必格式化。但速度較慢
      • dd if=/dev/sda of=/dev/sdb
    • dump/restore
      • 完整備份
        • dump -0u -f /backup/home.dump /home
      • 第一次進行累計備份
        • dump -1u -f /backup/home.dup.1 /home
        • 針對0 進行一次累計備份
    • tar
      • 根據時間點來備份
        • tar -N '2009-06-01' -jpcv -f /backupdata/home.tar.bz2 /home
        • 只有比2009-06-01還要新的檔案,才備份
    • rsync
      • 鏡像備份,速度快
      • rsync -av ?來源目標 ?目標目錄
        • rsync -av ?/home /backup

轉載于:https://www.cnblogs.com/Aiapple/p/4910618.html

總結

以上是生活随笔為你收集整理的linux基础学习7的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。