A. linux怎麼進行網路安裝
Linux網路安裝全過程(安裝fedora)
先來大概說一下網路安裝linux的基本原理。我們是通過PXE(Pre-boot Execution Environment)(其實是intel設計的一個協議)來進行安裝的,它可以使計算機通過網路啟動。PXE協議分為server和client端,client就是我們即將要裝linux的裸機。 linux下網路安裝需具備3個條件:
1.dhcp伺服器:用於客戶端引導時分配IP地址
2.ftp、nfs、httpd伺服器:用於保存操作系統的rpm包 3.tftp伺服器:用於客戶端的tftp引導。 我的方案是DHCP+NFS+TFTP 方案介紹:
這種方案需要首先設置一個啟動伺服器和一個安裝伺服器,可以配置在同一台機器上,然後通過網路啟動存放在啟動伺服器上的安裝程序。安裝程序會自動訪問存放在安裝伺服器上的安裝配置文件和安裝介質來完成安裝。 軟硬體需求: · 一台機器作為啟動和安裝伺服器(虛擬機A) · 待安裝的機器,它的網卡必須帶有PXE支持(虛擬機B) · 一個完好的區域網,機器已經連入同一網。 · 系統鏡像文件
配置步驟:
一、DHCP伺服器
1、 安裝DHCP
[root@localhost ~]# rpm -qa|grep dhcp ;查看是否安裝了 dhcp libdhcp6client-1.0.22-1.fc10.i386 libdhcp-1.99.8-1.fc10.i386
dhcp-4.0.0-37.fc10.i386 ;若沒有此包,則需用yum install dhcp來安裝 libdhcp4client-4.0.0-30.fc10.i386 dhcpv6-client-1.0.22-1.fc10.i386 2、 配置DHCP
DHCP服務的配置文件是/etc/dhcpd.conf,通過修改配置文件進行配置,分兩步:一是加入黑體部分,二是修改配置地址。
註:初始安裝時/etc/dhcpd.conf配置文件為空,此時可以新建一個直接進行編輯。有個DHCP的配置例子為/usr/share/doc/dhcp-4.0.0/dhcpd.conf.sample。
[root@localhost /]# cd /etc
[root@localhost etc]# vim dhcpd.conf # DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.sample ddns-update-style interim; ignore client-updates; allow booting; allow bootp;
【必須與本機是同一網段】
subnet 192.168.186.0 netmask 255.255.255.0 {
option routers
192.168.186.135; 【本機地址】
#路由器地址
option subnet-mask
255.255.255.0;
#子網掩碼
option domain-name-servers
192.168.186.135;
#DNS地址
option time-offset
-18000; # Eastern Standard Time
range dynamic-bootp 192.168.186.2 192.168.186.100;
filename "/linux-install/pxelinux.0"; #
filename 後面是tftp目錄下的文件,用來指定tftp根目錄的啟動文件。【也可以直接寫成
/pxelinux.0,具體由自己設定】
default-lease-time 21600;
#預設租約時間
max-lease-time 43200;
#最大租約時間
}
[root@localhost ~]# ifconfig eth0 192. 168. 186.135/24
配置地址
[root@localhost etc]# ifconfig ;查本機IP地址。
eth0
Link encap:Ethernet
HWaddr 00:0C:29:26:AC:57
inet addr:192.168.186.135
Bcast:192.168.186.255
Mask:255.255.255.0
注意若要指定給某一特定主機分配地址,需再加入些東西,以下是一個例子
host MyP5 {
filename "pxelinux.0";
server-name "bootserver";
hardware ethernet ae:32:20:00:b0:02;
fixed-address 192.168.187.90;
為客戶機(需要安裝系統的機器)的 MAC 地址和所分配的IP地址。}
3、開啟服務(開啟成功則表示配置成功了)
[root@localhost etc]# service dhcpd start
(或者重啟restart)
啟動dhcpd:[確定]
使用
/etc/init.d/dhcpd start
也可以(在/etc/init.d下即可找到相應的服務service)
二、
NFS伺服器
1、安裝
NFS
[root@localhost /]# rpm -qa |grep nfs
nfs-utils-lib-1.1.4-1.fc10.i386
nfs-utils-1.1.4-1.fc10.i386
system-config-nfs-1.3.41-1.fc10.noarch
查詢是否已安裝,否則使用
yum install nfs
進行安裝。
2
、配置NFS
[root@localhost /]# mkdir /linuxos
(建立各個版本ISO文件的存放目錄,並且將ISO文件拷貝到此目錄下,NFS支持iso格式安裝。)
[root@localhost /]# mkdir tftpboot
[root@localhost /]# cd tftpboot/
[root@localhost tftpboot]# mkdir linux-install
[root@localhost /]# vim /etc/exports ;配置文件
/mnt *(ro,sync) ;(mnt為NFS的目錄,用來存放操作系統。此處選/mnt是因為
其是掛載光碟的掛載點)
/tftpboot/linux-install *(ro,sync) 3、啟動NFS
[root@localhost tftpboot]# exportfs –a ;使用此命令使配置生效 [root@localhost /]# service nfs start(或restart)
啟動 NFS 服務: [確定] 關掉 NFS 配額: [確定] 啟動 NFS 守護進程: [確定] 啟動 NFS mountd: [確定]
三、TFTP伺服器
1、安裝TFTP
[root@localhost /]# rpm -qa |grep tftp
tftp-0.49-1.fc10.i386 ;這個只是tftp客戶端軟體
tftp-server-0.49-1.fc10.i386 ;這個才是tftp伺服器軟體(必不可少) 若沒有則需使用yum下載。 [root@localhost /]# yum install tftp
[root@localhost /]# yum install tftp-server 2、配置TFTP
[root@localhost init.d]# vim /etc/xinetd.d/tftp ;配置文件 service tftp {
disable = no
socket_type = dgram protocol = udp wait = yes user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot ;將 /tftpboot 定義為 tftp 服務的默認目錄,您可以自行修改。 per_source = 11 cps = 100 2 flags = IPv4 }
3、保存之後重啟 /etc/init.d/xinetd 服務,即可開啟 tftp 服務。(注意此服務service不識別)
[root@localhost /]# /etc/init.d/xinetd restart
停止 xinetd: [確定] 啟動 xinetd:
[確定] 4、 測試tftp (1)下載文件
B. Linux下的find命令
Linux下find命令在目錄結構中搜索文件,並執行指定的操作。Linux下find命令提供了相當多的查找條件,功能很強大。即使系統中含有網路文件系統,find命令在該文件系統中同樣有效。
在運行一個非常消耗資源的find命令時,很多人都傾向於把它放在後台執行,因為遍歷一個大的文件系統可能會花費很長的時間。
命令格式:find 路徑 -命令參數 [輸出形式]
常用參數:
-name 按照文件名查找文件。
-perm 按照文件許可權來查找文件。
-prune 使用這一選項可以使find命令不在當前指定的目錄中查找,如果同時使用了- depth選項,那麼-prune選項將被find命令忽略。
-user 按照文件屬主來查找文件。
-group 按照文件所屬的組來查找文件。
-mtime -n +n 按照文件的更改時間來查找文件, -n表示文件更改時間距現在n天以內,+n表示文件更改時間距現在n天以前。find命令還有-atime和-ctime選項,但它們都和-mtime選項相似,所以我們在這里只介紹-mtime選項。
-type 查找某一類型的文件,諸如:b-塊設備文件;d-目錄;c-字元設備文件;p-管道文件;l-符號鏈接文件;f-普通文件;s-socket文件。
-size n[c] 查找文件長度為n塊的文件,帶有c時表示文件長度以位元組計。
-depth 在查找文件時,首先查找當前目錄中的文件,然後再在其子目錄中查找。
用法示例:
查找當前目錄以.sh結尾的文件
$ find . -name "*.sh"
查找當前目錄下的目錄
$ find . -type d
C. 樹莓派Linux啟動過程簡介
昨天在寫關於linux設置腳本開機啟動的文章時,有個疑問就是開機時怎麼確認運行級別,然後遍歷執行/etc/rcN.d/目錄下的所有服務程序。帶著疑問, 在前人的基礎上 學習總結一下linux系統初始化的工作的內容,現在樹莓派4B上展示出來。
1、載入內核
當計算機打開電源後,首先是BIOS開機自檢,按照BIOS中設置的啟動設備(通常是硬碟)來啟動。旅山操作系統接管硬體以後,首先讀入 /boot 目錄下的內核文件。樹莓派4B的內核是Raspbian GNU/Linux 10 (buster),基於Debian。
2、初始化進程init
內核文件載入以後,運行第一個程序init,它的作用是初始化系統環境。init位於目錄/sbin,進程號PID為1,即1號進程,其他所有進程都由init衍生,是init的子進程。
同時還有個0號進程,idle進程,在系統初始化時由內核kernel自身從無到有創建,通過調用kernel_thread創建一個內核線程去執行init函數,0號進程創建1號進程。
3、運行級別
具體介紹請參考筆者的文章-Linux運行級別簡介 ,但是開機時是怎麼確定運行級別的呢?
init進程首先讀取文件 /etc/inittab,它是運行級別的設置文件。但是各個發行版不太一樣,init的仔稿配置文件也不一樣,有可能使用/etc/event.d裡面的配置文件,最新版的改用為/etc/init目錄。
4、開機啟動程序
具體詳情請參考文章-linux中/etc/init.d設置開機啟動 ,確定運行級別後,執行rcN.d目錄下的文件,這些鏈接文件是連接到init.d目錄下的程序。init進程逐一載入開機啟動程序,其實就是運行這個目錄里的啟動腳本。
比如運行級別為5(圖形化多用戶)時啟動的程序:
5、用戶登錄
開機啟動程序載入完畢以後用戶登錄。用戶的登錄方式有三種:
命令行登錄:init進程調用getty程序。
ssh登錄:init進程調用sshd程序。
圖形界面登錄:init進程調用顯示管理器,Gnome圖形界面對應的顯示管理器為gdm。
6 、login shell
默認shell時bash,命令行界面,讓念鎮孝用戶可以直接與操作系統對話。讀取環境變數,具體請參考筆者文章-Linux環境變數的設置。
D. linux中滑鼠左鍵和滑輪失靈
是滑鼠左鍵的微動壞了。也就是負責滑鼠點擊談起的那個小裝置。 把滑鼠拆開,左鍵下面那個帶個小點的東西就是。 這個微動買一個國產的幾毛錢,日本歐姆龍的也就幾塊錢。 拆卸比較簡單,用電烙鐵把這個微動跟滑鼠電路板上的3個焊點融瞭然後拔出