热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

7.17.9Linux软件包安装与卸载

软件报的分类:*.zip*.tarrpm二进制包tar源码包rpm概述:RPM是RPMPa

软件报的分类:*.zip *.tar rpm二进制包 tar源码包

rpm概述

RPM是RPM Package Manager(RPM软件包管理器)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括OpenLinux、SUSE以及Turbo Linux等Linux的分发版本都有采用,可以算是公认的行业标准了。

rpm包获取方式:

1、CentOS系统镜像光盘

2、网站 rpmfind.net

3、去对应软件的官网下载,例如mysql、NGINX等等

rpm 的格式说明:

ls zsh-5.0.2-28.el7.x86_64.rpm

软件名:zsh

主版本号:5

此版本号:0

修订号:2

第几次发布版本:28

操作系统版本:el7

软件包的位数:x86_64.rpm

基于REDHAT的系统有几种可用的前端工具:

  1. yum       redhat  centos   fedora
  2. urpm      Mandriva
  3. zypper   suse  opensuse

rpm 使用时,什么时候使用软件包全名?什么时候使用软件包名?

1、在安装和更新升级时候使用全名

2、对已经安装过的软件包进行操作时,比如查找已经安装的某个包,卸载包等 ,使用包名。它默认是去目录/var/lib/rpm下面进行搜索。 当一个 rpm 包安装到系统上之后,安装信息通常会保存在本地的 /var/lib/rpm/目录下。

RPM工具操作:安装、查询、验证、更新、删除

[安装]

语法格式:rpm [参数] 软件包

参数:

-i  install,安装软件包

-v 显示附加信息,提供更多详细信息

-V 效验,对已经安装的软件进行效验

-h --hash  安装时输出####标记

[查询]

语法:rpm -q(query) 【常用参数】 [软件包名]

参数:

-a (all)  查询所有已经安装的软件包

-f(file) 系统文件名(查询系统文件所属那个软件包),反向查询

-i  显示已经安装的rpm软件包信息,后面直接跟包名

-l(list) 查询软件包中文件安装的位置

-p  查询未安装软件包的相关信息,后面跟软件的命名

-R  查询软件包的依赖性

【验证】

rpm -V 包名

rpm -Vf 文件路径

注:如果出现的全是点,表示测试通过,出现下面的字符代表某测试的失败:

5 — MD5 校验和是否改变,你也看成文件内容是否改变

S — 文件长度,大小是否改变

L — 符号链接,文件路径是否改变

T — 文件修改日期是否改变

D — 设备

U — 用户,文件的属主

G — 用户组

M — 模式 (包含许可和文件类型)

? — 不可读文件

      再后面的c 文件名,它表示的是文件类型

c 配置文件

d 普通文件

g不该出现的文件,意思就是这个文件不该被这个包所包含

l 授权文件(license file)

     r 描述文件

【卸载与升级】

卸载:rpm -e(erase) 包名  (参数 --nodeps 忽略依赖,建议在卸载不要用rpm去卸载有依赖关系的包,建议用yum)

例如:rpm -e --nodeps lrzsz

升级:rpm -Uvh 软件包(升级时会有一些依赖包需要解决,一般使用yum update 包名 进行升级)

例如:rpm -Uvh /mnt/Packages/lrzsz-0.12.20-36.el7.x86_64.rpm

yum 的使用:

yum 常用 功能 语法:

yum install [软件包名]    安装软件包

yum search [软件包名]  yum 搜索软件包

yum list 显示所有已经安装及可安装的软件包

yum list [软件包名]  显示指定的软件包的安装情况。

yum remove [软件包名]  删除软件包

yum erase [软件包名]  删除软件包

yum update  内核升级 或者软件 更新

yum update [软件包名] 更新指定 软件包

yum check-update  检查可更新的软件包

yum info [软件包名] 显示安装包信息

yum provides 列出软件包提供哪些文件

yum provides "* /rz" 列出rz 命令由哪个软件包提供

yum grouplist  查询可以用goupinstall 安装的组名称

yum groupinstall "Chinese Support"  安装中文支持

yum groupremove "Chinese Support" 删除程序组Chinese Support

yum deplist [软件包名] 查看程序的依赖情况

yum clean packages  清除缓存目录下的软件包

yum clean header 清除缓存目录下的headers

yum clean all  清除 缓存目录下的软件包 及 旧的 headers

YUM 构建源:

本地源(基于ISO镜像光盘):

① 将系统镜像 加载至 虚拟机中 并进行 挂载:mount /dev/cdrom /mnt

② 用 命令blkid  | grep "/dev/sr0" 查看 光盘的UUID 及 文件类型;如下图

并进行在 /etc/rc.local 追加如下信息可以实现自动挂载:echo "mount /dev/cdrom /mnt" >> /etc/rc.local

也可以在 /etc/fstabz 中追加如下信息实现自动挂载:

echo "UUID=2018-05-03-20-55-23-00      /mnt      iso9660    defaults   0  0" >> /etc/fstab (测试在/etc/fstab 中写 UUID 比较 /dev/cdrom 重启 不会 出现系统异常错误!)

