Schlagwort-Archiv: software

Freetz Trunk lässt sich nicht auf Debian Testing compilen

Problem:
Ich wollte mal wieder mein Freetz-Image aktualisieren, also ab in die Sources und ein „svn update“ durchgeführt – soweit sogut. Im Anschluss führe ich make clean aus und folgende Meldung erscheint.

boss@devil:/opt/freetz-box/freetz-devel$ make clean
ERROR: The header file sys/acl.h was not found in /usr/(local/)include.
ERROR: The header file sys/capability.h was not found in /usr/(local/)include.
Makefile:133: *** Some build prerequisites are missing! Please install the missing packages before trying again. Schluss.

Lösung:
Ich habe apt-file nach den fehlenden Dateien befragt und dadurch die Lösung erhalten. Es muss die Installation der folgenden Pakete durchgeführt werden, im Anschluss funktioniert der Freetz-Buildtree wieder wie gewohnt!

apt-get install libacl1-dev libcap-dev

Happy Freetzing!

Wann und wieso die Dateien nicht mehr vorhanden waren, habe ich nicht weiter untersucht. Geht ja wieder alles ^^

OSX – DMG Datei via Terminal installieren

Problem:
Installation von einfachen DMG Dateien über die Kommandozeile via Remote Shell.

Lösung:
Im Prinzip meldet man sich via SSH am OSX Rechner an, lädt die Datei auf den Rechner und führt dann folgende Schritte aus

Man mountet die DMG
hdiutil mount ExampleApp.dmg

wechselt dann in das korrespondierende Verzeichnis in /Volume
cd /Volume/ExampleApp

kopiert die Applikation in den Zielordner
cp -R "Example App Demo.app" /Application

wechselt zurück und unmountet DMG Datei
cd -
hdutil unmount ExampleApp.dmg

GIT Server und Gitolite installieren unter Debian

Problem:
Ich benötige für die Entwicklungsabteilung einen GIT Server und möchte aber nicht für jeden Entwickler einen vollwertigen Account auf der Maschine bereitstellen.

Lösung:
Ich kombiniere GIT mit Gitolite.
Gitolite ist eine Administrationsmöglichkeit über ein GIT-Repository und ist selbst ein Nachfolger von Gitosis.

Zuerst muss ein User (und zugehörige Gruppe) angelegt werden, ich nenne diese „git“, das Repository Verzeichnis lege ich nach /srv/gitolite

mkdir -p /srv/gitolite
addgroup --system git
adduser --system --home /srv/gitolite --shell /bin/bash --gecos "GIT@hostname" --ingroup git --disabled-password git
chown -R git:git /srv/gitolite

Jetzt installiere ich folgende Pakete

apt-get install git-core git git-svn

Nun kann mit der gitolite Installation (als root!!) begonnen werden

cd /usr/local/src
git clone git://github.com/sitaramc/gitolite
# installation für alle user ist nicht zwingend nötig, mach ich aber
gitolite/install -ln /usr/local/bin

Nun sollte man einen SSH Public Key besitzen, dieser ist zwingend nötig! Ohne diesen kann hier nicht weitergemacht werden!!! Ich lade meinen Key erstmal auf den Server nach /tmp/key.pub
Jetzt wird man User „git“ und richtet gitolite ein

su - git
gitolite setup -pk /tmp/key.pub

An dieser Stelle sind wir eigentlich schon fertig, gitolite ist installiert und Einsatzbereit.
Testen kann man das mit einem SSH Clienten

ssh git@server info

Das Ergebnis sollte ungefähr so ausschauen:

hello key, this is git@server running gitolite3 v3.5.1-4-g2f48a3e on git 1.7.0.4

R W gitolite-admin
R W testing

Man muss nun noch das Admin Repo auf der eigenen Maschine/Laptop/Desktop mit nem Clienten klonen um die weitere Konfiguration durchzuführen. Repos anlegen und User hinzufügen. Siehe hier http://gitolite.com/gitolite/clone.html

Fertig ist dein GIT Server!

Wer schon SVN Repos pflegt, kann diese nun migrieren. Den Vorgang hab ich hier beschrieben.

Scannen unter Mac OSX

Problem:
Ich möchte ein paar Dinge mit meinem Mac einscannen.

Lösung:
Ich installiere die TWAIN Interface Komponenten von dieser Seite
http://www.ellert.se/twain-sane/

Für OSX 10.6.x lade und installiere ich folgende Dinge:

http://www.ellert.se/PKGS/gettext-0.18.1.1/10.6/gettext.pkg.tar.gz


http://www.ellert.se/PKGS/libusb-2011-10-29/10.6/libusb.pkg.tar.gz


http://www.ellert.se/PKGS/sane-backends-2011-10-30/10.6/sane-backends.pkg.tar.gz


http://www.ellert.se/PKGS/SANE-Preference-Pane-1.0/10.6/SANE-Preference-Pane.pkg.tar.gz

http://www.ellert.se/PKGS/TWAIN-SANE-Interface-3.0/10.6/TWAIN-SANE-Interface.pkg.tar.gz

Im Anschluss nur noch die Anwendung „Digitale Bilder“ starten!
Happy scanning!

NI USB Latenzschwankungen Soundaussetzer

Problem:
Ein Windowsrechner mit Traktor 2.x und passender USB Soundkarte hat unregelmäßig – regelmäßig Aussetzer beim Abspielen von Songs. Manchmal ist der Sound auch schlecht/kratzig.

Lösung:
Mit dem Latenzchecker von thesyscon die Werte anschauen und nach Bedarf im Gerätemanager Devices deaktivieren um evtl. IRQ Doppelbelegung, welche oft zu erhöhter Latenz führt, zu verhindern und somit letztlich die Soundausgabe zu stabilisieren.

LatencyMon sollte zusätzlich noch genutzt werden

Beim letzten System hat es zum Beispiel genügt, die WLAN Karte zu deaktivieren, um die Real-time Latenz zu stabilisieren.

Weitere Tips um die Latenz zu stabilisieren finden sich auch bei Native Instruments

Repository für Debianpakete

Problem.
Ich habe Debianpakete und möchte diese Debiankonform auf einem Server hosten

Lösung:
Für diesen Zweck hat Debian das Pakete „reprepro“, der Debian Repository Manager

apt-get install reprepro

reprepro Projektseite

Hier das kurze Manual des Befehls „reprepro“

reprepro - Produce and Manage a Debian package repository

options:
-h, --help: Show this help
-i --ignore : Ignore errors of type .
--keepunreferencedfiles: Do not delete files no longer needed.
--delete: Delete included files if reasonable.
-b, --basedir

: Base directory
--outdir
: Set pool and dists base directory
--distdir
: Override dists directory.
--dbdir
: Directory to place the database in.
--listdir
: Directory to place downloaded lists in.
--confdir
: Directory to search configuration in.
--logdir
: Directory to put requeted log files in.
--methodir
: Use instead of /usr/lib/apt/methods/
-S, --section
: Force include* to set section.
-P, --priority : Force include* to set priority.
-C, --component : Add,list or delete only in component.
-A, --architecture : Add,list or delete only to architecture.
-T, --type : Add,list or delete only type (dsc,deb,udeb).

actions (selection, for more see manpage):
dumpreferences: Print all saved references
dumpunreferenced: Print registered files without reference
deleteunreferenced: Delete and forget all unreferenced files
checkpool: Check if all files in the pool are still in proper shape.
check []
Check for all needed files to be registered properly.
export []
Force (re)generation of Packages.gz/Packages/Sources.gz/Release
update []
Update the given distributions from the configured sources.
remove Remove the given package from the specified distribution.
include <.changes-file>
Include the given upload.
includedeb <.deb-file>
Include the given binary package.
includeudeb <.udeb-file>
Include the given installer binary package.
includedsc <.dsc-file>
Include the given source package.
list List all packages by the given name occurring in the given distribution.
listfilter
List all packages in the given distribution matching the condition.
clearvanished
Remove everything no longer referenced in the distributions config file.

Damit kann man so gut wie alles erledigen. Changes werden später mit „changestool“ verwaltet.

Dann erstellen wir mal ein Repository in /srv/repos

cd /srv/repos
mkdir -p debian/{conf,dists,incoming,indices,logs,pool,project,tmp}

Dann erstell ich meine Beschreibung in conf/distributions

Origin: Your Name
Label: Your repository name
Codename: wheezy
Architectures: i386 amd64 source
Components: main
Description: Description of repository you are creating
SignWith: YOUR-KEY-ID

und die Options conf/options

ask-passphrase
basedir .

Und mein example.deb bekomme ich nun so in das Repository rein

reprepro includedeb wheezy /pfad/zum/example.deb

Nun muss der Pfad nur noch erreichbar sein, via Apache zum Beispiel