草庐IT

Linux云计算-就业第四周作业

jiwangqi 2023-04-19 原文

1、自建yum仓库,分别为网络源和本地源

在yum安装软件包时,yum时根据系统的yum源的配置来安装软件的。yum源所指是本地服务器的文件就是本地源,指向其他服务器就是网络源。
yum源配置文件主要有2个。

/etc/yum.conf:为所有仓库提供公共配置

CENTOS7配置:
[main]
cachedir=/var/cache/yum/$basearch/$releasever #yum下载的RPM包的缓存目录
keepcache=0                     #缓存是否保存,1保存,0不保存
debuglevel=2                    #调试级别(0-10),默认为2(具体调试级别的应用,我也不了解)
logfile=/var/log/yum.log             #yum的日志文件所在的位置
exactarch=1     #在更新的时候,是否允许更新不同版本的RPM包,比如是否在i386上更新i686的RPM包
obsoletes=1     #这是一个update的参数,具体请参阅yum(8),简单的说就是相当于upgrade,允许更新陈旧的RPM包
gpgcheck=1                   #是否检查GPG(GNU Private Guard),一种密钥方式签名
plugins=1      #是否允许使用插件,默认是0不允许,但是我们一般会用yum-fastestmirror这个插件
installonly_limit=5              #允许保留多少个内核包
bugtracker_url=http://bugs.centos.org/set_project.php?
project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release

CENTOS8配置:
[main]
gpgcheck=1                        #安装前要对包进行合法性与完整性校验
installonly_limit=3               #可以同时安装的包的数量,如设为0或1,为不限制
clean_requirements_on_remove=True #删除包时,是否将不再使用的包删除
best=True                         #升级时,自动选择安装最新版,即便缺少包的依赖
skip_if_unavailable=False

