源代码形式

  • 绝大多数开源软件都是直接以源代码形式发布
  • 源代码一般会被打包成tar.gz的归档压缩文件
  • 程序源代码需要编译成为二进制形式之后才能够运行
  • 源代码基本编译流程 :
    • ./configure 检测编译环境、相关库文件以及配置参数并生成makefile
    • make 对源代码进行编译,生成可执行文件
    • make install 对生成的可执行文件安装到计算机中
  • 源代码形式的软件使用起来较为麻烦,但是兼容性及可控制性较好
  • 开源软件一般都会大量使用其他开源软件的功能,所以开源软件会有大量的依赖关系
  • 源代码形式的缺点:操作复杂、编译时间长、极容易出现错误
  • 源代码形式的优点:使用所有系统、可定制

RPM

RPM通过将源代码基于特定平台系统编译为可执行文件,并保存依赖关系,来简化源软件的安装管理

RPM设计目标

  • 使用简单
  • 使用单一软件包格式文件发布(.rpm文件)
  • 可升级
  • 追踪软件依赖关系
  • 基本信息查询
  • 软件验证功能
  • 支持多平台

RPM命名规范

linuxxxx-1.0.1-30.el6.i686.rpm
软件名 版本号 系统和平台

RPM基础命令

  • 安装软件:rpm -i software.rpm
  • 卸载软件:rpm -e software
  • 升级形式安装: rpm -U software-new.rpm
  • rpm支持通过http、ftp协议安装软件
  • -v 显示详细信息
  • -h 限制进度条

RPM查询

  • rpm -qa 列出所有安装的rpm软件

  • rpm -qf fileName 查询目标文件属于哪个rpm包

  • rpm -qi packageName 查询指定已安装rpm软件的信息

  • rpm -ql packageName 查询指定已安装rpm软件包含的文件

  • rpm -qip software.rpm 未安装的rpm文件的信息

  • rpm -qlp software.rpm 未安装的rpm文件包含的文件

    (加一个p就是查看未安装的了)

RPM验证

软件在传播的过程中可能会被恶意修改,所以为了安全,需要对软件进行验证

验证一般使用非对称加密算法,所以需要一个秘钥

导入秘钥:

​ rpm --import xxx-xxx-xxx-xxx

验证rpm文件

​ rpm -K software.rpm

验证已安装的软件

​ rpm -V software

YUM

rpm软件包形式管理软件虽然方便,但是需要手工解决软件包的依赖关系,很多时候安装一个软件需要首先安装1

个或多个(有时多达上百个)其他软件,手工解决时很复杂。使用yum可以解决这个问题。

YUM(Yellowdog Updater Modified)是一个RPM的前端程序,主要目的是设计用来自动解决RPM的依赖关系问

题。其特点如下:

  • 自动解决依赖关系
  • 可以对RPM进行分组,并基于组进
  • 行安装操作
  • 引入仓库概念,支持多个仓库
  • 配置简单

YUM仓库

YUM引入了仓库(repo)的概念、仓库用来存放所有现有的rpm软件包,当使用yum安装一个rpm软件时候,如果存在依赖关系,会自动在仓库中查找依赖软件并安装。

  • 仓库可以是本地的,也可以通过HTTP、FTP或NFS形式使用集中的、统一的网络仓库(如仓库中没有需要的依赖关系软件包,yum也无法解决软件依赖问题)
  • yum使用仓库保存管理rpm软件包,仓库的配置文件保存在/etc/yumrepos.d/目录下,格式如下:
  • 仓库可以使用file,http,ftp,nfs方式
  • yum配置文件必须以.repo结尾
  • 一个配置文件内可以保存多个仓库的配置信息
  • /etc/yum.repos.d/目录下可以存在多个配置文件

YUM查询

通过以下命令使用yum进行查询操作:

  • yum search keyword 搜索

  • yum list (all | installed | recent | updates) 列出全部、安装的、最近的、软件更新

  • yum info packagename 显示指定软件的信息

  • yum whatprovides filename 查询哪个rpm软件包含目标文件

创建YUM仓库

