Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2013-01-10 22:32:51

  prosze - Użytkownik

prosze
Użytkownik
Zarejestrowany: 2012-09-25

[solved]Jak zrobić chroot z Ubuntu na Debiana?

Jak najprościej zrobić chroot z Ubuntu na Debiana?

Proszę o proste propozycje tego rozwiązania. :)

Ostatnio edytowany przez prosze (2013-01-11 08:18:08)

Offline

 

#2  2013-01-10 22:33:58

  winnetou - złodziej wirków ]:->

winnetou
złodziej wirków ]:->
Skąd: Jasło/Rzeszów kiedyś Gdańs
Zarejestrowany: 2008-03-31
Serwis

Re: [solved]Jak zrobić chroot z Ubuntu na Debiana?

Tak samo jak z debiana czy redhata czy czegokolwiek :P

Montujesz partycje z debianem a potem chroot /katalog/ /bin/bash


LRU: #472938
napisz do mnie: ola@mojmail.eu
Hołmpejdż | Galerie | "Twórczość" || Free Image Hosting

Offline

 

#3  2013-01-10 22:36:38

  ArnVaker - Kapelusznik

ArnVaker
Kapelusznik
Skąd: Midgard
Zarejestrowany: 2009-05-06

Re: [solved]Jak zrobić chroot z Ubuntu na Debiana?

Do wykonania z uprawnieniami użytkownika root z poziomu LiveCD lub innego systemu.

Utworzenie katalogu w którym zamontowana zostanie główna partycja Debiana:

Kod:

mkdir /mnt/debian

Zamontowanie głównej partycji Debiana:

Kod:

mount /dev/sdaX /mnt/debian

(za X należy podstawić numer partycji na której zainstalowany jest Debian, przykładowo sda1 lub sda2)

Jeżeli system zainstalowany jest na więcej niż jednej partycji (np. ma osobne partycje montowane do katalogów /boot, /usr itd.) trzeba zamontować je w analogiczny sposób do odpowiednich katalogów. Np.:

Kod:

mount /dev/sdaY /mnt/debian/boot
mount /dev/sdaZ /mnt/debian/usr

(za Y, Z itd. oczywiście podstawiając prawidłowe numery partycji)

Zamontowanie specjalnych systemów plików:

Kod:

mount -t proc proc /mnt/debian/proc
mount -t sysfs sysfs /mnt/debian/sys
mount -o bind /dev /mnt/debian/dev
mount -o bind /dev/pts /mnt/debian/dev/pts

Skopiowanie /etc/resolv.conf:

Kod:

cp /etc/resolv.conf /mnt/debian/etc

(dzięki temu w chrootowanym systemie będzie połączenie z internetem jeżeli na głównym jest)

Chroot:

Kod:

chroot /mnt/debian

Offline

 

#4  2013-01-10 22:38:02

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: [solved]Jak zrobić chroot z Ubuntu na Debiana?

Kod:

#!/bin/bash
grep '/dev/sda7' /proc/mounts | grep '/Debian' ||  mount /dev/sda7 /Debian &>/dev/null
grep '/Debian/dev' /proc/mounts||  mount -o bind /dev /Debian/dev &>/dev/null
grep '/Debian/proc' /proc/mounts ||  mount -t proc /proc /Debian/proc &>/dev/null
grep '/Debian/var/tmp' /proc/mounts ||  mount -t tmpfs -o noatime,mand,mode=1777 tmpfs /Debian/var/tmp &>/dev/null
grep '/Debian/tmp' /proc/mounts ||  mount -t tmpfs -o noatime,mand,mode=1777  tmpfs /Debian/tmp &>/dev/null
grep '/Debian/var/run' /proc/mounts ||  mount -t tmpfs -o noatime,mand,mode=1777 tmpfs /Debian/var/run &>/dev/null
grep '/Debian/var/run' /proc/mounts ||   mkdir /Debian/var/run/mysqld  &>/dev/null
grep '/Debian/var/run/mysqld' /proc/mounts ||  mount -o bind /var/run/mysqld/ /Debian/var/run/mysqld  &>/dev/null 
 chroot /Debian

