Välkommen till linuxportalen.se!

Linuxportalen.se är Sveriges största och aktivaste webbplats för användare av öppen- och fri programvara.

Du besöker Linuxportalen.se som gäst vilket begränsar din möjlighet att använda webbplatsens alla funktioner. Genom att registera dig som medlem får du inte bara möjlighet att söka bland webbplatsens innehåll, skapa nya och delta i befintliga diskussioner, skapa din egen blogg, kommunicera med andra medlemmar genom privata meddelanden och delta i omröstningar. Du får också tillgång till Veckans Kadavro - en seriestrip unikt skapad för Linuxportalen.se!

Registeringen sker snabbt och är helt kostnadsfri - tveka inte, bli medlem idag!

Virtuella lösningar, inte bäst jämt!

Åtminstone, inte enligt mig.

Kör Ubuntu 11.04 på min netbook. Har dock flera linuxsystem jag kan chroota till eller starta från GRUB. Chansade för ett tag sedan att köra en dist-upgrade från Maverick till Natty, trots att jag hade tredjepartsrepos tillagda och nu efter diverse tester fungerar mitt lek&hobby system som det ska!

Och jag har behov av att köra en simulerad produktionsserver hemma där jag kan testa en del kod, en testserver! Funderade kring att köra Debian Squeeze i Qemu alternativt i Virtualbox, känns dock lite onödigt när jag bara kunde bygga ett chrootat system från scratch och vmware server är inget alternativ att installera på min netbook asus Eee Pc 1001.Den har varken speciellt mycket ramminne eller en bättre processor. Kan dela med mig av hur jag gjorde om någon annan också vill leka med inbyggda system. Personligen tycker jag det är ganska "skoj" Observera skriver hur jag gjorde i mina paranteser, men det är valfritt att göra på ett annat sätt. Finns möjlighet att bygga andra chrootade system än de jag gjort, och det finns olika sätt att göra samma saker!(observera följande använder inte sudo före mina kommandonn, har skrivit sudo su - en gång bara)

För det första installera dchroot och debootstrap( apt-get install dchroot debootstrap)

Redigera filen /etc/schroot/schroot.conf (nano /etc/schroot/schroot.conf)

Själv ville jag ha ett Debian Squeeze-system!Om du också vill ha det kan du lägga till följande rader!

[squeeze]
description=Debian squeeze (stable) 32-bit
directory=/var/chroot/Debian
groups=sbuild-security
aliases=stable
personality=linux32
 

Sen skapar du mappen /var/chroot/Debian(mkdir /var/chroot && mkdir /var/chroot/Debian)

Sen kör du exempelvis följande kommando(debootstrap --variant=buildd --arch i386 squeeze /var/chroot/Debian/ http://ftp.se.debian.org/debian)

Voila, det tar ett tag sen bör du om allt gick rätt ha ett fungerande system!

Skriv ett initscript ( nano /etc/init.d/Chroot-Debian && chmod +x /etc/init.d/Chroot-Debian && update-rc.d Chroot-Debian defaults)

Skriv scriptet (/etc/init.d/Chroot-Debian)

#!/bin/bash

CHROOT=/var/chroot/Debian
mount -t devpts devpts $CHROOT/dev/pts
mount -t proc proc $CHROOT/proc
chroot  $CHROOT /etc/init.d/ssh start
chroot  $CHROOT /etc/init.d/apache2 start
chroot  $CHROOT /etc/init.d/mysql start

Gå in som root i det chrootade systemet utan att skriva in lösenord Smile ( mount -t proc proc /var/chroot/Debian/proc && mount -t devpts devpts /var/chroot/Debian/dev/pts && chroot /var/chroot/Debian /bin/bash)

Du är inne och kan göra som mig( passwd root && apt-get update && apt-get install nano)

Om du vill systemets uppdateringar ska flyta på snabbare gå in och redigera /etc/apt/sources.list (nano /etc/apt/sources.list)

Ändra

deb http://ftp.us.debian.org/debian squeeze main till deb http://ftp.se.debian.org/debian squeeze main

Uppdatera systemet (apt-get update && apt-get upgrade && apt-get dist-upgrade)

Installera och konfigurera locales ( apt-get install locales && dpkg-reconfigure locales) Välj alternativ 379 sv_SE.UTF-8)

lägg till en användare( adduser valfri)

Lägg till en lampserver med stöd för python, perl och med phpmyadmin ( apt-get install mysql-server mysql-client apache2 php5 libapache2-mod-php5 phpmyadmin perl libapache2-mod-perl2 python libapache2-mod-python ssh)

Redigera filen /etc/ssh/sshd_config(nano /etc/ssh/sshd_config)

Ändra Port 22 till Port Valfri ändra PermitRootLogin yes till PermitRootLogin no

Spara ändringarna. (/etc/init.d/ssh restart)

Skriv exit! Kolla att du verkligen är ute ur ditt chrootade system och inne i ditt vanliga ibland kan man behöva skriva exit flera ggr!

Nu kan du starta servicen (/etc/init.d/Chroot-Debian start)

Skriv, var en normal användare och redigera .bashrc ( cd ~ && nano .bashrc)

Lägg till följande rad

alias DebianChroot='ssh valfri1@localhost -p valfri2'

Byt ut valfri1 mot din användare och valfri2 mot porten du valde ssh-servern skulle använda. Stäng terminalen starta en ny skriv DebianChroot, du bör nu kunna logga in i ditt chrootade system över ssh som en normal användare för att få root-acess skriver du su - följt av lösenordet

