首先,准备一台刚装好的Ubuntu系统。
1.1 先替换成国内的源:
sudo vim /etc/apt/sources.list
deb http://cn.archive.ubuntu.com/ubuntu/ bionic main restricted
deb http://cn.archive.ubuntu.com/ubuntu/ bionic-updates main restricted
deb http://cn.archive.ubuntu.com/ubuntu/ bionic universe
deb http://cn.archive.ubuntu.com/ubuntu/ bionic-updates universe
deb http://cn.archive.ubuntu.com/ubuntu/ bionic multiverse
deb http://cn.archive.ubuntu.com/ubuntu/ bionic-updates multiverse
deb http://cn.archive.ubuntu.com/ubuntu/ bionic-backports main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu bionic-security main restricted
deb http://security.ubuntu.com/ubuntu bionic-security universe
deb http://security.ubuntu.com/ubuntu bionic-security multiverse
注意,上面的是 ubuntu 18.04的源,与16.04的区别就在于每一行的倒数第二个单词是 bionic 还是 xenial 。之所以这么设置,是因为需要满足 Ceph 12.8所需要的依赖。设置好源之后,更新。
1.2 更新
sudo apt-get update
1.3 下载Ceph相关的的包
用 apt-get install 命令下载 Ceph 相关的包,例如:
apt-get install ceph-common
直到把所有的包都下载完,参考的所有的相关的包是:
有一些是 CephFS 和 接口相关的包,不需要的包就要下载。
2.1 下载安装包
apt-get install apache2
2.2 启动apache2
/etc/init.d/apache2 start
注: 重启命令为 : /etc/init.d/apache2 restart
2.3 其他
apache2 的访问日志位于 : /var/log/apache2/access.log
将第一步下载的所有的deb包搬到apache2的目录下,通过 apt-get 下载的包位于 /var/cache/apt/archives 下,进入这个目录下面可以看到刚刚下载所有的Ceph 包,以及他们的依赖包。
现在我们的工作的,将这个些包全部搬到apache2的访问目录下,这样,就可以制作本地源了。
3.1 apache2的默认访问路径是: /var/www/html,进入这个目录下面:
cd /var/www/html
3.2 新建目录并进入:
mkdir ubuntu; cd ubuntu
3.3 再新建一个目录:
mkdir ceph_deb
所以,我们现在的位置是: /var/www/html/ubuntu, 其中 ubuntu下面有一个目录 ceph_deb。
现在,就把刚刚下载好的包放到apache2的默认目录下的这个 ceph_deb 下面。
3.4 debian系统把 apt-get 下载的包放在 /var/cache/apt/archives 文件夹下面。把这个下面的所有的deb包都下载下来,即以文件后缀名为deb的文件,移动他们:
cp *.deb /var/www/html/ubuntu/ceph_deb
下载 reprepro,这个软件会帮我们根据文件名,建立一个与debian仓库类似的属于我们自己的仓库,也就是说这个仓库是根据我们刚刚下载的所有的包来建立。
apt-get install reprepro
进入文件夹下,继续进行我们的操作
cd /var/www/html/ubuntu
mkdir repo
mkdir repo/conf
touch repo/conf/distributions
编辑 distributions文件,reprepro会根据这个配置文件建立仓库。
提供我的配置作为样本:
Origin: 192.168.10.15/ubuntu
Label: 192.168.10.15/ubuntu
Codename: xenial
Architectures: amd64 i386
Components: main
Description: Apt repository for project Ceph
如果,你如果根据我上面一路走过来的,那么第一行和第二行只用改动IP地址就可以。第三行,xenial是说Ubuntu发行版本,第三行是说机器的架构,64位的是amd64,32位是i386。更详细的解释请看: HOWTO: Create debian repositories with reprepro
现在,进入,第三步建立的文件夹下面,也就是包含所有Ceph包和依赖包的文件夹:
cd /var/www/html/ubuntu/ceph_deb
让reprepro打包所有的包:
reprepro -b . includedeb xenial *.deb
更改 sources.list 文件:
vim /etc/apt/sources.list
deb [arch=amd64 trusted=true] http://192.168.10.15/ubuntu/repo xenial main
更新一下:
apt-get update
大功告成,剩下的交给部署工具吧。
参考:
1. ubuntu下的apt-get内网本地源的搭建
2. HOWTO: Create debian repositories with reprepro