文章目录
一 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 定义
缩写 | 全称 | 释义 |
---|---|---|
atime | Access Time | 文件最后一次访问(读取或执行)的时间 |
mtime | Modify Time | 文件内容最后一次改变的时间 |
ctime | Change 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 < mtime
或 atime < ctime
或文件的上次访问时间超过 1 天,才会去更新 atime。
上述设置,一方面大幅度减少atime写操作对系统资源的消耗,另一方面降低了对备份软件的影响(某些备份软件需要通过对比 atime、mtime、ctime 的时间来判断是否需要进行备份)。
4 相关操作命令对三个时间的影响
用√
表示时间发生改变,用×
表示不发生改变
命令 | atime | mtime | ctime |
---|---|---|---|
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源配置是相同的。