Kategorie: Linux

SSD Lebenszeit verlängern

Um die Lebenzeit einer SSD zu verlängern, sollte man die Schreibzugriff auf die SSD reduzieren. Hierzu sind zwei Einstellung vor zu nehmen.

1. Die Speicherung von Zugriffzeiten sollte man mit noatime deaktivieren.
2. Das Verzeichnis /tmp/ kann man in den RAM speicher legen.

sudo vim /etc/fstab

/dev/sda1  / ext4   defaults,noatime   0  1
tmpfs  /tmp tmpfs   nosuid,noatime,noexec,mode=1777,size=1024M   0  0

Alternativ gibt es bei Systemd einen Mount, den wir aktivieren können.

sudo ln -s /usr/share/systemd/tmp.mount /etc/systemd/system/
sudo systemctl enable tmp.mount
sudo systemctl start tmp.mount

Webserver mit Python

Will man auf einem Linux System nur einige Dateien per HTTP übertragen, brauche man nicht gleich Apache installieren.

Man braucht man nur Python, was bei den meisten Distributionen schon installiert ist.

Mit diesem Script können Sie auf Port 8080 alle Dateien als Webserver bereit stellen.

#!/usr/bin/python
import socket
from BaseHTTPServer import HTTPServer
from SimpleHTTPServer import SimpleHTTPRequestHandler

class MyHandler(SimpleHTTPRequestHandler):
  def do_GET(self):
    if self.path == '/ip':
      self.send_response(200)
      self.send_header('Content-type', 'text/html')
      self.end_headers()
      self.wfile.write('Your IP address is %s \n' % self.client_address[0])
      return
    else:
      return SimpleHTTPRequestHandler.do_GET(self)

class HTTPServer(HTTPServer):
  address_family = socket.AF_INET

def main():
  server = HTTPServer(('', 8080), MyHandler)
  server.serve_forever()

if __name__ == '__main__':
  main()

Ubuntu LTS 14.04 auf 16.04.1 Update nicht möglich

Vielleicht haben Sie auch das Problem, dass ein Update von Ubuntu 14.04. auf 16.04.1 nicht möglich ist.

Zuerst brauchen wir die Update Tools.

sudo apt-get install update-manager-core

Jetzt sollte das Update von LTS 14.04 auf 16.04.1 möglich sein.

sudo do-release-upgrade

Checking for a new Ubuntu release
No new release found

Es wird keine neue Version gefunden, obwohl Ubuntu 16.04.1 veröffentlicht ist. Das Problem liegt in der Freigabe, welche noch nicht erteilt wurde. Dazu muss die Version in der Text Datei veröffentlicht werden.

Die Einstellung welche Version verwendet wird, sind in der Datei /etc/update-manager/release-upgrades gespeichert.

Die Quelle ist in der Datei /etc/update-manager/meta-release definiert. Die LTS Quelle lautet…

http://changelogs.ubuntu.com/meta-release-lts

Die Veröffentlichung wird erst eine Woche nach dem Relese Datum durchgeführt! Will man nicht warten, kann man auf Ubuntu 14.06 ein Update durchführen.

sudo do-release-upgrade --devel-release

Hier wird auf diese Freigabe zugegriffen.

http://changelogs.ubuntu.com/meta-release-lts-development

Will man von Ubuntu 14.04 auf Ubuntu 14.10 updaten, so muss man die Einstellungen von LTS auf Normal ändern.

sudo sed -i s/Prompt=lts/Prompt=normal/g /etc/update-manager/release-upgrades

Quellen: askubuntu.com #1 #2

Ubuntu Pakete sichern

Will man den Server – Anbieter wechselt, so muss man alle Ubuntu Pakete auf ein neues System installieren.

Zu erst Exportieren wird die Liste alle installieren Paket in eine Text-Datei.

sudo dpkg --get-selections > my-packages.list

Auf dem neuen Server kann man die Ubuntu Paket mit der Liste ganz einfach installieren.

sudo dpkg --set-selections < my-packages.list

Jetzt noch die Updates installieren und Abhängigkeiten prüfen.

sudo apt-get -y update
sudo apt-get dselect-upgrade

Weitere Arbeitsschritte:

– Einstellung aus dem Verzeichnis /etc/* kopiert (ggf. anpassen)
– Benutzerdateien aus Verzeichnis /home/* kopieren
– Anwendungsdaten kopieren…
Apache in /var/www/
MySQL in /var/lib/mysql/
Check_MK Agent in /var/lib/check_mk_agent/

Ubuntu Snap mit Proxy

Wenn man Ubuntu Snap hinter einem Proxy betreiben will, muss man die Einstellung für Snap hinterlegen.

sudo vim /etc/environment

http_proxy="http://BENUTZER:PASSWORD@proxy.hostname.de:8080/"
https_proxy="http://BENUTZER:PASSWORD@proxy.hostname.de:8080/"

sudo apt install snapd

Mit dem Befehl systemctl kann man die Einstellungen von dem Dienst ändern.

sudo systemctl edit snapd.service

Jetzt kann man die Einstellung für den Proxy hinterlegen.

[Service]
EnvironmentFile=/etc/environment

Die Einstellungen werden in dem Verzeichnis /etc/systemd/system/snapd.service.d/override.conf gespeichert.

Nach dem Neustart von dem Dienst kann man den Proxy verwenden.

sudo systemctl daemon-reload
sudo systemctl restart snapd.service

Jetzt kann es los gehen. Als Beispiel installieren wir VLC.

sudo snap find vlc
sudo snap install vlc

Die Anwendung VLC liegt jetzt für die Start bereit.

/snap/bin/vlc

Die De-Installation ist auch nicht schwer.

sudo snap remove vlc

NFS und Windows Share unter Ubuntu mounten

Um unter Ubuntu auf eine Windows Freigabe zugreifen zu können, ist die Installation von Samba notwendig.

sudo apt-get install samba-client samba-common cifs-utils

Zum prüfen der Freigaben, kann man diesen Befehl verwenden.

smbclient -L SERVER

Um die Freigabe zu Mounten kann man den Mount Befehl verwenden.

sudo mount -t cifs -o USERNAME //SERVER/SHARE /mnt

Will man die Einstellung im System speichern, sind zwei Einträge notwendig.

sudo vim /etc/fstab

//SERVER/SHARE /mnt cifs credentials=/root/.smbcredentials,iocharset=utf8,_netdev 0 0

Sollte die Freigabe mit einem Passwort geschützt sein, kann man die Zugangsdaten für ein Auto-Mount speichern.

sudo vim /root/.smbcredentials

username=USERNAME
password=PASSWORD

Nun kann man das Mount so durchführen.

sudo mount /mnt

Für ein NFS Share ist diese Installation notwendig.

sudo apt-get install nfs-common

Zeigt die NFS Shares an.

showmount -e SERVER

Um die NFS Freigabe zu Mounten kann man den Mount Befehl verwenden.

sudo mount -t nfs SERVER:/SHARE /mnt

Will man die Einstellung im System speichern, sind diese Einträge notwendig.

sudo vim /etc/fstab

SERVER:/SHARE /mnt nfs defaults,_netdev 0 0

Ubuntu 16.04 mit ZFS

Ab Ubuntu 16.04 (Kernel 4.4) wird auch ZFS mit geliefert. Hier will ich zeigen, wie man ZFS installiert und nutzt.

sudo apt-get install zfsutils-linux

Nach der Installation sollte ZFS als Kernel Modul geladen sein.

lsmod |grep zfs

Mit den Tool „zpool“ kann man sich die Volumes und den Status von ZFS anzeigen lassen.

sudo zpool list
sudo zpool status

2GB Volume erstellen in Image-Datei

dd if=/dev/zero of=/home/user/example.img bs=1M count=2048
sudo zpool create mypool /home/user/example.img

ZFS Raid1 (mirror) Volume mit zwei Festplatten erstellen

sudo zpool create mypool mirror /dev/sdb /dev/sdc

ZFS Raid5 (strip parity) Volume mit 4 Festplatten erstellen

sudo zpool create mypool raidz /dev/sdb /dev/sdc /dev/sdd /dev/sde

ZFS Raid6 (double parity) Volume mit 5 Festplatten erstellen

sudo zpool create example raidz2 /dev/sdb /dev/sdc /dev/sdd /dev/sde /dev/sdf

Volume löschen

sudo zpool destroy mypool

ZFS 10GByte File System erstellen und Kompression setzen

sudo zfs create mypool/projects
sudo zfs set quota=10G mypool/projects
sudo zfs set compression=on mypool/projects

ZFS File System anzeigen

sudo zfs list

ZFS File System löschen

sudo zfs destroy mypool/tmp

ZFS Snapshots erstellen und anzeigen (read only)

sudo zfs snapshot -r mypool/projects@snap1
sudo zfs list -t snapshot

ZFS Snapshot zurück rollen

sudo zfs rollback mypool/projects@snap1

ZFS Snapshot löschen

sudo zfs destroy mypool/projects@snap1

ZFS Clone erstellen (writeable copy)

Ein Clone ist eine beschreibare Kopie von einem Snapshot.

sudo zfs snapshot -r mypool/projects@snap1
sudo zfs clone mypool/projects@snap1 mypool/projects-clone

ZFS Send / Receive (Backup / Restore) erstellen

Ein Snapshot erstellen und an eine Datei senden

sudo zfs snapshot -r mypool/projects@snap2
sudo zfs send mypool/projects@snap2 > ~/projects-snap.zfs

Ein Snapshot zurück schreiben.

sudo zfs receive -F mypool/projects-copy < ~/projects-snap.zfs

Weitere Information zu ZFS Ditto Blocks, ZFS Deduplication, ZFS Pool Scrubbing und ZFS compression finden Sie im Wiki ZFS.

ZFS kann mit LXD genutzt werden.

sudo apt-get install lxd

Nach der Installation können wir LXD konfigurieren.

sudo ldx init

Name of the storage backend to use (dir or zfs): zfs
Create a new ZFS pool (yes/no)? yes
Name of the new ZFS pool: lxd
Would you like to use an existing block device (yes/no)? no
Size in GB of the new loop device (1GB minimum): 2
Would you like LXD to be available over the network (yes/no)? no 
LXD has been successfully configured.

Jetzt erstellen wir einen Container und starten ihn.

sudo lxc launch ubuntu:14.04 my-ubuntu

Partitionsgröße mit Fdisk ändern

Wenn man in Linux die Partiongröße ändern will, muss man die alte Partion löschen und eine neue Partion an legen.

Diese Schritte sind dafür notwendig.

A. Ausgabe der Partionsinformationen
B. Löschen der Partion Nummer #2
C. Neu Partion #2 erstellen
D. Partionen speichern

Mit dem Tool „fdisk“ sind diese Kommandos notwendig.

A. [p] (Print)
B. [d,2] (Delete, Partition #2)
C. [n,p,2,{default},{default}] (New, Primary, Partition #2, First sector, Last sector)
D. [w] (Write)

Die Ausgabe von „fdisk“ sieht so aus.

# sudo fdisk /dev/mmcblk0

Welcome to fdisk (util-linux 2.26.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): p
Disk /dev/mmcblk0: 29,3 GiB, 31440502784 bytes, 61407232 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xf9315c16

Device         Boot  Start     End Sectors  Size Id Type
/dev/mmcblk0p1 *      2048  133119  131072   64M  c W95 FAT32 (LBA)
/dev/mmcblk0p2      133120 7679999 7546880  3,6G 83 Linux

Command (m for help): d
Partition number (1,2, default 2):

Partition 2 has been deleted.

Command (m for help): n
Partition type
   p   primary (1 primary, 0 extended, 3 free)
   e   extended (container for logical partitions)
Select (default p):

Using default response p.
Partition number (2-4, default 2):
First sector (133120-61407231, default 133120):
Last sector, +sectors or +size{K,M,G,T,P} (133120-61407231, default 61407231):

Created a new partition 2 of type 'Linux' and of size 29,2 GiB.

Command (m for help): p
Disk /dev/mmcblk0: 29,3 GiB, 31440502784 bytes, 61407232 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xf9315c16

Device         Boot  Start      End  Sectors  Size Id Type
/dev/mmcblk0p1 *      2048   133119   131072   64M  c W95 FAT32 (LBA)
/dev/mmcblk0p2      133120 61407231 61274112 29,2G 83 Linux

Command (m for help): w
The partition table has been altered.

Jetzt ist ein Reboot notwendig.

# sudo reboot

Das Dateisystem ext4 kann im Betrieb vergrössert werden.

# sudo apt-get install e2fsprogs

# sudo resize2fs -p /dev/mmcblk0p2

Bildbearbeitung (Größen, Format) in Linux

Für die Bildbearbeitung in Linux gibt es das Programm „Imagemagick“.

sudo apt-get install imagemagick

Konvertieren von einem Bildformat in ein anderes Bildformat. Optional kann man die Qualität von 95% an geben.

convert -quality 95 source.png dest.jpg

Die Auflösung von Bildern kann man auch ändern auf einen Fix-Wert von 200×100 Pixeln. Mit einem Ausrufezeichen kann man die Werte erzwingen.

convert -resize 200×100! source.jpg dest.jpg

Will man nur den Horizont auf 200 Pixel oder die Vertikale auf 100 Pixel ändern, so kann man den jeweils anderen Wert weg lassen. Der jeweils andere Wert wird an den Seitenverhältnissen von dem Bild errechnet.

convert -resize 200 source.jpg dest.jpg
convert -resize ×100 source.jpg dest.jpg

Auch die Angabe von Prozent ist möglich.

convert -resize 50% source.jpg dest.jpg

Ein Bild zu drehen ist auch möglich.

convert -rotate 90 source.jpg dest.jpg

Es gibt auch Bilddefekte, welche man anwenden kann.

convert -charcoal 2 source.jpg dest.jpg

Will man viele Dateien umwandeln, kann man sich ein Shell Script erstellen.

for file in *.jpg; do convert $file -resize 50% low-$file; done

Copyright © 2025 Weiter.info

Theme von Anders Norén↑ ↑