forum.wfido.ru  

Вернуться   forum.wfido.ru > Прочие эхи > RU.UNIX.BSD

Ответ
 
Опции темы Опции просмотра
  #1  
Старый 03.10.2017, 09:40
Victor Sudakov
Guest
 
Сообщений: n/a
По умолчанию tar: Can't translate pathname to UTF-8

Victor Sudakov написал(а) к All в Oct 17 12:13:14 по местному времени:

Dear All,

Кто сталкивался с подобным сообщением?

tar: oldwww/usr/home/www/XXX/htm/news/images/ЙНЯ КНЦНРХО copy.jpg: Can't translate pathname 'oldwww/usr/home/www/XXX/htm/news/images/ЙНЯ КНЦНРХО copy.jpg' to UTF-8

Имена на диске лежат в виндовой кодировке.

Какое вообще дело tar-а куда-то транслировать имена и задумываться о кодировке? Может вместо tar что-то другое использовать, чтобы не умничало?

pax, cpio? dump нельзя, ибо это не fs.


Victor Sudakov, VAS4-RIPE, VAS47-RIPN
--- GoldED+/BSD 1.1.5-b20160322-b20160322
Ответить с цитированием
  #2  
Старый 03.10.2017, 14:30
Alex Korchmar
Guest
 
Сообщений: n/a
По умолчанию Re: tar: Can't translate pathname to UTF-8

Alex Korchmar написал(а) к Victor Sudakov в Oct 17 13:14:44 по местному времени:

From: Alex Korchmar <noreply@linux.e-moe.ru>

Victor Sudakov <Victor.Sudakov@f49.n5005.z2.fidonet.org> wrote:

VS> Имена на диске лежат в виндовой кодировке.
VS> Какое вообще дело tar-а куда-то транслировать имена и задумываться о
VS> кодировке?
ну ты же не хочешь на utf8 системе нечаянно распаковать файл, который дает
illegal unicode и который стереть-то непонятно как?

VS> Может вместо tar что-то другое использовать, чтобы не умничало?
я бы сперва убедился, что проблема не высосана из пальца- например,
начав с unset LANG


> Alex

--- ifmail v.2.15dev5.4
Ответить с цитированием
  #3  
Старый 03.10.2017, 15:10
Victor Sudakov
Guest
 
Сообщений: n/a
По умолчанию tar: Can't translate pathname to UTF-8

Victor Sudakov написал(а) к Alex Korchmar в Oct 17 17:47:08 по местному времени:

Dear Alex,

03 Oct 17 13:14, Alex Korchmar wrote to me:

VS>> Имена на диске лежат в виндовой кодировке.
VS>> Какое вообще дело tar-а куда-то транслировать имена и задумываться
VS>> о кодировке?
AK> ну ты же не хочешь на utf8 системе нечаянно распаковать файл, который
AK> дает illegal unicode и который стереть-то непонятно как?

Хочу. Я предпочел бы сам решать.

VS>> Может вместо tar что-то другое использовать, чтобы не умничало?
AK> я бы сперва убедился, что проблема не высосана из пальца- например,
AK> начав с unset LANG

"unsetenv LANG" не пробовал, а вот пробовал а) "setenv LANG C" и б) паковать на системе с локалью ru_RU.KOI8-R, и не помогло.

Впрочем уже вышел из положения с помощью
find /usr/jails/oldwww/ -print0 | cpio -o0 -Н ustar > 1.tar

Victor Sudakov, VAS4-RIPE, VAS47-RIPN
--- GoldED+/BSD 1.1.5-b20160322-b20160322
Ответить с цитированием
  #4  
Старый 03.10.2017, 15:30
Eugene Grosbein
Guest
 
Сообщений: n/a
По умолчанию Re: tar: Can't translate pathname to UTF-8

Eugene Grosbein написал(а) к Victor Sudakov в Oct 17 18:04:38 по местному времени:

03 окт. 2017, вторник, в 11:13 NOVT, Victor Sudakov написал(а):