I odpala chroota automatycznie.... :)
jak czegoś brakuje, lub nie trzeba, poradzisz sobie. ;)

Pozdro
;-)

Ostatnio edytowany przez Jacekalex (2013-01-10 22:39:28)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#5  2013-01-10 22:40:20

  ilin - Palacz

ilin
Palacz
Skąd: PRLu
Zarejestrowany: 2006-05-03

Re: [solved]Jak zrobić chroot z Ubuntu na Debiana?

Zakładając ,ze oba systemy są na jednej maszynie..

Zakładam ,że partycja główna debiana to /dev/sda5

Będąc na ubuntu tworzysz sobie katalog gdzie zamontujesz debiana

Kod:

mkdir /mnt/lin

nazwa i miejsce dowolne ,tylko by malo pisania bylo

Montujesz partycję z debianem

Kod:

mount /dev/sda5 /mnt/lin -rw

Montujesz katalog proc

Kod:

mount none -t proc /mnt/lin/proc

Montujesz katalog /dev

Kod:

mount -o bind /dev /mnt/lin/dev

Montujesz katalog /sys

Kod:

mount -o bind /sys /mnt/lin/sys

Kopiujesz plik /etc/resolv.conf z ubuntu na debiana  aby sieć na nim działała

Kod:

cp /etc/resolv.conf /mnt/lin/etc

Chrootujesz się

Kod:

chroot /mnt/lin /bin/bash

Już możesz działać na debianie :)

Np

Kod:

aptitude update && aptitude install wicd-gtk

Robisz to wszystko z konta roota czyli w ubuntu najlepiej przez

Kod:

sudo su

i z taka sama musi być architektura systemów.
Edit

W kilku pisaliśmy równocześnie :)


Problemy rozwiązujemy na forum nie na PW -> Niech inni na tym skorzystają.
Polski portal Debiana

Offline

 

#6  2013-01-10 22:45:12

  ArnVaker - Kapelusznik

ArnVaker
Kapelusznik
Skąd: Midgard
Zarejestrowany: 2009-05-06

Re: [solved]Jak zrobić chroot z Ubuntu na Debiana?

Można to w sumie do FAQ wrzucić. Tylko którą wersję? :D

Offline

 

#7  2013-01-10 23:14:51

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: [solved]Jak zrobić chroot z Ubuntu na Debiana?

Me napisał najszybszą wersję:

time debroot
/dev/sda7 /Debian ext4 rw,noatime,data=ordered 0 0
devtmpfs /Debian/dev devtmpfs rw,relatime,size=2020380k,nr_inodes=505095,mode=755 0 0
/proc /Debian/proc proc rw,relatime 0 0
tmpfs /Debian/var/tmp tmpfs rw,mand,noatime 0 0
tmpfs /Debian/tmp tmpfs rw,mand,noatime 0 0
tmpfs /Debian/var/run tmpfs rw,mand,noatime 0 0
tmpfs /Debian/var/run tmpfs rw,mand,noatime 0 0
Squeeze 23:09:44 /
root  # cat /etc/debian_version ; exit
wheezy/sid
exit

real    0m1.348s
user    0m0.013s
sys    0m0.024s

Do tego małe udogodnienia, niebezpieczne, ale wygodne:

Kod:

user ~> sudo -l | grep debroot
     (root) NOPASSWD: /usr/local/bin/debroot

oraz:

Kod:

user ~> alias | grep debroot
alias debroot='sudo /usr/local/bin/debroot'

Pozdrawiam
;-)

Ostatnio edytowany przez Jacekalex (2013-01-10 23:17:36)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#8  2013-01-11 08:17:39

  prosze - Użytkownik

prosze
Użytkownik
Zarejestrowany: 2012-09-25

Re: [solved]Jak zrobić chroot z Ubuntu na Debiana?

Chłopaki bardzo dziękuje. ArnVaker dobrze napisał, że do FAQ można to wrzucić.

Offline

 

