ks.cfg文件:又稱(chēng)Kickstart文件,主要用于Linux系統(tǒng)的自動(dòng)化安裝。
創(chuàng)新互聯(lián)主要從事網(wǎng)站設(shè)計(jì)制作、做網(wǎng)站、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)薩迦,10多年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專(zhuān)業(yè),歡迎來(lái)電咨詢(xún)建站服務(wù):13518219792
在CentOS系統(tǒng)中 /root/anaconda-ks.cfg就是一個(gè)ks.cfg文件,它指明了當(dāng)前系統(tǒng)預(yù)安裝環(huán)境時(shí)的設(shè)置內(nèi)容。《Linux 就該這么學(xué)》
linux安裝大致可以分為2個(gè)階段
第一階段:linux的預(yù)安裝環(huán)境
此階段是linux的預(yù)安裝環(huán)境,提供linux安裝選項(xiàng)的一個(gè)接口,可以將它比作是windows中的PE環(huán)境
第二階段:自動(dòng)安裝過(guò)程
該段系統(tǒng)會(huì)按照第一階段設(shè)定的參數(shù)自動(dòng)安裝,
第一階段有兩種模式:交互式和非交互式
交互式就和普通安裝一樣,按照提示選擇選項(xiàng)一步步的安裝
非交互式則通過(guò)讀取kickstart文件的配置,進(jìn)行自動(dòng)安裝,這和window中的無(wú)人值守安裝差不多的,這個(gè)文件即是ks.cfg文件(相當(dāng)于window中的wi2k3.sif應(yīng)答文件)
而在安裝linux過(guò)程中,獲取ks.cfg文件的方式有多種,如直接在cdrom中獲取,常見(jiàn)的形式還有http,ftp,nfs等方式。
在使用ks.cfg之前,需要先引導(dǎo)啟動(dòng)環(huán)境
引導(dǎo)方式有很多,cdrom,usb,PXE等。
在引導(dǎo)進(jìn)入第一階段后,即可通過(guò)讀取ks.cfg來(lái)進(jìn)行系統(tǒng)的自動(dòng)安裝
這里開(kāi)始說(shuō)說(shuō)ks文件的大致內(nèi)容
ks.cfg文件組成大致分為3段
1.命令段:
鍵盤(pán)類(lèi)型,語(yǔ)言,安裝方式等系統(tǒng)的配置,有必選項(xiàng)和可選項(xiàng),如果缺少某項(xiàng)必選項(xiàng),安裝時(shí)會(huì)中斷并提示用戶(hù)選擇此項(xiàng)的選項(xiàng)
2.軟件包段:
%packages
@groupname:指定安裝的包組
package_name:指定安裝的包
-package_name:指定不安裝的包
在安裝過(guò)程中默認(rèn)安裝的軟件包,安裝軟件時(shí)會(huì)自動(dòng)分析依賴(lài)關(guān)系。
3.腳本段(可選):
%pre:預(yù)安裝腳本(由于只依賴(lài)于啟動(dòng)鏡像,支持的命令很少)
%post:后安裝腳本(基本支持所有命令)
而具體的ks.cfg文件的配置,我們只需要在已經(jīng)安裝好的linux的root家目錄找到anaconda_ks.cfg(這個(gè)ks文件就是在安裝linux后,根據(jù)用戶(hù)的安裝選項(xiàng)自動(dòng)生成的)
1、ls命令
cd /root
ls #顯示當(dāng)前目錄下所有的非隱藏文件
ls -a #顯示當(dāng)前目錄下所有文件,包含隱藏文件
ls -l #顯示當(dāng)前目錄下所有的非隱藏文件的詳情
ls -al #顯示當(dāng)前目錄下所有文件,包含隱藏文件 的詳情
ls -lh #以列表形式顯示當(dāng)前目錄下所有的非隱藏文件的大小(K M T)
ls -alh #以列表形式顯示所有文件,包含隱藏文件的文件大小(K M T)
常用的組合:
ls
ll #等價(jià)于 ls -l
ls /etc #顯示/etc目錄下的文件
2:pwd命令
用來(lái)顯示當(dāng)前所在的路徑
絕對(duì)路徑: 從/目錄開(kāi)始的路徑
/root
/etc/sysconf
/opt/server/data-integration/libswt/win64
相對(duì)路徑: 相對(duì)當(dāng)前的路徑
3、mkdir命令
cd /root
mkdir mytest #在當(dāng)前目錄創(chuàng)建文件夾
mkdir -p 111/222/333 #一次創(chuàng)建多級(jí)文件夾
mkdir /root/mydemo #使用絕對(duì)路徑來(lái)創(chuàng)建
mkdir mydemo2 #使用相對(duì)對(duì)路徑來(lái)創(chuàng)建
4、rm命令
這個(gè)命令既可以刪除文件,也可以刪除目錄
刪文件:
cd /root
rm a.txt #刪除時(shí),會(huì)給出提醒確認(rèn),輸入y刪除,n不刪除
rm -f b.txt #強(qiáng)制刪除 等價(jià)于 rm -f /root/b.txt
rm ../dir2/b.txt
touch a.java b.java c.java
rm a.java b.java c.java #一次可以刪除多個(gè)文件
rm *.java -fr #可以刪除當(dāng)前目錄下的所有.java文件
cd dir
rm * -fr #刪除當(dāng)前目錄的所有內(nèi)容
刪目錄:
rm -r 111 #刪除目錄,依次提醒刪除
rm -rf mytest #強(qiáng)制刪除 等價(jià)于 rm mytest -fr
常用組合:
rm -fr 文件或目錄
5、cd命令
cd 命令可以進(jìn)入一個(gè)目錄,類(lèi)似于對(duì)windows上的文件夾進(jìn)行雙擊
cd #直接cd 可以從任何一個(gè)目錄回到/root目錄
cd /root #進(jìn)入root目錄
cd /opt/server/data-integration/system/
cd .. #回到上一級(jí)目錄
cd ../.. #回到上上一級(jí)目錄
cd - #可以在最近的兩次目錄之間切換
cd /root
mdkir dir1 dir2
cd dir1
cd ../dir2 #使用相對(duì)路徑 /中國(guó)/廣東省/深圳市/寶安區(qū)/留仙二路/78號(hào)
6、歷史命令和table補(bǔ)全
使用上下方向鍵可以找出歷史命令
table鍵:
cd /opt/ #兩次table可以列出/opt目錄下所有的文件和子目錄
cd /opt/s #一次table可以自動(dòng)補(bǔ)全目錄內(nèi)容,前提是/opt目錄下只有一個(gè)s開(kāi)頭的目錄
7、touch命令
cd /root
touch a.java #在當(dāng)前目錄創(chuàng)建a.txt文件
touch b.java c.java #創(chuàng)建多個(gè)文件
touch /root/d.java #通過(guò)絕對(duì)路徑創(chuàng)建
8、mv命令
移動(dòng):
1、mv 文件 目錄 #將文件移動(dòng)到目錄中區(qū)
cd /root/dir1
touch a.txt
mv a.txt /root/dir2 #等價(jià)于 mv a.txt ../dir2
2、 mv 目錄1 目錄2 #將目錄1移動(dòng)到目錄2下面(前提是目錄2必須存在)
cd /root
mv dir2 dir1 #將dir2移動(dòng)到dir1下面
重命名:
1、mv 文件1 文件2 #給文件重命名(文件2不能存在)
cd /root
mv a.txt aaa.txt #將a.txt 重命名為aaa.txt
2、mv 目錄1 目錄2 #給目錄重命名(目錄2不能存在)
cd /root
mv dir1 dirx #將dir1重命名為dirx
9、cat命令
顯示文件內(nèi)容
cd /root
cat user.txt
10、cp命令
復(fù)制文件
cd /root
cp user.txt user2.txt
cp user.txt /opt/ #將當(dāng)前目錄的user.txt 復(fù)制到/opt目錄,文件名保持不變
cp user.txt /opt.user2.txt #將當(dāng)前目錄的user.txt 復(fù)制到/opt目錄,文件名改為user2.txt
cp /opt/server/data-integration/pan.sh ./ #將指定目錄里的文件復(fù)制到當(dāng)前目錄(.后邊的/可以去掉)
cp /opt/server/data-integration/pan.sh ./dirx #將指定目錄里的文件復(fù)制到當(dāng)前目錄下的dirx目錄(.后邊的/比可以去掉)
cp /opt/server/data-integration/pan.sh /root/dirx #作用同上
11、解壓和壓縮
Linux的壓縮包后綴一般是: .tar.gz
解壓:
.tar.gz
將snappy-1.1.1.tar.gz上傳到/root/dir1目錄
tar -zxvf snappy-1.1.1.tar.gz #默認(rèn)解壓到當(dāng)前目錄
tar -xvf snappy-1.1.1.tar.gz #默認(rèn)解壓到當(dāng)前目錄
tar -xvf snappy-1.1.1.tar.gz -C /opt #將壓縮包解壓到/opt目錄
.zip格式
unzip mysql-connector-java-8.0.13.zip #默認(rèn)解壓到當(dāng)前目錄
unzip -d /opt mysql-connector-java-8.0.13.zip #解壓到指定目錄
壓縮:
.tar.gz
tar -czvf snappy-1.1.1.tar.gz snappy-1.1.1 #將snappy-1.1.1文件夾進(jìn)行打包壓縮
tar -czvf /root/dir/snappy-1.1.1.tar.gz /opt/server/snappy-1.1.1
.zip格式
zip -r mysql-connector-java-8.0.13.zip mysql-connector-java-8.0.13/
12、find命令
用來(lái)實(shí)現(xiàn)文件的查找
find / -name 'a.txt' #從/目錄開(kāi)始查找a.txt文件
find / -name 'ins*' #從/目錄開(kāi)始查找以ins開(kāi)頭的文件
find / -type f -size +100M #查找/目錄下文件大小大于100M的文件
13、grep命令
grep lang anaconda-ks.cfg #從anaconda-ks.cfg文件中查找包含lang的內(nèi)容
14、ps命令
ps #查看依賴(lài)終端的進(jìn)程
ps -ef #查看Linux系統(tǒng)中所有的進(jìn)程
15、kill命令
kill -9 進(jìn)程的pid #每次啟動(dòng)進(jìn)程時(shí),pid會(huì)發(fā)生變化,但是進(jìn)程運(yùn)行期間pid不會(huì)變化
16、管道 |
管道就是把前邊命令的結(jié)果作為后邊命令的輸入
ps -ef | grep mysql #查找和mysql相關(guān)的進(jìn)程
ll /etc | grep java #在/etc目錄中查找java相關(guān)的文件
17、用戶(hù)的操作
用戶(hù)創(chuàng)建和密碼設(shè)置
useradd itheima #創(chuàng)建新用戶(hù)itheima
passwd itheima #設(shè)置用戶(hù)itheima密碼
用戶(hù)刪除
userdel -r itheima #刪除用戶(hù)itheima
18、文件的權(quán)限
所屬用戶(hù): root 文件的創(chuàng)建者
所屬用戶(hù)組: root 和文件創(chuàng)建者在一個(gè)組的用戶(hù)
其他用戶(hù): itcast 既不是文件創(chuàng)建者,也和文件創(chuàng)建者不在同一組
r: 可讀
w:可寫(xiě)
x: 可執(zhí)行
chmod命令:
方式1:
chmod u+rw a.txt #在所屬用戶(hù)之前的權(quán)限基礎(chǔ)上添加可讀和可寫(xiě)權(quán)限
chmod u=rw a.txt #將所屬用戶(hù)的權(quán)限直接修改為可讀,可寫(xiě)
chmod +x #給所屬用戶(hù),所屬用戶(hù)組和其他用戶(hù)全部加上可執(zhí)行權(quán)限
方式2:
chmod 777 a.txt #給所有用戶(hù)加上所有權(quán)限
19、clear命令
用來(lái)清屏
快捷鍵: ctrl + l
20、history命令
用來(lái)查看所有的歷史命令
21:vi編輯器的使用
vi a.txt #打開(kāi)a.txt文件
vim a.txt #vim是vi的增強(qiáng)
22、網(wǎng)絡(luò)管理命令
hostname :查看主機(jī)名
修改主機(jī)名: /etc/hostname
ifconfig :查看ip地址
修改ip地址: /etc/sysconfig/network-scripts/ifcfg-ens33
服務(wù)問(wèn)題:
service network restart
通過(guò)ll命令可以查看一個(gè)目錄下的文件和子目錄的屬性和大小,以下面的例子講解:\x0d\x0a[root@localhost ~]# ll\x0d\x0atotal 88\x0d\x0a-rw-r--r-- 1 root root 1022 Feb 13 16:07 anaconda-ks.cfg\x0d\x0adrwxr-xr-x 2 root root 4096 Feb 13 16:07 Desktop\x0d\x0a-rw-r--r-- 1 root root 49229 Feb 13 16:07 install.log\x0d\x0a-rw-r--r-- 1 root root 5133 Feb 13 16:06 install.log.syslog\x0d\x0a-rw-r--r-- 1 root root 7 May 2 05:28 test\x0d\x0a[root@localhost ~]#\x0d\x0a\x0d\x0a我以其中一行講解:\x0d\x0a-rw-r--r-- 1 root root 1022 Feb 13 16:07 anaconda-ks.cfg\x0d\x0a-rw-r--r-- 1 root root 1022這些都是文件的屬性,包括文件的屬主、屬組和其他組的權(quán)限,屬主和屬組的名稱(chēng),1022表示文件的大小,F(xiàn)eb 13 16:07是文件的修改時(shí)間。\x0d\x0a\x0d\x0a至于被誰(shuí)修改過(guò)是看不出來(lái)的。
出現(xiàn)grub rescue模式一般是硬盤(pán)分區(qū)出現(xiàn)變動(dòng)、導(dǎo)致舊的grub找不到啟動(dòng)文件而出現(xiàn)的。
出現(xiàn)錯(cuò)誤具體原因未知,但開(kāi)機(jī)不能引導(dǎo)肯定是grub配置文件出錯(cuò),/boot/grub2/grub.cfg
解決方法:
1,插入安裝U盤(pán)或者光盤(pán),進(jìn)入救援模式,重裝grub重新生成grub.cfg文件:grub2-install /dev/sda*boot目錄所在分區(qū)grub2-mkconfig -o /boot/grub2/grub.cfg重啟后應(yīng)該就OK了。
2,grub 模式下:輸入:ls 查看所有磁盤(pán)分區(qū):hd。x,x......用:ls hd(x,x)/grub 找grub所在的分區(qū),有正確執(zhí)行結(jié)果的便是找到linux所在分區(qū)后執(zhí)行setprefix=hdx,x/grubsetroot=hx,x、insmod normal再使用normal命令進(jìn)入系統(tǒng)后,再修復(fù)grub 配置。or:查找boot分區(qū):find /boot/grub/menu.lst 或者 find /boot/grub2/grub.cfg
輸入以下命令:cat hd0,7/boot/grub/grub.conf 關(guān)于內(nèi)核信息的,看一下就明白了。按照下面命令依次輸入指定/boot分區(qū)使用命令:grubroot hd0,0grubkernel /boot/vmlinuz-2.6.18-53.el5 ro root=LABEL=/ rhgb quiet 回車(chē)grubinitrd /boot/initrd-2.6.18-53.el5.img 回車(chē)boot 回車(chē)啟動(dòng)