VS> Кто сталкивался с подобным сообщением?
VS> tar: oldwww/usr/home/www/XXX/htm/news/images/ЙНЯ КНЦНРХО copy.jpg: Can't
VS> translate pathname 'oldwww/usr/home/www/XXX/htm/news/images/ЙНЯ КНЦНРХО
VS> copy.jpg' to UTF-8
VS> Имена на диске лежат в виндовой кодировке.
VS> Какое вообще дело tar-а куда-то транслировать имена и задумываться о кодировке?

Это дело не tar, а libarchive, оберткой над которым нынче является tar,
а ещё точнее дефолтный формат создаваемого архива, в котором положено
иметь всё в UTF-8.

VS> Может вместо tar что-то другое использовать, чтобы не умничало?
VS> pax, cpio? dump нельзя, ибо это не fs.

pax и cpio нынче тоже обёртки над libarchive.

Используй tar --format, почитав предварительно man libarchive-formats.
Скорее всего, tar --format gnutar тебя спасёт, по дефолту там pax с UTF-8.

Eugene
--
Рейтинг, рейтинг - юбер аллес! (суровая правда телеискусства)
--- slrn/1.0.2 (FreeBSD)
Ответить с цитированием
  #5  
Старый 03.10.2017, 16:20
Alex Korchmar
Guest
 
Сообщений: n/a
По умолчанию Re: tar: Can't translate pathname to UTF-8

Alex Korchmar написал(а) к Eugene Grosbein в Oct 17 14:57:17 по местному времени:

From: Alex Korchmar <noreply@linux.e-moe.ru>

Eugene Grosbein <Eugene.Grosbein@f1.n5006.z2.fidonet.org> wrote:

EG> Это дело не tar, а libarchive, оберткой над которым нынче является tar,
EG> а ещё точнее дефолтный формат создаваемого архива, в котором положено
EG> иметь всё в UTF-8.
а локаль-то оно умеет проверять, или как обычно?

> Alex

--- ifmail v.2.15dev5.4
Ответить с цитированием
  #6  
Старый 03.10.2017, 16:50
Victor Sudakov
Guest
 
Сообщений: n/a
По умолчанию tar: Can't translate pathname to UTF-8

Victor Sudakov написал(а) к Eugene Grosbein в Oct 17 19:28:46 по местному времени:

Dear Eugene,

03 Oct 17 18:04, you wrote to me:

VS>> Кто сталкивался с подобным сообщением?
VS>> tar: oldwww/usr/home/www/XXX/htm/news/images/ЙНЯ КНЦНРХО
VS>> copy.jpg: Can't translate pathname
VS>> 'oldwww/usr/home/www/XXX/htm/news/images/ЙНЯ КНЦНРХО copy.jpg' to
VS>> UTF-8 Имена на диске лежат в виндовой кодировке. Какое вообще
VS>> дело tar-а куда-то транслировать имена и задумываться о
VS>> кодировке?

EG> Это дело не tar, а libarchive, оберткой над которым нынче является
EG> tar, а ещё точнее дефолтный формат создаваемого архива, в котором
EG> положено иметь всё в UTF-8.

Вот это новость. То есть оно при архивировании перекодирует имена файлов, а при разархивировании обратно? Не уверен, что это хорошая идея.

VS>> Может вместо tar что-то другое использовать, чтобы не умничало?
VS>> pax, cpio? dump нельзя, ибо это не fs.

EG> pax и cpio нынче тоже обёртки над libarchive.

Но я применил "cpio -Н ustar". А можно было, как следует из написанного тобой, применить
"tar --format ustar"

EG> Используй tar --format, почитав предварительно man libarchive-formats.

Занимательное чтение, узнал много нового (про поддержку mtree и т.п.)

EG> Скорее всего, tar --format gnutar тебя спасёт, по дефолту там pax с
EG> UTF-8.

То есть если я запакую под FreeBSD tar-ом в формате по умолчанию, то потом gtar-ом хрен распакую?


Victor Sudakov, VAS4-RIPE, VAS47-RIPN
--- GoldED+/BSD 1.1.5-b20160322-b20160322
Ответить с цитированием
  #7  
Старый 04.10.2017, 14:11
Eugene Grosbein
Guest
 
