11Linux之软件包管理

11 软件包管理

11.1 软件包介绍

11.1.1 编程语言分类

  • 机器语言

  • 汇编语言

  • 高级语言

    解释型(shell、python)

    安装步骤:

    1、下载python写好的软件包

    2、在自己的Linux主机上安装对应版本的python解释器和依赖包

    编译型(c、go)

    c语言不支持跨平台编译,因此c语言写出来的源码包在不同的平台安装时都必须编译一次。

    go支持跨平台编译

    安装步骤:

    1、下载源码包

    2、在自己的Linux主机上安装好编译器

    3、用编译器把源码包编译成可执行的命令

11.1.2 三种安装包

  • rpm包

    预先编译打包,安装简单

    软件的稳定版会被官方做成rpm,因此软件版本偏低

  • 源码包

    手动编译打包,安装繁琐

    软件版本丰富,可选择性强

  • 二进制包

    安装即可使用,安装简单

    不能修改源代码

rpm制作好的安装程序--------------------->安装

源码包------------------>需要自己定制安装细节-------------->安装

二进制包--------------->已经安装完毕(下载完就可以用,无需安装)

11.2 rpm包管理

11.2.1 rpm包简介

  • 简介

    RPM是Red-Hat Package Manager(RPM软件包管理器)的缩写,设计理念是开放式的

  • rpm包格式

    举例

    yum-plugin-fastestmirror-1.1.31-53.el7.noarch.rpm
    yum-plugin-fastestmirror # 软件包的名称
    1.1.31 # 软件的版本
    53 # 软件编译之后发布的次数
    el7 # 适合的操作系统的版本
    noarch # 适用于不同版本的CPU
    .rpm # 后缀名
  • rpm包使用的平台

    redhat/centos/fedora/suse
    # 查看自己当前的平台
    [root@ccc yum.repos.d]# uname -m
    x86_64
    [root@ccc yum.repos.d]# cat /etc/redhat-release
    CentOS Linux release 7.8.2003 (Core)

11.2.2 管理rpm包的两种方式

  • rpm命令

    需要自己找到rpm包,并手动解决包的依赖性关系

    (实际很难区分缺少什么包)

  • yum命令

    相关的rpm包事先存放在一个仓库里,仓库包含了所有的依赖包

    yum会按照仓库帮我们解决依赖性问题

11.2.3 RPM包的获取方式

  • 三种方式(卸载umount)

    # 1.本地的ISO镜像光盘:三种方式
    方式1:
    [root@ccc yum.repos.d]# mount /dev/cdrom /opt
    mount: /dev/sr0 写保护,将以只读方式挂载
    [root@ccc yum.repos.d]# df -h
    文件系统 容量 已用 可用 已用% 挂载点
    devtmpfs 476M 0 476M 0% /dev
    tmpfs 487M 0 487M 0% /dev/shm
    tmpfs 487M 7.6M 479M 2% /run
    tmpfs 487M 0 487M 0% /sys/fs/cgroup
    /dev/sda3 7.7G 6.0G 1.8G 78% /
    /dev/sda1 473M 123M 351M 26% /boot
    tmpfs 98M 0 98M 0% /run/user/0
    /dev/sr0 4.5G 4.5G 0 100% /opt
    [root@ccc yum.repos.d]# ll /dev/cdrom
    lrwxrwxrwx 1 root root 3 11月 2 08:43 /dev/cdrom -> sr0 方式2:
    [root@ccc yum.repos.d]# mount /dev/sr0 /opt
    mount: /dev/sr0 写保护,将以只读方式挂载
    [root@ccc yum.repos.d]# df -h
    文件系统 容量 已用 可用 已用% 挂载点
    devtmpfs 476M 0 476M 0% /dev
    tmpfs 487M 0 487M 0% /dev/shm
    tmpfs 487M 7.6M 479M 2% /run
    tmpfs 487M 0 487M 0% /sys/fs/cgroup
    /dev/sda3 7.7G 6.0G 1.8G 78% /
    /dev/sda1 473M 123M 351M 26% /boot
    tmpfs 98M 0 98M 0% /run/user/0
    /dev/sr0 4.5G 4.5G 0 100% /opt 方式3:
    [root@ccc ~]# dd if=/dev/sr0 of=/centos7.iso
    记录了9338880+0 的读入
    记录了9338880+0 的写出
    4781506560字节(4.8 GB)已复制,154.363 秒,31.0 MB/秒
    [root@ccc ~]# mount-o loop/root/centos7.iso /opt # 查看光盘里的rpm包
    [root@ccc ~]# ls /opt/Packages/ # 2.自己去网上下载rpm包进行安装
    # 3.联网从yum仓库里获取rpm包

