Pacmans installierte Pakete und Pacmans Cache aufräumen

Ungenutzte Pakete entfernen Beim Deinstallieren von Pakete sollte immer der Parameter -Rs anstatt nur -R verwendet werden, um auch alle nicht mehr benötigten Pakete mit zu deinstallieren: $ pacman -Rs paketname Eine Liste aller Pakete, die nicht mehr benötigt werden erhält man mit dem Kommando: $ pacman -Qtdq Man kann diese Liste auch gleich als Eingabe für das Entfernen durch pacman geben: $ sudo pacman -Rns $(pacman -Qtdq) Ob wirklich all die daraufhin gelisteten Pakete wirklich deinstalliert werden, sollte man unbedingt vorher überprüfen. Pacman Cache säubern Mit der Zeit sammeln sich auf einem Archlinuxsystem einige Pakete im Verzeichnis /var/cache/pacman/pkg/. Das sind vor allem verschiedene Versionen jemals installierter (und mittlerweile auch deinstallierter) Pakete. Am einfachsten ist es die Pakete aufräumen zu lassen. Das geht mit dem Tool paccache. Mit den folgenden beiden Kommandos kann man zunächst eine Trockenübung machen, ob sich das Aufräumen überhaupt lohnt: $ paccache -d ==> finished dry run: 4639 candidates (disk space saved: 19.6 GiB) $ paccache -duk0 ==> finished dry run: 476 candidates (disk space saved: 4.31 GiB) Der erste Aufruf von paccache mit dem Parameter -d zählt die Anzahl der installierten Pakete, die gelöscht werden können. Dabei werden die drei neuesten Paketversionen noch behalten, sodass man im Zweifelsfall noch zu einer älteren Version downgraden kann. Beim zweiten Aufruf mit dem Parameter -duk0 werden alle nicht mehr installierten Pakete in allen Versionen gezählt und der dafür verbrauchte Speicherplatz gemessen. ...

Dezember 2, 2015 · 2 Minuten

Mirror verwalten unter Archlinux

Unter Archlinux sollte man ab und zu mal die Mirrorliste von pacman aktualisieren. Dazu überschreibt man zunächst die aktuelle mit der neuesten mirrorlist Datei und erstellt anschließend eine Kopie davon: $ sudo cp /etc/pacman.d/mirrorlist.pacnew /etc/pacman.d/mirrorlist $ sudo cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.forranking In der Kopie müssen nun zunächst alle Mirrorserver aktiviert. Das geht am einfachsten mit sed: $ sudo sed -i 's/^#Server/Server/' /etc/pacman.d/mirrorlist.forranking Anschließend kann mit dem Programm rankmirrors eine Liste der drei schnellsten Mirror erstellt werden. Dies kann einige Minuten dauern. $ sudo rankmirrors /etc/pacman.d/mirrorlist.forranking -n 3 # Server list generated by rankmirrors on 2015-12-02 ## ## Arch Linux repository mirrorlist ## Generated on 2015-11-22 ## ## Worldwide ## Australia ## Austria ## Bangladesh ## Belarus ## Belgium ## Brazil ## Bulgaria ## Canada ## Chile ## China ## Colombia ## Croatia ## Czech Republic ## Denmark ## Ecuador ## France ## Germany ## Greece ## Hungary ## Iceland ## India ## Indonesia ## Iran ## Ireland ## Israel ## Italy ## Japan ## Kazakhstan ## Latvia ## Lithuania ## Luxembourg ## Macedonia ## Netherlands ## New Caledonia ## New Zealand ## Norway ## Philippines ## Poland ## Portugal ## Romania ## Russia ## Serbia ## Singapore ## Slovakia ## South Africa ## South Korea ## Spain ## Sweden ## Switzerland ## Taiwan ## Turkey ## Ukraine ## United Kingdom ## United States ## Vietnam Server = http://ftp5.gwdg.de/pub/linux/archlinux/$repo/os/$arch Server = http://mirror.23media.de/archlinux/$repo/os/$arch Server = http://ftp.hosteurope.de/mirror/ftp.archlinux.org/$repo/os/$arch Abschließend werden die drei gelisteten Server noch manuell in der eigentlich mirrorlist Datei für pacman aktiviert und die Arbeitskopie der Mirrorliste gelöscht. ...

Dezember 2, 2015 · 2 Minuten

logcheck Regel Update #2

