Talk about SailfishOS in German - Unterhalte dich über SailfishOS auf Deutsch

Ist auch eine Möglichkeit. Mit dem ‘Simple & quick file backup’ Tool kann ich das ganze automatisch über Nacht laufen lassen :wink:, brauche also selbst nicht aktiv zu werden. Das ganze hängt sich in das ‘Systemeinstellungsmenü’ ein und ist darüber konfigurierbar :smiley:.
Optimal wäre natürlich die Funktionalität von ‘rsnapshot’ - weil erheblich platzsparender. Bei dem wird eine Historie angelegt (daily, weekly, …), dabei aber gleiche Dateien auf dem Ziel über ‘hardlink’ verlinkt …

Ext4 passt mein gigaset gs5 sailfish erkennt
die karte :wink:

Hallo,

ich habe mir spontan mit der Rabataktion diese Woche ein GS 5 gekauft, auch wegen des Wechselakkus. Das Volla-Phone war mir aktuell einfach zu viel Geld für ein Telefon.
Sollte morgen per Post kommen. Habe ich die Möglichkeit auf der SD-Karte Sailfish OS zu installieren oder auch mal Ubuntu touch? Also Android bleibt erst mal drauf.
Mit Smartphones habe ich mich bisher noch nie intensiv beschäftigt, dank Firmenhandy mit IOS. Aber privat bin ich eigentlich nur mit Linux auf dem PC unterwegs und mit Android kann ich mich auf meinem Tablet nicht so wirklich anfreunden.

Danke und Gruß

Zack

Also ubports ging gestern nicht auf sd-karte in einem pinephone, dafür aber sailfish. Das pinephone versucht aber immer, von einer eingelegten sd-karte zu booten, wie der bootloader vom gs5 funktioniert, weiß ich grade nicht. System auf sd-karte ist aber nicht optimal, wegen der vielen schreibvorgänge und meistens langsamen geschwindigkeit…

Hallo alle. Ich suche schon lange nach einem gebrauchtem Xperia X mit installiertem SailfishOS zu einem fairen Preis, da ich Erfahrungen mit dem System auf moderner Hardware sammeln möchte (inklusive AlienDalvik). Ich kann in den gängien Kleinanzeigendiensten kein solches Gerät finden.
Bisher habe ich nur mit einem JollaPhone arbeiten können, welches offensichtlich bereits einen Wasserschaden hatte, oder aber mit einer lückenhaften Version für das Galaxy A5, welches natürlich kein AlienDalvik vorwies (und Waydroid ist zu wenig eingebettet).
Sollte also jemand hier ein solches Gerät veräußern wollen, dann meldet eucht doch bei mir.
Vielen Dank, Tom

Ich hab zwar leider kein altes Gerät für dich, möchte aber dazu sagen, daß auch das Xperia 10 sehr gut geht, kaum Probleme macht und wenn, nichts Ernstes. (Daß das GPS schlecht funktioniert, wissen wir eh alle) Außerdem, wenn du einen größeren Bildschirm willst, gibts auch noch das Xperia 10 plus.

1 Like

Vielen Dank für deine Antwort.
Tatsächlich suche ich eher ein kleines Gerät, also ein xperia x. Ich schaue mal, wer sich noch meldet…
Liebe Grüße, Tom

1 Like

Nur zwei Anmerkungen:

Wenn das Backup auf einem BTRFS-Volume liegt, geht das mit BTRFS Snapshots dank COW noch effizienter, weil rsync oft nur Teile einer Datei überträgt und damit auf dem Zielsystem ändert. Das ist aber wohl eher interessant bei VM-Images, nicht auf einem Telefon.

Wenn rsync über ssh schon funktioniert und man Synchronisation in beiden Richtungen braucht, ist unison das Tool der Wahl. Das Binary von Debian Bullseye läuft auch auf einem aktuellen XA2 (wget und binutils müssen installiert sein). Auf dem XA2 als root:

# cd /tmp/
# wget http://ftp.de.debian.org/debian/pool/main/u/unison-2.51+4.11.1/unison-2.51+4.11.1_2.51.3-1_armhf.deb
# ar x unison-2.51+4.11.1_2.51.3-1_armhf.deb
# tar xvf data.tar.xz ./usr/bin/unison-2.51+4.11.1
# ./usr/bin/unison-2.51+4.11.1 --help

