Code Monkey home page Code Monkey logo

srslsud's Introduction

srslsud

Save/Restore Software List Script for Ubuntu and Debian

This is Python 3 script for my personal needs. Currently it was tested on Ubuntu MATE 18.04 and 20.04 LTS.

Usage scenario is the following: user has two computers. The first computer is old, but has all needed software installed. The second computer is new, user wants to install all the software from first computer on it.

Currently the script supports almost all possible installation sources - Snap, Flatpak, Ubuntu Make and APT. Software lists are saved to JSON file and then maybe be restored/loaded from it.

To enable all the features user needs to install the dependencies using command below:

# minimal for APT
sudo apt-get install python3 python3-gi python3-apt software-properties-common python3-jsonpickle

# additional for Snap, Flatpak
sudo apt-get install snapd flatpak gir1.2-snapd-? gir1.2-flatpak-1.0

# additional for Ubuntu Make
sudo apt-get install ubuntu-make

After this one can use the following syntax to call ./srslsud.py with one argument:

  • 'snap_save'/'snap_load' (for Snap),
  • 'flatpak_save'/'flatpak_load' (for FlatPak),
  • 'umake_save'/'umake_load' (for Ubuntu Make),
  • 'apt_save'/'apt_load' (for APT),
  • 'all_save'/'all_load' (for Snap, Flatpak, Ubuntu Make and APT in one shot).

Please note that JSON files have the following names:

  • snaps.json for Snap,
  • flatpaks.json for FlatPak,
  • umake.json for Ubuntu Make,
  • debs.json for APT.

'Load' operation for Snap, Flatpak and Ubuntu Make are almost automatic. They require user to enter password only on package installation.

'Load' operation for APT is interactive. The Python script generates Bash script named apt.sh. User should manually review this script and then run it by sudo bash ./apt.sh and keep an eye on it. Some issues may occur here because of dependencies of something similar. It is recommended to run the 'load' operation on fully upgraded system without PPAs and third-party repositories added. Current version of script support the following repositories: Launchpad PPAs, OpenSuSe Build Service, Oracle VirtualBox, Google Chrome, UbuntuZilla on SourceForge and Yandex Disk.

Quick start:

  1. clone this repository on the first machine, install the dependencies, run the script using ./srslsud.py all_save, copy JSON files and ./srslsud.py script to removable media;
  2. install the dependencies on the second machine with the same OS version, launch the script with ./srslsud.py all_load from removable media, follow the instructions on screen.

srslsud's People

Contributors

n0rbert avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

michaelwalkerfl

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.