Linux第十七天


在十六天中,上传第三方包到我们自制的yum服务器中我们知道第三方软件包的获取一种是我们讲解3中的官方获取,一种就是yum缓存的,但是这两种获取第三方软件的方式都是通过连接到公司外部的网络去获取的,我们必须要考滤这些第三包的1.安全性2.是否侵权。所以我们要将这些从网上下载的包交给审计部门,审计通过后,然后在上传到自己yum服务器上,这样就可以供公司内部使用了。这曾经是个面试题。

1.跳板机机制

其实在公司中,我们内部要使用公网上的仓库(比如说阿里云镜像站)的话,就会有一个跳板机机制(跳转程序)。跳转机本身是一个机器,它有两个网卡,一个对外,一个对内,所以对外有个ip,对内也有个ip,所以它就可以既访问外网,又可以访问内网。所以公司内部要获取软件包的时候会通过跳板机获取,具体过程是公司内部连接跳板机,跳板机去找外网的包仓库,这个跳板机上面有安全加固,在这个安全加固上我们可以关闭多的端口和添加防火墙策略防止被攻击,比如我们留888,22这两个端口就行了。如果有外部攻击的话,最坏的情况也就是跳板机挂了,内部环境不会受到攻击。

2.yum源不能用的解决思路

(1)考虑网络是否畅通
检查本机网络:ping 本机ip地址
检查网关:ping 网关地址
检查外网:ping dns地址
(2)外网通的话,检查缓存
yum在下载软件的时候会在某个时刻的最佳地址进行缓存这个地址,所以第二次缓存的话就会去访问第一次这个最佳的地址。所以就会存在,这个最佳地址是在某个时刻的最佳,但是过了一段时间,这个最佳地址可能不会是最佳的地址了,所以访问不到,导致yum不通。这就需要我们清理缓存。
yum clean all 清理缓存,yum makecache 生成缓存
(3)配置的源和系统版本不匹配
换一个yum源,然后清理缓存,生成缓存
(4)配置文件写错了

3.yum命令

1.yum repolist 显示配置仓库
yum repolist all 显示所有
yum repolist enabled 显示可用
2.yum list 查看所有包
yum list installed 查看已经安装的包
yum list update 查看已经更新的包
yum list available 查看可以安装的包
yum list recent 查看最近增加的包
以上所有的命令后面加上|grep 包名 可以查看单个包。加上|wc -l 可以统计包的个数
3.yum install 包名 安装包
yum install -y 包名 安装包并对所有的y/n 选择y
4.yum update 包名 升级包
5.yum remove 包名 卸载包
6.yum search 包名 搜索包
7.yum info 包名 显示包的详细信息
8.yum clean all 清除缓存
yum makecache 生成缓存
9.yum provides 包名 列出软件包提供哪些软件
演示:比如查看ip这个命令属于哪个包
在这里插入图片描述

4.linux上源码安装软件

(1)下载源码包(如果有依赖包,也要下载依赖包)
安装lrzsz这个软件,使用rz -e 可以从windows上上传文件到linux
(2)解压
(3)预编译
(4)编译 如果没有make成功,可以make clean 清理掉以前编译后产生的*.o 目标文件
(5)安装

演示1:安装memcache

memcached(c语言程序)这个软件为例,我们首先到官网上去下载这个软件,发现它有个依赖包libevent-2.1.8-stable.tar.gz,所以我们也要将它下载下来,所以安装memcached这个软件,需要安装两个包(memcached-1.5.6.tar.gz和libevent-2.1.8-stable.tar.gz)。之后我们通过rz -e 这个命令将它从windows上传到linux上,之后进行解压,解压后cd到这个解压的目录下去,会发现一堆的源码文件。之后我们要进行预编译,需要用到gcc,gcc-c++,make这三个编译软件,需要安装。
上传:在这里插入图片描述
解压了libevent-2.1.8-stable.tar.gz这个包:
在这里插入图片描述
进入到libevent-2.1.8-stable.tar.gz这个解压包下面看好多的源码包:

在这里插入图片描述
我们可以看到其中有个configure这个文件,也就是红圈圈出来的:
在这里插入图片描述
预编译:之后进行./configure --help 查看执行帮助,往上翻可以看到这一行:
在这里插入图片描述
也就是执行这个文件加上–prefix这个选项后就可以将它指定到一个自己的路径下预编译,之后echo $? 查看预编译是否成功。在这里我们将它预编译到/opt/libevent中。然后cd到/opt下发现没有libevent这个文件,因为我们是预编译所以它不会去创建。

