[RHEL/CentOS] dnf 캐시 만들기 기능 끄기

  RHEL 계열 리눅스에 dnf를 깔았거나 처음부터 깔려 있다면, dnf 캐시를 만드는 기능이 1시간 간격으로 실행된다.

# systemctl status dnf-makecache.timer
● dnf-makecache.timer - dnf makecache --timer
Loaded: loaded (/usr/lib/systemd/system/dnf-makecache.timer; enabled; preset: enabled)
Active: active (waiting) since Mon 2024-02-05 07:57:06 UTC; 4s ago
Until: Mon 2024-02-05 07:57:06 UTC; 4s ago
Trigger: Mon 2024-02-05 09:42:32 UTC; 1h 45min left
Triggers: ● dnf-makecache.service

Feb 05 01:16:25 test_server systemd[1]: Started dnf makecache --timer.

  아래는 /usr/lib/systemd/system/dnf-makecache.timer 파일의 내용이다.

[Unit]
Description=dnf makecache --timer
ConditionKernelCommandLine=!rd.live.image
# See comment in dnf-makecache.service
ConditionPathExists=!/run/ostree-booted
Wants=network-online.target

[Timer]
OnBootSec=10min
OnUnitInactiveSec=1h
RandomizedDelaySec=60m
Unit=dnf-makecache.service

[Install]
WantedBy=timers.target

  dnf-makecache.timer 파일의 내용을 고쳐서 dnf가 캐시를 갱신하는 주기를 바꿀 수 있다.

  사양이 낮은 서버에서는 dnf의 캐시 갱신 기능 때문에 부하가 걸려 서버가 멈춘 것처럼 보이거나 다른 부작용을 일으키기도 한다. dnf의 캐시 갱신 기능을 끄려면, 아래처럼 해 준다.

systemctl disable dnf-makecache.timer
systemctl stop dnf-makecache.timer
systemctl disable dnf-makecache.service
systemctl stop dnf-makecache.service

  dnf-makecache.service가 깔려 있지 않은 경우도 있는데, 그런 때에는 아래처럼 나올 수 있다. dnf-makecache.timer만 멈추어도 dnf-makecache 기능은 꺼진다.

# systemctl disable dnf-makecache.service
The unit files have no installation config (WantedBy=, RequiredBy=, Also=,
Alias= settings in the [Install] section, and DefaultInstance= for template
units). This means they are not meant to be enabled or disabled using systemctl.

Possible reasons for having this kind of units are:
• A unit may be statically enabled by being symlinked from another unit's
.wants/ or .requires/ directory.
• A unit's purpose may be to act as a helper for some other unit which has
a requirement dependency on it.
• A unit may be started when needed via activation (socket, path, timer,
D-Bus, udev, scripted systemctl call, ...).
• In case of template units, the unit is meant to be enabled with some
instance name specified.
글 걸기 주소 : 이 글에는 글을 걸 수 없습니다.

덧글을 달아 주세요