• HJ
    ActionMaskTech. Blog
Information
  • About
Blog
  • 전체
    13
  • AI
    3
  • Project
    5
  • Tip
    5
  • Tag
  • Github
  • RSS
  • ©2025 ActionMask. All Rights Reserved.
  1. Home

Ubuntu 설치 후 짜잘한 설정 팁

개인적으로 주로 하는 설정 작업을 정리해 보았습니다.
Tip
2023-03-02 11:36
6분

linux
ubuntu
tip
logrotate
rsync
aptget
hash
In this article
  • logrotate
  • SW raid 설정 후 grub 매핑
  • rsync 설정 방법
  • apt-get update 시 해시 mismatch 오류
Tip 카테고리의 다른 글
Vercel 배포 시 Serverless Function 250MB 제한 오류
Vercel 배포 시 Serverless Function 250MB 제한 오류
Next.js 배포 시 Serverless Function의 용량이 과도하게 잡히는 문제
2025-06-28 21:54
Next.js 프로젝트에서 MDX 코드 블럭 꾸미기
Next.js 프로젝트에서 MDX 코드 블럭 꾸미기
rehype-pretty-code 플러그인으로 MDX 코드 블럭을 꾸며보자.
2025-06-08 20:31
Python Flask를 위한 Gunicorn + NGINX 설정 방법
Python Flask를 위한 Gunicorn + NGINX 설정 방법
Ubuntu에서 Flask 어플리케이션을 Nginx와 Gunicorn을 이용해 서빙해보자.
2024-08-24 13:46
Let's Encrypt 설치 및 자동 갱신 (feat. Cloudflare)
Let's Encrypt 설치 및 자동 갱신 (feat. Cloudflare)
무료 SSL 인증서를 설정하고 자동 갱신하자.
2022-02-16 17:34

Ubuntu 및 Linux 설치 후, 개인적으로 자주 사용하는 설정들을 정리한 글입니다.
2015년 부터 정리한 내용도 포함되어 있습니다.

logrotate

logrotate는 리눅스에서 로그 파일이 생성됨에 따라 파일 수가 무한정 늘어나는 것을 방지할 수 있는 일종의 cron 설정입니다.

이 설정은 아래 폴더에서 설정합니다.

cd /etc/logrotate.d/

아래는 nginx 등 웹서버에 의해 생성되는 접속 및 오류 로그가 날짜 별로 생성될 때 무한정 생성되는 것을 방지하는 설정 파일입니다.

/var/www/*/log/*.log {
    daily
    dateext
    missingok
    rotate 30
    notifempty
    create 0640 www-data adm
    sharedscripts
    prerotate
        if [ -d /etc/logrotate.d/httpd-prerotate ]; then \
            run-parts /etc/logrotate.d/httpd-prerotate; \
        fi \
    endscript
    postrotate
        invoke-rc.d nginx rotate >/dev/null 2>&1
    endscript
}

/var/www/ 하위 폴더에 log 폴더 아래에 로그 파일이 생성되는 것을 가정하고, 매일마다 검사하여 30일이 지난 로그 파일은 삭제합니다. 위 코드에서 rotate 30 부분의 숫자를 조정하여 로그를 보관할 기간을 설정할 수 있습니다.


SW raid 설정 후 grub 매핑

Grub 업데이트 시 아래와 같은 Warning이 발생할 수 있습니다.

grub-install: warning: Couldn't find physical volume `(null)'. Some modules may be missing from core image..

해결 방법은 아래 명령어를 통해 grub 매핑해 주면 됩니다.

sudo grub-mkdevicemap -n
sudo grub-install

rsync 설정 방법

rsync(Remote Sync)는 빠르게 Incremental 파일 전송을 지원하는 오픈소스 유틸리티입니다.
파일 전송 시 네트워크 대역폭을 최소화하는 delta encoding algorithm을 통해 rcp나 scp와 파일 전송 유틸리티들 보다 빠르게 데이터를 전송/동기화 할 수 있습니다.
따라서, 이런 장점으로 rsync를 이용해 서버 동기화나 백업을 수행합니다.

일반적으로 ssh를 통해 편리하게 이용 가능합니다.

우선, Source와 Destination 서버 양쪽에 rsync를 패키지를 설치해 줍니다.
처음 설치 시에는 rsync 데몬이 돌지 않기 때문에, conf 파일을 통해 설정해줘야 합니다.

sudo vi /etc/default/rsync
RSYNC_ENABLE=false --> RSYNC_ENABLE=true

저장 후, conf 파일을 생성해 줍니다.

sudo vi /etc/rsyncd.conf
log file=/var/log/rsync.log
  
[backup]
path=/var/www/
uid=root
gid=root
use chroot=yes
max connections=100

Sshpass 설치 패키지를 설치합니다.

sudo apt-get install sshpass
# /var/www 웹 서버 파일 백업
sudo rsync -avzp --delete --exclude="/var/www/*/log" --rsh="sshpass -p {비밀번호} ssh -l {계정이름}" {Source IP}:/var/www/ /var/www/
 