/etc/yum.repos.d/*.repo 这里面的*.repo文件,为仓库的指向提供配置。repo配置文件中可用的变量:
$releasever:当前OS的发行版的主版本号
$arch:平台,如:i386,i486,i586,x86_64等
$basearch:基础平台;i386,x86_64
YUM0−YUM9:自定义变量

[repositoryID]
name=CentOS-$releasever - Base    #yum源名字,写什么无所谓。
baseurl=url://path/to/repository  #说明yum源位置
                                  #本地源一般是baseurl=file:xxxx
                                  #网络源一般是baseurl=http://  https:// ftp://
enabled={1|0}                     #这个选项表示这个repo中定义的源是启用的,0为禁用
gpgcheck={1|0}                    #这个选项表示这个repo中下载的rpm将进行gpg的校验,已确定rpm包的来源是有效和安全的
gpgkey=URL                        #定义用于校验的gpg密钥
enablegroups={1|0}
failovermethod={roundrobin|priority}
		roundrobin:意为随机挑选,默认值
		priority:按顺序访问
cost= 默认为1000
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-$releasever.repo 
epel源:https://mirrors.aliyun.com/epel/$releasever/Everything/$basearch
extras源:https://mirrors.aliyun.com/centos/$releasever/extras/$basearch/os

可以直接下载远程的aliyun源进行覆盖原有的yum源

搭建本地离线yum仓库,大致需要如下几个步骤。

1.把rpm包及其相关依赖全部都下载到本地,保存好。

yum install  --downloadonly --downloaddir=/hmoe/mirror/ \
包名(rpm_name)

上述命令即可把需要下载的软件对应的所有rpm包及其依赖下载到/hmoe/mirror/目录里

dnf reposync --repoid=epel --download-metadata -p /home/mirror/#同步源

上述命令可把某数据源的所有rpm包及其依赖下载到/hmoe/mirror/目录里

2. 手动在/etc/yum.repos.d/目录下配置本地仓库信息。

# vim /etc/yum.repos.d/as4k.repo
[as4k]                       # 是本地仓库名,可任意起名,但是注意不能与已有的仓库名重复。
name=as4k local repository   # 注释信息
baseurl=file:///home/mirror  # 填写本地仓库路径了,file://表示使用本地文件协议,
                             # 如果挂载至本机服务器,则为http://10.0.0.8
                             # 后面接本地rpm包存放路径。
gpgcheck=0                   # 填写本地仓库路径了,file://表示使用本地文件协议,后面的/aspack本地rpm包存放路径。
enabled=1                    # 表示启用本仓库,1启用,0关闭

3. 用createrepo命令生成repodata信息。
直觉上好像我们完成上述两个步骤就可使用本地yum仓库了,然而并不行。到目前位置我们的本地仓库里除了鲜红的rpm包之外什么都没有,简单来说就是需要建立存放本地仓库rpm包的索引信息:repomd.xml这个文件,具体用法不是我们关心的重点,可以使用createrepo直接生成。

createrepo /home/mirror

4. 检查确认

yum repoinfo as4k
yum repolist

yum源建立之后如果想要立刻使用,需要清空之前yum源的缓存,重新建立新yum源缓存

yum clean all    #清空缓存        
yum makecache    #建立新缓存
yum repolist     #查看yum源列表


2、编译安装http2.4,实现可以正常访问,并将编译步骤和结果提交。

2.1下载httpd2.4源码包到当前路径,并解压

cd /usr/local/src
wget https://dlcdn.apache.org//httpd/httpd-2.4.51.tar.gz
tar -xvf httpd-2.4.51

2.2使用yum安装若干依赖包:

yum install gcc openssl-devel pcre-devel apr-devel apr-util-devel -y

2.3进入解压后的文件夹,运行configure文件,指定安装路径和配置文件路径,生成

cd httpd-2.4.45/
./configure \
> --prefix=/apps/httpd \
> --sysconfdir=/etc/httpd  \
> --enable-ssl  \
> --enable-so

2.4编译源码与安装

make && make install

2.5启动httpd服务

/opt/httpd/bin/apachectl start

2.6浏览器地址栏中输入主机IP地址,即可成功访问httpd默认首页


3、利用sed 取出ifconfig命令中本机的IPv4地址

 
4、删除/etc/fstab文件中所有以#开头,后面至少跟一个空白字符的行的行首的#和空白字符

对文件进行/^#处理, 取得以#开头的行后传递给 s,进行替换 s/^#// ,替换为空后,进行空格的删除,对文件修改
 

5、处理/etc/fstab路径,使用sed命令取出其目录名和基名

 对文件进行分割处理, 第一部分为“以 / 号为开始+任意字符+/号结束”,第二部分为”非 / 号为开始+0或1个/号结束“


6、列出ubuntu软件管理工具apt的一些用法(自由总结)

#apt install 安装软件包
#apt remove 移除软件包
#apt purge 移除软件包及配置文件
#apt update 刷新存储库索引
#apt search 搜索应用程序
#apt  how 显示安装细节

有关Linux云计算-就业第四周作业的更多相关文章

  1. ruby-on-rails - 使用一系列等级计算字母等级 - 2

    这里是Ruby新手。完成一些练习后碰壁了。练习:计算一系列成绩的字母等级创建一个方法get_grade来接受测试分数数组。数组中的每个分数应介于0和100之间,其中100是最大分数。计算平均分并将字母等级作为字符串返回,即“A”、“B”、“C”、“D”、“E”或“F”。我一直返回错误:avg.rb:1:syntaxerror,unexpectedtLBRACK,expecting')'defget_grade([100,90,80])^avg.rb:1:syntaxerror,unexpected')',expecting$end这是我目前所拥有的。我想坚持使用下面的方法或.join,

  2. 计算机毕业设计ssm+vue基本微信小程序的小学生兴趣延时班预约小程序 - 2

    项目介绍随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱小学生兴趣延时班预约小程序的设计与开发被用户普遍使用,为方便用户能够可以随时进行小学生兴趣延时班预约小程序的设计与开发的数据信息管理,特开发了小程序的设计与开发的管理系统。小学生兴趣延时班预约小程序的设计与开发的开发利用现有的成熟技术参考,以源代码为模板,分析功能调整与小学生兴趣延时班预约小程序的设计与开发的实际需求相结合,讨论了小学生兴趣延时班预约小程序的设计与开发的使用。开发环境开发说明:前端使用微信微信小程序开发工具:后端使用ssm:VU

  3. ruby - 如何计算 Liquid 中的变量 +1 - 2

    我对如何计算通过{%assignvar=0%}赋值的变量加一完全感到困惑。这应该是最简单的任务。到目前为止,这是我尝试过的:{%assignamount=0%}{%forvariantinproduct.variants%}{%assignamount=amount+1%}{%endfor%}Amount:{{amount}}结果总是0。也许我忽略了一些明显的东西。也许有更好的方法。我想要存档的只是获取运行的迭代次数。 最佳答案 因为{{incrementamount}}将输出您的变量值并且不会影响{%assign%}定义的变量,我

  4. ruby - 使用 Ruby,计算 n x m 数组的每一列中有多少个 true 的简单方法是什么? - 2

    给定一个nxmbool数组:[[true,true,false],[false,true,true],[false,true,true]]有什么简单的方法可以返回“该列中有多少个true?”结果应该是[1,3,2] 最佳答案 使用转置得到一个数组,其中每个子数组代表一列,然后将每一列映射到其中的true数:arr.transpose.map{|subarr|subarr.count(true)}这是一个带有inject的版本,应该在1.8.6上运行,没有任何依赖:arr.transpose.map{|subarr|subarr.in

  5. ruby-on-rails - 在所有延迟的作业之前 Hook - 2

    是否可以在所有delayed_job任务之前运行一个方法?基本上,我们试图确保每个运行delayed_job的服务器都有我们代码的最新实例,所以我们想运行一个方法来在每个作业运行之前检查它。(我们已经有了“check”方法并在别处使用它。问题只是关于如何从delayed_job中调用它。) 最佳答案 现在有一种官方方法可以通过插件来做到这一点。这篇博文通过示例清楚地描述了如何执行此操作http://www.salsify.com/blog/delayed-jobs-callbacks-and-hooks-in-rails(本文中描述

  6. arrays - 计算数组中的匹配元素 - 2

    给定两个大小相等的数组,如何找到不考虑位置的匹配元素的数量?例如:[0,0,5]和[0,5,5]将返回2的匹配项,因为有一个0和一个5共同;[1,0,0,3]和[0,0,1,4]将返回3的匹配项,因为0有两场,1有一场;[1,2,2,3]和[1,2,3,4]将返回3的匹配项。我尝试了很多想法,但它们都变得相当粗糙和令人费解。我猜想有一些不错的Ruby习惯用法,或者可能是一个正则表达式,可以很好地回答这个解决方案。 最佳答案 您可以使用count完成它:a.count{|e|index=b.index(e)andb.delete_at

  7. ruby-on-rails - 如何计算 Ruby/Rails 中 JSON 对象的数量 - 2

    Ruby中如何“一般地”计算以下格式(有根、无根)的JSON对象的数量?一般来说,我的意思是元素可能不同(例如“标题”被称为其他东西)。没有根:{[{"title":"Post1","body":"Hello!"},{"title":"Post2","body":"Goodbye!"}]}根包裹:{"posts":[{"title":"Post1","body":"Hello!"},{"title":"Post2","body":"Goodbye!"}]} 最佳答案 首先,withoutroot代码不是有效的json格式。它将没有包

  8. ruby - 如何计算自 Ruby 中给定日期以来的周数? - 2

    目标我正在尝试计算自给定日期以来周的距离,而无需跳过任何步骤。我更喜欢用普通的Ruby来做,但ActiveSupport无疑是一个可以接受的选择。我的代码我写了以下内容,这似乎可行,但对我来说似乎还有很长的路要走。require'date'DAYS_IN_WEEK=7.0defweeks_sincedate_stringdate=Date.parsedate_stringdays=Date.today-dateweeks=days/DAYS_IN_WEEKweeks.round2endweeks_since'2015-06-15'#=>32.57ActiveSupport的#weeks

  9. 【Linux操作系统】——网络配置与SSH远程 - 2

    Linux操作系统——网络配置与SSH远程安装完VMware与系统后,需要进行网络配置。第一个目标为进行SSH连接,可以从本机到VMware进行文件传送,首先需要进行网络配置。1.下载远程软件首先需要先下载安装一款远程软件:FinalShell或者xhell7FinalShellxhell7FinalShell下载:Windows下载http://www.hostbuf.com/downloads/finalshell_install.exemacOS下载http://www.hostbuf.com/downloads/finalshell_install.pkg2.配置CentOS网络安装好

  10. Linux磁盘分区中物理卷(PV)、卷组(VG)、逻辑卷(LV)创建和(LVM)管理 - 2

    文章目录一基础定义二创建逻辑卷2-1准备物理设备2-2创建物理卷2-3创建卷组2-4创建逻辑卷2-5创建文件系统并挂载文件三扩展卷组和缩减卷组3-1准备物理设备3-2创建物理卷3-3扩展卷组3-4查看卷组的详细信息以验证3-5缩减卷组四扩展逻辑卷4-1检查卷组是否有可用的空间4-2扩展逻辑卷4-3扩展文件系统五删除逻辑卷5-1备份数据5-2卸载文件系统5-3删除逻辑卷5-4删除卷组5-5删除物理卷六LVM逻辑卷缩容6-1缩容注意事项6-2标准缩容步骤一基础定义LVM,LogicalVolumeManger,逻辑卷管理,Linux磁盘分区管理的一种机制,建立在硬盘和分区上的一个逻辑层,提高磁盘分

随机推荐