기술 가이드

Fedora 8 로컬 Yum 저장소 설정

4 min read 시스템관리 업데이트됨 10 Oct 2025
Fedora 8 로컬 Yum 저장소 설정 가이드
Fedora 8 로컬 Yum 저장소 설정 가이드

중요: 이 튜토리얼은 예시 호스트명 server1.example.com(192.168.0.100)을 사용합니다. 자신의 환경에 맞게 호스트명/IP와 경로를 바꾸세요.

목적과 요약

로컬 yum 저장소를 구성하면 여러 대의 Fedora 8 시스템에 패키지를 설치할 때 인터넷 대역폭을 절약하고 LAN 속도로 설치할 수 있습니다. 이 가이드는 다음을 다룹니다:

  • Apache 설치 및 서비스 등록
  • createrepo로 로컬 저장소 메타데이터 생성
  • DVD 복사 또는 rsync를 이용한 패키지 수집
  • 업데이트 자동 동기화(cron)
  • 클라이언트의 yum 설정 변경
  • 운영시 주의사항과 문제 해결

1 사전 준비

이 문서의 예시는 다음 설정을 사용합니다:

  • 미러 서버: server1.example.com
  • IP 주소: 192.168.0.100
  • Apache 기본 문서 루트: /var/www/html
  • 저장소 위치: /var/www/html/yum

필요 조건:

  • 미러용 서버에 충분한 디스크 공간(전체 패키지를 받을 경우 수십 기가바이트 필요)
  • 네트워크 접근(클라이언트에서 HTTP 접근 가능)
  • root 권한

참고: Fedora 8은 오래된 릴리스입니다. 가능한 경우 최신 지원 버전 사용을 고려하세요.

2 Apache 설치

Apache(httpd)를 설치하고 부팅시 자동 시작하도록 설정합니다:

yum install httpd

부팅시 자동 시작 설정:

chkconfig --levels 235 httpd on

Apache 시작:

/etc/init.d/httpd start

중요: 방화벽(iptables 등)이 HTTP(포트 80)를 허용하도록 설정되어야 합니다. SELinux가 활성화된 경우 Apache가 /var/www/html 아래 파일을 서비스할 수 있는지 컨텍스트를 확인하세요.

3 저장소 구성

  1. createrepo 설치:
yum install createrepo
  1. 디렉터리 생성(예: i386용 Fedora 8):
mkdir -p /var/www/html/yum/base/8/i386
mkdir -p /var/www/html/yum/updates/8/i386
  1. 패키지 채우기: DVD에서 복사하거나, Everything(전체 패키지) 미러에서 rsync로 가져옵니다.

DVD에서 복사:

mount /dev/cdrom /mnt
cd /mnt/Packages
cp -v * /var/www/html/yum/base/8/i386
cd /
umount /mnt

미러에서 rsync로 전체 패키지 가져오기(오래 걸릴 수 있음):

rsync -avrt rsync://ftp-stud.hs-esslingen.de/fedora/linux/releases/8/Everything/i386/os/Packages/ /var/www/html/yum/base/8/i386

주의: rsync 명령의 슬래시 위치가 중요합니다. 위 예시처럼 끝에 슬래시를 포함하세요.

  1. createrepo 실행(메타데이터 생성):
createrepo /var/www/html/yum/base/8/i386

실행 후 /var/www/html/yum/base/8/i386/repodata/ 아래에 repomd.xml과 primary.xml.gz 등 파일이 생성됩니다.

예시 출력:

ls -l /var/www/html/yum/base/8/i386/repodata/
[root@server1 /]# ls -l /var/www/html/yum/base/8/i386/repodata/
total 9268
-rw-r--r-- 1 root root 2227275 2007-12-18 21:11 filelists.xml.gz
-rw-r--r-- 1 root root 6487453 2007-12-18 21:11 other.xml.gz
-rw-r--r-- 1 root root  747714 2007-12-18 21:11 primary.xml.gz
-rw-r--r-- 1 root root     951 2007-12-18 21:11 repomd.xml
[root@server1 /]#
  1. 업데이트 디렉터리 채우기(업데이트 패키지):
rsync -avrt rsync://ftp-stud.hs-esslingen.de/fedora/linux/updates/8/i386/ --exclude=debug/ /var/www/html/yum/updates/8/i386
  1. 자동 동기화(cron) 설정 예시: 매 2일마다 04:23에 업데이트 받기
crontab -e

그리고 다음 행 추가:

23 4 */2 * * /usr/bin/rsync -avrt rsync://ftp-stud.hs-esslingen.de/fedora/linux/updates/8/i386/ --exclude=debug/ /var/www/html/yum/updates/8/i386

참고: Cron 작업에서 환경변수나 PATH가 다를 수 있으므로 절대 경로를 사용하세요.

4 클라이언트 구성

