How to properly uninstall packages from uncompressed .xzm modules

Technical issues/questions of an intermediate or advanced nature.
User avatar
cad
Black ninja
Black ninja
Posts: 69
Joined: 06 Nov 2020, 22:40
Distribution: XFCE 5.01 x86_64 + 4.0 i586

How to properly uninstall packages from uncompressed .xzm modules

Post#1 by cad » 06 Nov 2020, 23:14

Hello everyone, this is my first post on this board, though I have used Porteus since ver. 3.2.
This is a great distro and I am truly thankful to all of you who with all your work have made it possible!
I have recently re-compiled the 4.16.3 kernel for Porteus 4.0 XFCE (for a couple of older P4 laptops I
own and still use a lot) and it has worked great!
I am now in the process of getting rid of a bunch of programs I do not use, to make it a bit easier on the old hardware.
So, to cut to the chase, is there a tool I can use to properly uninstall packages from an uncompressed
.xzm module? For instance, if I 'xzm2dir 001-core.xzm', how do I now go about removing the packages within the 001-core folder I want to get rid of? (I have done it manually in the past and that's quite tedious
- there surely must be a better way than that!)
Also, is there a practical way I can use to establish which libraries are no longer needed after removing the packages, so as to safely remove those libraries which are no longer needed as well?

I love Porteus and it will be the only OS installed on my older machines for years to come. It brings them back to life...truly miraculous! :Bravo: :thumbsup:

-------------
Cad

User avatar
ncmprhnsbl
DEV Team
DEV Team
Posts: 3924
Joined: 20 Mar 2012, 03:42
Distribution: v5.0-64bit
Location: australia
Contact:

How to properly uninstall packages from uncompressed .xzm modules

Post#2 by ncmprhnsbl » 07 Nov 2020, 00:48

hi, and welcome to the forum :)
cad wrote:
06 Nov 2020, 23:14
if I 'xzm2dir 001-core.xzm', how do I now go about removing the packages
within the 001-core folder I want to get rid of?
technically that's

Code: Select all

# mkdir 001-core
# xzm2dir 001-core.xzm 001-core
but anyway, then

Code: Select all

ROOT=001-core removepkg <package name> (or package names) (or even $(cat <file with list of packagenames>) )(with no version,arch or extenstion )
installpkg, removepkg, upgradepkg are part of the standard slackware pkgtools package..
libs are a bit trickyer.. libs are often shared, and not always in use.. what sort of things are you removing?
you could run ldd /usr/bin/<binary> on it before you remove it to get an idea of what it depends on, but this won't tell you if something else does too..
Forum Rules : https://forum.porteus.org/viewtopic.php?f=35&t=44

User avatar
cad
Black ninja
Black ninja
Posts: 69
Joined: 06 Nov 2020, 22:40
Distribution: XFCE 5.01 x86_64 + 4.0 i586

How to properly uninstall packages from uncompressed .xzm modules

Post#3 by cad » 08 Nov 2020, 00:46

ncmprhnsbl wrote:
07 Nov 2020, 00:48
hi, and welcome to the forum :)
Thanks!
ncmprhnsbl wrote:
07 Nov 2020, 00:48

Code: Select all

ROOT=001-core removepkg <package name> (or package names) (or even $(cat <file with list of packagenames>) )(with no version,arch or extenstion )
That's exactly what I was missing, the 'ROOT=001-core' part in the code you provided above for making pkgtools operate within a given folder...THANKS so much for that! I have already used it today to reduce the 001-core.xzm module in my Porteus 4.0 installation from about 110 MB to 78 MB. My 000-kernel.xzm modules have gone from about 50 MB to about 2.7 MB after compiling machine-specific kernels for my ancient, resource-limited laptops. All that shrinking makes it much easier on the good ol' hardware and makes Porteus 4.0 LXDE really fast on it too! I'll soon take a look at the 002-xorg.xzm module and see what I can do there too to decrease it a bit in size. By this time I think you can tell I love minimalistic! My thinking is: why overburden an old machine with software that does not get used? It's also a lot of fun to play around with things... :D
I assume that

Code: Select all