Сообщений: n/a
По умолчанию Re: tar: Can't translate pathname to UTF-8

Eugene Grosbein написал(а) к Victor Sudakov в Oct 17 16:48:46 по местному времени:

03 окт. 2017, вторник, в 18:28 NOVT, Victor Sudakov написал(а):

EG>> Скорее всего, tar --format gnutar тебя спасёт, по дефолту там pax с
EG>> UTF-8.
VS> То есть если я запакую под FreeBSD tar-ом в формате по умолчанию, то потом
VS> gtar-ом хрен распакую?

Распакуешь по двум причинам: POSIX-формат распаковывается даже теми
реализациями tar, что не умеют его явным образом, только с возможной
потерей дополнительных по отношению к старым форматам атрибутов
плюс gtar понимает pax явным образом.

Eugene
--
Что делать?! Мир стоит на воровстве!..
Воруют в Самарканде и в Хиве,
В Ширазе, в Тегеране и в Стамбуле
И даже - страшно вымолвить - в Москве!..
--- slrn/1.0.2 (FreeBSD)
Ответить с цитированием
  #8  
Старый 04.10.2017, 14:11
Eugene Grosbein
Guest
 
Сообщений: n/a
По умолчанию Re: tar: Can't translate pathname to UTF-8

Eugene Grosbein написал(а) к Alex Korchmar в Oct 17 16:50:23 по местному времени:

03 окт. 2017, вторник, в 13:57 NOVT, Alex Korchmar написал(а):

EG>> Это дело не tar, а libarchive, оберткой над которым нынче является tar,
EG>> а ещё точнее дефолтный формат создаваемого архива, в котором положено
EG>> иметь всё в UTF-8.
AK> а локаль-то оно умеет проверять, или как обычно?

Не проверял, я не использую UTF-8.

Eugene
--- slrn/1.0.2 (FreeBSD)
Ответить с цитированием
  #9  
Старый 05.10.2017, 20:01
Alex Korchmar
Guest
 
Сообщений: n/a
По умолчанию Re: tar: Can't translate pathname to UTF-8

Alex Korchmar написал(а) к Eugene Grosbein в Oct 17 18:38:17 по местному времени:

From: Alex Korchmar <noreply@linux.e-moe.ru>

Eugene Grosbein <Eugene.Grosbein@f1.n5006.z2.fidonet.org> wrote:

EG>>> а ещё точнее дефолтный формат создаваемого архива, в котором положено
EG>>> иметь всё в UTF-8.
AK>> а локаль-то оно умеет проверять, или как обычно?
EG> Не проверял, я не использую UTF-8.
так у кого кругом одна utf8, у того все и будет работать.
А вот что будет, если сархерачить в .tar файлы в koi8, а распаковывать
с LANG cp1251 ?


> Alex

--- ifmail v.2.15dev5.4
Ответить с цитированием
  #10  
Старый 06.10.2017, 11:01
Valentin Nechayev
Guest
 
Сообщений: n/a
По умолчанию Re: tar: Can't translate pathname to UTF-8

Valentin Nechayev написал(а) к Alex Korchmar в Oct 17 09:38:43 по местному времени:

From: Valentin Nechayev <netch@segfault.kiev.ua>


>>> Alex Korchmar wrote:

VS>> Имена на диске лежат в виндовой кодировке.
VS>> Какое вообще дело tar-а куда-то транслировать имена и задумываться о
VS>> кодировке?
AK> ну ты же не хочешь на utf8 системе нечаянно распаковать файл, который дает
AK> illegal unicode и который стереть-то непонятно как?

Стереть-то банально: rm -i ./* (или ограничить уже известными видимыми
символами). Или ls -B и потом bash'ем назвать что-то в стиле $'\350'.
Или переименовать в цикле в выхлоп $RANDOM. Короче, кто хочет - найдёт
методы.

А вот почему нет опции для encoding'а имён файлов - вопрос более
важный. Может, где-то в модулях спряталось?


--netch--
--- ifmail v.2.15dev5.4
Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 10:54. Часовой пояс GMT +4.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot