学习周报-20221211

一 centos7修改系统运行级别的方法

方法一

1)重启系统

reboot

2)按任意键中断启动加载的倒计时

在这里插入图片描述

3)将光标移动到要编辑的项目,并按 e 进行编辑
在这里插入图片描述

4)找到Linux16所在的行,在行尾添加内容,并ctrl+x提交

在这里插入图片描述

方法二

1)设置系统默认运行级别

systemctl set-default multi-user.target

2)重启系统

reboot

二 修改(忘记)centos系统的root密码

1)重启系统

reboot

2)按任意键中断启动加载的倒计时

在这里插入图片描述

3)将光标移动到要编辑的项目,并按 e 进行编辑
在这里插入图片描述

4)找到Linux16所在的行,在行尾添加内容,并ctrl+x提交

在这里插入图片描述

5)以读写形式重新挂载 /sysroot

命令 mount -o remount,rw /sysroot

在这里插入图片描述

6)切换为chroot存放位置

命令 chroot /sysroot

在这里插入图片描述

7)设置新的root密码

在这里插入图片描述
8)连续两次exit,重新启动系统

请添加图片描述

三 文件的atime、mtime、ctime比较

1 定义

缩写全称释义
atimeAccess Time文件最后一次访问(读取或执行)的时间
mtimeModify Time文件内容最后一次改变的时间
ctimeChange Time文件属性最后一次改变(包括权限、链接个数等)的时间

2 mtime和ctime的比较

mtime指的是文件内容最后一次被修改后的时间。
比如用echo将内容重定向至文件,或者用vim编辑文件内容时,时间会改变。

ctime指的是文件的元数据最后一次被修改的时间,也就是文件的属性信息。
比如更改文件的inode、文件的链接数、文件的权限、文件的属主和属组用户信息等。

需要注意的是,当文件的内容被修改时,首先block会必然改变,因为文件的大小与之前会不一致;其次inode也会随之变化,文件变得不同,属性信息也会发生改变;而inode的变化也会导致ctime的变化,因为元数据发生了改变。

简单总结就是,mtime改变,ctime就一定会改变;
ctime改变,mtime却不一定改变。

3 atime在访问文件后并不一定会修改

使用 ext3 文件系统的时候,如果在使用 mount 命令进行挂载时使用了 noatime 参数,那么就不会更新 atime 的信息。

事实上,无论读取文件,还是复制文件,都需要访问源文件,都会进行频繁的写操作,并且增加了磁盘的IO消耗,会相当消耗系统资源。如果完全禁止atime的修改,则会破坏 POSIX 兼容性。

针对这个问题,Linux 内核 2.6.20 开始为mount引入了一个–relatime选项,并从 2.6.30 开始这一选项默认是开启的。当开启了–relatime选项后,只有当 atime < mtimeatime < ctime 或文件的上次访问时间超过 1 天,才会去更新 atime。

上述设置,一方面大幅度减少atime写操作对系统资源的消耗,另一方面降低了对备份软件的影响(某些备份软件需要通过对比 atime、mtime、ctime 的时间来判断是否需要进行备份)。

4 相关操作命令对三个时间的影响

表示时间发生改变,用×表示不发生改变

命令atimemtimectime
cat×××
cp×××
mv×
chmod××
chown××
touch
>
>>
vi、vim(不修改)××
vi、vim(修改)
执行可执行文件××

四 Linux时区设置中的一些问题

Linux时钟会有两种区分,一种是 UTC(Universal Time Coordinated),也就是世界协调时间,在地理上表示为0时区;另一种使用 LT ,也就是地方时区,比如我国一般使用 Asia\shanghai ,上海的东八区。

如果想要禁用 UTC 并且使用地方时,可以修改时间配置文件。

vi /etc/sysconfig/clock   
ZONE="Asia/Shanghai"

#设置为false,硬件时钟不于utc时间一致
UTC=false                   

或者使用一条命令timedatectl set-timezone Asia/Shanghai更改时区

修改时区后,再进行时间同步,这里一般会使用定时任务crontab命令,比如每隔一小时执行一次时间同步任务。

crontab -e
# 每天的整点时间进行时间同步
0 * * * * ntpdate 0.asia.pool.ntp.org &> /dev/null

五 Linux局域网内配置yum源

1) 需求

公司集群架构中,内部服务器出于安全考虑,不允许访问外网,无法直接从外网的开源镜像中直接yum安装软件。
因此需要将yum源搭建在本地的一台服务器上,其他服务器通过内网访问该服务器,即可yum安装软件。

服务端IP:10.0.0.10
在本地安装centos7的镜像,作为其他服务器的yum镜像源。

客户端IP:10.0.0.11
通过修改/etc/yum.repos.d/Centos-Base.repo,将服务端设置为新的yum源。

2 )搭建环境准备

服务端主机名:master
客户端主机名:node1

