Anfängerfragen - Linux Neuling? Hier ist der richtige Platz für deine Fragen (2)

  • Ersteller Gelöschtes Mitglied 45455
  • Erstellt am
Die Kompression benutze ich nur auf der Backup-Platte, und dort dann ZSTD.
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
OK, dann prüfe ich das mal nach, danke dir.
Habe zum Glück noch etwas Experimentierplatz auf der SSD frei, da probiere ich das gleich auf der btrfs Kompression anstatt es am Ende evtl. zwei Mal komprimieren zu müssen :)

Ergebnis:
Schade, die Daten sind wohl schon komprimiert:
Code:
Processed 4917 files, 10132 regular extents (10132 refs), 1277 inline.
Type       Perc     Disk Usage   Uncompressed Referenced  
TOTAL       98%       50G          51G          51G       
none       100%       50G          50G          50G       
zstd        32%      255M         780M         780M

Mich stört halt vor allem dieser Riesenklotz in gdmap :fresse:
Bildschirmfoto_2019-09-05_15-20-21.jpg
 
Meine Frage ist eher an die Installation gerichtet. Habe bei mir im Laptop nun eine zweite Festplatte eingebaut, also eine für Windows und die andere für Linux.
Laufwerk C ist meine Bootplatte mit Windows drauf. Nun will ich Linux auf die andere Platte installieren. Muss ich hierbei die Windowsplatte rausstecken? Glaub bei der Installation konnte ich nämlich nicht die Platte wählen, wo Linux drauf soll.
 
Nein du musst nix abstecken, du kannst während der Installation genau sagen, auf welche Platte du installieren willst und diese auch partitionieren. Gilt natürlich nur für ordentliche Distributionen/Installer.
Und ja, der Installer erkennt deine Windows Installation und diese wird dann automatisch im Bootloader auswählbar sein. Wieder natürlich vorausgesetzt du verwendest eine ordentliche Distribution/Installer.
 
Zuletzt bearbeitet von einem Moderator:
Hat jemand Ahnung von Netzwerkkram bei Linux?
Ich hab n Dock, da is ne Netzwerkkarte drin über USB. Soweit so gut, wird auch erkannt und eingerichtet, kriegt n eindeutigen Namen, DHCP läuft ganz normal ab, Routen werden gesetzt, IP und Maske alles korrekt. Aber es geht nix durch, ich kann nichts anpingen. nix ansurfen, garnichts. Ich kann mich selber anpingen, das geht.
Habe keine Ahnung mehr und gefühlt alles durchexerziert.

Ubuntu 16.04 LTS mit aktuelleren Kernel.
 
Bootest Du schon im Dock?
Laptop aus dem Dock und Kabel ran funktioniert aber sofort problemlos?
 
Nein, funktioniert garnicht. Es ging mal vorn paar Wochen - irgendwann einfach nichtmehr (und ich wüsste nicht ob sich da was geändert hat).
 
Ich würde meinen Ubuntu-Laptop gerne mit ZFS verschönern. Das Basissystem soll weiterhin mit Ext4 laufen, aber für bestimmte Verzeichnisse hätte ich gerne die Snapshotfähigkeit von ZFS. Mein Problem ist, daß alle Anleitungen, die ich so finde, den ZFS-Pool auf eine oder gar mehrere komplette Platten legen möchten. Ich habe aber nur eine einzelne SSD, so daß das ZFS mit einer Partition Vorlieb nehmen muß, was zwar nicht empfohlen wird, aber durchaus möglich sein soll. Nur wie erstelle ich diese Partition, mit fdisk? Wenn ja, welcher Typ?

Edit: Hat sich erledigt, habe doch noch eine Anleitung gefunden, die mir weitergeholfen hat:
How to repartition a Hetzner VPS disk for ZFS on its own partition for LXD Mi blog lah!
 
Zuletzt bearbeitet:
Nein, funktioniert garnicht. Es ging mal vorn paar Wochen - irgendwann einfach nichtmehr (und ich wüsste nicht ob sich da was geändert hat).

