Képzelheted milyen problémákat okozhat, ha eltávolítod az alap-programkönyvtárat, amire egy csomó program épül.
Nálam minden rendben ment, amíg ki nem adtam a make install parancsot. Körülbelül a telepítés felénél hibaüzenetet kaptam, miszerint az rm nem tudott lefutni, aztán észrevettem, hogy még az olyan alapparancsok sem működnek, mint a cp, ls, mv, ln, tar stb. Mind azt írta ki, hogy nem találják a szükséges programkönyvtáruk egy részét.
Viszont erre is van megoldás. Programfordításkor a fordítót (compiler) rá lehet kényszeríteni, hogy a programkönyvtárakból használt függvényeket belefordítsák a programba, így azoknak már nem kell ezeket megkeresni a programkönyvtárból.
Ezért ebben a fejezetben a telepítéshez szükséges segédprogramok statikus változatát készítjük el.
A legújabbat az ftp.gnu.org/gnu/binutils webhelyről töltheted le; a dokumentum íráskor ez a 2.14-es változat volt
Csomagold ki a forrást:
tar xIvf binutils-2.14.tar.bz2 |
Lépj be a könyvtárba:
cd binutils-2.14 |
Állítsd be a makefile-okat:
./configure |
Fordítsd le a forrásokat:
make |
Telepítsd:
make install |
Ha a fordítás során valamilyen gettextel kapcsolatos problémába ütköznél (mint például: "undeclared reference to lib_intl" vagy valami hasonló), akkor szedd le és telepítsd a legújabb változatot az ftp.gnu.org/gnu/gettext webhelyről.
Ha ez nem segít, akkor próbáld meg kikapcsolni az anyanyelvi támogatást a következőképpen:
./configure --no-nls |
A binutils statikus változatát nem muszáj elkészíteni, de nem árt, mert sok régi változatút használó rendszerrel találkoztam, amelyekkel majdnem mindig valamilyen hiba volt, ezért szerintem jó ötlet itt megemlíteni ezeket.
A make parancs a felelős a források lefordításáért, a gcc és más, a fordításához szükséges programok hívásáért. Ha valami baj történik az új glibc-vel, szükséged lehet valamit lefordítani, ezért nem árt, ha van egy statikus változatod, másként nem menne.
Töltsd le a forrást az ftp.gnu.org/gnu/make/ webhelyről; a dokumentum írásakor a legújabb a 3.80 változat volt
Csomagold ki:
tar xIvf make-3.80.tar.bz2 |
Lépj be a létrehozott könyvtárba:
cd make-3.80 |
Ügyelj rá, hogy a binárisokat statikusra fordítsd le:
export CFLAGS="-static -O2 -g" |
Futtasd a beállító szkriptet:
./configure |
Fordítsd le:
make |
Telepítsd a binárisokat :
make install |
Ellenőrizz:
make -v |
Gratulálok! Ismét elkészítetted egy program statikus változatát.
A core-utils a cp, rm, ln, mv stb alapparancsokból áll. Ha valami hiba történik a telepítés során, ezekre mindenképp szükség van a hiba helyrehozatalához, tehát itt a statikus változat igazán fontos.
Megint csak töltsd le a forrást az ftp.gnu.org/gnu/coreutils/ webhelyről; a dokumentum íráskor a legújabb az 5.0 változat volt.
Csomagold ki:
tar xIvf coreutils-5.0.tar.bz2 |
Lépj be a könyvtárba:
cd coreutils-5.0 |
Ügyelj rá, hogy a binárisokat statikusra fordítsd:
export CFLAGS="-static -O2 -g" |
Futtasd a beállító szkriptet:
./configure |
Fordítsd le:
make |
És telepítsd:
make install |
Ellenőrizd, hogy az új változat-e az aktuális:
cp --version |
Most, hogy ezeknek az alapcsomagoknak a statikus változatát használod, biztos lehetsz benne, hogy minden körülmény közt működni fognak.
Már használtad a GNU tar programot, amikor kicsomagoltad és telepítetted a programokat. De talán szükséged lehet majd újabb programokat fordítani, ha az új glibc miatt a rendszer összeomlik, tehát nem árt, ha ebből is van egy statikus változat (ezt személyesen tapasztaltam). Szükséged lesz a tar mellett a bz2 tömörítési algoritmusra, amely nincs benne a tar hivatalos forrásában.
Töltsd le a tar forrását az ftp.gnu.org/gnu/tar webhelyről; a dokumentum írásakor a legújabb az 1.13 változat volt.
Mivel sok forrás bz2 algoritmussal van tömörítve, szükséged lesz a beépített támogatásra, mert jobb mint csövekkel (pipe) dolgozni. Tehát töltsd le a foltot az ftp://infogroep.be/pub/linux/lfs/lfs-packages/4.1/tar-1.13.patch webhelyről.
Csomagold ki:
tar xzvf tar-1.13.tar.gz |
Másold át a foltot a tar forráskönyvtárába:
cp tar-1.13.patch tar-1.13/ |
Foltozd a forráskódot:
patch -Np1 -i tar-1.13.patch |
Állítsd be a fordító kapcsolóit a statikus fordításhoz:
export CFLAGS="-static -O2 -g" |
Most már beállíthod:
./configure |
Fordítsd le:
make |
Végül telepítsd a csomagot:
make install |
Egy gyors ellenőrzés, hogy feltelepült-e az új változat:
tar --version |
Ha valami hibát észlelsz a make futtatásakor, próbáld meg kikapcsolni az anyanyelvi támogatást (nls). Ezt a következő kapcsolókkal érheted el:
--disable-nls |
Megjegyzés: A tar ezen új változatában a -j kapcsolót kell használnod a .bzip2 fájlok kicsomagoláshoz, tehát a következő helyett:
tar xIvf anyfile.tar.bz2 |
tar xjvf anyfile.tar.bz2 |
Én a Bash shell-t részesítem előnyben, ha másikat használsz, ügyelj arra, hogy a statikus változatát telepítsd, a glibc telepítése előtt.
Töltsd le a Bash forrástt az ftp.gnu.org/gnu/bash/ webhelyről; a dokumentum írásakor a legújabb a 2.05b változat volt.
Csomagold ki:
tar xzvf bash-2.05b.tar.gz |
Lépj be a könyvtárba:
cd bash-2.05a |
Állíts be mindent a statikus programkészítéshez:
export CFLAGS="-static -O2 -g" |
Állítsd be a makefile-okat:
./configure |
./configure --help |
Fordítsd le:
make |
Telepítsd fel a binárisokat:
make install |
Ügyelj arra, hogy ne legyen más változat elérhető (mint a SuSE Linuxnál a /bin/ könyvtárban). Egyszerűen másold a binárist a /bin/ könyvtárba is:
cp /usr/local/bin/bash /bin/ |
Már van egy telepített statikus változatú Bash a rendszeren, ami így ugyan nagy, de legalább minden körülmény közt működik.
Ha másik shell-t szeretsz, használhatod azt is, csak ügyelj arra, hogy statikusan fordított változatot használj. Nyugodtan írd meg hogyan készítetted az általad használt shell statikus változatát, valószínűleg a HOGYAN következő változatában már szerepelni is fog.
A Midnight Commander egy nagyon hasznos kis fájlkezelő, sok extrával, például tömörített fájlok kicsomagolása, beépített általános parancsok, mint másolás, áthelyezés, és egy szerkesztő.
Lefordításához, fent kell lennie glib programkönyvtárnak. Néhány disztribúcióban alapból fent van, ha esetleg a make során olyan hibaüzenetet kapsz, hogy az ld nem találja a glibet, akkor először fel kell telepítened ezt a programkönyvtárat. A forrásokat az ftp.gnome.org/pub/gnome/sources/glib/2.2/ webhelyről töltheted le, a telepítés egyértelmű.
A Midnight Commander elkészítésének lépései:
Töltsd le a forrást a http://www.ibiblio.org/pub/Linux/utils/file/managers/mc/" webhelyről; a dokumentum írásakor a legújabb a 4.6.0 változat volt. volt.
Csomagold ki:
tar xzvf mc-4.6.0.tar.gz |
Lépj be az imént létrehozott könyvtárba:
cd mc-4.6.0 |
Állítsd be a konfigurációs fájlokat:
./configure |
Fordítsd le:
make |
Telepítsd:
make install |
Előző | Tartalomjegyzék | Következő |
Szükséges dolgok | Fel | A glibc telepítése |