DNS-Server:
IPv4:
8.8.8.8
8.8.4.4
IPv6
2001:4860:4860:0:0:0:0:8888
2001:4860:4860:0:0:0:0:8844
Quelle: https://developers.google.com/speed/public-dns/docs/using
Tutorials und Anleitungen
8.8.8.8
8.8.4.4
2001:4860:4860:0:0:0:0:8888
2001:4860:4860:0:0:0:0:8844
Quelle: https://developers.google.com/speed/public-dns/docs/using
Beitrag von: 2022-01-14 08:12:04 Friday
Manchmal kann es vorkommen, dass Code aus dem Google-Authenticator plötzlich nicht mehr angenommen werden. Es erscheint nach jeder Eingabe stets die Meldung, dass der Code nicht gültig sein. Mir persönlich ist das mal passiert als ich mich in Plesk meines Servers einloggen wollte.
Jetzt nur nicht in Panik geraten! Neben der Möglichkeit herauszufinden, wie man den Authenticator in dem entsprechenden Dienst deaktiviert, gibt es eventuell eine viel banalere Lösung.
Eine der möglichen Fehler dabei ist, dass die Zeiten zwischen dem Mobilgerät auf dem der Authenticator läuft, dem Google Server und dem eigenen Dienst, bei dem man sich einloggen möchte, nicht synchron sind.
Zur Lösung geht man wie folgt vor.
Mit etwas Glück ist der Spuk vorbei und man kann sich wie gewohnt einloggen. Bei Anregungen und Tipps, gerne über das Kontaktformular eine Info an mich.
[ Beitrag aktuell in Bearbeitung ]
Dieser Beitrag fasst den täglichen Umgang mit GIT zusammen. Er zeigt ohne Umwege anhand eines Beispielprojektes den allgemeinen Umgang mit GIT. Wenn man das erste mal mit GIT zutun bekommt, kann der Funktionsumfang einen überwältigen. In der Praxis braucht man aber als Entwickler relativ wenig davon. Wenn man die Grundprinzipien von GIT verstanden hat kann man mit der Zeit sein Wissen erweitern.
Ich hatte damals, als ich das erste mal mit GIT zutun bekam, zwar viel Literatur gefunden da GIT extrem gut dokumentiert und gepflegt ist, aber ein richtiges Praxisbeispiel fehlte.
Wozu Versionverwaltung und wieso gerade git?
Kannst Du gerne woanders nachlesen. Ich habe da etwas rausgesucht, hier [1] , hier [2] und hier [3] hast Du einige Grundlagen. Ganz kurz in wenigen Worten: GIT ist eine Versionsverwaltung um Softwarecode, Dokumente oder was auch immer zu verwalten und im Team zu koordinieren. Letztendlich ist Git ein Werkzeug für die Versionsverwaltung, es macht wie es heißt: Versionen-Verwalten
Zu beginn eines Projekts sollte man ganz normal anfangen zu programmieren, ab irgend einem Zeitpunkt, am besten so früh wie möglich sollte man dann ein Repository erstellen. Hat man ein bereits bestehendes Projekt, kann man selbstverständlich ein Repository erstellen und das vorhandene Projekt hineinkopieren.
Noch einfacher ist es indem man einfach in das Hauptverzeichnis des Projekts wechelt und ein einfaches
git init
anwendet. Schon steht das ganze Projekt „theoretisch“ unter Versionsverwaltung. Noch wurde allerdings keine Momentaufnahme der Dateien vorgenommen, dies geschieht mit dem ersten commit, dazu gleich mehr.
git init --bare
Ein sogenanntes bare-Repository ist ein Repository ohne Arbeitsbereich oder sogenannten Work-Flow. Wenn man ein normales git init ausführt wird ein Repository initialisiert wie oben bereits erwähnt. Ein bare-Repository ist ein Repository OHNE die eigentlichen Dateien. Dieses Repository dient einzig und allein dazu Versionen zu verteilen. In der Praxis als Entwickler könnte es so aussehen das man bei Arbeitsbeginn mit einem git clone eine Arbeitskopie auf seinem Rechner erstellt und abends wieder pusht.
Keinesfalls sollte man IN diesem Verzeichnis arbeiten, keine manuellen Änderungen vornehmen und nichts hinein kopieren oder löschen.
[1] – https://de.wikipedia.org/wiki/Git
[2] – https://git-scm.com/book/de/v1/
[3] – http://gitbu.ch/
Wenn Du Manjaro oder Arch verwendest, mit Stream Civilization bei Dir direkt nach dem Start abstürzt, versuche mal folgende Startoption in Steam:
LD_PRELOAD=/usr/lib32/libopenal.so.1 %command%
Quelle: https://superuser.com/questions/…
Hier nur ganz kurz auf die Schnelle. Nach Neuinstallation eines Manjaro-Linux Systems konnte die Windowsfreigabe einer Fritzbox nicht mehr gemountet werden über die /etc/fstab
. Zuerst habe ich schnell CIFS installiert mit sudo pacman -S cifs-utils
.
Obwohl es die gleiche fstab aus einem Backup war, kam beim Versuch zu mounten folgende Fehlermeldung:
[work /]# mount -a mount error(112): Host is down Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
Der ensprechende Eintrag in der /etc/stab sah wie folgt aus:
//fritz.box/FRITZ.NAS/Disk-Name-01 /media/fritzbox cifs credentials=/root/.smbcredentials 0 0
Das Passwort habe ich unter /root/.smbcredentials
gespeichert wie man sieht damit man es beim booten nicht eingeben muss. Die Fehlermeldung blieb und der Server war selbst verständlich erreichbar.
Was war passiert? Ein Blick in man mount.cifs
, wie die Fehlermeldung geraten hatte brauchte folgendes zum Vorschein (Auszug):
vers=arg SMB protocol version. Allowed values are: · 1.0 - The classic CIFS/SMBv1 protocol. · 2.0 - The SMBv2.002 protocol. This was initially introduced in Windows Vista Service Pack 1, and Windows Server 2008. Note that the initial release version of Windows Vista spoke a slightly different dialect (2.000) that is not supported. · 2.1 - The SMBv2.1 protocol that was introduced in Microsoft Windows 7 and Windows Server 2008R2. · 3.0 - The SMBv3.0 protocol that was introduced in Microsoft Windows 8 and Windows Server 2012. · 3.1.1 or 3.11 - The SMBv3.1.1 protocol that was introduced in Microsoft Windows Server 2016
Also habe ich die /etc/fstab
schnell angepasst in:
//fritz.box/FRITZ.NAS/Disk-Name-01 /media/fritzbox cifs vers=1.0,credentials=/root/.smbcredentials 0 0
Problem gelöst! Keine Ahnung wieso es unter Debian 9 vorher problemlos lief. Vieleicht eine andere cifs-Version?
MAJOR.MINOR.PATCH
Eigentlich wollte ich einen kurzen knappen Beitrag darüber schreiben, wie man Software am besten versioniert. Nach kurzer Überlegung fiel mir aber sehr schnell SemVer ein, ein Verfahren, das sich eigentlich perfekt durchgesetzt hat, aber noch nicht einmal im deutschsprachigen Wikipedia-Artikel Einklang findet außer einen Link.
Da SemVer ein gutes und sinnvolles Verfahren ist, gehe ich hier auch gar nicht mehr weiter auf Versionierung ein.
! Package babel Error: You haven't specified a language option.
Was wenn Lyx manchmal, gerade nach einer Neuinstallation obige Fehlermeldung ausspuckt wenn man eine Datei im PDF-Format betrachten möchte? Bei mir hilft immer folgendes:
sudo apt-get install texlive-lang-german
Zumindest unter Debian …
Stand: 28-07-2018
von Adam Jaquet
Diese FAQ richtet sich an Neueinsteiger die bereits das interne Tutorial durchgearbeitet haben. Vim ist meiner persönlichen Meinung nach der effektivste Texteditor den es gibt. Ich verwende ihn durchweg für alles was irgendwie mit Text zu tun hat. Im Buch „Der Pragmatische Programmierer“ lass ich irgendwann einmal sinngemäß die Aussage „Verwende anstatt für jedes Format einen anderen Editor lieber einen Editor für alles. Verwende nur einen Editor, den aber richtig!„. Vim ist für mich nicht nur ein Editor sondern eine IDE für alle Programmiersprachen. Ich mache alles mit Vim, egal ob im X-Window oder Terminal/ Konsole. Und dann gibt es noch gvim. Man kann vim mit GUI starten mit der Option vim -g
(falls einkompiliert). Unter Debian ist es nur einhalten wenn zuvor gvim mit apt-get install gvim
installiert wurde.
Mit Vim wird man erst richtig effektiv je besser man seine Funktionen verinnerlicht und beherrscht. Am Anfang, falls man nur das arbeiten mit der Maus gewöhnt ist scheint es etwas abschreckend zu sein. Mit der Zeit allerdings wird man die Vorteile zu schätzen wissen.
Ich empfehle das Buch „Vim in der Praxis“
von Drew Neil für den Anfang. Ich empfehle des weiteren mit Vim ohne irgendwelche Plugins oder besonderen Einstellungen zu arbeiten die man nicht selbst vorgenommen hat. Tut man dies nicht, wird der Einstieg um so schwerer!
Ich verwende hier Abkürzungen der Tastenanschläge. Ein <C-p> bedeutet STRG und Taste p. ein <A-k> entsprechend ALT + k. Befehle die mit :
beginnen sind im normalen Modus (ESC) einzugeben. Des weiteren möchte ich unbedingt anmerken das alle Antworten immer nur die Thematik anschneiden und nicht ausführlich beantworten.
Klar, hast Du es schon einmal mit vimtutor de
versucht?
mit evim ist es möglich vim wie einen ganz normalen Editor zu verwenden. Es wird sofort um Einfügemodus gestartet und der Befehlsmodus steht nicht mehr direkt zur Verfügung.
Wem das noch immer nicht einfach genug ist kann auch Cream verwenden, damit stehen alle Funktionen über ein Menü zur Verfügung. Die Vorteile und Stärken von Vim gehen natürlich verloren aber man benötigt keinen zusätzlichen Editor.
:syntax on
Mit :colorscheme [SCHEMA]
kann man ein bestimmtes Schema auswählen. Diese befinden sich in der Regel unter /usr/share/vim/vim*/colors/
:set number
Die Datei ~/.exrc
wird bei Ausführung vom vim automatisch aufgerufen. Dort können Einstellungen vorgenommen genau so wie direkt im vim. Interessant ist zu wissen das diese Datei auch in Unterverzeichnisse eine Projekts eingebracht werden kann und verarbeitet wird. Ist keine vorhanden wird die aus ~/ bevorzugt.
Beispiel einer .exrc:
" Das ist ein Kommentar: set number set showmode set noautoindent set tabstop=4
Es gibt noch die Umgebungsvariable EXINIT die verarbeitet wird, ist diese definiert wird sie bevorzugt.
Selbstverständlich kann man alle Einstellungen die man im Editor vornimmt mit :
auch direkt in diese Datei eintragen.
Die .vimrc ist für VIM und die .exrc für VI. VIM nimmt die .exrc als Konfiguration falls die .vimrc nicht vorhanden ist.
:e [VERZEICHNIS]
wobei z.B mit :e .
das aktuelle Verzeichnis angezeigt wird von dem aus vim gestartet wurde. Navigiert wird wie gewohnt und mit ENTER das der aktuelle Eintrag gewählt wird.
:[ZEILE]
Mit :23
sprint der Cursor also in Zeile 23.
Kurz gesagt, nach einem bestimmten Schlüsselwort sucht man mit /[Schlüsselwort]
einmalig in einer Datei ab Cursorposition. Mit :1
springt man wieder in die erste Zeile.
Vi und Vim haben auch eine Autovervollständigung. Diese kann im Einfügemodus (i
) mit <C -p> oder <C-n> aufgerufen werden. Wird diese aufgerufen, wird die aktuelle Datei durchforstet und eine Liste mit möglichen Wörtern erstellt.
In der Praxis gibt man also ein paar Zeichen ein und anschließend <C-P>, eine Liste wird eingeblendet mit den möglichen Wörtern die mit den bereits eingegebenen Zeichen beginnen.
Und jetzt kommt etwas das nicht jeder Editor kann, mit <C-x>+<C-l> kann man auf die gleiche Art und weise eine ganze Zeile vervollständigen.
Mit Vi und Vim kann man den Arbeitsbereich teilen und mehrere Dateien Visuell gleichzeitig bearbeiten (kann man auch ohne Splitscreen mit Buffern). Den arbeitsbereich horizontal teilen/ splitten kann man mit :split [Dateiname] und vertikal mit :vsplit [Dateiname]. Den Dateinamen kann man optional auch weglassen.
Zwischen den Splitscreens wechseln:
<C-w w> Zum nächsten Fenster wechseln
<C-w i> Zum rechten Fenster wechseln
<C-w h> Zum linken Fenster wechseln
<C-w k> Zum oberen Fenster wechseln
<C-w j> Zum unteren Fenster wechseln
Die Anordnung der Fenser verändern:
<C-w x> Fenster tauschen
<C-w r> Alle Fenster rotieren
Bekanntlich kann man mit :q
und :q!
die aktuelle Datei schließen. Mit dem Commando :qa
und :qa!
kann man alle Dateien und Splitfenster gleichzeitig schließen. Mit letzteren wird nicht gefragt ob gespeichert werden soll also vorsicht!
Klar, das ganze nennt sich unter VIM Mapping und hat die Syntax: :map [TASTE] [BEFEHLSKETTE]
. Dies könnte in der Praxis wie folgt aussehen:
:map <F5> :qa! <CR>
Drückt man nun die F5 Taste, wird :qa!
ausgeführt und da <CR> emuliert das Drücken der ENTER-Taste (alle Dateien werden sofort ungespeichert geschlossen und vim beendet).
Ausser <CR> gibt es noch andere Spezialzeichen wie <SPACE> oder <C-d>. Letzteres Emuliert <STRG-d>. Selbstverständlich kann man dies auch alles für den dauerhaften Einsatz in die .vimrc oder .exrc eintragen damit die Makros bereits ab Start von Vim bereitstehen.
Vim ist zwar ein Konsolenprogramm und hat keine GUI (außer gvim) aber dennoch gibt es Tabs. Um eine Datei in einem neuen Tab zu öffnen verwendet man :tabe [Dateiname]
. Navigieren zwischen den Tabs kann man mit:
gt – zum nächsten Tab
gT – zum vorherigen Tab
4gT – springt zum Tab 4
Um Dateien direkt schon beim Start aufzurufen verwendet man den Parameter -p
:
$ vim -p /home/musterman/datei1 /home musterman/datei2
Stell Dir vor Du hast eine Datei erstellt, nehmen wir mal an das es sich um eine Perl-Datei handelt. Diese enthält, warum auch immer, einen Abschnitt in HTML. Anderes Beispiel wäre das der Dateityp gar nicht erkannt wurde. Dann gibt es die Möglichkeit mit :set ft=[DATEITYP]
den Typ zu ändern.
:set ft=HTML
würde für die aktuelle Sitzung das Syntax-Highlight für HTML aktivieren.
Ja, man kann mit dem VI und VIM ohne irgendwelche Plugins verschlüsseln. Dazu entweder vim mit der Option -x
starten oder im interaktiven Modus :X
einschalten. Man kann mit dieser Option auch bestehende Dateien öffnen zum verschlüsseln. Im Anschluss wird man nach einem neuen Passwort gefragt das man wiederholt eingeben muss. Anschließend wie gewohnt speichern.
Man kann mehrere Verschlüsselungsmethoden von start einstellen:
:setlocal cm? " Zeigt aktuelle Methode an :setlocal cm=zip " schwach (voreinstellung) :setlocal cm=blowfish " besser :setlocal cm=blowfish2 " beste (min. Vim version 7.4.399)
Möchte man die Verschlüsselung wieder entfernen einfach nochmal :X
und das Passwort leer lassen.
Ich bitte um weitere Tipps zur Aufnahme in die FAQ.
Ich wäre fast verzweifelt. Mit wget kann man bekanntlich ganze Internetprojekte rekursiv herunterladen. Mit einem einfachen wget -r -l2 [URL]
kann man ein ganzes Projekt inklusive links bis zur zweiten Ebene herunterladen. Dies mache ich öfter wenn zB ein Tutorial auch offline verfügbar sein soll oder ich die Gefahr wittere das es eines tages einfach verschwinden könnte.
Nun hatte ich einmal so ein Tutorial [1] das sich nicht herunterladen lies. Die Ursache war mir völlig unbekannt und man wget brachte mich auch nicht wirklich weiter bis ich in einer Dokumentation [2] auf -e robots=off
stieß.
Ich schaute in die robots.txt auf der besagten Seite und stellte fest das dort folgendes eingetragen war:
User-agent: * Disallow: /
Die robots.txt ist eigentlich an Suchmaschinen gerichtet um anzuweisen das eine Seite nicht indexiert wird. In diesem Fall ist das natürlich völliger Unfug den Anleitungen im Internet sind selbstverständlich zum gefunden und gelesen zu werden. Da wget aber die robots.txt beachtet fühlt er sich angesprochen und lädt die besagten Dateien nicht herunter.
Die obige Anweisung wird also erweitert: wget-e robots=off -r -l2 [URL]
und wget wird die robots.txt ignorieren und wie gewünscht alles herrunterladen.
Nachtrag:
möchte man das wget dauerhaft die robot.txt ignoriert kann man diese Option auch in die Konfigurationsdatei von wget schreiben. diese befindet sich im im home (~/.wgetrc). Falls nicht muss sie noch erstellt werden.
Wenn man gerade dabei ist Webseiten zu bearbeiten und Kleinigkeiten am Design durchführt, ist es manchmal lästig den Cache des Browsers auf null zu stellen. Macht man dies nicht, nützt ein Reload mit F5 recht wenig den dann läd der Browser einfach aus dem Cache.
Die meisten die mit so etwas zutun haben werden es sicherlich wissen aber es gibt da einen kleinen Banalen Trick: STRG+F5