Update: Scheint n Kernelbug im Ubuntu Kernel zu sein. Ab 4.15.0-60 gehts nicht mehr. Alle Kernel davor gehen. Mein erster Bugreport lul.
 
Hat jemand eine funktionierende Konfiguration für docker-compose um ein lauffähiges Setup von nextcloud-fpm mit Postgre (oder notfalls maria) und nginx-Proxy zu erstellen?
Habe jetzt ca. 5 Stunden daran verschwendet, auf etliche verschiedene Arten, und noch keinen Erfolg gehabt. Praktisch Alles was man online findet ist veraltet oder unvollständig, bis auf die Minimalkonfiguration von nextcloud selbst, aber die ist unbrauchbar langsam.
Bin völlig neu bei Docker sowie auch Nextcloud, und es ist einfach zu Viel auf einmal um da durchzublicken, ohne eine funktionierende Lösung zu haben. Die Examples von github brauchen immer noch eine Trilliarde Änderungen, die auch noch über verschiedene Files verteilt sind usw und das ist leider vor Allem in Verbindungen mit Fehlermeldungen, die nicht Mal genau sagen, an welcher Stelle noch Etwas fehlt, leider das Gegenteil von einsteigerfreundlich.
Die privaten Beispiele, die ich fand sind allesamt nicht lauffähig gewesen (ca 5 verschiedene probiert).

Am Weitesten kam ich noch mit einem selbsgebastelten Skript (bisher ohne Verwendung von Proxy und compose, weil das die Sache ja noch weiter verkompliziert), was aber dann daran scheiterte, dass das dämliche Postgre meinte mein User hätte keine CONNECT-Rechte, obwohl die gesamten Variablen gesetzt waren..
Falls es keine bessere bzw. fertige Lösung gibt; mein Experimentierskript sah übrigens so aus, vielleicht kann ja da doch noch Jemand was fixen:
GNU nano 2.7.4 Datei: altertest.sh

#/bin/bash

PARAM=$1

cloud_start () {
green_echo "starting cloud"
green_echo "starting postgresql"
docker run --name nextcloud_postgres -e POSTGRES_PASSWORD=nextcloud -e POSTGRES_USER=nextcloud -e POSTGRES_DB=nextcloud -d --network="nextcloud_network" postgres:12-alpine
green_echo "done"
green_echo "starting nextcloud"
docker run --name nextcloud_server -d --network="nextcloud_network" -p 8080:80 nextcloud
green_echo "done"
}

cloud_stop () {
red_echo "stopping cloud"
docker stop nextcloud_server
docker stop nextcloud_postgres
docker rm nextcloud_server
docker rm nextcloud_postgres
docker volume prune
red_echo "done"
}

cloud_restart () {
green_echo "restarting cloud"
cloud_stop
cloud_start
green_echo "done"
}

green_echo () {
echo -e "\e[32m$1\e[39m"
}

red_echo () {
echo -e "\e[31m$1\e[39m"
}

case "$PARAM" in
"start") cloud_start
;;
"stop") cloud_stop
;;
"restart") cloud_restart
;;
esac
 
Zuletzt bearbeitet:
ich verstehe ja nach wie vor nicht, wieso man privat docker nutzt. Ich hätte aber ansible (ohne roles :/) mit apparmor, letsencrypt, apache, php-fpm und mysql für debian anzubieten ;)
 
ich verstehe ja nach wie vor nicht, wieso man privat docker nutzt. Ich hätte aber ansible (ohne roles :/) mit apparmor, letsencrypt, apache, php-fpm und mysql für debian anzubieten ;)

Scheint wohl für die meisten einfacher einzurichten zu sein.
Mag docker auch sehr. Die perfekte Kombi für mich ist aber ansible + docker. :drool:
 
Am Weitesten kam ich noch mit einem selbsgebastelten Skript (bisher ohne Verwendung von Proxy und compose, weil das die Sache ja noch weiter verkompliziert), was aber dann daran scheiterte, dass das dämliche Postgre meinte mein User hätte keine CONNECT-Rechte, obwohl die gesamten Variablen gesetzt waren..
Falls es keine bessere bzw. fertige Lösung gibt; mein Experimentierskript sah übrigens so aus, vielleicht kann ja da doch noch Jemand was fixen:

