使用apt-mirror搭建內(nèi)網(wǎng)Ubuntu APT源同步阿里APT源

背景:
因從內(nèi)網(wǎng)環(huán)境無法從外網(wǎng)獲取安裝包,所以需要搭建內(nèi)網(wǎng)Apt源同步阿里云Apt源

環(huán)境:
內(nèi)網(wǎng)Apt源服務(wù)器:192.168.33.150
Ubuntu版本:22.04
apt-mirror版本:0.5.4-1
nginx版本:1.20.1

apt-mirror不僅可以處理Ubuntu的軟件源,幾乎debian系的都可以使用apt-mirror來同步贿堰。

內(nèi)網(wǎng)Apt源服務(wù)器配置

安裝apt-mirror同步工具

首先要確認內(nèi)網(wǎng)Apt源服務(wù)器(192.168.33.150)是否可正常與其配置的源地址相通

# 安裝apt-mirror同步工具
sudo apt-get install -y apt-mirror

獲取阿里云Ubuntu源配置

我們通過阿里云鏡像源來獲取相關(guān)的鏡像源的配置至壤,如下所示(Ubuntu20.04):

deb https://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse

deb https://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse

deb https://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse

# deb https://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
# deb-src https://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse

deb https://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse

其中deb-src為源碼包,如果不需要可以只使用deb痕檬。
注意:Ubuntu各個版本使用的源配置是不一致的碴开,主要是deb https://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse中的focal版本區(qū)別,其對應(yīng)關(guān)系如下所示(只是一部分)

22.04 - Jammy
21.10 - Impish 
21.04 - Hirsute 
20.10 - Groovy 
20.04 LTS - Focal 
19.10 - Eoan 
19.04 - Disco 
18.10 - Cosmic 
18.04 LTS - Bionic 
17.04 - Zesty 
16.10 - Yakkety 
16.04 LTS - Xenial 

配置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  <running host architecture>
# set postmirror_script $var_path/postmirror.sh
# set run_postmirror 0
set nthreads     20
set _tilde 0
#
############# end config ##############
# 阿里云Ubuntu的APT源
deb [arch=amd64] http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb [arch=amd64] http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb [arch=amd64] http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb [arch=amd64] http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
deb [arch=amd64] http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse

# 下載完成后清除部分空間
clean https://mirrors.aliyun.com/ubuntu

同步阿里云Ubuntu源

運行apt-mirror命令即可開始同步肥橙,運行時會顯示源的大小,基本每個ubuntu的源都在200G左右秸侣,下載時間主要看下載速率存筏。
apt-mirror命令支持斷點續(xù)傳,不過如果是意外中斷味榛,需要刪除/var/spool/apt-mirror/var目錄下的apt-mirror.lock文件再次執(zhí)行椭坚。

# 開始同步
apt-mirror

建議使用tmux創(chuàng)建一個終端來同步,同步完成后搏色,同步的軟件源會存放到/var/spool/apt-mirror目錄下善茎。

Nginx暴露Apt源

安裝Nginx

apt-get install -y nginx

配置鏡像路徑(隨自己習慣,創(chuàng)不創(chuàng)建都可以频轿,nginx配置文件中的路徑需要指定到源路徑)

# 創(chuàng)建路徑
mkdir -p /data/public
# 創(chuàng)建軟鏈
ln -s /var/spool/apt-mirror/mirror/mirrors.aliyun.com/ubuntu /data/pubilc/ubuntu

配置Nginx配置文件

# /etc/nginx/nginx.conf
http {
    ...
    sendfile on; # 開啟高效文件傳輸模式
    server {
        location / {
            autoindex on; # 開啟目錄瀏覽模式
            root /data/public;
            index index.html index.htm;
        }
    ....
    }
}

/data/public中創(chuàng)建index.html文件垂涯,用于訪問(此處不贅述,可以網(wǎng)上找或者不配置)

啟動Nginx航邢,從瀏覽器訪問192.168.33.150/ubuntu

客戶端配置

備份原有源配置文件耕赘,將地址換成Apt內(nèi)網(wǎng)源服務(wù)器地址

# 備份
cp -a /etc/apt/source.list /etc/apt/source.list.bak
# 修改,將/etc/apt/source.list中的內(nèi)容替換為以下
deb [arch=amd64] http://192.168.33.150/ubuntu/ jammy main restricted universe multiverse
deb [arch=amd64] http://192.168.33.150/ubuntu/ jammy-security main restricted universe multiverse
deb [arch=amd64] http://192.168.33.150/ubuntu/ jammy-updates main restricted universe multiverse
deb [arch=amd64] http://192.168.33.150/ubuntu/ jammy-proposed main restricted universe multiverse
deb [arch=amd64] http://192.168.33.150/ubuntu/ jammy-backports main restricted universe multiverse

