Näytä kirjoitukset

Tässä osiossa voit tarkastella kaikkia tämän jäsenen viestejä. Huomaa, että näet viestit vain niiltä alueilta, joihin sinulla on pääsy.


Viestit - Randelin

Sivuja: [1]
1
Ubuntu tietokoneissa / Vs: undelete APUA!
« : 16.06.10 - klo:14.02 »
Kun huomaat tuhonneesi tiedostoja, joita ei pitänyt tuhota, suorita heti osiolle unmount. Graafisesti tämä käy helposti gparted nimisellä ohjelmalla. Muuten tiedostojärjestelmä saattaa kirjoittaa tuhotuiksi merkittyjen tiedostojen päälle.

Itse tuhottujen tiedostojen palautus onnistuu ext3 ja ext4 levyiltä varsin näppärästi sellaisella ohjelmalla kuin extundelete (http://extundelete.sourceforge.net/). Oletuksena ohjelmaa siis ajetaan toiselta osioilta, jonne palautettavat tiedostot kopioidaan. Lopuksi kun tiedostojen palautus onnistui, voi ne kopioida takaisin alkuperäiselle osiolle. Esimerkiksi ulkoinen kiintolevy on varsin kätevä apuväline tuhottujen tiedostojen palautuksessa.

Extundelete ei ole repoissa ja pitää kääntää lähdekoodista, jonka saa projektin sivuilta. Se tarvitsee kääntyäkseen pari pakettia, jotka asennetaan seuraavasti:

Koodia: [Valitse]
sudo apt-get install e2fsprogs e2fslibs e2fslibs-dev
Kääntö tehdään suorittamalla hakemistossa src seuraava komento:

Koodia: [Valitse]
make
Koodi kääntyy ainakin gcc:n versioilla 3.3.4 ja 4.4.3.

Tämän jälkeen syntyneen extundelete tiedoston voi kopsia vaikka /usr/bin/ hakemistoon tai ajaa suoraan hakemistosta, johon se syntyi.

Koska kiintolevyt yleensä ovat täynnä kaikenlaista tuhottua tauhkaa voi olla järkevää käyttää palautettavien tiedostojen valinnassa suodatinta. Varsin suoraviivainen suodatin on aika. Palauta tiedostot, jotka on tuhottu jälkeen jonkun ajanhetken.

Koodia: [Valitse]
extundelete /dev/sdb1 --after dtime --restore-all
Tuossa dtime on päivämäärä yhdellä muuttujalla (http://en.wikipedia.org/wiki/Unix_time). Ja /dev/sdb1 on esimerkki osiosta jolta tiedostoja halutaan palauttaa. Palautetut tiedostot tulevat siihen hakemistoon missä extundelete ajettiin. Palautettavien tiedostojen hakemistorakenne seuraa mukana.

2

Toimii Aapon esittämien ohjeiden mukaisesti myös 8.04:ssa. Miulla oli käytössä puhdas asennus ja se vaati tietysti myös automaken asennuksen. Lisäksi miulla oli hieman häikkää käyttöoikeuksien kanssa ja joitakin asennushakemistoja piti tehdä käsipelissä. Sourcesta kääntäminen on sata kertaa helpompaa kuin pelleillä noitten vanhojen ja väärille alustoille käännettyjen kirjastojen kanssa.


3

Sivutietona mainittakoon, että tuo xlogical on nyt jossain ubuntupeleissä mukana : http://playubuntu.com/linux-games-/4467.html.
Löytyy siis _melkein_ jo perusrepoista.

Sain tuon xlogicalin toimimaan ubuntussa siten, että laitoin fedora 8:n virtualboxiin ja asensin seuraavat rpm:t:
alla olevassa järjestyksessä.

xlogical-1.0-7.i386.rpm
libalsa1-0.5.10b-1mdk.i586.rpm
smpeg-0.4.4-9.lvn5.i386.rpm
libvorbis0-1.0rc3-2.i386.rpm
libSDL_image1.1-1.1.0-4mdk.i586.rpm
SDL_mixer-1.1.0-2.i386.rpm
SDL-1.2.5-1.rh62-rh73.i386.rpm (tämä --force:lla)

Humpan juonena oli siis, että haeskelin rpm:iä virheilmoitusten perusteella: http://rpm.pbone.net/index.php3 ja valitsin Redhat 7.1 tai Mandrake 8.0:n paketin.

Seuraavaksi käänsin sitten nuo rpm:t debeiksi ja murjaisin vastaavassa järjestyksessä oikean koneen ubuntussa. Se ei sitten toiminutkaan ja käteen
jäi vinkki, että olis kannattanut tehdä tuo kokeilu virtuaaliubuntussa. Ubuntussa siis smpeg-0.4.4-9.lvn5.i386.rpm jäi kääntymättä, mutta pakotin kaikki paketit
kuitenkin paikoilleen. Xlogicalia käynnistettäessä vinkui se aina jotakin puuttuvaksi ja kaiken kun sain sille lopuksi haettua ei se muuten vain toiminut.
Virheilmoituksia ei enää herunut.

Tyylipuhtaampaa olisi ehkä kuitenkin ollut kääntää xlogical suoraan sourcesta, mutta se on kirjoitettu osittain c++:lla ja ainakin g++:n ja stl:n versiot ovat muuttuneet
useaan kertaan. C++:lle tyypillisesti tiedostonnimiä ei ole vaivauduttu muuttamaan uudistusten myötä. Siitäkin kokeilusta tulisi pitkä sepustus, mutta käytännössä
käteen jäi tieto, että sekin tuherrus olisi kannattanut tehdä virtuaaliubuntussa.

Sivuja: [1]