creating package repository for offline installation

Manolis Kiagias sonic2000gr at gmail.com
Mon Aug 4 18:08:26 UTC 2008


Manolis Kiagias wrote:
> Nikos Vassiliadis wrote:
>> On Monday 04 August 2008 14:34:45 Manolis Kiagias wrote:
>>  
>>> If you don't mind building the packages (on the remote system) from
>>> ports, I would suggest ports-mgmt/tinderbox
>>> Comprehensive instructions are located here:
>>> http://tinderbox.marcuscom.com/ I've used it for quite some time
>>> (http://www.freebsdgr.org/tinderbox/) but lately I've dedicated a
>>> machine for package building and I am using a couple of my own simple
>>> scripts.
>>>     
>>
>> I really don't care about the latest and shiniest programs.
>> So, I do mind building from ports. I just want to download
>> 20-30 packages along with their dependecies.
>>
>> I think I've found a relatively cheap way to do just that,
>> I am going to use unionfs to create a "replica" of my system,
>> mount an empty fs on $JAIL/var/db/pkg, fire up "jail $JAIL"
>> and pkg_add -Kr $everything_i_want in there.
>>
>> //a few of minutes later
>>
>> Yet to my big surprise(and disappointment) pkg_add -Kr
>> does not keep the dependencies, but only the requested
>> file e.g. pkg_add -rK bash, downloads all depedencies,
>> installs bash and deletes all packages but bash. Not
>> much of a progress...
>>
>>
>>   
> But you can still use the installed packages to recreate everything:
>
> e.g. pkg_create -Rb bash-x.y.z
>
> Or, use a simple shell script with pkg_create -b to create packages 
> from all installed ones, i.e:
>
> for i in `pkg_info -Ea`
> do
> pkg_create -b $i
> done
>
And by the way,  if you are running 7-STABLE, pkg_create supports a 
no-clobber option (courtesy of Giorgos ;) ), so if you run it with -R 
(recursion) it will not keep recreating / overwriting the existing 
packages in the same directory.


More information about the freebsd-questions mailing list