UsingPrograms
From HerzbubeWiki
Contents |
Manuell CDs und DVDs brennen
hdiutil
hdiutil ist ein Tool zum Anlegen, manipulieren und brennen von Disk Images. Viele seiner Funktionen können mit "Disk Utility.app" (Festplatten-Dienstprogramm) via GUI genutzt werden. Generell gibt es eine sehr gute man page für hdiutil.
hdiutil makehybrid -default-volume-name xxx -o yyy zzz
--> bastelt ein Hybrid-Image mit Filenamen yyy.iso mit dem Inhalt des Verzeichnis zzz und dem Volume-Titel xxx
hdiutil burn xxx.iso
--> brennt das Image auf Disk
hdiutil burn -list
--> listet die verfügbaren Devices auf (kann evt. als Input für cdrecord verwendet werden)
Umgang mit cdrecord und mkisofs (veraltet)
mkisofs -v -hfs -V "xxx" -R -J -probe yyy >zzz-image
--> bastelt ein HFS Volume Image mit dem Inhalt des Verzeichnis yyy und dem Volume-Titel xxx.
--> unbestätigt, aber evt. wahr: Volume-Titel sollte keine Spaces enthalten
cdrecord -dev=IOCompactDiscServices -v -speed=24 fs=8m -overburn -dao -eject xxx-image
--> IOCompactDiscServices ist das Device, unter dem der Record angesprochen werden kann
--> fs=8m gibt einen unnötig grossen Buffer an - aber man will ja sicher gehen
--> dao = disc at once; macht bei Overburning von grossen Images sicherlich Sinn
eject disk1 --> builtin CDROM eject disk2 --> external CDROM
From fink-users:
- prepare Joliet compliant iso image from a directory:
mkisofs -J -R -V "name of the CD" -o output_file.iso somedirectory/
- burn audio CD:
cdrecord dev=IOCompactDiscServices speed=12 -v -audio -pad somelistofrippedaudio(.aiff or .wav)
- to turn burnfree on, you need to add driveropts=burnfree to the cdrecord command
cd /mnt/stuff/Archiv/Warez/Photoshop cdrecord -dev=IOCompactDiscServices -v -speed=24 fs=8m -dao -eject Photoshop.7.iso
wget
Kommando zum Saugen eines ganzen Verzeichnis-Baums von einer Site wget -rkp -l 0 http://foo.bar/dir1/index.html
Das gleiche, aber mit der Einschränkung nur Zeug unter dir1 zu holen -> für den Fall, dass auf irgendeiner Seite noch ein "klitzekleiner" Link besteht, der in einen anderen Verzeichnisbaum "ausbricht" wget -rkp -np -l 0 http://foo.bar/dir1/index.html
Kommando zum Holen einer einzigen Seite mit allen Prerequisites, auch wenn diese auf anderen Hosts liegen: wget -Hkp http://foo.bar/index.html
-r Rekursiver Download wget -r http://foo.bar/index.html
-H Host-übergreifender Download -L Nur relativen Links folgen (eine Seite könnte ja auch einen absoluten Link auf ein Dokument des gleichen Host enthalten) -np Niemals in der Verzeichnis-Hierarchie weiter als bis zum angegebenen Base-Verzeichnis springen.
-p Prerequisites downloaden, d.h. alles, was zum Ansehen einer Seite wichtig ist (Images, Sounds, Stylesheets)
-l Tiefe (depth). Default = 5. 0 = unendlich Damit wird angegeben, wieviele Hops von der Ursprungs-URL weggegangen werden darf. Mit Tiefe 2 wird 1.html->2.html->3.html weit gesprungen.
-k Links konvertieren für lokales Browsen. Relative Links auf Elemente, die nicht heruntergeladen worden sind, werden ins absolute Format http://... umgewandelt.
-c Mit abgebrochenem Download weitermachen (continue)
CVS
Die Umgebungsvariable CVSROOT sollte gesetzt sein:
export CVSROOT=/Volumes/data/Development/cvsroot
Creating a new CVS repository:
See: file://localhost/data/Infos,%20Manuals,%20Artikel/References/cederqvist-1.11.3.html/cvs_2.html#SEC23
Adding a new directory tree to CVS
cvs import -m "Initial import comment" target/directory/in/repository foobar start
See: file://localhost/data/Infos,%20Manuals,%20Artikel/References/cederqvist-1.11.3.html/cvs_3.html#SEC40
Tags
Tags are "artificial" revisions of a file. A normal revision may go up from 1.20 to 1.21 automatically after a file is committed. If you tag a file then you mark a given revision of a file with, without committing the file.
To assign tag to a file: cvs tag foobar.c To view all tags on a file: cvs status -v foobar.c To assign tag to all files in a directory and its subdirs: cvs tag . To checkout all files for tag : cvs checkout -r .
To assign tag to files only that already contain tag : cvs tag -r . To assign tag to revisions of files no later than : cvs tag -D . In addition to the last 2 commands: option -f specifies to tag the most recent revision of a file in the repository, instead of ignoring the file, if -r or -D don't produce a match.
See: file://localhost/data/Infos,%20Manuals,%20Artikel/References/cederqvist-1.11.3.html/cvs_4.html#SEC53
Steps to take before checking in to CVS
- Optionally: make clean to prevent binaries and other stuff from getting into CVS
- cvs add
- cvs remove
- cvs commit on project's top level
ImageMagick
- Bilder konvertieren:
for i in *bmp; do convert -size 1024x768 "$i" -resize 1280x1024 -quality 90 "$i.jpg";mv *jpg ../jpg done
- Bilder skalieren (das Ratio wird beibehalten, falls die neue Grösse nicht passt, wählt convert selbst eine passende Grösse, die dem ursprünglichen Ratio am nächsten kommt):
for i in *jpg; do convert -sample 1600x1200 "$i" "new-$i" done
- Grösse bestimmen:
identify x.jpg
Weitere Infos: die ImageMagick Homepage hat Links zu verschiedenen Artikeln, z.B. http://www-106.ibm.com/developerworks/library/l-graf/?ca=dnt-428
rsync
Ein rsync Server verwendet Port 873
Beispiel für einen Aufruf auf der Kommandozeile:
rsync -e ssh -avz patrick@osgiliath:/var/backups ~/Desktop/backups
- -e = shell, die verwendet werden soll
- -a = archive (oder --archive), Kurzform fuer "recursive and preserve almost everything"
- -v = verbose (oder --verbose)
- -z = compress (oder --compress)
- -n = simulation (oder --dry-run)
- -q = quiet (oder --quiet)
- Trailing Slash bei einem Verzeichnis = nur den Inhalt des Verzeichnisses
- Kein Trailing Slash = das Verzeichnis selbst, inkl. alle Subverzeichnisse
Bei Verwendung in cron:
- Option -v durch -q ersetzen
- sowie rsync muss als Daemon auf der Remote Maschine laufen, wenn keine ssh Verbindungs-Optionen (= Passwort) in einem File gespeichert werden sollen.
- der rsync Daemon muss das gewünschte Verzeichnis als Modul mit anonymous Zugriff exportieren, wenn keine rsync Verbindungs-Optionen (= Passwort) in einem File gespeichert werden sollen
Der crontab Eintrag kann z.B. so aussehen:
0 20,21,22,23,0 * * * rsync -aqz osgiliath::backup ~/Desktop/backup
Wenn rsync als Daemon auf der Remote Maschine läuft, koennen folgende Kommandos nützlich sein:
- Alle verfügbaren Module abrufen
rsync patrick@osgiliath::
- Den Inhalt eines bestimmten Moduls auflisten
rsync patrick@osgiliath::backup
Toolset für Sound-Verarbeitung
Tools installieren
fink Tools
Via fink installieren:
- libogg, libogg-shlibs
- libvorbis0, libvorbis0-shlibs
- lame, lame-dev, lame-shlibs
- libmad, libmad-shlibs, madplay
- flac-nox, flac-nox-bin, flac-nox-shlibs
- libsndfile1, libsndfile1-dev, libsndfile1-shlibs
- mppdec
- ffmpeg
sox
Download von http://www.sourceforge.net/projects/sox
Entpacken in /usr/local/src, danach wie gewohnt configure, make, make install.
Besonderheiten: damit die von fink bereit gestellten Libraries gefunden werden, müssen dem configure Script einige Compiler-Optionen mitgegeben werden:
./configure CPPFLAGS="-I/sw/include" LDFLAGS="-L/sw/lib"
mac (Monkey's Audio Compressor)
Download von http://www.sourceforge.net/projects/mac
Entpacken in /usr/local/src, danach wie gewohnt configure, make, make install
Besonderheiten: Zumindest die Version mac-3.99-u4-b5 hat einen Linker-Fehler mit gcc 4. Ein Tracker-Item (http://sourceforge.net/tracker/index.php?func=detail&aid=1377803&group_id=123827&atid=699624) weist darauf hin, dass das Problem dadurch umgangen werden kann, dass beim Linken gcc statt g++ verwendet wird. Auf meiner Maschine führt dieser Workaround zu anderen Linker-Fehlern, denen nicht beizukommen war. Auf der fink-users Mailing Liste (http://www.mail-archive.com/fink-users@lists.sourceforge.net/msg21840.html) war dann der endgültige Hinweis mit MACOSX_DEPLOYMENT_TARGET zu finden.
MACOSX_DEPLOYMENT_TARGET=10.3 ./configure --prefix=/usr/local make make install unset MACOSX_DEPLOYMENT_TARGET
shntool
Download von http://www.etree.org/shnutils/shntool/
Entpacken in /usr/local/src, danach wie gewohnt configure, make, make install
Hinweis: Dieses Tool muss als letztes der Serie installiert werden, da es eigentlich nur ein Front-End ist und deshalb davon abhängt, was bereits alles vorhanden ist.
Anwendungsfälle
CD Image im .ape Format in Tracks aufsplitten
Im folgenden Beispiel liegen die Track-Informationen in einem .cue File vor. Es wäre aber auch möglich, die Split-Punkte auf der Kommandozeile anzugeben.
shntool split -f CDImage.ape.cue CDImage.ape
Batch-Umwandlung von .wav Files in .mp3
for i in 01 02 03 04 05 06 07 08 09 10; do lame --preset extreme track$i.wav $i.mp3; done
Konvertierung mit ffmpeg
Folgendes Kommando konvertiert Sound Files, wobei das Input/Output Format anhand der File Extension (.wav, .mp3, etc.) erkannt wird:
ffmpeg -i <input file> <output file>
Konvertierung mit flac
Folgendes Kommando konvertiert eine .flac Datei in eine .aiff Datei, wobei der Name des Output Files explizit angegeben wird und das Format implizit aus der File Extension abgeleitet wird:
flac --decode --output-name=<output file>.aiff <input file>
Folgendes Kommando konvertiert mehrere Dateien von .flac in .wav
flac --decode *.flac
Ditto, aber das Ausgabe Format explizit als .aiff festlegen:
flac --decode --force-aiff *.flac
Spaceward Ho!
Special ship designs with the following Tech combinations:
- WE 12, WA 15, SC 15, TE 1, MI 0
- WE 11, WA 12, SC 12, TE 1, MI 0