Nutze kein Docker. ABER:

Auf den laufenden Container einloggen und prüfen ob die richtigen Nutzer angelegt sind und die Dokumentation/Konfiguration prüfen.
Also https://hub.docker.com/_/postgres dort dann 12-alpine, dass du scheinbar nutzt linkt auf 12-alpine Dockerfile in dem dann steht dass der User "postgres" ist - du scheinst ja einen anderen User zu übergeben : POSTGRES_USER=nextcloud scheint für mich falsch zu sein - das sollte "postgres" sein.
 
Nutze kein Docker. ABER:

Auf den laufenden Container einloggen und prüfen ob die richtigen Nutzer angelegt sind und die Dokumentation/Konfiguration prüfen.
Also https://hub.docker.com/_/postgres dort dann 12-alpine, dass du scheinbar nutzt linkt auf 12-alpine Dockerfile in dem dann steht dass der User "postgres" ist - du scheinst ja einen anderen User zu übergeben : POSTGRES_USER=nextcloud scheint für mich falsch zu sein - das sollte "postgres" sein.

Sollte kein Problem sein
POSTGRES_USER

This optional environment variable is used in conjunction with POSTGRES_PASSWORD to set a user and its password. This variable will create the specified user with superuser power and a database with the same name. If it is not specified, then the default user of postgres will be used.

@Elmario:

In deinem Script beim Aufruf des nextcloud Containers fehlt glaube ich der Parameter link.
Du packst sie zwar ins selbe Netzwerk, aber ohne die Verlinkung kann der nextcloud Container den postgres Container nicht über den Namen "nextcloud_postgres" erreichen.

Würde an deiner Stelle aber vom Script weg gehn und wieder auf docker-compose umsteigen.
 
Nutze kein Docker. ABER:

Auf den laufenden Container einloggen und prüfen ob die richtigen Nutzer angelegt sind und die Dokumentation/Konfiguration prüfen.

Ja, ich denke auch, dass das Problem genau dort und auf diese Art zu suchen ist, aber leider kam ich damit nicht weit.
Ich weiß, dass ich mit
docker exec -it nextcloud_postgres /bin/bash
eine shell innerhalb des Containers öffnen kann, aber ein
hat leider gar Nichts hervorgebracht, es gibt einfach keine Logiles. Ich vermute die sind grundsätzlich deaktiviert, weil sonst der container vollaufen würde? Aber wie komme ich sonst an brauchbare Informatonen zum Status von Postgre? Habe auch keine Konfiguration zu Postgre in /etc gefunden.


Also https://hub.docker.com/_/postgres dort dann 12-alpine, dass du scheinbar nutzt linkt auf 12-alpine Dockerfile in dem dann steht dass der User "postgres" ist - du scheinst ja einen anderen User zu übergeben : POSTGRES_USER=nextcloud scheint für mich falsch zu sein - das sollte "postgres" sein.

Ich habe es zuerst mit postgres als Username versucht, aber das ging gar nicht; da kam immer nur "non matching password", obwohl ich das Passwort ja selbst per ENV vorgebe (oder ist das ein Passwort für einen anderen, unabhängigen User? Was wäre denn dann das Default-Passwort? "Postgres" habe ich ja sowieso schon versucht). Habe an anderer Stelle dazu gelesen, dass ein Remote-Login mit dem Default-Root-User angeblich nicht möglich sein soll.

@Elmario:

In deinem Script beim Aufruf des nextcloud Containers fehlt glaube ich der Parameter link.
Du packst sie zwar ins selbe Netzwerk, aber ohne die Verlinkung kann der nextcloud Container den postgres Container nicht über den Namen "nextcloud_postgres" erreichen.

Würde an deiner Stelle aber vom Script weg gehn und wieder auf docker-compose umsteigen.

