onsdag den 26. oktober 2011

Tiny Core Linux, Frugal install

Ved "Frugal install" overføre man systemet til en harddisk ved en permanent installation.

Systemet installeres på en partition (tce/) og bruger defineret data kopieres hertil ved system nedlukning for derefter at blive pakket ud igen ved system opstart.

Denne metode fungere ikke hvis man har brug for at gemme store mængder dynamisk data. Opstart og nedlukning ville simpelt hen blive for langsom.
Derfor er der også mulighed for at gemme dem på en partition for sig selv, på et andet skrivebart medie (home/). Derefter exskludere mediet fra system backup/restore. Det samme gælder for tilføjelser til systemet (opt/).

Der er på den måde jeg arbejder dog sjældent behov for en hel partition til opt/ så den kan udelades og ellers inkluderes i system restore via .filetools.lst

Linux håndtere dårligt at løbe tør fra hukommelse, så ønsker du en permanent installation skal du også oprette SWAP partition. Du kan roligt placere SWAP partitionen på den samme disk som systemet da systemet primært køre fra hukommelsen.

En typisk installation ville være på to diske tce/ og home/. Der kræves ikke meget af system disken da det køre fra hukommelsen og SWAP hurtigst muligt skal afhjælpes med system optimering eller mere hukommelse.
Find derfor en lille hurtig disk til system og brug den primært til SWAP, så kan du gå efter en solid løsning til dit data katalog home/.

Et godt setup kunne være 1x10GB til system og SWAP, 1x1TB til data samt 4GB RAM

Boot med multi core image for at få fuld netværk understøttelse og installations værktøjer.

Efter boot skal diskene partitioneres med fdisk fra en terminal. Som udgangs punkt kan SWAP max være 64GB.
(som root)
  #fdisk /dev/sda
  >n (ew)
  >p (rimary)
  >1 (id)
  >1 (start sector)
  >+2000G (bytes)
  >n
  >p
  >2
  >  (default næste ledige sektor)
  >+8000G (default sidste sektor)
  >t (type set)
  >2 (id)
  >82 (type swap)
  >w (rite)
  #fdisk /dev/sdb
  >n
  >p
  >1
  >1
  >  (default sidste sektor)
  >w

Formater diskene med deres filsystemer.

  #mkfs.ext4 /dev/sda1
  #mkfs.ext4 /dev/sdb1
  #mkswap /dev/sda2

start installation
(som bruger)
  $tc-install

Klik "Tiny Core" og find det system der skal installeres på dit boot medie fx /mnt/sr0/boot/tinycore.gz
Lad "Frugal" være og klik "Existing partition".
Vælg system partitionen fx /dev/sda1 og marker den som "bootable" nederst.
Når du klikker videre advares der om farene, hvis du har flere systemer på dine diske. På det næste skærmbillede er der ikke behov for at formatere diskene.

Nu er det tid til at tilføje boot parameter til at bestemme system opsætning. Til eksemplet tilføjer jeg bare home=sdb1

Det vil få TCL til at ligge system bruger data på /dev/sda1 under /mnt/sda1/tce så /home ikke indgår som en del af systemet.
Denne opsætning giver kun mening hvis man fjerner home/ fra .filetools.lst for ikke at få kopieret /home over i /mnt/sda1/tce/mydata.tgz som en del af system backup!
Der skal af denne årsag også fortages seperat data backup af /home. Ved denne backup bør man tage mydata.tgz med, fx ved at kopier filen over i /home efter vær system backup, så har man den under alle omstændigheder på to diske.

Andre ændringer til boot parametre kan fortages senere i /mnt/sda1/boot/extlinux/extlinux.conf

torsdag den 20. oktober 2011

USB nøgle med ext2 i Windows

Ext2Fsd er en open source linux ext2/ext3 file system driver til Windows systems fra win2000 og op.

Nyeste version kan hentes her

onsdag den 19. oktober 2011

Tiny Core Linux

TCL er som udgangspunkt tiltænkt stand alone eller single user systemer med henholdvis ingen og lidt bruger data. Disse kan så bootes fra diverse media fx usb nøgler.
For større permanent data lager til fx multi user eller service og applikations servere kan der bootes med "persistent" home katalog, der mountes eksternt fra resten af systemet.

Ved opstart kopiers systemet fra tinycore.gz til hukommelsen og system filerne overskrives fra backup. På den mådes sikres det at systemet altid er som på installations tidspunktet og at systemet køre hurtiger, da det gangske simpelt kun eksistere i hukommelsen.
 
Ved ændringer i system filer skal disse filer noteres på en liste, hvorfra der tages en system backup. Filer i denne backup vil blive kopieret tilbage over i systemet efter boot.
System backup fortages enten på foranledning af brugeren efter en rettelse eller ved system genstart.

