Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/skoef/mondieu
Mondieu - portable alternative for freebsd-update
https://github.com/skoef/mondieu
Last synced: about 1 month ago
JSON representation
Mondieu - portable alternative for freebsd-update
- Host: GitHub
- URL: https://github.com/skoef/mondieu
- Owner: skoef
- Created: 2015-03-17T15:36:50.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2017-09-21T12:02:41.000Z (over 7 years ago)
- Last Synced: 2023-03-11T13:03:14.034Z (almost 2 years ago)
- Language: Shell
- Size: 21.5 KB
- Stars: 5
- Watchers: 1
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# mondieu
mondieu - portable alternative for freebsd-update.
mondieu is a simple replacement for freebsd-update. It allows you to just upgrade to whatever version of a FreeBSD release you want, as long as you have the releases' tarballs.
Just like freebsd-update it will scan your current filesystem and build a list of files that differ from the release. After confirming the list, it will be installed and you will get the chance to manually merge your config files. Unlike freebsd-update, this merging can't be done automatically lacking a common reference point for both releases.
## Usage
mondieu is pretty easy to use and will take a couple of minutes to completely upgrade your system.Issueing ```mondieu 10.1-RELEASE``` will download tarballs for 10.1-RELEASE from FreeBSD's primary source and install the files to your current system.
Optionally, these parameters can be used to customize mondieu's behaviour:
- **-a** architecture (default: current architecture)
- **-d** alternative chroot (default: /)
- **-h** show you these settings
- **-F** run `freebsd-update fetch install' afterwards
- **-p** parts of FreeBSD that are considered (default: kernel,base)
- **-u** hostname for fetching release (default: ftp.freebsd.org)
- **-U** specific URL for fetching release archives. This overrides -u
- **-V** show version
- **-w** don't manually merge these files but overwrite with new version
- **-x** ignore files for manual merge
- **-X** ignore files for manual merge when matching this pattern
- **-y** don't ask for confirmation, install the new files already (but still require manual merge, if needed)**Note**: both **-w** and **-x** expect a single argument, so use quotes to define more files
### beadm
Combine mondieu with [beadm](https://github.com/vermaden/beadm) to create snapshots of your current filesystem before upgrading. When everything went smoothly, activate the snapshot as you current root filesystem and boot into it or otherwise revert:```
beadm create myupgrade
beadm mount myupgrade /mnt
mondieu -d /mnt 10.1-RELEASE
beadm umount myupgrade
beadm activate myupgrade
reboot
```**Note**: this will only work when your root filesystem has been prepared for this. Read beadm's [HOWTO](https://github.com/vermaden/beadm/blob/master/HOWTO.htm) for instructions how you should prepare your filesystem to benefit from beadm.
## ToDo
- check signature of downloaded tarballs
- support for tarballs on the filesystem instead of remote location
- detection of which parts (eg. kernel, base and doc) should be installed## Known issues
- merging configuration files cannot be done automatically since there is no common reference point for your current release and the one you're upgrading to.
- same goes for deleting deprecated files, there is currently no way of knowing which files can be deleted.## Contributing
Please help me make this tool better. Send feedback or even a pull request and help improve where you can.