学习Linux(九)软件安装

 

 

分为编译安装、rpm安装及yum安装。还有那种tar.gz那种直接解压之后就可使用的就不说了。

一、编译安装。注意编译器、第三方类库、目标源码。

编译、安装命令:make.使用make命令触发自动化编译的前提是 编译的配置文件Makefile.如果源码中没有Makefile 需要先将其调试出来,这样make命令才能正确编译、安装。

例子:编译安装nginx(后面为淘宝对nginx的再开发版).

1、上传、解压、查看README,解压tar xf tengine-xxxxxx。打开文档后看到2

2、./configure --help 查看下基本命令。我是使用:

执行后报错。没有C得编译器导致的,所以安装下

执行: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。在浏览器查看下如图已经安装成功。

此时学习Linux(九)软件安装_第1张图片

 

 

此时我们不难发现编译安装痛点了,第三方类库与编译器需要手动添加。

二、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 包名  学习Linux(九)软件安装_第2张图片发现这个包安装到了/usr/java下。

注意这时并没有配置环境变量,但是使用java -version却可以正常提示。是因为rpm安装后/usr/bin/java软连接到了安装目录下的执行文件上。但这只是部分命令,环境变量还是必须要装的。(如jps(有关jvm的进程信息)命令就没有映射。)

配置环境变量在/etc/profile  这个文件是在进行交互式登录时bash解释程序启动时必须会读的文件。

在文件的末尾添加,后记得source一下即可。

注意下 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 (其实是拉取元数据等)

4、查看仓库列表:yum repolist  

在介绍几个常用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、可以查看了,美滋滋

学习Linux(九)软件安装_第3张图片

你可能感兴趣的:(Linux)