Har man mange rettelser eller vil man lave sit eget system tager det ikke mange minutter at lave et nyt image man kan boote fra. Det er vigtigt for at opretholde en høj system integritet og ikke få for mange filer i sin system backup.

Programmer og applikationer tilføjes systemet via TCL's egen pakke manager. I TCL kaldes de for "extensions" da de tilføjes som en del af systemet og behandles på samme måde.

Tiny Core linux kommer i tre forskellige versioner

  Micro Core 8,2Mb Uden X
  Tiny Core 12Mb Med X
  Multi Core 48Mb Micro, Tiny og Multi Core images,

Multi Core indeholder alt fra de to andre images indklusiv udvidet netværk og installations værktøjer.

søndag den 16. oktober 2011

Frugal install, TCL

Ved "Frugal install" overføre man systemet til en harddisk ved en permanent installation.

Systemet installeres på en partition (tce/) og bruger defineret data kopieres hertil ved system nedlukning for derefter at blive pakket ud igen ved system opstart.

Har man brug for permanent fler bruger data, er det også mulighed for at gemme dem på en partition på et andet skrivebart medie (home/). Det samme gælder for tilføjelser til systemet (opt/).

Der er på den måde jeg arbejder dog sjællent behov for en hel partition til opt/ så den kan udelades og ellers indkluderes i system restore via .filetools.lst

Linux håndtere dårligt at løbe tør fra hukommelse, så ønsker du en permanent installation skal du også oprette SWAP partition. Du kan roligt placere SWAP partitionen på den samme disk som systemet da systemet primært køre fra hukommelsen.

En typisk installation ville være på to diske tce/ og home/. Der kræves ikke meget af system disken da det køre fra hukommelsen og SWAP hurtigst muligt skal afjælpes med system optimering eller mere hukommelse.
Find derfor en lille hurtig disk til system og brug den primært til SWAP, så kan du gå efter en solid løsning til dit data katalog home/.

Et godt setup kunne være 1x10GB, 1x1TB diske og 4GB RAM

Boot med multi core image for at få fuld netværk understøttelse og installations værktøjer.

Efter boot skal diskene partitioneres med fdisk fra en terminal. Som udgangs punkt kan SWAP max være 64GB.
(som root)
  #fdisk /dev/sda
  >n (ew)
  >p (rimary)
  >1 (id)
  >1 (start sector)
  >+2000G (bytes)
  >n
  >p
  >2
  >  (default næste ledige sektor)
  >+8000G (default sidste sektor)
  >t (type set)
  >2 (id)
  >82 (type swap)
  >w (rite)
  #fdisk /dev/sdb
  >n
  >p
  >1
  >1
  >  (default sidste sektor)
  >w


Formater diskene med deres filsystemer.

  #mkfs.ext4 /dev/sda1
  #mkfs.ext4 /dev/sdb1
  #mkswap /dev/sda2

start installation
(som bruger)
  $tc-install

Klik "Tiny Core" og find det system der skal installeres på dit boot medie fx /mnt/sr0/boot/tinycore.gz
Lad "Frugal" være og klik "Existing partition".
Vælg system partitionen fx /dev/sda1 og marker den som "bootable" nederst.
Når du klikker videre advares der om farene, hvis du har flere systemer på dine diske. På det næste skærmbillede er der ikke behov for at formatere diskene.

Nu er det tid til at tilføje boot parameter til at bestemme system opsætning. Til eksemplet tilføjer jeg bare home=sdb1

Det vil få TCL til at ligge system bruger data på /dev/sda1 under /mnt/sda1/tce så /home ikke indgår som en del af systemet.
Denne opsætning giver kun mening hvis man fjerner home/ fra .filetools.lst for ikke at få kopieret /home over i /mnt/sda1/tce/mydata.tgz som en del af system backup!
Der skal af denne årsag også fortages seperat data backup af /home. Ved denne backup bør man tage mydata.tgz med, fx ved at kopier filen over i /home efter vær system backup, så har man den under alle omstændigheder på to diske.


Andre ændringer til boot parametere kan fortages senere.

lørdag den 15. oktober 2011

Engarde linux i VirtualBox (eepro100 module problem)

Når du installere Engarde linux i VirtualBox kan den ikke finde netkortet.

#grep eth0 /etc/modprobe.conf
Viser den bruger modulet eepro100.

#dmesg | grep eepro
Viser at den ikke kan finde det.

På en anden virtual maskine  der køre unity linux virkede netkortet automatisk, et hurtigt kig her viser at den bruger e1000.

Ret modprobe.conf og modules.conf

Herefter finder en #modprobe e1000 adapteren, kan igen kontrolleres med en #dmesg

Tilføj adapteren permanent 
#echo '

