1、Linux软件包管理
Redhat, SUSE: RPM
Redhat Package Manager
PRM is Package Manager
前端工具:yum, apt-get
后端工具:RPM, dpt
2、rpm:
数据库:/var/lib/rpm
rpm包: 软件包作者下载源程序,编译配置完成后,制作成rpm包
格式:name-VERSION-release.arch.rpm
例:httpd-2.4.6-40.el7.centos.x86_64.rpm
VERSION: major.minor.release
release:release.OS
主版本号:较大改变
次版本号:某个子功能发生变化
发行号:修正了部分bug,调整了一点功能
3、rpm:安装、卸载、升级、查询
安装
rpm -i /PATH/TO/PACKAGE_FILE
-h: 以#显示进度
-v: 显示详细过程
rpm -ivh /PATH/TO/PACKAGE_FILE 一般安装参数
–nodeps: 忽略依赖关系;
–replacepkgs: 重新安装,替换原有安装;
–force: 强行安装,可以实现重装或降级;
查询
rpm -q PACKAGE_NAME: 查询指定的包是否已经安装
rpm -qa : 查询已经安装的所有包
rpm -qi PACKAGE_NAME: 查询指定包的说明信息;
rpm -ql PACKAGE_NAME: 查询指定包安装后生成的文件列表;
rpm -qf /path/to/somefile: 查询指定的文件是由哪个rpm包安装生成的;
如果某rpm包尚未安装,我们需查询其说明信息、安装以后会生成的文件;
rpm -qpi /PATH/TO/PACKAGE_FILE
rpm -qpl
升级
rpm -Uvh NEW_PACKAGE: 如果装有老版本的,则升级;否则,则安装;
!不要对内核做升级操作;Linux支持多内核版本并存,因此,对直接安装新版本内核
!如果原程序包的配置文件安装后曾被修改,升级时,新版本的提供的同一个配置文件并不会直接覆盖老版本的配置文件,而把新版本的文件重命名(FILENAME.rpmnew)后保留
卸载
rpm -e PACKAGE_NAME
–nodeps
校验
rpm -V PACKAGE_NAME
重建数据库
rpm
–rebuilddb: 重建已安装的包头的数据库索引目录;
–initdb:初始化数据库,没有才建立,有就不用建立;
3、Yum 基于C/S的结构,可以解决软件包的依赖关系
yum仓库中的元数据文件: repodate 软件的依赖关系等
Yum仓库的校验key:RPM-GPG-KEY-CentOS-x 使用建议导入key值
rpm –import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-x
Yum的repo文件配置
[Repo_ID]
name=Description
baseurl= 配置仓库类型 !!路径为repodate的父目录
ftp:// ftp服务器路径
http://
file:/// 本地镜像挂载点
enabled={1|0} 启用禁用
gpgcheck={1|0}
gpgkey=
Yum list all: 列表 支持glob
clean: 清理缓存
[ packages | headers | metadata | dbcache | all ]
更换yum源,要执行yum clean all 清理缓存
repolist: 显示repo列表及其简要信息,yum源开启状态 默认enabled
使用yum安装软件
yum [options] [command] [package …] yum安装软件
-y: 自动回答为yes
–nogpgcheck
yum install/remove/updatePACKAGE_NAME
5、编译安装
前提:准备编译环境
yum groups install “Development Tools”
# tar xxx.gz…
# cd
# ./configure
–help 支持安装选项和模块
–prefix=/path
功能:1、让用户选定编译特性;2、检查编译环境;
# make
# make install
ag:
# tar xf httpd-2.4.27.tar.bz2
# cd httpd-2.4.27
# ./configure
# make && make install
1、修改PATH环境变量,以能够识别此程序的二进制文件路径;
修改/etc/profile文件
在/etc/profile.d/目录建立一个以.sh为名称后缀的文件,在里面定义export PATH=$PATH:/path/to/somewhere
2、默认情况下,系统搜索库文件的路径/lib, /usr/lib; 要增添额外搜寻路径:
在/etc/ld.so.conf.d/中创建以.conf为后缀名的文件,而后把要增添的路径直接写至此文件中;
# ldconfig 通知系统重新搜寻库文件
-v: 显示重新搜寻库的过程
3、头文件:输出给系统
默认:/usr/include
增添头文件搜寻路径,使用链接进行:
/usr/local/tengine/include/ /usr/include/
两种方式:
ln -s /usr/local/tengine/include/* /usr/include/ 或
ln -s /usr/local/tengine/include /usr/include/tengine
4、man文件路径:安装在–prefix指定的目录下的man目录;/usr/share/man
1、man -M /PATH/TO/MAN_DIR COMMAND
2、在/etc/man.config中添加一条MANPATH
原创文章,作者:cui,如若转载,请注明出处:http://www.178linux.com/84113