目 录CONTENT

文章目录

时间修改神器libfaketime

xlong
2024-04-09 / 0 评论 / 0 点赞 / 6 阅读 / 1697 字 / 正在检测是否收录...

时间修改神器libfaketime

源代码地址: https://github.com/wolfcw/libfaketime/

# 安装git
apt update
apt -y install git 
​
# 下载faketime源码
git clone https://github.com/wolfcw/libfaketime
# 进入libfaketime文件夹下
cd libfaketime
# 编译源码
make
make install

修改时间:

export LD_PRELOAD=/usr/local/lib/faketime/libfaketime.so.1 FAKETIME="2023-03-09 15:20:00"
export LD_PRELOAD=/usr/local/lib/faketime/libfaketime.so.1 FAKETIME="@2023-03-09 15:20:00"
​
# 修改时间为5天后 #5天前(-5d) 5天后(+5d) # d 天 h 小时 
export LD_PRELOAD=/usr/local/lib/faketime/libfaketime.so.1 FAKETIME="-5d"
​
# 将时间调整为落后2分钟
export FAKETIME="-120"  

要恢复,直接把环境变量修改为空即可

export LD_PRELOAD=

使用libfaketime可以在容器中修改容器时间非常方便,而且不会影响到宿主机和其它容器时间。

docker容器的隔离是基于Linux的Capability机制实现的, Linux的Capability机制允许你将超级用户相关的高级权限划分成为不同的小单元。

而要修改系统时间需要有SYS_TIME权限。使用 --cap-add, --cap-drop 可以添加或禁用特定的权限。–privileged参数也可以达到开放权限的作用, 与–cap-add的区别就是, --privileged是将所有权限给容器。

0

评论区