扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
ks.cfg文件:又称Kickstart文件,主要用于Linux系统的自动化安装。
创新互联主要从事网站设计制作、做网站、网页设计、企业做网站、公司建网站等业务。立足成都服务萨迦,10多年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:13518219792
在CentOS系统中 /root/anaconda-ks.cfg就是一个ks.cfg文件,它指明了当前系统预安装环境时的设置内容。《Linux 就该这么学》
linux安装大致可以分为2个阶段
第一阶段:linux的预安装环境
此阶段是linux的预安装环境,提供linux安装选项的一个接口,可以将它比作是windows中的PE环境
第二阶段:自动安装过程
该段系统会按照第一阶段设定的参数自动安装,
第一阶段有两种模式:交互式和非交互式
交互式就和普通安装一样,按照提示选择选项一步步的安装
非交互式则通过读取kickstart文件的配置,进行自动安装,这和window中的无人值守安装差不多的,这个文件即是ks.cfg文件(相当于window中的wi2k3.sif应答文件)
而在安装linux过程中,获取ks.cfg文件的方式有多种,如直接在cdrom中获取,常见的形式还有http,ftp,nfs等方式。
在使用ks.cfg之前,需要先引导启动环境
引导方式有很多,cdrom,usb,PXE等。
在引导进入第一阶段后,即可通过读取ks.cfg来进行系统的自动安装
这里开始说说ks文件的大致内容
ks.cfg文件组成大致分为3段
1.命令段:
键盘类型,语言,安装方式等系统的配置,有必选项和可选项,如果缺少某项必选项,安装时会中断并提示用户选择此项的选项
2.软件包段:
%packages
@groupname:指定安装的包组
package_name:指定安装的包
-package_name:指定不安装的包
在安装过程中默认安装的软件包,安装软件时会自动分析依赖关系。
3.脚本段(可选):
%pre:预安装脚本(由于只依赖于启动镜像,支持的命令很少)
%post:后安装脚本(基本支持所有命令)
而具体的ks.cfg文件的配置,我们只需要在已经安装好的linux的root家目录找到anaconda_ks.cfg(这个ks文件就是在安装linux后,根据用户的安装选项自动生成的)
1、ls命令
cd /root
ls #显示当前目录下所有的非隐藏文件
ls -a #显示当前目录下所有文件,包含隐藏文件
ls -l #显示当前目录下所有的非隐藏文件的详情
ls -al #显示当前目录下所有文件,包含隐藏文件 的详情
ls -lh #以列表形式显示当前目录下所有的非隐藏文件的大小(K M T)
ls -alh #以列表形式显示所有文件,包含隐藏文件的文件大小(K M T)
常用的组合:
ls
ll #等价于 ls -l
ls /etc #显示/etc目录下的文件
2:pwd命令
用来显示当前所在的路径
绝对路径: 从/目录开始的路径
/root
/etc/sysconf
/opt/server/data-integration/libswt/win64
相对路径: 相对当前的路径
3、mkdir命令
cd /root
mkdir mytest #在当前目录创建文件夹
mkdir -p 111/222/333 #一次创建多级文件夹
mkdir /root/mydemo #使用绝对路径来创建
mkdir mydemo2 #使用相对对路径来创建
4、rm命令
这个命令既可以删除文件,也可以删除目录
删文件:
cd /root
rm a.txt #删除时,会给出提醒确认,输入y删除,n不删除
rm -f b.txt #强制删除 等价于 rm -f /root/b.txt
rm ../dir2/b.txt
touch a.java b.java c.java
rm a.java b.java c.java #一次可以删除多个文件
rm *.java -fr #可以删除当前目录下的所有.java文件
cd dir
rm * -fr #删除当前目录的所有内容
删目录:
rm -r 111 #删除目录,依次提醒删除
rm -rf mytest #强制删除 等价于 rm mytest -fr
常用组合:
rm -fr 文件或目录
5、cd命令
cd 命令可以进入一个目录,类似于对windows上的文件夹进行双击
cd #直接cd 可以从任何一个目录回到/root目录
cd /root #进入root目录
cd /opt/server/data-integration/system/
cd .. #回到上一级目录
cd ../.. #回到上上一级目录
cd - #可以在最近的两次目录之间切换
cd /root
mdkir dir1 dir2
cd dir1
cd ../dir2 #使用相对路径 /中国/广东省/深圳市/宝安区/留仙二路/78号
6、历史命令和table补全
使用上下方向键可以找出历史命令
table键:
cd /opt/ #两次table可以列出/opt目录下所有的文件和子目录
cd /opt/s #一次table可以自动补全目录内容,前提是/opt目录下只有一个s开头的目录
7、touch命令
cd /root
touch a.java #在当前目录创建a.txt文件
touch b.java c.java #创建多个文件
touch /root/d.java #通过绝对路径创建
8、mv命令
移动:
1、mv 文件 目录 #将文件移动到目录中区
cd /root/dir1
touch a.txt
mv a.txt /root/dir2 #等价于 mv a.txt ../dir2
2、 mv 目录1 目录2 #将目录1移动到目录2下面(前提是目录2必须存在)
cd /root
mv dir2 dir1 #将dir2移动到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命令
显示文件内容
cd /root
cat user.txt
10、cp命令
复制文件
cd /root
cp user.txt user2.txt
cp user.txt /opt/ #将当前目录的user.txt 复制到/opt目录,文件名保持不变
cp user.txt /opt.user2.txt #将当前目录的user.txt 复制到/opt目录,文件名改为user2.txt
cp /opt/server/data-integration/pan.sh ./ #将指定目录里的文件复制到当前目录(.后边的/可以去掉)
cp /opt/server/data-integration/pan.sh ./dirx #将指定目录里的文件复制到当前目录下的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 #默认解压到当前目录
tar -xvf snappy-1.1.1.tar.gz #默认解压到当前目录
tar -xvf snappy-1.1.1.tar.gz -C /opt #将压缩包解压到/opt目录
.zip格式
unzip mysql-connector-java-8.0.13.zip #默认解压到当前目录
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文件夹进行打包压缩
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命令
用来实现文件的查找
find / -name 'a.txt' #从/目录开始查找a.txt文件
find / -name 'ins*' #从/目录开始查找以ins开头的文件
find / -type f -size +100M #查找/目录下文件大小大于100M的文件
13、grep命令
grep lang anaconda-ks.cfg #从anaconda-ks.cfg文件中查找包含lang的内容
14、ps命令
ps #查看依赖终端的进程
ps -ef #查看Linux系统中所有的进程
15、kill命令
kill -9 进程的pid #每次启动进程时,pid会发生变化,但是进程运行期间pid不会变化
16、管道 |
管道就是把前边命令的结果作为后边命令的输入
ps -ef | grep mysql #查找和mysql相关的进程
ll /etc | grep java #在/etc目录中查找java相关的文件
17、用户的操作
用户创建和密码设置
useradd itheima #创建新用户itheima
passwd itheima #设置用户itheima密码
用户删除
userdel -r itheima #删除用户itheima
18、文件的权限
所属用户: root 文件的创建者
所属用户组: root 和文件创建者在一个组的用户
其他用户: itcast 既不是文件创建者,也和文件创建者不在同一组
r: 可读
w:可写
x: 可执行
chmod命令:
方式1:
chmod u+rw a.txt #在所属用户之前的权限基础上添加可读和可写权限
chmod u=rw a.txt #将所属用户的权限直接修改为可读,可写
chmod +x #给所属用户,所属用户组和其他用户全部加上可执行权限
方式2:
chmod 777 a.txt #给所有用户加上所有权限
19、clear命令
用来清屏
快捷键: ctrl + l
20、history命令
用来查看所有的历史命令
21:vi编辑器的使用
vi a.txt #打开a.txt文件
vim a.txt #vim是vi的增强
22、网络管理命令
hostname :查看主机名
修改主机名: /etc/hostname
ifconfig :查看ip地址
修改ip地址: /etc/sysconfig/network-scripts/ifcfg-ens33
服务问题:
service network restart
通过ll命令可以查看一个目录下的文件和子目录的属性和大小,以下面的例子讲解:\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这些都是文件的属性,包括文件的属主、属组和其他组的权限,属主和属组的名称,1022表示文件的大小,Feb 13 16:07是文件的修改时间。\x0d\x0a\x0d\x0a至于被谁修改过是看不出来的。
出现grub rescue模式一般是硬盘分区出现变动、导致旧的grub找不到启动文件而出现的。
出现错误具体原因未知,但开机不能引导肯定是grub配置文件出错,/boot/grub2/grub.cfg
解决方法:
1,插入安装U盘或者光盘,进入救援模式,重装grub重新生成grub.cfg文件:grub2-install /dev/sda*boot目录所在分区grub2-mkconfig -o /boot/grub2/grub.cfg重启后应该就OK了。
2,grub 模式下:输入:ls 查看所有磁盘分区:hd。x,x......用:ls hd(x,x)/grub 找grub所在的分区,有正确执行结果的便是找到linux所在分区后执行setprefix=hdx,x/grubsetroot=hx,x、insmod normal再使用normal命令进入系统后,再修复grub 配置。or:查找boot分区:find /boot/grub/menu.lst 或者 find /boot/grub2/grub.cfg
输入以下命令:cat hd0,7/boot/grub/grub.conf 关于内核信息的,看一下就明白了。按照下面命令依次输入指定/boot分区使用命令:grubroot hd0,0grubkernel /boot/vmlinuz-2.6.18-53.el5 ro root=LABEL=/ rhgb quiet 回车grubinitrd /boot/initrd-2.6.18-53.el5.img 回车boot 回车启动
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流