Fórum Ubuntu CZ/SK

Ubuntu pro osobní počítače => Instalace, aktualizace a spouštění => Téma založeno: dvh 07 Ledna 2009, 08:31:06

Název: Jak bezpecne nainstalovat balicek z 9.04 do 8.04
Přispěvatel: dvh 07 Ledna 2009, 08:31:06
Mam ubuntu 8.04 a jednu aplikaciu potrebujem v najnovsej verzii, nasiel som ju v repozitaroch pre 9.04, existuje nejaky standardny alebo odporuceny sposob ako nainstalovat novsiu verziu ale tak aby originalny balicek zostal nedotknuty, t.j. nechcem upgradovat balicek (ani jeho zavyslosti) na novsiu verziu ale niekam inam do systemu (napr. do /opt alebo tak nejak) nainstalovat ten novsi. Obsahuje aj nejake zavyslosti ktore su v novsej verzii (libcurl). Vdaka.
Název: Re: Jak bezpecne nainstalovat balicek z 9.04 do 8.04
Přispěvatel: Martin Kiklhorn 08 Ledna 2009, 01:42:00
http://forum.ubuntu.cz/index.php/topic,28767.0.html
Název: Re: Jak bezpecne nainstalovat balicek z 9.04 do 8.04
Přispěvatel: nettezzaumana 08 Ledna 2009, 02:57:02
http://forum.ubuntu.cz/index.php/topic,28767.0.html
.. naprosto zbytecne velky kalibr..

1) vytvorime si v ~ slozku chroot .. muzeme ji samozrejme pojmenovat jak chceme .. a v ni slozku chbin a tmp
Citace
mkdir -p ~/chroot/{chbin,tmp}
do slozky ~/chroot/chbin budeme delat v podstate linky/skripty pro spousteni nasich chrootovanych aplikaci ..
ve slozce ~/chroot/tmp muzeme delat bordel, rozbalovat balicky, kompilovat zdrojaky apod ..

2) stahneme balicek foo.deb a zkopirujeme/premistime ho do ~/chroot/tmp a rucne vybalime ..
Citace
ar -x foo.deb; tar xvf data.tar.gz -C ~/chroot
balicek se nam normalne rozbali do ~/chroot v klasicke unix-like strukture, takze ~/chroot obsahuje adresare usr, lib, bin apod ..

3) vytvorime si spoustec ve slozce chbin tim, ze vlozime do souboru radek nize ::
predpokladejme, ze balicek foo.deb obsahuje aplikaci foo a ta ma normalne v lib nejake knihovny nutne pro beh ..
Citace
LD_LIBRARY_PATH=~/chroot/lib ~/chroot/usr/bin/foo $@
musime jeste priradit prava na spousteni ..

nektere aplikace napriklad instaluji nejake dalsi helper apps, ktere hledaji ve standartnich cestach (to lze videt pri vypisu instalace baliku) a proto je potreba vlozit jim napriklad promennou PATH=$PATH:~/chroot/usr/bin

nektere balicky vyuzivaji pouze sdilenych knihoven (neprinasi vlastni) a neni jim teda nutne davat cesty k jejich knihovnam .. overit lze pomoci prikazu `ldd /path/to/executable` ..

.. do takto vytvoreneho chrootu muzeme instalovat balicky i z jinejch distribuci, kompilovat tam s --prefix programy ze zdrojaku apod ..
takto lze napriklad krasne ohackovat *NIX system pokud nepouziva technologie jako apparmor a selinux .. mate-li pristup do takoveho systemu jako uzivatel, muzete si prakticky nainstalovat i bez roota a pouzivat co chcete ..

hackeri totiz netouzi po niceni systemu nebo jejich modifikaci .. pouze si hledaji hostitele, na kterem mohou realizovat sve potreby ;) .. samozrejme nejlepe bez vedomi majitele systemu ..

regards

ps. drobna reference zde .. http://forum.ubuntu.cz/index.php/topic,28509.0.html .. popisuji, jak si bez roota instaluju do sveho openSuSE celej quakeruv enlightenment (cca 50 balicku) z Ubuntu
Název: Re: Jak bezpecne nainstalovat balicek z 9.04 do 8.04
Přispěvatel: dvh 08 Ledna 2009, 09:32:30
Doplnujuce otazky na:

- mozem chroot pouzit ako obyc user? Alebo to tvoje riesenie chroot nepouziva?

- co ked nejaka aplikacia hlada nejake datove subory napr v /usr/share/nieco/obrazok.png, ako ju donutim aby citala z ~/chroot/usr/share/nieco/obrazok.png ?
Název: Re: Jak bezpecne nainstalovat balicek z 9.04 do 8.04
Přispěvatel: nettezzaumana 08 Ledna 2009, 12:52:30
- mozem chroot pouzit ako obyc user? Alebo to tvoje riesenie chroot nepouziva?
.. muzes. hlavni trik je, ze v tom co jsem ti poslal se `chroot` vubec nepouziva .. tak se jen jmenuje nase slozka .. muzes ji pojmenovat jinak
prave ze vse co zde popisuju delas jako normalni user ..

- co ked nejaka aplikacia hlada nejake datove subory napr v /usr/share/nieco/obrazok.png, ako ju donutim aby citala z ~/chroot/usr/share/nieco/obrazok.png ?
.. tady je to tezsi .. jedina moznost je nalinkovat (symlink) na ta umisteni co je potreba a nebo pouzit aplikaci schroot, ktera dovoli poustet aplikace ve chrootu bez prav roota ..