Страницы

суббота, 12 апреля 2014 г.

Linux. Исправляем кодировку в ID3-тегах mp3-файлов с СP1251 на UTF8. Часть 2

Продолжая тему предыдущего поста хотелось бы предложить данную смену кодировки, применяя shell - скрипт. Чтобы не вводить в терминал длинную команду, можете просто скопировать код в созданный в любом текстовом редакторе файл, назвав его, например, id3utf.sh :


#!/bin/bash
if [ -n "$1" > ]; then

  cd "$1"

fi

find -iname "*.mp3" -print0 | xargs -0 mid3iconv -e CP1251 --remove-v1

Далее сохраняем сей файл, делаем его исполняемым, введя команду
# chmod u+x id3utf.sh
копируем его в библиотеку и запускаем (в терминале sh id3utf.sh)

воскресенье, 6 апреля 2014 г.

Linux. Исправляем кодировку в ID3-тегах mp3-файлов с СP1251 на UTF8. Часть 1

Часто, скачивая музыку себе на компьютер с Linux, можно увидеть, что некоторые названия файлов, а также исполнители, альбом и т.д. представлены в виде кракозяб и это очень неудобно. В принципе, в интернете полно алгоритмов исправить данный эффект, я всё же, хотя бы для себя, опубликую его.
Для конвертирования всей музыкальной библиотеки будем использовать скрипт mid3iconv, который поставляется в комплекте пакета python-mutagen.

1. Устанавливаем пакет (у меня Crunchbang, но команда работает для всех pro-Debian-дистрибутивов):
# sudo apt-get install python-mutagen

2. Переходим в директорию с Вашей музыкальной библиотекой:
# cd /home/ВАШ_ЛОГИН/Музыка
(это в том случае,если ваша коллекция находится в Linux-разделах, у меня же музыка хранится на автоматически подключаемом ntfs-диске:
# cd /media/multi/Musika )

3. Конвертируем коллекцию
# find -iname '*.mp3' -print0 | xargs -0 mid3iconv -eCP1251 --remove-v1

Для поддержки вашей осью кодировки CP1251 также можно установить пакеты libtag1-rusxmms, librcd0, librcc0 :


# sudo apt-get install libtag1-rusxmms  librcd0  librcc0


Выполнив сей список действий, ОС Linux и mp3-плеер будут нормально воспринимать кириллицу в тегах mp3-файлов.

Linux. Восстановление загрузчика Grub


При установке или переустановки Windows всегда происходит затирание загрузочной записи Grub'а. 
Для восстановления Grub существует множество способов, например SuperGrubDisk Live CD , и это хорошо. Но что делать, если под рукой не окажется записанной "болванки" с Grub, а есть только любой LiveCD - дистрибутив? Выход есть! Так как я сам с этим сталкивался лично, то могу утверждать "Способ работает!".

Итак, меньше "воды"...

1. загружаемся с LiveCD

2. запускаем терминал

3. sudo fdisk -l    #для вывода списка известных разделов

4. находим нужный (с установленным Linux'ом) диск

5. sudo mount /dev/sda1 /mnt    #монтируем корень (нужный раздел определили на предыдущем шаге)

6. sudo mount -t proc none /mnt/proc    # монтируем /proc

7. sudo mount -o bind /dev /mnt/dev    # монтируем /dev

8. sudo chroot /mnt    #делаем /mnt корнем

9. update-grub    #обновляем список

10. grub-install /dev/sda    #устанавливаем/восстанавливаем загрузчик

11. exit   #выходим

#размонтируем разделы
12. umount /mnt/dev
13. umount /mnt/proc
14. umount /mnt    # размонтировали корневой раздел

15. reboot    #осталось только перезагрузиться
--------------------------
16. sudo update-grub

В качестве спасительного LiveCD я применял Росинку и Linux Mint 13