Hier das zweite Update meiner logcheck Regeln. Aktuell nutze ich logcheck 1.3.17 unter Debian GNU/Linux 8. diff --git a/logcheck/ignore.d.server/amavisd-new b/logcheck/ignore.d.server/amavisd-new index fb794bd..a6121f3 100644 --- a/logcheck/ignore.d.server/amavisd-new +++ b/logcheck/ignore.d.server/amavisd-new @@ -3,5 +3,5 @@ ^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ amavis\[[[:digit:]]+\]: \([-[:digit:]]+\) NOTICE: Not sending DSN in response to bulk mail from <[^.]*> containing [[:upper:] ]+, mail intentionally dropped$ ^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ amavis\[[[:digit:]]+\]: \([-[:digit:]]+\) INFO: unfolded [[:digit:]]+ illegal all-whitespace continuation lines$ ^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ amavis\[[[:digit:]]+\]: \([-[:digit:]]+\) WARN: address modified \((sender|recipient)\): <[^>]+> -> <[^>]+>$ -^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ amavis\[[[:digit:]]+\]: \([-[:digit:]]+\) Passed (BAD-HEADER-[[:digit:]]|UNCHECKED|CLEAN|SPAM(MY)?) {(RelayedInbound|RelayedTaggedInbound|RelayedOpenRelay|RelayedInternal)(,Quarantined)?},( LOCAL)? (\[[.[:digit:]]+\]:[[:digit:]]+ )?(\[[.:[:alnum:]]+\] )?<([._-=@[:alnum:]]+)?> -> <([._-=@[:alnum:]]+)?>,( quarantine: [._-=/@[:alnum:]]+,)? (Queue-ID: [[:alnum:]]+, )?(Message-ID: <.*>, )?mail_id: [-_[:alnum:]]+, Hits: -?[.[:xdigit:]]*, size: [[:digit:]]+, queued_as: [_[:alnum:]]+, [[:digit:]]+ ms$ +^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ amavis\[[[:digit:]]+\]: \([-[:digit:]]+\) Passed (BAD-HEADER-[[:digit:]]|UNCHECKED|CLEAN|SPAM(MY)?|UNCHECKED-ENCRYPTED) {(RelayedInbound|RelayedTaggedInbound|RelayedOpenRelay|RelayedInternal)(,Quarantined)?},( LOCAL)? (\[[.[:digit:]]+\]:[[:digit:]]+ )?(\[[.:[:alnum:]]+\] )?<([._-=@[:alnum:]]+)?> -> <([._-=@[:alnum:]]+)?>,( quarantine: [._-=/@[:alnum:]]+,)? (Queue-ID: [[:alnum:]]+, )?(Message-ID: <.*>, )?mail_id: [-_[:alnum:]]+, Hits: -?[.[:xdigit:]]*, size: [[:digit:]]+, queued_as: [_[:alnum:]]+, [[:digit:]]+ ms$ ^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ amavis\[[[:digit:]]+\]: \([-[:digit:]]+\) Blocked BANNED \(.*\) {(No)?BouncedInbound,Quarantined}, (\[[.[:digit:]]+\]:[[:digit:]]+ )?(\[[.:[:alnum:]]+\] )?<([._-=@[:alnum:]]+)?> -> <([._-=@[:alnum:]]+)?>, (quarantine: [[:alnum:]]/.*, )?(Queue-ID: [[:alnum:]]+, )?(Message-ID: <[._-$%@[:alnum:]]+>, )?mail_id: [-_[:alnum:]]+, Hits: -?[.[:xdigit:]]*, size: [[:digit:]]+, (queued_as: [_[:alnum:]]+, )?[[:digit:]]+ ms$ diff --git a/logcheck/ignore.d.server/clamav-freshclam b/logcheck/ignore.d.server/clamav-freshclam index 73df35f..2608bd3 100644 --- a/logcheck/ignore.d.server/clamav-freshclam +++ b/logcheck/ignore.d.server/clamav-freshclam @@ -1,6 +1,6 @@ ^\w{3} [ :0-9]{11} [._[:alnum:]-]+ freshclam\[[0-9]+\]: ClamAV update process started at .*$ ^\w{3} [ :0-9]{11} [._[:alnum:]-]+ freshclam\[[0-9]+\]: Received signal: (wake up|re-opening log file)$ -^\w{3} [ :0-9]{11} [._[:alnum:]-]+ freshclam\[[0-9]+\]: (daily|main)\.c(l|v)d (is up to date|updated) \(version: [0-9]+, sigs: [0-9]+, f-level: [0-9]+, builder: \w+\)$ +^\w{3} [ :0-9]{11} [._[:alnum:]-]+ freshclam\[[0-9]+\]: (bytecode|daily|main)\.c(l|v)d (is up to date|updated) \(version: [0-9]+, sigs: [0-9]+, f-level: [0-9]+, builder: \w+\)$ ^\w{3} [ :0-9]{11} [._[:alnum:]-]+ freshclam\[[0-9]+\]: Clamd successfully notified about the update\.$ ^\w{3} [ :0-9]{11} [._[:alnum:]-]+ freshclam\[[0-9]+\]: --------------------------------------$ ^\w{3} [ :0-9]{11} [._[:alnum:]-]+ freshclam\[[0-9]+\]: Database updated \([0-9]+ signatures\) from .* \(IP: [0-9.]+\)$ diff --git a/logcheck/ignore.d.server/dovecot b/logcheck/ignore.d.server/dovecot index 643a4e4..047fb97 100644 --- a/logcheck/ignore.d.server/dovecot +++ b/logcheck/ignore.d.server/dovecot @@ -28,4 +28,5 @@ ^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ dovecot: (pop3|imap)-login: (Disconnected|Aborted login)(: Inactivity)? \( ^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ dovecot: imap\([-_.@[:alnum:]]+\): Disconnected ^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ dovecot: lda\([-_.@[:alnum:]]+\): sieve: msgid=.*: stored mail into mailbox '[-.[:alnum:]]+'$ +^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ dovecot: lda\([-_.@[:alnum:]]+\): sieve: msgid=.*: marked message to be discarded if not explicitly delivered \(discard action\)$ ^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ dovecot: auth-worker\([-_.[:alnum:]]+\): (pg|my)sql\([.:[:xdigit:]]+\): Connected to database [-_.[:alnum:]]+$ diff --git a/logcheck/ignore.d.server/apache b/logcheck/ignore.d.server/apache index 9faac7e..040caa2 100644 --- a/logcheck/ignore.d.server/apache +++ b/logcheck/ignore.d.server/apache @@ -1 +1,2 @@ ^\w{3} [ :0-9]{11} [._[:alnum:]-]+ apache: nss_ldap: reconnect(ing|ed) to LDAP server(\.\.\.| after [0-9]+ attempt\(s\))$ +^\w{3} [ :0-9]{11} [._[:alnum:]-]+ apache2\[[0-9]+\]: Reloading web server: apache2.$ diff --git a/logcheck/ignore.d.server/rsyslog b/logcheck/ignore.d.server/rsyslog index 171f20e..594b869 100644 --- a/logcheck/ignore.d.server/rsyslog +++ b/logcheck/ignore.d.server/rsyslog @@ -3,3 +3,5 @@ ^\w{3} [ :0-9]{11} [._[:alnum:]-]+ rsyslogd: \[origin software="rsyslogd" swVersion="[0-9.]+" x-pid="[0-9]+" x-info="http://www.rsyslog.com"\] start$ ^\w{3} [ :0-9]{11} [._[:alnum:]-]+ rsyslogd: \[origin software="rsyslogd" swVersion="[0-9.]+" x-pid="[0-9]+" x-info="http://www.rsyslog.com"\] exiting on signal [0-9]+.$ ^\w{3} [ :0-9]{11} [._[:alnum:]-]+ rsyslogd: \[origin software="rsyslogd" swVersion="[0-9.]+" x-pid="[0-9]+" x-info="http://www.rsyslog.com"\] rsyslogd was HUPed$ +^\w{3} [ :0-9]{11} [._[:alnum:]-]+ rsyslogd(-)?[0-9]+: action 'action 17' resumed \(module 'builtin:ompipe'\) \[try http://www.rsyslog.com/e/[0-9]+ \]$ +^\w{3} [ :0-9]{11} [._[:alnum:]-]+ rsyslogd(-)?[0-9]+: action 'action 17' suspended, next retry is \w{3} \w{3} [ :0-9]{16} \[try http://www.rsyslog.com/e/[0-9]+ \]$ Neu hinzugekommen ist eine Datei für systemd und systemd-login mit dem folgenden Inhalt: ...

August 9, 2015 · 3 Minuten

Grub ohne automatische Gruppierungen

Man kann in Grub die automatische Gruppierung von Einträgen in der Liste abschalten. Daraufhin hat man dann keinerlei Untermenüs mehr und direkt alle möglichen Einträge in der Liste. Das geht mit der folgenden Zeile in der /etc/default/grub: GRUB_DISABLE_SUBMENU=y Abschließend noch die grub.cfg neu generieren: $ sudo grub-mkconfig -o /boot/grub/grub.cfg

August 4, 2015 · 1 Minute

rsync zu bestimmtem SSH Port

Wenn man Daten via rsync zu einem Zielrechner synchronisieren möchte, der nicht auf dem Standard-SSH-Port 22 lauscht, muss man das rsync Kommando etwas anpassen. Der Ausschnitt aus der man page von rsync, der verrät wie es geht: -e, --rsh=COMMAND This option allows you to choose an alternative remote shell program to use for communication between the local and remote copies of rsync. Typically, rsync is configured to use ssh by default, but you may prefer to use rsh on a local network. If this option is used with [user@]host::module/path, then the remote shell COMMAND will be used to run an rsync daemon on the remote host, and all data will be transmitted through that remote shell connection, rather than through a direct socket connection to a running rsync daemon on the remote host. See the section "USING RSYNC-DAEMON FEATURES VIA A REMOTE-SHELL CONNECTION" above. Command-line arguments are permitted in COMMAND provided that COMMAND is presented to rsync as a single argument. You must use spaces (not tabs or other whitespace) to separate the command and args from each other, and you can use single- and/or double-quotes to preserve spaces in an argument (but not backslashes). Note that doubling a single-quote inside a single-quoted string gives you a single-quote; likewise for double- quotes (though you need to pay attention to which quotes your shell is parsing and which quotes rsync is parsing). Some examples: -e 'ssh -p 2234' -e 'ssh -o "ProxyCommand nohup ssh firewall nc -w1 %h %p"' (Note that ssh users can alternately customize site-specific connect options in their .ssh/config file.) You can also choose the remote shell program using the RSYNC_RSH environment variable, which accepts the same range of values as -e. See also the --blocking-io option which is affected by this option. Man kann also den Port wie folgt angeben: ...

Juli 29, 2014 · 2 Minuten