Subversion

Command Description
svn cat -r 1234 path/to/file | less View file from specific revision
svn update -r 1234 path/to/file Update file to some older revision
svn checkout svn://host/path/to/repo Check out a repository
svn commit some/file.cpp -m „Changes!“ Push changes into the central repository
svn update Pull updates from the central repository into the working copy
svn merge -rstart:end svn://host/branch/to/merge Merge changes from revsion start to end (eg HEAD) into current branch.
svn resolved path/to/file/under/svn/vc Mark merge conflict as resolved

rpm

Command Description
rpm2cpio package.rpm | cpio -idmv View package files
rpm -ivh file.rpm Install package file.rpm

  • -i install
  • -v verbose output
  • -h print progress indicator
rpm -qa –last List installed packages. Most recently installed first.
rpm -qi package Print information about installed package
rpm -ql package List files belonging to package
rpm -qf /path/to/some/file Find the package that provides file

I have customized my ibuffer-format to have the name column width set to 36. This is fine in 99% of the filenames showing up there. However I also have to access a couple of files that have a common prefix that is longer then 36 characters. This way the files cannot be distinguished in ibuffer… Since I am not willing to have the width set to even higher value I have added this little defun to my init.el to deal with the issue:

 
(defun mp/ibuffer-show-filename ()
  (interactive)
  (let ((buf (ibuffer-current-buffer))
        (lsoutput nil))
    (when (file-exists-p (buffer-file-name buf))
      (with-temp-buffer
        (let* ((filename (buffer-file-name buf))
               (default-directory (file-name-directory filename))
               (just-filename (file-name-nondirectory filename)))
          (call-process "/usr/bin/ls" nil t nil "-l" just-filename)
          (setq lsoutput (buffer-substring-no-properties (point-min) (- (point-max) 1))))))
    (message lsoutput)))
 
(define-key ibuffer-mode-map (kbd "f") 'mp/ibuffer-show-filename)

This way I can stick to my column width of 36 and whenever I have need to see the a longer filename I can just press f on the entry and see the name at the bottom of the screen.

Als Linuxbenutzer wird einem bei der Installation von Software oft die Beschaffung abgenommen. Man spart sich das öffnen des Browsers und die damit einhergehenden Werbeeinblendungen 🙂 Mint Linux bietet zur Paketverwaltung das „Advanced Packaging Tool“ APT an. Die Installation von mysql-server gestaltet sich damit einzeilig:

# apt-get install mysql-server

Während der Installation wird man zwar gefragt ob ein Passwort vergeben werden soll, dieses wurde dann aber nicht gesetzt. Erste Anmeldung an der Datenbank verläuft also ohne Passwort wie folgt:

user@host ~ $ mysql -u root
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 36
Server version: 5.5.43-0ubuntu0.14.04.1 (Ubuntu)

Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type ‚help;‘ or ‚\h‘ for help. Type ‚\c‘ to clear the current input statement.

mysql>

Die Server wird über die Datei /etc/mysql/my.cnf konfiguriert. Nach der Installation wird der Server über Ipv4 an localhost gebunden

bind-address = 127.0.0.1

Eine Logdatei für Fehlermeldungen wird auch konfiguriert

log_error = /var/log/mysql/error.log

Die bekannte Entwicklungsumgebung Eclipse kann auch SaveActions:

eclipse-save-actions
SaveActions sind aktionen, die man sowieso von Zeit zu Zeit erledigen möchte und die von Eclipse automatisch beim speichern einer Datei ausgeführt werden. So spart man sich unter Umständen einige Tastendrücke. SaveActions können sich zum Beispiel darum kümmern, dass der Quellcode ein bestimmtes Format einhält oder, dass imports immer aktuell sind (d.h. dass für keine Klasse das import statement fehlt, bzw. keine überflüssigen Statements rumstehen).