apt-mirror建立本地Ubuntu私人源

來源:互聯網
上載者:User

apt-mirror建立本地Ubuntu私人源

首先,我們要安裝apt-mirror
$sudo apt-get install apt-mirror

假設我們將鏡像等檔案放在 /service/Ubuntu檔案夾下:

請事先建立以下檔案夾(mirror.list裡面提示要我們事先建立檔案夾的):

/service/ubuntu
/service/ubuntu/mirror
/service/ubuntu/skel
/service/ubuntu/var

配置apt-mirror:

$sudo vi /etc/apt/mirror.list
--------------------------------------------------------------
############# config ##################
#
# set base_path /var/spool/apt-mirror
#
# if you change the base path you must create the directories below with write privlages
#
# 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  <running host architecture>

#我們添加或更改如下內容:
set base_path /service/ubuntu

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 nthreads    20
set _tilde 0
#
############# end config ##############

#我們把常用的軟體同步過來就夠用了
deb-i386 http://archive.Ubuntu.com/ubuntu hardy main restricted universe multiverse
deb-i386 http://archive.ubuntu.com/ubuntu hardy-updates main restricted universe multiverse
deb-i386 http://archive.ubuntu.com/ubuntu hardy-backports main restricted universe multiverse
deb-i386 http://archive.ubuntu.com/ubuntu hardy-security main restricted universe multiverse
deb-i386 http://archive.ubuntu.com/ubuntu hardy-proposed main restricted universe multiverse

#當某些軟體包在伺服器端進行了升級,或者伺服器端不再需要這些軟體包時,我們使用了 apt-mirror與伺服器同步後,會在本地的$var_path/下產生一個clean.sh的指令碼,列出了遺留在本地的舊版本和無用的軟體包,你可 以手動運行這個指令碼來刪除遺留在本地的且不需要用的軟體包
clean http://archive.ubuntu.com/ubuntu

-----------------------------------------------------------------------------

如果用amd64位架構下的包,可以加上deb-amd64的標記
如果什麼都不加,直接使用deb http.....這種格式,則在同步時,只同步當前系統所使用的架構下的軟體包。比如一個64位系統,直接debhttp....只同步64位的軟體 包。如果還嫌麻煩,直接去改set defaultarch  <running hostarchitecture>這個參數就好,比如改成set defaultarch i386,這樣你使用debhttp.....這種格式,則在同步時,只同步i386的軟體包了。

如果你還想要源碼,可以把源碼也加到mirror.list裡面同步過來,比如加上deb-src這樣的標記。想要其他的東西也可以追加相應的標記來完成。

配置好後我們就可以和指定的鏡像進行同步了
$sudo apt-mirror

如果是第一次同步,官方鏡像可能需要幾天時間才能同步完整,如果與國內源進行同步,只同步常用軟體,平均1秒鐘網速1MB(Byte)要同步30G左右的資料,大概需要5-8小時的時間才能同步完整。

同步完成後,我們可以利用clean.sh清理無用軟體包(本文檔以set base_path /server/ubuntu為例):
$sudo sh /service/ubuntu/var/clean.sh

更新完畢後,可以使用apache發布源鏡像了。

以上摘錄 我下載了68個G的 64位源 同步的是mirrors.163.com

下面配置apache2

進入httpd.conf修改
#<Directory />
#    AllowOverride none
#    Require all denied
#</Directory>

改成
<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    allow from all
</Directory>

在<IfModule alias_module> 節點中增加虛擬目錄
<IfModule alias_module>
    Alias /ubuntu /workspace/ubuntu/mirror/mirrors.163.com/ubuntu
</IfModule>
添加虛擬目錄的許可權
<Directory "/workspace/ubuntu/mirror/mirrors.163.com/ubuntu">
      Options Indexes FollowSymLinks
      AllowOverride None
        Require all granted
</Directory>

由於有opengrok 做了個tomcat的連接埠轉寄
ProxyPass /source http://localhost:8081/source
ProxyPassReverse /source http://localhost:8081/source

重啟apache即可

用戶端配置source.list

sudo vim /etc/source.list

deb [arch=amd64] http://192.168.19.184/ubuntu/ trusty main restricted
deb [arch=amd64] http://192.168.19.184/ubuntu/ trusty-updates main restricted
deb [arch=amd64] http://192.168.19.184/ubuntu/ trusty universe
deb [arch=amd64] http://192.168.19.184/ubuntu/ trusty-updates universe
deb [arch=amd64] http://192.168.19.184/ubuntu/ trusty multiverse
deb [arch=amd64] http://192.168.19.184/ubuntu/ trusty-updates multiverse
deb [arch=amd64] http://192.168.19.184/ubuntu/ trusty-backports main restricted universe multiverse
deb [arch=amd64] http://192.168.19.184/ubuntu/ trusty-security main restricted
deb [arch=amd64] http://192.168.19.184/ubuntu/ trusty-security universe
deb [arch=amd64] http://192.168.19.184/ubuntu/ trusty-security multiverse

sudo apt-get update 即可

給自己的企業建立本地ubuntu-apt倉庫源 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.