Linux软件包管理
Linux软件包应用程序为:Architecture,室友指令和数据组成的,里面也运用了C语言,脚本为解释器(二进制程序)Linux软件包主要有rpm和yum这两种包管理。两种包管理各有用处,其中主要区别是:yum使用简单但需要联网,yum会去网上的yum包源去获取所需要的软件包。而rpm的需要的操作精度比较细,需要我们做的事情比较多。下面让我给大家详细的介绍一下这两种软件包的具体操作。
一:rpm主要的操作
1)安装 rpm -ivh /PATH/TO/PACKAGE_FILE
查找安装包:lftp 172.16.0.1(进入ftp) cd pub进入目录 cd Server/
-i:安装软件包
rpm -i /PHTH/TO/PACKAGE_FILE
-h:以#显示进度:每个#表示2%;
-v:显示详细过程
-vv:显示更详细过程,h为hash是进度信息
--excludedocs 不安装软件包的文档文件
--prefix PATH 将软件包安装到指定目录
--test 只对安装进行测试,并不实际安装(通常用来看下需要的依赖项)
--replace[pkgs|files] 当出现冲突时或想强制覆盖时可以使用
--nodeps 不考虑依赖关系
--force强行安装,可以实现重新重装或降级
挂载光驱的具体操作:
mkdir /mnt/cdrom 生成一个挂载点目录
mount /dev/cdrom /mnt/cdrom 讲dev中的cdrom挂载到挂载点上
2)查询
rpm -q PACKAGE_NAME:查询指定包安装后生成的文件列表
rpm -qa:查询已经安装的所有包
rpm -qp:查询已经安装的所有包
rpm -qi PACKAGE_NAME:查询指定包的说明信息
rpm -ql PACKAGE_NAME:查询指定软件包中的文件列表
rpm -qd PACKAGE_NAME:查询指定包被标注为文档的文件列表
rpm -qc PACKAGE_NAME:查询被标注为配置文件的文件列表
rpm -qc PACKAGE_NAME:查询指定包安装的配置文件
rpm -qd PACKAGE_NAME:查询指定包安装的帮助文件
rpm -q --scripts PACKAGE_NAME:查询指定包中包含的脚本
rpm -qf /path/to/somefile:查询指定的文件是由哪个rpm包安装生成的,
如果某rpm包尚未安装,我们需查询其说明信息、安装以后会发生的的文件: rpm -qpi /PATH/TO/PACKAGE_FILE软件包的信息
rpm -qp1:查询包安装后生成那些文件
rpm -qpi:软件包中的信息
[tips] 通常可以配合管道 | more [grep sudo] 来使用,使得结果更易读。
3)升级
rpm -Uvh /PATH/TO/NEW_PACKAGE_FILE:如果装有老版本的,则升级,否则,就安装
rpm -Fvh /PATH/TO/NEW_PACKAGE_FILE:如果装有老版本的,则升级,否则,退出
--oldpackage:降级
4)卸载
rpm -e PACKAGE_NAME
--nodeps
需要注意的是在卸载软件包的时候若和其它包有依赖关系,可以用--nodeps来强制卸载
5)校验
rpm -v PACKAGE_NAME
rpm -S 为文件大小
rpm -5 为文件的md5校验值
rpm -L 链接文件
rpm -T 文件创建时间
rpm -D 设备文件
rpm -U 文件的用户
rpm -G 文件的用户组
rpm -M 文件的权限
6)重建数据库
rpm --rebuilddb:重建数据库,一定会重新建立
--initdb:初始化数据库,没有才建立,有就不用建立;
7)检验来源合法性,及软件完整性
加密类型:对称:加密解密使用同一个钥匙
公钥:一对儿密钥,
私钥:公钥隐含与私钥中,可以提出来,并公开出去
单向:# /etc/pki/rpm-gpg/
rpm -K /PATH/TO/PACKAGE_FILE
dsa,gpg:验证来源合法性,也即验证签名,可以使用--nosignature 略过此项
sha1,md5:验证软件包完整性,可以使用--nosignature 略过此项
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release:导入密钥文件
二:yum的主要操作
需要联网,操作一RPM类似,只是会自动安装依赖项。
1、主要操作:
1)安装 yum install
2) 检测升级 yum check-update
3) 升级 yum update
4) 软件包查询 yum list
5) 软件包信息 yum info
6) 卸载 yum remove
7) 帮助 yum -help、man yum
2)实例
从光盘中提取二进制包并恢复丢失的文件(用inittab做实验)
先建立一个挂载点并挂载
创建一个备份文档并删除inittab
通过挂载点读取光盘中的二进制包到当前目录
复制恢复被删除的文件
三、源代码包的管理及安装
1)解压解包
tar -xzvf 源代码包
x为解包、z为解压(仅适合gzip,bz2则先解包再bunzip解压)、v显示过程、f指定被解压包名
2)配置
进入解压后的目录,用 ./configure [—prefix=/usr/local/filname] 来配置,这个过程主要是收集系统信息、设置安装目录等(卸载的时候只需将这个目录删除则可)
3)编译
make
4)安装
make install
5)yum的man文件路径:安装在--prefix指定的目录下的man目录
1、man -M /PATH/TO/MAN_DIR COMMAND
2、在/etc/man.config中添加一条MANPATH
netstat命令:
-r:显示路由表
-n:以数字方式显示
-t:建立的tcp连接
-u:显示udp连接
-l:显示监听状态的连接
netstat -tul
*:* :表示允许所有远程主机连接我们的主机
-p:显示监听指定套接字的进程的进程号及进程名