iface eth0 inet static
  address 192.168.1.2
  netmask 255.255.255.0
  network 192.168.1.0
  broadcast 192.168.1.255

' >>  /etc/network/interfaces

Genstart netkortet 
#/etc/init.d/network restart

Brug herefter webtool

tirsdag den 11. oktober 2011

Billede galleri

Jeg har i mange år overvejet at skrive mit eget dynamiske billed galleri, baseret på fil struktur. Sidst jeg var ved det blev jeg talt fra det og har siden spildt tiden på at finde en holdbar en løsning.

Efter nogle dages programmering på programmet jeg har valgt at kalde webgal, er jeg nu nået til et så godt resultat, at det gamle galleri nu bliver vist heri.

Du kan finde det på www.aoit.dk/webgal.

Beskrivelse af programmet følger...

torsdag den 1. september 2011

Verbatim External 2 disk RAID in linux?

Looking for a backup drive I came across the Verbatim external 2 disk RAID and I was wondering how well it was supported by linux. Not being able to find an answer I picked it up anyway convinced I could get it to work to my satisfaction. But it proved to work with no fuss running via the USB2 with ext3 filesystem.

I chose the ext3 files system because of the ability to preserve unix file permissions and the ability to journal write operations, this eases the restoring process and insures data integrity in case of write interruptions, it is after all a USB disk.

The rest of this post will cover typical disk prep and setup in linux in relation to the Verbatim External 2 disk RAID system.

DONT TOUCH anything before you make a backup. The software that comes with the RAID system is on the system it self and will be wiped if RAID settings are changed and the system booted with the new settings.
Plug in the RAID system, it will behave as a USB storage device.
Copy the files to a local destination.
Unmount the device.
Power off the device.

Change the RAID switch on the back to the desired position, "RAID-1" for mirroring.
Power on the device.
Locate the device
#ls /dev/sd*

Create partition.
#fdisk /dev/sdX
>n
>p
>1

Format partition.
#mkfs -t ext3

Label partition.
#e2label /dev/sdb1 bck0

Reload USB storage.
#modprobe -r usb_storage ; modprobe usb_storage

Set permissions on mount point.
#chown .backup /media/bck0
#chmod 775 /media/bck0

Assign user to proper group.
#usermod -a -G backup {USER}

The system is now ready for user backup. Usually done with rsync.
$rsync -ar ~{USER}/ /media/bck0/abo/ 1&>2

onsdag den 18. maj 2011

Broken link checker

Getting my websites up and running again and creating new ones have let to the need for some webmaster tools. One thing thats needed is a way to monitor if links are still valid and once again unix provides a program "linkchecker" that can perform this task in simple way so input and output can be manipulated by other programs each doing there little thing.
You can find more information on the program at sourceforge.net

I have made a setup with a shell script generating an index page for the websites to monitor and a short description of their check result.
From here you can go to the check result for the website in concern.

You can see my setup at AOit.dk and the script below. In the script I have restricted the recursion level to 1. Look further down for an example of automatic ftp upload one could add to the script.
#!/bin/bash

title="YOUR TITLE";
sites="WEBSITE.TO.MONITOR0 WEBSITE.TO.MONITOR1";

for site in $sites
do
linkchecker --no-status -r1 -ohtml http://${site} | sed "s/<h2>LinkChecker 6.2<\/h2>/<h3>AOit link check<\/h3><b>Current website $site<\/b>/g" | sed 's/LinkChecker comes with ABSOLUTELY NO WARRANTY!//g' | sed 's/This is free software, and you are welcome to redistribute it//g' | sed "s/under certain conditions. Look at the file \`LICENSE' within this//g" | sed 's/distribution.//g' | sed 's/<br><br>Start/Start/g' > link_chk_${site}.html
done

echo '
<html>
<head>
<title>
'${title}'
</title>
</head>
<body>
<h3>'${title}'</h3>
<hr>
Last run time:<pre> '`date -R`'</pre><p>
Sites monitored:
<ul>
<pre>' > link_chk.html

for site in $sites
do
echo -n '<li><a href=link_chk_'${site}'.html>'${site}'</a></li>' >> link_chk.html
grep "That's it." link_chk_${site}.html | sed "s/That's it.//g" >> link_chk.html
echo '' >> link_chk.html
done

echo '
</ul>
<hr>
<a href=http://aoit.dk/redirect.html>www.AOit.dk</a>
</body>
</html>
' >> link_chk.html

If you would like it to upload the link check result to your website you could add something like the below to the script.

ftp -i -n << eof
open HOSTNAME
user USERNAME PASSWORD
cd PUBLIC_DIR/link_chk
mput *.html
bye
eof

