Did fedora have any feature like time travel like moving back to initial state or to default state or installed state by deleting all external installed third party software like node,git …etc without removing content in home folder.
That would certainly be a market changing feature.
Have you looked at Fedora silverblue at all? It is built around that concept.
I am not really an expert but here are some ideas depending on what you are trying to accomplish:
dnfcan undo specific transactions
- Software such as timeshift can be used to take snapshots
- A filesystem with snapshot support like btrfs can be used to take periodic or specific snapshots that can be reverted
Generally, if your
/home folder resides on a separate partition (which I think it always does on a default install, but you can check to be sure), you can do what you like to your system, up to and including completely deleting & reinstalling it, and it will not touch your
/home data. So if you’re looking for a ‘full reset’-type thing, that would likely be the easiest option.
If you’re looking to ‘undo’ software installation, then you can use
dnf as @dalto suggested. Generally, the package manager is very good at keeping track of installed files - it knows about every file it ever installed on a system, and so can always cleanly remove it.
sudo dnf remove <package>
will (obviously) remove the software and all files created during installation.
sudo dnf autoremove
will remove any so-called leaf packages, that is packages that were originally installed because another package needed them, but are no longer needed.
Using dnf to ‘reset’ your system this way is fairly clean, the difference before & after will be backups of systemwide config files (only if you changed them), log files and anything the software stored in your home directory. None of those would have any influence on your running system.
If you do not know/remember what you installed,
dnf history userinstalled
will give you a list of everything that was explicitly installed on your system.
For actually reverting to a specific state of the system, i.e. “I want my system to be exactly like it was on January 5th” you’ll need to use snapshotting software, as suggested by @dalto. This is a topic on it’s own …
Like @dalto said, You could install a backup utility like
timeshift immediately after a clean installation of Fedora, take a snapshot before making any other changes and then never delete that snapshot. Then when you are ready to revert, you can restore to that original snapshot. This would not prevent changes to
/home however. You would be effectively rolling back everything.
It will be nice if fedora have feature like git if we mess with something go back to default commit
without losing files in home folder
Well, there are various solutions one can setup for versioned & incremental backups, like e.g. BorgBackup, rsync-based stuff, snapper, etc. .
There are ongoing discussions about switching to btrfs as the filesystem for Fedora Workstation by default in a future release - if that ends up happening it would actually be fairly easy to integrate a snapper-based snapshotting system into Fedora. But, as usual, somebody’s got to do the work .