配置完成后不要忘記更新apt-get update

mirror.list配置文件詳解

############# config ##################
#
# 配置數(shù)據(jù)基目錄(可以修改為自己需要保存的位置)
# set base_path /var/spool/apt-mirror
# 配置鏡像存儲位置
# set mirror_path $base_path/mirror
# 配置臨時下載索引位置
# set skel_path $base_path/skel
# 配置日子,URLs和MD5校驗信息存儲位置
# set var_path $base_path/var
# 配置刪除過期源腳本位置(默認不刪除,方便安裝舊版本軟件)
# set cleanscript $var_path/clean.sh
# 設(shè)置默認架構(gòu)膳殷, 可填: amd64 或 i386操骡,默認是和本機一個架構(gòu)
# set defaultarch <running host architecture>
#
# 設(shè)定下載后運行的腳本位置
# set postmirror_script $var_path/postmirror.sh
# 設(shè)置是否執(zhí)行 下載后的腳本操作,默認是1(但是默認沒有postmirror.sh腳本)
# set run_postmirror 0
# 設(shè)置下載線程數(shù)
set nthreads 20
# 是否替換URL中的波浪線赚窃,替換成%7E(HTML代碼)册招,否則會跳過不進行下載
set _tilde 0
#
############# end config ##############
# 配置Ubuntu jammy 源
deb [arch=amd64] http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb [arch=amd64] http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb [arch=amd64] http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb [arch=amd64] http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
deb [arch=amd64] http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
# 下載完成后清除部分空間
clean http://mirrors.aliyun.com/ubuntu/
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市勒极,隨后出現(xiàn)的幾起案子是掰,更是在濱河造成了極大的恐慌,老刑警劉巖辱匿,帶你破解...
    沈念sama閱讀 218,204評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件键痛,死亡現(xiàn)場離奇詭異,居然都是意外死亡掀鹅,警方通過查閱死者的電腦和手機散休,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來乐尊,“玉大人戚丸,你說我怎么就攤上這事。” “怎么了限府?”我有些...
    開封第一講書人閱讀 164,548評論 0 354
  • 文/不壞的土叔 我叫張陵夺颤,是天一觀的道長。 經(jīng)常有香客問我胁勺,道長世澜,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,657評論 1 293
  • 正文 為了忘掉前任署穗,我火速辦了婚禮寥裂,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘案疲。我一直安慰自己封恰,他們只是感情好,可當我...
    茶點故事閱讀 67,689評論 6 392
  • 文/花漫 我一把揭開白布褐啡。 她就那樣靜靜地躺著诺舔,像睡著了一般。 火紅的嫁衣襯著肌膚如雪备畦。 梳的紋絲不亂的頭發(fā)上低飒,一...
    開封第一講書人閱讀 51,554評論 1 305
  • 那天,我揣著相機與錄音懂盐,去河邊找鬼褥赊。 笑死,一個胖子當著我的面吹牛允粤,可吹牛的內(nèi)容都是我干的崭倘。 我是一名探鬼主播翼岁,決...
    沈念sama閱讀 40,302評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼类垫,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了琅坡?” 一聲冷哼從身側(cè)響起悉患,我...
    開封第一講書人閱讀 39,216評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎榆俺,沒想到半個月后售躁,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,661評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡茴晋,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,851評論 3 336
  • 正文 我和宋清朗相戀三年陪捷,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片诺擅。...
    茶點故事閱讀 39,977評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡市袖,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出烁涌,到底是詐尸還是另有隱情苍碟,我是刑警寧澤酒觅,帶...
    沈念sama閱讀 35,697評論 5 347
  • 正文 年R本政府宣布,位于F島的核電站微峰,受9級特大地震影響舷丹,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜蜓肆,卻給世界環(huán)境...
    茶點故事閱讀 41,306評論 3 330
  • 文/蒙蒙 一颜凯、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧仗扬,春花似錦装获、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至逼友,卻和暖如春精肃,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背帜乞。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評論 1 270
  • 我被黑心中介騙來泰國打工司抱, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人黎烈。 一個月前我還...
    沈念sama閱讀 48,138評論 3 370
  • 正文 我出身青樓习柠,卻偏偏與公主長得像,于是被迫代替她去往敵國和親照棋。 傳聞我的和親對象是個殘疾皇子资溃,可洞房花燭夜當晚...
    茶點故事閱讀 44,927評論 2 355

推薦閱讀更多精彩內(nèi)容