ROOT=<directory name> installpkg <package name>
works as well (to limit installation of packages to a given folder)...
ncmprhnsbl wrote:
07 Nov 2020, 00:48
installpkg, removepkg, upgradepkg are part of the standard slackware pkgtools package..
libs are a bit trickyer.. libs are often shared, and not always in use.. what sort of things are you removing?
you could run ldd /usr/bin/<binary> on it before you remove it to get an idea of what it depends on, but this won't tell you if something else does too..
I was already pretty well acquainted with the slackware pkgtools programs - just did not know how to make them work within a given folder. Thanks to the code you provided, I can now do in five seconds what would previously have taken me five hours to do. :oops:
To answer your question, I am removing all sorts of things. Stuff I do not need once my installations on old hardware have been properly set up. From small programs such as bridge-utils, cifs-utils, dnsmasq, nfs-utils, reiserfsprogs, xfsdump, xfsprogs, groff and the like to gigantic programs like samba, perl and python.
Please don't get me wrong. I think that the light-weight versions of Porteus 4.0, such as XFCE and LXDE, are perfect for general use the way they were made. If we are in the mood for a bit of nitpicking, perhaps all they lack is just a light-weight paint program (such as the excellent mtpaint Porteus used to come with, but which unfortunately stopped being developed in 2011 and could not be compiled on Porteus since Porteus 3.2) and a light-weight mail client, such as Claws-Mail. By the way, I have just extracted mtpaint 3.40 from Porteus 3.1 and it works perfectly in Porteus 4.0 after just adding /usr/lib/libopenjpeg.so.5 (that too from Porteus 3.1, just 110 KB in size). mtpaint is a small binary only 677 KB in size, uncompressed, and very useful. I am writing this from the minimalistic version of Porteus 4.0 LXDE I made today after receiving your code, and I have just used mtpaint a few minutes ago to edit my Porteus avatar before uploading it to this site. I will be installing Claws_Mail shortly and after that I am all set, as far as my minimalistic Porteuses go.
Regarding my previous question about lib dependencies, I was envisioning the possibility of a program that one could run once a working system has been set up that would detect all the libraries that are not currently dependencies of any program in that system, so that those unnecessary libraries could now be safely removed. But probably such a program does not exist (yet) and mine was only wishful thinking. :pardon:

User avatar
ncmprhnsbl
DEV Team
DEV Team
Posts: 3924
Joined: 20 Mar 2012, 03:42
Distribution: v5.0-64bit
Location: australia
Contact:

How to properly uninstall packages from uncompressed .xzm modules

Post#4 by ncmprhnsbl » 08 Nov 2020, 02:13

cad wrote:
08 Nov 2020, 00:46
I assume that
yep
cad wrote:
08 Nov 2020, 00:46
mtpaint Porteus used to come with, but which unfortunately stopped being developed in 2011 and could not be compiled on Porteus since Porteus 3.2
pretty sure it can be: https://github.com/wjaguar/mtPaint now at version 3.49 or even 3.50 ;)
cad wrote:
08 Nov 2020, 00:46
Regarding my previous question about lib dependencies, I was envisioning the possibility of a program that one could run once a working system has been set up that would detect all the libraries that are not currently dependencies of any program in that system,
pretty sure i have a one liner that does something like this, havn't tracked it down yet ... yoohoo @fulalas
EDIT: this will show presently running libs: (thanks fulalas)

Code: Select all

sudo lsof | grep mem | awk '{print $9}'| grep .so | sort| uniq
this in itself won't tell you what you don't need, but could be used to compare with what's there..

but yeah, i've toyed with the idea of making a stripped down "superfly" porteus for a while, havn't quite got around to it yet...
Forum Rules : https://forum.porteus.org/viewtopic.php?f=35&t=44

User avatar
cad
Black ninja
Black ninja
Posts: 69
Joined: 06 Nov 2020, 22:40
Distribution: XFCE 5.01 x86_64 + 4.0 i586

How to properly uninstall packages from uncompressed .xzm modules

Post#5 by cad » 09 Nov 2020, 08:29

@ncmprhnsbl

