config_diff_soso
Copies the original configuration files and your changes with a diff.
WHAT DID I DO!!!?
If you're like me, you make changes to your Debian/Ubuntu system as needed, and don't always keep a good record of what you have done.
When I upgrade to a newer version of my operating system, I want to make the same changes to the new install. That's what prompted me to create this script.
Now I can do a new installation with the newest package maintainer's version of all the config files, and then go through the changed files and make the fixes on the new install.
Install
The usual pip installation:
$ pip install config_diff_soso
...or...
$ python3 -m pip install config_diff_soso
Usage
$ config-diff-soso
What it does
This script uses debsums to extract the package maintainer's config file for every package on your system, and compares it to the version on your machine, saving a copy of each with another file showing the differences between them.
It creates a directory in the current working directory with the following template:
<host name>-config-diff-<date>
Inside this directory will be created subdirectories which mirror the directories and file name of each configuration file. The filename will be stored as the final directory in the tree, with one file each for the original package maintainer's version, your version, and a "diff" of the changes between them.
For example, using "/etc/default/grub":
Original path:
etc
└── apache2
└── apache2.conf
The differences will be saved as:
etc
└── apache2
└── apache2.conf
├── diff
├── original
└── yours
Effects
This script makes no changes to your system, only records what you have already changed.
It needs sudo rights to run some commands. Check the script before using it to make sure it doesn't do anything malicious. I would. Run it as a regular user, and you'll be prompted for your password when needed.
It takes a while for debsums to extract all the packages. Be patient. If you upgrade a system with a lot of changes to system configuration files, it'll be worth it.
The script downloads .deb files from your configured apt repository, if they do not already exist. If you want to make sure that you download the most recent versions, run "sudo apt-cache clean" before running this script.
Metadata
Release files for config-diff-soso 1.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| config_diff_soso-1.1.0.tar.gz | 15.9 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| config_diff_soso-1.1.0-py2.py3-none-any.whl | Python 3, Python 2 | none | any | Details |
Total release size: 32.7 kB
Release files / config_diff_soso-1.1.0.tar.gz
| Download URL | config_diff_soso-1.1.0.tar.gz |
|---|---|
| Size | 15.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
249306ff7c268f597b1f466233a925b1c62535d035c15dd876cfee6ab1721498
|
|
BLAKE2b-256 checksum How to use checksums |
c4ea2f98b28acb1684bd7c6ab4e1cc717e85d71f2d122c95a1a5c4c37731656a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.4
|
Release files / config_diff_soso-1.1.0-py2.py3-none-any.whl
| Download URL | config_diff_soso-1.1.0-py2.py3-none-any.whl |
|---|---|
| Size | 16.8 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
6e3ce014ffae6e048f9e9fb1f3b7c334f3118d3e836ba559489b67ea1a21636b
|
|
BLAKE2b-256 checksum How to use checksums |
b7078c7a20803a45607c5f1c082525110e7494c94ce1ad94ca6d25a1ef5f8d67
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.4
|
Security for config-diff-soso 1.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.