Es ist umgekehrt: Das Skript ist für mich momentan zum Verständnis schon wichtig. Wenn es denn mal funktionieren sollte, habe ich vor als nächsten Schritt ein docker-compose.yml darauf basierend zu bauen. Im Moment erscheint mir das aber als zusätzliche Belastung.
Das Netzwerk scheint mir zu funktionieren, denn ich bekomme im Web-UI von nextcloud ja Feedback vom Postgre-Server, wie "Password doesn't match for User XYZ" oder "User does not have Connect permissions". Ansonsten würde doch etwas kommen, wie "Server not responding".
 
Ich hab mir mal kurz Docker angeschaut - ich nutze sonst eher Virtualisierung bzw. keine "dockerized" Services.

docker run --name nextcloud_postgres -e POSTGRES_PASSWORD=nextcloud -e POSTGRES_USER=nextcloud -e POSTGRES_DB=nextcloud -d --network="nextcloud_network" postgres:12-alpine
Prinzipiell funktioniert der Befehl mit Docker. (hier läuft docker 19.03.2 Befehl: "docker version")

Mit "-e" wird eine Umgebungsvariable gesetzt, die dann im Container während des Erstellens reingeschrieben wird - also der nextcloud user hätte dann als password nextcloud für die postgres-DB.
Die Stolpersteine bei mir waren "nur"

- Nicht laufender Docker-Daemon (sudo systemctl start docker)
- Fehlende Zugriffsrechte auf Docker socket file (nicht Mitglied der Docker Gruppe)
- Fehlendes Netzwerk (docker network list -> ich habe hier das default "bridge" genommen, dass in Docker aktiviert wurde - sudo systemctl status docker bzw. journalctl |grep dockerd )

Dann lief der container und
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' nextcloud_postgres
pg_isready --host=172.17.0.2 --dbname=nextcloud --username=nextcloud
psql --host=172.17.0.2 --dbname=nextcloud --username=nextcloud --command "\l"
liefert zuerst die IP des containers ; Anfragen ob die DB fertig ist (pg_isready) bzw. mit interaktiver Passworteingabe und dem listen der Datenbanken (psql) waren erfolgreich.

PS: "docker logs nextcloud_postgres" zeigt dann auch logs der Datenbankbefehle auch wenn ein Login fehlschlägt
 
Zuletzt bearbeitet:
Gegenfrage, wieso denn nicht?

Weil man in der Regel nicht mehr als einen Server betreibt und eine Möglichkeit braucht, diesen reproduzierbar zu konfigurieren.
Und da hilft einem Docker genau 0, wenn es nicht zufällig irgendjemanden gibt, der genau das, was man braucht als docker-compose zusammengestellt hat ;). Was passiert, wenn man nicht genau weiß, was man tun soll und zusätzliche Komplexität hinzufügt, sieht man hier ja ganz gut :).
 
Moment, wer sagt denn, dass man Docker nur mit mehreren Servern betreiben kann? Docker Swarm, also das, was du gerade ansprichst, war am Anfang nichtmal in Docker enthalten. :hmm:
 
ich mags auch meinen kram reporduzierbar konfiguriert zu haben, ohne mehrere server zu betreiben oder meinen server regelmaessig neu zu machen.

just-in-case muss ich nur meine daten partition mounten, docker-compose abfeuern und zack hab ich z.b. meine nextcloud wieder am laufen.
@elmario: ich hab das so halbwegs, aber quasi nur das beispiel ausm nextcloud-docker wiki. an sich luppt alles gut, nur die website ist beim ersten aufruf unfassbar todeslangsam. :fresse:

mich darum zu kuemmern schieb ich seit monaten vor mir her. aber ich nutze quasi eh nur den client,...
 
Genau so habe ich das auch. Für alle meine Webapplikationen habe ich eine Cloud-Init-Konfiguration, mit der ich einen voll eingerichteten Ubuntu-Server bei Digitalocean hochziehen kann. Die IP-Adresse und die Hostkeys des Servers kommen dann in die GitLab CI-Variablen des Projektes, ich drück auf "Deploy" und der/die Docker-Container werden auf der neuen Maschine gestartet. Aufwand unter 5 Minuten. Und alle zwei Jahre mal die Cloud-Init-Konfiguration checken, ob die noch mit der neusten Ubuntu-LTS läuft.