#9  2013-01-11 09:24:45

  P@blo - Nadworny matematyk

P@blo
Nadworny matematyk
Skąd: Wrocław v Jasło
Zarejestrowany: 2010-11-11

Re: [solved]Jak zrobić chroot z Ubuntu na Debiana?

Jeśli jeszcze nikt nie pisze to moge napisać... I tak miałem to zrobić, ale zapomniałem co to miało być... ;)


ThinkPadX220i
| Procesor: Intel(R) Core(TM) i3-2310M CPU @ 2.10GHz |
|  Debian: sid   |   Arch: amd64   |   Sound: alsa   |
| No DE | WM: DWM  |  DM: .bash_profile  |  BIOS+MBR |

Offline

 

#10  2013-01-11 09:44:54

  ArnVaker - Kapelusznik

ArnVaker
Kapelusznik
Skąd: Midgard
Zarejestrowany: 2009-05-06

Re: [solved]Jak zrobić chroot z Ubuntu na Debiana?

Jeśli jeszcze nikt nie pisze? Masz przecież wyżej kilka wersji gotowych. :P Moja nawet wisi w szkicach: dug.net.pl/tekst/195/. ;)

Offline

 

#11  2013-01-11 09:58:19

  P@blo - Nadworny matematyk

P@blo
Nadworny matematyk
Skąd: Wrocław v Jasło
Zarejestrowany: 2010-11-11

Re: [solved]Jak zrobić chroot z Ubuntu na Debiana?

No bardzo ładne :) Tylko, odhacz szkic i jest git ;)


ThinkPadX220i
| Procesor: Intel(R) Core(TM) i3-2310M CPU @ 2.10GHz |
|  Debian: sid   |   Arch: amd64   |   Sound: alsa   |
| No DE | WM: DWM  |  DM: .bash_profile  |  BIOS+MBR |

Offline

 

#12  2013-01-11 10:03:20

  ArnVaker - Kapelusznik

ArnVaker
Kapelusznik
Skąd: Midgard
Zarejestrowany: 2009-05-06

Re: [solved]Jak zrobić chroot z Ubuntu na Debiana?

Tamten szkic to generalnie czego innego dotyczy, ale jest już podobny art na portalu. Po prostu tam akurat pisałem też jak się chrootnąć.

Offline

 

#13  2013-05-07 18:59:32

  loop - Członek DUG

loop
Członek DUG
Zarejestrowany: 2013-02-23

Re: [solved]Jak zrobić chroot z Ubuntu na Debiana?

Czy są jakieś istotne różnice pomiędzy tymi różnymi składniami mount? Jest jakaś "słuszniejsza" od pozostałych?
Np co do /proc, Arn pisze :

Kod:

mount -t proc proc /mnt/debian/proc

Ilin:

Kod:

mount none -t proc /mnt/debian/proc

Jaka jest różnica pomiędzy proc a none?
Spotkałem się również z:

Kod:

mount -o bind /proc /mnt/debian/proc

Tak też jest poprawnie? Bo ten zapis raczej jest stosowany do montowania /dev i /sys.
No i właśnie jeżeli chodzi o /sys:
Arn:

Kod:

mount -t sysfs sysfs /mnt/debian/sys

Ilin:

Kod:

mount -o bind /sys /mnt/debian/sys

gentoo handbook:

Kod:

mount --rbind /sys /mnt/debian/sys

No i /dev:
Arn oprócz:

Kod:

mount -o bind /dev /mnt/debian/dev

daje również:

Kod:

mount -o bind /dev/pts /mnt/debian/dev/pts

Czy to oddzielne montowanie /dev/pts jest konieczne?
Gentoo Handbook natomiast podaje:

Kod:

mount --rbind /dev /mnt/debian/dev

Czy dobrze rozumiem, że użycie --rbind zastępuje właśnie to powyższe podwójne montowanie /dev/ i /dev/pts

Offline

 

#14  2013-05-08 08:21:13

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: [solved]Jak zrobić chroot z Ubuntu na Debiana?

