slackware64+slackpkg szívás

Az régi/új ultra 20-asom személyében nemrég szert tettem az első x86_64-es gépemre.
Ennek örömére feltettem a Slackware 13.0 hivatalos 64-bites portját.

Minden ok is volt, azonban tegnap a slackpkg-vel való frissítés után a Linux nem indult újra, azzal, hogy


INIT: cannot execute "/etc/rc.d/rc.S"
INIT: Entering runlevel: 3
INIT: cannot execute "/etc/rc.d/rc.M"

No ennek fele se tréfa, a failsafe kernellel sem lett szerencsém.
Ráchrootolok rescuecd-vel:
- a fájlok a helyükön
- a jogok rendben

Némi fórumolvasgatás után úgy döntök, hogy üsse kő, pegpróbálom mefuttatni az egyik init szkriptet, hátha kiderül valami:
"bad interpreter"

A /bin/sh a helyén, a bash-re mutat, ergo elvileg minden ok.
De azért csak próbáljuk ki a bash-t...

$/bin/bash
/bin/bash: no such file or directory

Ekkor néztem nagyot, hogy mi van, mert a fájl ott csücsült a megadott útvonalon.
Aztán végül Gans kolléga vezetett rá a megfejtésre:
A slackpkg tükörszerver-jegyzékében alapértelmezlésben az összes elérési út a 32 bites rendszer "repójára" mutat, ergo leszedte nekem a 32 bites bash binárist, és lecserélte vele a 64 bitest, innentől kezdve minden ami shell-t használt volna, megborult.
(A Slack64-ben alapból nincsenek 32-bites lib-ek.)

Nem árt legközelebb odafigyelnem, hogy a slackpkg kiadásakor még nem nagyon számoltak azzal az eshetőséggel, hogy a Slackware-ből is kijön a 64 bites port, ezért a mirrorlistát szerkesztgetni kell, hogy ne legyen baj a frissítgetésből.

Hozzászólások

par kerdessel zaklatlak.
desktopon nem használtam sose slackit
csak házi szerveren egy ideig (amig szükség volt rá)
de arra a célra az alap csomagkészlet a lemezen bőven elég volt.
ez a slackpkg tud már függőség-kezelést? vagy rosszul emlékszem és
az a slapt-get? az érdekelne igazából, hogy honnan tudja a függőségeket
mert a sima tgz-s csomagokban nincs ilyen, csak a doinst.sh meg a slack-desc :)

OFF
ph!-n te árulsz 44-pines ide kábelt? kéne :)
/OFF

nem, nem tud függőségkezelést, de nem is célja. szóval nem bug, hanem feature. :)
a slapt-get szintén nem tud függőségkezelést, csak megpróbálja feloldani, ha beleütközik egybe. (a wiki szerint)

off: igen én. keress majd pm-ben.
__________________________________________________________
Az életben csak egy dolog a szép, de az épp nem jut eszembe.

Slackware Linux 12.1 | 2.6.26.7-janos

"honnan tudja a függőségeket
mert a sima tgz-s csomagokban nincs ilyen, csak a doinst.sh meg a slack-desc :)"
Az alap csomagokban nincs ilyen függőségeket jelző fájl és nem is lesz ha Pat-en múlik, márpedig rajta. :) Egyébként a slack-required fájlból tudja pl. a slapt-get megállapítani, h milyen függőségei vannak az adott csomagnak, de ilyen csomagokkal csak pl a slacky.eu-n illetve elvétve a linuxpackages.net-en találkoztam csak. A függőség előállításához pedig ezt használják http://stabellini.net/requiredbuilder.html.

Egy apró megjegyzés a hivatalos csomagok már nem tgz-k, hanem txz. :)

Na ezért az első dolgom a slapt-get felrakása...

> BERUS
Motor: Mandriva Linux 2010.0

A slackpkg mirrors fájlban alapból nincs semmi kijelölve a mirrorok közül, neked kell legalább egyet engedélyezned. Szerintem elnézted...

--
Vittem a buliba egy üveg sósavat. Oldódjon a hangulat...

Valóban nincs egyik (x86-os) sem élesítve (x64-esre vonatkozó bejegyzés viszont egy sincs benne alapból), de este 11 felé nem tulajdonítottam neki túl nagy jelentőséget.
__________________________________________________________
Az életben csak egy dolog a szép, de az épp nem jut eszembe.

Slackware Linux 12.1 | 2.6.26.7-janos

Hehe, tegnap feltettem slackware64-13.0-t is probakeppen, es mikor eljutottam addig, hogy az X elindul, kiderult, hogy ugyanaz a bug jon elo vele, mint az openSUSE-val.