【开源项目】libfaketime安装、使用——小白教程

项目

Github:GitHub - wolfcw/libfaketime: libfaketime modifies the system time for a single application


libfaketime安装

01.切换路径,目标路径:/usr/local

(在/usr/local路径下git clone 开源项目)

切换路径指令:

复制代码
cd /usr/local

02.拉取

复制代码
git clone https://github.com/wolfcw/libfaketime.git

eg:

复制代码
root@DESKTOP-ER8E8NH:~# cd /usr/local
root@DESKTOP-ER8E8NH:/usr/local# ls -l
total 0
drwxr-xr-x 1 root root 4096 May 30  2023 bin
drwxr-xr-x 1 root root 4096 May 30  2023 etc
drwxr-xr-x 1 root root 4096 May 30  2023 games
drwxr-xr-x 1 root root 4096 May 30  2023 include
drwxr-xr-x 1 root root 4096 May 30  2023 lib
lrwxrwxrwx 1 root root    9 May 30  2023 man -> share/man
drwxr-xr-x 1 root root 4096 May 30  2023 sbin
drwxr-xr-x 1 root root 4096 May 31  2023 share
drwxr-xr-x 1 root root 4096 May 30  2023 src
root@DESKTOP-ER8E8NH:/usr/local# git clone https://github.com/wolfcw/libfaketime.git
Cloning into 'libfaketime'...
remote: Enumerating objects: 2536, done.
remote: Counting objects: 100% (660/660), done.
remote: Compressing objects: 100% (254/254), done.
remote: Total 2536 (delta 427), reused 555 (delta 399), pack-reused 1876 (from 1)
Receiving objects: 100% (2536/2536), 839.43 KiB | 55.00 KiB/s, done.
Resolving deltas: 100% (1596/1596), done.
root@DESKTOP-ER8E8NH:/usr/local# ls -l
total 0
drwxr-xr-x 1 root root 4096 May 30  2023 bin
drwxr-xr-x 1 root root 4096 May 30  2023 etc
drwxr-xr-x 1 root root 4096 May 30  2023 games
drwxr-xr-x 1 root root 4096 May 30  2023 include
drwxr-xr-x 1 root root 4096 May 30  2023 lib
drwxr-xr-x 1 root root 4096 Oct 28 21:51 libfaketime
lrwxrwxrwx 1 root root    9 May 30  2023 man -> share/man
drwxr-xr-x 1 root root 4096 May 30  2023 sbin
drwxr-xr-x 1 root root 4096 May 31  2023 share
drwxr-xr-x 1 root root 4096 May 30  2023 src
root@DESKTOP-ER8E8NH:/usr/local#

03.切换到libfaketime路径

指令:

复制代码
cd libfaketime

04.make

指令:

复制代码
make

eg:

复制代码
root@DESKTOP-ER8E8NH:/usr/local/libfaketime (master)# make
make  -C src all
make[1]: Entering directory '/usr/local/libfaketime/src'
cc -o libfaketime.o -c -std=gnu99 -Wall -Wextra -Werror -DFAKE_PTHREAD -DFAKE_STAT -DFAKE_UTIME -DFAKE_SLEEP -DFAKE_TIMERS -DFAKE_INTERNAL_CALLS -fPIC -DPREFIX='"'/usr/local'"' -DLIBDIRNAME='"'/lib/faketime'"'  -Wno-nonnull-compare   libfaketime.c
cc -o libfaketime.so.1 -Wl,-soname,libfaketime.so.1  -Wl,--version-script=libfaketime.map -shared libfaketime.o -ldl -lm -lrt -lpthreadcc -o libfaketimeMT.o -c -std=gnu99 -Wall -Wextra -Werror -DFAKE_PTHREAD -DFAKE_STAT -DFAKE_UTIME -DFAKE_SLEEP -DFAKE_TIMERS -DFAKE_INTERNAL_CALLS -fPIC -DPREFIX='"'/usr/local'"' -DLIBDIRNAME='"'/lib/faketime'"'  -Wno-nonnull-compare  -DPTHREAD_SINGLETHREADED_TIME libfaketime.c
cc -o libfaketimeMT.so.1 -Wl,-soname,libfaketimeMT.so.1  -Wl,--version-script=libfaketime.map -shared libfaketimeMT.o -ldl -lm -lrt -lpthread
cc -o faketime -std=gnu99 -Wall -Wextra -Werror -DFAKE_PTHREAD -DFAKE_STAT -DFAKE_UTIME -DFAKE_SLEEP -DFAKE_TIMERS -DFAKE_INTERNAL_CALLS -fPIC -DPREFIX='"'/usr/local'"' -DLIBDIRNAME='"'/lib/faketime'"'  -Wno-nonnull-compare   faketime.c  -Wl,--version-script=libfaketime.map -lrt -lpthread
make[1]: Leaving directory '/usr/local/libfaketime/src'