Ja tam wszystko montuje:

Kod:

# mount -o bind /proc /mnt/root/proc
# mount -o bind /sys /mnt/root/sys
# mount -o bind /dev /mnt/root/dev
# mount -o bind /dev/pts /mnt/root/dev/pts

Różnica między --bind i --rbind

-B, --bind  --rbind
              Montuje ponownie poddrzewo w innym miejscu (tak, że jego zawartość jest dostępna w obu miejscach). Patrz wyżej.

       -R, --rbind
              Montuje ponownie poddrzewo wraz ze wszystkimi ewentualnymi montowaniami znajdującymi się poniżej, w innym miejscu  (tak,  że  jego zawartość jest dostępna w obu miejscach). Patrz wyżej.

Nigdy nie widziałem by w powyższych 4 katalogach było coś montowane (przynajmniej jeśli chodzi o live cd), temu --rbind raczej tutaj nie znajduje zastosowania.

Parametr -t:

-t, --types typ_systemu_plików
              Argument  występujący  po  -t jest używany do wskazania rodzaju systemu plików.
              ......
              Bez  podania  opcji -t lub gdy podany jest typ auto, mount postara się odgadnąć właściwy typ. Mount używa biblioteki blkid do tego celu; jeśli nie zwróci to niczego, co wygląda znajomo, mount postara się odczytać plik /etc/filesystems lub, jeśli on nie istnieje /proc/filesystems.  Wszystkie wypisane tam typy zostaną wypróbowane, z wyjątkiem tych oznaczonych jako "nodev" (np. devpts, proc i nfs). Jeśli /etc/filesystems kończy się wierszem z pojedynczą *, mount odczyta później plik /proc/filesystems.

oraz --bind vs.  -o bind

Jeśli bieżący system nie posiada pliku  /etc/mtab  lub  jeśli  jawnie zdefiniowano  źródło  i  przeznaczenie  do  polecenia ponownego montowania (a więc mount(8) nie odczyta /etc/mtab), konieczne jest użycia flagi (lub opcji) bind również do poleceń ponownego montowania. Przykładowo:

                     mount --bind stary-katalog nowy-katalog
                     mount -o remount,ro,bind stary-katalog nowy-katalog

Sam się kiedyś zastanawiałem czy te różnice w poleceniach przy tworzeniu środowiska chroot się czymś różnią i na coś wpływają. Ale wychodzi na to, że w większości wypadków się niczym nie różnią i np. przy chroot z live cd można bez problemowo użyć prostego podpięcia starego katalogu w nowe miejsce (-o mount stary nowy) i tyle. xD

Offline

 

#15  2014-08-31 13:32:58

  bass - Użytkownik

bass
Użytkownik
Skąd: Czestochowa
Zarejestrowany: 2013-05-21

Re: [solved]Jak zrobić chroot z Ubuntu na Debiana?

Dzien dobry.
Zaczne od poczatku. Ze wzgledu na "wygodnictwo" zainstalowalem narzedzie pamusb wedlug tego http://forums.debian.net/viewtopic.php?f=16&t=110813 .
Jednak zrobilem chyba cos nie tak bo narzedzie nie dziala (jestem laikiem) . Z pamieci usb moja corcia usunęła plik konfiguracyjny pam.....cos tam .
Ja natomiast nie odinstalowalem narzedzia pamusb , tylko z katalogu /home usunąłem recznie pliki i katalogi z nazwą pam....cos tam .
Po probie ponownego uruchomienia komputera i wybraniu w grubie debiana system nie wstaje! Tzn pojawia sie czarne okno z migajacym kursorem.
Obok debiana mam tez zainstalowaneg ubuntu . Chcialem zrobic chroot z poziomu ubuntu , robilem to wedlug sposobow ArnVakera i Ilina . W jednym jak i w drugim przypadku w terminalu pojawia sie "chroot: failed to run command ‘/bin/bash’: No such file or directory"
Jak moge to naprawic?!
......nie jestem biegly" w systemach linux:)

Ostatnio edytowany przez bass (2014-08-31 13:41:35)


