“GLib-CRITICAL” Seltsamer Ubuntu Bug oder seltsame Fehlermeldung?

gparted-logoUbuntu 15.04 hat bisher problemlos funktioniert, aber leider ist jetzt seit Tagen eine Fehlermeldung beim Startvorgang aufgetaucht, die mich beunruhigte.
“GLib-CRITICAL: Source ID 13 was not found when attempting to remove it” steht in der syslog.
Angeblich ein Bug, der bei mir auch reproduzierbar ist. Bekannt geben brauche ich ihn nicht mehr, da er schon auf bugs.launchpad.net zu finden ist, siehe GLib-CRITICAL **: Source ID was not found when attempting to remove it – warning when leaving Network menu of g-c-c.
Da ich ein start fähiges Ubuntu auf einem USB-Stick habe und mein “home” und “etc” gesichert ist, kann nicht viel passieren, also sehe ich mir einmal die Laufwerke mit e2fsck(8) an, wie es beim Bootvorgang empfohlen wird. Dieser wird angehalten, dann kommt die Meldung: “Welcome to emergency mode! After logging in type “journalctl -xb …. usw. Ja, da steht das Gleiche, wie in der syslog: “GLib-CRITICAL **: Source ID was not found w”… und zur Behebung bekam ich vom System den Tipp, ich solle e2fsck ausführen. Das kann zwar nicht schaden, aber da ich gerade keine Lust dazu hatte, wollte ich Fedora starten und stellte zu meinem Entsetzen fest, dass ich letztes mal nur Ubuntu, Mint und Windows 9 installierte. Windows bekam ich kostenlos von einem Institut und Mint ist bestimmt auch sehr gut, aber mir persönlich gefällt es nicht besonders. Das ist aber nur eine rein persönliche Geschmackssache und hat nichts mit der Qualität von Mint zu tun. Also die Live CD von Ubuntu ins Laufwerk und GParted starten. Die Partition für Fedora verkleinern und Kaffee trinken, denn die Verkleinerung der Partition ist ein langwieriger Prozess. Neustarten – ach, ich sollte vorher die Fedora-CD einlegen. Zu spät, Ubuntu startet schon – und ob ihr es glaubt oder nicht, ohne Fehlermeldung. Die Verkleinerung der Partition hat also schon gereicht, um den Fehler zu beheben. Gut gemacht, GParted. Jetzt habe ich also wieder ein fehlerloses Ubuntu, eine überprüfte HD und Platz für Fedora. Das ist recht erfreulich, denn am 22. Oktober kommt ja schon “Willi der Werwolf”, nein “wily werewolf“, also Ubuntu 15.10 heraus.

