Giter Site home page Giter Site logo

pmage's People

Contributors

cabillman avatar creisinger avatar tomswartz07 avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

pmage's Issues

image versioning

pmage has no way to detect what image is currently running. This will be needed so pmage knows if it needs to apply a new image.

I imagine this something like how deb packages all have a version so apt can determine if the package on the system needs to be upgraded.

copy current user + password

At a minimum I think we need to make sure the user account exists on the new image and copy over the password.

Distros typically reserver uid < 1000 for system accounts. Everything else should have been created by the end user. So it might be more robust to just pull over all accounts with a uid > 1000.

The minimum uid appears to be stored in /etc/login.defs

copy bookmarks

Bookmarks from firefox + chrome should survive even if we decide to clean up the rest of the home folder.

image repository

I'm thinking something like an apt repository where we can continually import different images.

There will need to be some metadata file that has the url for the image, the image version, etc.

resize root filesystem

After imaging the root filesystem is not automatically expanded to fill up the partition.

store partition scheme on recovery partiton

Currently we are relying on filesystem labels to determine which root filesystem to apply the image too. While this approach works it is problematic when the imager doesn't complete because the label could be missing. The next time pmage is started it won't be able to determine what partition to use because the label is missing.

One fix could be storing the filesystem partition + default labels in a txt file on the recovery partition. If pmage is not able to determine the partitions from the current labels it could fall back to using that txt file as defaults.

Another potentially more robust option (although more invasive since it impacts FLDT) would be to use GPT partition labels. Currently FLDT images with MSDOS partition tables.

copy over network settings

Copy over /etc/NetworkManager/system-connections/* to the new image.

This should preserve any home network connections the students added.

image build tools

Investigate some tools for building the image file.

The bzipped root file system will come from packer but the actual .img file that pmage expects also contains the installation scripts and some metadata files archived in a single tar file.

This could really be anything... I doesn't have to be written in go.

Image discovery features

Possibly implement a way to 'list' available images. Perhaps a ./imager list command that displays image files available?

This might be useful only for testing purposes, but I think it might also be useful for changing distros, if the possibility is still being entertained.

clean up user folder

After imaging do we want to clean up the user's home folder? What should be preserved?

Keep everything if distro version is the same?
Make it a parameter?
Only remove the ~/. hidden folders?
Other ideas?

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.