Sziasztok.
Kiwi linux nevű distrib előtt ülök, meg sem merem mondani, hogy hol.
a tárgyban szereplő könyvtárat szeretném oly módon kihasználni, hogy egy debianos, apt-get-tel letöltött wine-t csomagolnék ki oda.
Kérdésem:
1. Ha az apt-get nem rootként van használva a letöltésnél sem, hogyan bírható rá arra, hogy a júzer könyvtáraiba telepítse azt, amit használni szeretnék? (szerintem sehogy)
2. Ha manuálisan mc-vel kicsomagolom a fenti könyvtárba, felléphet-e komplikáció, mondjuk bármi, pl. ilyen:
user:~/.local/usr/bin$ ./wine --help
./wine: error while loading shared libraries: libwine.so.1: cannot open shared object file: No such file or directory
user:~/.local/usr/bin$
Sosem használtam a fent említett könyvtárat, nem volt rá szükségem. Csak most lenne..
- 4014 megtekintés
Hozzászólások
Esetleg beállítod az LD_LIBRARY_PATH (??? mintha ez már deprecated lenne, de nem tudom, akkor mi van helyette) változót arra a könyvtárra, ahogy a hiányolt fájl van és úgy próbálod?
- A hozzászóláshoz be kell jelentkezni
Ez az, amit most nem tudok hogyan is kell. Az /etc/profiles-t nem szerkeszthetem, a júzerkönyvtárbelit igen.
Java esetében ez van:
export LD_LIBRARY_PATH=$JAVA_PROFILER_HOME:$TPTP_AC_HOME/lib:$LD_LIBRARY_PATH
egy kézzel felhútott wine esetében is hasonló a dolog?
---
--- A gond akkor van, ha látszólag minden működik. ---
---
- A hozzászóláshoz be kell jelentkezni
környezeti változó beállításának mikéntjét a shelled manjában megtalálod.
Bourne és társai esetén valami ilyesmit fogsz csinálni:
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/.local/lib:~/.local/usr/lib
- A hozzászóláshoz be kell jelentkezni
Egész sok programot fel tudsz telepíteni a saját könyvtáradba is, viszont ha nem figyelsz a függvénykönyvtárak verzióira, könnyen működésképtelenné teheted a rendszerprogramokat is (legalábbis amíg nem törlöd a .local könyvtárat ill. nem állítasz mindent vissza).
Megosztok egy-két szkriptet, amit használni szoktam. Nem árt, ha valamelyest érted is a működésüket, mert néha előfordul, hogy reszelni kell egy kicsit.
~/bin/apturis
#!/bin/bash
apt-get --yes --print-uris install "$@" | grep -e 'tp://.*deb' | cut -d ' ' -f1 | sed "s/^'//g;s/'$//g"
Használat: Megadsz paraméterként pár csomagnevet, kilistázza a letöltendő .deb fájlok url-jét a függőségekkel együtt, kivéve azokat, amik már (rendszergazdaként) telepítve vannak. Ezeket egyben le is töltheted mondjuk egy apturis ... | wget -i -
paranccsal.
~/bin/li
#!/bin/bash
if [ $# -ne 1 ]
then
echo "Local install of debian packages" >&2
echo "Usage: $0 package.deb" >&2
exit 1
fi
echo -n "Unpacking $1..." >&2
dpkg-deb -x "$1" $HOME/.local
echo " [Done]" >&2
Használat: A paraméterként átadott .deb fájlt kibontja a ~/.local könyvtáradba. A lenti beállítások mellett ez olyan, mintha feltelepítenéd. A függőségek kezelése itt nem megy automatikusan, az előző körben letöltött összes csomagra meg kell hívnod.
.bashrc-be:
export PATH=$HOME/bin:$HOME/.local/bin:"$PATH"
export LD_LIBRARY_PATH=$HOME/.local/usr/lib
export PKG_CONFIG_PATH=$HOME/.local/usr/lib/pkgconfig
export PYTHONPATH="$PYTHONPATH":$HOME/.local/usr/lib/python
export MANPATH="$MANPATH":$HOME/.local/usr/share/man
export INFOPATH="$INFOPATH":$HOME/.local/usr/share/info
export CFLAGS="-I$HOME/.local/usr/include/"
export CPPFLAGS="-I$HOME/.local/usr/include/"
export LDFLAGS="-L$HOME/.local/usr/lib/"
Ezekkel a beállításokkal a rendszer tudni fogja, hogy a különböző komponenseket a .local alatt is keresse. Az egyes sorok jelentése: programok, dinamikus függvénykönyvtárak (.so), pkg-config csomagleíró fájlok, python modulok, súgó, azaz man ill. info oldalak, c és c++ fejlécek, statikus függvénykönyvtárak (.a).
A .bashrc módosítása értelemszerűen csak akkor lép életbe, amikor újraindítod a shell-t. Persze source-olhatod kézzel is.
A csomagkezelőhöz képest ez a megoldás eléggé fapados, például nem tudsz csomagokat eltávolítani, szóval ha egyszer elrontod, kezdheted az egészet elölről. Ha bizonytalan vagy, érdemes telepítés előtt másolatot készíteni a .local-ról.
- A hozzászóláshoz be kell jelentkezni
sub
--
TH
- A hozzászóláshoz be kell jelentkezni
+1
- A hozzászóláshoz be kell jelentkezni
user:~/.local$ ./dpkg-deb -x ./wine1.4-i386_1.4-0ubuntu4.1_i386.deb ./
dpkg-deb (alfolyamat): unable to execute tar (tar): Nincs ilyen fájl vagy könyvtár
dpkg-deb: error: tar alfolyamat 2 hibakóddal kilépett
user:~/.local$
Szerintem legjobb, ha maradok a saját gépemnél és a saját distribemnél..
Zsibbasztó, de belátom, hogy néha ez a leghelyesebb.
---
--- A gond akkor van, ha látszólag minden működik. ---
---
- A hozzászóláshoz be kell jelentkezni