journalctl -u micro – Telegram
journalctl -u micro
93 subscribers
2.17K photos
210 videos
287 files
1.44K links
Esperienze e consigli di uno sviluppatore tech−unenthusiast

creation — 2021-04-29
owner — @Microeinstein

networks
@sigma_hub Σ
@ageiroumena
Download Telegram
Mi sono appena reso conto che la creazione di symlinks da Dolphin è eseguita sempre con percorsi assoluti, il che mi fa incazzare non poco - dato che di tanto in tanto sposto le cartelle...
Da qualche mese ormai, ho notato che tutto a un tratto i file HTML sono associati ad un MIME type diverso: prima era text/html, ora è application/x-extension-html.

Il problema di ciò è che tutti i software hanno un'associazione default a text/.. e non ad application/..
...quindi di default mi chiede sempre con quale app aprire questi HTML, dato che non esiste alcuna associazione.

Sono abbastanza sicuro che qualche mantainer abbia rotto il MIME type; solo che non riesco a trovare quali files di sistema/locali possano c'entrare con il problema; ho già cercato con
grep -ri 'x-extension-html' /usr/share/mime
ma non trova nulla...

Inoltre, dalle impostazioni di KDE non posso eliminare quel mimetype 😩
journalctl -u micro
Da qualche mese ormai, ho notato che tutto a un tratto i file HTML sono associati ad un MIME type diverso: prima era text/html, ora è application/x-extension-html. Il problema di ciò è che tutti i software hanno un'associazione default a text/.. e non ad…
Ho un punto di partenza

> esiste un tool cli (xdg-mime) che permette di controllare quale mimetype è associato ad un dato file
$ xdg-mime query filetype dummy.html
application/x-extension-html

> controllo il tipo di file del tool
$ file "$(which xdg-mime)"
/usr/bin/xdg-mime: POSIX shell noscript, ASCII text executable
> oh no è uno noscript gigante

> apro con KWrite
> faccio folding automatico di tutte le funzioni
> ok a quanto pare questo noscript non è altro che un wrapper gigante per ogni DE
> XDG_UTILS_DEBUG_LEVEL hmm
$ export XDG_UTILS_DEBUG_LEVEL=10
$ xdg-mime query filetype dummy.html
Running kmimetypefinder5 "/.../dummy.html"
application/x-extension-html

> kmimetypefinder5 hmm
$ kmimetypefinder5 dummy.html
application/x-extension-html
$ kmimetypefinder5 -c dummy.html
text/html
> interessante, solo leggendone il contenuto restituisce il mimetype corretto

> controllo il tipo di file di quest'altro tool
$ file "$(which kmimetypefinder5)"
/usr/bin/kmimetypefinder5: ELF 64-bit LSB pie executable
[...]
> chissà quali files leggerà
> magari i percorsi sono hard-coded?
$ strings "$(which kmimetypefinder5)" | less
> no
> tracciamo i files aperti a runtime
$ strace -f -t -e trace=file kmimetypefinder5 dummy.html
[...]
00:33:17 statx(AT_FDCWD, "/home/micro/.local/share/mime", AT_STATX_SYNC_AS_STAT, STATX_ALL, {stx_mask=STATX_ALL|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFDIR|0755, stx_size=330, ...}) = 0
[...]

> come? esiste una cartella mime anche per l'utente? tra tutte le ricerche che ho fatto non ne ho mai sentito parlare
$ grep -ri 'x-extension-html' .local/share/mime
.local/share/mime/packages/user-extension-html.xml:
<mime-type type="application/x-extension-html">

.local/share/mime/application/x-extension-html.xml:
<mime-type xmlns="http://www.freedesktop.org/standards/shared-mime-info" type="application/x-extension-html">

.local/share/mime/globs:
application/x-extension-html:*.html

.local/share/mime/globs2:
50:application/x-extension-html:*.html

.local/share/mime/types:
application/x-extension-html

grep: .local/share/mime/mime.cache: il file binario corrisponde
> beccati?

$ xdg-mime uninstall --mode user .local/share/mime/packages/user-extension-html.xml
$ grep -ri 'x-extension-html' .local/share/mime
> Ø

I FUCKING DID IT
journalctl -u micro
Ho un punto di partenza > esiste un tool cli (xdg-mime) che permette di controllare quale mimetype è associato ad un dato file $ xdg-mime query filetype dummy.html application/x-extension-html > controllo il tipo di file del tool $ file "$(which xdg-mime)"…
Conclusione: wtf

> Anche altre persone hanno avuto problemi correlati esattamente qualche mese fa, e la soluzione è stata la stessa: rimuovere quei file
https://bbs.archlinux.org/viewtopic.php?pid=1985776#p1985776

> Guardando la data di modifica, risultano esistere almeno da dicembre 2019 (???)
Per chi volesse usare MPV con la fork Youtube-DLP, in teoria basta aggiungere ad mpv.conf la seguente opzione di noscript:

noscript-opts=ytdl_hook-ytdl_path=/usr/bin/yt-dlp,...

https://github.com/yt-dlp/yt-dlp
Forwarded from Hacker News
New NTFS Read-Write Driver from Paragon Merged to Linux Kernel (Score: 150+ in 9 hours)

Link: https://readhacker.news/s/4TQ6k
Comments: https://readhacker.news/c/4TQ6k
Raga non usate ntfs3 (o meglio ancora il filesystem NTFS)

Ho sospettato la corruzione quando ho scaricato un file con wget e, nonostante non fosse nascosto, era invisibile a ls -al
...ma allo stesso tempo se ne si conosceva il nome veniva visto (file x.zip)
Thinking about NTFS,
avevo in mente di aggiungere sull'SSD un'installazione minimale di una qualche edizione di Windows, solo per avere strumenti di ripristino quali chkdsk funzionante (e più moderno possibile), e magari anche BootICE idk.

Note:
- ntfsfix non fa un cazzo
- chkdsk non può essere eseguito da wine
Scoperto nuovo comando findmnt in util-linux, molto più figo di fare mount | column -t
Ho trovato un modo figo per gestire e analizzare immagini di macchine virtuali .qcow2:

> caricare driver nbd
# modprobe nbd max_part=8

> collegare l'immagine (± come si farebbe con losetup)
# qemu-nbd --connect=/dev/nbdX img.qcow2

> gestire le partizioni (bisogna specificare a mano il device)
# gparted /dev/nbdX

> montare una partizione
$ udisksctl mount -b /dev/nbdXpY

Una volta montata una partizione è possibile fare ciò che si vuole, incluso vedere lo spazio occupato dai files con FileLight

> smontare partizione
$ udisksctl unmount -b /dev/nbdXpY

> scollegare immagine
# qemu-nbd --disconnect /dev/nbdX