ich habe Ghidra installiert, und im Wesentlichen tut es, aber die Schrift ist in der Darstellung zu klein. Um das zu ändern, habe ich die zuständige launch.properties in mein Dokumenteverzeichnis kopiert und die Änderung eingefügt. Als root will ich dann per cp die neue Datei in das ursprüngliche Verzeichnis kopieren. Das misslingt kläglich: "die Datei kann nicht angelegt werden, da das Dateisystem nur lesbar ist." Allerdings kommt chmod mit dem gleichem Ergebnis.
Es war mir nicht bewusst, dass solche Daten auf einem ROM-Dateisystem liegen.
Ich habe aber auch nicht gewusst, dass ich überhaupt ROM-Dateisysteme habe.
Kann mir jemand Hinweise geben?
Hinweis: Die Meldung schreibt ausdrücklich von Dateisystemem und nicht von Verzeichnishierarchien.
Da müsste man erstmal wissen, welche Distro das ist, wo du die Dateien hin kopieren willst, etc.
Normalerweise kann man sich mit "mount" anzeigen lassen, was wo gemountet ist. Das sollte dir auch anzeigen, was als "ro" (readonly) gemountet ist.
Die Frage wird dann sein, ist das so vorgesehen, oder ist da was kaputt.
Wenn was kaputt ist, sieht man das oft in dmesg. Vielleicht hilft dann ein fsck, vielleicht ist aber auch das Speichermedium kaputt.
Die traditionellen Distros, die ich nutze (Debian, Arch, etc.), haben eigentlich keine echten RO Dateisysteme.
Man hört aber letztens öfters von neuen Distros, die sich damit anpreisen Unkaputtbar weil "immutable" zu sein, sicheres "verity" crypto Signatur zeug haben, etc. Neu ist die Idee auch nicht, Ubuntu Touch linux Phones z.B., hatten in der Regel auch OTA Updates, und der User sollte nichts am System selbst anfassen.
Lennart / Systemd hat übrigens auch so kranke Fantasien für die Zukunft von Linux (kann man in seinem Blog nachlesen https://0pointer.net/blog/fitting-everything-together.html). Letztens hat er dafür eine Firma (Amutable) gegründet.
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
udev on /dev type devtmpfs (rw,nosuid,relatime,size=30126448k,nr_inodes=7531612,mode=755,inode64)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=600,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,nodev,noexec,relatime,size=6555808k,mode=755,inode64)
/dev/nvme0n1p2 on / type ext4 (rw,relatime)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,inode64,usrquota)
cgroup2 on /sys/fs/cgroup type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate,memory_recursiveprot,memory_hugetlb_accounting)
none on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
efivarfs on /sys/firmware/efi/efivars type efivarfs (rw,nosuid,nodev,noexec,relatime)
bpf on /sys/fs/bpf type bpf (rw,nosuid,nodev,noexec,relatime,mode=700)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=37,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=6368)
none on /run/credentials/systemd-journald.service type tmpfs (ro,nosuid,nodev,noexec,relatime,nosymfollow,size=1024k,nr_inodes=1024,mode=700,inode64,noswap)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,nosuid,nodev,relatime,pagesize=2M)
mqueue on /dev/mqueue type mqueue (rw,nosuid,nodev,noexec,relatime)
debugfs on /sys/kernel/debug type debugfs (rw,nosuid,nodev,noexec,relatime)
tracefs on /sys/kernel/tracing type tracefs (rw,nosuid,nodev,noexec,relatime)
configfs on /sys/kernel/config type configfs (rw,nosuid,nodev,noexec,relatime)
fusectl on /sys/fs/fuse/connections type fusectl (rw,nosuid,nodev,noexec,relatime)
none on /run/credentials/systemd-resolved.service type tmpfs (ro,nosuid,nodev,noexec,relatime,nosymfollow,size=1024k,nr_inodes=1024,mode=700,inode64,noswap)
/dev/nvme0n1p1 on /boot/efi type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)
/var/lib/snapd/snaps/bare_5.snap on /snap/bare/5 type squashfs (ro,nodev,relatime,errors=continue,threads=single,x-gdu.hide,x-gvfs-hide)
/var/lib/snapd/snaps/code_243.snap on /snap/code/243 type squashfs (ro,nodev,relatime,errors=continue,threads=single,x-gdu.hide,x-gvfs-hide)
/var/lib/snapd/snaps/core20_2866.snap on /snap/core20/2866 type squashfs (ro,nodev,relatime,errors=continue,threads=single,x-gdu.hide,x-gvfs-hide)
/var/lib/snapd/snaps/core18_2999.snap on /snap/core18/2999 type squashfs (ro,nodev,relatime,errors=continue,threads=single,x-gdu.hide,x-gvfs-hide)
/var/lib/snapd/snaps/core24_1587.snap on /snap/core24/1587 type squashfs (ro,nodev,relatime,errors=continue,threads=single,x-gdu.hide,x-gvfs-hide)
/var/lib/snapd/snaps/core22_2411.snap on /snap/core22/2411 type squashfs (ro,nodev,relatime,errors=continue,threads=single,x-gdu.hide,x-gvfs-hide)
/var/lib/snapd/snaps/core24_1643.snap on /snap/core24/1643 type squashfs (ro,nodev,relatime,errors=continue,threads=single,x-gdu.hide,x-gvfs-hide)
/var/lib/snapd/snaps/ffmpeg-2204_126.snap on /snap/ffmpeg-2204/126 type squashfs (ro,nodev,relatime,errors=continue,threads=single,x-gdu.hide,x-gvfs-hide)
/var/lib/snapd/snaps/element-desktop_203.snap on /snap/element-desktop/203 type squashfs (ro,nodev,relatime,errors=continue,threads=single,x-gdu.hide,x-gvfs-hide)
/var/lib/snapd/snaps/firefox_8107.snap on /snap/firefox/8107 type squashfs (ro,nodev,relatime,errors=continue,threads=single,x-gdu.hide,x-gvfs-hide)
/var/lib/snapd/snaps/firefox_8387.snap on /snap/firefox/8387 type squashfs (ro,nodev,relatime,errors=continue,threads=single,x-gdu.hide,x-gvfs-hide)
/var/lib/snapd/snaps/gnome-46-2404_153.snap on /snap/gnome-46-2404/153 type squashfs (ro,nodev,relatime,errors=continue,threads=single,x-gdu.hide,x-gvfs-hide)
/var/lib/snapd/snaps/gtk-common-themes_1535.snap on /snap/gtk-common-themes/1535 type squashfs (ro,nodev,relatime,errors=continue,threads=single,x-gdu.hide,x-gvfs-hide)
/var/lib/snapd/snaps/ghidra_35.snap on /snap/ghidra/35 type squashfs (ro,nodev,relatime,errors=continue,threads=single,x-gdu.hide,x-gvfs-hide)
/var/lib/snapd/snaps/gtk-theme-breeze_8.snap on /snap/gtk-theme-breeze/8 type squashfs (ro,nodev,relatime,errors=continue,threads=single,x-gdu.hide,x-gvfs-hide)
/var/lib/snapd/snaps/icon-theme-breeze_5.snap on /snap/icon-theme-breeze/5 type squashfs (ro,nodev,relatime,errors=continue,threads=single,x-gdu.hide,x-gvfs-hide)
/var/lib/snapd/snaps/krita_109.snap on /snap/krita/109 type squashfs (ro,nodev,relatime,errors=continue,threads=single,x-gdu.hide,x-gvfs-hide)
/var/lib/snapd/snaps/mesa-2404_1165.snap on /snap/mesa-2404/1165 type squashfs (ro,nodev,relatime,errors=continue,threads=single,x-gdu.hide,x-gvfs-hide)
/var/lib/snapd/snaps/kde-frameworks-5-99-qt-5-15-7-core20_7.snap on /snap/kde-frameworks-5-99-qt-5-15-7-core20/7 type squashfs (ro,nodev,relatime,errors=continue,threads=single,x-gdu.hide,x-gvfs-hide)
/var/lib/snapd/snaps/kf5-core22_3.snap on /snap/kf5-core22/3 type squashfs (ro,nodev,relatime,errors=continue,threads=single,x-gdu.hide,x-gvfs-hide)
tmpfs on /tmp type tmpfs (rw,noatime,inode64)
/var/lib/snapd/snaps/rustup_1492.snap on /snap/rustup/1492 type squashfs (ro,nodev,relatime,errors=continue,threads=single,x-gdu.hide,x-gvfs-hide)
/var/lib/snapd/snaps/rust-bf_13.snap on /snap/rust-bf/13 type squashfs (ro,nodev,relatime,errors=continue,threads=single,x-gdu.hide,x-gvfs-hide)
/var/lib/snapd/snaps/python38_22.snap on /snap/python38/22 type squashfs (ro,nodev,relatime,errors=continue,threads=single,x-gdu.hide,x-gvfs-hide)
/var/lib/snapd/snaps/snapd_26865.snap on /snap/snapd/26865 type squashfs (ro,nodev,relatime,errors=continue,threads=single,x-gdu.hide,x-gvfs-hide)
/var/lib/snapd/snaps/swi-prolog_110.snap on /snap/swi-prolog/110 type squashfs (ro,nodev,relatime,errors=continue,threads=single,x-gdu.hide,x-gvfs-hide)
/var/lib/snapd/snaps/thunderbird_1117.snap on /snap/thunderbird/1117 type squashfs (ro,nodev,relatime,errors=continue,threads=single,x-gdu.hide,x-gvfs-hide)
/var/lib/snapd/snaps/thunderbird_1057.snap on /snap/thunderbird/1057 type squashfs (ro,nodev,relatime,errors=continue,threads=single,x-gdu.hide,x-gvfs-hide)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,nosuid,nodev,noexec,relatime)
tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=6555804k,nr_inodes=1638951,mode=700,uid=1000,gid=1000,inode64)
portal on /run/user/1000/doc type fuse.portal (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000)
portal on /root/.cache/doc type fuse.portal (rw,nosuid,nodev,relatime,user_id=0,group_id=0)
tracefs on /sys/kernel/debug/tracing type tracefs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /run/snapd/ns type tmpfs (rw,nosuid,nodev,noexec,relatime,size=6555808k,mode=755,inode64)
nsfs on /run/snapd/ns/firefox.mnt type nsfs (rw)
/var/lib/snapd/snaps/code-insiders_2421.snap on /snap/code-insiders/2421 type squashfs (ro,nodev,relatime,errors=continue,threads=single,x-gdu.hide,x-gvfs-hide)
/var/lib/snapd/snaps/ghidra_37.snap on /snap/ghidra/37 type squashfs (ro,nodev,relatime,errors=continue,threads=single,x-gdu.hide,x-gvfs-hide)
nsfs on /run/snapd/ns/ghidra.mnt type nsfs (rw)
/var/lib/snapd/snaps/core_17292.snap on /snap/core/17292 type squashfs (ro,nodev,relatime,errors=continue,threads=single,x-gdu.hide,x-gvfs-hide)
/var/lib/snapd/snaps/notepadqq_855.snap on /snap/notepadqq/855 type squashfs (ro,nodev,relatime,errors=continue,threads=single,x-gdu.hide,x-gvfs-hide)
nsfs on /run/snapd/ns/notepadqq.mnt type nsfs (rw)
kio-fuse on /run/user/1000/kio-fuse-OXfFzt type fuse.kio-fuse (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000)
/var/lib/snapd/snaps/code-insiders_2427.snap on /snap/code-insiders/2427 type squashfs (ro,nodev,relatime,errors=continue,threads=single,x-gdu.hide,x-gvfs-hide)
Um das zu ändern, habe ich die
zuständige launch.properties in mein Dokumenteverzeichnis kopiert und
die Änderung eingefügt. Als root will ich dann per cp die neue Datei in
das ursprüngliche Verzeichnis kopieren. Das misslingt kläglich: "die
Datei kann nicht angelegt werden, da das Dateisystem nur lesbar ist."
Allerdings kommt chmod mit dem gleichem Ergebnis.
Wenn Du mal auf Deine Ausgabe von mount(8) schaust, siehst Du, daß alle Snaps da readonly gemountet sind. Das liegt IIRC an dem verwendeten SquashFS, das ein komprimierted Read-Only-Dateisystem ist, also auch nicht mit remount readwrite gemountet werden kann. Aber Du kannst es womöglich mit unsquashfs(1) entpacken, Deine Modifikation im Entpackten vornehmen und die Software dann mit "snap try" wohl wieder als lokales Snap einbinden. Bitte lies allerdings zuvor die Doku zu den betreffenden Befehlen, ich hab das nicht mehr genau im Kopf. Viel Glück und Erfolg!
Also wenn die Benutzung von Software für Reverse Engineering schon an der Benutzung dieser Software scheitert, was soll das erst werden wenn man erst was versucht zu tun wofür diese Software gebaut wurde?
Was für Quellcode gilt, darfst du auch gerne hierauf anwenden:
Wichtige Regeln - erst lesen, dann posten!
Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang
Durch solche Details will sich niemand durchwühlen, der den Thread
überfliegt
Und erst recht hat niemand Bock dein ständiges Gesülze ohne jeglichen Bezug zum jeweiligen Thread zu lesen, die dann wieder threadbezuglose Postings provozieren, die zu lesen auch niemand Bock hat.
Locale(1)... führt mitunter leider zu Fehlermeldungen wie "kein Weltraum
links auf dem Gerät".
Mit Linux bekommt man halt "Hacker-Humor" mitgeliefert, ob man nun will
oder nicht.
War aber AIX oder SunOS / Solaris, IIRC.
Bei Linux von SuSE fiel für mich besonders die Bemühung mit Deutsch-Übersetzungen auf; klar, irgendwie wollte SuSE ja auch Geld verdienen, also mussten die die Linux-Distri mit eigener Arbeit anreichern.
Kollegen haben bei HP-UX auch schon mal die Spracheinstellungen geändert (auf frz. IIRC), obwohl eigentlich alle relevante Literatur zu Unix und Co (bspw. O'Reilly) auf Englisch vorlag.
IMHO haben die Windows-Macher mit ihrer Zielgruppe "Unbedarfter Home-office-Computer-Nutzer" wenig Alternative zur Übertragung in die jeweilige (Grundschul-)Landes-Sprache.