首页 > 代码库 > Linux应用程序基础

Linux应用程序基础

文件位置:

????系统命令:/bin和sbin目录,或shell内部指令;

????应用程序:/usr/bin和/usr/sbin目录。

????????/usr/bin:普通执行程序文件;

????????/usr/sbin:服务器执行程序或管理程序。

?

常见软件包:

????rpm:扩展名.rmp软件包;

????deb:扩展名.deb软件包;

????源代码软件包:一般打包为.tar.gz或.tar.bz2等格式。

????附带安装程序的软件包:如提供install.sh,setup等安装程序,或以.bin格式的单个执行文件提供;

????绿色免安装的软件包:压缩包内已有编译好的执行程序文件,解压即可使用;

?

RPM包:

????由red hat提出,被众多linux发行版采用的方案;

????软件包格式:

技术分享

?

查询已安装的rpm软件信息:

????rpm –q[子选项] [软件名]

例: rpm –qa :查看系统所有已安装的软件信息;

????rpm –qc httpd:查看httpd软件的配置文件;

????rpm –ql httpd:查看httpd软件所安装的目录和文件列表;

????rpm –q httpd:查看httpd是否安装。

????rpm –qf 文件或目录名:查看某个文件或目录属于哪个RPM软件。

?

如果查询未安装的RPM软件包信息,可使用:rpm –qp[子选项] 软件包全称。

例:????rpm –qpi ethool-3.5-1.el6.x86_64.rpm:查询该软件包要安装的目录和文件。

?

安装或升级RPM软件:rpm [选项] rpm包文件

????选项:

????-i:安装新软件,加vh显示进度条;

????-U:升级软件,未装则进行安装;

????-F:升级软件,未装则放弃;

卸载RPM软件:rpm –e 软件

?

实际上,安装RPM软件包并不容易,因为软件包有依赖关系。

?

RPM数据库:

????记录linux系统中安装、卸载、升级应用程序的相关信息;

????RPM包管理系统自动完成维护,一般不需要用户干预

????存放位置:/var/lib/rpm

????文件名:__db.001, __db.002 ……

重建RPM数据库:

????rpm –rebuilddb

????重建前先删除原有的数据库文件:rm –rf /var/lib/rpm/--db.*

?

RPM软件包公钥:用于验证软件包完整性。

????查看是否有公钥:rpm –qa gpg-pubkey

????导入公钥:rpm –import /media/RPM-GPG-KEY-redhat-release

????查看公钥信息:rpm –qi 公钥名

????验证软件包完整性:

????????rpm –K /media/Packages/httpd-2.2.15-29.e16_4.x86_64.rpm

????????如果要显示更详细的验证信息,可以用-vvK。

????卸载公钥:

????????rpm –e 公钥名

?

YUM(Yellowdog Updater Modified)概述:

????基于RPM包构建的软件更新机制,可自动解决软件依赖关系。

????所有软件包由集中的YUM软件仓库提供。

????软件仓库的提供方式:

????????FTP服务:ftp://....

????????HTTP服务:http://....

????????本地目录:fiel:///….

????RPM软件包来源:

????????red hat发布;第三方组织;用户自定义。

????????EPEL软件源:Fedora小组维护的一个软件仓库项目,提供他们默认不提供的软件包。

????安装EPEL软件源:

技术分享

????查看EPEL源是否添加:

????????yum repolist

????YUM仓库位置:/etc/yum.repos.d/*.repo

????YUM的配置文件:

????????基本设置:/etc/yum.conf

仓库设置:/etc/yum.repos.d/*.repo

日志文件:/var/log/yum.log

????查询软件包命令:

????????yum list [软件名]:可省略软件名查看所有软件包;

????????yum info [软件名]:查看某个软件包的信息;

????????yum search <关键词>: 搜索某个软件包;

????????yum provides <关键词>: 搜索某个文件是属于哪个软件包的(此命令很常用)。

????查询软件包组:软件包是用于对一系列软件分组,方便安装和管理。

????????yum grouplist [包组名]:查询所有软件包。

????????yum groupinfo <包组名>:查询某个软件包的信息。

????安装软件:

????????yum install [软件名]

????????yum groupinstall <包组名>

????升级软件:

????????yum update

????????yum groupupdate

????卸载:

????????yum remove <软件名>

????????yum groupremove <包组名>

????????yum grouperase <包组名>

????

????

Linux应用程序基础