Linux下的软件安装03

Linux下的软件安装

Windows下安装软件时,只需用鼠标双击软件的安装程序,或者用Zip等解压缩软件解压缩即可安装

Linux下软件的安装大概可以分为如下几种:

二进制程序的安装(最简单安装)

Rpm程序安装(后缀名为*.rpm)

Yum在线安装(本质也是rpm安装,它只是rpm的一种安装方式而已)

源码安装

 

二进制程序的安装:

RPM格式的包,还有以“*.tar.gz、*.tgz、*.bz2“等形式的二进制软件包

安装JDK

若机器中自带的是openJDK那么我们需要处理掉,来安装自己的JDK

  1. 0.  java -version 查看
  2. 首先使用which java 找到其路径
  3. 然后通过 mv /user/bin/java /user/bin/java_bak 让其失效,相当于卸载了
  4. 还是可以使用rpm -qa | grep jdk命令来查看系统自带的jdk具体的软件包信息
  5. yum -y remove java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7 执行卸载工作。remove后面跟的是软件包信息

5.还可以使用 rpm -e --nodeps进行强制卸载(PS:将所有的openjdk都nodeps掉,记得Tab键可以自动补全哦)

      rpm -e --nodeps java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el7.x86_64

      rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el7.x86_64

上传到目录中

然后进行解压

   tar -zxvf /home/jdk-8u152-linux-x64.tar.gz -C /usr/local/

后面的路径自己写

进入到对应的路径   ./jdk1.8.0_152/bin/java -version

就可以查看版本了

配置环境变量是为了以后方便使用

 vi /etc/profile

将进入和这个里配置环境变量,这是一个全局的环境变量谁都可以使用了

在最后添加

 export JAVA_HOME=/usr/local/jdk1.8.0_152/

export PATH=$PATH:$JAVA_HOME/bin:

保存退出 然后然后重新加载资源文件

 source /etc/profile

然后执行java -version

优点是安装简单、容易

缺点是缺乏灵活性,相应的软件包执行在对应平台下安装,离开这个环境软件就无法运行。

 

 

RPM是Red Hat Package Manager的缩写,本意就是Redhat软件包管理。是最先由Redhat公司开发出来的linux下软件包管理工具,由于这种软件管理方式非常方便,逐渐被其它linux发行商所借用,现在已经成为linux平台下通用的软件包管理方式,例如Fedora 、Redhat、suse、Mandrake等主流linux发行版本都默认采用了这种软件包管理方式。

RPM相当于Windows下的exe CenterOS是RedHat下社区版本(山寨版本) 所以也支持

例如一个rpm文件:nxserver-2.1.0-22.i386.rpm其中“nxserver”表示软件的名称,“2.1.0”表示软件的版本号,“22”表示软件更新发行的次数,“i386”表示适合硬件的平台,最后的“.rpm”是rpm软件包的标识

特殊的el6  redad-hat enterprise(企业级) linux 6   noarch :没有有任何平台限制

安装命令:

     查询命令:

     rpm -qa / -ql /-q | grep 名称

    -q 查询 -a 所有 -l文件列表  一般会跟管道来过滤

     安装命令:

 rpm -ivh 名称

-i安装  -v执行过程 -h列出标记(hash)

     更新:

     rpm -Uvh 名称

     -U 更新 -v 执行过程 -h列出标记(hash)

     卸载:

     rpm -e -- nodeps  名称

-e删除 --nodeps:不检查软件之间的依赖关系 进行强制删除

 

上传

   rpm -ivh /home/nc-1.84-22.e16.x86_64.rpm

很简单就安装完了

卸载也很简单rpm -qa | grep nc

rpm -e --nodeps nc-1.84-22.el6.x86_64卸载了

 

安装Mysql 上传

 

安装中若出现这样的问题

 

就是我们所说的依赖问题了

那么这个时候的解决办吧就是去下载这个依赖包

yum install perl-Module-Install.noarch 安装一下然后在安装mysql 

 

 

就会安装成功

然后启动服务

service mysql start

mysql就会进入到mysql中 执行show databases; 查看数据库 然后执行quit;退出

rpm -qa | grep MySQL 查询

卸载

 

 

 

 RPM包管理方式的优点是:安装简单方便,因为软件已经编译完成打包完毕,安装只是个验证环境和解压的过程。此外通过RPM方式安装的软件,RPM工具都会记录软件的安装信息,这样方便了软件日后的查询,升级和卸载。

  RPM包管理方式的缺点是:对操作系统环境的依赖很大,它要求RPM包的安装环境必须与RPM包封装时的环境相一致或相当。还需要满足安装时与系统某些软件包的依赖关系,例如需要安装A软件,但是A软件需要系统有B和C软件的支持,那么就必须先安装B和C软件,然后才能安装A软件。这也是我们在用RPM包方式安装软件需要特别注意的地方。

 

 

Yum安装

yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。

提供了rpm仓库并对其进行管理

yum的优点:解决了rpm安装的依赖性、可指定位置

Yum的缺点:yum安装需要网络(本地yum源除外)

Linux的安装原则:最小量安装(只安装自己需要的),安装后尽量别卸载(卸载容易导致依赖丢失)

yum的在线安装简单,服务器必需要联网。

查找: 查看安装文件是否存在

 yum info gcc

 

在没有任何配置修改的情况下yum源的位置是

 ll /etc/yum.repos.d/

 

查看文件

 

 

 

gpgkey是校验

yum list 可以列出所有要安装的包

yum list gcc 也可查找

yum grouplist 查看可安装的组包

 

安装:

先不要使用-y 然后有确认那一步在说

yum install -y 包名 

这里的-y代表的是确认


安装组包

 yum groupinstall -y Development tools

 

