第四周作业

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

1、简单介绍一下yum

yum 源是软件仓库,是用来安装软件包的,会自动查找依赖包。

yum 安装软件

yum list | grep 软件包  #查找软件包
yum install 软件包 -y   # 安装包
yum -e 软件包   #卸载包
yum -v 软件包 #重新安装包

2、yum配置 /etc/yum.conf

yum 配置文件分两部分 /etc/yum.conf 和 /etc/yum.repos.d/*.repo

首先简单介绍一下 yum.conf 配置yum 源用的是 /etc/yum.repos.d/*.repo 下面在做介绍。

yum.conf介绍 :为所有仓库提供公共配置 ,也就是main 部分,它定义了全局配置选项,整个yum 配置文件应该只有一个main。

[main]
cachedir=/var/cache/yum/$basearch/$releasever //yum 缓存的目录,yum 在此存储下载的rpm 包和数据库 默认就是如此
keepcache=0   //安装完成后是否保留软件包,0为不保留(默认为0),1为保留
debuglevel=2   //Debug 信息输出等级,范围为0-10,缺省为2
logfile=/var/log/yum.log   //yum 日志文件位置。用户可以到/var/log/yum.log 文件去查询过去所做的更新。
exactarch=1   //有1和0两个选项,设置为1,则yum 只会安装和系统架构匹配的软件包,例如,yum 不会将i686的软件包安装在适合i386的系统中。默认为1。
obsoletes=1   //这是一个update 的参数,具体请参阅yum(8),简单的说就是相当于upgrade,允许更新陈旧的RPM包。
gpgcheck=1   // 有1和0两个选择,分别代表是否是否进行gpg(GNU Private Guard) 校验,以确定rpm 包的来源是有效和安全的。这个选项如果设置在[main]部分,则对每个repository 都有效。默认值为0。
plugins=1   //是否启用插件,默认1为允许,0表示不允许。我们一般会用yum-fastestmirror这个插件。
installonly_limit=5 //允许保留多少个内核包,默认就是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 //指定一个软件包,yum 会根据这个包判断你的发行版本

 

3、yum 配置 /etc/yum.repos.d/*.repo

/etc/yum.repos.d/*.repo 为仓库的指向提供配置,也就是 repository 部分,它定义了每个源/服务器的具体配置,可以有一到多个

root@node01 yum.repos.d]# cd /etc/yum.repos.d/
[root@node01 yum.repos.d]# ll
total 40
-rw-r--r--. 1 root root 1664 Oct 23 2020 CentOS-Base.repo   // 在线的yum源配置文件,联网用
-rw-r--r--. 1 root root 1309 Oct 23 2020 CentOS-CR.repo     //本地yum源配置文件,本地镜像用
-rw-r--r--. 1 root root 649 Oct 23 2020 CentOS-Debuginfo.repo //包尤其和内核相关的更新和软件安装
-rw-r--r--. 1 root root 314 Oct 23 2020 CentOS-fasttrack.repo
-rw-r--r--. 1 root root 630 Oct 23 2020 CentOS-Media.repo
-rw-r--r--. 1 root root 1331 Oct 23 2020 CentOS-Sources.repo
-rw-r--r--. 1 root root 8515 Oct 23 2020 CentOS-Vault.repo //这个是最近新版本的加入的老版本的yum源配置
-rw-r--r--. 1 root root 616 Oct 23 2020 CentOS-x86_64-kernel.repo

具体的配置介绍

 #也叫serverid,必须是独一无二的
[base]
#name,是对repository的描述
name=CentOS7  
##指定的获取包的地址,其中url支持的协议有 http:// ftp:// file://三种。可以跟多个url
baseurl=http://10.0.0.150/yum/centos/7/x86_64  
      https://mirrors.aliyun.com/centos/$releasever/os/$basearch
      https://mirrors.cloud.tencent.com/centos/$releasever/os/$basearch
      https://mirrors.huaweicloud.com/centos/$releasever/os/$basearch
#是否启用这个仓库 1 启用,0不启用  
enable=1
#是否检查,1 检查,0 不检测 设置了1 必须设置下面的 gpgkey
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

4、配置网络源 国内镜像

root@node01 yum.repos.d]# cd /etc/yum.repos.d/
[root@node01 yum.repos.d]# vi CentOS-Base.repo
[base]
name=CentOS-$releasever - Base
baseurl=https://mirrors.aliyun.com/centos/$releasever/os/$basearch
      https://mirrors.cloud.tencent.com/centos/$releasever/os/$basearch
      https://mirrors.huaweicloud.com/centos/$releasever/os/$basearch
      https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/os/$basearch
enable=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

[epel]
name=epel
baseurl=https://mirrors.huaweicloud.com/epel/$releasever/$basearch
      https://mirrors.aliyun.com/epel/$releasever/$basearch
      https://mirrors.cloud.tencent.com/epel/$releasever/$basearch
      https://mirrors.tuna.tsinghua.edu.cn/epel/$releasever/$basearch
enable=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

[extras]
name=extras
baseurl=https://mirrors.aliyun.com/centos/$releasever/extras/$basearch
      http://mirrors.huaweicloud.com/centos/$releasever/extras/$basearch
gpgcheck=0
enabled=1

5、配置yum 源 本地源(镜像文件)

本例子用镜像文件,用镜像文件做,且目的是做一个服务器,可以供其他机器使用。(centos7)
1、前置条件,关闭防火墙和selinux
systemctl disable firewalld #防火墙永久关闭
修改配置文件 /etc/selinux/config
将SELINUX=enforcing改为SELINUX=disabled ,然后重启机器

2、安装httpd服务,提供网页浏览
yum -y install httpd   #安装
systemctl start httpd #启动
systemctl enable httpd #开机自启动

3、创建仓库目录
#mkdir /var/www/html/centos/7 -pv
4、挂载系统镜像 到系统并复制内容到仓库子目录
mkdir /mnt/cdrom
mount -o loop /dev/sr0 /mnt/cdrom/   #只读模式挂载
cp -r /mnt/cdrom/* /var/www/html/centos/7

5、yum 客户端配置
首先建立备份文件夹,把自带的配置文件移动到备份文件夹,并创建新的配置文件
root@node01]# cd /etc/yum.repos.d/
root@node01 yum.repos.d]# mkdir bak
root@node01 yum.repos.d]# mv CentOS-* bak/
root@node01 yum.repos.d]# touch base.repo 并添加内容
root@node01 yum.repos.d]# vi base.repo
[root@node01 yum.repos.d]# vi CentOS-Base.repo

[BaseOS]
name=BaseOS
baseurl=file:///var/www/html/centos/7
enable=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#其他机器想用这个就需要用IP
[BaseOS]
name=BaseOS
baseurl=http://10.0.0.150/var/www/html/centos/7
enable=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
6、清空缓存
yum clean all
7、查看可用yum 源
yum repolist

6、配置yum 源 私有源(网上下载相应的仓库文件和元数据)

本例子用网上下载的仓库文件和元数据做,且目的是做一个服务器,可以供其他机器使用。(centos7)
1、首先建立备份文件夹,把自带的配置文件移动到备份文件夹,并创建新的配置文件
root@node01]# cd /etc/yum.repos.d/
root@node01 yum.repos.d]# mkdir bak
root@node01 yum.repos.d]# mv CentOS-* bak/
root@node01 yum.repos.d]# touch base.repo 可以自己这么创建一个配置文件
也可以直接就选用阿里源的配置文件(这是将阿里源的配置文件下载到本地)
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
这里我们用wget 这种方式
2、关闭防火墙和selinux
systemctl disable firewalld #防火墙永久关闭
修改配置文件 /etc/selinux/config
将SELINUX=enforcing改为SELINUX=disabled ,然后重启机器

3、安装httpd服务,提供网页浏览
yum -y install httpd   #安装
systemctl start httpd #启动
systemctl enable httpd #开机自启动

4、创建仓库目录(本次制作base仓库 源和 epel 扩展仓库 系统都是64位的)
#mkdir /var/www/html/centos/7/os/x86_64 -pv
#mkdir /var/www/html/centos/7/epel/x86_64 -pv

5、base源,有镜像还是直接用镜像文件就可以
挂载系统镜像 到系统并复制内容到仓库子目录
[root@centos7]#mkdir /mnt/cdrom
[root@centos7]#mount -o loop /dev/sr0 /mnt/cdrom/   #只读模式挂载
[root@centos7]#cp -r /mnt/cdrom/* /var/www/html/centos/7/os/x86_64

6、下载阿里云的epel源,制作私有扩展源也就是epel源
[root@centos7]# reposync --repoid=epel --download-metadata -p /var/www/html/centos/7/epel/x86_64/
#--download-metadata 加此选项可以下载元数据 如果不加这个选项需要
#安装yum install -y createrepo
#reposync --repoid=epel -p /var/www/html/centos/7/epel/x86_64/
#createrepo /var/www/html/centos/7/epel/x86_64/ 这是创建索引文件。

还需要注意一点,这样下载下来后,会在x86_64 目录下在创建一个epel 文件夹,并且下载的内容都在这个epel 文件夹中,所以我们需要移动一下,使用以下命令即可
mv /var/www/html/centos/7/epel/x86_64/epel/* /var/www/html/centos/7/epel/x86_64/
记得把这个x86_64 下面那个 epel 目录删掉

7、客户端配置,修改 CentOS-Base.repo 配置文件
[base]
name=CentOS-$releasever
baseurl=http://10.0.0.151/centos/$releasever/os/$basearch/
enable=1
gpgcheck=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

[epel]
name=CentOS-$releasever
baseurl=http://10.0.0.151/centos/$releasever/epel/$basearch/
enable=1
gpgcheck=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

8、清理yum 缓存,并查看源
[root@node02 yum.repos.d]# yum cleanall
Loaded plugins: fastestmirror
No such command: cleanall. Please use /usr/bin/yum --help
[root@node02 yum.repos.d]# yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
repo id                                                                     repo name                                                               status
base/7/x86_64                                                               CentOS-7                                                               10,072
epel/7/x86_64                                                               CentOS-7                                                               13,747
repolist: 23,819
[root@node02 yum.repos.d]#
以上本地私有源就可以用了,其他机器可以直接复用 CentOS-Base.repo 配置文件 这个配置文件就可以了

9、注意centos8 还需要配置一个AppStream 源,这里就不做介绍了。

 

二 编译安装httpd2.4

1、关闭防火墙和selinux

systemctl disable firewalld  #防火墙永久关闭
修改配置文件 /etc/selinux/config
将SELINUX=enforcing改为SELINUX=disabled ,
然后重启机器
reboot

2、下载源码包

https://httpd.apache.org/download.cgi#apache24

3、上传源码包到服务器上data 目录下

 

 

4、安装依赖包

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

5、开始安装

[root@node03]# cd /data    #进入压缩包所在的目录。
[root@node03 data]# tar -zxvf httpd-2.4.53.tar.gz   #解压
[root@node03 data]# cd httpd-2.4.53   #进入http的目录,这个时候,会看到里面有个configure文件夹
[root@node03 httpd-2.4.53]# ./configure --prefix=/apps/httpd --sysconfdir=/etc/httpd --enable-ssl
[root@node03 httpd-2.4.53]#make && make install
#[root@node03 httpd-2.4.53]##make -j 4 && make install  

6、启动并测试

[root@node03 httpd-2.4.53]#systemctl start httpd

 

 

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

[root@node03 data]# ifconfig eth0 | sed -n '2p'  #取出ip 所在的行    -n  '2p'取第二行
inet 10.0.0.152 netmask 255.255.255.0 broadcast 10.0.0.255
[root@node03 data]# ifconfig eth0 | sed -nr '2s/[^0-9.]+/\n/gp'   # -r 是代表使用正则表达式,s///g 是固定格式替换 ,\n 换行 

10.0.0.152
255.255.255.0
10.0.0.255
[root@node03 data]# ifconfig eth0 | sed -nr '2s/[^0-9.]+/\n/gp'|sed '1d' # ‘1d’    #删除第一行
10.0.0.152
255.255.255.0
10.0.0.255
[root@node03 data]# ifconfig eth0 | sed -nr '2s/[^0-9.]+/\n/gp'|sed '1d' |sed '2,$d'  # '2,$d' ‘删除第2到最后一行
10.0.0.152
[root@node03 data]#

 

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

[root@node03 data]# cat /etc/fstab |sed '/#/d'

/dev/mapper/centos-root / xfs defaults 0 0
UUID=688ce983-54be-415b-a8dc-f9c63342156b /boot xfs defaults 0 0
/dev/mapper/centos-data /data xfs defaults 0 0
/dev/mapper/centos-swap swap swap defaults 0 0
[root@node03 data]# 

 

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

[root@node03 data]# echo "/etc/fstab"
/etc/fstab
[root@node03 data]# echo "/etc/fstab" |sed -r 's#(^/.*/)([^/]+/?)#\1#'   #取目录
/etc/
[root@node03 data]# echo "/etc/fstab" |sed -r 's#(^/.*/)([^/]+/?)#\2#'    #取基名
fstab
[root@node03 data]#

 

 

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

