Linux入门-9 软件管理基础(CentOS)
0. 源代码形式
- 绝大多数开源软件都是直接以源代码形式发布
- 源代码一般会被打包成
tar.gz的归档压缩文件 - 程序源代码需要编译成为二进制形式之后才能够运行使用
- 源代码级别编译流程:
./configure检查编译环境、相关库文件以及配置参数并生成makefilemake对源代码进行编译,生成可执行文件make install将生成的可执行文件安装到计算机中
- 源代码形式的软件使用起来较为麻烦,但是兼容性及可控制性较好
- 开源软件一般都会大量使用其他开源软件的功能,所以开源软件会有大量的依赖关系
1. RPM软件包管理
- 源代码形式的缺点:操作复杂、编译时间较长、极容易出现错误
- 源代码形式的优点:适用所有系统、可定制
- 为了方便使用,Erik Troan和Marc Ewing开发了RPM(Readhat Package Manager)
- RPM通过将源代码基于特定平台系统编译为可执行文件,并保存依赖关系,从而简化开源软件的安装管理
- RPM设计目标如下:
- 使用简单
- 使用单一软件包格式文件发布(.rpm)
- 可升级
- 追踪软件依赖关系
- 基本信息查询
- 软件验证功能
- 支持多平台
RPM
- 命名规范:
name-version.os.platform.rpm - RPM基本命令:
- 安装:
rpm -i package.rpm - 卸载:
rpm -e package - 升级:
rpm -U package.rpm - 在线安装:
rpm -ivh http://www.xxx.com/package.rpm -v显示详细信息-h显示进度条
- 安装:
RPM查询
rpm -qa列出所有安装的rpm软件rpm -qf filename查询目标文件属于哪个rpm包rpm -qi packagename查询指定已安装rpm软件信息rpm -ql packagename查询指定已安装rpm软件包含的文件rpm -qip package.rpm查询rpm文件的信息rpm -qlp package.rpm查询rpm文件包含的文件
RPM验证
- 出于安全考虑
- 一般使用非对称加密算法,所以需要一个密钥
- 导入密钥:
rpm --import RPM-GPG-KEY-CentOS-6 - 验证rpm文件:
rpm -K package.rpm - 验证已安装软件:
rpm -V software
2. YUM软件管理
YUM(Yellowdog Updater, Modified)是一个RPM的前端程序,而RPM是一种软件封装形式,它主要用来自动解决RPM的依赖关系问题。其他特点如下:
- 自动解决依赖关系
- 可以对RPM进行分组,并基于组进行安装操作
- 引入仓库概念,支持多个仓库
- 配置简单
YUM的仓库(repo)用来存放所有现有的rpm软件包,当使用yum安装一个rpm软件的时候,如果存在依赖关系,会自动在仓库中查找依赖软件并安装。
仓库可以是本地的,也可以通过HTTP, FTP或NFS形式使用集中的、统一的网络仓库。
- YUM使用仓库保存管理rpm包,仓库的配置文件保存在
/etc/yum.repos.d/目录中,格式如下:
[LinuxCast]
name = This is LinuxCast.net rpm soft repo
baseurl = http://www.linuxcast.net/yum/centos/6/i386/rpms/
enabled = 1
gpgcheck = 1
- 仓库可以使用
file, http, ftp, nfs方式 - yum配置文件必须以
.repo结尾 - 一个配置文件内可以保存多个仓库的配置信息
/etc/yum.repos.d/目录下可以存在多个配置文件
YUM基本命令
yum installyum removeyum update
YUM查询
yum search keywordyum list (all|installed|recent|updates)yum info packagenameyum whatprovides filename查询文件包含在哪个软件包中
创建YUM仓库
......
Linux入门-9 软件管理基础(CentOS)的更多相关文章
- 【Linux】apt软件管理和远程登录
镜像下载.域名解析.时间同步请点击 阿里云开源镜像站 1. apt 介绍 apt 是 Advanced Packaging Tool 的简称,是一款安装包管理工具.在 Ubuntu 下,可以使用 ap ...
- Linux进阶之软件管理
本节内容 一.rpm:管理linux软件程序的 特点:安装方便 不能解决依赖关系 1.安装软件: -i: -v: -h: rpm -ivh 包名 2.卸载软件 -e: 清楚 rpm -e 程序名 3. ...
- Linux系统管理_软件管理
RPM命令 #管理.rpm文件 #RPM包软件命名规则:name-version-releases.arch.rpm rpm -ivh pkgname #安装软件包 rpm -ivh --test p ...
- Linux入门基础(七):Linux软件管理基础
源代码形式 绝大多数开源软件都是直接以源代码形式发布 源代码一般会被打包成tar.gz的归档压缩文件 程序源代码需要编译成为二进制形式之后才能够运行 源代码基本编译流程 : ./configure 检 ...
- Linux下的软件管理
一.软件包管理简介 1源码包(脚本安装) ①.特点: a.开源 ,可以修改 b.自由选择所需功能 ...
- Linux之yum软件管理
YUM yum = Yellow dog Updater, Modified主要功能是更方便的添加/删除/更新RPM包.它能自动解决包的倚赖性问题. 它能便于管理大量系统的更新问题 yum特点 *可以 ...
- linux入门之用户管理
用户管理 添加用户 以root用户执行 adduser 或 useradd [new_account] -u UID -d 指定家目录 -g GID 指定一个基本组ID -G指定一个附加组 ...
- 【苏勇老师Linux 入门笔记】网络基础
IP 地址 IP 编制时一个双层编制方案,一个 IP 地址标示一个主机 (或一个网卡接口). 一个 IP 地址分为两个部分:网络部分(所属区域)和主机部分(标示区域中的哪个主机).IPv4 共32位, ...
- Linux之apt-get软件管理
apt-get 用Linux apt-get命令的第一步就是引入必需的软件库,Debian的软件库也就是所有Debian软件包的集合,它们存在互联网上的一些公共站点上.把它们的地址加入,apt-get ...
随机推荐
- 安装php readline扩展报错 Please reinstall libedit
现象:configure: error: Please reinstall libedit – I cannot find readline.h解决办法:安装 Editline Library (li ...
- 【数组】Unique Paths
题目: A robot is located at the top-left corner of a m x n grid (marked 'Start' in the diagram below). ...
- PTA (Advanced Level) 1013 Battle Over Cities
Battle Over Cities It is vitally important to have all the cities connected by highways in a war. If ...
- 创建.NET Core程序的Nuget Package
最近在看ASP.NET Core MVC的教材,几乎每章开始都要重复从Empty project开始创建一个ASP.NET Core的项目,然后手动修改project.json,增加经典三目录(Mod ...
- Tomcat源码分析——Session管理分析(下)
前言 在<TOMCAT源码分析——SESSION管理分析(上)>一文中我介绍了Session.Session管理器,还以StandardManager为例介绍了Session管理器的初始化 ...
- cordova程序加载pdf文件的2种方法(ios/android)
前言 公司目前的前端架构是微信端由vue全家桶负责h5网站的单页应用,android端和ios端则选择cordova打包成apk和app.其中,有一个业务逻辑是点击某个链接进入pdf的展示,h5的方案 ...
- 浅谈.net MVC
大学毕业对MVC的概念还不是很清晰,总觉得MVC是和三层一样的,是同一级别的架构.其实不然,三层架构是:BLL(业务逻辑层),DAL(数据库访问层),UI(页面显示层),而MVC仅仅是属于三层架构UI ...
- C# 之文件拖拽和pixturBox缩放与拖拽
文件拖拽: 效果:将一个文件拖拽到窗体的某个控件时,将该控件的路径显示在该控件上,只要拿到了路径自然可以读取文件中的内容了. 将一个控件的属性AllowDrop设置为true,然后添加DragDrop ...
- NET Core 应用程序 IIS 运行报错 502.3-Gateway
转自:http://www.zmland.com/forum.php?mod=viewthread&tid=941 将 NET Core 应用程序部署在 IIS 环境,默认配置下,如果任务执行 ...
- 阿里云CentOS7 64位安装jdk8和mysql5.6.43及远程连接mysql
安装mysql 先查看系统是否安装有mysql rpm -qa | grep mysql 返回空值说明没有,有的话先删除 yum remove mysql 下载mysql的repo源 wget htt ...