Problems with the changes= method 

What's the official way to save changes in slax6?
Using the changes= cheat code / method.
Why do people need to save changes?

They may need to:

  • preserve configurations, settings, etc. so that they don't need to redo those changes over and over again on each boot,
  • carry the settings with them so they don't need to redo those changes whenever they use a new PC.
Who needs to save changes?
People who boot slax off a CD, USB, or hard disk frugal installation.
Are there only a few of those people?
On the contrary: according to a poll on SLAX forum, over half of slax users boot slax using USBs; CD-ROMs and hard disks are about another 30%. Ref: http://www.slax.org/forum/viewtopic.php?t=17676
OK, enough. Back to the topic, please?
I don't recommend using the changes= method to save changes for USB users. It is bad practice. That would mean over half of the total number of slax users don't have any way to save changes in slax6.
So what's so bad with the changes=slaxsave.dat method?

In summary, the changes= method is bad practice for USB users because of the following reasons. Refer to the following articles for details.

  • It wears your USB flash out pretty quickly.
  • The dilemma between having a big run-time root file system and the limited & precious space on a USB.
  • It collect more garbage than useful files; the S/N ratio is too low to be practical.
  • It is impractical even for a hard disk frugal installation: to get reasonably sized run-time root file system, the slaxsave.dat needs to be 2G to 4G in size, if you intend to use slax as a tool instead of a toy; only less than 0.01% of the space will be used to save the configurations and settings that you really need. Moreover, you can't take your configurations and settings to a new PC.
  • It is unsafe. Thinking the read-only frugal installation is rather robust, right? Well, normally it is — no need to worry that you will accidentally delete (or silently move) some system files or directories, nor to worry about sudden power loss, nor even the system being hacked. But think again if you are using the changes= method: you lose all the above frugal installation advantages. Even worse, you can trash your system very easily. When you do, it is very hard to fix (unless you decide to lose all your changes and return to ground zero).
  • It solves one problem but brings more problems. While Unix's approach is to educate people, M$'s approach is to bury details with a "simple" solution in hoping that it will be fool-proof. However this changes= fool-proof solution can cause troubles elsewhere which could seems to be entirely unrelated to it. This post is a good example, http://www.slax.org/forum.php?action=view&parentID=14318. I don't think the OP get the idea that the whole problem is due to the changes= method in the end, after being humiliated several times.

/usb/slax/changes ? 

http://www.slax.org/forum.php?action=view&parentID=5052

just for economy it's better to boot without a changes= setup, then installpkg to a /temp directory, then use dir2lzm to make a module of it, then use that lzm module ideally by copying it to your /modules subdir. This will avoid carrying around multiple copies of every piece you add. Don't forget to reenable your changes= cheat when through with making modules.

I suggest that all who use changes= should periodically boot without invoking it, then loop mount the changes directory and go through it with file manager, get some insight into what's going on in there. You may be surprised at what you find — saw a post the other day where some user was reporting a changes dir with 600+mb of stuff in it.

documented on: 2008-03-19, burninbush

un-eclipse lzm module files 

http://www.slax.org/forum/viewtopic.php?t=18347

I have build an lzm module for my home directory, to provide a starting point for a fresh-installed system, then use save changes further on.

Today, I noticed that some of my files from my built lzm home module is missing. In the effort to restore everything to my initial lzm module files, I deleted the screwed directories in hoping that when reboot, the screwed-up files/directories will restore to my initial lzm module files/directories.

However, to my astonishment, the deleted directories are no longer there! Listing the files from lzm module show the directories are there.

So, how come the deleted directories are not restored from lzm module? If I want to restore to my initial lzm module files/directories, how should I do?

To test for yourself (if you have save changes enabled), try run

rm -rf /usr/doc

then reboot. I bet the /usr/doc directory will not be there.

un-eclipse lzm module files 

I incidentally deleted my rssowl directory once (it is on a lzm module) and i had to restore it this way (not sure of the detail, just explaining the process)

start LIVE, no changes files

backup your slaxsave.dat file somewhere

mount slaxsave.dat:

mkdir /mnt/test
mount -t xfs slaxsave.dat /mnt/test (may be it need "-o loop ")

now you have your changes on mnt/test

find for the wh.yourdeleteddirectory file on xfs filesystem (not sure about the right name, i guess wh.youdir, or something like that, you will recognize it, it is the stranger file in your dir ehehe)

