參考:
針對arm和arm64,使用的是http://ports.ubuntu.com/ubuntu-ports/。下面以搭建arm64的本地源為例。
概述
有些私有雲環境不允許連接互聯網,這樣的話雲平台的虛擬機安裝軟件比較困難,因此就需要自己搭建apt源才行
步驟
我們使用apt-mirror制作apt源,因為會把包文件同步到本地,所以建議創建一個至少200G的磁盤,單獨掛載用於存儲數據。
服務端配置
1、安裝apt-mirror
apt-get install apt-mirror
2、修改apt-mirror配置文件
vim /etc/apt/mirror.list
參考以下配置文件:
# 以下注釋的內容都是默認配置,如果需要自定義,取消注釋修改即可 ############# config ################## set base_path /gitlab/ubuntu_port_mirror/data_arm64/16.04 # set base_path /var/spool/apt-mirror # # 鏡像文件下載地址 # set mirror_path $base_path/mirror # 臨時索引下載文件目錄,也就是存放軟件倉庫的dists目錄下的文件(默認即可) # set skel_path $base_path/skel # 配置日志(默認即可) # set var_path $base_path/var # clean腳本位置 # set cleanscript $var_path/clean.sh # 架構配置,armhf/arm64,默認的話會下載跟本機相同的架構的源 set defaultarch arm64 # set postmirror_script $var_path/postmirror.sh # set run_postmirror 0 # 下載線程數 set nthreads 20 set _tilde 0 # ############# end config ############## #可以使用Ali yun的apt源(這里沒有添加deb-src的源) deb https://mirrors.aliyun.com/ubuntu-ports xenial main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu-ports xenial-security main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu-ports xenial-updates main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu-ports xenial-proposed main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu-ports xenial-backports main restricted universe multiverse
3、開始同步
執行apt-mirror,然后就開始進行同步了,同步的鏡像文件目錄為/gitlab/ubuntu_port_mirror/data_arm64/16.04/mirror/mirrors.aliyun.com/ubuntu/,當然如果增加了其他的源,在/gitlab/ubuntu_port_mirror/data_arm64/16.04/mirror目錄下還有其他的地址為名的目錄。
4、安裝apache2
apt-get install apache2
由於Apache2的默認網頁文件目錄位於/var/www/html,因此,可以做個軟鏈接
ln -s /gitlab/ubuntu_port_mirror/data_arm64/16.04/mirror/mirrors.aliyun.com/ubuntu-ports /var/www/html/ubuntu160406/arm64/ubuntu-ports
然后就可以通過如下地址訪問了。
http://[host]:[port]/ubuntu #ip和port是自己本機的,其中端口默認為80。在測試時可能遇到打不開的情況,查看下本機和雲平台的防火牆規則是否打開相關端口或者selinux的問題。
5、服務器配置(可選)
安裝apache2,配置文件/etc/apache2/sites-enabled/000-default.conf,或者直接加一個新的配置文件,文件內容:
<VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www/
<Directory /> Options FollowSymLinks AllowOverride None </Directory>
<Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
配置好后,重啟apache服務
客戶端配置
1、在/etc/apt/sources.list配置如下
deb http://192.168.1.100/ubuntu160406/arm64/ubuntu-ports/ xenial main restricted
deb http://192.168.1.100/ubuntu160406/arm64/ubuntu-ports/ xenial-updates main restricted
deb http://192.168.1.100/ubuntu160406/arm64/ubuntu-ports/ xenial universe
deb http://192.168.1.100/ubuntu160406/arm64/ubuntu-ports/ xenial-updates universe
deb http://192.168.1.100/ubuntu160406/arm64/ubuntu-ports/ xenial multiverse
deb http://192.168.1.100/ubuntu160406/arm64/ubuntu-ports/ xenial-updates multiverse
deb http://192.168.1.100/ubuntu160406/arm64/ubuntu-ports/ xenial-backports main restricted universe multiverse
deb http://192.168.1.100/ubuntu160406/arm64/ubuntu-ports/ xenial-security main restricted
deb http://192.168.1.100/ubuntu160406/arm64/ubuntu-ports/ xenial-security universe
deb http://192.168.1.100/ubuntu160406/arm64/ubuntu-ports/ xenial-security multiverse
2、更新apt-get源
apt-update
完。