Docker ist nicht "Cloud & Cluster", sondern "Sicherheit & 'Works on every machine'".
 
Zuletzt bearbeitet:
Moment, wer sagt denn, dass man Docker nur mit mehreren Servern betreiben kann? Docker Swarm, also das, was du gerade ansprichst, war am Anfang nichtmal in Docker enthalten. :hmm:

Naja, es geht ja erstmal darum, dass man das ganze Setup identisch replizierbar hat (und es schnell replizierbar ist). Und imho lohnt sich da der Aufwand, wenn man exakt einen Host bewirtschaftet nicht, denn das ist (außer man hat jemanden, der ein exakt passendes Dockerfile pflegt) einfach nur zusätzliche Komplexität (die ganzen Dienste musst du nämlich ja weiterhin manuell konfigurieren). Ich muss auch nur ein chmod auf die Datenpartition machen (ok), ansible abfeuern und es läuft wieder ;).


Genau so habe ich das auch. Für alle meine Webapplikationen habe ich eine Cloud-Init-Konfiguration, mit der ich einen voll eingerichteten Ubuntu-Server bei Digitalocean hochziehen kann. Die IP-Adresse und die Hostkeys des Servers kommen dann in die GitLab CI-Variablen des Projektes, ich drück auf "Deploy" und der/die Docker-Container werden auf der neuen Maschine gestartet. Aufwand unter 5 Minuten. Und alle zwei Jahre mal die Cloud-Init-Konfiguration checken, ob die noch mit der neusten Ubuntu-LTS läuft.
Merkst du was: "identisch replizierbares Setup" für Development. hat meiner Einschätzung nach relativ wenig mit "ich betreibe eine Nextcloud/Webserver/..." zu tun, die darauf ausgelegt sind, dauerhaft zu laufen.

Docker ist nicht "Cloud & Cluster", sondern "Sicherheit & 'Works on every machine'".
Wenn man dafür sorgt, dass alle nach außen gerichteten Services im Docker nicht als Root laufen und man überall Root-Rechte hat ;).
 
Nööö sorry, mit suse bin ich nie warm geworden
 
...lgreich.

PS: "docker logs nextcloud_postgres" zeigt dann auch logs der Datenbankbefehle auch wenn ein Login fehlschlägt

Also der Container läuft ja, und der Postgre-SQL-Server auch.
Auch das command funktioniert von innerhalb des Contaners aufgerufen:
Code:
psql --host 127.0.0.1 --dbname=nextcloud --username=nextcloud --command "\l"

                                  List of databases
   Name    |   Owner   | Encoding |  Collate   |   Ctype    |    Access privileges    
-----------+-----------+----------+------------+------------+-------------------------
 nextcloud | nextcloud | UTF8     | en_US.utf8 | en_US.utf8 | nextcloud=CTc/nextcloud
 postgres  | nextcloud | UTF8     | en_US.utf8 | en_US.utf8 | 
 template0 | nextcloud | UTF8     | en_US.utf8 | en_US.utf8 | =c/nextcloud           +
           |           |          |            |            | nextcloud=CTc/nextcloud
 template1 | nextcloud | UTF8     | en_US.utf8 | en_US.utf8 | =c/nextcloud           +
           |           |          |            |            | nextcloud=CTc/nextcloud
(4 rows)

Nur darf nextcloud den User anscheindend nicht nutzen:
Error while trying to create admin user: Failed to connect to the database: An exception occurred in driver: SQLSTATE[08006] [7] FATAL: permission denied for database "nextcloud" DETAIL: User does not have CONNECT privilege
Es scheint ein Rechteproblem innerhalb Postgres zu sein.
Aber da weiß ich eben nicht weiter.

- - - Updated - - -

Sooooooo!