# nginx 설정 파일 백업
sudo rsync -avzp --delete --exclude="default" --rsh="sshpass -p {비밀번호} ssh -l {계정이름}" {Source IP}:/etc/nginx/sites-enabled/ /etc/nginx/sites-enabled/

apt-get update 시 해시 mismatch 오류

sudo apt-get update

위 명령어로 패키지 목록을 업데이트할 경우 아래와 같은 오류가 발생할 수 있습니다.

sudo apt-get update
 
# ... 중략
 
Get:10 http://kr.archive.ubuntu.com/ubuntu focal-security/main amd64 Packages [3,564 kB]
Get:11 http://kr.archive.ubuntu.com/ubuntu focal-security/universe amd64 Packages [1,040 kB]
Err:11 http://kr.archive.ubuntu.com/ubuntu focal-security/universe amd64 Packages
  Hash Sum mismatch
  Hashes of expected file:
   - Filesize:1040380 [weak]
   - SHA256:4499130ea8f54eb844e8512536cd716352d72b102a881fe26bc43534d6281c49
   - SHA1:de46ab415eec550efe1abe5ce3aeac8f0f27278a [weak]
   - MD5Sum:0f827402d155e3c957e3598e3cdd1658 [weak]
  Hashes of received file:
   - SHA256:dcd2eb33aafd4853dfff2a54665c432225f259a2862d491ef2c05c7cd3b2c1d2
   - SHA1:d4427107f8a77d25f458c14e790bd9904e848681 [weak]
   - MD5Sum:c6a02dcdc53e608a7fc9ef1e0d7d460a [weak]
   - Filesize:1040380 [weak]
  Last modification reported: Tue, 03 Jun 2025 16:29:46 +0000
  Release file created at: Wed, 04 Jun 2025 07:34:46 +0000
Fetched 1,424 kB in 6s (242 kB/s)    
Reading package lists... Done
E: Failed to fetch http://kr.archive.ubuntu.com/ubuntu/dists/focal-security/universe/binary-amd64/by-hash/SHA256/4499130ea8f54eb844e8512536cd716352d72b102a881fe26bc43534d6281c49  Hash Sum mismatch
   Hashes of expected file:
    - Filesize:1040380 [weak]
    - SHA256:4499130ea8f54eb844e8512536cd716352d72b102a881fe26bc43534d6281c49
    - SHA1:de46ab415eec550efe1abe5ce3aeac8f0f27278a [weak]
    - MD5Sum:0f827402d155e3c957e3598e3cdd1658 [weak]
   Hashes of received file:
    - SHA256:dcd2eb33aafd4853dfff2a54665c432225f259a2862d491ef2c05c7cd3b2c1d2
    - SHA1:d4427107f8a77d25f458c14e790bd9904e848681 [weak]
    - MD5Sum:c6a02dcdc53e608a7fc9ef1e0d7d460a [weak]
    - Filesize:1040380 [weak]
   Last modification reported: Tue, 03 Jun 2025 16:29:46 +0000
   Release file created at: Wed, 04 Jun 2025 07:34:46 +0000
W: Some index files failed to download. They have been ignored, or old ones used instead.

위 오류는 패키지 서버에서 파일을 업데이트하는 과정에서 해시값이 일치하지 않아서 발생하는 오류입니다.

해결 방법은 아래와 같이 캐시를 삭제하고 다시 업데이트 하는 것입니다.

sudo rm -rf /var/lib/apt/lists/*
sudo apt-get update -o Acquire::CompressionTypes::Order::=gz
sudo apt-get update

위 명령어를 통해 패키지 목록을 새로 업데이트 하면 오류가 해결됩니다.


계속 업데이트 예정.