05.make install

指令:

复制代码
make install

eg:

复制代码
root@DESKTOP-ER8E8NH:/usr/local/libfaketime (master)# sudo make install
make  -C src install
make[1]: Entering directory '/usr/local/libfaketime/src'

Copying the faketime libraries to /usr/local/lib/faketime and the faketime wrapper script to /usr/local/bin ...
install -dm0755 "/usr/local/lib/faketime/"
install -m0644 libfaketime.so.1 libfaketimeMT.so.1 "/usr/local/lib/faketime/"
install -Dm0755 faketime "/usr/local/bin/faketime"
make[1]: Leaving directory '/usr/local/libfaketime/src'
make  -C man install
make[1]: Entering directory '/usr/local/libfaketime/man'
install -Dm0644 faketime.1 "/usr/local/share/man/man1/faketime.1"
gzip -nf "/usr/local/share/man/man1/faketime.1"
make[1]: Leaving directory '/usr/local/libfaketime/man'
install -dm0755 "/usr/local/share/doc/faketime/"
install -m0644 README "/usr/local/share/doc/faketime/README"
install -m0644 NEWS "/usr/local/share/doc/faketime/NEWS"

libfaketime使用

修改时间

语法:

复制代码
export LD_PRELOAD=[libfaketime.so.1文件的绝对路径] FAKETIME="[@目标时间]"

eg:

复制代码
export LD_PRELOAD=/usr/local/libfaketime/src/libfaketime.so.1 FAKETIME="@2024-06-04 00:00:01"

同步时间

语法:

复制代码
export LD_PRELOAD=/usr/local/libfaketime/src/libfaketime.so.1 FAKETIME= date
相关推荐
松涛和鸣2 分钟前
72、IMX6ULL驱动实战:设备树(DTS/DTB)+ GPIO子系统+Platform总线
linux·服务器·arm开发·数据库·单片机
简单中的复杂28 分钟前
【避坑指南】RK3576 Linux SDK 编译:解决 Buildroot 卡死在 host-gcc-final 的终极方案
linux·嵌入式硬件
wVelpro1 小时前
如何在Pycharm 2025.3 版本实现虚拟环境“Make available to all projects”
linux·ide·pycharm
程序员老舅2 小时前
C++高并发精髓:无锁队列深度解析
linux·c++·内存管理·c/c++·原子操作·无锁队列
雨中风华2 小时前
Linux, macOS系统实现远程目录访问(等同于windows平台xFsRedir软件的目录重定向)
linux·windows·macos
爱吃生蚝的于勒2 小时前
【Linux】进程信号之捕捉(三)
linux·运维·服务器·c语言·数据结构·c++·学习
The森2 小时前
Linux IO 模型纵深解析 01:从 Unix 传统到 Linux 内核的 IO 第一性原理
linux·服务器·c语言·经验分享·笔记·unix
翼龙云_cloud3 小时前
腾讯云代理商: Linux 云服务器搭建 FTP 服务指南
linux·服务器·腾讯云
纤纡.3 小时前
Linux中SQL 从基础到进阶:五大分类详解与表结构操作(ALTER/DROP)全攻略
linux·数据库·sql
好好学习天天向上~~3 小时前
6_Linux学习总结_自动化构建
linux·学习·自动化