Thanks for the link to mtpaint-3.50! I had looked at his old webpage on sourceforge which indicated development ending in 2011. That, plus the fact mtpaint was not present in Porteus 3.2 (at least not in the XFCE flavor of it) made me assume it was gone for good. But then again, why has mtpaint been dropped from Porteus? :%) It's such a low-cost great little program!
Thanks for posting the fulalas code (thanks fulalas!) - not exactly what I had in mind but very useful nevertheless and I see myself using it in the very near future. :beer:
By the way, installed Claws-Mail with a bunch of plugins today and all worked great in the end. Some info you may find useful: when compiling them, both claws-mail and libetpan stopped with an error complaining about missing libraries /usr/lib/libldap.so and /usr/lib/liblber.so. It turned out these libraries are in there, but symlinks libldap.so and liblber.so are not present in the official release of Porteus 4.0 32-bit (in 001-core.xzm). Once I added said missing symlinks, it was all good.

User avatar
cad
Black ninja
Black ninja
Posts: 69
Joined: 06 Nov 2020, 22:40
Distribution: XFCE 5.01 x86_64 + 4.0 i586

How to properly uninstall packages from uncompressed .xzm modules

Post#6 by cad » 10 Nov 2020, 01:49

I have one last question before I permanently wrap my shrunken system all up and call it good. I am so grateful for the knowledge given me here over the past couple of days. Thanks so much, ncmprhnsbl, for all your input!

So, the question is: in the past, each time I modified a Porteus module (such as 001-core.xzm) to suit my needs, I always used just two scripts, xzm2dir to unpack it and then dir2xzm to pack it up again after modifications were made. As far as I can tell, it has worked just fine. However, after getting a closer look at a few of those Porteus scripts in /opt, I suspect my approach has been all along a bit too simplistic and, if there is a better way to do it, I'd like to learn it.

I was looking earlier at a script by brokenman, 'create-module', but I cannot say I fully understand it or know how to use it.
What's the appropriate way to unpack and repack a Porteus module, or am I just fine if I keep doing it with 'xzm2dir' and 'dir2xzm'?
Any suggestions or comments will be much appreciated.

User avatar
ncmprhnsbl
DEV Team
DEV Team
Posts: 3924
Joined: 20 Mar 2012, 03:42
Distribution: v5.0-64bit
Location: australia
Contact:

How to properly uninstall packages from uncompressed .xzm modules

Post#7 by ncmprhnsbl » 10 Nov 2020, 02:31

xzm2dir' and 'dir2xzm' are fine ..
create-module and the other scripts in /opt/porteus-scripts/context-menu are extra wrappers for use in the right-click context menu of filemanagers
eg. rightclick on a folder in pcmanfm>open> one of the options is "Create Module" (or similar)
or rightclick on a module and you'll see options for extracting or mounting ..
just there for gui convenience..
if you wanted to be hardcore, you can also use squashfs-tools(mksquashfs and unsquashfs) directly (our xzm* scripts just wrap these) but there's no real advantage to this, unless you wanted to play with the compression level or block size .. but, imo, what we use is pretty optimal..
Forum Rules : https://forum.porteus.org/viewtopic.php?f=35&t=44

User avatar
cad
Black ninja
Black ninja
Posts: 69
Joined: 06 Nov 2020, 22:40
Distribution: XFCE 5.01 x86_64 + 4.0 i586

How to properly uninstall packages from uncompressed .xzm modules

Post#8 by cad » 10 Nov 2020, 04:18

OK, thank you for confirming that, ncmprhnsbl, and for explaining things. All good, then!

neko
DEV Team
DEV Team
Posts: 2109
Joined: 09 Feb 2013, 09:55
Distribution: APorteus-FVWM-ja-x86_64.iso
Location: japan

How to properly uninstall packages from uncompressed .xzm modules

Post#9 by neko » 10 Nov 2020, 07:16

@cad
Would you upload your minimum Porteus 4.0 ISO for us?

=== For your references ===
[Introducing the tools used by APorteus]
Disassembly/Construction

dISO:............disassemble ISO file
mkISO:...............make ISO file

dXZM:..........disassemble XZM file
mkXZM:.............make xz compressed XZM file
mkXZM.zstd:.....make zstd compressed XZM file
sqFScmp:...........anlyze with which xz or zstd compression a XZM file has been made

sep2pkg:.... Decomposes decomposed XZM files from package information into packages
pkgs2xzm:.... XZM file construction from package disassembled
mklog:.... Package information settings