11.3 rpm命令

11.3.1 常用选项

  • 安装

    # rpm -ivh RPM包名全称
    [root@ccc ~]# rpm -ivh /opt/Packages/zlib-devel-1.2.7-18.el7.x86_64.rpm
    准备中... ################################# [100%]
    软件包 zlib-devel-1.2.7-18.el7.x86_64 已经安装
  • 卸载

    # rpm -e RPM包名
    [root@ccc ~]# rpm -e zlib-devel
    [root@ccc ~]# rpm -ql zlib-devel
    未安装软件包 zlib-devel
  • 升级

    # rpm -Uvh RPM包名
  • 查询

    rpm -qa  	     # 查询系统中安装的所有RPM软件包
    rpm -qa | grep php # 检索系统中已经安装有关php的软件包
    rpm -q RPM包名 # 查询指定软件包是否已经安装
    rpm -qi RPM包名 # 查询系统中已经安装包的描述信息
    rpm -ql RPM包名 # 查询系统中已安装包里所包含的文件
    rpm -qc RPM包名 # 查询指定软件包的所有配置文件
    rpm -qd RPM包名 # 查询某个包安装的帮助文档
    rpm -qf RPM包名 # 查询系统中指定文件所属的软件包
    -p # 上述选项的基础上加-p就可以查看尚未安装的rpm包的信息
  • 其他

    --nomd5   # 不检验软件包的签名
    --nodeps # 忽略依赖性安装软件,安装后软件可能无法使用,最好解决好依赖性再安装
    --force # 强制安装软件包,只有安装和升级可以强制执行

