Ändra i din /etc/syslog.conf och lägg in följande rad:
# Skicka allt till tty8
*.* /dev/tty8
En sak att tänka på: KOM IHÅG ATT ANVÄNDA TABBAR! syslog gillar
inte mellanslag...
dj@destin.nfds.net
Från en nybörjare till en annan kommer här ett kort skalprogram som gör det enklare att läsa HOWTO-dokument. Mina HOWTOn finns i /usr/doc/faq/howto/ och är gzippade. Filnamnen är XXX-HOWTO.gz, där XXX är ämnet. Jag skapade följande skalprogram, vilket heter "howto", i katalogen /usr/local/sbin:
#!/bin/sh
if [ "$1" = "" ]; then
ls /usr/doc/faq/howto | less
else
gunzip -c /usr/doc/faq/howto/$1-HOWTO.gz | less
fi
När det anropas utan argument så visar det en lista över de
tillgängliga HOWTOna. När det sedan anropas med första delen av ett
filnamn (innan bindestrecket) som argument så zippar det upp (och
behåller originalet intakt) och visar dokumentet.
För att t.ex. läsa Serial-HOWTO.gz, skriv:
$ howto Serial
zocki@goldfish.cube.net
Här kommer ett kort skalprogram, vilket då och då kollar om det finns tillräckligt med ledigt utrymme tillgängligt på vad som helst som dyker upp i mount (hårddiskar, cdrom, disketter osv.).
Om utrymmet tar slut så visas ett meddelande var Xte sekunde på skärmen och ett e-brev skickas för varje full enhet.
#!/bin/sh
#
# $Id: check_hdspace,v 1.18 1996/12/11 22:33:29 root Exp root $
#
#
# När jag gick mystiska felmeddelanden under en kompilering och
# tmp-filer fyllde upp mina diskar, skrev jag detta för att få en
# varning innan diskarna blir fulla.
#
# Om det här räddar dina servrar från att explodera, skicka ett
# e-brev till zocki@goldfish.cube.net och prisa mig.
# Om din brinner upp på grund av det så är jag ledsen, men jag
# har varnat dig: inga kompensationer.
# Om du vet hur man hanterar sed så kan du förlåta mig :)
#
# Stoppa in det och glöm det: Stoppa 'check_hdspace &' i rc.local.
# Kollar efter ledigt utrymme på enheter varje $SLEEPTIME sekunder.
# Du kan till och med kolla disketter och bandenheter. :)
# Om det finns mindre än $MINFREE (kb) utrymme, så echo-as en varning
# och ett e-brev skickas för varje aktuell enhet till $MAIL_TO_ME.
# Om det återigen finns mer fritt utrymme än vad som är satt som gräns
# så skickas ett nytt e-brev.
#
# ATT GÖRA: Olika $MINFREE för olika enheter.
# Rensa ut gammalt skräp ur /*tmp-kataloger om utrymmet tar slut.
DEVICES='/dev/sda2 /dev/sda8 /dev/sda9' # enhet; lägg in diskar här
MINFREE=20480 # kb; varning under detta
SLEEPTIME=10 # sek; sov mellan kollarna
MAIL_TO_ME='root@localhost' # dåre; vem som får mail
# ------- inga ändringar behövs under denna rad (förhoppningsvis :) -------
MINMB=0
ISFREE=0
MAILED=""
let MINMB=$MINFREE/1024 # jepp, vi är strikta :)
while [ 1 ]; do
DF="`/bin/df`"
for DEVICE in $DEVICES ; do
ISFREE=`echo $DF | sed s#.\*$DEVICE" "\*[0-9]\*""\*[0-9]\*" "\*## | sed s#" ".\*##`
if [ $ISFREE -le $MINFREE ] ; then
let ISMB=$ISFREE/1024
echo "VARNING: $DEVICE endast $ISMB mb ledigt." >&2
#echo "mera prylar här" >&2
echo -e "\a\a\a\a"
if [ -z "`echo $MAILED | grep -w $DEVICE`" ] ; then
echo "VARNING: $DEVICE endast $ISMB mb ledigt. (Gränsen satt till $MINMB mb)" \
| mail -s "VARNING: $DEVICE endast $ISMB mb ledigt!" $MAIL_TO_ME
MAILEDH="$MAILED $DEVICE"
MAILED=$MAILEDH
# lägg in annat, som städning av */tmp-
# kataloger, här
fi
elif [ -n "`echo $MAILED | grep -w $DEVICE`" ] ; then
# Bort med mailed-markeraren om det finns
# tillräckligt med utrymme igen, så att vi
# kan skicka nya e-brev.
MAILEDH="`echo $MAILED | sed s#$DEVICE##`"
MAILED=$MAILEDH
fi
done
sleep $SLEEPTIME
done
Om du är so mjag så har du en lista med 250 prenumeranter, plus mer än
100 meddelanden per dag som kommer med UUCP. Tja, vad ska en hacker
göra med sina enorma loggfiler? Installera chklogs.
Chklogs är skrivet av Emilio Grimaldo, grimaldo@panama.iaehv.ln
,
och den senaste versionen (1.8) är tillgänglig via ftp från
frp.iaehv.ln:/pub/users/grimaldo/chklogs-1.8.tar.gz.
Det förklarar ganska bra självt hur du ska installera det (du ska
naturligtvis även ta en titt på informationen i doc-katalogen). När du
har isntallerat det ska du lägga till följande i crontab:
# Kör chklogs klockan 9 varje dag.
00 21 * * * /usr/local/sbin/chklogs -m
När du ändå håller på, glöm inte att tala om för programmeraren vilket
trevligt program det är :).
ohammers@cu-online.com
Skapa en fil som heter rmcores (författaren kallar det handle-cores) med följande innehåll:
#!/bin/sh
USAGE="$0 <directory> <message-file>"
if [ $# != 2 ] ; then
echo $USAGE
exit
fi
echo Tar bort...
find $1 -name core -atime 7 -print -exec rm {} \;
echo skickar e-brev
for name in `find $1 -name core -exec ls -l {} \; | cut -c16-24`
do
echo $name
cat $2 | mail $name
done
Sedan gör du så att ett cron-jobb kör det då och då.
A.Cox@swansea.ac.uk
Ett snabbt sätt att flytta ett helt filträd från en disk till en annan är
(cd /käll/katalog && tar cf - . ) | (cd /dest/katalog && tar xvfp -)
[ Byt från cd /käll/katalog; tar...osv. för att förhindra
möjligheten att katalogen förstörs om en olycka inträffar. Tack till
Jim Dennis, jadestar@rahul.net, för att han gjorde mig uppmärksam på
detta. -Ansvarige. ]
mghazey@miso.lowdown.com
Har du någonsin funderat på vilka kataloger som är de största på din dator? Så här tar du reda på det:
du -S | sort -n
Kudos till John Fisk som grundade Linux Gazette. Det är en suverän e-tidning och den är GRATIS!!! Vad mer kan du önska dig? Ta en titt på:
http://www.ssc.com/lg
Förresten så visar det sig att (1) LG utges nu varje månad och (2)
John Fisk har inte längre hand om det, utan människorna på SSC.
stern@amath.washington.edu
Jag vet inte om många har detta problem, men det finns en egenskap hos
GNU Make version 3.70 som jag inte tycker om. Det är att VPATH beter
sig udnerligt om du anger en absolut sökväg. Det finns en extremt
stabil patch för att fixa detta, vilken du kan få från Paul D. Smith
<psmith@wellfleet.com>
. Han publicerar dokumentationen
och patchen i nyhetsgruppen gnu.utils.bug efter varje uppdatering av
GNU Make. Själv lägger jag till den här patchen och kompilerar om
gmake på varje system jag har tillgång.
dal@wimsey.com
F: Hur får jag e2fsck att inte kolla min hårddisk varenda gång jag bootar om?
S: När du kompilerar om kärnan så markeras filsystemet som "smutsigt" (dirty) och din hårddisk kommer då kollas efter varje ombootning. För att fixa detta kör du:
rdev -R /zImage 1
Detta fixar kärnan, så att den inte längre är övertygad om att filsystemet är smutsigt.
Obs: Om du använder lilo, lägg till read-only
till
Linux-avdelningen i din konfigureringsfil för lilo (vanligtvis
/etc/lilo.conf).
jon@gtex02.us.es
Om du ofta får "device busy"-fel som gör att filsystemet måste gå igenom en fsck, då du kör shutdown, så kommer här en enkel lösning:
Lägg till raden
mount -o remount,ro /mount.dir
till /etc/rc.d/init.d/halt
eller /etc/rc.d/rc.0
.
Gör detta för varje monterat filsystem utom /, innan anropet till umount -a. Detta betyder att om shutdown av någon anledning misslyckas med att döda alla processer och avmontera alla diskar så kommer de fortfarande att vara rena då du bootar om. Detta spar en massa tid för mig då jag bootar om.
simon@foobar.co.uk
ls -l | sort +4n
Om du har väldigt dåligt med utrymme så funkar även det följande, men kan ta en hel del tid:
cd /
ls -lR | sort +4n
mdickey@thorplus.lib.purdue.edu
#!/bin/sh
# /usr/local/bin/print
# en enkel formatterad utskrift, för att att låta någon
# ta hål på utskriften och sätta den i en pärm
cat $1 | pr -t -o 5 -w 85 | lpr
rockwell@nova.umd.edu
Jag kallar detta skalprogram "forall". Använd det så här:
forall /usr/include grep -i ioctl
forall /usr/man grep ioctl
Här kommer forall:
#!/bin/sh
if [ 1 = `expr 2 \> $#` ]
then
echo Usage: $0 dir cmd [optargs]
exit 1
fi
dir=$1
shift
find $dir -type f -print | xargs "$@"
tolnas@nestor.engr.utk.edu
Här kommer ett enkelt skalprogram på två rader som rekursivt går ned genom kataloghierarkin och tar bort emacs autosave-filer (#) och backup-filer ( ), .o-filer och .log-filer som TeX skapar. Det komprimerar även .tex- och README-filer. Jag kallar det att "pressa ihop" mitt system.
#!/bin/sh
#SQUEEZE tar bort onödigt filer och komprimerar .tex- och README-filer
#Av Barry tolnas, tolnas@sun1.engr.utk.edu
#
echo pressar ihop $PWD
find $PWD \( -name \*~ -or -name \*.o -or -name \*.log -or -name \*\#\) -exec
rm -f {} \;
find $PWD \( -name \*.tex -or -name \*README\* -or -name \*readme\* \) -exec gzip -9 {} \;
simon@foobar.co.uk
ps -aux | sort +4n
-ELLER-
ps -aux | sort +5n
Ansvarig för Tips-HOWTOn
Jag programmerar en massa C på min fritid och har tagit mig tid att ställa in vi så att det passar bra för C. Här är min .exrc:
set autoindent
set shiftwidth=4
set backspace=2
set ruler
Hur fungerar det? autoindent gör att vi automatiskt indenterar varje rad som följer en indenterad rad, shiftwidth ställer in tabblängden till 4 mellanslag, backspace slår på backspaceläget och ruler gör att det visar radnummer. Kom ihåg att du kan gå till en specifik rad, säg 20, genom att skriva:
vi +20 myfile.c
paul@geeky1.ebtech.net
Det här är ett ganska vanligt problem, nästan så att det är en FAQ (ofta ställd fråga. övers.anm.). Jag vet inte om RedHat har fixat det här problemet i sin distribution, men annars kan du själv reparera det. Om du kollar i din /etc/hosts-fil så kommer du hitta något i stil med:
127.0.0.1 localhost yourbox
När sendmail startas så kollar det din maskins namn (hostname) (i detta exempel är det yourbox). Det ser då att IP-numret för din yourbox är 127.0.0.1, vilket sendmail inte tycker om och gör kollen igen. Det fortsätter så med detta ett tag, tills det ger upp och avslutas. Att lösa detta är extremt enkelt, lägg bara in något i stil med
127.0.0.1 localhost
10.56.142.1 yourbox
i din /etc/hosts-fil.
paul@geeky1.ebtech.net
RedHats distribution kommer med färg-ls och varför de inte ställer in det för att använda det som standard är bortom min fattningsförmåga. Här kommer en lösning.
Skriv först eval `DIRCOLORS`
Skriv sedan alias ls='ls --color=yes'
Lägg in 'alias....' i din /etc/bashrc
vps@unicorn.niimm.spb.su
Vad händer om du kompilerar och du har missat något bibliotek som måste länkas in? Allt gcc rapporterar är funktionsnamn... Här kommer ett enkelt kommando som gör att du kan hitta det du letar efter:
for i in *; do echo $i:;nm $i|grep tgetnum 2>/dev/null;done
tgetnum är namnet på den funktion du letar efter.