Hat eigentlich jemand hier Erfahrung mit dem Intex Aquafish, das jetzt zum Jolla C gemacht wurde? Meine Fragen: Ist das Display so schlecht wie beim Jolla Phone? bleibt mit der “Umwandlung” zum Jolla C AlienDalvik erhalten? Und wenn ja, welche Version?

Ich kann leider zum Umwandeln nicht sagen, nur zum Gerät (Jolla C) selber.
Und ja, das Display ist nach heutigen Maßstäben nix mehr. Die Verarbeitung ist auch eher mies, sehr billiges Plastik.
Das schlimmste ist aber der Akku. Hat bei mir nach einem halben Jahr schon ordentlich an Kapazität verloren, nach einem dreiviertel Jahr begann er sich aufzublähen und nach einem Jahr war er Schrott…

Vielen Dank für die Info. Ich habe inzwischen doch ein XA2 erworben. Eben wegen dieser Erwartungen.

1 Like

“Umwandeln” ist einfach und der Fish ist vom JollaC im Grunde nicht zu unterscheiden.
Der AquaFisch läuft, also bei mir, sogar n bissle besser.
Die Verarbeitung der Geräte ist kein großes TischTennis.
EA Taste und USB-Büchs sind die Schwachstellen.
Akku ist bei mir, trotz der Zeit, bei beiden Teilen noch echt gut.

Zum XA2,
das ist n super Gerät.
Nur ist da SF die schlechtere Wahl.

Du kannst doch eigentlich einfach nen ln machen

Nützt nichts :roll_eyes:

1 Like

Heißt dein Benutzer noch nemo oder defaultuser ?

Wie ich weiter oben schon geschrieben habe:

Backup hat bis zur Umstellung auf ‘defaultuser’ gut mit Simple & quick file backup (rsync) | OpenRepos.net — Community Repository System funktioniert.

Die Software geht seither nicht mehr zu installieren - bricht mit obigem Fehler ab.
Ein Softlink in /home reicht nicht, da anscheinend im preinstall Skript in den Benutzer nemo gewechselt wird - mit su nemo wie die Fehlermeldung zeigt.

Viele Grüße Gabs

Bist du dir da sicher?
Ich hab’s grade entpackt und sehe nichts was darauf hindeutet dass es während der Software-Installation schon am Usernamen scheitert.

Schau mal bitte ob sich auf deinem System die folgenden Ordner/Dateien finden:

/usr
├── lib
│   └── systemd
│       └── user
│           └── quickfilebackup-removenotifier.service
└── share
    ├── jolla-settings
    │   ├── entries
    │   │   └── quickfilebackup.json
    │   └── pages
    │       └── quickfilebackup
    │           ├── ActionList.qml
    │           ├── FilePickerDialog.qml
    │           ├── HowTo.qml
    │           ├── MainPage.qml
    │           ├── plugins
    │           │   ├── CreateSymlink.qml
    │           │   ├── RestartQUICKfilebackup.qml
    │           │   ├── Separator.qml
    │           │   ├── Spacer1.qml
    │           │   ├── StopQUICKfilebackup.qml
    │           │   └── UpdateQUICKfilebackup.qml
    │           └── tools.js
    ├── lipstick
    │   └── notificationcategories
    │       ├── x-sailfish.quickfilebackup.error.conf
    │       └── x-sailfish.quickfilebackup.info.conf
    ├── openrepos-quickfilebackup
    │   ├── auto-quickfilebackup-cloud-root
    │   ├── auto-quickfilebackup-cloud-root-helper.c
    │   ├── auto-quickfilebackup-cloud-root.sh
    │   ├── auto-quickfilebackup-remote-root
    │   ├── auto-quickfilebackup-remote-root-helper.c
    │   ├── auto-quickfilebackup-remote-root.sh
    │   ├── auto-quickfilebackup-root
    │   ├── auto-quickfilebackup-root-helper.c
    │   ├── auto-quickfilebackup-root.sh
    │   ├── auto-quickfilebackup.sh
    │   ├── auto-quickfilebackup-symlink-root
    │   ├── auto-quickfilebackup-symlink-root-helper.c
    │   ├── auto-quickfilebackup-symlink-root.sh
    │   ├── auto-quickfilebackup-symlink.sh
    │   ├── auto-quickfilebackup-update.sh
    │   ├── check-directory-cloud-root
    │   ├── check-directory-cloud-root-helper.c
    │   ├── check-directory-cloud-root.sh
    │   ├── check-directory-remote-root
    │   ├── check-directory-remote-root-helper.c
    │   ├── check-directory-remote-root.sh
    │   ├── check-directory-root
    │   ├── check-directory-root-helper.c
    │   ├── check-directory-root.sh
    │   ├── check-directory-symlink-root
    │   ├── check-directory-symlink-root-helper.c
    │   ├── check-directory-symlink-root.sh
    │   ├── notifier10.py
    │   ├── notifier1.py
    │   ├── notifier3.py
    │   ├── notifier4a.py
    │   ├── notifier4b.py
    │   ├── notifier4c.py
    │   ├── notifier4d.py
    │   ├── notifier4e.py
    │   ├── notifier4.py
    │   ├── notifier5.py
    │   ├── notifier7a.py
    │   ├── notifier7.py
    │   ├── notifier8a.py
    │   ├── notifier8b.py
    │   ├── notifier8c.py
    │   ├── notifier8d.py
    │   ├── notifier8e.py
    │   ├── notifier8.py
    │   ├── notifier9.py
    │   ├── quickfilebackup.sh
    │   ├── quickfilebackup-stop.sh
    │   ├── quickfilebackup-timer-changer.sh
    │   ├── Rclone_setup_for_Jolla_devices.pdf
    │   ├── remove-notification-root
    │   ├── remove-notification-root-helper.c
    │   ├── remove-notification-root.sh
    │   └── SSH_connection_for_Jolla_devices.pdf
    └── themes
        └── sailfish-default
            └── meegotouch
                ├── z1.0
                │   └── icons
                │       ├── icon-m-quickfilebackup2.png
                │       └── icon-m-quickfilebackup.png
                ├── z1.25
                │   └── icons
                │       ├── icon-m-quickfilebackup2.png
                │       └── icon-m-quickfilebackup.png
                ├── z1.75
                │   └── icons
                │       ├── icon-m-quickfilebackup2.png
                │       └── icon-m-quickfilebackup.png
                └── z2.0
                    └── icons
                        ├── icon-m-quickfilebackup2.png
                        └── icon-m-quickfilebackup.png

Das Wort nemo findet sich in folgenden Dateien:

$> grep -lrw nemo
share/openrepos-quickfilebackup/auto-quickfilebackup-update.sh
share/openrepos-quickfilebackup/notifier10.py
share/openrepos-quickfilebackup/notifier3.py
share/openrepos-quickfilebackup/notifier4.py
share/openrepos-quickfilebackup/notifier4b.py
share/openrepos-quickfilebackup/check-directory-symlink-root.sh
share/openrepos-quickfilebackup/remove-notification-root.sh
share/openrepos-quickfilebackup/quickfilebackup-timer-changer.sh
share/openrepos-quickfilebackup/SSH_connection_for_Jolla_devices.pdf
share/openrepos-quickfilebackup/check-directory-root.sh
share/openrepos-quickfilebackup/auto-quickfilebackup-root.sh
share/openrepos-quickfilebackup/notifier1.py
share/openrepos-quickfilebackup/check-directory-remote-root.sh
share/openrepos-quickfilebackup/notifier8d.py
share/openrepos-quickfilebackup/notifier8.py
share/openrepos-quickfilebackup/notifier8a.py
share/openrepos-quickfilebackup/notifier5.py
share/openrepos-quickfilebackup/notifier4a.py
share/openrepos-quickfilebackup/auto-quickfilebackup-symlink-root.sh
share/openrepos-quickfilebackup/notifier8c.py
share/openrepos-quickfilebackup/notifier4d.py
share/openrepos-quickfilebackup/check-directory-cloud-root.sh
share/openrepos-quickfilebackup/notifier4e.py
share/openrepos-quickfilebackup/auto-quickfilebackup-cloud-root.sh
share/openrepos-quickfilebackup/auto-quickfilebackup-symlink.sh
share/openrepos-quickfilebackup/auto-quickfilebackup-remote-root.sh
share/openrepos-quickfilebackup/notifier9.py
share/openrepos-quickfilebackup/notifier4c.py
share/openrepos-quickfilebackup/notifier8b.py
share/openrepos-quickfilebackup/notifier7a.py
share/openrepos-quickfilebackup/auto-quickfilebackup.sh
share/openrepos-quickfilebackup/notifier7.py
share/openrepos-quickfilebackup/notifier8e.py
share/jolla-settings/pages/quickfilebackup/ActionList.qml
share/jolla-settings/pages/quickfilebackup/HowTo.qml
share/jolla-settings/pages/quickfilebackup/FilePickerDialog.qml
share/lipstick/notificationcategories/x-sailfish.quickfilebackup.info.conf
share/lipstick/notificationcategories/x-sailfish.quickfilebackup.error.conf

