/
How to create local repository in the zone for test package

How to create local repository in the zone for test package

 

creating a new repository pool, don't use rpool:

$ sudo zpool create data c2t1d0

create new dataset for repository:

$ sudo zfs create -o compression=on -o mountpoint=/data/repo data/repo

creating a new directory to store the repository configuration:

$ mkdir -p /data/repo/conf

create configuration file :

$ vim /data/repo/conf/distributions Codename: du2-prebuild Suite: unstable Version: 2.0 Origin: DilOS Label: DilOS prebuild Description: DilOS Prebuild Repository Architectures: solaris-i386 solaris-sparc Components: main contrib non-free #SignWith: default DebIndices: Packages Release . .gz .bz2 .xz #DscIndices: Sources Release . .gz .bz2 .xz Contents: . .gz .bz2 .xz :wq!

create new zone for build package and use this guide for build package.

after building the package, put it in the repository:

$ cd /export/builds/du2/components/lynx/build/ $ reprepro -Vb /data/repo --export=never include du2-prebuild *.changes $ reprepro -Vb /data/repo export du2-prebuild

after that, you should see the following structure in /data/report:

$ cd /data/repo/ $ ls -la total 4 drwxr-xr-x 6 root root 6 февр. 11 15:28 . drwxr-xr-x 4 root root 4 февр. 11 15:10 .. drwxr-xr-x 2 root root 3 февр. 11 14:54 conf drwxr-xr-x 2 root root 8 февр. 11 15:28 db drwxr-xr-x 3 root root 3 февр. 11 15:28 dists drwxr-xr-x 3 root root 3 февр. 11 15:26 pool

create an apache2 deployment zone. Add zone access to this directory:

add fs set dir="/data/repo" set special="/data/repo" set type="lofs" end

 

$ sudo zonecfg -z apache_repo create -t SUNWdpkg set zonepath=/zones/apache_repo set ip-type=exclusive add fs set dir="/export/home/admin" set special="/export/home/admin" set type="lofs" end add fs set dir="/export/builds" set special="/export/builds" set type="lofs" end add fs set dir="/data/repo" set special="/data/repo" set type="lofs" end add net set physical="vnic2" set global-nic="stub0" add property (name=ip,value="192.168.0.2") add property (name=netmask,value="255.255.255.0") add property (name=gateway,value="192.168.0.254") add property (name=primary,value="true") end add attr set name="resolvers" set type="string" set value="192.168.0.254" end verify commit exit $ sudo zoneadm -z apache_repo install $ sudo zoneadm -z apache_repo boot

check your zone directories.

installing, configuring, and running apache2:

$ sudo apt install apache2 ... $ sudo ln -s /data/repo /var/www/html/dilos $ sudo svcadm enable http $ sudo svcs http STATE STIME FMRI online 15:46:59 svc:/network/http:apache2

create a zone for testing the repository:

$ sudo zonecfg -z test_repo create -t SUNWdpkg set zonepath=/zones/apache_repo set ip-type=exclusive add fs set dir="/export/home/admin" set special="/export/home/admin" set type="lofs" end add fs set dir="/export/builds" set special="/export/builds" set type="lofs" end add fs add net set physical="vnic3" set global-nic="stub0" add property (name=ip,value="192.168.0.3") add property (name=netmask,value="255.255.255.0") add property (name=gateway,value="192.168.0.254") add property (name=primary,value="true") end add attr set name="resolvers" set type="string" set value="192.168.0.254" end verify commit exit $ sudo zoneadm -z test_repo install $ sudo zoneadm -z test_repo boot

write to /etc/apt/sources.list in test zone:

$ vim /etc/apt/sources.list deb [trusted=yes] http://192.168.0.2/dilos du2-prebuild main contrib non-free :wq $ sudo apt update

now you can install your package.

 

Related content