dINIT:..........disassemble xz compressed initrd.xz
dINIT.zstd:..disassemble zstd compressed initrd.zstd
mkINIT:........make xz compressed initrd.xz
mkINIT.zstd:.....make zstd compressed initrd.zstd

conf.xz:......update the configs in disassembled ISO file to initrd.xz
conf.zstd:....update the configs in disassembled ISO file to initrd.zstd


Example: update the kernel of Porteus-LXDE-v4.0-i586.iso to 5.9.6

OV-patch-20.11.10.xzm (864 K)
http://www.mediafire.com/file/8ohekwa9r ... .11.10.xzm
md5sum: 1bf550de65ae496df9579be88eb3dfa2 OV-patch-20.11.10.xzm

atool-20.11.10.xzm (4 K)
http://www.mediafire.com/file/9pqtu6ip9 ... .11.10.xzm
md5sum: 39182d028593bea1fbba165b386265e6 atool-20.11.10.xzm

kernel5.9.6-32bit.xzm (71 M)
http://www.mediafire.com/file/9to2os5et ... -32bit.xzm
md5sum: d31c7a09a7632c05ab1dce5cae8168d4 kernel5.9.6-32bit.xzm

Code: Select all

% su
# ls
OV-patch-20.11.10.xzm
Porteus-LXDE-v4.0-i586.iso
atool-20.11.10.xzm
kernel5.9.6-32bit.xzm
# mloop atool-20.11.10.xzm
# cp -a /mnt/loop atool-20.11.10
# uloop
# ls -1 atool-20.11.10/usr/local/sbin/
conf.xz
conf.zstd
dINIT
dINIT.zstd
dISO
dXZM
mergepkgs
mkINIT
mkINIT.zstd
mkISO
mkXZM
mkXZM.zstd
mklog
pkgs2xzm
sep2pkg
sqFScmp
#
# atool-20.11.10/usr/local/sbin/dISO Porteus-LXDE-v4.0-i586.iso
# ls -R Porteus-LXDE-v4.0-i586
Porteus-LXDE-v4.0-i586:
EFI  USB_INSTALLATION.txt  boot  porteus

Porteus-LXDE-v4.0-i586/EFI:
boot

Porteus-LXDE-v4.0-i586/EFI/boot:
bootx64.efi  ldlinux.e32  libcom32.c32  libutil.c32  menu.c32     syslinux.c32  vesamenu.c32
chain.c32    ldlinux.e64  libmenu.c32   linux.c32    porteus.png  syslinux.cfg

Porteus-LXDE-v4.0-i586/boot:
Porteus-installer-for-Linux.com  Porteus-installer-for-Windows.exe  docs  syslinux

Porteus-LXDE-v4.0-i586/boot/docs:
GNU_GPL  License.txt  cheatcodes.txt  install.txt  requirements.txt

Porteus-LXDE-v4.0-i586/boot/syslinux:
boot.cat   extlinux.conf  intel-ucode.cpio  isolinux.boot  lilo.conf  porteus.cfg  syslinux.cfg  vmlinuz
chain.c32  initrd.xz      isolinux.bin      isolinux.cfg   plpbt      porteus.png  vesamenu.c32

Porteus-LXDE-v4.0-i586/porteus:
base  make_iso.sh  modules  optional  porteus-v4.0-i586.cfg  rootcopy

Porteus-LXDE-v4.0-i586/porteus/base:
000-kernel.xzm  001-core.xzm  002-xorg.xzm  003-lxde.xzm

Porteus-LXDE-v4.0-i586/porteus/modules:

Porteus-LXDE-v4.0-i586/porteus/optional:

