软件安装
应用程序概述
1.应用程序与系统命令的关系
- 文件位置
- 系统命令:一般在/bin和/sbin目录中,或为shell内部指令
- 应用程序:通常在/usr/bin/和/usr/sbin目录中
- 主要用途
- 系统命令:完成对系统的基本管理工作,例如IP配置工具
- 应用程序:完成相应对独立的其他辅助任务,例如网页浏览器
- 适用环境
- 系统命令:一般只在字符操作界面中运行
- 应用程序:根据需要,有些程序可在图形界面中运行
- 运行格式
- 系统命令:一般包括命令字、命令选项和命令参数
- 应用程序:通常没有固定的执行格式
2.典型应用程序的目录结构
3.常见的软件包封装类型
4.RPM Package Manager
- 由Red Hat公司提出,被众多Linux发行版所采用
- 建立统一的数据库文件
- 详细记录软件包安装、卸载等变化信息
- 自动分析软件包依赖关系
一般命名格式
- bash-4.1.2-15.el6_4.x86_64.rpm
- bash:软件名字
- 4.1.2:版本号
- 15:发布次数
- el6_4:适合的系统
- x86_64:硬件平台
- .rpm:扩展名
RPM命令操作
1、rpm的查询
-q:查询已安装的软件包的信息
- 查询软件包是否安装 rpm -q 软件名字
[hostname Packages]# rpm -q zsh
zsh-4.3.10-5.el6.x86_64
[hostname Packages]# rpm -q asdf
packages asdf is not installed
- 查询系统中所有已经安装的软件包有哪些
[hostname Packages]# rpm -qa
- 统计已经安装的软件包的个数
[hostname Packages]# rpm -qa | wc -l
1120
- 找出vim命令是由哪个软件包安装的
[hostname ~]# rpm -qf 'which cim'
vim-enhanced-7.2.411-1.8.el6.x86_64
- 查询软件的配置文件
[hostname ~]# rpm -qc httpd
- 查询安装某个软件时,都安装了哪些文件
[histname ~]# rpm -ql setup
- 查询安装的软件包的信息
[hostname ~]# rpm -qi setup
-qp 查询未安装的软件包的相关信息
- -qpi 未安装的软件包的完整路径和包名 :查询未安装的软件包的详细信息
- -qpl:如果安装未安装的软件,会安装哪些文件在系统中
- -qpR:查询未安装的软件包的依赖情况
2、安装、升级、卸载RPM软件包
- 安装软件包
- rpm -ivh /mnt/cdrom/Packages/zsh-4.3.10-5.el6.x86_64.rpm
- -i:–install 安装
- -v:–verbose 显示安装过程
- -h: --human 以人类可读方式显示
- –test:只是测试安装,并不会真正安装软件
- [root @test ~]# rpm -ivh --test gcc-4.4.7-3.el6.x86_64.rpm
- --nodeps:只安装软件本身,不考虑依赖
- --force:强制安装
- 升级软件包
- -F:单纯升级,如果之前没有rpm包将无法升级
- -U:如果包为安装,等同-i进行安装,如果包已经安装,便是更新版本
- 卸载软件包
- -e:erase 卸载软件包
3、维护RPM数据库
- --rebuildbd 或 --initdb重建RPM数据库
[root@localhost ~]# rpm --rebuilddb
##
[root@localhost ~]# rpm --initdb
YUM安装软件包
1、工作原理
2、配置YUM源文件的主要配置项
- [base]:代表仓库名称,名称可以随意取
- name:描述仓库意义
- mirrorlist:列出这个可以使用的镜像站点,如果不想使用,可以注释
- baseurl:后面接仓库地址,mirrorlist是由yum程序自行找镜像站点,baseurl则是指定一个固定容器地址
- enabled:是否使用这个仓库
- gpgcheck:是否需要查阅RPM文件内数字证书
- gpgkey:数字证书公钥文件所有位置,使用默认值
3、安装EPEL源
EPEL是yum的一个软件源里面包含了许多基本源里没有的软件了,但在我们在使用epel时是需要安装它オ可以了,EPEL,即 Extra Packages for Enterprise Linux的简称,是为企业级 Linux提供的一组高质量的额外软件包,包括但不限于 Red Hat Enterprise Linux(RHEL), Centos and Scientific Linux(SL), Oracle Enterprise Linux(OEL)
[root@test packages]# yum install epel-release
4、构建本地自用仓库
[root@test packages]# vim /etc/yum.repos.d/local.repo
[name]
name=user_name
baseurl=file:///mnt/cdrom (光盘挂载路径,即软件源的位置)
enabled=1
gpgcheck=0
挂载光盘的方法:
1、将iso文件放入虚拟机光驱
2、mount /dev/cdrom /media(或者是其它的目标路径)
YUM常用命令
- install:向系统中安装一个或多个软件包
- clean:删除缓存数据
- deplist:列出软件包的依赖关系
- erase:从系统中移除一个或多个软件包
- group list:显示或使用、组信息
- help:显示用法提示
- info:显示关于软件包或组的详细信息
- list:列出一个或一组软件包
- makecache:创建元数据缓存
- provides:查找提供指定内容的软件包
- reinstall:显示已配置的源
- search:在软件包详细信息中搜素指定字符串
- update:更新系统中的一个或多个软件包,改变软件设置和系统设置,系统版本内核都升级
- upgrade:更新软件包同时考虑软件包取代关系,不改变软件设置和系统设置,系统版本升级,内核
- version:显示机器和/或可用的源版本
源码包装应用程序
- 使用源代码安装软件的优点
- 获得最新的软件版本,及时修复bug
- 根据用户需求,灵活定制软件功能
- 应用场合举例
- 安装较新版本的应用程序时
- 当前安装的程序无法满足
- 需要为应用程序添加新的功能时
- 一般步骤
- 确认源代码编译环境,需要
gcc、make
等 - 下载软件包
- 使用
tar
命令进行解压,解压到指定目录,一般到/usr/src
目录下 - 查看解压路径下的
README
文件或INSTALL
文件 - 运行解压路径下的
./configure
脚本,用来设置安装目录,安装模块等选项 - 运行
make
命令进行编译,生产可执行二进制文件 - 运行
make install
命令进行安装,复制二进制文件到系统,配置应用环境 - 测试及应用、维护软件