【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.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/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.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

posted @ 2018-03-13 10:11  小火星_Hirsi  阅读(586)  评论(0编辑  收藏  举报