11.3.2 安装及依赖性

  • 安装

    # 1.RPM包在本地
    [root@ccc yum.repos.d]# mount /dev/sr0 /opt
    [root@ccc ~]# rpm -ivh /opt/Packages/zlib-devel-1.2.7-18.el7.x86_64.rpm # 2.RPM包来源于网络
    # 如果有报错 curl:(60) Peer's Certificate has expired҅将系统时间改正确重装即可
    [root@ccc ~]# rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-agent-4.0.0-2.el7.x86_64.rpm
  • 安装与依赖性

    # 例如安装httpd
    [root@ccc ~]# rpm -ivh /opt/Packages/httpd-2.4.6-93.el7.centos.x86_64.rpm
    错误:依赖检测失败:
    /etc/mime.types 被 httpd-2.4.6-93.el7.centos.x86_64 需要
    httpd-tools = 2.4.6-93.el7.centos 被 httpd-2.4.6-93.el7.centos.x86_64 需要
    libapr-1.so.0()(64bit) 被 httpd-2.4.6-93.el7.centos.x86_64 需要
    libaprutil-1.so.0()(64bit) 被 httpd-2.4.6-93.el7.centos.x86_64 需要 # 安装提示的库
    [root@ccc ~]# rpm -ivh /opt/Packages/httpd-tools-2.4.6-93.el7.centos.x86_64.rpm
    错误:依赖检测失败:
    libapr-1.so.0()(64bit) 被 httpd-tools-2.4.6-93.el7.centos.x86_64 需要
    libaprutil-1.so.0()(64bit)被httpd-tools-2.4.6-93.el7.centos.x86_64 需要
    [root@ccc ~]# rpm -ivh /opt/Packages/apr-1.4.8-5.el7.x86_64.rpm
    准备中... ################################# [100%]
    正在升级/安装...
    1:apr-1.4.8-5.el7 ################################# [100%]
    [root@ccc ~]# rpm -ivh /opt/Packages/apr-util-1.5.2-6.el7.x86_64.rpm
    准备中... ################################# [100%]
    正在升级/安装...
    1:apr-util-1.5.2-6.el7 ################################# [100%]
    [root@ccc ~]# rpm -ivh /opt/Packages/httpd-tools-2.4.6-93.el7.centos.x86_64.rpm
    准备中... ################################# [100%]
    正在升级/安装...
    1:httpd-tools-2.4.6-93.el7.centos ############################ [100%]
    [root@ccc ~]# yum search mime.types
    已加载插件:fastestmirror
    Loading mirror speeds from cached hostfile
    ======================================== 匹配:mime.types =========================================
    mailcap.noarch : Helper application and MIME type associations for file types
    perl-LWP-MediaTypes.noarch : Guess media type for a file or a URL
    [root@ccc ~]# rpm -ivh /opt/Packages/mailcap-2.1.41-2.el7.noarch.rpm
    准备中... ################################# [100%]
    正在升级/安装...
    1:mailcap-2.1.41-2.el7 ################################# [100%]
    [root@ccc ~]# rpm -ivh /opt/Packages/httpd-2.4.6-93.el7.centos.x86_64.rpm
    准备中... ################################# [100%]
    正在升级/安装...
    1:httpd-2.4.6-93.el7.cento ################################# [100%]

11.3.3 升级rpm包

# 两个版本不能共存
# -Uvp

11.4 yum命令

11.4.1 yum介绍

  • yum自动解决依赖关系

    yum(Yellow dog Updater,Modified)是一个在Fedora和RedHat及CentOS中的shell前端软件包管理器。

    基于RPM包管理,能够从指定的服务器自动下载RPM包并安装,可自动处理依赖关系,一次安装所有依赖的软件包。

  • 常见yum命令与配置文件

    [root@ccc ~]# rpm -q yum
    yum-3.4.3-167.el7.centos.noarch
    [root@ccc ~]# rpm -qc yum
    /etc/logrotate.d/yum
    /etc/yum.conf
    /etc/yum/version-groups.conf
  • yum命令常用选项

    # 仓库
    yum repolist # 查询可用仓库
    yum repolist all # 查看包括已启用或禁用的所有仓库状态
    # 关闭与启用仓库:本质都是在修改repo文件中enable的值0不启用1启用
    yum-config-manager --disable epel # 关闭仓库epel
    yum-config-manager --enable epel # 启用仓库epel # 查看
    yum list # 列出可用仓库中所有的软件包
    yum list | less
    yum grouplist # 列出可用仓库中的软件组
    yum provides /usr/sbin/ifconfig # 查询命令所属软件包,可不加路径只写命令名字
    # rpm -qf # 只可加路径 # 安装
    yum install 软件包名 -y # 安装软件-y非交互
    yum groupinstall 软件组名 -y # 安装软件组,同yum groups install 软件组名 -y # 卸载
    yum remove 软件包名 -y # 卸载软件包
    yum groupremove 软件组名 -y # 卸载软件组 # 重装
    yum reinstall 软件包名 -y # 不小心删除配置文件可以reinstall # 更新
    yum check-update # 检查可以更新的软件包
    yum update -y # 刚装完系统之后执行
    yum update 软件包 -y # 更新某个软件包 # 缓存
    yum makecache # 制作元数据缓存
    yum clean all # 清理元数据缓存
    vim /etc/yum.conf # 默认软件包下载安装后会自动删除,设置keepcache=1开启软件包缓存,缓存目录为配置文件中指定的cachedir
    # 注意点
    yum会以自己仓库中的repodata存储的依赖关系为准,有多个仓库就依次检索
    # 1.yum直接安装公网的rpm包,会自动查找当前系统上已有的仓库解决依赖关系
    yum install
    https://mirrors.aliyun.com/centos/7.6.1810/os/x86_64/Packages/samba-4.8.3-4.el7.x86_64.rpm
    # 2.yum直接安装本地的rpm包,会自动查找当前系统上已有的仓库解决依赖关系
    yum localinstall -y /mnt/Packages/httpd-2.4.6-88.el7.centos.x86_64.rpm