delete it
umount
restart and use slaxsave.dat

it restored my missed module, not sure if this is a legitimate way to do it, so please before to try backup your slaxsave.dat

documented on: 2007-07-05, by jimjams

CPAN and save-changes dilemma 

http://www.slax.org/forum/viewtopic.php?t=19918

How can I install CPAN modules as slax lzm modules when save changes is enabled?

The general procedure would be:

  • install CPAN modules
  • convert the installed into slax lzm modules, and put it into proper place
  • remove the installed CPAN modules because they are going to be provided from lzm

But the problem is, save changes will remember that the installed CPAN modules are removed. As the result, after the CPAN lzm modules have been loaded, save changes will then remove them. So even the CPAN lzm modules are loaded, I can't see them.

documented on: 2007-10-12, by xpt

Potential Problem w/ Persistent Changes 

http://www.slax.org/forum/viewtopic.php?t=19092

While using the latest RC, I started to use persistent changes in slaxsave.dat for the 1st time. It more or less worked as expected, exc for what I'm pretty sue is a bug. While doing some development work, I routinely extract the tarballs into a sub-dir of my own making, /temp, then compile and test there.

The problem is that the contents of /temp were preserved across sessions over several days. I'm pretty sure it's not supposed to work like that. The larger problem is that later in the week, as I compiled more, I found a few DSOs which were in base Slax modules, were no longer loading. I believe bec I'd created conflicting DSOs during my development work and somehow only the 1st (my) copies of these files were being loaded. Before you ask, I never installed any of the files from my /temp sub-dir.

documented on: 2007-08-18, by mr-roboto

Potential Problem w/ Persistent Changes 

 

The problem is that the contents of /temp were preserved across sessions over several days. I'm pretty sure it's not supposed to work like that.

 
 -- mr-roboto

If you use persistent changes, ALL changes to the filesystem are remembered. If you extract files to /tmp, they will stay there. Simply remove them manually.

 

Is there a reason why slaxsave is invisible (from the mount list) when mounted at boot time ? It's helpful to be able to inspect how space is avail on slaxsave.

 
 -- mr-roboto

you can't see it because 'df' and 'mount' tools work with /etc/mtab, while this file doesn't exist yet at the time when changes file/dir is mounted. Nevertheless, if you do 'df', you'll save the changes file as 'tmpfs' or 'aufs' and so the free space for 'tmpfs' is the free space in your changes.

documented on: 2007-09-12, by Tomas

Potential Problem w/ Persistent Changes 

This problem isn't only showing up between sessions but also when some program needs space for temporary files. For example, I'm using a slaxsave.dat which have a size of 100 Meg and the content of my root directory is around 50 Meg. If I need by example to uncompress with midnight commander a big compressed file to show it's content, I automatically have an error message telling me I don't have enough space left on disk and the program abort. With smaller slaxsave.dat files, this problem is even more problematic as there is almost no free space left.

documented on: 2007-09-12, by martinlmtl

Persistent changes question 

http://www.slax.org/forum.php?action=view&parentID=14396

I would really love to upgrade to Slax 6.x.x (still using 5.0.6 right now). I use my current version customized and in CD format.

