Hi,

I have an air gaped[1] device. ( Devuan )

How do you manage to install packages/software on off-line[1:1] device ?

I’ve heard of apt-offline but it seem to bug and I don’t know if it’s still maintained (last release two years ago)

of course I’ve tried manually but the dependencies relations are too crazy to do that fully manually

Dependence tree (not complete even) to install for example apt-offline
├── Depends
│   ├── Depends
│   │   ├── Depends
│   │   │   ├── Depends
│   │   │   │   └── python3-dbg_3.9.2-3_amd64.deb
│   │   │   ├── libcurl4-gnutls-dev_7.74.0-1.3+deb11u14_amd64.deb
│   │   │   ├── python3-pycurl-dbg_7.43.0.6-5_amd64.deb
│   │   │   └── python-pycurl-doc_7.43.0.6-5_all.deb
│   │   ├── python3-httplib2_0.18.1-3_all.deb
│   │   └── python3-pycurl_7.43.0.6-5_amd64.deb
│   ├── iso-codes_4.6.0-1_all.deb
│   ├── python3-pysimplesoap_1.16.2-3_all.deb
│   └── python-apt-common_2.2.1_all.deb
├── python3-apt_2.2.1_amd64.deb
└── python3-debianbts_3.1.0_all.deb

Any ideas ?

Thanks.


  1. air gaped, off-line
    https://en.wikipedia.org/wiki/Air_gap_(networking) ↩︎ ↩︎

  • SpongeB0B@programming.devOP
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    8 days ago

    Thank you very much @connaisseur@feddit.org

    I have tried

    apt-get -o Dir::Cache::archives="/to/path" install --download-only apt-offline
    

    But it downloaded only the .deb of apt-offline and not all the dependence tree. Most probably because this machine have them already.

    now, remain to force to download also all the dependency tree even if already installed…

    • connaisseur@feddit.org
      link
      fedilink
      arrow-up
      1
      ·
      8 days ago

      You could setup a new, empty VM and use it as a download only machine for packages, although it makes the process a bit more complicated.

      • SpongeB0B@programming.devOP
        link
        fedilink
        English
        arrow-up
        1
        ·
        8 days ago

        Yes, but it’s not reliable. because even if you use a bare linux vm to download the packages and dependency, you never know if the online will have already a dependence that the offline system do not have.

        no, the only way is to force the dw of the already downloaded package.