It can take time to check all the url's so i also added an email notice upon finish.
cat link_chk.html | mail -s 'Broken links report' -aFrom:linkchecker@aoit.dk abo@aoit.dk
Now all thats left to do is to add it to the crontab if one fancy.
Hope this will lead to not spending hours looking for the right link checker to do the job or spending hours writing your own as "linkchecker" can proberly do the job for you as it did for me.

fredag den 6. maj 2011

AO WebTools

A framework of independent website services to create a multi functional website. The framework consist of three tools: AOSideMaker, AOGalleryMaker and AOShopMaker.
Each of the tools can be used independently and each of the services provided by the tools inter linked with each other. The tools all use CMS to control their appearance and blend together.
A closer description of the three tools

søndag den 1. maj 2011

xlinks, forskellig browser opførsel for grafiske "input buttons" i HTML

Der har været et problem med forskellig browser opførsel når man brugte input type image som knap i HTML. Nogen gange var det som værdier ikke blev sendt med.
Det var første gang opserveret i "Opera" web browseren men det blev ikke givet meget tanke da "Firefox", "Chromium" and Dooble" alle opførte sig som forvendtet.
Men efter en opdatering af "Firefox" blev det klart at det ikke bare var et tilfælde af fjollet opførsel da den pluslig opførte sig som "Opera".

En lille opklaring viste at de forventede variabler fra input ikke indeholdte noget data.
Jeg har altid brugt HTML input type image som en hvilket som helst anden input type og brugt "name" attributen til at opløse dens værdi. Men ved at grave lidt dybere hos 3w fandt jeg ud af at typen faktisk bliver behandlet som et "clickable map" der sender to variabler $name.x $name.y, hvis der ikke gives noget navn er det bogstavligt 'name.x' and 'name.y'. Hvis der ikke bliver klikket på "clickable map"  men der istedet bruges enter bliver værdierne der returneres af $name.x and $name.y 0 for alle "input type image" i den pågældene form. Det gør det svært at finde ud af hvilket billede der blev valgt.

"Logikken" bag de to forskellige opførselser er også nedarvet af alternativ tekst funktion, hvor nogle browsere gør den "clickable" og herved anerkende brugen som submit knap, mens andre ikke vil.

Sammenholdt med et virsuelt fortolkings problem med input type image at funktionen ikke er ønsket som submit knapper i HTML

Det skal ydermere noteres at i nogen programmerings sprog vil variabel blive sendt som $name_x og $name_y.

fredag den 29. april 2011

xlinks, Første del klar

En ny service på AOit.dk er nu klar til at blive testet.
Målet med servicen er at gemme kategoriseret data og presentere det som information i HTML format.
Servicen kan bruges som et "content management system" (CMS) til at opbygge og vedligeholde hjemmesider.
Det er i øjeblikket "management" delen der er klar, men jeg tænkte det var rart med noget feedback mens jeg arbejde på presentations delen.

En lille beskrivelse af programmet.
  • Siderne opbygges efter "Kategori", "Underkategori og "Emne".
  • En indholds fortegnelse generes så herefter, hvor man kan gå direkte til indholdet.
  • For hver type af side (over- under- emne) kan der valgfrit skrives en tekst med billede.
  • Sider er kun afhængige opefter. Fx Kan der oprettes en "Kategori" uden "Underkategori" eller "Emne", eller der kan oprettes en "Kategori" og "Underkategori" men uden "Emne".
  • Dokumenterne holdes simple i strict HTML der gør at de er yderst interplatforms kompatible.
  • Formateringen vil følge side typerne "Kategori", "Underkategori" og "Emne".
  • Seperat opsætning af layout og formatering via CSS


Gå til xlinks

tirsdag den 5. april 2011

First post, en opdatering fra AOit

Velkommen til weBLOG for AOit

    Der sker en hel masse men her er status på noget eksisterende.
  • GCstat står stille, teknisk grænse noget, der udtænkes en premium version som inkludere en GC database som i øjeblikket køre i data test, men hele projektet skal kick startes på ny.
  • xLinks køre som det skal i første omgang og der tilføjes jævnligt nye links. Servicen er forberedt til "rating" og link beskrivelser, denne del ligger dog stille da behovet for nu er nået.
  • My-Droid er lukket for offentligheden for jeg bedere kan koncentrere mig om andet. Kommer til at indeholde opsætninger og fortrukne apps.
  • Udviklingen af vejrkort til Android er stoppet da DMI's nye app udfylder behovet.
Baggrunden for opslag og artikler her på AOit er mine mere end sidste ti års erfaringer i drift og brug af LAMP platformen til at løse et utal af opgaver. En platform der består af Linux, Apache, MySQL og PHP. Alle fire frit og åben software og til at presentere data som som information bruger jeg HTML til formatering og CSS til layout.