|
|
|
|
Strumenti |
03-12-2017, 17:50 | #1 |
Senior Member
Iscritto dal: Jan 2006
Messaggi: 1525
|
[Debian] Creare un hd virtuale partendo da uno fisico
Dunque, periodo di ostacoli sulla mia personale strada dell'opensource.
In ufficio ho un pc con hd cosi' formattato: Codice:
sda sda1 - ext4 - none sda2 - linuxswap - swap sda3 - ext4 - / sda4 - ext4 - /media/sda4 sda2 e' ovviamente lo swap sda3 e' la partizione di root che contiene la home dell'utente (nonche' la cartella boot) sda4 e' una partizione con dati Cio' che vorrei fare e' trasformare la partizione sda3 in un hd virtuale avviabile in modo tale da poterlo utilizzare in Virtualbox. Delle altri partizioni non mi importa. Tutto cio' perche' su sda3 e' installato un programma gestionale (in python) ormai non piu' supportato e che non riesco a migrare su una nuova installazione Debian . Che dite, e' possibile? O e' meglio se mi do all'ippica?
__________________
-)(- debian -)(- |
03-12-2017, 20:59 | #2 |
Senior Member
Iscritto dal: Apr 2004
Messaggi: 9516
|
conosci clonezilla? potrebbe fare al caso tuo
oppure copiare direttamente tu tutto dal reale a un disco virtuale (montato in loop) |
04-12-2017, 16:47 | #3 |
Senior Member
Iscritto dal: Feb 2002
Messaggi: 2511
|
Ma cosa ti impedisce di fare un chroot e lanciare il programma in questione dal vecchio sistema?
Io ho un paio di programmi "chiusi" vecchi di 10 anni e mai aggiornati, essendomi rotto di impazzire con dipendenze e imputtanire una relase recente mi sono fatto un chroot con debootstrap e lancio quello schifo di "scratch for arduino" da chroot, es: - http://zap.piffa.net/store/s4a_container/ |
04-12-2017, 18:35 | #4 | ||
Senior Member
Iscritto dal: Jan 2006
Messaggi: 1525
|
Quote:
Quote:
Di primo acchito tra le due sembra piu' adeguata al mio caso la proposta di eaman. Premetto che non so nulla di chroot, cerco quindi di capirne di piu' e se proprio non riesco a cavare un ragno dal buco verro' di nuovo a chiedere umilmente lumi .
__________________
-)(- debian -)(- |
||
04-12-2017, 19:54 | #5 |
Senior Member
Iscritto dal: Feb 2002
Messaggi: 2511
|
L'idea e' che le macchine virtuali servono per emulare hardware diverso o sistemi operativi radicalmente diversi. Da quello che ho capito tu vuoi solo eseguire un programma di una sistema linux su un altro sistema linux, ti basta eseguire questo sull'altro sistema (chroot).
Peraltro il sistema "vecchio" lo hai gia' quindi sei a posto: ti installi la distro che vuoi e lanci il programma vecchio sulla vecchia root. |
05-12-2017, 16:39 | #7 |
Member
Iscritto dal: Dec 2006
Messaggi: 264
|
Premetto che dovrebbe funzionare correttamente anche in caso di piu partizioni, personalmente ho sempre fatto immagini di dischi aventi una sola partizione quindi non garantisco il successo.
Da live e usando un disco diverso da quello in cui è installato il sistema su cui "inviare" l'immagine, avvii dd e crei l'immagine del tuo disco ( esempio: dd if=/dev/sda conv=sync,noerror bs=64K > /sdx/debian.img ) Poi in base all'emulatore per macchina virtuale che userai convertirai tale immagine nel formato corretto. Avvii la macchina virtuale ed elimini tutto cio che non ti serve ps Clonare solo la partizione sda3 ti impone di clonare pure l'mbr e onestamente non saprei come integrare le 2 immagini ( sistema e mbr). Per il comando dd fatto ad esempio sono andato a memoria, se decidi di usare questo metodo controlla che sia corretto al 100% Ultima modifica di ishtar1900 : 05-12-2017 alle 17:07. |
06-12-2017, 19:06 | #8 | |||
Senior Member
Iscritto dal: Jan 2006
Messaggi: 1525
|
Quote:
Quote:
Quote:
__________________
-)(- debian -)(- |
|||
06-12-2017, 23:04 | #9 | ||
Senior Member
Iscritto dal: Feb 2002
Messaggi: 2511
|
Quote:
Dato che hai gia' il vecchio sistema e' la soluzione piu' comoda, potrai poi disinstallare quello che puoi e ridurre la partizione per recuperare spazio. Per altro non e' mica complicato (...): mount /dev/sda3 /mnt/vecchio chroot /mnt/vecchio nome_del_programma (se e' grafico ci vuole anche la roba per X che ho linkato) Quote:
|
||
08-12-2017, 10:46 | #10 |
Senior Member
Iscritto dal: Jan 2006
Messaggi: 1525
|
Ok, sono riuscito a lanciare il gestionale facendo il chroot di sda1 :
Codice:
# mkdir /mnt/deb7 # xhost + # mount /dev/sda1 /mnt/deb7 # chroot /mnt/deb7 # su user01 $ export DISPLAY=:0.0 $ promoGest2
__________________
-)(- debian -)(- |
08-12-2017, 11:13 | #11 |
Senior Member
Iscritto dal: Apr 2004
Messaggi: 9516
|
per curiosita'...
prima di "xost +" quale e' il valore di DISPLAY ? |
08-12-2017, 11:27 | #12 |
Senior Member
Iscritto dal: Jan 2006
Messaggi: 1525
|
Come posso vedere tale valore?
__________________
-)(- debian -)(- |
08-12-2017, 11:38 | #13 |
Senior Member
Iscritto dal: Apr 2004
Messaggi: 9516
|
echo $DISPLAY
|
08-12-2017, 12:02 | #14 |
Senior Member
Iscritto dal: Jan 2006
Messaggi: 1525
|
Codice:
$ echo $DISPLAY $ :0
__________________
-)(- debian -)(- |
08-12-2017, 17:30 | #15 | |
Senior Member
Iscritto dal: Feb 2002
Messaggi: 2511
|
Quote:
Ora il problema e' di sicurezza: chroot e' estremamente pericoloso (perche' appunto permette di lanciare un processo da un ambiente esterno) quindi solo root puo' lanciarlo mentre tu vorresti usarlo da utente. Bisogna decidere come affrontare questa problematica: lasciar fare un chroot da un processo di un utente comune e' un incubo e preferirei evitare di scrivere qualcosa di cosi' devastante... Io inizierei con: 1. metti il mount in /etc/fstab https://help.ubuntu.com/community/Fstab 2. fai uno script che lanci il solo chroot magari con sudo (puoi fare in modo che non ti chieda la password) specificando l'utente da usare ( --userspec) . https://www.linux.com/learn/linux-101-introduction-sudo L'export display puoi metterlo come variabile di uno script, o esportarlo prima di lanciare il programma. |
|
08-12-2017, 17:42 | #16 | |
Senior Member
Iscritto dal: Feb 2002
Messaggi: 2511
|
Quote:
Comunque come diceva sacarde echo $DISPLAY Potresti addirittura lanciare l'intero server grafico del sistema chroot su un'altra sessione di X ( :1 ) in modo da poter usare i due ambienti grafici contemporaneamente, uno con la root impostata su / come solito, l'altro che esegue i programmi appunto nell'altra root. Questo per ricordare che con linux su linux non serve usare macchine virtuali |
|
09-12-2017, 09:50 | #17 | |
Senior Member
Iscritto dal: Jan 2006
Messaggi: 1525
|
Quote:
__________________
-)(- debian -)(- |
|
09-12-2017, 09:55 | #18 |
Senior Member
Iscritto dal: Apr 2004
Messaggi: 9516
|
non so se funziona...
sudo chroot /mnt/deb7 /path.../mioscript |
09-12-2017, 09:55 | #19 | |
Senior Member
Iscritto dal: Jan 2006
Messaggi: 1525
|
Quote:
Da questo punto di vista Linux è veramente flessibile.
__________________
-)(- debian -)(- |
|
09-12-2017, 10:03 | #20 | |
Senior Member
Iscritto dal: Jan 2006
Messaggi: 1525
|
Quote:
Codice:
#!/bin/bash sudo xhost + sudo chroot /mnt/deb7 su user01 Trovato! Codice:
#!/bin/bash sudo xhost + sudo chroot /mnt/deb7 /bin/bash -c "su user01 -c promoGest2"
__________________
-)(- debian -)(- Ultima modifica di psimem : 09-12-2017 alle 10:10. |
|
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:49.