Пропускане към основното съдържание

RAR архив, съдържащ имена на файлове на кирилица (cp1251) не може да се отвори коректно

Проблем

Архив, създаден под Windows и съдържащ файлове с имена на кирилица не може да се разархивира коректно под linux:

Screenshot from 2014-07-06 10:43:40.png

Под Windows разархивирането е възможно, но имената са на „маймуница“:

Screenshot from 2014-07-06 20:47:51.png

В конзола получаваме:
Extracting from LinuxUbuntuFreeBSD2013.rar

Cannot create [Специалист] - Linux (Ubuntu)FreeBSD. Уровень 3. Обеспечение безопасности систем сервисов и сетей(2013)/inux3b_day2.wmv
File name too long
Cannot create [Специалист] - Linux (Ubuntu)FreeBSD. Уровень 3. Обеспечение безопасности систем сервисов и сетей(2013)/inux3b_day3.wmv
File name too long
.....

Решение

  1. Проверяваме наличните локали за такива с кодировка cp1251:
angie@angie-desktop:~$ locale -a
bg_BG.utf8
C
C.UTF-8
en_AG
en_AG.utf8
en_AU.utf8
en_BW.utf8
en_CA.utf8
en_DK.utf8
en_GB.utf8
en_HK.utf8
en_IE.utf8
en_IN
en_IN.utf8
en_NG
en_NG.utf8
en_NZ.utf8
en_PH.utf8
en_SG.utf8
en_US.utf8
en_ZA.utf8
en_ZM
en_ZM.utf8
en_ZW.utf8
POSIX
ru_RU
ru_RU.iso88595
ru_RU.utf8
ru_UA.utf8
Установяваме, че нямаме нито един (български/руски) с необходимата кодировка.

  1. В /var/lib/locales/supported.d/bg добавяме реда
bg_BG CP1251

  1. Отново конфигурираме локалите в системата
angie@angie-desktop:~$ sudo dpkg-reconfigure locales
Generating locales...
 bg_BG.CP1251... done
 bg_BG.UTF-8... up-to-date
 en_AG.UTF-8... up-to-date
 en_AU.UTF-8... up-to-date
 en_BW.UTF-8... up-to-date
 en_CA.UTF-8... up-to-date
 en_DK.UTF-8... up-to-date
 en_GB.UTF-8... up-to-date
 en_HK.UTF-8... up-to-date
 en_IE.UTF-8... up-to-date
 en_IN.UTF-8... up-to-date
 en_NG.UTF-8... up-to-date
 en_NZ.UTF-8... up-to-date
 en_PH.UTF-8... up-to-date
 en_SG.UTF-8... up-to-date
 en_US.UTF-8... up-to-date
 en_ZA.UTF-8... up-to-date
 en_ZM.UTF-8... up-to-date
 en_ZW.UTF-8... up-to-date
 ru_RU.ISO-8859-5... up-to-date
 ru_RU.UTF-8... up-to-date
 ru_UA.UTF-8... up-to-date
Generation complete.

  1. В конзола експортираме локала
export LANG=bg_BG.cp1251

  1. Сега можем да разархивираме нормално проблемния архивен файл
Extracting from LinuxUbuntuFreeBSD2013.rar

Creating    [Специалист] - Linux (Ubuntu)FreeBSD. Уровень 3. Обеспечение безопасности систем сервисов и сетей(2013)  OK
Extracting  [Специалист] - Linux (Ubuntu)FreeBSD. Уровень 3. Обеспечение безопасности систем сервисов и сетей(2013)/inux3b_day2.wmv  OK
Extracting  [Специалист] - Linux (Ubuntu)FreeBSD. Уровень 3. Обеспечение безопасности систем сервисов и сетей(2013)/inux3b_day3.wmv  ОК
….

  1. Ако искаме да използваме същата конзола с предишните си настройки, трябва предварително да сме ги проверили с
angie@angie-desktop:~$ env | grep LANG
LANG=en_US.UTF-8
GDM_LANG=en
LANGUAGE=en

и да извършим обратното експортиране
export LANG=en_US.UTF-8

Източници:

Коментари

Популярни публикации от този блог

Проектиране на кемпер с VehiPlan

Оливер Колонж (Oliver Collonge) написва през 2011 г. втора версия на безплатната програма за дизайн на кемпери VehiPlan . Според автора тя е писана и трябва да работи под Windows 2000/Vista. Пробите показват, че работи нормално и под Windows 7 и 10. След като свалите архива (zip) можете да го разархивирате в C:\Windows\Program Files (x86)\. Програмата е с френски интерфейс и затова са необходими още няколко файла - vb6fr.dll , comdlg32.ocx & mscomctl.ocx . Тези файлове се поставят в C:\Windows\SysWOW64\. Comdlg.ocx се поставя в C:\Windows\System32\. След това е необходимо да се стартира Command Prompt (cmd - като администратор) и да се изпълни командата: regsvr32 %systemroot%\system32\comdlg32.ocx Ако възникне някакъв проблем, по-нова версия на файла може да се свали от тук . След това трябва да направим препратка към C:\Program Files (x86)\VehiPlan-2-0-0\VehiPlan.exe за по-удобно стартиране, която да поставим на работния плот или друго подходящо място. В архивния файл на програмат

Диаграма на Гант с електронна таблица

Диаграмата на Гант се състои от ленти, ориентирани успоредно на времевата ос. Всяка лента представлява отделна задача в проекта (вид работа), краищата ѝ — началния и крайния момент на изпълнението  ѝ, а дължината ѝ - продължителността на задачата. Тези диаграми могат да се използват и за други, не точно производствени, цели - например да покажат заетостта на учебна зала. Когато представянето на данните е регулярна задача може да се използва специализиран софтуер като GanttProject, но за инцидентна визуализация можем да се справим с „подръчни средства“. Сега ще покажем как с електронна таблица (LibreOffice Calc) ще визуализираме времето, за което няколко служители са работили във фирмата: Изходните данни са в няколко колони: Продължителността на трудовия стаж в дни определяме с формулата D2=C2-B2, като я копираме за всеки последващ ред. На 6-и ред съответно с функцията MIN и MAX определяме минимална и максимална дата в таблицата, а на 7-и ред - записваме начална (1.1.1989) и

MD5 и SHA-1 хеш алгоритми

MD5 (от „message-digest“) криптографският алгоритъм е създаден през 1991 г. от проф. Роналд Райвест и за първи път е публикуван през април 1992 г. Целта му е да замени компрометирания MD4 алгоритъм, който не е достатъчно сигурен. В последствие се оказва, че и MD5 не отговаря на съвременните изисквания за сигурност и може да бъде разбит. MD5 е построен върху конструкцията на Merkle–Damgård и генерира шестнайстично число със фиксиран размер от 32 символа (128 бита) за входящо съобщение с произволна дължина. Идеята е да се създаде уникален идентификатор за съобщението, който да гарантира неговата истинност. Например: MD5("The quick brown fox jumps over the lazy dog") = 9e107d9d372bb6826bd81d3542a419d6 Дори малка промяна, напр. добавя не точка в края на входящото съобщение би трябвало да генерира нов уникален идентификатор: MD5("The quick brown fox jumps over the lazy dog . ") = e4d909c290d0fb1ca068ffaddf22cbd0 Дължината на вход