로컬 ubuntu 미러 서버 구축 (arm 버전)

8325 단어 OperationSystem

로컬 ubuntu 미러 서버 구축 (arm 버전)


최근 프로젝트의 수요로 인해 자주ports에서ubuntu.com 서버에서 ubuntu의 거울 파일을 다운로드했지만 몇 kB의 속도에 직면하여 프로젝트는 정말 진행할 수 없습니다.뒤에 이 거울 파일을 자주 사용해야 한다는 것을 감안하면 스스로 서버를 만드는 것이 낫다.그래서 아리운에서 120G의 저장 서버를 사서 자신의 ubuntu forarmhf 렌즈 파일 서버 구축에 착수했다.서버에 로그인한 후에 apt-get 업데이트를 했는데 십여 M/s의 네트워크 속도에 단말기 페이지가 휙휙 미끄러지는 느낌이 정말 시원하다.

환경을 구축하다

  • 서버 시스템: ubuntu 14.04LTS x86_64, ip는 255.255.255.255
  • 대상 미러: ports.ubuntu.com의armhf 이미지 파일
  • 구축 절차


    ubuntu for armhf 렌즈 서버를 만들기 위해서는 적어도 90G의 공간이 필요한 것 같습니다. 현재 다운로드가 끝난 후의 총 파일 크기가 80G이기 때문에 처음에는 저도 믿지 않았습니다. 왜냐하면 인터넷에서 x64나 x86이 30G 정도라고 하지만 사실은 80G가 필요합니다. 아마도armhf 버전의 렌즈 파일이 비교적 많고 저장된 버전이 많기 때문입니다.이곳은 공식 사이트ports.ubuntu.com를 원본으로 사용하는데arm버전의 원본이 너무 적기 때문에 또 하나ftp.ubuntu-tw.org/ubuntu-ports가 있지만 인터넷 속도와 이것은 기본적으로 차이가 없다.

    필수 도구 설치

    apt-get install apt-mirror

    이것은 ubuntu 시스템에서 사용자가 서버에서 거울 파일을 대량으로 다운로드할 수 있도록 하는 도구입니다.mirror를 수정할 수 있습니다.list 파일은 작업을 사용자 정의합니다. 다음은 이 도구를 사용합니다.
    apt-get install apache2

    이것은 ubuntu에서 서버 기능을 실현하는 소프트웨어로 다른 사람이 인터넷에서 IP를 통해 지정한 파일과 내용에 접근할 수 있도록 합니다. 우리는 이 도구를 통해 이 IP의 컴퓨터를 앞으로 사용할 서버로 사용합니다.

    설정 미러를 수정합니다.목록 파일

    cd /etc/apt
    cp mirror.list mirror.list.bak
    vi mirror.list
    ############# config ##################
    #
    # set base_path    /var/spool/apt-mirror
    #
    # set mirror_path  $base_path/mirror
    # set skel_path    $base_path/skel
    # set var_path     $base_path/var
    # set cleanscript $var_path/clean.sh
    # set defaultarch  
    # set postmirror_script $var_path/postmirror.sh
    # set run_postmirror 0
    set nthreads     20
    set _tilde 0
    #
    ############# end config ##############
    
    deb http://archive.ubuntu.com/ubuntu trusty main restricted universe multiverse
    deb http://archive.ubuntu.com/ubuntu trusty-security main restricted universe multiverse
    deb http://archive.ubuntu.com/ubuntu trusty-updates main restricted universe multiverse
    #deb http://archive.ubuntu.com/ubuntu trusty-proposed main restricted universe multiverse
    #deb http://archive.ubuntu.com/ubuntu trusty-backports main restricted universe multiverse
    
    deb-src http://archive.ubuntu.com/ubuntu trusty main restricted universe multiverse
    deb-src http://archive.ubuntu.com/ubuntu trusty-security main restricted universe multiverse
    deb-src http://archive.ubuntu.com/ubuntu trusty-updates main restricted universe multiverse
    #deb-src http://archive.ubuntu.com/ubuntu trusty-proposed main restricted universe multiverse
    #deb-src http://archive.ubuntu.com/ubuntu trusty-backports main restricted universe multiverse
    
    clean http://archive.ubuntu.com/ubuntu

    apt-mirror 도구를 설치한 후/etc/apt에서 생성된mirror입니다.list 파일에서 기본 주소는 archive.ubuntu.com/ubuntu 이고 x86/x64를 다운로드하는 데 사용되기 때문에 우리가 필요로 하는 원본 주소로 수정해야 합니다.또한 현재 deb 파일만 필요하기 때문에 가능한 한 빨리 다운로드하기 위해 여기는 deb 패키지만 다운로드하고 나중에 src 파일이 필요하면 다운로드해도 영향을 주지 않습니다.다음과 같이 수정합니다.
    :%s/archive.ubuntu.com\/ubuntu/ports.ubuntu.com\/ubuntu-ports/g
    info apt-mirror을 통해 알 수 있듯이 어떤 구조의 이미지 파일만 다운로드하려면 구조 파라미터를 지정해야 합니다. deb-, 여기는 deb-armhf입니다.최종적으로 다음과 같다.
    ############# config ##################
    #
    # set base_path    /var/spool/apt-mirror
    #
    # set mirror_path  $base_path/mirror
    # set skel_path    $base_path/skel
    # set var_path     $base_path/var
    # set cleanscript $var_path/clean.sh
    # set defaultarch  
    # set postmirror_script $var_path/postmirror.sh
    # set run_postmirror 0
    set nthreads     20
    set _tilde 0
    #
    ############# end config ##############
    
    deb-armhf http://ports.ubuntu.com/ubuntu-ports trusty main restricted universe multiverse
    deb-armhf http://ports.ubuntu.com/ubuntu-ports trusty-security main restricted universe multiverse
    deb-armhf http://ports.ubuntu.com/ubuntu-ports trusty-updates main restricted universe multiverse
    deb-armhf http://ports.ubuntu.com/ubuntu-ports trusty-proposed main restricted universe multiverse
    deb-armhf http://ports.ubuntu.com/ubuntu-ports trusty-backports main restricted universe multiverse
    
    #deb-src http://ports.ubuntu.com/ubuntu-ports trusty main restricted universe multiverse
    #deb-src http://ports.ubuntu.com/ubuntu-ports trusty-security main restricted universe multiverse
    #deb-src http://ports.ubuntu.com/ubuntu-ports trusty-updates main restricted universe multiverse
    #deb-src http://ports.ubuntu.com/ubuntu-ports trusty-proposed main restricted universe multiverse
    #deb-src http://ports.ubuntu.com/ubuntu-ports trusty-backports main restricted universe multiverse
    
    clean http://ports.ubuntu.com/ubuntu-ports

    다음 명령을 실행하여 미러 파일 다운로드를 시작하려면 전체 프로세스에 며칠이 걸릴 수 있습니다. 기본 미러 파일 다운로드 주소는 /var/spool/apt-mirror/mirror 입니다.
    apt-mirror

    팁: 다운로드 과정에서 우리는 다운로드 속도와 진도를 봐야 할 수 있습니다. 이것은 실행ps -x 명령입니다. 열 몇 개의 wget 명령이 필사적으로 다운로드 중인 것을 볼 수 있습니다. wget 명령에log 파일이 매개 변수로 사용됩니다. 우리cat xxx.log는 다운로드 속도와 상응하는 다운로드 속도를 한눈에 볼 수 있습니다.
    주의: 다운로드가 끝날 때 알림/bin/sh: 0: Can't open /var/spool/apt-mirror/var/postmirror.sh을 표시하면mirror에 있습니다.list 파일에서 주석을 취소하거나 비어있는postmirror를 만듭니다.sh 파일, 이 파일은 기본적으로 아무것도 하지 않기 때문입니다.

    액세스 서버 설정


    아파치2 소프트웨어를 설치하면/var/www/html 디렉터리를 만듭니다. 인터넷에서/var/www 디렉터리에 하이퍼링크를 한다고 하는데 제가 시도해 봤는데 안 돼요./var/www/html 디렉터리에서 해야 돼요.다운로드한 거울 파일은 기본적으로/var/spool/apt-mirror/mirror/ports입니다.ubuntu.com/ubuntu-ports에서/var/www/html 디렉터리에서 다음 명령을 실행하여/var/www/html에서 하이퍼링크를 만듭니다.
    ln -s /var/spool/apt-mirror/mirror/ports.ubuntu.com/ubuntu-ports  ubuntu-ports

    브라우저에 입력http://yourip/ubuntu-ports예:http://255.255.255.255/ubuntu-ports및 소스 포트를 볼 수 있습니다.ubuntu.com에서 같은 디렉터리 구조입니다.
    service apache2 start/stop

    위의 명령은 각각 서버 열기와 닫기 기능입니다.

    정시 업데이트


    /etc/cron에서 crontab를 사용하여 매일 업데이트할 수 있습니다.d 디렉토리에 apt-mirror 파일이 기본적으로 생성되었습니다.
    root@iZ94gf1fxkmZ:/etc/cron.d# cat apt-mirror
    #
    # Regular cron jobs for the apt-mirror package
    #
    #0 4    * * *   apt-mirror      /usr/bin/apt-mirror > /var/spool/apt-mirror/var/cron.log

    이 파일 앞의 주석 기호를 삭제하면 시스템은 자동으로 apt-mirror와ports를 사용합니다.ubuntu.com 서버가 업데이트합니다.

    자신의 소스로 변경


    arm의 ubuntu 시스템의sources를list의 소스 사이트 주소가 자신의 소스로 변경됩니다.
    vi sources.list
    :%s/ports.ubuntu.com/yourip/g

    그리고 # set run_postmirror 0, 자신의 소스를 즐겁게 사용할 수 있습니다 ~
    축풍 2016년 7월 24일 심천

    좋은 웹페이지 즐겨찾기