Just some more limited testing.
Part 1 - Fixing Urxvt after the fact
Urxvt was working but lxterminal wasn't. For lxterminal to work, I needed to install libncurses5 and libtinfo5.
The actuall packages I installed were:
Code: Select all
libtinfo5_6.2+20201114-2_i386.deb
libncurses5_6.2+20201114-2_i386.deb
libtinfo6_6.2+20201114-2_i386.deb
libncurses6_6.2+20201114-2_i386.deb
available here:
https://http.kali.org/kali/pool/main/n/ncurses/
I'll add these packages to my woof-next build later. I installed these packages by downloading the debs and copying them into the "kali" subfolder of the extracted sfs. Then in my chrooted system I ran the following commands:
Code: Select all
dpkg -i libtinfo5*
dpkg -i libncurses5*
dpkg -i libtinfo6*
dpkg -i libncurses6*
later I will test apt. After installing these packages I tested the copy and paste functionality between geany and lxtermianl. It worked. I'm using an old versions of geany and lxterminal but newer packages for ncurses.
A related package I could consider installing is ncurses-bin.
Edit:
Part 2 - Fixing Apt-Cache Search after the fact
I couldn't resist testing "apt-cache search". It told me the following libs were missing:
libapt-pkg6, libudev1, libxxhash0, libzstd1.
Note that for most of my woof-next script I had dependency tracking turned off. I did this so I could think about each package that was being added. I tried to create a dummy package for libudev because, I I wanted to include it in a different grouping (maybe the boot system..although maybe it is more device related), rather than the cli system.
Anyway, the above missing libs are available at the following locations:
libapt-dpkg: /main/a/apt/libapt-pkg6.0_2.1.20_i386.deb
libxxhash0: main/x/xxhash/libxxhash0_0.8.0-2_i386.deb
libzstd1: /main/libz/libzstd/libzstd1_1.4.8+dfsg-2_i386.deb
libudev1: /main/s/systemd/libudev1_247.3-1_i386.deb
I'm going to try to foce the install without installing libudev1.
libudev1 seems to be needed, so I'll include it. It's not really a systemd component so no need to panic!
Edit #2
After further trials, I found I was missing the following packages to get apt to work properly:
libseccomp2: /libs/libseccomp/libseccomp2_2.5.1-1_i386.deb
libgnutls30: /g/gnutls28/libgnutls30_3.7.0-5_i386.deb
libp11-kit0: /main/p/p11-kit/libp11-kit0_0.23.22-1_i386.deb
libunistring2: /pool/main/libu/libunistring/libunistring2_0.9.10-4_i386.deb
libtasn1-6: /main/libt/libtasn1-6/libtasn1-6_4.16.0-2_i386.deb
libnettle8: /main/n/nettle/libnettle8_3.6-2_i386.deb
libhogweed6: /main/n/libtasn1-6/libhogweed6_3.6-2_i386.deb
ca-certificates: /main/c/ca-certificates/ca-certificates_20210119_all.deb
Also /usr/lib/gpg-error.so.0 needs to be removed. This is an old version of the lib from the original. In future builds I will remove it. For now I'm doing manual tweaks noted above.
Edit #3
I added (or re-install) a few more packages to get apt/dpkg working (some of which which were previousoly exising but reinstalled, include: apt, ca-certificates, kali-archive-keyring):
libapt-pkg6.0: libapt-pkg6.0_2.1.20_i386.deb
libxxhash0: libxxhash0_0.8.0-2_i386.deb
libzstd1: libzstd1_1.4.8+dfsg-2_i386.deb
libudev1: libudev1_247.3-1_i386.deb
libseccomp2: libseccomp2_2.5.1-1_i386.deb
libgnutls30: libgnutls30_3.7.0-5_i386.deb
libp11-kit0: libp11-kit0_0.23.22-1_i386.deb
libunistring2: libunistring2_0.9.10-4_i386.deb
libtasn1-6: libtasn1-6_4.16.0-2_i386.deb
libnettle8: libnettle8_3.6-2_i386.deb
libhogweed6: libhogweed6_3.6-2_i386.deb
ca-certificates: ca-certificates_20210119_all.deb
kali-archive-keyring: kali-archive-keyring_2020.2_all.deb
dirmngr: dirmngr_2.2.20-1_i386.deb
libksba8: libksba8_1.5.0-3_i386.deb
libldap-2.4-2: libldap-2.4-2_2.4.57+dfsg-1_i386.deb
libnpth0: libnpth0_1.6-3_i386.deb
locales: locales_2.31-9_all.deb
libc-l10n: libc-l10n_2.31-9_all.deb
libsasl2-2: libsasl2-2_2.1.27+dfsg-2.1_i386.deb
libsasl2-modules-db: libsasl2-modules-db_2.1.27+dfsg-2.1_i386.deb
gpg-agent: gpg-agent_2.2.20-1_i386.deb
apt: apt_2.1.20_i386.deb
gnupg2: gnupg2_2.2.20-1_all.deb
Some pancakes were also previously installed but needed to reconfigured such as: libgnutls30.
Edit #4 - Further Notes
apt has a a dependincy one of the following alernatives; gpgv, gpgv2, gpgv1. Rather than installing one of these I installed the full version (i.e. gnupg2), which has it's own additional dependencies. If you install the full version instead of one of listed dependencies then you have to use the "--force-depends" option when installing apt.
the gpg key in the kali linux repos (i.e. kali-archive-keyring) is likely outdated, at the very least
I missed removing some old stuff such as: libgpg-error, libssl, mktemp. The reason that we have to remove the old version of mktemp is because it can't take standard input as an input argume (i.e. -) and apt-key requires this functionality of mktemp. The libssl issues are due to the say dirmngr looks for libssl. It looks for the .so.0 version which isn't necesiarily the newest version and it will stop looking even if it finds a broken symlink. dirmngr apears to be required if you want to download a gpg key from a keyserver. One might want to do this if they are say downloading the repo key for kalilinux.
I needed to symlink awk to gawk or install an alternative version of awk.
dpkg-reconfigure doesn't work without the terminalinfo stuff. I had removed old terminal info stuff but needed to copy this stuff back because I don't see where it was moved to in newer linux releases. The issue is that dpkg-reconfigure can't open xterm properly without it even though xterm can be opened without this stuff.
locals need to be be properly set up prior to configuring libgnutls30. This can be done with the debian commands:
Code: Select all
localedef -i en_US -f UTF-8 en_US.UTF-8
dpkg-reconfigure locales
https://www.thomas-krenn.com/en/wiki/Pe ... _in_Debian
Alternatively, this can be done via puppies tools. To install devians version of locals via dpkg, not of the file lists of other packages must overlap what is in the debian package (e.g. locale-gen). One can resolve this by editing the file lists contained in /var/lib/dpkg/info.
Prior to downloading a key from a gpg keyserver run the following command:
Here are two examples of downloading the keys for the kali repos:
Code: Select all
gpg --keyserver ipv4.pool.sks-keyservers.net --recv-key ED444FF07D8D0B
gpg --keyserver hkp://keys.gnupg.net --recv-key 7D8D0BF6
Note that the first key here is expired and I think the second key is deprecated. After downloading via the above command you can add the second key to apt as follows:
Code: Select all
gpg -a --export 7D8D0BF6 | apt-key add -
However, doing this doesn't let "apt-get update work". Neither does the following:
Code: Select all
apt-key adv --keyserver hkp://keys.gnupg.net --recv-keys 7D8D0BF6
https://www.logcg.com/en/archives/851.html
Here is the error message:
Code: Select all
sh-4.1# apt-get update
Get:1 https://archive.kali.org/kali kali-rolling InRelease [30.5 kB]
Err:1 https://archive.kali.org/kali kali-rolling InRelease
Couldn't create temporary file /tmp/apt.conf.jCMcRQ for passing config to apt-key
Reading package lists... Done
W: GPG error: https://archive.kali.org/kali kali-rolling InRelease: Couldn't create temporary file /tmp/apt.conf.jCMcRQ for passing config to apt-key
E: The repository 'https://archive.kali.org/kali kali-rolling InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.