11.4.2 yum的历史记录

yum history  	       # 查看执行的yum命令历史记录
yum history info ID号 # 查看具体某一条yum命令的详细信息
yum history undo ID号 # 撤销执行过的历史命令

11.4.3 本地源(镜像文件作为yum源)

  • 先挂载

    [root@ccc ~]# mount /dev/cdrom /opt/
    [root@ccc ~]# mount /dev/sr0 /opt/
    [root@ccc ~]# mount -o loop /xxx.iso /opt
    # 查看光盘里的rpm包
    [root@ccc ~]# ls /opt/Packages/
  • 编辑repo文件

    [root@ccc ~]# cd /etc/yum.repos.d/
    [root@ccc yum.repos.d]# vim local.repo
    [root@ccc yum.repos.d]# cat local.repo
    [local]
    name="this is local repo"
    baseurl=file:///opt
    enabled=1
    gpgcheck=0
  • 检查可用仓库

    [root@ccc yum.repos.d]# yum repolist  	  # 查询可用仓库
    [root@ccc yum.repos.d]# yum repolist all # 查看所有仓库,包括禁用的
  • 安装、查询、卸载

    [root@ccc ~]# yum list 			 # 列出可用的软件包
    [root@ccc ~]# yum install vsftpd -y
    [root@ccc ~]# yum list vsftpd httpd
    [root@ccc ~]# yum remove vsftpd -y [root@ccc ~]# yum install glib* httpd -y
    [root@ccc ~]# yum provides vsftp # 查询某个软件(可未安装)是由那个rpm包提供 # yum reinstall
    [root@ccc ~]# rm -rf /etc/httpd/conf/httpd.conf
    [root@ccc ~]# yum reinstall httpd -y &> /dev/null
    [root@ccc ~]# ls /etc/httpd/conf/httpd.conf
    /etc/httpd/conf/httpd.conf # yum update
    [root@ccc ~]# yum -y update samba
    [root@ccc ~]# yum -y update
  • 软件包组安装、查询、卸载

    [root@ccc yum.repos.d]# yum groupinstall "开发工具" -y
    [root@ccc yum.repos.d]# yum groupremove "开发工具" -y

11.4.4 网络源(开源yum源)

  • 下载开源的yum头:

    例如阿里云的Base基础源

    wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

    例如163的Base基础源

    wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo

    例如红帽的epel扩展源

    # 可以直接下载
    [root@ccc ~]# curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
    # 也可以安装一个包来生成
    [root@ccc ~]# yum install epel-release -y

    例如nginx官网的软件包源

    # 进入nginx官网-->download-->Pre-Built Packages-->Stable and mainline-->
    # RHEL/CentOS-->编辑到本地 [root@ccc ~]# cat nginx.repo
    [nginx-stable]
    name=nginx stable repo
    baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
    gpgcheck=1
    enabled=1
    gpgkey=https://nginx.org/keys/nginx_signing.key
    module_hotfixes=true [nginx-mainline]
    name=nginx mainline repo
    baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
    gpgcheck=1
    enabled=0
    gpgkey=https://nginx.org/keys/nginx_signing.key
    module_hotfixes=true

    将CentOS系统默认的源 备份

    [root@ccc yum.repos.d]# cd /etc/yum.repos.d/
    [root@ccc yum.repos.d]# mkdir bak
    [root@ccc yum.repos.d]# mv *.repo bak
    [root@ccc yum.repos.d]# ls
    bak

