https://github.com/bhc1010/apt-remote

Install packages, update, and upgrade on an offline remote device via ssh

https://github.com/bhc1010/apt-remote

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.6%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

Install packages, update, and upgrade on an offline remote device via ssh

Basic Info
  • Host: GitHub
  • Owner: bhc1010
  • License: mit
  • Language: Rust
  • Default Branch: main
  • Size: 55.7 KB
Statistics
  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • Open Issues: 0
  • Releases: 1
Created 12 months ago · Last pushed 11 months ago
Metadata Files
Readme License

README.md

Remote apt package managment

This is a command-line utility for remote package management of offline Debian-based systems. It enables the creation an image of the desired packages and their dependencies (repository lists) of an offline machine, downloading packages (repository lists) on an online machine, and installing packages (update apt package metadata), all via SSH. Dependency resolution and installation order are handled by apt-get on the offline system.

Installation

Debian/Ubuntu & macOS

The latest debian & macOS release can be installed with this bash script:

bash curl -sSL https://raw.githubusercontent.com/bhc1010/apt-remote/main/install.sh | bash

Windows

Windows users can download the latest .msi installer directly from the GitHub Releases page and run it manually.

Build from source (requires Rust Toolchain):

bash git clone https://github.com/benca/apt-remote.git cd apt-remote cargo build --release

Usage

apt-remote is structured around subcommands:

set: generate a uri.toml image file

```bash

Specific packages

apt-remote set --target user@host --install pkg1 pkg2 ...

Up-to-date package metadata (like apt-get update)

apt-remote set --target user@host --update

Upgradable packages

apt-remote set --target user@host --upgrade

Packages needed to fix broken dependencies

apt-remote set --target user@host --fix `` Only oneuri.tomlfile will exist for a given image name. Running set with a different flag will overwrite any existing uri's. The--install,--upgrade, and--fixflags will populate theuri.tomlwith metadata needed to download.debpackages, while the--update` flag will populate it with repository source list metadata.

get: download packages/sources from uri.toml

bash apt-remote get <NAME> When you run apt-remote get <NAME>, the packages or source lists described in uri.toml will be downloaded to local cache depending on the operating system. On Linux, the uri.toml file and any downloaded data are located at $HOME/.cache/apt-remote/<NAME>.

install: dpkg -i packages on remote target

bash apt-remote install <NAME> --target user@host The install subcommand is intended for when uri.toml describes .deb packages. When you run apt-remote install, all downloaded packages are copied to user@host:/tmp/apt-remote/<NAME>, the checksums are verified on the offline system and are installed in the order determined by apt-get on the offline system.

update: copy package lists to target and generate package cache

bash apt-remote update <NAME> --target user@host The update subcommand is intended for when uri.toml describes repository source lists. When you run apt-remote update, all downloaded package metadata is copied to user@host:/var/lib/apt/lists and the pkgcache.bin and srcpkgcache.bin cache files are regenerated. The old list files are moved to /var/lib/apt/lists.old but it still may be recommended to backup these files before updating

clear: local package cache

bash apt-remote clear When you run apt-remote clear, all local cache files are removed.

SSH Requirements

  • Password-based or key-based SSH access to the remote machine
  • sudo privileges on the remote machine

Owner

  • Name: Ben Campbell
  • Login: bhc1010
  • Kind: user

GitHub Events

Total
  • Release event: 2
  • Delete event: 5
  • Push event: 23
  • Create event: 11
Last Year
  • Release event: 2
  • Delete event: 5
  • Push event: 23
  • Create event: 11