2011年(42)
分类: LINUX
2011-08-04 20:38:52
配置文件二进制程序库文件帮助文件
软件包默认的安装路径/ 操作系统自身启动所需要的令软件都放在这里并且必须放在这里/usr 操作系统自我管理功能使操作系统完整所需要的最基本软件存储的路径/usr/local 第3放软件丰富功能的程序存储的路径自定义路径一般放在/usr/local/文件名上面已经说了软件包安装后由4部分组成所以软件包安装后即使是安装再以上的路径下,所有的4部分也分散存储在特定的路径下!如下:/ 下的软件4部分存储的位置 配置文件:/etc,二进制文件:/bin,/sbin,库文件:/lib,帮助文件:/usr/share/man
/usr 配置文件:/etc,二进制文件:/usr/bin,/usr/sbin 库文件:/usr/lib,帮助文件:/usr/share/man
/usr/local 配置文件:/usr/local/etc,二进制文件:/usr/local/bin,/usr/local/sbin,库文件:/usr/loval/lib,帮助文件:/usr/local/share/man再归类总结下吧:配置文件路径:/etc,/usr/local/etc,/usr/local/APP/etc
二进制文件程序:/bin,/sbin,/usr/bin,/usr/sbin,/usr/local/bin,/usr/local/sbin,/usr/local/APP/bin,/usr/local/APP/sbin
库文件:/lib,/usr/lib,/usr/local/lib,/usr/local/APP/lib
帮助文件:/usr/share/man,/usr/local/share/man,/usr/local/APP/share/man软件运行时系统是如何找到这些路径以保证软件能正常工作呢?一般配置文件是不用系统去找的,二进制程序被调用的时候自己能找到配置文件,这是在编译的时候已经指定的!所以关键就是找2进制文件程序的路径!这些路径被定义在一个变量中之前也提到过!PATH 可以用echo $PATH来查看到底系统会在那些路径下找这些外部命令对应的二进制文件路径,所以当自定义安装了某些软件并且没有安装在$PATH所包含的路径下时,就要自己编辑PATH这个变量的值来使系统能够找到这个二进制文件保证软件的正常运行,系统能够找到的库文件也是有地方存储和定义了这些路径,库文件路径定义的配置文件 /etc/ld.so.conf 可以用VIM编辑 也可以写在 /ld.so.conf.d目录下以.conf结尾的文件中 ,定义帮助文件路径的配置文件 /etc/man.config文件,在此文件中想要添加自己保存的文件路径进去的方法 MANPATH 加路径即可。二进制格式安装包的俩种:LINUX是开源的,因此开发出来的软件都是源代码包!基本上没有二进制的,而能自己将源码包编译安装的人很少,因此为了方便使用,有专门的人将这些源码包做成二进制格式!上面已经说了软件包安装完成后有4部分组成,这些部分在安装时怎么存放怎么管理,是由软件包管理器分类管理的,然而不同的人或公司开发的二进制文件和管理器又不相同,因此相同的软件被做成了很多不同格式的软件包就是这个原因!例如:redhat的软件包都以.apm结尾只接受redhat管理器的管理 debian,只接受.dep结尾的软件包
因为我们学的是REDHAT因此就只接触了Redhat方面的!redhat的包管理器RPM是用perl编写的,最初叫Redhat Package Hanger后更名为RPM is Package Manage。redhat软件包得命名格式package-version-release.arch.rpm这个名字的格式 包名-版本号-发行号.平台.rpm如:httpd-2.2.19 这是源码包得版本主版本号.次版本号.修正号-->httpd-2.2.19-1发行号-->httpd-2.2.19-1.el5(发行商的版本号).i386适用的平台.rpm noarch适用所有平台/var/lib/rpm 软件包数据库管理rpm,里面存储了所有当前系统安装的软件包的相关信息!这个数据库坏了,一切就完了!下面看看安装过程首先要说明如果使用rpm安装通常是安装在标准路径下的无法自定义安装的!要想自定义安装通常是在编译源代码的时候才能自定义安装!
rpm五大功能:
查询,安装,卸载,升级,校验
查询:
rpm -q 查询
rpm -qa 查询所有软件包 只显示名字与版本号
rpm -q package_name 查看特定软件包是否安装了及版本
rpm -ql package_name 能查看包安装完成后生成了那些文件
rpm -qc package_name 可以查看安装包完成后生成了那些配置文件
rpm -qd 可以查看安装完成后生成了那些文档
rpm -qf file_path(文件路径) 可以查看某文件是有那个安装包生成的
rpm -qi package_name 查询软件包得摘要信息 能看到软件包得名字 作者 编译时期 版本号 那些人编译的 等等的信息
如 rpm -qa | grep "^b" 可以以名字过滤
安装:
rpm -i /PATH/TO/FILE
rpm -ivh +安装包的文件名 进行安装 vh显示安装的过程
rpm -ivh --nodeps 用于忽略依赖关系直接安装软件包
卸载:
rpm -e package_name 卸载软件包
rpm -e --nodeps 忽略依赖关系直接卸载软件包
升级:
rpm -Uvh /PATH/TO/RPM_FILE 安装和升级俩种功能
rpm -Fvh 纯粹升级,老得版本没装将不升级和安装
--force 强行升级,忽略错误
内核不能升级,只能安装 这里说的不能升级的意思是,命令可以用于升级但是实际应用中不能升级 防止新的内核跟系统不兼容造成无法挽回的损失