chmod directory only or file only
find -type d -print0 |xargs -0 chmod 755
find -type f -print0 |xargs -0 chmod 644
find -type d -print0 |xargs -0 chmod 755
find -type f -print0 |xargs -0 chmod 644
Here are the instructions for building a hyper-v enabled linux kernel. The system I’m using is Ubuntu 9.10.
First get all the essential packages:
sudo apt-get build-dep linux
Install some more build essentials:
sudo apt-get install libncurses5 libncurses5-dev
sudo apt-get install kernel-package
Next step is to download the latest kernel packages from: http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.32/
Install them with the following commands:
sudo dpkg -i linux-headers-2.6.32-020632_2.6.32-020632_all.deb
sudo dpkg -i linux-image-2.6.32-020632-generic_2.6.32-020632_i386.deb
sudo dpkg -i linux-headers-2.6.32-020632-generic_2.6.32-020632_i386.deb
sudo dpkg -i linux-source-2.6.32_2.6.32-020632_all.deb
Update grub and reboot:
sudo update-grub
sudo reboot
Verify that you using the new kernel:
uname -a
Linux ubuntu 2.6.32-020632-generic #020632 SMP Thu Dec 3 10:58:45 UTC 2009 i686 GNU/Linux
Go the /usr/src/ and unzip the kernel source:
tar -jxf linux-source-2.6.32.tar.bz2
cd linux-source-2.6.32
Copy your current (old) kernel configuration file to the kernel source directory:
sudo cp -vi /boot/config-`uname -r` .config
Run the make menuconfig wizard
sudo make menuconfig
Enable the staging drivers

And include the hyper-v enabled drivers