11.4.5 自己制作本地yum源

  • 下载好一堆rpm包,相关依赖包也都存在,将所有rpm包都放在一个文件夹下/aaa

  • 安装工具createrepo

    [root@ccc ~]# yum install createrepo -y
  • 制作repodata

    [root@ccc ~]# createrepo /aaa/
  • 配置本地repo文件,只想/aaa

    [root@ccc ~]# vim /etc/yum.repos.d/soft.repo
    [soft]
    name=soft
    baseurl=file:///aaa
    enabled=1
    gpgcheck=0
  • yum元数据缓存

    指将yum仓库下的元数据缓存下来,下次安装时省去了检索的过程,安装速度加快

    [root@ccc ~]# yum clean all  # 清理缓存
    [root@ccc ~]# yum makecache # 制作缓存
  • yum软件包缓存

    开启软件包缓存后,从网络源下载安装完的软件包不再删除,都缓存到本地

    [root@ccc ~]# vim /etc/yum.conf
    [main]
    cachedir=/var/cache/yum/$basearch/$releasever # 指定软件安装包的缓存目录
    keepcache=1 # 设置为1
    debuglevel=2
    # 缓存目录为: /var/cache/yum/x86_64/7/
  • 基于软件包缓存可以做成自己的yum源,以此来控制各个服务的版本

    1、在测试环境中,在每个节点上都开启软件包缓存
    2、在测试环境中,安装相同版本的操作系统,安装完毕后统一执行yum update -y
    3、在测试环境中,部署完架构,测试完毕
    4、把测试环境中每台机器上缓存好的软件包采集到一个目录下
    [root@ccc ~]# find /var/cache/yum/x86_64/7/ -type f -name "*.rpm" | xargs -I {} mv {} /soft/
    5、用createrepo命令制作好依赖关系,即repodata数据库
    6、在线上环境部署时,用本地源,不轻易升级,不滥用yum源

11.4.6 自己制作yum源共享给别人

  • 服务端执行的操作

    # 1、环境准备
    [root@ccc ~]# systemctl stop firewalld
    [root@ccc ~]# systemctl disable firewalld
    [root@ccc ~]# setenforce 0
    setenforce: SELinux is disabled
    [root@ccc ~]# sed -i 's#^SELINUX=.*#SELINUX=disabled#g' /etc/selinux/config # 安装ftp服务
    [root@ccc ~]# yum install vsftpd -y
    [root@ccc ~]# systemctl start vsftpd
    [root@ccc ~]# systemctl status vsftpd # 查看状态,确保开启
    [root@ccc ~]# systemctl enable vsftpd # 采集关键包放到一个目录下
    [root@ccc ~]# mkdir /var/ftp/centos7
    [root@ccc ~]# mount /dev/sr0 /var/ftp/centos7 # 或拷贝
    [root@ccc ~]# mount /dev/sr0 /opt
    [root@ccc ~]# mkdir /var/ftp/centos7
    [root@ccc ~]# find /opt/Packages/ -type f -name "*.rpm" |xargs -I {} cp -rp{} /var/ftp/centos7/
  • 在客户端上执行的操作

    # 1、环境准备
    [root@ccc ~]# systemctl stop firewalld
    [root@ccc ~]# systemctl disable firewalld
    [root@ccc ~]# setenforce 0
    setenforce: SELinux is disabled
    [root@ccc ~]# sed -i 's#^SELINUX=.*#SELINUX=disabled#g' /etc/selinux/config
    [root@ccc ~]# ping -c 2 192.168.12.42 # ping服务器IP地址确保网络畅通 # 在客户端配置网络yum源
    [root@ccc ~]# cd /etc/yum.repos.d/
    [root@ccc ~]# mkdir bak
    [root@ccc ~]# mv *.repo bak/
    [root@ccc ~]# cat >> ftp.repo << EOF
    > [ftp_repo]
    > name = This is Ftp Share Repo
    > baseurl = ftp://192.168.12.42/centos7
    > enabled = 1
    > gpgcheck = 0
    > EOF
    # 客户端baseurl指向的文件夹子目录一级必须要有repodata数据库

