12.08.2020: Gitlab: pre-receive hook declined

Nach dem Upgrade auf Version 13.x konnte man zwar die Repositories auschecken aber jeder push wurde mit der Meldung "pre-receive hook declined" unterbunden.

In der gitaly.log fand sich folgendes:

 

level=error msg="Internal API unreachable" duration_ms=0s \
error="Post \"http://unix/api/v4/internal/allowed\": dial \
unix /home/git/gitlab/tmp/sockets/gitlab-workhorse.socket: \
connect: connection refused" method=POST url="http://unix/api/v4/internal/allowed"

 

Die Testfunktion "sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production" ergab:

 

Running /home/git/gitlab-shell/bin/check
gitlab-shell self-check failed
  Try fixing it:
  Make sure GitLab is running;
  Check the gitlab-shell configuration file:
  sudo -u git -H editor /home/git/gitlab-shell/config.yml
  Please fix the error above and rerun the checks.

 

Der Problem fand sich in der Konfiguration von gitaly (/home/git/gitaly/config.toml). Für die Anbindung an den Apache-Proxy wurde das Binding von gitlab angepasst. Und dies muss auch im gitaly nachgezogen werden.

 

[gitlab]
secret_file = "/home/git/gitlab-shell/.gitlab_shell_secret"
#url = "http+unix://%2Fhome%2Fgit%2Fgitlab%2Ftmp%2Fsockets%2Fgitlab-workhorse.socket"
url = "http://127.0.0.1:8080"

 

 

11.08.2020 Update Alternatives

Die parallele Installation verschiedener Versionen einer Software ist unter Linux meist leicht möglich. Über das Programm "alternatives" lässt sich bequem eine Version vorauswählen.
Für GCC ist dies unter OpenSUSE allerdings nicht vorinstalliert. Ein Nutzer hilft mit seinem Skript dies schnell nachzuholen:

https://www.opensuse-forum.de/thread/42514-update-alternatives-bei-gcc/

Horde DAV Anmeldung schlägt fehl

Wenn die DAV Synchronisation die Anmeldung nicht akzeptiert und dies mit der folgenden Fehlermeldung quittiert:

 

Sabre\DAV\Exception\NotAuthenticated: No basic authentication headers were found

 

dann könnte die Option das Problem lösen (z. b. in der .htaccess setzen):

 

RewriteOptions InheritBefore

 

 

Horde Test Skript

Horde beitet ein Skript zum Testen der Installation. Dies kann über https://domain.tld//horde]/test.php aufgerufen werden.
Allerdings wird eine Referenz auf eine starkt veraltete Bibliothek File::Fstab verwendet welche mit aktuellen PHP nicht kommpatible ist.
Die Fehlermeldung lautet:

EMERG: HORDE [horde] ParseError: syntax error, unexpected 'new' (T_NEW) in /usr/share/php7/File/Fstab.php:110
Stack trace:
#0 /usr/share/php7/Horde/Autoloader.php(65): Horde_Autoloader->_include('/usr/share/php7...')
#1 [internal function]: Horde_Autoloader->loadClass('File_Fstab')
#2 [internal function]: spl_autoload_call('File_Fstab')
#3 /<path>/horde4/lib/Test.php(646): class_exists('File_Fstab')
#4 /<path>/horde4/test.php(135): Horde_Test->pearModuleCheck()
#5 {main} [pid 19647 on line 74 of "/usr/share/php7/Horde/ErrorHandler.php"]

Mit folgender der Änderung in der Datei /usr/share/php7/File/Fstab.php lässt sich das Problem umgehen:

if (!isset($instances[$fstab])) {
      $instances[$fstab] = &new File_Fstab(array('file' => $fstab)); // defekt
      $instances[$fstab] = new File_Fstab(array('file' => $fstab)); // ok
}

 

Ruby & Postgresql

Fall gem install pg mit der Meldung

 

checking for libpq-fe.h... no
Can't find the 'libpq-fe.h header

 

fehl schlägt aber die passende Header-Datei z.B. unter /usr/include/pgsql/ zu finden ist, dann hift folgendes

 

