2005/04/15

Increasing productivity

Wanna load a bunch of users/passwords to your system? Wanna auto-generate mailman lists? Wanna concentrate all your weekly backups on a single server directory? Wanna batch? Got it! But only on text-based systems (read x-based OSs). If you manage IT facilities, YOU WILL NEED:

* cron, at, batch

* man man

* perl, bash

And some specific tools examples:

* chpasswd, sed, awk, rsync, scp

* mailman: all in /bin dir. sync_members will save you days if you schedule it with your /etc/passwd or adduser changes!

* sendmail: m4, makemap

* apache: mod_auth_pam, if you wanna simplify managing and have a LDAPping-Krb alternative

* Windows admins: Have you tried bash tools on your cmd.exe line?

X-based servers are in a highly mature state. They had evolved to satisfy most common administrative requests. Just search.

A quote from "A quarter Century of Unix" by P Salus" states, quoted from Simone Demblon :)

* write programs that do one thing and do it well.
* write programs that work together
* write programs that handle text streams, because that is a universal interface

Cheers!

2005/03/03

Detailed Linux Boot Process

Linux boot process is based, among others, on the System-V filed structure. Can read more on this article.

http://www.ccoss.org/tutorials/lfs/Linux_from_Scratch_A_Tour.htm

Fedora boot process, in more detail:

http://openskills.info/infobox.php?ID=228

2005/02/16

High leveling common tools

Tools like bash worths a "man bash" reading. You can even make recursive scripts! Lets play...
#!/bin/bash

function generalista ()
{
if [ $1 == "0" ] || [ $1 == "1" ]
then
echo 1
else
VARF=$(($1-1))
echo $VARF
generalista $VARF
fi
}

if [ "$#" == "1" ]
then
if [ $1 -ge 0 ]
then
time LISTA=$(generalista $1)
echo El factorial es el producto de los factores de esta lista : $LISTA
FACTORIAL=1;
for FACTOR in $LISTA
do
TEMP=$(($FACTORIAL*$FACTOR))
FACTORIAL=$TEMP
done
echo Entonces, el factorial de $1 es $FACTORIAL, aunque eso no es correcto...
else
echo Error: integer MUST be positive
fi
else
echo Usage: $0 positive_integer
fi