[关闭]
@wyjgd 2019-09-02T09:08:31.000000Z 字数 2049 阅读 747

RPM与YUM


RPM包管理

centos系统上使用rpm命令管理程序包
安装:rpm -i [option] package
    -i:install
    -v:verbose
    -h:显示程序包执行进度
    --test:测试安装
    --nodeps:忽略依赖关系
    --nosignature:不检查来源合法性
    --noscripts:不执行程序脚本
升级:rpm -U|-F [option] package
    -U:upgrade,安装有旧版程序包,则升级
                如果不存在旧版程序包,则安装
    -F:freshen,只有存在旧版程序包,才升级
    --oldpackage:降级
    --force:强制安装
查询:rpm -q [option] package
    -a:所有包
    -f:查看指定的文件由哪个程序包安装生成
    -p:尚未安装的程序包文件做查询操作
    -c:查询程序的配置文件
    -d:查询程序的文档
    -l:查看指定的程序包安装后生成的所有文件
    -e:卸载包

YUM

rpm的前端程序,能解决软件包相关的依赖性,可在多个库之间定位软件包
yum repository:yum repo,存储了大量rpm包,以及包的相关的元数据文件(repodata下)
yum配置文件:
    /etc/yum.conf:为所有仓库提供公共配置
    /etc/yum.repos.d/*.repo:为仓库的指向提供配置
    仓库指向定义:
        [name]
        name=XXXX
        baseurl=path to repo(http:// https:// file:// ftp://)
        enable=0|1  是否启用仓库
        gpgcheck=0|1 是否检查秘钥
        gpgurl=xxx  秘钥地址
        enablegroups=1|0
        failovermethod={roundrobin|priority}
            roundrobin:随机挑选,默认值
            priority:顺序访问
    repo配置文件变量:
        $releaserver:当前OS发行版的主版本号
            $arch:平台 i386 x86_64等
        $basearch:基础平台
            $YUM[0-9]:自定义变量
  1. ver=`egrep -o "[0-8]" /etc/redhat-release|head -1`
  2. echo "版本号为$ver"
  3. sleep 1
  4. echo "别名提示颜色设置中"
  5. cat >>/root/.bashrc<<EOF
  6. alias rm=`rm -i`
  7. alias cp=`cp -i`
  8. alias mv=`mv -i`
  9. `if [ "$ver" -eq 7 ];then
  10. ps1="\[\e[1;36m\][\u@\h \W]\$\[\e[0m\]"
  11. else
  12. ps1="\[\e[1;33m\][\u@\h \W]\$\[\e[0m\]"
  13. fi
  14. `
  15. PS1=$ps1
  16. EOF
  17. echo "设置结束"
  18. sleep 1
  19. echo "yum源下载中"
  20. wget https://mirrors.163.com/centos/"$ver"/os/x86_64/base.repo -O /etc/yum.repos.d/
  21. echo "下载完成"
  22. echo "清理缓存,并下载tree ftp lftp telnet"
  23. yum clean && yum makecache
  24. yum install -y tree ftp lftp telnet
  25. echo "完成"

相关命令

显示仓库列表:yum repolist
显示程序包:yum list [option]
安装程序包:yum install package -y
升级程序包:yum update
卸载程序包:yum remove
查看程序包信息:yum info
清理本地缓存:yum clean
构建缓存:yum makecache
搜索:yum search
日志:/var/log/yum.log

二进制安装

源代码——预处理——编译——汇编——链接——执行
源代码组织格式:
    多文件:文件中的代码之间,可能存在依赖关系
    C,C++:make项目管理器
C语言二进制安装三步骤:
    1、./configure + 参数
    2、make 构建应用程序
    3、make install 安装

* 在CentOS7.上编译安装apache2.4源码包,并启动此服务

  1. #!/bin/bash
  2. echo "安装相关包"
  3. yum install -y apr-devel apr-util-devel pcre-devel
  4. echo "进入httpd目录"
  5. cd /root/httpd-2.4.25
  6. echo "执行./config"
  7. ./config --prefix=/usr/local/http24
  8. echo "编译安装"
  9. make -j4 && make install
  10. echo "添加变量"
  11. echo 'PATH=/usr/local/http24/bin:$PATH'> /etc/profile.d/httpd.sh
  12. export /etc/profile.d/httpd.sh
  13. echo "启动apache"
  14. apachectl start
  15. exit 1

image.png-15.2kB
make -j4 && make install
image.png-36.1kB
服务已启动
image.png-5.4kB

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注