Ich hab's endlich! :)
Das Problem war, dass Nextcloud die Datenbank und sogar seinen Datenbanknutzer selbst anlegen will.
Habe also den Container nun so gestartet:
docker run --name nextcloud_postgres -e POSTGRES_PASSWORD=root -e POSTGRES_USER=root -d --network="nextcloud_network" postgres:12-alpine

Also einfach nur den Rootuser erstellt und keine Datenbank.
Und im Nextcloud UI als Datenbankuser und Passwort eben root/root eingetragen, aber den Datenbanknamen auf nextcloud gelassen.
Schon ging es..
Allerdings hat das Erstellen der DB leider immer noch ewigst gedauert. Bin mal gespannt, ob das gleich beim Testen einigermaßen benutzbar ist. Könnte sonst auucht nicht verstehen, wie owncloud/nextcloud so populär sein können. Habe zwar nur einen AMD G56 in dem kleinen Testgerät, aber so Mancher benutzt das doch angeblich schon auf einem RasPi..
 
Zuletzt bearbeitet:
Ich habe aktuell einen Desktop-PC mit 2 SSDs. Ich würde darauf gerne Linux als alleiniges OS installieren, wie mache ich das mit den 2 SSDs? Soweit ich weiß kann man unter Linux ja nicht so einfach sagen, wohin welches Programm installiert wird. Also wie verhindere ich, dass die kleinere SSD (128GB und 512GB) vollläuft während die andere noch quasi leer ist?
 
Die einfachste Methode sind getrennte Partitionen fürs System/Programme (Root) und persönliche Daten (Home).
Die beste Methode ist wahlweise LVM, BTRFS oder ZFS. Vereinfacht gesagt werden damit deine zwei physischen SDDs zu einer virtuellen SSD zusammengefasst.
Als Einstieg würde ich LVM empfehlen, dass kann man bei allen größeren Distributionen bequem während der Installation einrichten.
 
Ich würde es auch so machen, dass eine als /home dient, und auf der Anderen den ganzen Rest, der so anfällt. Also neben root z.B. auch /opt/ für Selbstkompiliertes und die Swap-Partition.
Fall dann immer noch zu viel Platz auf der SSd übrig ist, könnte man z.B. auch noch einige GByte für Timeshfit nutzen und Platz für eine Partition übrig lassen, in der man ein weiteres OS installieren kann, was gut zum Ausprobieren bzw. auch zum Update auf neuere Versionen des OSses sein kann, weil man dann erst mal testen kann ob Alles glatt geht, ohne das originale OS zu verändern usw.

Man kann auch die durch "apt" oder andere Paketmanager installierte Software auf einem anderen Datenträger lagern, indem man die dafür genutze Partition des zweiten Datenträgers z.B. nach /usr/bin mountet usw. Prinzipiell kannst du bei Linux Alles machen, du musst nur wissen was du tust ;)
 
Zuletzt bearbeitet:
Ich habe aktuell einen Desktop-PC mit 2 SSDs. Ich würde darauf gerne Linux als alleiniges OS installieren, wie mache ich das mit den 2 SSDs? Soweit ich weiß kann man unter Linux ja nicht so einfach sagen, wohin welches Programm installiert wird. Also wie verhindere ich, dass die kleinere SSD (128GB und 512GB) vollläuft während die andere noch quasi leer ist?
Du kannst einzelne Verzeichnisse (Ordner) auf unterschiedlichen Partitionen (logische oder physikalische) ablegen. Ein ziemlich gradliniger Ansatz ist es, das System auf der kleineren SSD zu installieren und /home auf eine Partition der größeren SSD zu legen. So hat man für die Nutzerdaten mehr Platz. Nur dazu musst Du im Installer einiges von Hand machen.
 
naja "einiges" wuerde ich jetzt nicht sagen.
die ueblichen grafischen installier ermoeglichen das ja schon, indem man beim partitionieren auf manuell geht und dann bei der 500er als mountpoint /home angibt. fertig. :)

wenn mans vergisst, laesst sich das auch hinterher noch problemlos aendern.
eigentlich ist das ja nur eine zeile in der fstab, oder vergesse ich gerade etwas?
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh