美文网首页
linux中的软件管理及虚拟机的全自动安装

linux中的软件管理及虚拟机的全自动安装

作者: ivan_cq | 来源:发表于2018-07-30 22:54 被阅读0次
    • 已知软件源,如何在系统下指定
      让系统自动的找到软件源的地址,也就需要对软件仓库的指向进行配置。

    在/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
    把所有的rpm包存放到一个目录里
    搭建第三方软件库

    设置源指向
    测试
    • 自动安装脚本的制作
      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分钟后创建成功

    相关文章

      网友评论

          本文标题:linux中的软件管理及虚拟机的全自动安装

          本文链接:https://www.haomeiwen.com/subject/ildqvftx.html