可以通过以下方式手工创建yum仓库:

  1. 将所有rpm文件拷贝到一个文件夹中

  2. 通过rpm命令手工安装createrepo软件

  3. 运行命令createrepo -v /rpm-directory

  4. 如果有分组信息,则在运行命令的时候使用-g参数指定分组文件

    createrepo -g /tmp/*compsxml /rpm-directory

    CentOS/RHEL的分组信息保存在光盘repodata/目录下,文件名以comps.xml结尾的xml文件

创建好之后本机可以通过file方式直接使用,如果需要作为对外的YUM仓库服务器,可以通过HTTP,FTP或NFS协议共享出去

YUM CACHE

yum为了提高速度会通过缓存很多信息,但是有时候缓存会造成一些故障,可以通过以下命令来清除缓存:

​ yum clean all

每次运行安装或查询类命令会重建yum缓存

Linux入门基础(七):Linux软件管理基础的更多相关文章

  1. linux入门教程(七) linux系统用户以及用户组管理

    关于这部分内容,笔者在日常的linux系统管理工作中用到的并不多,但这并不代表该内容不重要.毕竟linux系统是一个多用户的系统,每个账号都干什么用,你必须了如指掌.因为这涉及到一个安全的问题. [认 ...

  2. Linux入门-9 软件管理基础(CentOS)

    0. 源代码形式 1. RPM软件包管理 RPM RPM查询 RPM验证 2. YUM软件管理 YUM基本命令 YUM查询 创建YUM仓库 0. 源代码形式 绝大多数开源软件都是直接以源代码形式发布 ...

  3. 零基础Linux入门之《Linux就该这么学》

    本书是由全国多名红帽架构师(RHCA)基于最新Linux系统共同编写的高质量Linux技术自学教程,极其适合用于Linux技术入门教程或讲课辅助教材,目前是国内最值得去读的Linux教材,也是最有价值 ...

  4. 3,linux入门到上手-文件权限管理与配置

    linux入门-文件权限管理与配置 一.关于linux的操作命令一般格式如下: 1,一行指令中第一个输入的部分绝对是"指令(command)"或"可可执行文件案(例如批次 ...

  5. lilybbs-faq - linux入门以及百合 Linux 版精华区导读

    QUESTIONS 问题与解答 不需要任何命令的简单介绍 历史 (APUE 提到了1990年之前的unix历史,还有各种标准 ANSI ISO IEEE posix xpg3.... 但是linux ...

  6. linux入门教程(五) Linux系统的远程登录

    首先要说一下,该部分内容对于linux初学者来讲并不是特别重要的,可以先跳过该章节,先学下一章,等学完后再回来看这一章. Linux大多应用于服务器,而服务器不可能像PC一样放在办公室,它们是放在ID ...

  7. Linux文件管理浅析(一) _磁盘管理基础

    本文主要讨论一些磁盘管理相关的基本概念,同时也是这一系列文章的第一篇,就是下图中的最下一层的一部分. 在Linux中,SATA/USB/SCSI接口都是使用SCSI模块实现的,所以使用这些接口的硬盘在 ...

  8. Linux下实现高可用软件-Keepalived基础知识梳理

    Keepalived介绍 Keepalived软件起初是专门为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实现高可用的VRRP功能.因此,Keepali ...

  9. Linux入门进阶第二天——软件安装管理(上)

    一.大纲介绍 这里介绍的仅仅是两大家族之一的RPM,关于Debian家族的DPKG,请参考:http://justcoding.iteye.com/blog/1937171 二.简介 软件包分类: 源 ...

随机推荐

  1. Notepad++调用python

    ***首先确保在cmd下能直接运行python*** (博主的环境:win10 下2和3共存) 接下来进入主题,用Notepad++打开py文件,然后按 F5 键弹出运行窗口,输入以下内容: pyth ...

  2. setnx redis

    使用锁 1)setnx(lockkey, 当前时间+过期超时时间) ,如果返回1,则获取锁成功:如果返回0则没有获取到锁,转向2.2.)get(lockkey)获取值oldExpireTime ,并将 ...

  3. python第十四课--排序及自定义函数之案例一:选择排序

    案例一:选择排序使用选择排序的思想实现列表数据的升序排序 lt=[45,12,56,-32,-3,44,75,-22,100] length=len(lt) # print('排序前:'+str(lt ...

  4. 禁用wps的云文档,恢复到清爽的状态

    wps安装完成后,默认会开启云文档功能,每次打开表格.文档都会显示乱七八糟的一些东西,很麻烦 不得已只好手动为wps“瘦身”: 在wps表格或者文档的快捷方式上右键,选择打开文件所在位置 找到一个最新 ...

  5. 1927. [SDOI2010]星际竞速【费用流】

    Description 10年一度的银河系赛车大赛又要开始了.作为全银河最盛大的活动之一,夺得这个项目的冠军无疑是很多人的 梦想,来自杰森座α星的悠悠也是其中之一.赛车大赛的赛场由N颗行星和M条双向星 ...

  6. 【bzoj 3252】攻略

    题意 我们想到一个贪心,就是每次找到根路径前缀和最大的一个点,取走这条路径,同时把这条路径上的点权变成\(0\) 正确性显然 进一步发现我们需要从树上选择\(m\)条链使得链的总和最大 于是我们考虑换 ...

  7. virtualbox+vagrant学习-3-Vagrant Share-2-HTTP Sharing

    HTTP Sharing Vagrant Share可以创建一个可公开访问的URL端点来访问在Vagrant环境中运行的HTTP服务器.这被称为“HTTP共享”,在使用Vagrant Share时默认 ...

  8. python面试题库——1Python基础篇

    第一部分 Python基础篇(80题) 为什么学习Python? 语言本身简洁,优美,功能超级强大,跨平台,从桌面应用,web开发,自动化测试运维,爬虫,人工智能,大数据处理都能做 Python和Ja ...

  9. Python自动化之logging模块

    Logging模块构成 主要分为四个部分: Loggers:提供应用程序直接使用的接口 Handlers:将Loggers产生的日志传到指定位置 Filters:对输出日志进行过滤 Formatter ...

  10. windows同时安装python2和python3

    系统之前安装了python2.7,现在准备装个python3.6 1:首先下载一个python3.6适合windows32位的包python-3.6.5.exe 然后直接默认双击安装,安装的时候勾选a ...