【linux之软件安装,rpm,yum】
一、软件管理
静态库 动态库
静态库:在程序编译时会被连接到目标代码中,程序运行时将不再需要该静态库
动态库:在程序编译时并不会被连接到目标代码中,而是在程序运行时才被载入。
链接是程序调用库的过程。
静态链接库 动态链接库
静态链接库:把库文件中用到的函数代码直接链接到目标程序,程序运行的时候不再需要它的库文件。
动态链接库:把调用的函数所在的文件模块(DLL)和调用函数在文件中的位置等信息链接进目标程序,程序运行时再从DLL中寻找相应的函数代码, 此需要DLL文件的支持。
编程-->编译-->运行-->链接库
一般编译好的程序有哪些组成部分?
1.可执行文件(二进制文件)
存放地点:/bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin
find / -name *bin -type d
/usr/share/locale/bin
/usr/local/bin
/usr/local/sbin
/usr/lib/pm-utils/bin
/usr/lib/jvm/java-1.6.-openjdk-1.6.0.0/jre/bin
/usr/bin
/usr/sbin
/bin
/sbin
通过编译源代码安装的软件,通常都放入/usr/local/SOFTWORE_NAME/
/usr/local/SOFTWORE_NAME/
bin,sbin,lib,man,etc
完成以下任意操作,直接当命令执行
ln -s /usr/local/SOFTWORE_NAME/mysoft /bin/mysoft
PATH=$PATH:/usr/local/SOFTWORE_NAME/bin
2、头文件和库文件
头文件存放在 /usr/include
库文件 /lib /usr/lib /usr/local/lib /lib64
ldconfig -v 查询当前系统中已经加载的库
在 /etc/ld.so.conf.d/下创建一个以.conf为后缀的文件,然后在文件里添加路径
或者 做软链接到/lib
头文件链接到/usr/include
3.配置文件(提供变量)
/etc /usr/etc /usr/local/etc
4.帮助文件
/ussr/share/man
man的配置文件:/etc/man.config
二、rpm及yum
rpm实现的功能:
1.安装软件、查询、升级、校验、卸载
2.创建、维护、清除数据库及其中的记录
3.重建数据库
4.软件直接依赖关系的提示(依赖地狱)
yum:yellowdog update modifier 前台管理工具
帮助rpm解决依赖地狱
rpmfind.net 查找下载rpm安装包
tree -1.5.-.el6.i686.rpm
tree:软件名称
1.5.-:
:主版本号
:次版本号
:修订版本号
-:修订次数
el6:依赖的操作系统的发行版本(RHEL6)
i686:硬件平台
x86_64
sparc
ppc:apple
noarch:不区分平台,任何平台都可以用
rpm
- 1.安装模式
-i:启用安装模式
-v:显示安装的软件名
-h:显示安装进度
--replacpkgs:安装软件之前不再检查是否已安装
--nodeps:安装软件前不再检查依赖关系
--force:强制安装
①先查看软件包的头部信息,以确认签名是否有效
②准备阶段
.检查软件包是否已经安装
.检查软件包是否存在依赖关系
.备份之前安装过的软件所包含的文件,*.rpmsave
.如果有,则运行相应的安装脚本
③安装
④清理安装过程中产生的临时文件
⑤更新数据库
mkdir /mnt/cdrom
mount -r /dev/cdrom /mnt/cdrom
rpm -ivh /mnt/cdrom/Packages/tree-1.5.3-2.el6.i686.rpm
- 2.查询模式
-q:开启查询模式的开关
-a:查询所有安装过的软件包
-f:查看文件是哪个软件包安装的
-p:指定软件包
-l:列举包中的文件
-i|--info 软件名:查看软件信息
rpm -qi dhcp
- 3.升级模式
-U:升级软件之前,如果已安装则升级,否则全新安装
-F:只能完成升级安装
--oldpackage:降级
- 4.校验模式
-V:校验,检查软件包和已安装文件的状态是否有变化
rpm -V
-K 软件包:检查,来源是否可靠,签名是否可以认证
--import:导入官方的公钥文件
/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
- 5.卸载模式
-e 软件名:卸载模式的开关
--nodeps:卸载前不考虑依赖关系
- 6.重新构建数据库
--rebuilddb:重新构建
--initdb:初始化创建数据库
单向加密:用特定的方法对某个数据进行特征值(电子指纹)计算
先用单向加密对软件包抽象特征值,每个软件包都有唯一的特征值,再用私钥加密特征值,客户端用获得的公钥解密特征值,再用同样的
单向加密算法,重新计算软件的特征值
单向加密确定完整性
校验机制确定私密性
readlink 获取链接文件的路径.
yum
语法格式:
yum [options] [command] [package..] options:普通选项
-y:所有的yum问题都以“yes”作为回答的内容
--nogpgcheck:不检查数据签名
command:
install
update
remove|erase
list
groupinstall
yum有元数据数据库 metadata--*.xml
软件仓库:repository
ls /mnt/cdrom/Server/repodata
createrepo:创建软件元数据库
配置yum源的软件仓库:/etc/yum.repos.d/*.repo
vim /etc/yum.repos.d/local.repo (同一个yum源可以写很多个仓库)
[localrepo] #仓库名
name=local cdrom repo
baseurl=file:///mnt/cdrom #file协议是本地文件查找协议
enabled= #开启软件仓库
gpgcheck= #是否检查数字签名 [ftp]
name=ftp repository
baseurl=ftp://172.16.0.1/Server #必须有repodate文件
enabled=
gpgcheck=
全局配置文件:/etc/yum.conf
ls /var/cache/yum/i386/6Server/localrepo/ 缓存目录
yum -y install createrepo
【linux之软件安装,rpm,yum】的更多相关文章
- 第五部分 linux 软件安装RPM SRPM与YUM
第五部分 linux 软件安装RPM SRPM与YUM 软件管理员简介 RPM与DPKG两大主流 rpm: redhat centos suse 命令:yum ...
- Linux学习笔记(13)linux软件安装rpm与yum--理论篇
该文章linux知识点如下 1.linux中 软件包介绍 2.linux源码软件安装 3.linux二进制软件安装 4.linux rpm软件包管理 5.linux yum软件包管理 1.linux中 ...
- linux下软件安装的几种方式
linux下软件安装的几种方式(主要有源码安装, rpm安装, yum安装). 一:源码安装 几乎所有的开源软件都支持在Linux下运行,而这些软件一般都以源码形式发放,只需要Linux安装了gcc. ...
- Linux下软件安装的四种方式
一.源码安装 步骤: 下载,解压源码(常见的源码打包格式:.tar.gz/.tar.bz2); 可以直接下载源码再上传至linux服务器,或者在联网状态下,直接通过wget等命令获取源码安装包;源码解 ...
- linux初学者-软件安装与管理篇
linux初学者-软件安装与管理篇 在linux的学习和工作中需要安装许多的软件.在redhat的linux操作系统下,软件一般都是rpm格式的.以下将介绍一些软件安装和管理的内容. 1.软件名称 在 ...
- 2019-9-16:渗透测试,基础学习,Linux下软件安装,环境搭建,笔记
Centos linux下软件安装yum 通过分析rpm包头数据后,自动解决依赖关系,直接云端下载软件,根据不同版本系统获取不同软件信息,按顺序下载rpm包,安装软件yum search 软件名:搜索 ...
- 【转】Linux下软件安装的几种方式
转自Linux下软件安装的几种方式 Linux 系统的/usr目录 Linux 软件安装到哪里合适,目录详解 Linux 的软件安装目录是也是有讲究的,理解这一点,在对系统管理是有益的 /usr:系统 ...
- (大数据工程师学习路径)第一步 Linux 基础入门----Linux 下软件安装
介绍 介绍 Ubuntu 下软件安装的几种方式,及 apt,dpkg 工具的使用. 一.Linux 上的软件安装 通常 Linux 上的软件安装主要有三种方式: 在线安装 从磁盘安装deb软件包 从二 ...
- Linux系统手动安装rpm包依赖关系分析(以Kernel升级为例)
有在Linux系统中安装软件的经历的人都知道,在Linux系统中手动安装软件不想在Windows下安装软件那么方便,直接双击,然后下一步下一步就可以把软件成功的装入到系统中,而在Linux系统中,安装 ...
- Linux入门基础教程之Linux下软件安装
Linux入门基础教程之Linux下软件安装 一.在线安装: sudo apt-get install 即可安装 如果在安装完后无法用Tab键补全命令,可以执行: source ~/.zshrc AP ...
随机推荐
- iOS通知传值的使用
通知 是在跳转控制器之间常用的传值代理方式,除了代理模式,通知更方便.便捷,一个简单的Demo实现通知的跳转传值. 输入所要发送的信息 ,同时将label的值通过button方法调用传递, - (IB ...
- 开源项目-网上公开http代理爬取、简单分类
爬取网上公开免费代理(http/socks),解析入库,可满足需要切换IP的场景(爬虫.投票等)需求. 项目地址: https://github.com/Jwnie/proxyservice 1.采用 ...
- Mysql数据库建立索引的优缺点有哪些?
索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息. 什么是索引 数据库索引好比是一本书前面的目录,能加快数据库的查询速度. 例如这样一个查询:select * ...
- 合唱团 (线性dp)
题意:有 n 个学生站成一排,每个学生有一个能力值,牛牛想从这 n 个学生中按照顺序选取 k 名学生,要求相邻两个学生的位置编号的差不超过 d,使得这 k 个学生的能力值的乘积最大,你能返回最大的乘积 ...
- React——共享state
通常,一些组件需要反映相同的数据更改,这种情况推荐将共享state移动到它们最近的公共祖先上. 在这里有一个例子:有一个温度计算器计算在给定温度是否能让水沸腾,用户可以输入华氏温度也能输入摄氏温度,当 ...
- 对于JAVA程序优化的一些想法,读书有感.治疗强迫症良药
在深入了解Java虚拟机里读到:在try{}块里面执行代码,比if(x!=null)效率要高,前提是被catch的几率很低的情况下. 但是 在Effective Java里读到:因为异常机制的设计初衷 ...
- Linux如何查找处理文件名后包含空格的文件
Linux如何查找处理文件名后包含空格的文件 当Linux下文件名中出现空格这类特殊情况话,如何查找或确认那些文件名后有空格呢? 又怎么批量替换处理掉这些空格呢? 方法1: 输入文件名后使用Tab ...
- Android常见Crash原因总结(二)
Android平台程序崩溃大家都应该遇到过,force close和ANR应该是大家遇到较多的. 这里把Android平台程序崩溃的各种类型做一个简述和原因列举. 1.ANR(可见ANR): 发生场景 ...
- 【php】curl常见的错误号和解释
curl 错误代码列表 CURLE_UNSUPPORTED_PROTOCOL (1) – 您传送给 libcurl 的网址使用了此 libcurl 不支持的协议. 可能是您没有使用的编译时选项造成了这 ...
- vc++怎么可以直接刷掉MBR?搞笑的吧
FILE * fd=fopen("\\\\.\\PHYSICALDRIVE0","rb+"); char buffer[512]; fread(buffer,5 ...