11.5 源码包

11.5.1 预先安装编译安装依赖的库

  • 安装编译器

  • 安装解释器

    [root@ccc ~]# yum groupinstall -y "开发工具"
    [root@ccc ~]# yum -y install gcc gcc-c++ autoconf automake make
    [root@ccc ~]# yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel

11.5.2 官网下载源码包

  • 浏览器下载

  • 或者执行命令

    [root@ccc ~]# cd /root
    [root@ccc ~]# wget http://nginx.org/download/nginx-1.18.0.tar.gz

11.5.3 解压、编译、编译安装

  • 解压

    [root@ccc ~]# tar xvf nginx-1.18.0.tar.gz -C /tmp/
    [root@ccc ~]# cd /tmp/nginx-1.18.0/
  • 配置

    [root@ccc nginx-1.18.0]# ./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-stream --with-http_gzip_static_module --with-http_sub_module
    # 1、如果报错,先执行make clean all,再重新执行配置操作
    # 2、--prefix指定安装目录,/usr/local/nginx是安装目录
    # 3、带ssl stub_status模块 添加steam模块 -with-stream,能传输tcp协议
    # 4、http_stub_status_module 状态监控
    # 5、http_ssl_module 配置https
    # 6、stream 配置tcp的转发
    # 7、http_gzip_static_module 压缩
    # 8、http_sub_module 替换请求
  • 编译安装

    [root@ccc nginx-1.18.0]# make && make install
  • 清理安装包

    [root@ccc nginx-1.18.0]# rm -rf /tmp/nginx-1.18.0/
  • 将程序设定软链接,便于后续升级

    [root@ccc ~]# ln -s /usr/local/nginx/ /soft/nginx
    [root@ccc ~]# ll /soft/
    总用量 0
    lrwxrwxrwx 1 root root 17 11月 3 15:24 nginx -> /usr/local/nginx/
  • 启动测试

    [root@ccc nginx-1.18.0]# useradd www
    [root@ccc nginx-1.18.0]# /usr/local/nginx/sbin/nginx
    打开浏览器:输入服务器的IP地址,可以看到欢迎界面
  • 总结

    # ./configure --prefix=/usr/local/nginx
    1、指定安装路径,例如--prefix=DIR
    2、启用或禁用某项功能,例如--enable-ssl,--disable-filter --with-http_ssl_module
    3、和其他软件关联,例如--with-pcre=/root/pcre-8.31
    4、检查安装环境,例如是否有编辑器gcc,是否满足软件的依赖需求
    5、最终生成:MAkefile
    # make # 按Makefile文件编辑,可以使用-j 2指定两颗CPU编译
    # make install # 安装
    如果中途发生错误,多半是因为缺少必要的库的支持,先清理
    # make clean all # 清理以前编译后产生的*.o目标文件
    然后安装依赖库,重新执行三部曲

