웹사이트 검색

Ubuntu 및 Debian 시스템에서 'apt-mirror'를 사용하여 로컬 저장소 설정


오늘날 트래픽과 일반 인터넷 속도가 일반 인터넷 클라이언트의 경우에도 눈 깜박할 사이에 10000배로 측정될 때 LAN에 로컬 저장소 캐시를 설정하는 목적이 무엇인지 궁금할 것입니다.

그 이유 중 하나는 로컬 캐시에서 패키지를 가져올 때 인터넷 대역폭을 줄이고 속도를 높이는 것입니다. 그러나 또 다른 주요 이유는 개인 정보 보호입니다. 조직의 클라이언트는 인터넷이 제한되어 있지만 Linux 상자에는 소프트웨어 및 보안에 대한 정기적인 시스템 업데이트가 필요하거나 새로운 소프트웨어 패키지가 필요하다고 가정해 보겠습니다. 좀 더 자세히 설명하자면, 개인 네트워크에서 실행되는 서버는 제한된 네트워크 세그먼트에 대해서만 민감한 비밀 정보를 포함하고 제공하며 공용 인터넷에 절대 노출되어서는 안 됩니다.

이는 LAN에 로컬 저장소 미러를 구축하고, 이 작업을 위해 에지 서버를 위임하고, 캐시 미러에서 소프트웨어를 꺼내도록 내부 클라이언트를 구성해야 하는 몇 가지 이유입니다.

Ubuntu는 로컬 캐시를 공식 Ubuntu 저장소와 동기화하는 apt-mirror 패키지를 제공합니다. 이 패키지는 HTTP 또는 FTP 서버를 통해 구성하여 캐시를 공유할 수 있습니다. 로컬 시스템 클라이언트가 포함된 소프트웨어 패키지.

완전한 미러 캐시를 위해서는 서버에 로컬 저장소용으로 예약된 최소 120G의 여유 공간이 필요합니다.

요구사항

  1. 최소 120G 여유 공간
  2. Proftpd 서버는 익명 모드로 설치 및 구성되었습니다.

1단계: 서버 구성

1. 가장 먼저 해야 할 일은 Ubuntu 아카이브 미러 페이지를 방문하고 국가를 선택하여 현재 위치에서 가장 가깝고 빠른 Ubuntu 미러를 식별하는 것입니다.

귀하의 국가에서 더 많은 미러를 제공하는 경우 미러 주소를 식별하고 ping 또는 traceroute 결과를 기반으로 몇 가지 테스트를 수행해야 합니다.

2. 다음 단계는 로컬 미러 저장소를 설정하는 데 필요한 소프트웨어를 설치하는 것입니다. apt-mirrorproftpd 패키지를 설치하고 proftpd를 독립형 시스템 데몬으로 구성하세요.

sudo apt-get install apt-mirror proftpd-basic

3. 이제 apt-mirror 서버를 구성할 차례입니다. 가장 가까운 위치를 추가하여 /etc/apt/mirror.list 파일을 열고 편집합니다(1단계). 선택 사항입니다. 기본 미러가 충분히 빠르거나 현재 위치에 있지 않은 경우 서둘러 – 패키지를 다운로드할 시스템 경로를 선택하세요. 기본적으로 apt-mirror는 로컬 캐시에 대해 /var/spool/apt-mirror 위치를 사용하지만 이 튜토리얼에서는 변경 시스템 경로 및 포인트 설정을 사용할 것입니다. /opt/apt-mirror 위치에 대한 base_path 지시어입니다.

sudo nano /etc/apt/mirror.list

또한 클라이언트가 사용하는 Ubuntu 버전에 따라 Debian 소스를 포함하여 clean 지시어 앞에 다른 소스 목록의 주석 처리를 해제하거나 추가할 수 있습니다. 원하는 경우 12.04부터 소스를 추가할 수 있지만 더 많은 소스를 추가하려면 더 많은 여유 공간이 필요하다는 점에 유의하세요.

Debian 소스 목록을 보려면 Debian Wiki 또는 Debian Sources List Generator를 방문하세요.

4. 이제 해야 할 일은 경로 디렉토리를 생성하고 apt-mirror 명령을 실행하여 공식 Ubuntu 저장소를 로컬 미러와 동기화하는 것입니다. .

sudo mkdir -p /opt/apt-mirror
sudo apt-mirror

보시다시피 apt-mirror는 다운로드된 패키지의 총 수와 크기를 표시하는 아카이브 색인화 및 다운로드를 진행합니다. 우리가 상상할 수 있듯이 110-120GB는 다운로드하는 데 시간이 걸릴 만큼 충분히 큽니다.

