Linux簡介
Linux 內核最初只是由芬蘭人林納斯·託瓦茲(Linus Torvalds)在赫爾辛基大學上學時出於個人愛好而編寫的。
Linux 是一套免費使用和自由傳播的類 Unix 操作系統,是一個基於 POSIX 和 UNIX 的多用户、多任務、支持多線程和多 CPU 的操作系統。
Linux 能運行主要的 UNIX 工具軟件、應用程序和網絡協議。它支持 32 位和 64 位硬件。Linux 繼承了 Unix 以網絡為核心的設計思想,是一個性能穩定的多用户網絡操作系統。
linux的發行版本
Radhat:收費(服務費) 系統有自己紅帽商標 國企(中石油 中海油 銀行)
Centos:免費 去掉了紅帽商標 互聯網
linux雲服務器
自己安裝服務器還是麻煩了些,現在一般都推薦大家使用雲服務器,比較方便,價格也不貴。
目前市場上的雲服務器很多:騰訊雲,阿里雲
RPM軟件包管理器
早期linux只能採用源碼包的方式安裝,需要運維人員解決許多的軟件依賴關係,RPM機制則為解決這些問題而設計,簡化軟件的安裝的複雜度。
常用的rpm命令:
rpm -ivh filename.rpm --安裝
rpm -Uvh filename.rpm --升級
rpm -e filename.rpm --卸載
rpm -qpi filename.rpm --查詢軟件的描述信息
rpm -qpl filename.rpm --列出軟件文件信息
rpm -qf filename --查詢文件屬於哪個rpm的命令格式
YUM軟件倉庫
儘管RPM能夠幫助用户查詢軟件相關的依賴關係,但問題還是低有運維人員來解決,而有些大型軟件可能與數十個程序都有依賴關係,YUM軟件倉庫便是為了進一步減低
軟件的安裝難度和複雜度而設計的技術,YUM軟件倉庫可以根據用户的要求分析出所需軟件包其相關的依賴關係,然後自動從服務器下載軟件包並安裝到系統
常用的yum命令:
yum install --安裝
yum update --升級
yum clean all --清除緩存
yum reinstall --重新安裝
yum list all --列出倉庫所有的軟件包
yum repolist all --列出所有倉庫
Linux 系統啓動過程
第一步:開機自檢
當計算機打開電源後,首先是BIOS開機自檢,這個過程中主要是檢測我們的計算機硬件設備比如:CPU,內存,主板,顯卡,CMOS等設備是否有故障存在
第二步:讀取MBR(引導文件)
搜索可以讓系統啓動的引導設備(比如我們有時在BIOS中設置為從硬盤啓動),這時如果BIOS找不到可以引導的設備及相關程序後,便會啓動失敗,如果順序的找到了相關設備硬盤,
那麼BIOS將把控制權交給啓動設備中的MBR(Master Boot Record)主引導記錄
第三步:Boot Loader grub引導菜單
引導系統啓動的程序
第四步:讀取內核文件/boot
第五步:
運行init(redhat6)
內核被加載後,第一個運行的程序便是/sbin/init,該文件會讀取/etc/inittab文件,並依據此文件來進行初始化工作。
其實/etc/inittab文件最主要的作用就是設定Linux的運行等級,其設定形式是“:id:5:initdefault:”,這就表明Linux需要運行在等級5上。Linux的運行等級設定如下:
0:-halt 關機
1:-single user mode 單用户狀態。僅root用户可登錄;用於系統維護,禁止遠程登錄,相當於Windows下的安全模式
2:-Multi-user,without 多用户狀態(無NFS)。沒有網絡服務。
3:-Full multi-user mode 完整的多用户狀態(有NFS)。有網絡服務,登錄後進入控制枱命令行模式。
4:-unused 保留,未使用
5:-X11 X11控制枱,登錄後進入圖形GUI模式。
6:- reboot 重新引導系統,即重啓
Linux查看運行級別:
runlevel 《==可查看當前的運行級別;
Linux臨時切換運行級別:
init 6 《==重啓
Linux修改系統默認運行級別:
vi /etc/inittab 《==編輯inittab文件,initdefault前面的值即為系統默認運行級別。
第六步:系統初始化
在設定了運行等級後,執行etc/rc.d/rc.sysinit腳本程序。它主要完成的工作有:配置主機名,檢查磁盤,加載硬件模塊,配置網絡
執行/etc/rc.d/rc腳本,會讀取對應運行級別的腳本
運行systemd初始化進程服務(redhat7)
systemd採用併發啓動機制,提升了開機速度。
Linux查看運行級別:
runlevel 《==可查看當前的運行級別;
-bash-4.2$ ls -al /lib/systemd/system/runlevel*
lrwxrwxrwx. 1 root root 15 12月 20 16:46 /lib/systemd/system/runlevel0.target -> poweroff.target 關機
lrwxrwxrwx. 1 root root 13 12月 20 16:46 /lib/systemd/system/runlevel1.target -> rescue.target 單用户模式,root權限,用於系統維護
lrwxrwxrwx. 1 root root 17 12月 20 16:46 /lib/systemd/system/runlevel2.target -> multi-user.target 多用户狀態(無NFS)。沒有網絡服務。
lrwxrwxrwx. 1 root root 17 12月 20 16:46 /lib/systemd/system/runlevel3.target -> multi-user.target 完整的多用户狀態(有NFS)。有網絡服務,登錄後進入控制枱命令行模式。
lrwxrwxrwx. 1 root root 17 12月 20 16:46 /lib/systemd/system/runlevel4.target -> multi-user.target 保留,未使用
lrwxrwxrwx. 1 root root 16 12月 20 16:46 /lib/systemd/system/runlevel5.target -> graphical.target X11控制枱,登錄後進入圖形GUI模式。
lrwxrwxrwx. 1 root root 13 12月 20 16:46 /lib/systemd/system/runlevel6.target -> reboot.target 重啓模式
linux修改運行級別
將默認級別設置為3(命令行模式)
systemctl set-default multi-user.target
將默認級別設置為5(圖形界面模式)
systemctl set-default graphical.target
systemctl管理服務的啓動,重啓,停止等命令
systemctl start foo.service 啓動
systemctl restart foo.service 重啓
systemctl stop foo.service 停止
systemctl status foo.service 查看服務狀態
systemctl設置服務開機啓動,不啓動等命令
systemctl enable foo.service 開機自動啓動
systemctl disable foo.service 開機不自動啓動
systemctl is-enable foo.service 查看特定服務是否開機自啓動
第七步:終端進入