5.15.0-3.slh.1-aptosid-amd64 #1 SMP PREEMPT aptosid 5.15-5 (2021-11-19) x86_64 GNU/Linux

Offline

 

#16  2014-08-31 13:44:11

  Pavlo950 - człowiek pasjonat :D

Pavlo950
człowiek pasjonat :D
Zarejestrowany: 2012-02-20
Serwis

Re: [solved]Jak zrobić chroot z Ubuntu na Debiana?

bass napisał(-a):

Chcialem zrobic chroot z poziomu ubuntu , robilem to wedlug sposobow ArnVakera i Ilina .

Czyli jak?

Zamontuj partycję z Debianem do /mnt/debian, a potem:

Kod:

mount -o bind /dev /mnt/debian/dev;
mount -o bind /proc /mnt/debian/proc;
mount -o bind /sys /mnt/debian/sys;
chroot /mnt/debian

Z poziomu root'a. To musi zadziałać.

Offline

 

#17  2014-08-31 13:49:08

  bass - Użytkownik

bass
Użytkownik
Skąd: Czestochowa
Zarejestrowany: 2013-05-21

Re: [solved]Jak zrobić chroot z Ubuntu na Debiana?

Robilem to tak :

root@martyna-desktop:/home/martyna# mkdir /mnt/lin
root@martyna-desktop:/home/martyna# mount /dev/sda5 /mnt/lin -rw
/dev/sda5 wygląda na przestrzeń wymiany - nie zamontowano
mount: trzeba określić system plików
root@martyna-desktop:/home/martyna# mount /dev/sda3 /mnt/lin -rw
root@martyna-desktop:/home/martyna# mount none -t proc /mnt/lin/proc
root@martyna-desktop:/home/martyna# mount -o bind /dev /mnt/lin/dev
root@martyna-desktop:/home/martyna# mount -o bind /sys /mnt/lin/sys
root@martyna-desktop:/home/martyna# cp /etc/resolv.conf /mnt/lin/etc
root@martyna-desktop:/home/martyna# chroot /mnt/lin /bin/bash
chroot: failed to run command ‘/bin/bash’: No such file or directory


5.15.0-3.slh.1-aptosid-amd64 #1 SMP PREEMPT aptosid 5.15-5 (2021-11-19) x86_64 GNU/Linux

Offline

 

#18  2014-08-31 13:57:04

  bass - Użytkownik

bass
Użytkownik
Skąd: Czestochowa
Zarejestrowany: 2013-05-21

Re: [solved]Jak zrobić chroot z Ubuntu na Debiana?

Kod:

root@martyna-desktop:/home/martyna# mount -o bind /dev /mnt/lin/dev
root@martyna-desktop:/home/martyna# mount -o bind /proc /mnt/lin/proc
root@martyna-desktop:/home/martyna# mount -o bind /sys /mnt/lin/sys
root@martyna-desktop:/home/martyna# chroot /mnt/lin
chroot: failed to run command ‘/bin/bash’: No such file or directory

Nie dziala

....debian jest zamontowany w /mnt/lin

Kod:

mount: /dev/sda3 jest już zamontowany lub /mnt/lin jest zajęty
mount: według mtaba /dev/sda3 jest już zamontowany w /mnt/lin

Ostatnio edytowany przez bass (2014-08-31 13:59:36)


5.15.0-3.slh.1-aptosid-amd64 #1 SMP PREEMPT aptosid 5.15-5 (2021-11-19) x86_64 GNU/Linux

Offline

 

#19  2014-08-31 14:09:09

  ilin - Palacz

ilin
Palacz
Skąd: PRLu
Zarejestrowany: 2006-05-03

Re: [solved]Jak zrobić chroot z Ubuntu na Debiana?

Czyżbyś nie miał basha ?

Pokaż

Kod:

ls /mnt/lin/bin | grep bash

Architektury systemów się zgadzają ?


Problemy rozwiązujemy na forum nie na PW -> Niech inni na tym skorzystają.
Polski portal Debiana

Offline

 