编译:进入到解压缩的目录下,也就是libevent-2.1.8-stable.tar.g。执行make命令就即可完成编译。通过echo $?检查编译结果。注意编译的过程中会提示你缺少哪些包,我们就需要安装那些包。此处没有缺少的包

安装:进入到解压缩的目录下,也就是libevent-2.1.8-stable.tar.g。执行make install命令就即可完成安装。通过echo $?检查安装结果。此时我们第一个包就安装完成了。然后就可以在/opt下看到libevent
在这里插入图片描述
以上memcached这个软件的依赖包libevent-2.1.8-stable.tar.gz就安装完成了。接下来我们安装memcached-1.5.6.tar.gz这个包。两个包安装过程几乎一样,主要区别在于memcached-1.5.6.tar.gz这个包安装时需要在预编译时不仅要指明安装的路径还要指明指定libevent安装的路径(./configure --prefix=/usr/local/memcached –with-libevent=/usr/local/libevent/)因为它是依赖包。
(1)解压memcached-1.5.6.tar.gz这个包
(2)预编译。./configure --prefix=/opt/memcached --with-libevent=/opt/libevent
此时我们发现如果没有–with-libevent=/opt/libeven的话会报错,并且会提醒你加上。注意:这个–with-libevent后是你之前将libevent-2.1.8-stable.tar.gz这个包安装的位置。
在这里插入图片描述
(3)编译。make
(4) 安装。make install

演示2:tomcat软件(java语言程序)安装

准备:安装tomact之前需要安装jdk,这是tomcat运行环境
1.软件包下载
2.rz -e上传linux上
3.解压jdk,tomcat到/opt/jdk下 (tar -xf jdk-7u79-linux-x64.tar.gz -C /opt/jdk,tar -xf apache-tomcat-8.0.36.tar.gz -C /opt/apache)发现没有jdk的解压包下没有configure,那么它就不需要编译,解压完就能用,使用./+文件名,运行。但是这两个文件名有点长,所以我们可以使用软链接将它连接成一个简单的名字。(ln -s /opt/jdk java1,ln -s /opt/apache tomcat1)。为了能让jdk在 全局都可以使用,需要在/etc/profile.d 下配置一个java的配置文件(vim /etc/profile.d/java1.sh),以.sh结尾.
配置文件内容:
export JAVA_HOME=/usr/local/java
export JRE_HOME= J A V A H O M E / j r e e x p o r t P A T H = JAVA_HOME/jre export PATH= JAVAHOME/jreexportPATH=PATH: J A V A H O M E / b i n : JAVA_HOME/bin: JAVAHOME/bin:JRE_HOME/bin
export CLASSPATH=.: J A V A H O M E / l i b / d t . j a r : JAVA_HOME/lib/dt.jar: JAVAHOME/lib/dt.jar:JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
配置完成后,source /etc/profile.d/java1.sh 进行加载一下.这样tomcat就可以使用了。使用方法:cd /opt/apache/apache-tomcat-8.0.36/ 下,发现有bin目录,cd bin下有个startup.sh,运行这个脚本(sh start.sh或./start.sh)就可以启动tomcat.

5.rpm包安装

注意:不能解除依赖关系
在这里插入图片描述
演示:用rpm方式安装wget包。首先我们需要将yum的源全部移走,防止干扰。(我们都知道yum的源在etc下的yum.repos.d下,我们需要将这些repo结尾的文件,移动到我们新建的111目录下 mv CentOS* 111/ ,然后yum clean all 清理下缓存)。其次我们要用到系统上的包,就需要将镜像挂载上来。(mount /dev/sr0 /root/media 将镜像挂载到media下,会发现有个Packages,Packages下面就是系统自带的rpm包)。需注意的是rpm的所有操作在/root/media/Package下进行。
下来我们就进行安装wget的rpm包:
rpm -ivh wget-1.14-18.el7_6.1.x86_64.rpm
rpm -q wget 就可以看到安装的包
rpm -uvh wget-1.14-18.el7_6.1.x86_64.rpm 更新包(有则更新,无则安装)
rpm -uvh wget-1.14-18.el7_6.1.x86_64.rpm 更新包(有则更新,无则不安装)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注意:rpm安装包存在依赖,卸载时也存在依赖。比如:
在这里插入图片描述
可以看到依赖的包已经报出来,所以我们卸载时,先要卸载依赖包
rpm -qi wget 查看详细信息
rpm -ql wget 查询安装路径
rpm -qf 文件名 查询文件属于哪个rpm包(之前使用which命令)

在这里插入图片描述
如何找rpm包呢?
百度 rpmfind mirror

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值