Porteus-LXDE-v4.0-i586/porteus/rootcopy:
#
# atool-20.11.10/usr/local/sbin/dXZM Porteus-LXDE-v4.0-i586/porteus/base/001-core.xzm
# atool-20.11.10/usr/local/sbin/sep2pkg 001-core
# ls -1
OV-patch-20.11.10.xzm
Porteus-LXDE-v4.0-i586
Porteus-LXDE-v4.0-i586.iso
atool-20.11.10
atool-20.11.10.xzm
kernel5.9.6-32bit.xzm
more.001-core
pkgs.001-core
# mv more.001-core pkgs.001-core/
# for i in `ls -d pkgs.001-core/*`; do atool-20.11.10/usr/local/sbin/mklog $i;done
#
# atool-20.11.10/usr/local/sbin/dXZM Porteus-LXDE-v4.0-i586/porteus/base/002-xorg.xzm
# atool-20.11.10/usr/local/sbin/sep2pkg 002-xorg
# mv more.002-xorg pkgs.002-xorg/
# for i in `ls -d pkgs.002-xorg/*`; do atool-20.11.10/usr/local/sbin/mklog $i;done
#
# atool-20.11.10/usr/local/sbin/dXZM Porteus-LXDE-v4.0-i586/porteus/base/003-lxde.xzm
# atool-20.11.10/usr/local/sbin/sep2pkg 003-lxde
# mv more.003-lxde pkgs.003-lxde/
# for i in `ls -d pkgs.003-lxde/*`; do atool-20.11.10/usr/local/sbin/mklog $i;done
#
# ls -1
OV-patch-20.11.10.xzm
Porteus-LXDE-v4.0-i586
Porteus-LXDE-v4.0-i586.iso
atool-20.11.10
atool-20.11.10.xzm
kernel5.9.6-32bit.xzm
pkgs.001-core
pkgs.002-xorg
pkgs.003-lxde
#
#
# cp -a atool-20.11.10/usr/local/sbin/mergepkgs /usr/local/bin/
# cp -a atool-20.11.10/usr/local/sbin/mkXZM.zstd /usr/local/bin/mkXZM
# atool-20.11.10/usr/local/sbin/pkgs2xzm pkgs.001-core
# atool-20.11.10/usr/local/sbin/pkgs2xzm pkgs.002-xorg
# atool-20.11.10/usr/local/sbin/pkgs2xzm pkgs.003-lxde
# ls -1 *.xzm
001-core.xzm
002-xorg.xzm
003-lxde.xzm
OV-patch-20.11.10.xzm
atool-20.11.10.xzm
kernel5.9.6-32bit.xzm
#
#
# atool-20.11.10/usr/local/sbin/dXZM kernel5.9.6-32bit.xzm
# atool-20.11.10/usr/local/sbin/dXZM Porteus-LXDE-v4.0-i586/porteus/base/000-kernel.xzm
# rm -fr 000-kernel/lib/modules
# mv kernel5.9.6-32bit/lib/modules 000-kernel/lib/
# cp -a kernel5.9.6-32bit/lib/firmware/* 000-kernel/lib/firmware/.
# atool-20.11.10/usr/local/sbin/mkXZM.zstd 000-kernel
# rm -fr 000-kernel
#
# for i in `ls *.xzm`;do echo ==$i;atool-20.11.10/usr/local/sbin/sqFScmp $i;done
==000-kernel.xzm
zstd
==001-core.xzm
zstd
==002-xorg.xzm
zstd
==003-lxde.xzm
zstd
==OV-patch-20.11.10.xzm
xz
==atool-20.11.10.xzm
xz
==kernel5.9.6-32bit.xzm
xz
#
# atool-20.11.10/usr/local/sbin/dXZM OV-patch-20.11.10.xzm
# atool-20.11.10/usr/local/sbin/dINIT OV-patch-20.11.10/initrd.xz
# atool-20.11.10/usr/local/sbin/mkINIT.zstd initrd
# rm -fr initrd
#
#
# cp -a Porteus-LXDE-v4.0-i586 Porteus-LXDE-v4.0-k5.9.6-i586
#
# rm Porteus-LXDE-v4.0-k5.9.6-i586/boot/syslinux/initrd.xz
# mv initrd.zstd Porteus-LXDE-v4.0-k5.9.6-i586/boot/syslinux/
# mv kernel5.9.6-32bit/vmlinuz Porteus-LXDE-v4.0-k5.9.6-i586/boot/syslinux/
# rm -fr kernel5.9.6-32bit
# mv 00*.xzm Porteus-LXDE-v4.0-k5.9.6-i586/porteus/base/
# mv OV-patch-20.11.10/001-overlay.xzm Porteus-LXDE-v4.0-k5.9.6-i586/porteus/base/
# mv OV-patch-20.11.10/porteus-v5.0-x86_64.cfg Porteus-LXDE-v4.0-k5.9.6-i586/porteus/porteus-v5.0-i586.cfg
# rm -fr OV-patch-20.11.10
# atool-20.11.10/usr/local/sbin/conf.zstd Porteus-LXDE-v4.0-k5.9.6-i586
# diff -r Porteus-LXDE-v4.0-i586/boot/syslinux Porteus-LXDE-v4.0-k5.9.6-i586/boot/syslinux
diff -r Porteus-LXDE-v4.0-i586/boot/syslinux/lilo.conf Porteus-LXDE-v4.0-k5.9.6-i586/boot/syslinux/lilo.conf
14c14
< initrd=DO_NOT_CHANGE/initrd.xz
---
> initrd=DO_NOT_CHANGE/initrd.zstd
20c20
< initrd=DO_NOT_CHANGE/initrd.xz
---
> initrd=DO_NOT_CHANGE/initrd.zstd
26c26
< initrd=DO_NOT_CHANGE/initrd.xz
---
> initrd=DO_NOT_CHANGE/initrd.zstd
32c32
< initrd=DO_NOT_CHANGE/initrd.xz
---
> initrd=DO_NOT_CHANGE/initrd.zstd
38c38
< initrd=DO_NOT_CHANGE/initrd.xz
---
> initrd=DO_NOT_CHANGE/initrd.zstd
diff -r Porteus-LXDE-v4.0-i586/boot/syslinux/porteus.cfg Porteus-LXDE-v4.0-k5.9.6-i586/boot/syslinux/porteus.cfg
42c42
< INITRD /boot/syslinux/initrd.xz
---
> INITRD /boot/syslinux/initrd.zstd
54c54
< INITRD /boot/syslinux/initrd.xz
---
> INITRD /boot/syslinux/initrd.zstd
69c69
< INITRD /boot/syslinux/initrd.xz
---
> INITRD /boot/syslinux/initrd.zstd
81c81
< INITRD /boot/syslinux/initrd.xz
---
> INITRD /boot/syslinux/initrd.zstd
91c91
< INITRD /boot/syslinux/intel-ucode.cpio,/boot/syslinux/initrd.xz
---
> INITRD /boot/syslinux/intel-ucode.cpio,/boot/syslinux/initrd.zstd
102c102
< INITRD /boot/syslinux/initrd.xz
---
> INITRD /boot/syslinux/initrd.zstd
#
# atool-20.11.10/usr/local/sbin/mkISO Porteus-LXDE-v4.0-k5.9.6-i586
#
#
# rm -fr Porteus-LXDE-v4.0-i586 Porteus-LXDE-v4.0-k5.9.6-i586 pkgs.00* *.md5 atool-20.11.10
# ls -1
OV-patch-20.11.10.xzm
Porteus-LXDE-v4.0-i586.iso
Porteus-LXDE-v4.0-k5.9.6-i586.iso
atool-20.11.10.xzm
kernel5.9.6-32bit.xzm
#
Thanks.

