Ubuntu22.04 搭建自己的镜像及软件仓库

前言

搭建自己的镜像仓库,目前使用过的有两种方式:

  1. 使用nginx来搭建私有仓库,这种方式搭建的仓库需要自己手动上传所有的软件包,目前测试过用来做apt源和yum源
    在这里插入图片描述
  2. 使用nexus3来做缓存加速。其原理主要是通过在本地仓库进行缓存,来做的仓库,有点类似常用的阿里云镜像加速。使用nexus3可以做yum、apt、docker、pip等的源。既可以自建本地仓库,又可以创建为代理其他源的代理仓库。较为灵活。
    在这里插入图片描述

1 使用Nginx 搭建 apt源

1.1 nginx下载安装

# Ubuntu
sudo useradd -s /sbin/nologin www -M
sudo apt update
# 通过以下命令安装编译器和调试器
sudo apt install build-essential
sudo apt-get install manpages-dev
gcc --version
# 安装依赖
sudo apt install openssl libssl-dev -y
sudo apt install libpcre3 libpcre3-dev -y
sudo apt install zlib1g-dev -y
sudo apt -y install make

cd /usr/local/src
sudo wget https://nginx.org/download/nginx-1.22.1.tar.gz
sudo tar -zxf nginx-1.22.1.tar.gz
cd /usr/local/src/nginx-1.22.1
sudo ./configure --prefix=/usr/local/nginx/ --user=www --group=www --with-http_stub_status_module --with-http_ssl_module

sudo make
sudo make install

sudo vim /etc/profile
export PATH=$PATH:/usr/local/nginx/sbin/

# 刷新
sudo source /etc/profile

1.2 软件存放目录的创建和配置

# 新建软件存放的目录
mkdir /mirrors/{
   windows,ubuntu,centos}
mkdir /mirrors/ubuntu/22.04

# 修改nginx配置文件
# 把该目录暴露出去,以列表的形式显示
worker_processes  1;
events {
   
    worker_connections  1024;
}
http {
   
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
   
        listen       9009;
        server_name  192.168.92.100;
        root /mirrors/;    # 此处直接指定到sim
### 配置Ubuntu 22.04上的Android编译环境 #### 准备工作 为了确保系统的软件包是最新的,在开始之前应当更新现有的软件包列表并安装必要的工具和库。 ```bash sudo apt-get update && sudo apt-get upgrade -y ``` #### 安装依赖项 对于构建AOSP来说,除了基本的Java JDK之外还需要一些其他的依赖项。可以按照如下命令来一次性安装这些必需品: ```bash sudo apt-get install git-core gnupg flex bison build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 libncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev libxml2-utils xsltproc unzip fontconfig openjdk-11-jdk -y ``` 上述命令不仅包含了OpenJDK 11的安装[^2],还涵盖了其他用于支持源码编译的重要组件。 #### 获取AOSP源代码 创建一个合适的工作目录,并从中克隆官方仓库中的最新版AOSP源代码。这里假设选择了`~/work/android/aosp/`作为工作路径。 ```bash mkdir -p ~/work/android/aosp/ cd ~/work/android/aosp/ repo init -u https://android.googlesource.com/platform/manifest repo sync ``` #### 初始化构建环境 进入解压后的文件夹内执行初始化脚本,这一步骤是为了设定好后续编译过程中需要用到的各种变量与函数定义。 ```bash source build/envsetup.sh ``` 选择合适的编译目标,例如针对SDK镜像进行调试版本(`userdebug`)的编译: ```bash lunch sdk_car_x86_64-userdebug ``` #### 编译过程 最后就是实际的编译操作了,可以根据机器性能调整线程数(-j参数),一般建议设置为CPU核心数量加上一或两倍于其数目以充分利用硬件资源。 ```bash make -j$(nproc --all) ``` 整个编译流程可能耗时较长,具体取决于所选的目标以及计算机本身的处理能力[^3]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值