关闭两台服务器的防火墙:

systemctl stop fireewalld
systemctl disable fireewalld
systemctl status fireewalld

将SELINUX安全策略关闭:

sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config 
setenforce 0
getenforce

3 )服务端

1 创建镜像存放目录与挂载目录

首先创建一个镜像文件的存放目录

mkdir -p /yum

再创建一个挂载点

mkdir -p /mnt/cdrom

2 上传centos7镜像

将镜像文件上传至/yum目录下。

由于镜像文件很大,如果传输速度很慢,可以在 Windows 上安装 xftp 软件,然后打开创建会话。

在这里插入图片描述

具体的安装步骤此处不作详细讲解,但注意选择正确的协议和端口号,否则无法连接。

接着就可以直接拖动文件,在Linux和Windows间相互传输。

3 对镜像文件进行挂载

首先查看笔者上传的 centos7 的镜像文件。

[root@master ~]# ll /yum/
total 4389888
-rw-r--r-- 1 root root 4495245312 Dec  9 09:39 rhel-server-7.6-x86_64-dvd.iso

其次输入挂载命令。

[root@master ~]# mount -o loop /yum/rhel-server-7.6-x86_64-dvd.iso /mnt/cdrom
mount: /dev/loop0 is write-protected, mounting read-only

最后检查一下,挂载是否成功。

[root@master yum.repos.d]# df -h
Filesystem             Size  Used Avail Use% Mounted on
/dev/mapper/rhel-root   19G  8.7G  9.7G  48% /
devtmpfs               470M     0  470M   0% /dev
tmpfs                  487M     0  487M   0% /dev/shm
tmpfs                  487M  8.0M  479M   2% /run
tmpfs                  487M     0  487M   0% /sys/fs/cgroup
/dev/sda1              197M  143M   55M  73% /boot
tmpfs                   98M     0   98M   0% /run/user/0
/dev/loop0             4.2G  4.2G     0 100% /mnt/cdrom

4 配置本地yum源

首先备份原有的镜像文件。

[root@master ~]# cd /etc/yum.repos.d/
[root@master yum.repos.d]# ls
CentOS-Base.repo  epel.repo  redhat.repo
[root@master yum.repos.d]# mkdir bak
[root@master yum.repos.d]# mv *.repo bak/
[root@master yum.repos.d]# ll
total 0
drwxr-xr-x 2 root root 66 Dec  9 15:30 bak

然后配置本地的yum源。

[root@master yum.repos.d]# cat base.repo 
[base]
name=centos base
baseurl=file:///mnt/cdrom
gpgcheck=0
enabled=1

此处的baseurl后面的内容是file://+挂载点的绝对路径
参数gpgcheck=0是在 yum 安装时不检查数字签名是否被纂改。
参数enabled=1是启用此 yum 配置。

5 对挂载点建立软链接

[root@master yum.repos.d]# mkdir -p /var/www/html/centos
[root@master yum.repos.d]# ln -s /mnt/cdrom/ /var/www/html/centos

6 安装http服务

yum install -y httpd
systemctl start httpd
systemctl enable httpd
systemctl status httpd

7 浏览器验证http服务是否正常启动

在本机浏览器的URL栏里输入自己的IP,查看是否启动了Apache服务。

在这里插入图片描述

然后以自己的IP/centos格式输入,能否打开镜像文件。

在这里插入图片描述

说明 http 服务正常运行。

另外,我们清理一下本地的缓存。

yum clean all
yum makecache

然后查看一下本地的yum源。

[root@master cdrom]# yum repolist
Loaded plugins: langpacks, product-id, search-disabled-repos
repo id                                                    repo name                                                      status
base                                                       centos base                                                    5,152
repolist: 5,152

4) 客户端

1 修改yum配置文件

先备份相关的镜像文件。

[root@node1 yum.repos.d]# mkdir bak
[root@node1 yum.repos.d]# mv *.repo bak/
[root@node1 yum.repos.d]# ll
total 0
drwxr-xr-x 2 root root 66 Dec  9 15:52 bak

然后编写yum配置文件。

[root@node1 yum.repos.d]# cat base.repo 
[base]
name=base yum
baseurl=http://10.0.0.10/centos
gpgcheck=0
enabled=1

注意,此处的baseurl后面的IP是配置yum源的服务器IP,通过局域网,我们可以访问该页面。

2 查看yum源

首先清理缓存,再查看镜像配置文件。

yum clean all
yum makecache
yum repolist

通过执行命令,结果如下:

[root@node1 yum.repos.d]# yum repolist
Loaded plugins: langpacks, product-id, search-disabled-repos
repo id                                                     repo name                                                     status
base                                                        base yum                                                      5,152
repolist: 5,152

通过两个repolist: 5,152数字的比较,我们可以发现两台主机的yum源配置是相同的。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值