> export CONFIGURE_ARGS="with-pg-include=/usr/include/pgsql/"
> gem install pg

Netcat

Übertragung mit fortlaufenden Informationen zum Datentransfer (Netcat und Pipe Viewer)

 

Receiver: netcat -l -p <PORT> | pv | tar x
Sender: tar cf - <DIR> | pv | netcat <Receiver HOST> <PORT>

Mit Kompression
Receiver: netcat -l -p <PORT> | pv | gunzip -c | tar x
Sender: tar cf - <DIR> | gzip -c | pv | netcat <Receiver HOST> <PORT>000

MariaDB: Datenbank und Benutzer anlegen

Anlegen einer Datenbank inkl. Benutzer und zuweisen der Berechtigungen (MariaDB/MySQL):

CREATE DATABASE <DB_NAME>;
GRANT ALL ON <DB_NAME>.* TO '<DB_USER_NAME>'@'localhost' IDENTIFIED BY '<PASSWORD>';
FLUSH PRIVILEGES;

Schlechte Bildqualität bei HDMI-Ausgang

Beim Anschluss des PCs an den Monitors vom Typ Samsung SyncMaster P2770HD via HDMI-Kabel war die Bildqualität enttäuschend. Um dies zu ändern muss am Monitor der HDMI-Eingang Anschluss auf "PC" umbenannt werden - was nicht unbedingt offensichtlich ist.

Menü -> Quellen -> Name bearb. HDMI : PC

Mit dem Namen "DVI PC" stimmt das Bild ebenfalls.

Nov 2013: Horde und ActiveSync

Der Fehler:

"QUERY FAILED: Unknown column 'sync_timestamp' in 'field list' SELECT MAX(sync_timestamp) FROM horde_activesync_state WHERE sync_devid ="

Lässt sich beheben durch einen Aufruf des Horde Scripts: ./bin/horde-db-migrate

 

Mai 2013: Networkmanger Plasmoid findet keine Schnittstellen

Auf einem Samsung N150 Netbook findet das NetworkManager Plasmoid nach der Ruhephase keine Schnittstellen mehr (OpenSUSE 12.3, Kernel 3.7 und 3.9, KDE 4.10.3). Der NetworkManager Daemon läuft allerdings ohne Probleme und verbindet auch z.B. ins WLAN.

Das Problem scheint an den ACPI-Einstellungen zu liegen. Seit Ergänzung der Boot- Parameter um acpi_osi=Linux gab es keine Probleme mehr damit. Der Vollständigkeit halber hier nochmal alle zusätzlichen Parameter für dieses System:

acpi_osi=Linux acpi_backlight=vendor

Backup MySQL

Ein sehr nützliches Werkzeug für das Backup von MySQL Datenbanken ist AutoMySQLBackup.

Mehrere Seiten in ein PDF einscannen

Möchte man unter Linux mehrere Dokumente einscannen und in einer PDF abspeichern kann man die Konsole verwenden -das ist aber nicht jedem Anwender zu vermitteln.

Ansonsten bin ich auf genau zwei Programme gestoßen die dies erledigen. Xsane oder gscan2pdf.

Xsane ist allerdings nur für automatische Einzugsscanner geeignet, da man die Scan-Sequenz nicht unterbrechen kann. Wenn man beim Blattwechsel schnell ist geht es aber auch.

gscan2pdf bietet aber alles was man braucht um seine Dokumente elektronisch archivieren zu können. Texterkennung etc. inklusive. Bei OpenSUSE ist es über die Repositories zu beziehen. Das kann ich auch nur dringend empfehlen, denn die Installation der abhängigen Perl Pakete wird sonst zur Qual. Es muss aber das Perl Repository ebenfalls eingebunden sein.

owCloud und lock Datei

Der Client von ownCloud hat gegelentlich ein Problem mit der lock-Datei. Es genügt dieser per Hand zu löschen:
~/.local/share/data/ownCloud/lock

März 2013: Win 8 und Anmeldedaten Netzlaufwerk