Das wäre dann relativ einfach mit search/replace zu ersetzen.

1 Like

@ohnonot
Beim grep über die pre- und postinstall Skripte ergibt sich folgenden:


tmp/install $ grep nemo *
delete.sh:/bin/rm -rf /home/nemo/.config/openrepos-quickfilebackup
delete.sh:su -l nemo -c "dconf reset -f /quickfilebackup/"
delete.sh:sqlite3 /home/nemo/.local/share/system/privileged/Notifications/notifications.db "select * from notifications;"|grep "Quick file-backup"|cut -d '|' -f1|while read line; do su -l nemo -c "notificationtool -o remove -i $line" && sleep 2; done
doinst.sh:su -l nemo -c 'dconf write /quickfilebackup/filebackup/timer "'"'06:00 21:00'"'"
doinst.sh:     su -l nemo -c 'dconf write /quickfilebackup/filebackup/quickfilebackupserviceOn false'
doinst.sh:    if [[ $(stat -c %U /home/nemo/.config/rclone/rclone.conf) != nemo ]]; then
doinst.sh:     chown nemo:nemo /home/nemo/.config/rclone/rclone.conf
doinst.sh:    sqlite3 /home/nemo/.local/share/system/privileged/Notifications/notifications.db "select * from notifications;"|grep "Quick file-backup"|cut -d '|' -f1|while read line; do su -l nemo -c "notificationtool -o remove -i $line" && sleep 2; done
predoinst.sh: if [ ! -d /home/nemo/.config/systemd/user/user-session.target.wants ]; then
predoinst.sh:   su -l nemo -c "mkdir -p /home/nemo/.config/systemd/user/user-session.target.wants && chmod 0755 /home/nemo/.config/systemd/user/user-session.target.wants"
predoinst.sh: if [ ! -d /home/nemo/.config/openrepos-quickfilebackup ]; then
predoinst.sh:  su -l nemo -c "mkdir -p /home/nemo/.config/openrepos-quickfilebackup && chmod 0755 /home/nemo/.config/openrepos-quickfilebackup"
predoinst.sh: if [ ! -d /home/nemo/.config/systemd/user/user-session.target.wants ]; then
predoinst.sh:   su -l nemo -c "mkdir -p /home/nemo/.config/systemd/user/user-session.target.wants && chmod 0755 /home/nemo/.config/systemd/user/user-session.target.wants"
predoinst.sh: if [ ! -d /home/nemo/.config/openrepos-quickfilebackup ]; then
predoinst.sh:  su -l nemo -c "mkdir -p /home/nemo/.config/openrepos-quickfilebackup && chmod 0755 /home/nemo/.config/openrepos-quickfilebackup"

Da im predoinst.sh verschiedene su Kommandos mit dem Ziel nemo abgesetzt werden, muss die installation scheitern, wenn es diesen Benutzer nicht gibt :wink:
Nichst anderes zeigt mein Screenshot …

...
su: user nemo does not exist ...
...
error: %prein( ...) scriptlet failed, exit status 1
...