③  vim /etc/yum.repos.d/centos-base.repo,其内容如下:

      [centos-base]                                               yum 源名称,在服务器上有唯一性,用来区分不同的yum源

      name=centos-base                                      yum 源描述信息

      baseurl=file:///mnt                                        yum 源的路径(方式:FTP、HTTP、本地光盘挂载方式)

      enable=1                                                      表示是否启用这个yum 源(1表示启用,0表示禁用)

      gpgcheck=0                                                 表示用是否对rpm进行效验(1表示进行效验,0表示比进行效验)

     gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7     指定的效验秘钥及公钥文件地址

④  然后进行执行 清空缓存 命令 与 列出 yum源加载的rpm包:yum clean all && yum list

基于网络yum 源:

① 下载 yum 文件,使用命令wget:

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

②  然后进行执行 清空缓存 命令 与 列出 yum源加载的rpm包:yum clean all && yum list

③  如果 下载下来的 yum 源文件 不能正常使用,可以进行如下操作解决:

     a、cat /etc/centos-release

     b、sed -i  's/$releasever/7.5.1804/g' /etc/yum.repos.d/centos-7.repo

     c、yum clean all && yum list

yum 工具 只下载 rpm 软件包:

yum install -y [软件包名]  --downloadonly

yum install -y [软件包名] --downloadony --downloaddir=路径

yum reinstall -y [软件包名] --downloadony --downloaddir=路径

源码包安装:

① 下载 所需 的 软件 源码包

②  解压缩 下载下来的 源码包

③  进入 源码包解压缩后的目录,执行 ./configure 进行预编译

④  使用 make 命令 进行编译

⑤  使用 make install 进行 安装

注意:

a. 指定安装路径,例如 --prefix=/usr/local/nginx
b. 启用或禁用某项功能, 例如 --enable-ssl, --disable-filter --with-http_ssl_module
c. 和其它软件关联,例如--with-pcre
d. 检查安装环境,例如是否有编译器gcc,是否满足软件的依赖需求

make  -j 4   #按Makefile文件编译,可以使用-j 4指定4核心CPU编译,提升速度

make install  #按Makefile定义的文件路径安装

make clean //清除上次的make命令所产生的object和Makefile文件。(使用场景:当需要重新执行configure时,需要执行make clean)


版权声明:本文为hx_7_8_9原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/hx_7_8_9/article/details/83188661
推荐阅读
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 在Kubernetes上部署JupyterHub的步骤和实验依赖
    本文介绍了在Kubernetes上部署JupyterHub的步骤和实验所需的依赖,包括安装Docker和K8s,使用kubeadm进行安装,以及更新下载的镜像等。 ... [详细]
  • 安装mysqlclient失败解决办法
    本文介绍了在MAC系统中,使用django使用mysql数据库报错的解决办法。通过源码安装mysqlclient或将mysql_config添加到系统环境变量中,可以解决安装mysqlclient失败的问题。同时,还介绍了查看mysql安装路径和使配置文件生效的方法。 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • 本文介绍了使用PHP实现断点续传乱序合并文件的方法和源码。由于网络原因,文件需要分割成多个部分发送,因此无法按顺序接收。文章中提供了merge2.php的源码,通过使用shuffle函数打乱文件读取顺序,实现了乱序合并文件的功能。同时,还介绍了filesize、glob、unlink、fopen等相关函数的使用。阅读本文可以了解如何使用PHP实现断点续传乱序合并文件的具体步骤。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 本文介绍了关于apache、phpmyadmin、mysql、php、emacs、path等知识点,以及如何搭建php环境。文章提供了详细的安装步骤和所需软件列表,希望能帮助读者解决与LAMP相关的技术问题。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • Windows 7 部署工具DISM学习(二)添加补丁的步骤详解
    本文详细介绍了在Windows 7系统中使用部署工具DISM添加补丁的步骤。首先需要将光驱中的安装文件复制到指定文件夹,并进行挂载。然后将需要的MSU补丁解压并集成到系统中。文章给出了具体的命令和操作步骤,帮助读者完成补丁的添加过程。 ... [详细]
  • 本文讨论了在openwrt-17.01版本中,mt7628设备上初始化启动时eth0的mac地址总是随机生成的问题。每次随机生成的eth0的mac地址都会写到/sys/class/net/eth0/address目录下,而openwrt-17.01原版的SDK会根据随机生成的eth0的mac地址再生成eth0.1、eth0.2等,生成后的mac地址会保存在/etc/config/network下。 ... [详细]
  • r2dbc配置多数据源
    R2dbc配置多数据源问题根据官网配置r2dbc连接mysql多数据源所遇到的问题pom配置可以参考官网,不过我这样配置会报错我并没有这样配置将以下内容添加到pom.xml文件d ... [详细]
  • 本文介绍了如何使用Express App提供静态文件,同时提到了一些不需要使用的文件,如package.json和/.ssh/known_hosts,并解释了为什么app.get('*')无法捕获所有请求以及为什么app.use(express.static(__dirname))可能会提供不需要的文件。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
author-avatar
无棱9931
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有