웹사이트 검색

Arch Linux 시스템의 일반 유지 관리


이 페이지에서

  1. 미러 목록 업데이트
  2. 시간의 정확성 유지\n
    1. Arch Linux 설치 시 시간대 확인\n
    2. NTP 설치 및 구성

    1. 방법 1: 전체 캐시 지우기(주의!)
    2. 방법 2: 일부 버전 유지

    Arch Linux 설치를 유지 관리하는 것은 실제로 몇 가지 사항을 염두에 두는 한 매우 간단하고 간단합니다. 배포의 롤링 릴리스 특성은 다른 배포와 같은 주요 버전 업그레이드에 대해 걱정할 필요가 없음을 의미합니다(Ubuntu 및 Debian 예를 들면 ..). Pacman을 현명하게 사용하고 패키지를 정기적으로 업데이트하는 한, 문제가 발생하거나 패키지가 Arch와 작동하지 않는 문제가 발생하지 않아야 합니다. 다음은 Arch를 최신 상태로 유지하고 설치한 날과 같이 실행하기 위한 권장 사항을 요약한 것입니다. 또한 Arch를 처음 설치한 후 장기적으로 더 빠르고 쉽게 유지 관리할 수 있도록 Arch를 최적화하는 짧은 섹션을 제공할 것입니다. 항상 그렇듯이 이것은 내 생각일 뿐이며 아치를 사용하는 동안 공식 문서를 참조해야 합니다. 나는 당신이 다음 명령 모두에 대해 sudoer라고 가정했습니다. 그러나 sudoer이거나 루트 사용자로 변경할 수 있는 한 괜찮습니다. ArchWiki는 훌륭한 리소스이며 여기에서 찾을 수 있는 많은 가이드와 정보는 Arch를 사용하지 않는 경우에도 유용합니다. 그들의 IRC 채널인 #archlinux는 irc.freenode.net에서 찾을 수 있습니다. 이것은 경험이 많은 사용자로부터 질문을 하고 유용한 통찰력을 수집할 수 있는 또 다른 좋은 장소입니다. 채널에 홍수를 일으키지 말고 끊임없이 같은 질문을 반복해서 하세요!

    먼저 유지 관리 및 지속적인 사용을 더 빠르고 쉽게 만드는 아치 최적화를 진행합니다. 이것은 때때로 큰 차이를 만들 수 있는 작은 것들입니다. 많은 사람들이 이를 간과하거나 너무 게을러서 Pacman(패키지 관리자)과 같은 것을 적절하게 구성하여 시스템에서 결코 완료되지 않도록 합니다. 강하게 시작하고 시스템을 어느 정도 자급자족할 수 있게 만드는 것은 먼 길을 갈 수 있고 나중에 많은 골칫거리를 줄일 수 있습니다!

    미러 목록 업데이트

    먼저 가장 빠른 미러를 활용하도록 미러 목록을 업데이트하는 과정을 안내해 드리겠습니다. 미러 목록은 /etc/pacman.d/mirrorlist에 있습니다. 한 가지 옵션은 단순히 목록을 보고 지리적으로 더 가깝다고 생각되는 미러를 선택하는 것입니다. 이것은 경우에 따라 유용하지만 미러가 더 가깝다고 해서 가장 빠르다는 의미는 아닙니다. 좀 더 구체적인 것을 기준으로 결정을 내리고 싶다면 /usr/bin/rankmirrors에서 아치가 제공하는 내장 도구를 사용할 수 있습니다. 기본적으로 /etc/pacman.d/mirrorlist에 있는 대부분의 미러는 주석 처리되어 있지만 rankmirror를 사용하려면 주석을 모두 제거해야 합니다. 이를 수행하는 쉬운 방법은 파일을 새 이름으로 복사하고 sed를 사용하여 다음 명령으로 댓글을 나타내는 모든 "#s"를 제거하는 것입니다.

    sudo cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.toBeTested
    sudo sed -i 's/^#Server/Server/' /etc/pacman.d/mirrorlist.toBeTested

    이제 rankmirror의 도움말 출력을 사용하여 해당 기능에 대해 모두 알아볼 수 있지만 이를 위해 가장 빠른 미러 3개를 원한다고 가정해 보겠습니다. 모든 (주석 처리되지 않은) 미러를 포함하는 새로 생성된 파일을 사용하고 rankmirror를 사용하여 3개를 가장 빠르게 인쇄합니다.

    sudo rankmirrors /etc/pacman.d/mirrorlist.toBeTested -n 3

    세 개의 가장 빠른 미러가 되어야 하는 해당 명령의 출력을 가져오고 다음과 같이 즐겨 사용하는 텍스트 편집기를 사용하여 실제 미러 목록에서 주석을 제거하십시오.

    sudo vim /etc/pacman.d/mirrorlist

    때때로 미러를 사용할 수 없게 되거나 더 이상 빠르지 않은 방식으로 변경되기 때문에 시스템에서 몇 달에 한 번씩 이 작업을 수행하는 것을 좋아합니다. 일부는 이것을 사소하다고 할 수 있지만 Arch는 롤링 릴리스 배포판이므로 많은 업데이트가 있는 경향이 있습니다. 다운로드하는 모든 패키지에 대해 3초를 절약하더라도 1년 이상 동안 최대 10분이 추가될 수 있습니다! 또한 Arch를 실행하는 시스템을 두 개 이상 관리하는 경우 시간 요소가 더욱 복잡해집니다. 약간의 소금으로 받아들이십시오. 그러나 많은 시스템을 처리하거나 시간이 지남에 따라 작은 것이 모든 차이를 만듭니다.

    정확한 시간 유지

    시스템 시간을 정확하게 유지하는 것이 얼마나 중요한지 아무리 강조해도 지나치지 않습니다. 자체 하드웨어 시계가 없는 시스템(예: VM)에 대해 이야기하는 경우 특히 그렇습니다. 실행 중인 많은 서비스에서 제대로 작동하려면 클라이언트와 서버 사이의 시간이 동일해야 합니다. 또한 시스템 시간이 잘못되었기 때문에 인증서가 유효하지 않은 경우 시스템이 인증서가 여전히 유효하다고 생각하는 것을 원하지 않을 것입니다! 더욱이 로그 파일의 시간이 정확하여 문제를 진단하려는 경우 시스템 시계가 발생한 시간이 아니라 실제로 발생한 시간을 알 수 있기를 원합니다. Arch로 이를 수행하는 가장 쉬운 방법은 NTP(Network Time Protocol)를 사용하는 것입니다. 이 경우 NTP 또는 보다 구체적으로 ntpd는 시스템 시간이 일치하는지 확인하기 위해 시스템의 시계를 인터넷의 서버와 주기적으로 동기화합니다. 또한 시간 드리프트와 같은 것을 추적하므로 관심이 있다면 주어진 시간에 시계가 얼마나 떨어져 있는지 확인할 수 있습니다.

    Arch Linux 설치 시 시간대 확인

    시스템의 시간과 날짜에 대한 많은 유용한 정보를 보여 주는 모든 Arch 설치에서 timedatectl 명령을 사용할 수 있습니다.

    []$ 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 설치 및 구성

    Arch Linux를 사용하면 대부분의 사람들에게 적합한 구성이 제공되므로 NTP를 설치하고 구성하는 것이 쉽습니다. 먼저 패키지를 설치해야 합니다.

    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 ntpd
    sudo systemctl enable ntpd

    아치를 유지하는 것은 다른 배포판이나 운영 체제를 유지하는 것과 크게 다르지 않습니다. Arch 설치를 방해하는 가장 일반적인 방법은 패키지를 정기적으로 업데이트하지 않는 것입니다. Arch Linux는 롤링 릴리스 배포판입니다. 주요 버전 릴리스는 없으며 패키지는 지속적으로 "사용 가능한 대로" 업데이트됩니다. 이를 염두에 두고 시스템을 업데이트하지 않으면 최종적으로 업데이트하기로 결정했을 때 문제가 발생하는 속도로 상황이 변경될 수 있습니다. 충돌 및 문제를 방지하려면 자주 업데이트하십시오. 이렇게 하면 최신 보안 취약점이 패치된 상태로 시스템이 실행되고 있는지도 확인할 수 있습니다.

    전체 Arch Linux 시스템 업그레이드

    Pacman은 매우 강력한 패키지 관리자이지만 사용 플래그와 명령 구문에 익숙해지면 사용하기 쉽습니다. Arch Linux 시스템에서 할 수 있는(그리고 해야 하는) 가장 중요한 일은 가능한 한 정기적으로 업데이트하는 것입니다. 저는 개인적으로 매일 시스템을 업데이트하는데 그렇게 하는 데 문제가 없었습니다. 하지만 며칠에서 일주일에 한 번씩은 괜찮을 것입니다! 다음 명령은 Pacman에게 설치된 모든 패키지를 리포지토리와 동기화하도록 지시합니다.

    sudo pacman -Syu

    그러면 사용 가능한 모든 업데이트 목록이 제공되고 계속할 것인지 묻습니다.

    [ ~]# 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은 궁극적으로 시스템에 설치되는 모든 패키지를 다운로드해야 합니다. 이 패키지는 /var/cache/pacman/pkg/에 있는 캐시에 저장됩니다. 이는 시간이 지남에 따라 상당히 많은 디스크 공간을 차지할 수 있으며 임베디드 시스템에서 실행 중이거나 사용 중인 디스크 공간이 얼마나 되는지 주의하는 경우 캐시를 정리할 수 있는 몇 가지 방법이 있습니다. 목표. 주의: 캐시를 완전히 지우면 설치된 소프트웨어의 이전 버전으로 쉽게 다운그레이드할 수 없습니다. 캐시에서 지우면 시스템에서 제거되기 때문입니다. 모든 이전 버전을 제거하지 않도록 캐시를 보다 신중하게 정리하는 방법을 아래에 제시하겠습니다.

    방법 1: 전체 캐시 지우기(주의!)

    공간이 실제로 제한되어 있고 시스템의 안정성에 상대적으로 만족하거나 Pacman을 사용하여 리포지토리에서 가져오지 않고 이전 패키지를 찾아 설치하는 방법을 알고 있는 고급 사용자인 경우 Pacman을 지우는 이 방법은 캐시를 사용하는 것은 괜찮습니다. 저는 패키지를 빠르게 다운그레이드하려는 경우 특히 작업을 완료하는 데 의존하는 생산 기계나 컴퓨터에서 이러한 유연성을 갖고 싶기 때문에 제한된 경우에만 많은 주의를 기울여 이것을 사용합니다. 다음 명령은 캐시의 모든 항목을 제거합니다.

    pacman -Sc

    마지막으로 한 번만 더 경고합니다. 여기서는 되돌릴 수 없습니다. 캐시가 사라졌습니다.

    방법 2: 일부 버전 유지하기

    이제 가장자리에 살고 싶지 않고 모든 것을 제거하지 않고 더 안전한 방법으로 캐시를 정리하려면 이 방법을 대신 사용해야 합니다. paccache라는 pacman 패키지의 일부인 내장 도구가 있습니다. 기본적으로 paccache는 패키지의 최신 3개 버전을 제외한 모든 것을 제거하므로 일반적으로 이런 방식으로 작업하는 것이 좋습니다. 또한 출력은 매우 유용하며 얼마나 많은 공간이 확보되었는지 알려줍니다.

    [ ~]$ 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"를 조작하도록 훈련 중인 실제 패키지로 바꾸는 것을 잊지 마십시오.