#20  2014-08-31 14:11:03

  bass - Użytkownik

bass
Użytkownik
Skąd: Czestochowa
Zarejestrowany: 2013-05-21

Re: [solved]Jak zrobić chroot z Ubuntu na Debiana?

Kod:

root@martyna-desktop:/home/martyna# ls /mnt/lin/bin | grep bash
ls: nie ma dostępu do /mnt/lin/bin: Nie ma takiego pliku ani katalogu

....architektury sie zgadzaja

Ostatnio edytowany przez bass (2014-08-31 14:12:13)


5.15.0-3.slh.1-aptosid-amd64 #1 SMP PREEMPT aptosid 5.15-5 (2021-11-19) x86_64 GNU/Linux

Offline

 

#21  2014-08-31 14:11:51

  ilin - Palacz

ilin
Palacz
Skąd: PRLu
Zarejestrowany: 2006-05-03

Re: [solved]Jak zrobić chroot z Ubuntu na Debiana?

Pokaż

Kod:

ls /mnt/lin

Problemy rozwiązujemy na forum nie na PW -> Niech inni na tym skorzystają.
Polski portal Debiana

Offline

 

#22  2014-08-31 14:13:14

  bass - Użytkownik

bass
Użytkownik
Skąd: Czestochowa
Zarejestrowany: 2013-05-21

Re: [solved]Jak zrobić chroot z Ubuntu na Debiana?

Kod:

root@martyna-desktop:/home/martyna# ls /mnt/lin
dev  etc  proc  sys

5.15.0-3.slh.1-aptosid-amd64 #1 SMP PREEMPT aptosid 5.15-5 (2021-11-19) x86_64 GNU/Linux

Offline

 

#23  2014-08-31 14:15:56

  ilin - Palacz

ilin
Palacz
Skąd: PRLu
Zarejestrowany: 2006-05-03

Re: [solved]Jak zrobić chroot z Ubuntu na Debiana?

Tam się nie ma co chrootować tylko system od nowa zainstalować.

Za duzo wykasowałeś :)

Kod:

 ls /
bin   dev  home        lib    lost+found  mnt  proc  run   srv  tmp  var
boot  etc  initrd.img  lib64  media       opt  root  sbin  sys  usr  vmlinuz

Pokaż jeszcze

Kod:

fdisk -l

może masz to na róznych partycjach.


Problemy rozwiązujemy na forum nie na PW -> Niech inni na tym skorzystają.
Polski portal Debiana

Offline

 

#24  2014-08-31 14:17:12

  bass - Użytkownik

bass
Użytkownik
Skąd: Czestochowa
Zarejestrowany: 2013-05-21

Re: [solved]Jak zrobić chroot z Ubuntu na Debiana?

Kod:

Urządzenie Rozruch   Początek      Koniec   Bloków   ID  System
/dev/sda1            2048   240089087   120043520   83  Linux
/dev/sda2       482107390   488394751     3143681    5  Rozszerzona
/dev/sda3   *   240089088   282683391    21297152   83  Linux
/dev/sda4       282683392   482105343    99710976   83  Linux
/dev/sda5       482107392   488394751     3143680   82  Linux swap / Solaris

.....o masakra, czyzby reinstalka?
system jest na sda3 natomiast /home na sda4

Ostatnio edytowany przez bass (2014-08-31 14:18:53)


5.15.0-3.slh.1-aptosid-amd64 #1 SMP PREEMPT aptosid 5.15-5 (2021-11-19) x86_64 GNU/Linux

Offline

 

#25  2014-08-31 14:17:54

  ilin - Palacz

ilin
Palacz
Skąd: PRLu
Zarejestrowany: 2006-05-03

Re: [solved]Jak zrobić chroot z Ubuntu na Debiana?

Jeszcze 

Kod:

cat /mnt/lin/etc/fstab

Problemy rozwiązujemy na forum nie na PW -> Niech inni na tym skorzystają.
Polski portal Debiana

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Nas ludzie lubią po prostu, a nie klikając w przyciski ;-)