# offline port instllation



## rtsiresy (Mar 23, 2019)

Hello everyone, 
first I know this question 's been asked by someone-else before but the answers remains unclear to me ...
so may I ask, is there a way to make an offline installation of a package using the port collection??
and by offline I mean a total offline solution; no need of internet-fetching dependencies; a solution that does absolutely not need internet connection 
in some way, I m asking if there 's a way of downloading the whole ports_collection/corresponding_sourcecode with all build/run dependency port/sourcecode ... for an offline use ...

any help 'd be welcome


----------



## Minbari (Mar 23, 2019)

If you download manually all the distfiles it can be done but maintaining such system I think it's gone be a nightmare when you will have so much dependencies.
If your system it's not connected to internet at all the best solution for you it's to use the dvd install, it has a lots of precompiled packages on it.
A guide for managing offline install from dvd can be found here.


----------



## rtsiresy (Mar 24, 2019)

Minbari said:


> If you download manually all the distfiles it can be done but maintaining such system I think it's gone be a nightmare when you will have so much dependencies.
> If your system it's not connected to internet at all the best solution for you it's to use the dvd install, it has a lots of precompiled packages on it.
> A guide for managing offline install from dvd can be found here.



please can you tell me more about the first one?? which command do I use to manually download all the distfile of the port collection ?? and can I download all distfiles ( with the dependencies ) for a chosen port ??? how ???

I looked in the link above but the Cdroom packages seems to be just some basics packages ...


----------



## Phishfry (Mar 24, 2019)

You can use `pkg fetch -d` to download all the pre-compiled binaries compressed in txz. -d grabs dependencies too,
This works nice for offline use. Instead of `pkg install` you use `pkg add` to install packages.
Fetching the entire pkg collection is 81 Gigabytes.
So you can fetch them from one machine and copy over to usb stick for offline use.
You can also fish custom port builds from the /var/pkg/cache directory if same arch.


----------



## Ancient (Mar 24, 2019)

But you should use `pkg fetch -d -a` to fecth and download all the files.


----------



## Ancient (Mar 24, 2019)

It says that it will take 74 GB. Well, I'm in a HDD of 250 GB. So I don't think the size will be a problem. The problem seems to be the time: this will take at least more than a night...
Edit: Anyway, I see that I can cut the process, and when I want to resume the download, it'll continue from the point in which I cut it.


----------



## Minbari (Mar 24, 2019)

rtsiresy said:


> please can you tell me more about the first one?? which command do I use to manually download all the distfile of the port collection ??


I'm not sure if one (command) exists for all ports collection.



rtsiresy said:


> can I download all distfiles ( with the dependencies ) for a chosen port ??? how ???


For a single port it can be done:  `make fetch-recursive`. See ports(7) for more infomations.


rtsiresy said:


> I looked in the link above but the Cdroom packages seems to be just some basics packages ...


Because the CD-ROM version has a few packages, on DVD you can find more to install an offline system, but even DVD does not contain all software which is available in ports collection.


----------



## Phishfry (Mar 24, 2019)

Ancient said:


> But you should use  pkg fetch -d -a to fecth and download all the files.


I usually add a "-o slash" in there. Then it makes a directory named /All with the archive files inside.
`pkg fetch -d -a -o /`
Hopefully this gets used sparingly. This could be bad on the pkg infrastructure.
I just use pkg-fetch for some select packages, not all.
Latest on FreeBSD 11.2 shows 81 GiB

```
Number of packages to be fetched: 32026

The process will require 81 GiB more space.
81 GiB to be downloaded.

Proceed with fetching packages? [y/N]:
```


----------