apt(Advanced Packaging Tool)是一个在 Debian 和 Ubuntu 中的 Shell 前端软件包管理器。

apt 命令提供了查找、安装、升级、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。

apt 命令执行需要超级管理员权限(root)。

 

apt 语法

apt [options] [command] [package ...]
  • options:可选,选项包括 -h(帮助),-y(当安装过程提示选择全部为"yes"),-q(不显示安装的过程)等等。
  • command:要进行的操作。
  • package:安装的包名

apt 常用命令

  • 列出所有可更新的软件清单命令:sudo apt update

  • 升级软件包:sudo apt upgrade

    列出可更新的软件包及版本信息:apt list --upgradeable

    升级软件包,升级前先删除需要更新软件包:sudo apt full-upgrade

  • 安装指定的软件命令:sudo apt install <package_name>

    安装多个软件包:sudo apt install <package_1> <package_2> <package_3>

  • 更新指定的软件命令:sudo apt update <package_name>

  • 显示软件包具体信息,例如:版本号,安装大小,依赖关系等等:sudo apt show <package_name>

  • 删除软件包命令:sudo apt remove <package_name>

  • 清理不再使用的依赖和库文件: sudo apt autoremove

  • 移除软件包及配置文件: sudo apt purge <package_name>

  • 查找软件包命令: sudo apt search <keyword>

  • 列出所有已安装的包:apt list --installed

  • 列出所有已安装的包的版本信息:apt list --all-versions

 

posted @ 2022-04-06 15:14  是阿帅不是阿衰  阅读(36)  评论(0编辑  收藏  举报