Weblinks:
GLib-CRITICAL: Source ID … was not found when attempting to remove it
Sublime Text on Ubuntu 14.04 – Keeps attempting to remove it
GLib-CRITICAL **: Source ID XXX was not found when attempting to remove it
Dateisystemcheck und
e2fsck(8) – Linux man page (falls jemand “man e2fsck” auf der Konsole nicht eintippen kann.

Bild: Gparted-Logo von pixel-anarchy.de

lighttpsd gegen Apache2 mit DAU

Normal würde der Apache natürlich keine Vergleich scheuen müssen, obwohl der lighttpsd ja ganz gut sein mag, aber in meinem Fall hatte der Apache einfach keine Chance, was natürlich an mir lag.
Ja, wenn man irgendwann einen lighttpsd installiert und laufen hat, sollte man das nicht einfach vergessen. Nachdem ich den Apachen durch Konfigurationsfehler zum Absturz brachte, lies er sich nicht mehr starten. Nach langem hin und her beschloss ich, den Webserver neu zu installieren und entfernte zuerst die kaputte Installation mit purge, also auch den Konfigurationsdateien. Nach der Neuinstallation war ich sicher, dass ich neu anfangen konnte und startete den Apachen guter Dinge mit der Minimalkonfiguration. Doch zu meinem Erstaunen fand ich “(98)Address already in use: AH00072: make_sock: could not bind to address [::]:80” also “no listening sockets available”.
Das kann doch nicht sein, dachte ich mir, aber “netstat -tulpn | grep :80” erklärte mir, dass da ein httpsd lauscht. ps aux bestätigt mir, dass ich den lighttpsd vergessen hatte. Ich benötigte ihn nicht mehr also habe ich ihn “removed” und mich anschließend wieder einmal als DAU (dümmster anzunehmender user) bewiesen. Der Apache konnte für den Port 80 noch immer keinen socket anlegen und ich begann nach dem Problem zu googeln. Erst nach geraumer Zeit fand ich heraus, dass der lighttpsd trotz “remove” noch immer lief. Naja, so hatte der Apache kein Chance, aber nach einem “killall lighttpsd” war alles ruhig auf :80 und der Apache nahm endlich seinen Dienst auf.
Meine ganz unglaubliche Erkenntnis des Tages ist also: “es genügt nicht, wenn man zuerst feststellt, wer den Port blockiert, sondern man muss den Dienst auch stoppen”. Wow, jetzt bin ich wieder klüger geworden. 😉

telnet – Kommandos und Optionen sind mir immer noch nützlich

Immer wieder nützlich, daher notiere ich sie mir schnell.

telnet> ?

close   	close current connection
logout  	forcibly logout remote user and close the connection
display 	display operating parameters
mode    	try to enter line or character mode ('mode ?' for more)
open    	connect to a site
quit    	exit telnet
send    	transmit special characters ('send ?' for more)
set     	set operating parameters ('set ?' for more)
unset   	unset operating parameters ('unset ?' for more)
status  	print status information
toggle  	toggle operating parameters ('toggle ?' for more)
slc     	set treatment of special characters

z       	suspend telnet
environ 	change environment variables ('environ ?' for more)

Zum Beispiel um einen Email-Server zu testen.
telnet
telnet> open mail.irendwer.irgendeine 25
Connectet to …
EHLO mail.irendwer.irgendeine

250-mail.irendwer.irgendeine
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
Man kann sich dann anmelden mit
AUTH LOGIN

und wird nach dem Benutzernamen gefragt. Der ist dann im base 64 Format (es gibt auch andere encoder online) einzugeben, ebenso wie das Kennwort.
Mit
MAIL FROM:<sender@domain.com> ENTER kann man bei Erlaubnis (sonst weigert sich der SMTP) RCPT TO:<recipient@remotedomain.com> ENTER den Empfänger eingeben. Ist der Empfänger empfangsbereit kommt keine Fehlermeldung und man kann mit DATA den Text eingeben. Nach ENTER gibt man einen Punkt ein (.) ENTER und schon sollte die E-Mail unterwegs sein, was der telnet-client telnet auch anzeigt.

Man kann damit auch den “TCP Port 80 (https) Zugriff mit telnet überprüfen”.

Package für Debian, Ubuntu und als RPM.

Telnet auf Wickipedia macht auch schlau und wenn ich mehr wissen will, lese ich die Ausgabe von

telnet> set ?
echo            character to toggle local echoing on/off
escape          character to escape back to telnet command mode
rlogin          rlogin escape character
tracefile       file to write trace information to
                
                The following need 'localchars' to be toggled true
flushoutput     character to cause an Abort Output
interrupt       character to cause an Interrupt Process
quit            character to cause an Abort process
eof             character to cause an EOF 
                
                The following are for local editing in linemode
erase           character to use to erase a character
kill            character to use to erase a line
lnext           character to use for literal next
susp            character to cause a Suspend Process
reprint         character to use for line reprint
worderase       character to use to erase a word
start           character to use for XON
stop            character to use for XOFF
forw1           alternate end of line character
forw2           alternate end of line character
ayt             alternate AYT character

autoflush       enable flushing of output when sending interrupt characters
autosynch       enable automatic sending of interrupt characters in urgent mode
skiprc          enable don't read the telnetrc files
binary          enable sending and receiving of binary data
inbinary        enable receiving of binary data
outbinary       enable sending of binary data
crlf            enable sending carriage returns as telnet <CR><LF>
crmod           enable mapping of received carriage returns
localchars      enable local recognition of certain control characters

debug           enable debugging
netdata         enable printing of hexadecimal network data (debugging)
prettydump      enable output of "netdata" to user readable format (debugging)
options         enable viewing of options processing (debugging)
termdata        enable (debugging) toggle printing of hexadecimal terminal data
?               display help information

das Linux Manual mit “man telnet”:

TELNET(1) BSD General Commands Manual TELNET(1)

NAME
telnet — user interface to the TELNET protocol

SYNOPSIS
telnet [-468ELadr] [-S tos] [-b address] [-e escapechar] [-l user]
[-n tracefile] [host [port]]

DESCRIPTION
The telnet command is used for interactive communication with another
host using the TELNET protocol. It begins in command mode, where it
prints a telnet prompt (“telnet> “). If telnet is invoked with a host
argument, it performs an open command implicitly; see the description
below.
telnet – Kommandos und Optionen sind mir immer noch nützlich weiterlesen

web2py auf einem entfernten Server installieren

web2pyMan sollte bedenken, dass web2py nur über https remote gestartet werden kann. Also web2py herunter laden wegt xxx (https://www.web2py.com/examples/static/web2py_src.zip), entpacken und die Installation ist fertig.
Xero hat auf Simplest way to setup remote admin access to a web2py process kurz und bündig beschrieben, wie es weiter geht. Ich erlaube mir zu zitieren:

  1. Start by generating your certificate files, if you don’t have them already

    openssl genrsa -out server.key 2048

    openssl req -new -key server.key -out server.csr

    openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

  2. Copy the server.key and server.crt files to your web2py root folder.
  3. Then start the web2py application using the certificate files

    python web2py.py -a 'AdminPwd' -c server.crt -k server.key -i 0.0.0.0 -p 8000

  4. Then go to the browser and open, please note that the https is important

    https://IpAddr:8000/admin/default/site

Das war es auch schon, danke Xero.