The problem that prevents me from moving up to ver. 6 and > is that I often use Slax on the fly on host computers (with proper permission granted by the machines' owners, of course!) to do my work (website management, etc.) at different physical locations, and it is therefore very important that the host computers' hard drives NOT be modified in any way.

Now, Slax 5.x.x allows that, no problem, but currently I cannot use ver. 6 and above because of lack of an option for disabling persistent changes ("there is no option to not save changes").

Persistent changes question 

> I think that the problem is only the way it's described.
> Always fresh in the real means that doesn't load and doesn't save.

OK, great if true. Again, I was puzzled by the statement in the manual: "there is no option to not save changes - there is an option to start slax fresh without changes." IF what you say is true, then maybe Tomas should consider changing that statement because it would be obviously misleading.

The description is here:

http://www.slax.org/documentation_persistent_changes.php

nicoli

Files missing after module activation 

http://www.slax.org/forum.php?action=view&parentID=4871

I get a "Well Done … Module Activated Sucessfully" bubble

You can see above that there are more files and some directories in the fakeroot directory before I run dir2lzm, but they are not seen after module insertion.

What am I doing wrong here?

documented on: 2008-03-19, webboy

Files missing after module activation 

If you deleted libImlib2* files from /usr/lib before you activated the module, Slax remembers that and it will not show the files even if exist. This may be considered a bug, but I'm afraid it won't be fixed any time soon.

Please review /mnt/live/memory/changes/usr/lib/ If you find .wh..libImLib* files there, delete them all.

documented on: 2008-03-19, Tomas M

Files missing after module activation 

Thank you for the workaround. I deleted the files and they are now visible after after module activation.

I think you were correct, I had previously installed with installpkg and I then removed with removepkg before proceeding to try and create a module.

documented on: 2008-03-19, webboy

6.0.3 is not 200mb but 1.3Gb ! 

http://www.slax.org/forum.php?action=view&parentID=5991

 

Something very strange has happened with my 6.0.3 : I have it installed on my 2Gb usb,and it takes 204Mb,but today I was forsed to reinstall 6.0.3 again as it suddenly (and I have no idea why) became 1.4Gb!!I have no idea why it increased so much and didnt know how to solve it so I reinstalled it.Do you have any ideas what was that?

 
 -- max_rebel

format usb and start over

documented on: 2008-03-28, podlinux

6.0.3 is not 200mb but 1.3Gb ! 

boot with the cd, use "Slax always fresh mode", ie no changes= specified, and do all your initial setups — which are clearly being stored in memory at this moment. When you have it as you like, before exiting do a #dir2lzm /mnt/live/memory/changes ./changes.lzm. When that finishes, copy that changes.lzm file off to whatever media you like.

Then, the next time you boot slax, after root/toor login, run #activate /mnt/path-to/changes.lzm. Then do your #startx command to get kde running — you will see that all your changes are back. If you copy that changes.lzm to your /slax/modules subdir then they'll automatically appear at the next bootup. If you need to do more changes, boot again with no changes= specified, and do the same dir2lzm, only this time name it changes2.lzm, etc — so when you boot after that your changes will get loaded in sequence.

If you include these changesN.lzm files in your remaster, they'll then be a permanent part of your slax cd.

There is IMO a fundamental problem with using changes= in the standard way — you'll wind up carrying around 2 copies of everything you add to your slax system.

documented on: 2008-03-28, burninbush

6.0.3 is not 200mb but 1.3Gb ! 

It seems that 'changes' in Slax 6.0.3 eat to much :) . I cant start slax with changes if there is less than 70 mb on my drive. and in fiew hour of uptime 'changes' grew up to 200 mb (i was only listening music).

changes=, cumulative or incremental? 

I have a basic question (I did a lot of reading, but I am still unsure about it…):

When saving changes via dir2lzm /mnt/live/memory/changes /somemountpoint/somedir/mychanges1.lzm, creating a CD and expanding mychanges1.lzm into /rootcopy, booting again, working with the system again, saving changes again via dir2lzm /mnt/live/memory/changes …./mychanges2.lzm etc. etc., isnt't it so that the last .lzm file (let's say: mychanges5.lzm) contains all the previous changes - or is that NOT so?

To give an example:

 

"Incremental and cumulative SPs"

A service pack can be incremental, which means it only contains the updates that were not present in the previous service packs or, more commonly, cumulative, which means it includes the contents of all its predecessors. In the case of Microsoft's product, incremental updates are usually called service release. For example, Office 2000 must be upgraded to service release 1 (SR1) before one can install SP2."

 
 -- from Wikipedia about Service Packs for Windows ;-)

So my question is:

Are such changes.lzm files incremental or cumulative?

I would guess, they are cumulative - and that I could just take the latest .lzm file and copy it into an empty /rootcopy directory and create a new CD.

I dit it, but found that not all my changes were in there! In fact, I had installed the nvidia driver, but it wasn't loaded, nor were other changes activated.

Only when I did another lzm2dir mynewestchanges.lzm / I found my system up to date and fully working (after booting into the live system, completely in RAM).

Thanks for your help, sempronius

changes=, cumulative or incremental? 

I believe it should be cumulative. However, I do believe that sometimes not everything gets saved and when one reboots, we lost several of the things that we wanted to save. I am not an expert on this issue. I prefer to always boot fresh without changes and in text mode to load openchrome driver so I can watch movies in slax without the CPU hogging 100%.

There are several approaches you can try to save the changes. There are several save scripts you can try just search the forum.

documented on: 2008-06-11, tonio