( x-daemon | 2012. 10. 23., k – 20:24 )

en regebben igy allitottam at a szervereket 64 bitesre, most nem teszteltem le hogy meg mindig mukodik-e:

64 bites kernel fusson. Ha nem az fut telepitsuk fel majd bootoljunk be rajta.

cd ~

dpkg --get-selections | grep -v deinstall$ | grep install$ | cut -f 1 | sort > selections.txt

apt-get update -o APT::Architecture=amd64

cd /var/lib/apt/lists/
for file in *-amd64_Packages; do awk -v package=`echo $file | sed s/"-amd64_Packages"//` 'BEGIN{RS="\n\n"; FS="\n"; split(package, p, "_"); url="http://"p[1]"/"p[2]"/"}{split($0, t, "\n"); for (a in t) {if (substr(t[a], 1, 9) == "Filename:") {split($1, b, " "); split(t[a], c, " "); print b[2]" "url""c[2]}}}' $file; done | sort > /root/packages.txt

cd ~

cat packages.txt | awk '{print "if grep -q ^"$1"$ selections.txt; then echo wget "$2"; fi"}' | sh | sh

a tobbszor letoltott csomagokat letoroljuk, legutolso verziot meghagyva.

masolas / -bol /chroot -ba a kovetkezo konyvtarakat: /bin, /lib, /sbin, /usr/bin, /usr/lib, /usr/sbin

for file in *_amd64.deb; do echo "===== $file ====="; dpkg-deb -x $file /chroot; done

find /chroot -type f -exec file {} \; | sort >file.txt

grep „ELF 32-bit” file.txt > file_32bit.txt

a /chroot alol amelyik file 32 bites es nem kell letoroljuk. valoszinuleg minden mehet, mert az amd64-es csomagokban talalhato 32 bites fileket majd a dpkg visszarakja.

1 menetben a /-bol toroljuk azokat a konyvtarakat ahol 32 bites filek vannak, majd a /chroot-bol ezeket atmozgatjuk / ala:
/bin, /lib, /lib64, /sbin, /usr/bin, /usr/lib, /usr/lib64, /usr/sbin

1 menetben azt jelenti hogy masolas kozben ne kelljen elinditani egy programot sem, en mc-t hasznalok

helyrerakjuk a csomagkezelo adatbazisat:
dpkg -i *.deb

--
neked aztan fura humorod van...