Release Transition Trials
Posted: 20 Nov 2014, 19:31
Running AF. Have porteus on 2 partitions of hdd, as matter of security. One partition has nvidia driver, the other not. As it came through to 3.0.1, out of precaution kept most of release modules in sub-directory of optional, while trying them out. So when 3.1rc1 came along, decided to clear out porteus directory(without nvidia driver), and to use this directory for testing. Going about this, just had a moment's lapse of concentration and zapped base in current porteus directory. Luckily had most of required modules in 3.0.1 folder, and retrieved situation by hard linking relevant modules to base. Only needed to copy one module across from fall-back directory.
Following this harrowing experience, been keeping modules for each release in sub-directory of optional, and just hard linking them to base, at least until today. Wishing to switch DE from kde to mate, appended to kernel command line noload=kde and load=mate. 003-mate.xzm had already been hard linked from release sub-directory to optional, so it was quite unexpected to see in porteus-livedbg that 003-mate.xzm was loaded three times into ram.Possible explanation: loaded from optional, then from optional/rc1 and then optional/rc2.
However shouldn't have made any difference that 003-mate.xzm was loaded from both sub-directory rc1 and rc2, as 003-mate.xzm has not changed between these two releases.Apparently something like find seems to be used to retrieve these modules (no maxdepth limitation).
I know one can have multiple versions on the same partition, but that only increases the room for error, especially when there is very little difference between the directories. As it is, with just two almost similar directories on different partitions, managed to clobber wrong porteus directory, although sight of a settings module should have got me thinking: wrong partition.
Reckon now on having fairly fail-safe method. Made directory version to hold sub-directories with modules from each release. Then to switch releases, it's just a matter of two statements. Say switching to release 3.1rc2:
Now, having learnt that a recursive search of optional is made, all optional modules pertinent to a release can now be linked into a release sub-directory of optional, like say optional/rc2, thereby reducing probability of error..
Following this harrowing experience, been keeping modules for each release in sub-directory of optional, and just hard linking them to base, at least until today. Wishing to switch DE from kde to mate, appended to kernel command line noload=kde and load=mate. 003-mate.xzm had already been hard linked from release sub-directory to optional, so it was quite unexpected to see in porteus-livedbg that 003-mate.xzm was loaded three times into ram.
Code: Select all
# Modules activated during boot time:
/memory/copy2ram/000-kernel.xzm
/memory/copy2ram/001-core.xzm
/memory/copy2ram/002-xorg.xzm
/memory/copy2ram/sudo-1.8.9p5-i486-1.xzm
/memory/copy2ram/003-mate.xzm
/memory/copy2ram/003-mate.xzm
/memory/copy2ram/003-mate.xzm
However shouldn't have made any difference that 003-mate.xzm was loaded from both sub-directory rc1 and rc2, as 003-mate.xzm has not changed between these two releases.
Code: Select all
loop0 7:0 0 16M 0 loop /mnt/live/memory/images/000-kernel.xzm
loop1 7:1 0 46M 0 loop /mnt/live/memory/images/001-core.xzm
loop2 7:2 0 43.7M 0 loop /mnt/live/memory/images/002-xorg.xzm
loop3 7:3 0 528K 0 loop /mnt/live/memory/images/sudo-1.8.9p5-i486-1.xz
loop4 7:4 0 56.5M 0 loop /mnt/live/memory/images/003-mate.xzm
loop5 7:5 0 29.6M 1 loop /mnt/live/memory/images/ImM_180914.xzm
I know one can have multiple versions on the same partition, but that only increases the room for error, especially when there is very little difference between the directories. As it is, with just two almost similar directories on different partitions, managed to clobber wrong porteus directory, although sight of a settings module should have got me thinking: wrong partition.
Reckon now on having fairly fail-safe method. Made directory version to hold sub-directories with modules from each release. Then to switch releases, it's just a matter of two statements. Say switching to release 3.1rc2:
Code: Select all
rm base/*
ln version/3.1rc2/00?-*.xzm base