Press ESC, ESC to return to the main menu’s and save the new configuration file!
Make clean and start building:
sudo make-kpkg clean
sudo fakeroot make-kpkg --initrd --append-to-version=-hyper-v kernel-image kernel-headers
You’ll find your kernel under /usr/src/
Install your kernel with: sudo dpkg -i *.deb
Update grub with: sudo update-grub
Reboot
After you’ve rebooted the system your modules are listed under: /lib/modules/2.6.32-hyper-v/kernel/drivers/staging/hv , to load them type:
sudo modprobe hv_vmbus
sudo modprobe hv_blkvsc
sudo modprobe hv_netvsc
sudo modprobe hv_storvsc
You could verify if the modules are loaded by using lsmod. Also check dmesg and /var/log/messages for any errors.
$ lsmod
Module Size Used by
hv_storvsc 21798 0
hv_netvsc 29396 0
hv_blkvsc 25207 0
hv_vmbus 43234 3 hv_storvsc,hv_netvsc,hv_blkvsc
lp 6868 0
psmouse 52658 0
iptable_filter 2199 0
serio_raw 3812 0
parport 31970 1 lp
i2c_piix4 8052 0
ip_tables 9157 1 iptable_filter
x_tables 13875 1 ip_tables
floppy 49858 0
tulip 43835 0
The following lines should be present in the /var/log/messages:
VMBUS_DRV: Vmbus initializing.... current log level 0x1f1f0006 (1f1f,6)
VMBUS: +++++++ Build Date=Dec 15 2009 06:23:59 +++++++
VMBUS: +++++++ Build Description=Version 2.0 +++++++
VMBUS: +++++++ Vmbus supported version = 13 +++++++
VMBUS: +++++++ Vmbus using SINT 2 +++++++
VMBUS: Windows hypervisor detected! Retrieving more info...
VMBUS: Vendor ID: Microsoft Hv
VMBUS: Interface ID: Hv#1
VMBUS: OS Build:6001-6.0-18-0.18016
VMBUS: Hypercall page VA=e1002000, PA=0x1f9e8000
VMBUS_DRV: irq 0x5 vector 0x35
VMBUS: SynIC version: 1
VMBUS: Vmbus connected!!
VMBUS_DRV: generating uevent - VMBUS_DEVICE_CLASS_GUID={c5295816-f63a-4d5f-8d1a4daf999ca185}
VMBUS: Channel offer notification - child relid 1 monitor id 0 allocated 1, type {32412632-86cb-44a2-9b5c50d1417354f5} instance {00000000-0000-8899-0000000000000000}
VMBUS: Channel offer notification - child relid 2 monitor id 1 allocated 1, type {32412632-86cb-44a2-9b5c50d1417354f5} instance {00000001-0000-8899-0000000000000000}
VMBUS_DRV: generating uevent - VMBUS_DEVICE_CLASS_GUID={32412632-86cb-44a2-9b5c50d1417354f5}
Precompiled kernels are here:
http://www.strengholt-online.nl/hyperv/linux-image-2.6.32-020632-hyper-v_i386.deb
http://www.strengholt-online.nl/hyperv/linux-headers-2.6.32-020632-hyper-v_i386.deb
Remark: The synthetic nic loaded by the hv_netvsc module is called seth0
Handig stukje code voor bash om een script verder te laten gaan indien een proces stopt:
while true;
do
PROCESS=`ps -A | grep xbmc.bin`
if [ "$PROCESS" = "" ]
then
echo "xbmc no longer running"
break
fi
done
Het installeren van een rsync server onder Ubuntu gaat als volgt:
Open het rsync default bestand:
pico /etc/default/rsync
Pas de volgende waarde aan naar true
RSYNC_ENABLE=true
Maak een password file aan met de volgende permissies:
chmod 600 /etc/rsyncd.scrt
Maak een rsync config bestand aan met de volgende inhoud:
/etc/rsyncd.conf
max connections = 2
log file = /var/log/rsync.log
timeout = 300
motd file = /etc/rsyncd.motd
[Music]
path = /home/xbmc/Music
comment = Music
uid = xbmc
gid = xbmc
read only = yes
auth users = xbmc
secrets file = /etc/rsyncd.scrt
Maak een welkom bestand aan:
/etc/rsyncd.motd
Welcome to my rsync server!
Vul het rsync bestand met een password:
/etc/rsyncd.scrt
xbmc:xbmc
Start rsync:
/etc/init.d/rsync start
Vanaf een andere machine content kopieren met:
rsync -aPv rsync://xbmc@192.168.0.104/Music /home/xbmc/Music
Het leeggooien van de cache op een squid proxy doe je met de volgende commandline regels:
/etc/init.d/squid stop
rm -rf /var/lib/squid/cache/*
squid -z
/etc/init.d/squid start
Mocht je de onderstaande foutmelding krijgen bij het updaten:
setting advanced power management level to 0xfe
Dit heeft te maken met het updaten van bijvoorbeeld een kernel en de nvidia video drivers. De drivers zul je na een kernel update altijd weer opnieuw moeten installeren. De handleiding voor het installeren van nieuwe drivers staat hier: http://www.strengholt-online.nl/nvidia-1851814-installeren-op-xbmc-904/
Ik heb even gekeken naar de laatste versie van Moblin en het ziet er goed uit. Het systeem werkt snel en zou een ideale kandidaat zijn voor bijvoorbeeld de kleine nettops zoals de Asus EEE pc. Moblin is een kleine Linux distributie ontwikkeld door Intel. Zie voor meer informatie http://www.moblin.org


In deze handleiding ga ik stap voor stap uitleggen hoe je veilig over het internet kan surfen vanaf bijvoorbeeld een kantoorplek of verbinding kan maken een externe computer vanaf kantoor. We gaan dus poorten openen die normaal op het kantoor dicht zitten! Het uiteindelijke doel is een verbinding te creeren die zowel versleuteld is, als dat het voor het kantoor niet mogelijk is te achterhalen welke websites of adressen zijn bezocht. Wat nodig is; is kennis van Linux, netwerken en eventueel proxy’s.
De allereerste stap is ervoor te zorgen dat ergens op het Internet een Linux server draait. Dit kan de XBMC Media Center thuis zijn of in een datacenter. Verder kan dit fisiek of virtueel zijn. Het belangrijkste is dat poort 443 beschikbaar gemaakt wordt.
In dit voorbeeld heb ik gekozen voor Ubuntu Jeos, maar XBMC werkt uiteraard ook!
http://www.ubuntu.com/products/whatisubuntu/serveredition/jeos
De installatie is zeer klein en bij uitstek om bijvoorbeeld virtueel geinstalleerd te worden.
Na de installatie loggen we in via bijvoorbeeld SSH en gaan we de SSH poort veranderen waarop SSH draait. We kunnen dit doen door het bestand /etc/ssh/sshd_config te openen. We zoeken dan de regel #Port op en veranderen deze naar Port 443
Sla het bestand op en herstart de ssh deamon met het commando /etc/init.d/sshd restart
Als we nu opnieuw willen inloggen is het noodzakelijk om de ssh port naar 443 aan te passen, zoals in het onderstaande voorbeeld is te zien:

Controleer of deze aanpassing goed werkt. Vanaf elders moet er nu verbinding gemaakt kunnen worden op port 443. Eventueel moeten de nodige poorten worden geforward van de router/modem naar de Linux omgeving. Zorg dat dit allemaal klopt en werkt.
Als dit werkt kunnen we wederom weer een stapje verder. We gaan nu naar de situatie op kantoor. Controleer wat de proxy gegevens van het kantoor zijn. Deze zijn op te vragen vanuit Internet Explorer. Ga naar Tools -> Internet Options -> Tabblad Connections -> Lan Settings. De proxy instellingen die hier gevonden worden moeten worden overgenomen en worden aangevuld op het proxy tabblad binnen putty. Zijn er geen proxy gegevens of zijn de instellingen leeg, dan laten we putty voor wat het is. We laten de waarde dan op none staan.

Probeer nu verbinding te maken met de Linux omgeving. Als dit lukt is er een grote stap gezet. We hebben nu verbinding op gezet met een computer van bijvoorbeeld het kantoor naar de Linux omgeving. De Linux omgeving zal de rest van de verbinding gaan verzorgen. Dit wordt uitlegd in de volgende stappen.
Sluit putty af en open wederom putty. Ga nu naar het Tunnels gedeelte. Wat we hier gaan invoeren is de brug naar het Internet. De Linux omgeving staat hier feitelijk tussenin als brug van de pc op bijvoorbeeld kantoor naar een ander adres op het Internet. In dit voorbeeld wil ik mijn Windows computer overnemen met Remote Desktop. Het adres van deze Windows computer is in dit voorbeeld 123.123.123.123. De lokale poort die we gaan toewijzen is 8000 en Remote Desktop is altijd te benaderen op poort 3389. We koppelen in dit geval dus 8000 aan 123.123.123.123:3389. Zie het onderstaande voorbeeld. Vul alles correct in, klik op “add”, ga terug naar het hoofdscherm van putty en sla alles op. Maak wederom verbinding.

Als we nu verbinding maken met de Linux omgeving is de brug een feit. We kunnen nu op de tunnel inloggen. Open Remote Desktop. Vul nu in localhost:8000 en klik op connect. We maken nu dus feitelijk verbinding met 123.123.123.123:3389!

Een vervolg stap zou zijn om op de Linux omgeving ook een proxy server te installeren. Kijk hiervoor naar mijn handleiding: http://linux.strengholt-online.nl/squid.htm
Voor ubuntu zijn het de volgende stappen:
sudo apt-get install squid
Open het bestand /etc/squid/squid.conf en voeg/verander de volgende regels:
Belangrijk! Afhankelijk van de proxy zullen bepaalde poorten wel of niet gaan werken. Ik heb er voor gekozen om mijn proxy op poort 80 te laten draaien om er zo verzekerd van te zijn dat mijn proxy altijd te bereiken is!
auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/passwd
acl piethein proxy_auth REQUIRED
http_access allow piethein
http_access deny all
http_port 80
Sla het bestand op en maak nu een nieuw wachtwoord aan voor de opgegeven gebruiker. In dit voorbeeld piethein:
htpasswd -c /etc/squid/passwd piethein
Herstart nu de proxy met:
/etc/init.d/squid restart
Zodra de proxy is geinstalleerd kunnen we deze uiteraard ook tunnelen. Ga naar de Tunnels optie in putty. Voeg een nieuwe regel toe; bijvoorbeeld 9000 koppelen we aan 123.123.123.123:80.
Maak opnieuw verbinding. Pas de proxy gegevens van de browser aan zoals in het onderstaande voorbeeld:
(Handiger is wellicht om een tweede browser te installeren.)

En test of alles naar behoren werkt. Wat we nu hebben bereikt is dat we niet gebruik maken van de proxy server op kantoor maar van de proxy server van de Linux omgeving. Niemand komt nu ooit te weten welke adressen we hebben bezocht! Bijkomend voordeel is dat verbinding ook versleuteld is!
Unrarren van meerdere bestanden onder Linux doe je het met volgende commando:
find -type f -name '*.rar' -exec unrar x {} \;
Onder mijn Ubuntu installatie had ik steeds het volgende probleem bij het draaien van een apt-get update: The following signatures couldn’t be verified because the public key is not available
De oplossing heb ik uiteindelijk gevonden door het installeren van de juiste key. De stappen die nodig zijn:
In terminal run:
gpg --keyserver keyserver.ubuntu.com --recv-keys $KEY
then
gpg --export --armor $KEY | sudo apt-key add -
where $KEY is key value you have missed. Do those 2 commands for each repository which you have problem.
Recent Comments