Die Skripte müssten so sinnvollerweise modifiziert werden, dass zuerst geprüft wird, wie der ‘admin’ user heist und diesen dann verwenden. root und zusätzlich angelegte Benutzer müssen ignoriert werden …
Ich konnte noch nicht testen, was den ‘admin’ user von den anderen unterscheidet (ich habe noch keinen anderen angelegt) - eventuell die Gruppenzugehörigkeiten zu ssu?

root@fp2-4:~ # id defaultuser
uid=100000(defaultuser) gid=100000(defaultuser) groups=100000(defaultuser),39(video),1005(audio),100(users),1002(bluetooth),1003(graphics),1004(input),1006(camera),1013(media),1023(media_rw),1024(mtp),992(sailfish-system),991(ssu),990(sailfish-alarms),989(sailfish-datetime),988(timed),987(sailfish-phone),986(sailfish-messages),983(account-jolla),982(account-jabber),981(account-nextcloud),980(account-onlinesync),979(account-yahoo),978(account-memotoo),977(account-fruux),976(account-google),975(account-webcal),974(account-twitter),973(account-facebook),972(account-vk),971(account-onedrive),970(account-dropbox),969(account-email)
root@fp2-4:~ #

Viele Grüße Gabs

Ich hab das Problem schon verstanden.
Meine erste Frage hast du nicht beantwortet, und deine Antwort weicht so weit von meiner 2ten Frage ab dass ich nichts damit anfangen kann. Wo kommen diese pre- und postinstall-Skripte her? Bei mir tauchen die ja gar nicht auf.
Versuch’s bitte nochmal, dann kommen wir da schon durch.

Ich ging übrigens von dieser manuell entpackten .rpm aus, also der letzten auf der von dir verlinkten openrepos-Seite. Ist das nicht die Version die bei dir installiert ist?

@ohnonot
die Skripte sind im rpm und werden (wie die Namen sagen) vor (predoinst.sh) und nach (doinst.sh) der Installation, oder vor (delete) der Deinstallation ausgeführt.
Mit dem Programm ‘alien’ kann man rpms in unterschiedliche andere Paketformate umwandeln (z.B. .rpm → .deb, .rpm → .tgz, …) dabei kann man angeben, dass die Skripte mit genommen werden.
Wenn man also das .rpm in ein .tgz umwandelt und den Schalter ‘-c’ oder ‘–scripts’ verwendet hat man wirklich alles mit drinnen, was im .rpm auch drinnen war. Und damit auch die entsprechenden Skripte.
Da das predoinstall.sh vor dem entpacken der Dateien passiert, und dabei der Aufruf ‘su -l nemo’ (mit dem fest vorgegebenen Benutzer nemo) fehlschlägt, bricht die Installation ab.
Natürlich könnte man die Dateien manuell an die richtige Stelle entpacken und die Skripte auf defaultuser anpassen und ausführen, aber dann wäre das eben keine Installation mit allen daraus resultierenden Nachteilen …

Und ja, ich bin mir sicher, dass die Installation (auch bei einer händischen Installation unter root mit dem rpm Kommando) mit Fehler abbricht, wenn man die Installationen auf einem SailfisOS durchführt, bei dem der ‘admin’ user defaultuser und nicht nemo heißt :smiley: - ich habe es auf meinen verschiedenen SailfishOS Installationen (insgesamt vier) ausprobiert.

Die oben genannten Skripte gibt es übrigens für (fast) alle Paketformate, da ein alleiniges Entpacken der Dateien in einigen Fällen nicht reicht. So wird bei der Installation (wie zum Beispiel hier gut zu sehen) mit Kommandos wie dconf spezifische Konfigurationseinträge erstellt, oder Dateien und Verzeichnisse für einen speziellen Benutzer angelegt (wenn sie noch nicht vorhanden sind - was bei einer Neuinstallation ja meistens der Fall ist). Um das Problem zu umgehen, bei einem Paketupdate Konfigurationsänderungen zu überschreiben, sind diese Dateien dann nicht mit im Archiv, sondern werden nur bei der Erstinstallation über einen anderen Mechanismus erstellt - dazu die Skripte :wink:.

Ich hoffe meine Erklärung war dieses Mal veständlich genug. Wenn nicht einfach mal hier schauen (RPM Packaging Guide) … Viele Grüße Gabs

1 Like