Montowanie katalogu z użyciem innego kodowania znaków.

  • By :
  • Category : Linux

Technika przydaje się w różnych warunkach. Dzięki niej nazwa pliku może mieć inne kodowanie w zależności od tego w jakim katalogu jest listowany.

Sposób wykorzystałem  do łatwego robienia kopii bezpieczeństwa katalogów samby.
Jakiś czas temu przez niedopatrzenie w pliku konfiguracyjnym smb.conf zostawiłem następujące wpisy: unix charset = ISO8859-2; dos charset = CP852. Użytkownicy (którzy generują niestety dużo polskich znaków diakrytycznych)  zaczęli zapisywać na dyskach sieciowych pliki przy wykorzystaniu kodowania ISO w ich nazwach. Ponieważ system (debian 5) wykorzystuje kodowanie utf-8 to odczyt tych nazw z poziomu konsoli systemu powodował wyświetlenie znaków zapytania. Chociaż sama samba odczytywała nazwy plików poprawnie, to już robienie kopii zapasowej pliku (tar, 7z) powodowało utratę polskich literek.

Szukając prostego sposobu rozwiązania tego problemu natrafiłem na dwa pakiety dostępne w repozytorium debiana: convmv, fuse-convmvfs. Pierwszy służy do przekształcania nazw plików z jednego formatowania do drugiego. Drugi pakiet umożliwia montowanie (w przestrzeni użytkownika) katalogu w taki sposób aby moduł w locie tłumaczył kodowanie nazw plików.

Konfiguracja fuse-convmvfs:

  • aptitude install fuse-convmvfs
  • modprobe fuse (można dodać do pliku: /etc/modules)
  • convmvfs /home-utf8 -o srcdir=/home, icharset=ISO_8859-2, ocharset=UTF-8 (katalog /home z nazwami plików w iso jest montowany w katalogu /home-utf8 z kodowaniem utf8, polskie znaki są ładnie wyświetlane przez system) – wpis ten można dodać do

Minusy – dodatkowe wykorzystanie procesora przez pakiet.

No Comments

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Linux
Creating random (not empty, thin provisioned) files in Linux

Recently I have found the command that can generate random file in linux environment where non empty (thin provisioned) files are required for testing: todo: combine that command with parallel command (or parallel that in python).

Linux
Nginx configuration for joplin note taking app

Introduction Joplin may not be the most perfect note-taking application, but it is open-source, well-known, has a long release history, works on multiple operating systems, and supports plugins. It’s not perfect, but it’s good enough and highly usable. In case of this type of application, it is important to have …

Linux
podcast

All podcast applications I have tested were quite OK(ish) – but I have always struggled with organizing podcasts, creating playlists, etc. It has always been challenging. Therefore, for me, it is more convenient to download podcasts as MP3s and manage them myself (in VLC, for example). There are many ways to do that, but my favorite …