【linux之软件安装,rpm,yum】

1、软件管理

静态库 动态库
静态库:在程序编译时会被链接到目标代码中,程序运行时将再也不须要该静态库
动态库:在程序编译时并不会被链接到目标代码中,而是在程序运行时才被载入。java

连接是程序调用库的过程。node

静态连接库 动态连接库
静态连接库:把库文件中用到的函数代码直接连接到目标程序,程序运行的时候再也不须要它的库文件。
动态连接库:把调用的函数所在的文件模块(DLL)和调用函数在文件中的位置等信息连接进目标程序,程序运行时再从DLL中寻找相应的函数代码, 此须要DLL文件的支持。算法

编程-->编译-->运行-->连接库数据库

 

通常编译好的程序有哪些组成部分?编程

1.可执行文件(二进制文件)

存放地点:/bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbinvim

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.0-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/binapp

 

二、头文件和库文件

头文件存放在 /usr/include
库文件 /lib /usr/lib /usr/local/lib /lib64
ldconfig -v 查询当前系统中已经加载的库

在 /etc/ld.so.conf.d/下建立一个以.conf为后缀的文件,而后在文件里添加路径
或者 作软连接到/libjvm

头文件连接到/usr/include函数

 

3.配置文件(提供变量)

/etc /usr/etc /usr/local/etc

 

4.帮助文件

/ussr/share/man
man的配置文件:/etc/man.config

 

2、rpm及yum

rpm实现的功能:
1.安装软件、查询、升级、校验、卸载
2.建立、维护、清除数据库及其中的记录
3.重建数据库
4.软件直接依赖关系的提示(依赖地狱)

 

yum:yellowdog update modifier 前台管理工具
帮助rpm解决依赖地狱

rpmfind.net 查找下载rpm安装包

tree -1.5.3-3.el6.i686.rpm tree:软件名称 1.5.3-3: 1:主版本号 5:次版本号 3:修订版本号 -3:修订次数 el6:依赖的操做系统的发行版本(RHEL6) i686:硬件平台 x86_64 sparc ppc:apple noarch:不区分平台,任何平台均可以用

 

rpm

  • 1.安装模式

-i:启用安装模式
-v:显示安装的软件名
-h:显示安装进度
--replacpkgs:安装软件以前再也不检查是否已安装
--nodeps:安装软件前再也不检查依赖关系
--force:强制安装

①先查看软件包的头部信息,以确认签名是否有效
②准备阶段

1.检查软件包是否已经安装 2.检查软件包是否存在依赖关系 3.备份以前安装过的软件所包含的文件,*.rpmsave 4.若是有,则运行相应的安装脚本

③安装
④清理安装过程当中产生的临时文件
⑤更新数据库

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=1 #开启软件仓库 gpgcheck=0 #是否检查数字签名 [ftp] name=ftp repository baseurl=ftp://172.16.0.1/Server #必须有repodate文件
enabled=1 gpgcheck=0

 

全局配置文件:/etc/yum.conf

ls /var/cache/yum/i386/6Server/localrepo/ 缓存目录

yum -y install createrepo

相关文章
相关标签/搜索