User avatar
cad
Black ninja
Black ninja
Posts: 69
Joined: 06 Nov 2020, 22:40
Distribution: XFCE 5.01 x86_64 + 4.0 i586

How to properly uninstall packages from uncompressed .xzm modules

Post#10 by cad » 10 Nov 2020, 20:12

neko wrote:
10 Nov 2020, 07:16
@cad
Would you upload your minimum Porteus 4.0 ISO for us?
It would be a lot of work to do so because when making my minimalistic Porteus 4.0 i586 LXDE did not have in mind sharing it, so it is highly personalized with data that would be inappropriate to share.

But I can tell you exactly how it was made so you can easily duplicate it if you wish so.

First of all, the biggest gain was made by compiling machine-specific kernels for my computers and individual needs. I don't know if it's relevant, but, I did not use the Porteus patch provided in crippled-sources.xzm. I did not know it was there until a couple of days ago. I had downloaded the AUFS4.16-patch package from the aufs developer's github and patched the 4.16.3 kernel using base, loopback and mmap (not standalone, as the developer thinks it unnecessary when aufs is not compiled as a module). My vmlinuzes came out from 2125 KB to 2175 KB in size and the 000-kernel.xzm module, as a consequence of building lean, machine-specific kernels, was reduced from about 50 MB to 2.7 MB - 2.8 MB in size. As I said, this is a huge step toward making the latest Porteus 32-bit go fast on old hardware. If you want to go this route, you need to compile a kernel that is highly specific to your computer. My kernels, having been tailored specifically to my laptops, probably would not even boot on other, dissimilar systems. The laptops I use are diskless, and I like to boot from cdrom and run the systems in RAM (copy2ram cheatcode).

