linux运维笔记----使用yum安装常见问题小结

一、背景
     最近因为工作需要,需要部署一个海外站点,由于自己对linux也是个半调子水平,所以这个过程中遇到很多"奇奇怪怪"的异常,当然所有的事情必定是事出有因。大部分的问题都是卡在环境的问题上,各种配置啥的,反正很糟心。因此这里对这方面的遇到的报错以及过程做一个简单的小结,本次出现的一系列的问题都是一个小的导火索导致的---安装jdk1.8失败,然后就引出了很多问题。


二、过程
   1. 首先提供了一套裸机,部署站点的首要条件就是配置环境,本次配置的需要部署java服务器、tengine服务器等,因此需要依赖相关的依赖库。由于服务器使用的是tomcat,比如需要部署jdk环境。
      
   1.1 安装jdk1.8的流程

       linux下面安装jdk一般有两种途径,第一种就是通过手动拷贝jdk文件夹过去,然后做一个软链,然后设置环境变量/etc/profile等,之后就ok了。第二种方法就是通过yum来安装,当然第二种更加的方便,遇到的问题也多。这里主要介绍第二种。

安装方式很简单,执行以下命令即

yum -y install java-1.8.0-openjdk  

然后就开始执行安装程序

linux运维笔记----使用yum安装常见问题小结_第1张图片

报错了,No package java-1.8.0-openjdk available. 该情况有两种可能,第一种是需要安装的package的名称写错了,第二种就是yum中没有该软件包。如果排除第一种情况的话,那么就可能是第二种情况,这种情况下,需要查找一下yum中包含的jdk的情况

可以执行一下集中命令都可以

yum search jdk
yum -y list java*

这两个命令都可以得到当有yum源中包含的所有的jdk的包名称,具体结果如下

Loaded plugins: bestyumcache, branch, fastestmirror, security
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
=============================================================================== N/S Matched: jdk ================================================================================
alibaba-jdk.x86_64 : JDK for Alibaba B2B
copy-jdk-configs.noarch : JDKs configuration files copier
java-1.6.0-openjdk.x86_64 : OpenJDK Runtime Environment
java-1.6.0-openjdk-demo.x86_64 : OpenJDK Demos
java-1.6.0-openjdk-devel.x86_64 : OpenJDK Development Environment
java-1.6.0-openjdk-javadoc.x86_64 : OpenJDK API Documentation
java-1.6.0-openjdk-src.x86_64 : OpenJDK Source Bundle
yunti-jdk-16032.noarch : JDK for Yunti Hadoop gateways
icedtea-web.x86_64 : Additional Java components for OpenJDK
ldapjdk.x86_64 : The Mozilla LDAP Java SDK

Name and summary matches only, use "search all" for everything.

果然只有jdk版本1.6,没有更高的了。发现没有jdk1.8的版本,该种情况是因为yum镜源太老,没有新的版本,需要更新yum源。yum源是啥,怎么更新,感觉出现的问题越来越多。

1.2 更新yum源

   经过n多次的百度和谷歌之后,目前国内比较的yum源主要是阿里云、163和搜狐的,这里我们主要使用其中之一即可。总结更新yum源的步骤如下:

       首先进入到yum源的目录下面,做一个备份

    cd /etc/yum.repos.d
 做一个备份,防止更新失败,之后还可以回滚
   mv CentOS-Base.repo CentOS-Base.repo.bk

    下载比较新的yum源,这里不同的版本可以升级不同的,或者不同厂商的

   CentOS 5
    wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo

   CentOS 6
   wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

这里可以根据自己的需求和系统版本自行选择升级即可,更新完成之后,需要执行一下这个命 更改CentOS-Media.repo使其为不生效

    enabled=0

运行yum makecache生成缓存

 yum clean all
 yum makecache

到这里yum源总算更新完成了,是不是就有了我们需要的jdk包呢,我们执行一下上面的命令yum search jdk,得到的结果如下:

Loaded plugins: bestyumcache, branch, fastestmirror, security
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
=============================================================================== N/S Matched: jdk ================================================================================
alibaba-jdk.x86_64 : JDK for Alibaba B2B
copy-jdk-configs.noarch : JDKs configuration files copier
java-1.6.0-openjdk.x86_64 : OpenJDK Runtime Environment
java-1.6.0-openjdk-demo.x86_64 : OpenJDK Demos
java-1.6.0-openjdk-devel.x86_64 : OpenJDK Development Environment
java-1.6.0-openjdk-javadoc.x86_64 : OpenJDK API Documentation
java-1.6.0-openjdk-src.x86_64 : OpenJDK Source Bundle
java-1.7.0-openjdk.x86_64 : OpenJDK Runtime Environment
java-1.7.0-openjdk-demo.x86_64 : OpenJDK Demos
java-1.7.0-openjdk-devel.x86_64 : OpenJDK Development Environment
java-1.7.0-openjdk-javadoc.noarch : OpenJDK API Documentation
java-1.7.0-openjdk-src.x86_64 : OpenJDK Source Bundle
java-1.8.0-openjdk.x86_64 : OpenJDK Runtime Environment
java-1.8.0-openjdk-debug.x86_64 : OpenJDK Runtime Environment with full debug on
java-1.8.0-openjdk-demo.x86_64 : OpenJDK Demos
java-1.8.0-openjdk-demo-debug.x86_64 : OpenJDK Demos with full debug on
java-1.8.0-openjdk-devel.x86_64 : OpenJDK Development Environment
java-1.8.0-openjdk-devel-debug.x86_64 : OpenJDK Development Environment with full debug on
java-1.8.0-openjdk-headless.x86_64 : OpenJDK Runtime Environment
java-1.8.0-openjdk-headless-debug.x86_64 : OpenJDK Runtime Environment with full debug on
java-1.8.0-openjdk-javadoc.noarch : OpenJDK API Documentation
java-1.8.0-openjdk-javadoc-debug.noarch : OpenJDK API Documentation for packages with debug on
java-1.8.0-openjdk-src.x86_64 : OpenJDK Source Bundle
java-1.8.0-openjdk-src-debug.x86_64 : OpenJDK Source Bundle for packages with debug on
ldapjdk-javadoc.x86_64 : Javadoc for ldapjdk
yunti-jdk-16032.noarch : JDK for Yunti Hadoop gateways
icedtea-web.x86_64 : Additional Java components for OpenJDK
ldapjdk.x86_64 : The Mozilla LDAP Java SDK
Name and summary matches only, use "search all" for everything.

果然就要了我们需要的yum源,然后执行以上的命令yum -y install java-1.8.0-openjdk安装完成之后,检查jdk的是否安装完成:

java -version
openjdk version "1.8.0_161"
OpenJDK Runtime Environment (build 1.8.0_161-b14)
OpenJDK 64-Bit Server VM (build 25.161-b14, mixed mode)

到这里,我们总算顺利的安装完成了。

但是,在安装的过程中经常会出现这种错误:

Loaded plugins: branch, fastestmirror, security
Determining fastest mirrors
 * addons: mirrors.aliyun.com
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
http://mirrors.aliyun.com/centos/6/addons/x86_64/repodata/repomd.xml: [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404"
Trying other mirror.
http://mirrors.aliyuncs.com/centos/6/addons/x86_64/repodata/repomd.xml: [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404"
Trying other mirror.
Error: Cannot retrieve repository metadata (repomd.xml) for repository: addons. Please verify its path and try again 
 

安装的过程中一直报这个错误,这是由于网络的问题,repomd.xml文件下载不来,大部分都是因为配置了代理或者其他网络原因导致的,而本次是因为没有配置host文件地址,导致的.本次绑定一个ip地址

10.107.84.2 yum.tbsite.net

当然也有很多是其他问题,具体问题需要具体分析,但是这里挺一个场景。


1.3 mount挂载磁盘

    对以上的环境安装完成之后,有的时候需要一个目录来安装服务器,此时为了方便,经常需要做一个软链

    首先,需要查看一下磁盘当前的分区情况以及格式

df -Th 

  然后新建一个文件夹

mkdir server

然后把这个文件夹挂载上去  

mount /dev/vdb1 /server
挂载完成之后,查看一下
 df -h 

以上对磁盘的挂载就结束了,但是很多情况下,发现重启一下机器,挂载的文件夹就不见了。这是因为没有写入到系统文件中,linux已重启之后不会保存,只要做如下操作即可

sh -c "echo /dev/vdb1 /server ext4 defaults 0 0 >> /etc/fstab"

三、小结

    到这里,基础的环境配置算是完成了,当然还有tengine和openssl ,这个这里面没有描述。linux中出现的很多问题非常的细致,因此需要不停的总结才能提高自己...

你可能感兴趣的:(linux,server,服务器,运维)