ls 명령을 실행하여 디렉터리 내용을 볼 수 있습니다.

초기 다운로드가 완료되면 향후 다운로드 크기는 작아집니다.

5. apt-mirror가 패키지를 다운로드하는 동안 Proftpd 서버를 구성할 수 있습니다. 가장 먼저 해야 할 일은 다음 명령을 실행하여 proftpd에 대한 익명 구성 파일을 만드는 것입니다.

sudo nano /etc/proftpd/conf.d/anonymous.conf

그런 다음 anonymous.conf 파일에 다음 내용을 추가하고 proftd 서비스를 다시 시작하세요.

<Anonymous ~ftp>
   User                    ftp
   Group                nogroup
   UserAlias         anonymous ftp
   RequireValidShell        off
  MaxClients                   10
   <Directory *>
     <Limit WRITE>
       DenyAll
     </Limit>
   </Directory>
 </Anonymous>

6. 다음 단계는 명령을 실행하여 바인드 마운트를 실행하여 apt-mirror 경로를 proftpd 경로에 연결하는 것입니다.

sudo mount --bind /opt/apt-mirror/mirror/archive.ubuntu.com/  /srv/ftp/

이를 확인하려면 매개변수나 옵션 없이 mount 명령을 실행하세요.

mount

7. 마지막 단계는 시스템 재부팅mirror-cache 디렉토리 후에 Proftpd 서버가 자동으로 시작되는지 확인하는 것입니다. FTP 서버 경로에도 자동으로 마운트됩니다. proftpd를 자동으로 활성화하려면 다음 명령을 실행하십시오.

sudo update-rc.d proftpd enable

proftpd에 apt-mirror 캐시를 자동으로 마운트하려면 /etc/rc.local 파일을 열고 편집하세요.

sudo nano /etc/rc.local

exit 0 지시문 앞에 다음 줄을 추가합니다. 또한 마운트를 시도하기 전에 5초 지연을 사용하세요.

sleep 5
sudo mount --bind  /opt/apt-mirror/mirror/archive.ubuntu.com/ /srv/ftp/

Debian 저장소에서 패키지를 가져오는 경우 다음 명령을 실행하고 위의 rc.local 파일에 대한 적절한 설정이 활성화되어 있는지 확인하세요.

sudo mkdir /srv/ftp/debian
sudo mount --bind /opt/apt-mirror/mirror/ftp.us.debian.org/debian/ /srv/ftp/debian/

8. 매일 apt-mirror 동기화를 위해 매일 오전 2시에 실행되도록 시스템 일정 작업을 생성할 수도 있습니다. crontab 명령을 실행하고 원하는 편집기를 선택한 후 다음 줄 구문을 추가하세요.

sudo crontab –e

마지막 줄에 다음 줄을 추가합니다.

0  2  *  *  *  /usr/bin/apt-mirror >> /opt/apt-mirror/mirror/archive.ubuntu.com/ubuntu/apt-mirror.log

이제 매일 오전 2시에 시스템 저장소 캐시가 Ubuntu 공식 미러와 동기화되고 로그 파일이 생성됩니다.

2단계: 클라이언트 구성

9. 로컬 Ubuntu 클라이언트를 구성하려면 클라이언트 컴퓨터의 /etc/apt/source.list가 Ubuntu의 IP 주소나 호스트 이름을 가리키도록 편집하세요. apt-mirror 서버 – http 프로토콜을 ftp로 바꾼 다음 시스템을 업데이트합니다.

deb ftp://192.168.1.13/ubuntu trusty universe
deb ftp://192.168.1.13/ubuntu trusty main restricted
deb ftp://192.168.1.13/ubuntu trusty-updates main restricted
## Ad so on….

10. 저장소를 보려면 실제로 브라우저를 열고 FTP 프로토콜을 사용하여 도메인 이름의 서버 IP 주소를 가리킬 수 있습니다.

동일한 시스템이 Debian 클라이언트 및 서버에도 적용됩니다. 필요한 유일한 변경 사항은 debian 미러소스 목록입니다.

또한 새로운 Ubuntu 또는 Debian 시스템을 설치하는 경우 설치 프로그램에서 사용할 저장소를 물을 때 FTP 프로토콜과 함께 로컬 미러를 수동으로 제공하세요.

자신만의 로컬 미러 저장소를 갖는 것의 가장 큰 장점은 항상 최신 상태를 유지하며 로컬 클라이언트가 업데이트나 소프트웨어를 설치하기 위해 인터넷에 연결할 필요가 없다는 것입니다.