更新:

yum -y update  名称    升级所有包,改变软件设置和系统设置,系统版本内核都升级

yum -y upgrade 名称   升级所有包,不改变软件设置和系统设置,系统版本升级,内核不
yum groupupdate 组名升级程序组group1

改变不加名称就相当于升级所有的

 

卸载

yum remove -y 名称
yum groupremove -y 名称 删除组

安装gcc后不要删除

 

清除缓存

yum clean all 清除所有缓存

yum makecache     重新构建缓存

 

 

Yum在线源

linux通过镜像源进行下载

http://mirrors.163.com/

http://mirrors.sohu.com/

http://mirrors.aliyun.com/

https://mirrors.tuna.tsinghua.edu.cn/  清华大学

http://mirrors.ustc.edu.cn/            中科大

 

这里有和你多镜像网站,对于国内的访问就是很快的了,在这里强烈推荐阿里

先访问http://mirrors.aliyun.com/

 


在帮助中有一个命令  我们可以试验一样是否有这个命令

 安装一下

然后先执行

 

然后在下载文件

 

查看

 

 

清除缓存

 yum clean all

重建缓冲

 yum makecache

这样一来就完成了网络源的配置 以后使用下载速度相对就快了

 

 

Yum在本地源

在某些时候网络是不能使用的(军方,政府,无网络的地方)

第一步现将原有网络源Base文件进行备份

 

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.netBa

Ckup

然后拷贝一份原有的备份文件

cp CentOS-Base.repo.backup ./CentOS-Base.repo

编辑文件:

 

 

 

修改到这里

 

/mnt是挂载光盘的位置

回到虚拟机

 

 

 

先进行光驱挂载

 

这句话提示挂载成功

 

 

然后在mnt目录下查看文件

 

可以看Packages

ls | wc -l

清除缓存

 yum clean all

重建缓冲

 yum makecache

查看

 yum repolist

在安装

 

Ps:还可以将两张DVD中的Package包拷贝要想要的目录 并且将DVD1中的repodata拷贝出来 在修改 yum.repos.d/CentOS-Base.repo 下的 file:///到你复制的那个文件路径即可 本地源就完成了

 

建议切换成网络源

安装yum groupinstall "Chinese Support"

打印语言:echo $LANG

修改语言:LANG=zh_CN.UTF-8

 

增加epel的repo

 

 

 

清除缓存

 yum clean all

重建缓冲

 yum makecache

 

epel这个源中的数据更多而且有专业人员在维护,本地源最多句6000多,而这个源有12000多

yum search man-pages 查看 若是没有配置epel 是没有这个的

 

在安装

yum install man man-pages man-pages-zh-CN 中文版

在执行man ls 的时候 就是就是中文显示了

 

 

 

 

源码安装:

由于linux操作系统开放源代码,因而在其上安装的软件大部分也都是开源软件,例如apache、tomcat、php等软件。开源软件基本都提供源码下载,源码安装的方式;

源码安装的优点是:

1、用户可以自己定制软件功能,安装需要的模块,不需要的功能可以不用安装。

2、用户还可以自己选择安装路径,方便管理。

3、卸载软件也很方便,只需删除对应的安装目录即可。

4、能最大程度和服务器平台融合,效率稍微比其他方式高。

5、没有windows所谓的注册表之说。

源码安装的缺点是:

1、安装较为繁琐,需要自己配置

2、安装较为耗时,需要自己编译源码

3、安装较为容易出错,出错也难以解决

 

源码安装软件一般有以下几个步骤组成:下载解压源码、分析安装平台环境(configure)、编译安装软件(make,make install)。

 

上传

然后解压

tar -zxvf tengine-2.1.0.tar.gz

解压完后会得到源码文件

 

需要编译这个源码需要使用make,make中编译的就是makefile文件,但是这个整个目录中是没有makefile这个文件的

不是所有的源码安装时都没有makefile这个文件的,一般开发者会在编译源码的时候自带makefile文件,但是没有makefile文件怎么办?

这里可以看到README 查看这个文件

 

执行安装位置  --perfix 指定安装目录

 

若上面安装了gcc 这里不会报这个错误, 没安装报错没有 C语言编译器 gcc

 

安装:

 

然后在次执行安装 执行安装位置  --perfix 指定安装目录

 

 

再次报错

 

 

 

 

使用yum安装的好处就出来了

输入

 

 

然后在次执行安装 执行安装位置  --perfix 指定安装目录

 

再次报错

 

安装

然后在次执行安装 执行安装位置  --perfix 指定安装目录 OK成功

 

 

查看:vi Makefile

 

进入cd objs/这里面 vi Makefile

搜索/install   存在目录就使用, 不存在就创建

 

然后回到上层目录 cd ..

然后执行 make 进行编译

然后在执行make install 安装(拷贝)完成之后执行

cd /opt/nginx

进入到

cd sbin

执行./nginx 看着没什么反应 这是打开浏览器输入自己的IP即可访问

 

配置nginx配置service启动

第一步:

编写nginx文件,放入/etc/init.d/

nginx文件内容如下,粉红色部分为自己实际nginx安装的路径。

 

第二步:

执行

chkconfig --add /etc/init.d/nginx
chmod 755 /etc/init.d/nginx
chkconfig --add nginx

第三步

service nginx start 开启

service nginx stop 停止

service nginx reload 重启
 
Service nginx status 状态

 

Ps:若出现无法访问的情况

先查看nginx是否启动 ps -aux | grep nginx

然后确定ip是否连接外网 ping www.baidu.com

最后检查防火墙service iptables status 开启了一定要关闭 service iptables stop

posted @ 2018-09-17 15:04  lijun199309  阅读(133)  评论(0编辑  收藏  举报