각 Fedora 8 클라이언트에서 /etc/yum.conf(또는 /etc/yum.repos.d/*.repo)를 수정하여 로컬 저장소를 사용하도록 합니다. 예를 들어 /etc/yum.conf에 다음을 추가합니다:

[base-local]
name=Fedora $releasever - $basearch
failovermethod=priority
baseurl=http://192.168.0.100/yum/base/$releasever/$basearch
#mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch
enabled=1
gpgcheck=0

[updates-local]
name=Fedora $releasever - $basearch - Updates
failovermethod=priority
baseurl=http://192.168.0.100/yum/updates/$releasever/$basearch/
#mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f$releasever&arch=$basearch
enabled=1
gpgcheck=0

전체 /etc/yum.conf 예시는 원문과 동일하게 유지할 수 있습니다. gpgcheck=0은 편리하지만 보안상 위험이 있습니다. 운영 환경에서는 GPG 서명 확인을 활성화하고 적절한 공개키를 설치하세요.

5 운영 중 고려사항 및 보안

  • GPG 서명: gpgcheck=0 대신 미러 서버에 Fedora 공개 키를 배포하고 gpgcheck=1로 설정하세요. 그렇지 않으면 패키지 변조에 취약합니다.
  • 권한 및 SELinux: Apache가 파일을 읽을 수 있도록 파일 권한과 SELinux 컨텍스트(httpd_sys_content_t 등)를 확인하세요.
  • 디스크 공간: 전체 저장소를 받을 경우 용량을 감시하세요. 오래된 패키지 정리 정책을 정하면 좋습니다.
  • 네트워크: 클라이언트가 HTTP로 접근 가능한지(방화벽/라우팅) 확인하세요.
  • 로그: /var/log/httpd 및 /var/log/yum.log를 모니터링해 문제를 조기에 발견하세요.

문제 해결(증상별 체크리스트)

증상: 클라이언트에서 패키지를 찾을 수 없음

  • 서버에서 baseurl로 접근 가능한가? 클라이언트에서 curl/httping으로 확인.
  • Apache가 실행 중인가?
  • /var/www/html/yum 디렉터리에 repodata가 있는가?
  • 파일 권한 또는 SELinux로 인해 Apache에서 읽을 수 없는가?

증상: createrepo 실행 후 repodata가 생성되지 않음

  • createrepo가 설치되었는가?
  • 디스크 용량이 충분한가?
  • 오류 로그(createrepo 출력)를 확인하세요.

증상: rsync 실패 또는 느림

  • 선택한 미러가 rsync를 지원하는가?
  • 네트워크 대역폭 또는 미러 서버 부하 문제인지 확인하세요.

대안 및 확장 방안

  • reposync 사용: yum-utils 패키지의 reposync로 특정 리포지토리만 동기화하는 방법이 있습니다(다만 Fedora 8 환경에서는 yum-utils 패키지 확인).
  • HTTP 대신 FTP나 rsync로 내부 배포: 내부 정책에 따라 다른 프로토콜 선택 가능.
  • 최신 배포판으로 이관: Fedora 8은 오래된 릴리스이므로 장기적으로는 지원되는 버전으로 전환 권장.

운영자와 클라이언트별 체크리스트

운영자(미러 서버) 체크리스트:

  • Apache 설치 및 방화벽/SELinux 설정 완료
  • /var/www/html/yum 구조 생성 및 패키지 복사/rsync 완료
  • createrepo 실행하여 repodata 생성
  • cron으로 업데이트 자동화
  • 로컬 백업 및 모니터링 설정

클라이언트 체크리스트:

  • /etc/yum.conf 또는 /etc/yum.repos.d/*.repo에 baseurl이 올바른지 확인
  • HTTP 접근(포트 80)이 가능한지 확인
  • yum clean all 후 yum update로 테스트

작은 방법론(미러를 만드는 기본 흐름)

  1. 디렉터리 구조 설계(/base, /updates 등)
  2. 패키지 수집(DVD 복사 또는 rsync)
  3. createrepo로 메타데이터 생성
  4. HTTP로 공개(Apache 설정)
  5. 클라이언트에 baseurl 등록
  6. cron으로 업데이트 자동화 및 모니터링

마이그레이션 및 호환성 메모

  • 이 문서는 Fedora 8(전통적 yum 사용)을 대상으로 합니다. 최신 Fedora 계열은 dnf를 사용하며 저장소 레이아웃과 도구가 약간 다를 수 있습니다.
  • x86_64 혹은 다른 아키텍처를 지원하려면 디렉터리 이름($basearch)에 맞춰 추가 디렉터리를 생성하세요.

요약

  • 로컬 yum 미러를 통해 설치 속도를 개선하고 인터넷 대역폭을 절약할 수 있습니다.
  • Apache, createrepo, rsync를 조합해 저장소를 구성하고 cron으로 자동 동기화를 권장합니다.
  • 보안상 GPG 서명 확인을 활성화하고 SELinux/파일 권한을 확인하세요.

추가 링크:

참고: 이 문서는 예시이며 환경에 따라 경로, 방화벽, SELinux 설정 등 추가 조치가 필요할 수 있습니다.

공유하기: X/Twitter Facebook LinkedIn Telegram
저자
편집

유사한 자료

넷플릭스 오프라인 다운로드 완벽 가이드
스트리밍 가이드

넷플릭스 오프라인 다운로드 완벽 가이드

CentOS 5.3: /dev/sda로 RAID1 추가 및 GRUB 설정
시스템 관리

CentOS 5.3: /dev/sda로 RAID1 추가 및 GRUB 설정

YouTube 싫어요 수 확인 방법 — 브라우저와 Android에서 보기
유튜브 가이드

YouTube 싫어요 수 확인 방법 — 브라우저와 Android에서 보기

Feed Rinse로 RSS 피드 필터링하는 방법
도구 가이드

Feed Rinse로 RSS 피드 필터링하는 방법

스마트폰으로 차량 해킹 실험 분석
자동차 보안

스마트폰으로 차량 해킹 실험 분석

Mac 로그인 화면 배경화면 쉽게 변경하는 방법
Mac 가이드

Mac 로그인 화면 배경화면 쉽게 변경하는 방법