Applications/System Restore Project
Contents |
Overview
Shift Linux system restore aims to create two small programs that generate a list of packages installed on a Debian based system and re-installs these on a new Shift Linux installation, essentially automating command line tools that are already available.
The programs are principally aimed for use by new Linux users who have successfully installed Linux and some programs but now require OS re-installation either to correct a fault or to switch distributions.
Proposed features
- GUI/CLI
- Package list to be saved/available from local file and network storage.
Operation
Current idea for network storage is to provide space (1MB per user is ample) on Shift servers so that the storage mechanism is transparent to the user beyond a simple user name and password. The detailed implementation of this needs to be considered further.
Development versions
0.1 Local storage mechanism in place. System restore 0.1
0.2 Investigate and implement network storage.
0.3 ? Delivery mechanism?
Implementation
The core commands required by the application are readily called from a shell and so the proposed implementation simply consists of a bash script to call gtk GUI elements to collect user input.
This raises two questions:
1) Requires zenity, usually installed as part of Gnome/Utils. Is this an acceptable dependency?
2) Zenity allows the programming to be simple, but gives limited control over the GUI that is produced (for example buttons are constrained to be OK and cancel only). Is this level of GUI sufficient?
Other questions
Delivery mechanism: As envisioned the project output should be two bash scripts. Is setting the file to executable and then running it too much assumed knowledge for the end user? Backup script might be packaged to some extent to avoid this. Restore script could be placed on Desktop from fresh install already with correct permissions. Are there alternative mechanisms available/desirable?
Future possibilities
Saving of user config files as well?
- Essentially a dump of .* from ~/.
- Requires more thought.
Suggested actions
Development of 0.1 version as outlined to allow practical evaluation before considering alternative GUI's/network storage in detail.

