分为编译安装、rpm安装及yum安装。还有那种tar.gz那种直接解压之后就可使用的就不说了。
一、编译安装。注意编译器、第三方类库、目标源码。
编译、安装命令:make.使用make命令触发自动化编译的前提是 编译的配置文件Makefile.如果源码中没有Makefile 需要先将其调试出来,这样make命令才能正确编译、安装。
例子:编译安装nginx(后面为淘宝对nginx的再开发版).
1、上传、解压、查看README,解压tar xf tengine-xxxxxx。打开文档后看到2
2、./configure --help 查看下基本命令。我是使用:
执行:yum install gcc完毕后再次执行:./configure --prefix=/opt/soft/nginx后继续报错。此错误代表缺少第三方类库pcre。 先执行 yum search pcre 看下仓库中是否存在这个类库。确定存在。不需要选择版本,执行会自己寻找你需要的类库。继续执行,直至不缺失相应类库。成功后会发现nginx目录下及objs下对多出Makefile文件。前者定义title与命令的映射,在后者中可以发现其实本质是bash命令的集合(有兴趣可以看看)。
3、在Makefile所在目录(注意不是objs中的哪个)执行编译命令:make ,完成后执行 make install.
4、上诉已安装完成,运行上诉安装目录下的/opt/sort/nginx/sbin/nginx。在浏览器查看下如图已经安装成功。
此时我们不难发现编译安装痛点了,第三方类库与编译器需要手动添加。
二、RPM安装
以rpm方式安装jdk为例
1、执行安装命令:rpm -ivh jdk-7u67-linux-x64.rpm (i代表安装 vh代表显示安装过程)。
2、rpm提供强大的查询功能,但注意必须是以rpm方式安装的包才可以查询到。
rpm -qa 查询所有包 这里我想查询jdk 故我执行 rpm -qa | grep jdk这个查询结果就是包名,注意之前的 jdk-7u67-linux-x64.rpm 仅是文件名 并不是包名。
如果已知包名 可使用 rpm -q 包名 来查询该包是否已安装。
接下来执行:rpm -ql 包名 发现这个包安装到了/usr/java下。
注意这时并没有配置环境变量,但是使用java -version却可以正常提示。是因为rpm安装后/usr/bin/java软连接到了安装目录下的执行文件上。但这只是部分命令,环境变量还是必须要装的。(如jps(有关jvm的进程信息)命令就没有映射。)
配置环境变量在/etc/profile 这个文件是在进行交互式登录时bash解释程序启动时必须会读的文件。
注意下 rpm -qf 文件全路径 可以查询该文件是由哪个包生成的 如果是查询命令所属包可以配合whereis使用。
综上发现rpm解决了安装的易用性的问题,但是rpm并没有解决依赖缺失的问题。
三、yum安装
yum是基于rpm包管理的 yum提供了包的仓库
1、首先查看/etc/yum.repos.d/下的文件 其中定义了yum仓库的地址(可以是多个,可以是本地等)随便找个截图如下
[base]代表定义的别名 别名不能相同。 上面的代表可以进行地址转换既多个地址。下面的可以定义地址.这里的地址类似Maven的中央仓库。所以推荐个国内网址https://opsx.alibaba.com/mirror(这里膜拜阿里爸爸)。这里改变下仓库地址。
1、yum isntall wget 安装下面需要的命令
2、备份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
3、下载,wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
4、执行yum makecache.更改为从aliyun仓库下载。
如何使用本地仓库呢?
首先确定iso映像文件的cdrom里有包与元数据
1、首先挂载到/mnt下。执行 mount /dev/cdrom /mnt/
2、还是更改/etc/yum.repos.d/CentOS-Base.repos.d
改为一个 且baseurl指向本地 下面的包检查配置改为0就可以。
3、先清除缓存 yum clean all 在重新拉取缓存yum makecache (其实是拉取元数据等)
在介绍几个常用yum命令 :
1、yum update 仓库与本地包比对 进行包的升级
2、yum list 将已安装和仓库中有的其他包展示
3、删除、卸载 ecec
命令 yum remove|erase
4、yum组 以功能为例解释
问题:安装中文支持的Linux 并可以查看中文的man-pages文档(方便学习bash)
1、yum grouplist 查看yum组 找到了语言支持中的chinese support
2、yum groupinstall "chinese support" (为什么要分号呢?因为中间有空格呢,还有注意大小写)
3、查看语言 echo $LANG 改变语言 LANG=zh_CN.UTF-8
4、安装epel
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
5、yum makecache 然后安装中文文档yum install man man-pages man-pages-zh-CN
man}
6、可以查看了,美滋滋