|
Ich wollte in einem Verzeichnis für alle Dateien (auch in den Unterverzeichnissen) die MD5-Prüfsumme berechnen lassen. Dabei bin ich auf einen Beitrag von Touisk gestoßen, dessen Befehle ich jedoch noch geringfügig abgeändert habe.
Zum Erzeugen der Prüfsumme:
find . -type f -exec md5sum {} >checksum.md5 \;
Zum Verifizieren:
md5sum -c ckechsum.md5
Meinen Drucker habe ich zunächst nach der Anleitung von schnellie installiert
sudo apt-get install alien gcc-3.3-base libstdc++5
sudo alien Epson-ALC1100-filter-1.2-0.i386.rpm
sudo alien Epson-ALC1100-filter-cups-1.2-0.i386.rpm
# Warnungen einfach ignorieren!
sudo dpkg -i epson-alc1100-filter_1.2-1_i386.deb
sudo dpkg -i epson-alc1100-filter-cups_1.2-1_i386.deb
Eine Deaktivierung des AppArmor-Profils mittels
sudo aa-complain cupsd
war bei mir nicht notwendig.
Von den Windows-Installationen im lokalen Netzwerk wollte ich auch noch auf den Drucker mittels des Internet Printing Protocols zugreifen. Dazu muss die CUPS-Konfiguration angepasst werden. Das geht über den Aufruf von CUPS und das Editieren der cupsd.conf unter Verwaltung > Konfigurationsdatei. Ich habe die Datei so angepasst, dass Rechner im lokalen Netzwerk auch auf den Drucker zugreifen können:
#
# "$Id: cupsd.conf.in 7199 2008-01-08 00:16:30Z mike $"
#
# Sample configuration file for the Common UNIX Printing System (CUPS)
# scheduler. See "man cupsd.conf" for a complete description of this
# file.
#
# Log general information in error_log - change "info" to "debug" for
# troubleshooting...
LogLevel warning
# Administrator user group...
SystemGroup lpadmin
# Only listen for connections from the local machine.
Port 631
Listen /var/run/cups/cups.sock
# Show shared printers on the local network.
Browsing Off
BrowseOrder allow,deny
BrowseAllow all
BrowseAddress @LOCAL
# Default authentication type, when authentication is required...
DefaultAuthType Basic
# Restrict access to the server...
<Location />
Order allow,deny
Allow @LOCAL
Allow localhost
</Location>
# Restrict access to the admin pages...
<Location /admin>
Order allow,deny
</Location>
# Restrict access to configuration files...
<Location /admin/conf>
AuthType Default
Require user @SYSTEM
Order allow,deny
</Location>
# Set the default printer/job policies...
<Policy default>
# Job-related operations must be done by the owner or an administrator...
<Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job CUPS-Move-Job>
Require user @OWNER @SYSTEM
Order deny,allow
</Limit>
# All administration operations require an administrator to authenticate...
<Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default>
AuthType Default
Require user @SYSTEM
Order deny,allow
</Limit>
# All printer operations require a printer operator to authenticate...
<Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedule-Job-After CUPS-Accept-Jobs CUPS-Reject-Jobs>
AuthType Default
Require user @SYSTEM
Order deny,allow
</Limit>
# Only the owner or an administrator can cancel or authenticate a job...
<Limit Cancel-Job CUPS-Authenticate-Job>
Require user @OWNER @SYSTEM
Order deny,allow
</Limit>
<Limit All>
Order deny,allow
</Limit>
</Policy>
#
# End of "$Id: cupsd.conf.in 7199 2008-01-08 00:16:30Z mike $".
#
Um NFO-Dateien unter Linux zu betrachten, benutze ich das Tool NFOView. Unter Ubuntu lässt es nach dem Herunterladen wie folgt installieren:
sudo apt-get install python gettext intltool console-terminus xfonts-terminus xfonts-terminus-dos xfonts-terminus-oblique
tar zxvf nfoview-1.2.1.tar.gz
cd nfoview-1.2.1/
sudo ./setup.py install --prefix=/usr/local/nfoview
sudo cp data/nfoview.desktop.in /usr/local/nfoview/share/applications/nfoview.desktop
cd /usr/local
sudo stow -R nfoview
Durch ein
sudo nano /usr/local/nfoview/share/applications/nfoview.desktop
die Datei nfoview.desktop wie folgt abändern:
[Desktop Entry]
Version=1.0
Encoding=UTF-8
Name=NFO Viewer
Comment=View NFO files
Exec=nfoview %F
Terminal=false
StartupNotify=true
Icon=dialog-information
Type=Application
MimeType=text/x-nfo;
Categories=GTK;Utility;Viewer;
GenericName[de_DE]=
Anschließend mittels
gedit ~/.local/share/mime/packages/Override.xml
die Datei Override.xml erzeugen und folgenden Inhalt ergänzen:
<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
<mime-type type="text/x-nfo">
<comment>NFO document</comment>
<glob pattern="*.nfo"/>
<glob pattern="*.diz"/>
</mime-type>
</mime-info>
Nun müssen wir nur noch die MIME-Datenbank mit
update-mime-database ~/.local/share/mime
erneuern und ab sofort sollten die NFO- und DIZ-Dateien mit nfoview geöffnet werden. Am Besten stellt man bei NFOView unter Edit>Preferences das Schema auf „White on black“, die Schrift auf Terminus und die Schriftgröße auf 8.
Diese Infos habe ich durch das Ubuntu-Forum und flexion.org zusammengetragen.
Falls man nur im Terminal arbeitet, kann man sich die Dateien auch wunderbar mit
iconv -f 437 -t UTF8 filename.nfo | less
anzeigen lassen.
Mit Hilfe von jfsrec kann man eine beschädigte JFS-Partition unter Umständen doch noch retten. Damit man das Programm unter Ubuntu verwenden kann muss man das Programm selbst kompilieren, da es noch kein fertiges Paket gibt. Um überhaupt erfolgreich kompilieren zu können musste ich erst einige Pakete installieren, damit alle Abhängigkeiten erfüllt waren:
sudo apt-get install gcc autoconf automake boost-build libboost-dev libboost-regex-dev libboost-filesystem-dev libboost-program-options-dev
Als nächstes habe ich den aktuellsten Quelltext heruntergeladen:
svn co https://svn.sourceforge.net/svnroot/jfsrec jfsrec
Im Verzeichnis jfsrec habe ich dann die Schritte configure und make und make install ausgeführt. Den Prefix mit /usr/local/jfsrec habe ich gewählt, weil ich das Programm mit stow verwalten will, wie schon in einem anderen Beitrag erwähnt.
cd jfsrec
./configure --prefix=/usr/local/jfsrec
make
make install
cd /usr/local
stow -R jfsrec
Nun kann man jfsrec verwenden. Ein beispielhafter Aufruf sieht so aus:
jfsrec --device /dev/mapper/crypt_root_sdb --output /recovery/root_sdb_jfsrec/ --logdir /recovery/root_sdb_log
Dabei wird versucht die verschlüsselte Partition /dev/mapper/crypt_root_sdb zu retten. Die Daten werden ins Verzeichnis /recovery/root_sdb_jfsrec/ geschrieben und die Informationen über die inodes werden im Verzeichnis /recovery/root_sdb_log abgelegt. Zu beachten ist, dass es durchaus einige Zeit dauern kann, bis jfsrec seine Arbeit erledigt hat. Bei mir wurden für etwa 240 GB acht bis zehn Stunden benötigt. Bei den Dateinamen musste ich jedoch feststellen, dass die Umlaute und Sonderzeichen falsch dargestellt wurden. Dieses Problem konnte ich jedoch mit dem Programm convmv beheben. Convmv ist ein kleines Komandozeilen-Programm um Dateinamen von einem Zeichensatz in einen anderen zu konvertieren. In meinem Fall half folgender Aufruf um die wiederhergestellten Datei- und Verzeichnisnamen in /recovery/root_sdb_jfsrec/ wieder richtig darzustellen.
convmv -f utf8 -t latin1 -r --notest /recovery/root_sdb_jfsrec/
Ich finde es immer lästig, wenn ich Passwörter löschen oder anschauen will, umständlich über Extras>Einstellungen>Sicherheit>Gespeicherte Passwörter den Passwort-Manager aufzurufen. Mit der Extension userChrome.js (Version 0.8) – Mirror – lassen sich tolle Dinge anstellen. So kann man einen entsprechenden Menüeintrag für den Passwort-Manager erstellen, so dass man ihn direkt über Extras>Gespeicherte Passwörter aufrufen kann. Um das zu machen editiert man nach der Installation der Extension die Datei userChrome.js im Unterverzeichnis chrome des Firefox-Profilverzeichnis und fügt folgenden Code hinzu:
[
{
"label" : "Cookies anzeigen",
"accesskey": "K",
"oncommand": "window.open('chrome://browser/content/preferences/cookies.xul', 'Browser:Cookies', 'chrome,resizable=yes');"
},
{
"label" : "Gespeicherte Passwörter",
"accesskey": "P",
"oncommand": "window.open('chrome://passwordmgr/content/passwordManager.xul', 'Toolkit:PasswordManager', 'chrome,resizable=yes');"
},
{
"label" : "Zertifikate anzeigen",
"accesskey": "E",
"oncommand": "window.open('chrome://pippki/content/certManager.xul', 'mozilla:certmanager', 'chrome,resizable=yes,all,width=600,height=400');"
}
]
.forEach(function(attrs) {
var menuitem = document.createElement("menuitem");
for (var key in attrs)
menuitem.setAttribute(key, attrs[key]);
document.getElementById("menu_ToolsPopup").insertBefore(menuitem, document.getElementById("sanitizeItem"));
});
if (location != "chrome://browser/content/browser.xul") throw "stop";
Hier gibt es noch weitere interessante Code-Schnipsel.
|
|