Beim Einbinden eines Netzlaufwerks unter Windows 8 kann man, wie gewohnt, bei "Anmeldedaten speichern" ein Häkchen setzen. Allerdings wird man nach einem Neustart trotzdem nach Benutzername und Passwort gefragt.

Lösung (eine mögliche): Systemsteuerung ->
Benutzerkonten und Famliy Safty -> Windows Anmeldeinformationen verwalten -> Windows-Anmeldeinformationen hinzufügen
Dann gibt man bei oder Netzwerkadresse die entsprechenden Hostnamen, Benutzername und Kennwort ein.

Feb 2013: EFI Boot Einträge für Linux fehlen

Nach einem BIOS-Update fehlten plötzlich die Einträge für Linux, der Eintrag für Windows war vorhanden.

Lösung: Linux-System über Rettungssystem starten und grub2-efi-install ausführen. Ich musste beim Start noch beachten die VFAT-Treiber zu laden.

 

Dez 2012: Linux und kein Mikrofon mit Skype

Ein Problem mit Skype (4.1) hat mich doch etwas länger beschäftigt als gewollt. Das Problem war, dass mein Gegenüber mich sah und hörte, ich aber keinen Ton empfing. Es schien als wollte Skype beim Sender nicht aufs Mikrofon zugreifen.

Nach einem Start von Skype über die Konsole gab es den ersten Hinweis in Form einer Fehlermeldung:
ALSA lib pulse.c:243:(pulse_connect) PulseAudio: Unable to connect: Connection refused

Also ein Problem mit PulseAudio. Nachdem PulseAudio aktiviert (bei OpenSUSE über Yast -> Hardware -> Sound -> Andere -> PulseAudio-Konfiguration) und Skype neu gestartet wurde gab es auch Ton von meinem Gegenüber.

Was mich immer noch wundert, dass ohne PulseAudio die Audio-Ausgabe mit Skype funktionierte aber die Audio-Eingabe nicht.

Linux Intel SNA Grafik

Die folgenden Zeilen in der /etc/X11/xorg.conf.d/50-device.conf können den Unterschied zwischen einem sehr träge reagierendem System mit gelegentlichen Hängern und einer flotten Oberfläche ausmachen.

Bei meinem Desktop (Intel(R) Core(TM) i7-2600K) nutze ich die onboard-Grafik in Kombination mit einer Auflösung von 1920x1080 Punkten. Und das System war träge. Die Änderung des Modus ließ mich staunen.

Section "Device"
 Identifier "Card0"
 Driver "intel"
 Option "AccelMethod" "sna"
EndSection

Auf meinem Laptop konnte ich dagegen keinen Unterschied spüren.

 

Bildschirm schwarz bei OpenSUSE 12.1 mit KDE 4.8

Nach einem Update auf KDE 4.8.x konnte ich mich zwar bei KDE anmelden, aber sobald im Splash-Screen das K erleuchtet schaltete der Bildschirm auf schwarz und das System verweigerte jede Eingabe. 

Lösung: Die temporären Dateien für KDE aus /tmp löschen (/tmp/kde-<USERNAME>) und beim Login Panel die Sitzungsart wählen. In meinem Fall reichte 'KDE Plasma'.

 

networkmanager und versteckte (hidden) WLANs

Als Frontend für die Verwaltung der Netzwerkverbindungen verwende ich bevorzugt das networkmanager plasmoid (KDE).

Allerdings ist das Einbinden von WLANs mit versteckter (hidden) ESSID nicht ganz so bequem wie es auf den ersten Blick scheint. Bevor es bei mir ging musste mit root-Rechten

iwlist wlan0 scanning essid "<YOUR_WLAN_NAME>"


ausgeführt werden.

 

Eclipse

Gelegentlich fehlen Eclipse Buttons. Es scheint mit neueren KDE Versionen zusammenzuhängen.

Lösung:
GDK_NATIVE_WINDOWS=true /opt/eclipse/eclipse

 

Passwort Generierung

Wie häufig muss man Passwörter generieren. Hilfreich dabei sind Tools wie pwgen. Um nicht auf jedem System ein solches Tool installieren zu müssen gibts hier eine Variante für den Browser.