GithubHelp home page GithubHelp logo

bacpac's Introduction

bacpac

bacpac is a backup and restore script for Arch Linux's pacman configuration data and manually installed packages.

Dependencies

  • bash for the script itself
  • git and diffutils for backing up current packages and configuration
  • sudo and grep for restoring packages and configuration
  • ...that's all!

Getting started

Setting up bacpac for the first time is super-easy; the only requirement is a GitHub account to sync your packages. To get started, read the following instructions:

  1. Create a GitHub account if you don't already have one.

  2. Fire up a terminal.

  3. git clone https://github.com/tech4david/bacpac

  4. cd bacpac

  5. ./bacpac init

  6. Follow the instructions displayed on the terminal.

Please report any issues you find with bacpac here or submit a pull request.

bacpac's People

Stargazers

Arjun avatar Darek Welsch avatar  avatar Hirokazu Hata avatar Ahmed Fayed avatar Nathan Higley avatar Ritchie J. Latimore avatar Carlos Herrera avatar Lukas Waymann avatar  avatar Niklas Heer avatar Alex Springer avatar Wael Nasreddine avatar  avatar jan-matthis avatar  avatar Sime avatar Pajamaman avatar  avatar  avatar Nazeeruddin Ikram avatar jeroen tiebout avatar  avatar Max Käufer avatar Philippe Loctaux avatar Ryan Oles avatar ʞ-uɐʇsıɹʇ avatar Pavlos Vinieratos avatar Ruslan Prakapchuk avatar Nogweii avatar Christian Vervoorts avatar Scott Hatcher avatar Epo Jemba avatar Matt H avatar Eric S. avatar John Jenkins avatar Ben avatar

Watchers

John Jenkins avatar Valerie Enfys avatar

Forkers

u1and0

bacpac's Issues

Custom repositories

Custom repositories will stop bacpac working properly if they require another key, as pacman will give an error when syncing the repositories. bacpac should either disable custom repos and let the user manually enable them later or automatically get the key to make them work.

aur?

is there an aur package?

Safer package removal process

Currently, when restoring packages, bacpac tries to remove everything that's manually installed on the system that isn't shown on the backup, but instead it should mark these as "installed as dependency" and then autoremove them. This way, if a package depends on another package that would be removed, then there won't be an error.

SSH cloning

This is not really an issue, but rather a feature: Instead of giving the https URL, you can simply give the ssh git clone link. The advantage is that you don't need to enter your password if you have an ssh key setup on your account.

Also, the password method doesn't seem to work with 2FA anyway, so this is really awesome and should be pointed out ;)

Optional dependencies

bacpac won't back up packages installed as dependencies (--asdeps) that are optional for another package, because it only backs up explicitly installed packages. Optional dependencies that were installed with --asdeps (or modified with pacman -D) should be backed up too in another file

Check dependencies

bacpac doesn't check if you've got the dependencies installed before running, and it would be nicer to make it check rather than Bash giving a command not found error when, for example, it's backing up.

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.