As far as the other main modules:

001-core.xzm was reduced by taking out the following programs with:

Code: Select all

ROOT=001-core removepkg <package name>
bridge-utils, cifs-utils, dnsmasq, groff, httpfs2, intel-microcode, iucode-tool, man, nfs-utils, perl, python, reiserfsprogs, rpcbind, rsync, samba, sudo, telnet, webfs, xfsdump, xfsprogs.

Here, I also made two symlinks that were missing (libldap.so and liblber.so) to /usr/lib/libldap-2.4.so.2.10.8 and /usr/lib/liblber-2.4.so.2.10.8. These symlinks proved essential for compiling and running claws-mail (email client) and libetpan. I have already reported this bug in the Bug Reports section yesterday.

002-xorg.xzm was left untouched - I did not want to mess up the various libraries. Though, I would not mind if someone knowledgeable could advise which libraries in there could be safely parted with, given my current setup.

In 003-lxde.xzm got rid of poppler-data and poppler-0.63.0 (poppler-0.63.0 was replaced with poppler-0.64.0 - long, irrelevant story, don't ask me why - poppler-0.63.0 would have worked just fine). I also added mtpaint-3.40 (extracting it from Porteus 3.1 i586 XFCE), added some highly personalized wallpapers and modified lxpanel to customize my desktop.

I made an extra module for claws-mail-3.17.4 inclusive of related programs to support a few claws-mail plugins (libetpan-1.9.3, dillo-3.0.5 webbrowser, fltk-1.3.5). And also a separate module for Firefox. These systems were tested and work flawlessly. I am writing this from one of them and it is a joy to watch this old laptop operate so efficiently with an up-to-date operating system. Not one hiccup.
Note: libetpan-1.9.3 compiled with a huge amount of warnings - never seen that many warnings compiling a program - but worked just fine in the end. I had tried compiling a more recent version of libetpan, but it did not work out. The other programs compiled just fine, and were compiled within my minimalistic Porteus (temporarily activating 05-devel.xzm for this purpose).

That's about it, off the top of my head. All together, the ISO is about 245 MB in size.

Please let me know if you have any suggestions on reducing the size of 002-xorg.xzm - which libraries are unneeded in this setup and can be gotten rid of.

Thank you.

neko
DEV Team
DEV Team
Posts: 2109
Joined: 09 Feb 2013, 09:55
Distribution: APorteus-FVWM-ja-x86_64.iso
Location: japan

How to properly uninstall packages from uncompressed .xzm modules

Post#11 by neko » 11 Nov 2020, 07:49

@cad
OK. I understand your situation.
I wanted to refer to your KERNEL CONFIG.

Building 32Bit KERNEL 4.16.3 is easy with "KERNEL BUILDER".

Thanks.

User avatar
cad
Black ninja
Black ninja
Posts: 69
Joined: 06 Nov 2020, 22:40
Distribution: XFCE 5.01 x86_64 + 4.0 i586

How to properly uninstall packages from uncompressed .xzm modules

Post#12 by cad » 15 Nov 2020, 09:31

@neko

How do I upload my basic kernel .config file, so that you can take a look at it (if you
are still interested)?

Maybe I am way too old-fashioned, but I don't like automated processes where you
are detached from what is going on. In order to get it to the point where I was
satisfied with it, I must have re-compiled kernel 4.16.3 at least 12 times (for three
different laptops), but I learned a tremendous amount in the process - what works
and what doesn't. I'd rather pay the price in terms of time put in and make it a
learning experience - I like hands-on.

User avatar
ncmprhnsbl
DEV Team
DEV Team
Posts: 3924
Joined: 20 Mar 2012, 03:42
Distribution: v5.0-64bit
Location: australia
Contact:

How to properly uninstall packages from uncompressed .xzm modules

Post#13 by ncmprhnsbl » 15 Nov 2020, 22:10

cad wrote:
10 Nov 2020, 20:12
002-xorg.xzm was left untouched - I did not want to mess up the various libraries. Though, I would not mind if someone knowledgeable could advise which libraries in there could be safely parted with, given my current setup.
these for sure, since you've removed python:
youtube-dl (most likely this older version doesn't work 100% anymore anyway)
pygtk
pycairo

possibly these:
bluez (depending on whether you require bluetooth support for anything)
GConf (not sure, but i don't think anything needs this)
wxgtk (again, not sure what this is for.. i think, it's the for the gui/filemanager for p7zip)
pamixer(pretty sure amixer is good enough)
/bin/x264 (NOT the package)(ffmpeg can handle this codec with the lib)

experimental:
mesa and llvm (these are biggest and most likely to break things: like gtk3 and some video drivers and of course gl and glx, 3d acceleration..)
other video xorg drivers than the one you need( $lspci | grep VIDEO) (ultimately doesn't save much space)

the trick being, to make various versions of the module, and test them... worst that can happen is that xorg fails to start...
Forum Rules : https://forum.porteus.org/viewtopic.php?f=35&t=44

User avatar
cad
Black ninja
Black ninja
Posts: 69
Joined: 06 Nov 2020, 22:40
Distribution: XFCE 5.01 x86_64 + 4.0 i586

How to properly uninstall packages from uncompressed .xzm modules

Post#14 by cad » 17 Nov 2020, 21:56

@ncmprhnsbl

Thanks so much for your suggestions and input! Very much appreciated, and yes, the trick is to experiment with it until satisfactory ... I'll get to it once I'm done with libreoffice. Which brings me to:

I know that installing libreoffice on a minimalistic system does not make any sense at all, but I've been experimenting with it, to see where it takes me.
So, I've been "working" on libreoffice for the past couple of days (never did I suspect it would take me that long). Downloading version 6.0.7.3 took about one minute or two on a fast connection, but the compiling of it has taken so far 48 hours non-stop. The compilation process has downloaded, so far, about 7.5 GB of files to my hard drive. Not sure if this is normal or if something is very wrong with it :%) - never before have I seen anything like that! I am doing it from my minimalistic system, so of course I had to put back python and perl plus add perf (required for libreoffice compilation) and am also using a kernel which adds hard drive support for the hard drive I had to install so that I could compile libreoffice.

Now, after 48 hours compiling, the process has stopped with an error complaining about the failing of a unit test:

libreoffice-test-failure-error

If anyone with libreoffice compilation experience has some input or comments, I am all ears...

User avatar
cad
Black ninja
Black ninja
Posts: 69
Joined: 06 Nov 2020, 22:40
Distribution: XFCE 5.01 x86_64 + 4.0 i586

How to properly uninstall packages from uncompressed .xzm modules

Post#15 by cad » 18 Nov 2020, 04:33

UPDATE: Downloaded, compiled and installed latest version of gargantuan gdb as required by libreoffice's error output.
Now, make has happily resumed compiling and libreoffice is cumbersomely approaching its 51st hour of compilation :shock:

EDIT 20201118: Nope, it did not work after all. Subsequent, similar errors during compilation came up stopping it. I tried to follow the directions given in the error outputs to the best of my capabilities to no avail. I am now giving it one last try and have configured the build with most options that could be disabled, disabled. If that doesn't work, could anyone reading this offer any suggestions on where I could download a compiled 32-bit (as-recent-as-possible) version of libreoffice that will work in Porteus i586 4.0?
The libreoffice-5.2.3.3-i586 module from Porteus 3.2.2 works nicely in Porteus 4.0 i586, but is a little outdated. Libreoffice stopped releasing 32-bit versions, IIRC, from ver. 6.3.*, so it would be ideal to get something 32-bit from around that time.
How does the /opt/porteus-scripts/update-libreoffice work in updating libreoffice? Is there a compiled copy of it for 4.0 i586 on dl.porteus.org ready for download?
Thank you.

Post Reply