Fördelarna är flera sänker du ditt nya system så bör ditt vanliga system inte påverkas av detta! Vill du kunna köra program grafiskt lägg till följande i .bashrc hos din rootanvändare och normala användare i det chrootade systemet

export DISPLAY=:0.0

Lycka till!

Alternativ för kommentarvisning

Välj ditt önskade sätt att visa kommentarerna och klicka på "Spara" för att verkställa dina ändringar.

extons bild

Innovativt, intressant och lärorikt.

Har jag förstått dig rätt om jag säger att Debian Squeeze-systemet skapas i Ubuntu 11.04-systemet? Måste jag i så fall genast testa!

Vad ska det stå ovan där "smileyn" nu finns?

LINUX.EXTON.NET

tomasuus bild

Det ska vara en vanlig smiley : ) utan mellanslag emellan!

Ja du förstår mig helt rätt squeeze systemet skapas inne i ubuntu 11.04 systemet Smile

extons bild

Jag följde din beskrivning. Allt verkade gå som på räls, men när jag till slut körde kommandot (som vanlig användare) DebianChroot fick jag felet:
ssh: connect to host localhost port 21: Connection refused

Vad kan ha blivit fel?

LINUX.EXTON.NET

tomasuus bild

Testa skriv

lsof -i | grep sshd

Den bör hitta din ssh-tjänst som är igång på den porten du valt, kanske har du två ssh-tjänster igång på samma port! En i grundsystemet samt en i det chrootade, bara en tanke jag har!

extons bild

Nej, tyvärr spelar det ingen roll vilken port jag väljer. Samma felmeddelande visas.

Kommandot lsof -i | grep sshd ger inget alls.

LINUX.EXTON.NET

tomasuus bild

Ok om lsof -i | grep sshd, inte visar någonting så visar det att ssh-tjänsten inte är igång! testa skriv sudo /etc/init.d/Chroot-Debian start. Det kanske löser det hela kör sen lsof -i | grep sshd

Igen, denna gång bör den visa att du har tjänsten igång på port 21 om allt annat är rätt!
 

extons bild

Nu fungerade det. Tack! De ska bli väldigt intressant att se vad jag kan göra med det här.

Jag var helt säker på att jag startat ssh-tjänsten även förra gången. Då gjorde jag det dock direkt som root. Borde väl inte ha någon betydelse?

Sedan jag nu startat ssh-tjänsten gav ändå inte kommandot lsof -i | grep sshd något.

Hur som helst är jag nu inne i mitt Debian Squeeze-system.

LINUX.EXTON.NET

extons bild

En annan sak: När jag försöker köra Leafpad i mitt chrootade system så får jag cannot open display trots att jag lagt till
export DISPLAY=:0.0 i .bashrc?

LINUX.EXTON.NET

tomasuus bild

Du kan testa att skriva något av dessa alternativ i .bashrc i homemappen på root eller i homemappen för normalanvändaren istället för export DISPLAY=:0.0

 export DISPLAY=localhost:1 eller export DISPLAY=127.0.0.1:1

Fungerar eventuellt annars att skriva detta /etc/.profile också! Eventuellt kan du behöva installer xhost samt xnest inne i det chrootade systemet(apt-get install xnest xhost) Lägg då till denna rad i .bashrc eller /etc/.profile

Xnest -ac :1

Alternativt kan du testa skriva leafpad  -DISPLAY=:0.0

extons bild

Jag har nu testat alla alternativ. Inget fungerade tyvärr. xnest och xhost kan inte installeras. D v s paketen finns inte.

Inte heller leafpad -DISPLAY=:0.0 funkade.

LINUX.EXTON.NET

tomasuus bild

Hm, då vet jag inte vad som felar, kanske fungerar det om det står följande i .bashrc men utan xhost så antar jag det blir problem. Det kan vara så att det är ett ubuntuspecifika paket xhost och xnest! Eventuellt att de tillhandhålls för squeeze av någon annan mirror eller heter något annat!

DISPLAY=:0.0 xhost +

Hoppas du får igång det grafiska, posta gärna i så fall hur du gjorde här. Mitt squeeze system behöver jag inte köra något grafiskt till. Har dock tillämpat liknande lösningar till mina andra system som jag chrootar till och där kan jag köra saker grafiskt från andra system!

 

extons bild

Jo, jag fick till det till slut.

Det visade sig att xhost fanns i Debian Squeeze trots allt. Och xnest kunde också installeras. Grejen var dock att xnest måste installeras och köras i värdsystemet. (I detta fall i Ubuntu 11.04). Dessa kommandon fungerade:
Xnest -ac :1 (alltså utanför chroot)
DebianChroot
export DISPLAY=localhost:1
leafpad
Leafpad startade då upp fint i Xnest.

Det nyssnämnda fungerar (sannolikt) med alla grafiska program i "chrootläge".

 

 

LINUX.EXTON.NET

tomasuus bild

Kul att du fick det att fungera!

Hoppas du hittar ett roligt användningsområde till systemet! 

 

extons bild

Jag roade mig med att installera Gimp i det chrootade systemet. Så här ser det ut när Gimp körs i Xnest - skärmdump.

Tillägg lite senare
Jag testade också för skojs skull att chroota in i ett annat linuxsystem (PCLinuxOS) från Ubuntu 11.04. Det här med Xnest fungerade (givetvis) också då.

LINUX.EXTON.NET