시스템 유지 관리 · 7 min read · Dec 25, 2025
Arch Linux 시스템의 일반 유지 관리
Arch Linux 설치를 유지 관리하는 것은 몇 가지 사항만 염두에 두면 실제로 매우 간단하고 직관적입니다. 배포의 롤링 릴리스 특성 덕분에 우리는 다른 배포판(예: Ubuntu 및 Debian 등)과 같은 주요 버전 업그레이드에 대해 걱정할 필요가 없습니다. Pacman을 현명하게 사용하고 패키지를 정기적으로 업데이트하기만 하면 Arch에서 문제가 발생하거나 패키지가 작동하지 않는 일은 결코 없을 것입니다. 다음은 Arch를 최신 상태로 유지하고 설치한 날처럼 또는 그보다 더 잘 작동하도록 유지하기 위한 제 권장 사항을 설명합니다! 또한 처음 설치한 후 Arch를 최적화하여 장기적으로 유지 관리가 더 빠르고 쉬워지는 방법에 대한 짧은 섹션도 제공하겠습니다. 항상 그렇듯이, 이것은 제 생각일 뿐이며 Arch를 사용할 때는 공식 문서를 참조해야 합니다. 다음 명령어에 대해 sudo 권한이 있다고 가정했습니다. 그러나 sudo 권한이 있거나 root 사용자로 전환할 수 있다면 괜찮을 것입니다. ArchWiki는 훌륭한 리소스이며, 그곳에서 찾을 수 있는 많은 가이드와 정보는 Arch를 사용하지 않더라도 유용합니다. 그들의 IRC 채널인 #archlinux는 irc.freenode.net에서 찾을 수 있습니다. 질문을 하고 더 경험이 많은 사용자로부터 유용한 통찰을 얻기에 좋은 장소입니다. 단, 채널을 과도하게 사용하거나 같은 질문을 반복해서 묻지 마세요!
먼저 Arch를 최적화하는 방법을 살펴보겠습니다. 이는 유지 관리 및 지속적인 사용을 더 빠르고 쉽게 만들어 줄 것입니다. 이러한 작은 것들이 때때로 큰 차이를 만들 수 있습니다. 많은 사람들이 이를 간과하거나 Pacman(패키지 관리자)와 같은 것을 제대로 구성하는 것을 게을리하여 시스템에서 이를 수행하지 않는 경우가 많습니다. 강력하게 시작하고 시스템을 어느 정도 자급자족할 수 있도록 만드는 것은 나중에 많은 문제를 예방할 수 있습니다!
미러 목록 업데이트
먼저, 여러분에게 가장 빠른 미러를 활용하기 위해 미러 목록을 업데이트하는 방법을 안내하겠습니다. 미러 목록은 /etc/pacman.d/mirrorlist에 위치해 있습니다. 한 가지 옵션은 목록을 보고 지리적으로 가까운 미러를 선택하는 것입니다. 이는 일부 경우에 유용하지만, 미러가 더 가깝다고 해서 가장 빠르다는 의미는 아닙니다. 좀 더 구체적인 기준에 따라 결정을 내리고 싶다면, Arch가 제공하는 내장 도구인 /usr/bin/rankmirrors를 사용할 수 있습니다. 기본적으로 /etc/pacman.d/mirrorlist의 대부분 미러는 주석 처리되어 있지만, rankmirrors를 사용하려면 모두 주석을 해제해야 합니다. 이를 쉽게 수행하는 방법은 파일을 새 이름으로 복사하고 sed를 사용하여 다음 명령어로 주석을 나타내는 모든 “#”를 제거하는 것입니다:
sudo cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.toBeTested
sudo sed -i 's/^#Server/Server/' /etc/pacman.d/mirrorlist.toBeTested이제 rankmirrors의 도움말 출력을 사용하여 그 기능에 대해 모두 배울 수 있지만, 여기서는 가장 빠른 세 개의 미러만 원한다고 가정해 보겠습니다. 우리는 주석이 해제된 모든 미러를 포함하는 새로 생성된 파일을 사용하고 rankmirrors를 사용하여 가장 빠른 3개를 출력합니다:
sudo rankmirrors /etc/pacman.d/mirrorlist.toBeTested -n 3그 명령의 출력을 가져와서, 이는 여러분의 세 개의 가장 빠른 미러가 되어야 하며, 이를 실제 미러 목록에서 좋아하는 텍스트 편집기를 사용하여 주석 해제합니다:
sudo vim /etc/pacman.d/mirrorlist저는 시스템에서 몇 달마다 이 작업을 수행하는 것을 좋아합니다. 때때로 미러가 사용할 수 없게 되거나 더 이상 빠르지 않게 변경될 수 있기 때문입니다. 일부는 이를 사소하다고 부를 수 있지만, Arch는 롤링 릴리스 배포이기 때문에 업데이트가 많습니다. 다운로드하는 각 패키지마다 3초를 절약하더라도, 이는 1년 이상에 걸쳐 수십 분으로 누적될 수 있습니다! 또한, Arch를 실행하는 시스템이 여러 대인 경우 시간 요인은 더욱 복합적으로 작용합니다. 이를 염두에 두고, 작은 것들이 많은 시스템을 다루거나 시간이 지남에 따라 큰 차이를 만든다는 것을 기억하세요.
시간 정확성 유지
시스템 시간이 정확하게 유지되는 것이 얼마나 중요한지 강조할 수 없습니다. 이는 특히 하드웨어 시계가 없는 시스템(예: VM)에 대해 더욱 그렇습니다. 많은 실행 중인 서비스는 클라이언트와 서버 간의 시간이 동일해야 제대로 작동합니다. 또한, 시스템 시간이 잘못되어 인증서가 여전히 유효하다고 생각하게 하고 싶지 않을 것입니다! 더욱이, 문제를 진단하려고 할 때 로그 파일의 시간이 정확해야 실제로 무슨 일이 발생했는지 알 수 있습니다. Arch에서 이를 가장 쉽게 수행하는 방법은 NTP(네트워크 시간 프로토콜)를 사용하는 것입니다. 이 경우 NTP, 또는 더 구체적으로 ntpd는 주기적으로 시스템의 시계를 인터넷의 서버와 동기화하여 시스템 시간이 일치하도록 합니다. 또한 시간 드리프트와 같은 것을 추적하므로, 관심이 있다면 특정 시점에 시계가 얼마나 틀렸는지 확인할 수 있습니다.
Arch Linux 설치의 시간대 확인
모든 Arch 설치에서 사용할 수 있는 명령어인 timedatectl이 있으며, 이는 시스템의 시간 및 날짜에 대한 유용한 정보를 많이 보여줍니다.
[jonathan@zabaglione]$ sudo timedatectl
Local time: Sun 2015-07-05 18:30:18 MDT
Universal time: Mon 2015-07-06 00:30:18 UTC
RTC time: n/a
Time zone: America/Denver (MDT, -0600)
Network time on: no
NTP synchronized: no
RTC in local TZ: no출력에서 모든 것이 괜찮아 보인다면 NTP를 구성해도 괜찮습니다(계속 읽어보세요). 시간대나 다른 것을 변경해야 하는 경우, 더 많은 정보를 위해 이 페이지를 참조하세요.
NTP 설치 및 구성
NTP 설치 및 구성은 Arch Linux에서 쉽습니다. 대부분의 사람들에게 작동할 수 있는 구성으로 제공됩니다. 먼저 패키지를 설치해야 합니다:
sudo pacman -S ntp설치가 잘 진행되었다면 /etc/ntp.conf를 확인하세요. 작성 시점의 기본값은 다음과 같습니다:
# Please consider joining the pool:
#
# http://www.pool.ntp.org/join.html
#
# For additional information see:
# - https://wiki.archlinux.org/index.php/Network_Time_Protocol_daemon
# - http://support.ntp.org/bin/view/Support/GettingStarted
# - the ntp.conf man page
# Associate to Arch's NTP pool
server 0.arch.pool.ntp.org
server 1.arch.pool.ntp.org
server 2.arch.pool.ntp.org
server 3.arch.pool.ntp.org
# By default, the server allows:
# - all queries from the local host
# - only time queries from remote hosts, protected by rate limiting and kod
restrict default kod limited nomodify nopeer noquery notrap
restrict 127.0.0.1
restrict ::1
# Location of drift file
driftfile /var/lib/ntp/ntp.drift기본값을 변경하는 데 관심이 있다면, ArchWiki 기사를 확인하는 것이 좋습니다. 그렇지 않으면 ntp.conf 파일이 원하는 대로 보인다고 가정하겠습니다. 대부분의 사람들에게 기본 설정은 괜찮습니다. 이제 ntpd는 Arch Linux 설치의 백그라운드에서 실행할 데몬입니다. 다음 명령어는 각각 ntpd를 시작하고 부팅 시 활성화합니다.
sudo systemctl start ntpdsudo systemctl enable ntpdArch를 유지 관리하는 것은 다른 배포판이나 운영 체제를 유지 관리하는 것과 크게 다르지 않습니다. Arch 설치를 망치는 가장 일반적인 방법은 패키지를 정기적으로 업데이트하지 않는 것입니다. Arch Linux는 롤링 릴리스 배포입니다. 주요 버전 릴리스가 없으며 패키지는 지속적이고 “사용 가능할 때” 기준으로 업데이트됩니다. 이를 염두에 두고, 시스템을 업데이트하지 않으면 업데이트를 결정할 때 문제가 발생할 수 있을 만큼 변경될 수 있습니다. 충돌과 문제를 피하기 위해 자주 업데이트하세요. 이는 또한 시스템이 최신 보안 취약점이 패치된 상태로 실행되고 있음을 보장합니다.
전체 Arch Linux 시스템 업그레이드
Pacman은 매우 강력한 패키지 관리자이지만, 사용 플래그와 명령어의 구문에 익숙해지면 사용하기 쉽습니다. Arch Linux 시스템에서 할 수 있는 가장 중요한 일은 가능한 한 자주 업데이트하는 것입니다. 개인적으로 저는 매일 시스템을 업데이트하며, 그렇게 해도 문제를 겪은 적이 없습니다. 며칠에서 일주일마다 업데이트하는 것도 괜찮습니다! 다음 명령어는 Pacman에게 모든 설치된 패키지를 리포지토리와 동기화하도록 지시합니다:
sudo pacman -Syu이 명령은 모든 사용 가능한 업데이트 목록을 제공한 다음 계속할 것인지 물어봅니다:
[root@zabaglione ~]# pacman -Syu
:: Synchronizing package databases...
core 121.6 KiB 599K/s 00:00 [----------------------------------------------------------------------------------------] 100%
extra 1738.1 KiB 3.12M/s 00:01 [----------------------------------------------------------------------------------------] 100%
community 2.7 MiB 8.81M/s 00:00 [----------------------------------------------------------------------------------------] 100%
:: Starting full system upgrade...
resolving dependencies...
looking for conflicting packages...
Packages (8) gnupg-2.1.6-1 less-478-1 libldap-2.4.41-1 lz4-131-1 mercurial-3.4.2-1 openssh-6.9p1-1 vim-7.4.764-1 vim-runtime-7.4.764-1
Total Download Size: 11.29 MiB
Total Installed Size: 56.65 MiB
Net Upgrade Size: 0.11 MiB
:: Proceed with installation? [Y/n] 주의 깊게 읽으세요! 때때로 Pacman은 미러 목록이나 다른 파일을 업데이트하는 것과 같은 작업을 수행하며, 그렇게 하기 전에 알려주고 이전 파일이 어디에 백업되었는지 알려줍니다. 시간이 지남에 따라 업그레이드되는 패키지에 따라 이러한 일이 발생하는 시점을 느끼게 될 것이지만, 익숙해지기 전까지는 조심하세요!
패키지 및 해당 종속성 제거
패키지를 제거할 때, 저는 일반적으로 Pacman에게 사용되지 않는 종속성도 제거하도록 지시합니다. 즉, 다른 패키지에서 필요하지 않은 패키지입니다. 이는 시스템을 일반적으로 더 깔끔하고 혼잡하지 않게 유지하는 데 도움이 됩니다. Pacman을 사용하여 이를 수행하는 데 문제를 겪은 적이 없으므로 종속성 트리가 잘 유지됩니다. 패키지와 그 불필요한 종속성을 제거하려면:
pacman -Rs packageName사용하지 않는 패키지 제거
시간이 지나면서 많은 설치 및 제거를 통해 더 이상 필요하지 않은 패키지가 쉽게 쌓일 수 있습니다. 명시적으로 설치된 모든 패키지를 보여주려면(따라서 다른 패키지의 종속성으로 설치되지 않았습니다) 다음 명령어를 사용할 수 있습니다:
pacman -Qen출력을 주의 깊게 읽고 더 이상 필요하지 않은 항목을 식별하세요. 필요하지 않다면 안전하게 제거할 수 있어야 합니다. 더 이상 어떤 패키지에서도 필요하지 않은 종속성으로 끌어들여졌던 패키지를 제거하려면 대신 다음을 사용할 수 있습니다:
pacman -Rns $(pacman -Qtdq)“오류: 지정된 대상이 없습니다”라는 오류가 발생하면, 이는 기준을 충족하는 제거할 패키지가 없다는 의미입니다.
Pacman 캐시 정리
Pacman은 궁극적으로 시스템에 설치되는 모든 패키지를 다운로드해야 합니다. 이는 /var/cache/pacman/pkg/에 위치한 캐시에 저장됩니다. 시간이 지남에 따라 상당한 디스크 공간을 차지할 수 있으며, 임베디드 시스템에서 실행 중이거나 사용 중인 디스크 공간이 얼마나 되는지 걱정하는 경우, 목표에 따라 캐시를 정리하는 몇 가지 방법이 있습니다. 주의하세요: 캐시를 완전히 지우면 설치된 소프트웨어의 이전 버전으로 쉽게 다운그레이드할 수 없게 됩니다. 캐시에서 제거하면 시스템에서 제거되기 때문입니다. 아래에서 모든 이전 버전을 제거하지 않고 캐시를 더 신중하게 정리하는 방법을 제시하겠습니다.
방법 1: 전체 캐시 지우기 (주의!)
공간이 정말 제한적이고 시스템의 안정성에 상대적으로 만족하거나, 이전 패키지를 찾아서 리포지토리에서 가져오지 않고 설치하는 방법을 아는 고급 사용자라면, 이 방법으로 Pacman 캐시를 지우는 것이 괜찮습니다. 저는 이 작업을 제한된 경우에만 사용하며 많은 주의를 기울입니다. 패키지를 신속하게 다운그레이드하려면 유연성을 갖고 싶기 때문입니다. 특히 생산 기계나 작업을 수행하는 데 의존하는 컴퓨터에서 그렇습니다. 다음 명령어는 캐시의 모든 것을 제거합니다:
pacman -Sc마지막으로 한 번 더 경고합니다. 이 작업은 되돌릴 수 없습니다. 캐시가 사라집니다.
방법 2: 일부 버전 유지
이제 위험을 감수하고 싶지 않거나 모든 것을 제거하지 않고 더 안전하게 캐시를 정리하고 싶다면, 대신 이 방법을 사용하는 것이 좋습니다. pacman 패키지의 일부인 내장 도구인 paccache를 사용할 수 있습니다. 기본적으로 paccache는 패키지의 최신 세 가지 버전을 제외한 모든 것을 제거하므로, 일반적으로 이렇게 하는 것이 좋습니다. 또한 출력이 매우 유용하며 얼마나 많은 공간이 확보되었는지 알려줍니다:
[jonathan@zabaglione ~]$ paccache -r
==> Privilege escalation required
[sudo] password for jonathan:
==> finished: 233 packages removed (disk space saved: 511.94 MiB)설치되지 않은 패키지의 모든 캐시 버전을 제거하려면 다음과 같이 paccache를 실행할 수 있습니다:
paccache -ruk0패키지의 이전 버전으로 롤백
모든 좋은 Linux 사용자의 삶에는 패키지 업그레이드가 중요한 것을 망가뜨리는 시점이 있습니다. 버그가 누락되어 운영 체제에 포함될 수 있으며, 또는 특정 패키지의 특정 버전이 필요한 특별한 작업을 수행하고 있는데, 실수로 최신 버전으로 업데이트했을 수 있습니다! 다음은 위에서 언급한 패키지 캐시에 필요한 버전이 있다고 가정하지만, 그렇지 않은 경우 적절한 버전을 다운로드하고 pacman을 해당 버전으로 지정하면 원하는 결과를 얻을 수 있습니다. 물론 “name”과 “package”를 조작하려는 실제 패키지로 바꾸는 것을 잊지 마세요:
pacman -U /var/cache/pacman/pkg/name-version.pkg.tar.gz
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.