静态库 动态库
静态库:在程序编译时会被链接到目标代码中,程序运行时将再也不须要该静态库
动态库:在程序编译时并不会被链接到目标代码中,而是在程序运行时才被载入。java
连接是程序调用库的过程。node
静态连接库 动态连接库
静态连接库:把库文件中用到的函数代码直接连接到目标程序,程序运行的时候再也不须要它的库文件。
动态连接库:把调用的函数所在的文件模块(DLL)和调用函数在文件中的位置等信息连接进目标程序,程序运行时再从DLL中寻找相应的函数代码, 此须要DLL文件的支持。算法
编程-->编译-->运行-->连接库数据库
通常编译好的程序有哪些组成部分?编程
存放地点:/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函数
/etc /usr/etc /usr/local/etc
/ussr/share/man
man的配置文件:/etc/man.config
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:不区分平台,任何平台均可以用
-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
-q:开启查询模式的开关
-a:查询全部安装过的软件包
-f:查看文件是哪一个软件包安装的
-p:指定软件包
-l:列举包中的文件
-i|--info 软件名:查看软件信息
rpm -qi dhcp
-U:升级软件以前,若是已安装则升级,不然全新安装
-F:只能完成升级安装
--oldpackage:降级
-V:校验,检查软件包和已安装文件的状态是否有变化
rpm -V
-K 软件包:检查,来源是否可靠,签名是否能够认证
--import:导入官方的公钥文件
/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
-e 软件名:卸载模式的开关
--nodeps:卸载前不考虑依赖关系
--rebuilddb:从新构建
--initdb:初始化建立数据库
单向加密:用特定的方法对某个数据进行特征值(电子指纹)计算
先用单向加密对软件包抽象特征值,每一个软件包都有惟一的特征值,再用私钥加密特征值,客户端用得到的公钥解密特征值,再用一样的
单向加密算法,从新计算软件的特征值
单向加密肯定完整性
校验机制肯定私密性
readlink 获取连接文件的路径.
语法格式:
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