0530 第十节课
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了0530 第十节课相关的知识,希望对你有一定的参考价值。
一.软件包管理内容
rpm包管理
yum
编译安装
注意:安装软件必须要管理员身份才可以
安装用到的命令
ldconfig -p:查看本机库
-v:生成缓存
安装用到的配置文件
/etc/ld.so.conf
缓存文件
/etc/cache
二.rpm包管理
rpm -i [install-options] PACKAGE_FILE
rpm数据库-----/var/lib/rpm
rpm --initdb:初始化,数据库实现不存在的话会创建
rpm --rebuild :重建,无论数据库存不存在都重新创建一个数据库
install-options
--test:不真实安装,只是测试
--nodeps:忽略依赖直接安装
--replacepkgs|replacefiles:重新安装,覆盖安装|覆盖相同文件重新安装
--nosinature:不检查来源合法性(默认是检查的)
--nodigest:不检查包的完整性
norpm数据库-----scripts:不执行脚本程序
%pre:安装前脚本 -nopre:不执行
%post:安装后脚本 -nopost:不执行
%preun:卸载前脚本 -nopreun:不执行
%postun:卸载后脚本 -nopostun:不执行
注意:重新安装时,只会更新二进制文件或者是目录,但是所有的配置文件都不会被替换,
所写的用户设置会全部保留下来
想要重新安装配置文件,需要将配置文件删除或者移动后,在确保改目录下没有配置文件后,
在安装,那样会被认定没有配
置文件而新安装一个配置文件
1.rpm包查询
rpm -q* pkgs
-q :检查pkgs是不是安装上了
-ql :检查包内信息,保内文件列表
-qa :产看所有的安装的rpm包
-qf :后接/PATH/TO/FILE查看文件属于哪个rpm包
-qpl:查看未安装的包的文件列表(装好后会生成的文件)
--whatprovides 能力:查询哪个包提供的该项能力
--whatrequires 能力:被查看的能力被哪个包所依赖
rpm2cpio 包 | cpio -tv:预览包内文件
rpm2cpio 包(完整路径) | cpio -idv ./程序+路径(如/usr/bin/tree)
(支持通配符,如-idv “*.conf”) 释放包内文件
-qc :配置文件
-qd :帮助文档
--scripts :查看自带脚本
-qi :信息,版本作者安装时间等
-qR :查询指定包所依赖的capability
--provides:查看查询的包提供的capability
2.rpm包检验
rpm -V pkgs :rpm包检验
-Va :所有包都进行检验
-K pkgs :检测包来源
S.M.5.D.L.V.G.T.P:原本是----------,哪一项出现问题哪一项显示出来
如---------D------
注意:要在导入秘钥后才能检验
rpm --import /PATH/TO/FILE:导入秘钥
/etc/pki/rpm-gpg/RPM~
删除秘钥:将gpg-pubkey删掉(用rpm -e)
3.安装
rpm -ivh PKGS
-v:显示过程
-h:用#号做一个进度条
4.升级
rpm -U pkgs
升级安装:有旧版程序,升级
无旧版程序,安装
rpm -F pkgs
升级:有旧版程序,升级
无旧版程序,停止
--oldpackage:降级安装
--force:强制安装
注意:不要对内核做升级,linux是支持多内核共存的,想要新内核请直接开始一个新安装就行
5.卸载
rpm -e install-options pkgs
--nodeps:忽略依赖,强制卸载
--noscripts:不运行脚本直接卸载
三.yum
yum的文件服务器有三种
注意:能作为yum的仓库的地方,必须有repodata,反过来说就是有repodata的地方差不多
就可以作为yum的仓库来使用
http://
ftp://
file:///(file后的/有三根是因为file代表的本地文件的路径,需要加上根目录/,索性就写在一起了)
yun的配置文件
/etc/yum.conf:为所有库提供配置文件
/etc/yum.repos.d/*repo:为仓库的指向提供配置。内容如下,安装下面的内容哦配置就行
yum的日志
/usr/log/yum.log
[name仓库名]
baseurl:仓库的路径,必须要有的,http,ftp,file
enabled={1|0}:可有可无的一项,是说该仓库是不是启用,默认是1启用的
gpgcheck={1|0}:可有可无的一项,是说是不是进行包检验,默认是1检查的,但必须要有秘钥
gpgkey:导入的秘钥
enablegroup:支不支持包组,可有可无,默认就是支持
failovermethod={roundrobin|priority}:可有可无,默认是roundrobin,意思是随机挑选
cost=1000,1000是默认值,值越大优先级越低
有上述可见,一个仓库配置最少只要有三行就行,一个name行,一个baseurl行,一个gpgcheck行
yum命令格式
yum options command pkgs1 pkgs2
1.yum的command部分
仓库启用禁用
yum-config-manager --enable “仓库名” ----启用仓库
--disable “仓库名”----禁用仓库
显示仓库列表
yum repolist [all|enabled|disabled]
all:所有的仓库列表
enabled:启用的仓库列表
disable:禁用的仓库列表
显示程序包
yum list [all|available|installed|updates]
all:全部的程序包
available:可用的程序包
installed:已安装的程序包
updates:可升级的程序包
安装重新安装
yum install pkgs1 pkgs2(可最多接5个,5个程序一起安装,但是不同终端哪怕是
子shell中,同一时间都只能有一个yum在运行)
yum reinstall ~
升级降级
yum update pkgs 升级程序
downgrade pkgs 降级程序
检查升级
yum check-update
卸载
yum remove pkgs1 pkgs2.。。
查看程序包信息
yum info pkgs
查看制定的特性
yum provides|whatprovides feature1 feature2
清理本地缓存
yum clean [pkgs|metadata|expire_cache|rpmdb|plugins|all]
构建缓存
yum makecache
搜索
yum search 关键字
查看制定包所依赖的capability
yum deplist pkgs1.。。。。
查看yum事务历史
yum history :用yum安装卸载或者升级等操作的历史
yum history info #:第#号历史的详细信息
yum history undo #:第#号历史做相反的操作(如#号是安装,那么这里就卸载,#号是卸载,这里就做安装)
安装和升级本地程序包
yum localinstall pkgs1 pkgs2.....
yum localupdate pkgs1 pkgs2....
包组的相关命令
yum grouplist grp1...
groupinstall
groupupdate
groupremmove
groupinfo
用光盘作为yum 的仓库
基本上没什么区别,只是要事先挂载光盘,注意的是命令挂载的光盘会在重启后
失效,不想每次都挂载的话可以写入配置文件中
2.yum的options部分
yum -y:对每个问题都自动回答yes选项
--nogpgcheck:不对此进行检查
-q:静默模式
--disable=仓库名:临时(针对此次操作)禁用这个仓库
--enable=仓库名 : 临时启用这个仓库
--noplugins:禁用所有插件
3.yum的可用变量部分
$releasever:当前os的版本号
$arch:平台号,i386.i486.i586.x86_64等
$basearch:基础平台,只有i386和x86_64
$YUM0-$YUM9:自定义变量
4.建立yum库
这个是建立那个有repodata文件夹的那个仓库,不是仓库的配置文件,他的路径就
是配置文件中的baseurl后边填写的路径
createrepo dir
四.编译安装的步骤
很多时候,我们得到的并不是一个制作好的rpm包,而是一些源代码,这个时候
就要我们自己进行编译安装
具体步骤我分了三部分,第一部分是安装过程,分三小步;第二部分是检查,检
查是否安装成功;第三部分是善后部分,分了四小步
第一部分:安装过程
第一步:执行得到的压缩包中的configure脚本
第二步:make(在解压缩得到的目录下直接输入make命令,注意必须在该目录下)
第三步:make install (同样是在解压缩得到的目录下)
第二部分:检查
直接运行一下,看看是不是能正常使用
第三部分:善后部分
第一步:将二进制程序的路径写到配置文件里,或者写个脚本开机运行
/etc/profile.d/name.sh内容是在环境变量PATH中添加程序的路径
第二步:将库文件给导入
创建/etc/ld.so.conf.d/name.conf目录
将程序的目录下的lib目录内的库文件复制过来
第三步:将头文件导入
a.软连接方式
在/usr/include下创建新目录,然后将程序的头文件目录用于新目录
设置成软连接
b.直接复制到/etc/include
第四步:设置man帮助
编辑/etc/man.config(centos6)|mandb.conf(centos7)文件,在里边添加
一个MANPATH即可
以上是编译安装的全部步骤,再添加完帮助后一个编译安装才算是完成了
本文出自 “博客作业初版” 博客,谢绝转载!
以上是关于0530 第十节课的主要内容,如果未能解决你的问题,请参考以下文章