linux 源码包
编译源码包,安装速度很慢,尽可能采用二进制包,
编译源码包,需要gcc编译器二进制安装包;编译器是c c++编写的。
rpm包,安装速度快,但看不到源码,存在固定的依赖性
- 通过www.rpmfind.net 查看依赖文件所在包名称
rpm包全名
httpd-2.2.15-15.el6.centos.1.i686.rpm
- httpd 包名
- 2.2.15 版本号
- 15 发行次数
- el6 发行商。代表red Hat
- i686 适合的平台
rpm包安装
源码包和rpm包安装路径不同,同一个服务器可以安装,但是只能启动一个,服务占用的端口互斥
rpm采用系统默认安装路径;源码包,采用指定路径,默认/usr/local
- rpm默认路径也可以指定,但是这样会影响启动,找默认路径,找不到,调用失败
安装格式
1 | # install verbose hash# |
- –nodeps:不检测依赖性安装。软件安装时会检测依赖性,确定所需的底层软件是否安装,如果没有安装则会报错。如果不管依赖性,想强制安装,则可以使用这个选项。注意:这样不检测依赖性安装的软件基本上是不能使用的,所以不建议这样做。
- –replacefiles:替换文件安装。如果要安装软件包,但是包中的部分文件已经存在,那么在正常安装时会报“某个文件已经存在”的错误,从而导致软件无法安装。使用这个选项可以忽视这个报错而覆盖安装。
- –replacepkgs:替换软件包安装。如果软件包已经安装,那么此选项可以把软件包重复安装一遍。
- –force:强制安装。不管是否已经安装,都重新安装。也就是–replacefiles和–replacepkgs的综合。
- –test:测试安装。不会实际安装,只是检测一下依赖性。
- –prefix:指定安装路径。为安装软件指定安装路径,而不使用默认安装路径。注意:如果指定了安装路径,软件没有安装到系统默认路径中,那么系统会找不到这些安装的软件,需要进行手工配置才能被系统识别。所以,我们一般采用默认路径安装RPM包
升级更新
1 | #如果没有安装,则自动安装 |
rpm命令
rpm包搜索,搜索/var/lib/rpm下二进制文件
rpm包文件校验, 已经安装的文件和/var/lib/rpm/目录下的数据库内容进行比较,以确定是否有文件被修改
1 | rpm -V httpd |
- S:文件大小是否改变。
- M :文件的类型或文件的权限(rwx)是否改变。
- 5:文件MD5校验和是否改变(可以看成文件内容是否改变)。
- D:设备的主从代码是否改变。* L:文件路径是否改变。
- U:文件的属主(所有者)是否改变。
- G:文件的属组是否改变。
- T:文件的修改时间是否改变。apache配置文件的文件类型是c,那么,还有哪些文件类型呢?
- c:配置文件(configuration file)。
- d:普通文档(documentation)。
- g:“鬼”文件(ghost file),很少见,就是该文件不应该被这个RPM包包含。
- l:授权文件(license file)。
- r:描述文件(read me)。
已安装包
是否安装包名
1 | rpm -q httpd |
查看所有已安装包
1 | rpm -qa | grep httpd |
查看包详情
1 | rpm -qi httpd |
查看包文件列表
1 | rpm -ql httpd |
查看系统文件属于哪个安装包
1 | rpm -qf /bin/ls |
查看系统中特定包的依赖关系
1 | rpm -qR httpd |
卸载, 必须按照依赖关系,逐个卸载,否在其他软件无法使用
–nodeps 忽略依赖,直接卸载
1 | rpm -e(erase) httpd |
未安装包
查看包信息
1 | rpm -qip 包全名 |
查看包文件列表
1 | rpm -qlp 包全名 |
查看包的依赖关系
1 | rpm -qRp httpd |
cpio
文件备份
1 | # 备份到文件库 |
文件提取
1 | cpio -icvdu < tt.cpio |
文件夹备份
1 | find . -print | cpio -p /temp/test |
文件提取
1 | rpm2cpio 包全名 | cpio -ivduc 路径 |
服务启动
1 | service 服务名 start | restart | stop | status |
SRPM包
源码形式封装成rpm包发布
安装方式
利用rpmbuild –需要手动安装
rpmbuild命令就是先把SRPM包解开,得到源码包;然后进行编译,生成二进制文件;最后把二进制文件重新打包生成RPM包
1
2
3#--rebuild只编译,不安装
#--recompile编译且安装
rpmbuild --rebuild xxx.src.rpm利用*.spec
赏
使用支付宝打赏
使用微信打赏
若你觉得我的文章对你有帮助,欢迎点击上方按钮对我打赏