linux中的软件管理及虚拟机的全自动安装
- 已知软件源,如何在系统下指定
让系统自动的找到软件源的地址,也就需要对软件仓库的指向进行配置。
在/etc/yum.repos.d/目录下vim /etc/yum.repos.d/xxx.repo 文件名必须以repo结尾。
需要写配置文件的格式:
eg:
[rhel7.2]
name=rhel7.2 source(软件仓库说明)
baseurl=http://172.25.254.67/rhel7.2/x86_64/dvd(复制到浏览器可以访问)
gpgcheck=0(软件里面置入的key代表一个软件的商标。当等于1时为官方授权,不等于1时为第三方软件不等于1时系统出现的任何问题自己负责)
enable=1(表示上面所写的都生效)
- 配置本地yum源
首先,获得一个与本机系统一致的安装镜像,不可以混用。
然后呢挂载镜像(挂载的感觉可以和u盘类比一下)
操作是:mount /xxxx/xxxx.iso /rhl7.2
第一个为要挂载的东西 第二个挂载目录需要创建
挂载本地源
配置系统安装源 指向
vim /etc/yum.repos.d/yum.repo
清空系统原有yum信息并和查看现有的软件源
尝试安装httpd,并安装成功
虽然成功了,但这只是临时挂载,系统关机时会被清空
所以我们需要设置永久挂载
设定永久挂载
vim /etc/rc.d/rc.local(开机自启动文件夹,意思就是这个目录里面的东西开机会自启动的,而我们需要把目录复制到里面去)
默认没有可执行权力
chmod 755 设置可执行权
重启后发现果然还可以用
- 共享目录文件服务
将镜像文件挂载在默认共享目录下按步骤操作
systemctl start httpd
systemctl stop firewalld
systemctl enable httpd//默认开机开启
systemctl disable firewalld//默认开机关闭
在linux中有一个目录,他是被默认向外共享的目录,而正是因为如此,平时一个网络里,只需要一个源就够了。
mkdir /var/www/html/rhel7.2
httpd只能共享此目录
mount /xxxx/xxxx/iso /var/www/html/rhel7.2
vim /etc/rc.d/rc.local
测试:
在虚拟机浏览器中输入网址
http://ip/rhel7.2
而此地址就是网络yum源的地址
设置开机自启动
虚拟机中指定软件源,并清空系统原有yum信息 此处有疑问
测试成功
- yum命令的使用
yum命令的使用必须在yum源搭建成功后才能正常运行。
yum clean all 清除原有yum缓存
yum repolist列出仓库信息
yum install software 安装
yum list software 查看软件
yum list all 查看所有
yum list installed
yum list avaliable 列出可安装软件
yum reinstall software 重新安装 解决文件损坏问题
yum remove software 卸载
yum info software 查看软件信息
yum search software 软件信息 根据软件信息搜索软件
yum whatprovides file 根据软件内部文件找出包含此文件的软件
yum group lists 列出软件组
yum groups info 查看软件组的信息
yum group install sfgroup 安装软件组
yum groups remove sfgroup卸载组 只是卸载软件却卸载不了依赖性
yum update 更新系统、把当前指定的软件的版本更新成指定源的版本
- 设置yum黑名单
vim /etc/yum.conf
exclude=.i686 屏蔽.1686
yum list all
用rpm命令来处理第三方软件
rpm -i 安装
-v显示过程
-h hash加密
-e 卸载
-q 查看
- qlp 查看未安装软件在系统中安装后产生的路径
-qd 查看软件的帮助文件
-qf 根据某个文件查找出此文件属于哪个安装包
-qc 查看软件的配置文件名称
--scripts 查看脚本
--nodeps 安装软件忽略依赖性,适用于有循环依赖性的情况
--force 强行安装软件
--Kv查看软件是否被篡改
rpm -qp --scripts查看程序在执行中运行的脚本
mget为多个get为一个
- 第三方软件库的搭建
首先,把所有的rpm包放在一个目录中
然后,createrepo -v 存放软件包的目录
命令执行成功后会生成repodata目录
然后设定源指向
vim /etc/yum.repos.d /yum.repo
[software]
name=software source
baseurl=file:///software
gpgcheck=0
搭建成功
测试
yum list linuxqq
搭建第三方软件库
设置源指向
测试
- 自动安装脚本的制作
yum install system-config-kickstart httpd -y
system-config-kickstart
生成的ks.cfg保存到/var/www/html/
编辑ks.cfg
**
%packages
@base
lftp
%end
%post
cat >>/etc/yum.repos.d/yum.repo <<EOF
[rhel7.2]
name=rhel7.2
baseurl=http://172.25.254.67/rhel7.2
gpgcheck=0
EOF
%end
**
ksvalidator 对/var/www/html/ks.cfg 进行语法检查
测试:172.25.254.67/ks.cfg通畅
编写自动安装脚本:
!/bin/bash
virt-install
--name 1 \ --ram 1024 \ --cpus 1 \ --disk /var/lib/libvirt/images/1.qcow2,size=9,bus=virtio
network bridge=br0,model=virtio
location http://172.25.254.67/rhel7.2
extra-args ks=http://172.25.254.67/ks.cfg &
在做这个实验的过程中发生了一点小状况,不过谢天谢地我都解决了。
在安装syetem-config-kickstart的时候安装不成功报错。
查看了源指向文件yum.repo,并df查看系统挂载列表后成功了解决了这个问题。
更改了源指向文件
下载成功
出现的这个窗口代表我们成功的运行了kickstart,我们需要在这个图形化脚本制作工具上勾选我们安装系统时需要做的选项
此处出现错误,地址http://172.25.254.67/rhel7.2(此处不需要绝对路径)
查看文件编写是否成功
开始编辑ks.cfg文件
测试是否通畅
编写自动安装脚本
创建虚拟机
等了不到10分钟后创建成功