11Linux之软件包管理的更多相关文章

  1. BZOJ 4196: [Noi2015]软件包管理器 [树链剖分 DFS序]

    4196: [Noi2015]软件包管理器 Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 1352  Solved: 780[Submit][Stat ...

  2. Fedora 22中的RPM软件包管理工具

    Introduction The RPM Package Manager (RPM) is an open packaging system that runs on Fedora as well a ...

  3. Linux软件包管理

    Linux软件包管理 Linux软件包管理主要有2类:是二进制包管理.源码包管理 二进制包管理 主要有RPM和YUM两种 RPM包管理 安装 --ivh:-v ,-vv,-vvv显示的安装信息依次详细 ...

  4. Linux 软件包管理

    简介: linux中软件包的管理随着linux版本的不同而不同,一般RPM和DPKG是最常见的两类软件包管理工具.分别应用基于rpm软件包的linux发行版本和基于deb软件包的linux发行版本. ...

  5. [BZOJ4196][NOI2015]软件包管理器

    4196: [Noi2015]软件包管理器 Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 1040  Solved: 603[Submit][Stat ...

  6. linux软件包管理(下)

    在vi配置文件的编写的时候我们发现#并不能注释掉一行的信息 那什么才是linux标准的注释信息呢 查看软件对应的软件包命令 rpm –ap| grep vim 大多example是需要的事例文档  双 ...

  7. linux软件包管理(上)

    1.二进制包管理(RPM,yum) 2.源代码包的安装 3.脚本安装(shell或java) 4.Debian系列的linux软件包管理简介 在下载rmp包的时候注意检查硬件平台是否正确,如果硬件平台 ...

  8. Mac OSX上的软件包管理工具,brew 即 Homebrew

    brew 即 Homebrew,是Mac OSX上的软件包管理工具,能在Mac中方便的安装软件或者卸载软件, 只需要一个命令, 非常方便. brew类似ubuntu系统下的apt-get的功能. 安装 ...

  9. linux 学习6 软件包管理 资料链接

    软件包管理 这一章看得比较随意 先大概记点东西. RPM安装很繁琐,因为依赖性,手动安装太麻烦. ______我觉得直接yum在线安装就好了,很直接方便. 但是要特别注意的地方 在用yum升级或者卸载 ...

随机推荐

  1. day48 Pyhton 数据库Mysql 05

    一内容回顾 insert insert into 表名 (字段名)  values (值) insert into 表名 values (有多少个字段写多少个值) insert into 表名 val ...

  2. 【图论】USACO11JAN Roads and Planes G

    题目内容 洛谷链接 Farmer John正在一个新的销售区域对他的牛奶销售方案进行调查.他想把牛奶送到\(T\)个城镇 (\(1 <= T <= 25,000\)),编号为\(1\)到\ ...

  3. 列表的嵌套,元组和range()方法

    列表嵌套: 列表内嵌套列表 li = ['a','b',[1,2,3,["李白",'苏轼'],4,5],'c'] #取出"李白" print(li[2][3][ ...

  4. .Net Mvc学习——ASP.NET MVC中常用的ActionResult类型

    一.定义 MVC中ActionResult是Action的返回结果.ActionResult 有多个派生类,每个子类功能均不同,并不是所有的子类都需要返回视图View,有些直接返回流,有些返回字符串等 ...

  5. pytest-pyppeteer:在pytest中运行pyppeteer

    pytest-pyppeteer pytest-pyppeteer是我写的一个 pytest 插件,支持在 pytest 中运行pyppeteer,起因是为了解决工作中的一个测试需求,现在将其开源并做 ...

  6. js 实现吸顶效果 || 小程序的吸顶效果

    小程序吸顶效果 <!--index.wxml--> <view class="container"> <view class='outside-img ...

  7. 【转载】HPL与HPCG测试(一)

    来源:HPL与HPCG测试 (一) 一.HPL与HPCG 简介 1.HPL HPL 即 High Performance Linpack,它是针对现代并行计算集群的测试工具.用户不修改测试程序,通过调 ...

  8. css-设置背景透明度

    实现透明的css方法通常有以下3种方式,以下是不透明度都为80%的写法: css3的opacity:x,x 的取值从 0 到 1,如opacity: 0.8 兼容性:IE6.7.8不支持,IE9及以上 ...

  9. NB-IoT窄带物联网技术的四大优势

      NB-IoT是指窄带物联网(Narrow Band -Internet of Things)技术,是IoT领域一个新兴的技术,支持低功耗设备在广域网的蜂窝数据连接,也被叫作低功耗广域网(LPWA) ...

  10. NB-IoT的eDRX模式主要目的是什么

    传统的2.56秒寻呼间隔对UE的电量消耗较大,NB-IoT的eDRX模式主要目的就是支能够持更长周期的寻呼监听,从而达到省电的目的.而在下行数据发送频率小时,通过核心网和用户终端的协商配合,用户终端调 ...