Banale Sache über die man trotzdem leicht stolpert:
cp -r $QUELLE/* $ZIEL/
cp -r $QUELLE/ $ZIEL/
Der Unterschied ist, dass bei der zweiten Anweisung auch die versteckten Dateien/Ordner mitkopiert werden.
alles über das Betriebssystem der Zukunft
Banale Sache über die man trotzdem leicht stolpert:
cp -r $QUELLE/* $ZIEL/
cp -r $QUELLE/ $ZIEL/
Der Unterschied ist, dass bei der zweiten Anweisung auch die versteckten Dateien/Ordner mitkopiert werden.
Probleme mit falschen Umlauten oder Sonderzeichen sind auf der Tagesordnung. Prinzipiell müsste das nicht sein, aber fehlerhafte Programmierung und fehlende Erkennungsmerkmale führen zu hohen Fehlerquoten.
Hintergrund ist dass auf allen gängigen UNIX Systemen UTF-8 als Standardkodierung sowohl für den Inhalt von Klartextdateien als auch für die Kodierung von Dateinamen (siehe auch Form C/D Unterschied) verwendet wird.
Bei Windows wird in unseren Breitengraden standardmässig Latin-1 verwendet (exakt: Windows CP-1252). Dies führt zu Problemen beim Dateiautausch, wenn kein Transformationsmechnismus (bspw. bei Mac OS X wenn Windows Shares via SMB kontaktiert werden) eine Anpassung vornimmt.
Angesichts zigfacher Austauschmöglichkeit (email,USB-Stick,WebDAV,scp..) wird es meines Erachtens noch bis zu 10 Jahre dauern bis dieses Problem nicht mehr auftritt.
Die zweite Sache die m.E. noch bis zu 5 Jahre problematisch sein kann sind 64bit Plattformen. Unter Linux Standard, da der Distributionsinstaller auf allen x64 Plattformen vorschlägt die 64bit Variante zu installieren. Das hat aber zur Folge, dass 3rd party Desktop Programme die nur als 32bit Version oftmals nicht installierbar sind, da die 32bit Bibliotheken fehlen. Auch beim selber kompilieren mit automake&friends gibt es hin und wieder Probleme, wenn man an zig Stellen redundant einen 32bit Flag setzen muss.
Unter Mac OS X wird das Problem mit Fat-binaries erschlagen die einfach immer alles mitbringen. Application+Libraries in 32/64bit ev. noch als Universal Binary.
Einfach für den User aber mittlerweile extrem Resourcenintensiv. Auf einem Apple Laptop mit ca. 100GB HD kann man davon ausgehen, dass Ruck-Zuck 50GB nur für die installieren Programme und das Betriebssystem draufgeht.
Der einfachste Ansatz zukünftig wäre alles nur noch 64bit – dass dauert aber noch und bringt derzeit auch noch Nachteile mit sich (64bit Pointer Overhead).
Mit der neuen Version iLife08, die jedem Mac beiliegt, ist auch GarageBand auf Version 08 (von 4) erhöht worden. Im Gegensatz zum Update von Version 2 auf 3 gibt es diesmal Neuheiten für Musiker die sehr nützlich sind. Sie werden auf einer iLife Apple Website kurz dargestellt.
Ich habe 4 davon getestet:
Funktioniert ganz einfach – einfach die Aufnahmezeit mit dem gelben Loop-Balken einstellen und auf Record gehen. Nach jedem Durchlauf fängt er wieder von vorne an, ohne den letzten zu löschen. Wenn man die Aufnahme beendet kann man aus einen der Varianten wählen.
Genial, aber mit kleinen Kinderkrankheiten. Falls die Aufnahmespur (geloopter Bereich) nur ein wenig in einen nachfolgenden Bereich ragt, auch wenn der an dieser Stelle noch keine Audio/MIDI Informationen hat, wieder dieser nach einem dubiosen Algorithmus verlegt. Falls man diese Verlegung korrigiert, stürzt GarageBand hin- und wieder ab. Also lieber gleich sauber arbeiten
![]() |
Bisher konnte man für jede Spur nur die Lautstärke und das Panorama automatisieren (Aufklappknopf Spurinformationen) – jetzt kann man alles automatisieren was der Soundgenerator hergibt.Im Bildschirmfoto werden bspw. die Parameter des Hybrid Basic Generators von GarageBand zur Automatisierung angeboten.Im Falle eines Native Instruments Synthesizers werden bis zu 1000 Controller ID’s angeboten, die im Synthesizer Plugin jeweils einem Reglerelement zugewiesen sind. Das ganze funktioniert übrigens tadellos. |
Auch ein nettes Feature. Man kann in einem zusätzlichen oberen Balkenbereich, sog. Arrangements definieren, bspw „Intro“ oder „Refrain“. Diese Zonen kann man dann mit üblichen Methoden zur Bearbeitung verwenden. Beim Kopieren bspw. werden alle Spuren die sich in dieser Zone (Arrangement) befinden mitkopiert.
Auch dieses Feature bringt GarageBand in höhere Regionen. Der Visual EQ steht jedem Instrument zur Verfügung und kann dort eingestellt werden, wo man auch sonst üblicherweise die AudioUnits einstellt.
In diesem Equalizer kann man in vier Frequenzregionen die Amplituenveränderung einstellen. Das ganze geht elegant mit der Maus.
Der Clou ist die Just-In-Time Veränderung der Frequenzanteile der gerade ausgewählten Spur (hellgraue Linie).
Damit kann man doch recht schnell einen ausgewogenen Frequenzverlauf oder eben auch nicht – wenn anders gewollt – hinbekommen.
Bei den AudioUnits sind mir 2 Änderungen aufgefallen, auch wenn diese eher von Mac OS X anstatt von GarageBand selber bereitgestellt werden.
Beim AUMatrix Reverb ist im unteren Bereiche ein Frequenzfilter hinzugekommen.
Daneben ist AUPitch zur Veränderung der Tonhöhe dazugekommen.
Alles in allem ein sehr gelungenes Update. Von minimalen Kinderkrankheiten und dem üblichen Übersetzungschaos abgesehen ist es ein größerer Schritt nach vorne.
Manchmal erscheint es notwendig, einen alten Zeichensatz für eine bestimmte Aufgabe zu setzen. Die momentane Lokalisierung kann man einfach mit locale
feststellen. Mit locale -a/-m
kann man alle Namen der verfügbaren Lokalen/charmaps ausgeben.
Ich bin ein großer Fan dieser umask, den Sie ermöglicht in Zusammenarbeit mit dem sgid-bit eine fast beliebige Rechtevergabe im POSIX-Netzwerk ohne ACL’s einsetzen zu müssen.
Egal ob man private Gruppen oder sonstige vertrauenswürdige Gruppen erschafft – ein Datenaustausch auf einer lokalen Workstation oder im NFS-Netzwerk ist zu 95% konfigurierbar.
Während man auf fast allen UNIX Plattformen eine globale umask 0002 in /etc/profile einträgt, muss man auf Mac OS X eine XML-basierende Property Datei ändern, und zwar mit
defaults write /Library/Preferences/.GlobalPreferences NSUmask 2
Hinweise:
Es könnte so einfach sein. Ein DNS Server mit statischen Einträgen, die einfach in den Zonendateien die im Klartextformat vorliegen, händisch aktualisiert werden.
Falls man aber möchte das DHCP oder Windows ADS Server Einträge des DNS dynamisch aktualisieren können, wird die Sache komplizierter.
Ausgehend vom letzten Start des named legt BIND journaling files an, die wie die Zonendatei heissen allerdings mit der Extension .jnl . Von Zeit zu Zeit übernimmt der daemon die journalings in die eigentliche Zonendatei die jetzt aber nicht mehr so einfach händisch aktualisiert werden darf.
Folgende Vorgehensweise unter Benutzung des rndc Kommandotools (wird mit BIND ausgeliefert) wird vorgeschlagen um die Zoneneinträge konsistent zu haten
rndc freeze beispielzone.de
..schaltet den dynamischen Mechanismus ab, übernimmt die journalings in das Zonenfile und löscht die journaling-Datei
Danach kann man im Zonenfile Einträge vornehmen.
rndc reload beispielzone.de
Veranlasst den daemon die Konfiguration und v.a. die Zonenfiles neu zu laden. Dieser Befehl würde ohne den vorangegangenen freeze nicht funktionieren, er würde die Fehlermeldung „rndc ‚ reload‘ failed: dynamic zone“ auswerfen.
rndc thaw beispielzone.de
Schaltet den dynamischen Updatemechnismus wieder an.
Alternativ könnte man neue Einträge aber auch durch denselben Mechanismus hinzufügen, wie die externen Server die den DNS udpaten. Der Kommandobefehl
nsupdate
eröffnet einen interaktiven Eingabemodus mit dem man Einträge hinzufügen oder entfernen kann (siehe manpage nsupdate).
Die aktuelle Version des Sun Update Connection System Client 1.0.9 funktioniert derzeit nicht! Im Normalfall bleibt der Client einfach beim Installieren der Pachtes (smpatch update)
Abhilfe schafft ein Deinstallieren des Patches 121118-12. Dieser Patch des Update Systems verträgt sich mit gewissen Java Versionen nicht.
Genauers dazu erfährt man unter:
http://forum.java.sun.com/thread.jspa?messageID=9709078&tstart=0
Neben der sehr schlechten Performance des Tools, kommt nun leider auch noch Instabilitäten beim Update dazu, was die TCO bei Solaris erhöht und das eh komplexe System noch undurschaubarer macht. Hier muß sich seitens SUN etwas bewegen.
Auch ls ist ein alter Hut, dennoch die Zusammenfassung der gebräuchlichsten Parameter des GNU Kommandos
Parameter | Langfassung | Bedeutung |
---|---|---|
-l | –format=long | Langinformationen |
-L | –dereference | Dereferenzierung des Links (ursprünglicher Inhalt) |
-d | –directory | Zeigt den Directory Eintrag statt dessen Inhalt an |
-S | –sort-size | Sortiert die Dateien nach ihrer Größe (größte zuerst) |
-r | –reverse | reversieve Sortierung |
-t | –sort=time | Sortiert Nach Datum (neueste zuerst) |
-R | –recursive | steigt rekursiv in den Verzeichnisbaum ab |
-u | –sort=access | Sortiert nach Zugriffszeit (nur im Zusammenhang mit -t) |
-h | –human-readable | Größenangaben besser lesbar (automatisch in GB,MB,kB) |
-o | –no-color | Schaltet die Farbdarstellung ab |
Obwohl das (GNU) find Kommando wirklich ein alter Hut ist, lohnt es sich zumindest für mich nochmal die wichtigsten Features zusammenzufassen:
Darüber hinaus liegt die Stärke von find v.a. im Zusammenhang mit gekoppelten Kommandos durch den -exec Parameter.
find / -perm +4000 -exec chmod u-s {} ;
nimmt das suid-bit aus allen gefundenen suid-Programmen heraus ..was nicht unbedingt sinnvoll ist 😉
Mit dem Universalwerkzeug für das Prozessmanagement top (table of processes) kann man diese nicht nur beobachten sondern auch beeinflussen. Unter anderem sind folgende Tasteneingaben ganz nützlich
k | Signal senden |
r | renice eines Prozesses |
u | nur die Prozesses eines users anzeigen |