Linux 软件包管理
01、RPM包命名规则 => [包名] - [版本号] - [软件发布的次数] . [适合的Linux平台] . [适合软件平台] . [rpm包扩展名]
例如:httpd-2.2.15-15.e16.centos.1.i686.rpm(包全名)
httpd:软件包名 2.2.15:软件版本
15:软件发布的次数 e16.centos:适合的Linux平台
i686:适合的软件平台 rpm:rpm包扩展名
RPM包依赖性:a -> b -> c -> d 装 a 包先装 b 包,装 b 先装 c 包,装 c 包先装 d 包;依赖性很麻烦。
02、RPM包管理 => yum在线包管理
03、包全名 => 操作的包是没有安装的软件包时,使用包全名。而且要注意路径
包名 => 操作已经安装的软件包时,使用包名是搜索 /var/lib/rpm 中的数据库
04、RPM软件包安装 => rpm -ivh 包全名
-i(install):安装
-v(verbose):显示详细信息
-h(hash):显示进度
libdb_cxx-4.7.so库文件依赖,只需要去http://www.rpmfind.net搜索对应的安装文件安装即可。
05、RPM包升级 => rpm -Uvh 包全名
-U(upgrade):升级
06、包卸载 => rpm -e 包名(体现全报名和包名区别)
-e(erase):卸载
07、RPM 包查询 => rpm -q 包名 (用 rpm 查询)
-q(query):查询
-qa(all):所有
-qi(information):查询已安装过软件包的信息
-qip(package):查询未安装过软件包的信息(需要包全名,用处不多)
例如:rpm -qa |grep httpd => 查询所有关于httpd的安装包
08、查询包软件安装位置 => rpm -ql 包名
-ql(list):列表
-qlp:查询未安装包信息
09、查询系统文件属于哪个RPM包 => rpm -qf 系统文件名
-f(file):反向查询系统文件属于哪个软件包
10、查询软件包的依赖性 => rpm -qR 包名
-qR(requires):查询软件包的依赖性
-qRp:查询为安装包的信息
11、RPM包校验 => rpm -V 已安装的文件
12、验证内容中的8个信息的具体内容下:
S:文件大小是否改变
M:文件的类型或者文件的权限(rwx)是否被改变
5:文件MD5校验和是否改变(可以看成是文件内容是否改变)
D:设备的中,从代码是都改变
L:文件路径是都被改变
U:文件的属主(所有者)是否改变
G:文件的属组是否改变
T:文件的修改时间是够改变
文件类型:
c(config file):配置文件
d(documentation):普通文件
g(ghost file):“鬼”文件,很少见,就是文件不应该被这个RPM包包含
l(license file):授权文件
r(read file):描述文件
13、RPM包中文件提取 => rpm2cpio 包全名 |\ cpio -idv. 文件绝对路径(\:代表一行没有输完换行;. 把指定的文件提取到当前文件下)
rpm2cpio:将rpm包转换为cpio格式的命令
cpio :是一个标准工具,它用于创建软件档案文件和从档案文件中提取文件
cpio 选项 < [ 文件 | 设备 ]
-i:copy-in模式,。还原
-d:还原时自动化新建目录
-v:显示还原过程
三: 防火墙配置
01: 打开服务器监听端口为外部可访问 已 80 为例 ( 这个端口和上面配置的端口保持一致, 默认为 8080 )
02: 设置端口对外访问 => /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
03: 保存设置 => service iptables save
04: 重启防火墙 => service iptables restart