Проблемы установки, настройки и работы Правильной Операционной Системы
Модератор: terminus
Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
ASD
- мл. сержант
- Сообщения: 112
- Зарегистрирован: 2008-12-25 20:19:54
Непрочитанное сообщение
ASD » 2009-01-27 13:20:58
есть шара на самбе:
Код: Выделить всё
dos charset = cp1251
unix charset = cp1251
display charset = cp1251
создаю папку win-клиентом
Новая папка
Настройки локали
Код: Выделить всё
FS# locale
LANG=ru_RU.CP1251
LC_CTYPE="ru_RU.CP1251"
LC_COLLATE="ru_RU.CP1251"
LC_TIME="ru_RU.CP1251"
LC_NUMERIC="ru_RU.CP1251"
LC_MONETARY="ru_RU.CP1251"
LC_MESSAGES="ru_RU.CP1251"
LC_ALL=
потом эту папку
Код: Выделить всё
find $folder -type f -print0 | xargs -0 tar rvf $tarfile > /dev/null
#или так...
7za a -tzip $zipfile $folder
Бообщем если win-клиент забирет этот архив и распакует....он увидит
оПЧБС РБРЛБ
что не так?
ASD
-
Хостинг HostFood.ru
-
Хостинг HostFood.ru
Тарифы на хостинг в России, от 12 рублей:
https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.:
https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах:
https://www.host-food.ru/domains/
-
hizel
- дядя поня
- Сообщения: 9032
- Зарегистрирован: 2007-06-29 10:05:02
- Откуда: Выборг
Непрочитанное сообщение
hizel » 2009-01-27 15:33:41
нативный форамт 7zip хранит имена в UTF-16, что зело удобно, остальные форматы через пень колоду
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.
hizel
-
ASD
- мл. сержант
- Сообщения: 112
- Зарегистрирован: 2008-12-25 20:19:54
Непрочитанное сообщение
ASD » 2009-01-27 16:08:35
hizel писал(а):нативный форамт 7zip хранит имена в UTF-16, что зело удобно, остальные форматы через пень колоду
так и он не решает проблемы...при разархивации кирилица не отображается....
ASD
-
hizel
- дядя поня
- Сообщения: 9032
- Зарегистрирован: 2007-06-29 10:05:02
- Откуда: Выборг
Непрочитанное сообщение
hizel » 2009-01-27 16:34:14
ну если вы указываете -tzip конечно не решает

В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.
hizel
-
ASD
- мл. сержант
- Сообщения: 112
- Зарегистрирован: 2008-12-25 20:19:54
Непрочитанное сообщение
ASD » 2009-01-27 16:43:48
hizel писал(а):ну если вы указываете -tzip конечно не решает

теперь так...
_________ ________.txt
эт тоже не решение...объясните
1. локль я устанавливаю в cp1251
2. в самбе
unix charset = ср1251...говорю пиши в ср1251
3. tar ориентируется на локаль...она (п.1) ср1251
4. на выходе разархивирую получаю KOI8-R
как такое получается???
ASD
-
hizel
- дядя поня
- Сообщения: 9032
- Зарегистрирован: 2007-06-29 10:05:02
- Откуда: Выборг
Непрочитанное сообщение
hizel » 2009-01-27 17:19:45
а ls folder в нормальной кодировке?
версия samba какая?
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.
hizel
-
ASD
- мл. сержант
- Сообщения: 112
- Зарегистрирован: 2008-12-25 20:19:54
Непрочитанное сообщение
ASD » 2009-01-27 19:28:07
hizel писал(а):а ls folder в нормальной кодировке?
версия samba какая?
да, ls отображает читабельном виде...сам не пойму как так получается...mc криво
samba 3.0.32
ASD
-
zg
- полковник
- Сообщения: 5845
- Зарегистрирован: 2007-12-07 13:51:33
- Откуда: Верх-Нейвинск
Непрочитанное сообщение
zg » 2009-01-27 22:36:08
ASD писал(а):dos charset = cp1251
чего ради cp1251?
при работе с файлами винда cp866 использует, а не cp1251,
LC_ALL тоже надо выставлять
Код: Выделить всё
zg# locale
LANG=
LC_CTYPE="ru_RU.KOI8-R"
LC_COLLATE="ru_RU.KOI8-R"
LC_TIME="ru_RU.KOI8-R"
LC_NUMERIC="ru_RU.KOI8-R"
LC_MONETARY="ru_RU.KOI8-R"
LC_MESSAGES="ru_RU.KOI8-R"
LC_ALL=ru_RU.KOI8-R
zg#
zg
-
ASD
- мл. сержант
- Сообщения: 112
- Зарегистрирован: 2008-12-25 20:19:54
Непрочитанное сообщение
ASD » 2009-01-28 6:54:33
zg писал(а):ASD писал(а):dos charset = cp1251
чего ради cp1251?
эт уже агония...
zg писал(а):
при работе с файлами винда cp866 использует, а не cp1251,
У меня винда все верно отрабатывает, и так...имеется ввиду когда на фряхе "русские" файлы заворачиваю в архив они на клиентской виндовой машине разархивируются не в той кодировке...про tar не понятно...он вроде как смотрит на локаль для компановки...и получается что локаль в CP1251, unix charset = ср1251....а tar все равно использует koi8-r
zg писал(а):
LC_ALL тоже надо выставлять
Код: Выделить всё
zg# locale
LANG=
LC_CTYPE="ru_RU.KOI8-R"
LC_COLLATE="ru_RU.KOI8-R"
LC_TIME="ru_RU.KOI8-R"
LC_NUMERIC="ru_RU.KOI8-R"
LC_MONETARY="ru_RU.KOI8-R"
LC_MESSAGES="ru_RU.KOI8-R"
LC_ALL=ru_RU.KOI8-R
zg#
не помогает...
ASD
-
ASD
- мл. сержант
- Сообщения: 112
- Зарегистрирован: 2008-12-25 20:19:54
Непрочитанное сообщение
ASD » 2009-01-28 8:21:55
Чет, я запутался...помогите разобраться
сейчас у меня:
1. локаль
Код: Выделить всё
LANG=ru_RU.UTF-8
LC_CTYPE="ru_RU.UTF-8"
LC_COLLATE="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_NUMERIC="ru_RU.UTF-8"
LC_MONETARY="ru_RU.UTF-8"
LC_MESSAGES="ru_RU.UTF-8"
LC_ALL=ru_RU.UTF-8
2. smb.conf
Код: Выделить всё
dos charset = cp866
unix charset = UTF-8
display charset = LOCALE
3. в браузере виндового клиента создаю папку "Новая папка" и файл "Текстовый документ.txt". В браузере она отображается нормально.
4. в консоли фряхи:
Код: Выделить всё
FS# ls /fs/GB/CURDAY
п?п?п?п?я? п©п?п©п?п?
FS#
5. делаю:
Код: Выделить всё
find $folder -type f -print0 | xargs -0 tar rvf $file > /dev/null
6. копирую на клиентскую виндовую машину архив, разархивирую....название папки:
Гуру помогите решить вопрос....
ASD
-
zg
- полковник
- Сообщения: 5845
- Зарегистрирован: 2007-12-07 13:51:33
- Откуда: Верх-Нейвинск
Непрочитанное сообщение
zg » 2009-01-28 8:40:26
ASD писал(а):он вроде как смотрит на локаль для компановки
гм... он смотрит в настройки консоли, локаль влияет только на сообщения. Если имя файла было в KOI8-R, то и в архиве оно будет в KOI8-R. Тар кодирует имя как есть, 7z и rar переводят в юникод, правда криво.
Что б на винде архив читался нормально, имена файлов надо перекодировать в windows-1251
Код: Выделить всё
zg# touch "Привет мир\!"
zg# convmv -f KOI8-R -t WINDOWS-1251 Привет\ мир\! --notest
Your Perl version has fleas #37757
mv "./Привет мир!" "./оПХБЕР ЛХП!"
Ready!
zg# tar cvf hello.tar оПХБЕР\ ЛХП\!
a оПХБЕР ЛХП!
zg#
zg
-
zg
- полковник
- Сообщения: 5845
- Зарегистрирован: 2007-12-07 13:51:33
- Откуда: Верх-Нейвинск
Непрочитанное сообщение
zg » 2009-01-28 8:44:29
ASD писал(а):4. в консоли фряхи:
локаль и консоль не одно и тоже
Это мой конфиг
Код: Выделить всё
[global]
workgroup = MYGROUP
server string = Samba Server
security = share
; hosts allow = 192.168.1. 192.168.2. 127.
unix charset = koi8-r
dos charset = cp866
консоль в koi8-r всё отлично работает, никаких проблем с кодировкой нет
zg
-
ASD
- мл. сержант
- Сообщения: 112
- Зарегистрирован: 2008-12-25 20:19:54
Непрочитанное сообщение
ASD » 2009-01-28 9:00:17
zg писал(а):ASD писал(а):4. в консоли фряхи:
локаль и консоль не одно и тоже
Это мой конфиг
Код: Выделить всё
[global]
workgroup = MYGROUP
server string = Samba Server
security = share
; hosts allow = 192.168.1. 192.168.2. 127.
unix charset = koi8-r
dos charset = cp866
консоль в koi8-r всё отлично работает, никаких проблем с кодировкой нет
Я и говорю...нет...это идиальный вариант...и в винде все ок, и в консоле...
но как тока
Код: Выделить всё
find $folder -type f -print0 | xargs -0 tar rvf $file > /dev/null
начинаются проблемы
ASD
-
ASD
- мл. сержант
- Сообщения: 112
- Зарегистрирован: 2008-12-25 20:19:54
Непрочитанное сообщение
ASD » 2009-01-28 9:04:52
zg писал(а):ASD писал(а):он вроде как смотрит на локаль для компановки
гм... он смотрит в настройки консоли, локаль влияет только на сообщения. Если имя файла было в KOI8-R, то и в архиве оно будет в KOI8-R. Тар кодирует имя как есть, 7z и rar переводят в юникод, правда криво.
Не знаю....создан файл из под виндового клиента в локале KOI8-R, архив на выходе кривой...ставлю локаль CP1251, архив правильный...все для того же файла...и где то я читал что tar смотрит на локаль...
ASD
-
ASD
- мл. сержант
- Сообщения: 112
- Зарегистрирован: 2008-12-25 20:19:54
Непрочитанное сообщение
ASD » 2009-01-28 9:17:34
zg писал(а):Код: Выделить всё
zg# touch "Привет мир\!"
zg# convmv -f KOI8-R -t WINDOWS-1251 Привет\ мир\! --notest
Your Perl version has fleas #37757
mv "./Привет мир!" "./оПХБЕР ЛХП!"
Ready!
zg# tar cvf hello.tar оПХБЕР\ ЛХП\!
a оПХБЕР ЛХП!
zg#
hello.tar
эт понятно...но как это в одной строкой:
Код: Выделить всё
find $curdayfolder -type f -print0 | iconv -f KOI8-R -t CP1251 |xargs -0 tar rvf $tarfile > /dev/null
не работает...
ASD
-
zg
- полковник
- Сообщения: 5845
- Зарегистрирован: 2007-12-07 13:51:33
- Откуда: Верх-Нейвинск
Непрочитанное сообщение
zg » 2009-01-28 9:18:01
ASD писал(а):архив на выходе кривой
всё правильно, потому что имена файлов идут в KOI8-R, чтобы архив был на выходе прямым имена файлов нужно переводить в cp1251. Но чтобы с файлами нормально работать из консоли, они должны обзываться в KOI8-R. Как конвертить имена файлов я показал выше.
ASD писал(а):и где то я читал что tar смотрит на локаль
он смотрит на файловую систему, когда обзывает файлы
Код: Выделить всё
ENVIRONMENT
The following environment variables affect the execution of tar:
LANG The locale to use. See environ(7) for more information.
TAPE The default tape device. The -f option overrides this.
TZ The timezone to use when displaying dates. See environ(7) for
more information.
для чего он использует
LANG я так и не выяснил, но не для перекодировки имён файлов точно
zg
-
zg
- полковник
- Сообщения: 5845
- Зарегистрирован: 2007-12-07 13:51:33
- Откуда: Верх-Нейвинск
Непрочитанное сообщение
zg » 2009-01-28 9:19:09
ASD писал(а):эт понятно...но как это в одной строкой:
чего именно ты хочешь добиться?
zg
-
ASD
- мл. сержант
- Сообщения: 112
- Зарегистрирован: 2008-12-25 20:19:54
Непрочитанное сообщение
ASD » 2009-01-28 9:24:08
zg писал(а):ASD писал(а):эт понятно...но как это в одной строкой:
чего именно ты хочешь добиться?
каждую ночь запускается грубо коворя скриптик, смотрит в папку "текущего дня", заварахиваих таром и бросает в папку архива, пользователи тоже имеют доступ к папке архивов, но когда они открывают архив...то сами понимаете видят не то что хотят...
сейчас это делается так...
Код: Выделить всё
find $folder -type f -print0 | xargs -0 tar rvf $file > /dev/null
ASD
-
zg
- полковник
- Сообщения: 5845
- Зарегистрирован: 2007-12-07 13:51:33
- Откуда: Верх-Нейвинск
Непрочитанное сообщение
zg » 2009-01-28 9:32:20
$folder в ней шара самбы? или системная папка, которая от самбы не зависит?
zg
-
ASD
- мл. сержант
- Сообщения: 112
- Зарегистрирован: 2008-12-25 20:19:54
Непрочитанное сообщение
ASD » 2009-01-28 9:37:09
zg писал(а):$folder в ней шара самбы? или системная папка, которая от самбы не зависит?
это шара, куда вин.пользователи пишут
попробывал так....
Код: Выделить всё
find $folder -type f -print0 | iconv -f KOI8-R -t CP1251 |xargs -0 tar rvf $tarfile > /dev/null
не получается...
Код: Выделить всё
FS# /fs/system/scripts/every_day_spec_CURDAY.sh
tar: Removing leading '/' from member names
a fs/GB/CURDAY/every_day_spec_CURDAY.sh
a fs/GB/CURDAY/smb.conf
a fs/GB/CURDAY/locale.config
a fs/GB/CURDAY/testparm
tar: /fs/GB/CURDAY/мНБЮЪ ОЮОЙЮ/рЕЙЯРНБШИ ДНЙСЛЕМР.txt: Cannot stat: No such file or directory
a fs/GB/CURDAY/hello.tar
tar: Error exit delayed from previous errors.
FS#
ASD
-
zg
- полковник
- Сообщения: 5845
- Зарегистрирован: 2007-12-07 13:51:33
- Откуда: Верх-Нейвинск
Непрочитанное сообщение
zg » 2009-01-28 10:34:57
ASD писал(а):это шара, куда вин.пользователи пишут
тогда, думаю, на консоль можно забить и поставить cp1251 для unix charset. Если из консоли надо будет чё-то делать, то можно будет воспользоваться
convmv.
ASD писал(а):попробывал так....
так не получится -))) только через
convmv
zg
-
ASD
- мл. сержант
- Сообщения: 112
- Зарегистрирован: 2008-12-25 20:19:54
Непрочитанное сообщение
ASD » 2009-01-28 10:49:09
zg писал(а):ASD писал(а):это шара, куда вин.пользователи пишут
тогда, думаю, на консоль можно забить и поставить cp1251 для unix charset. Если из консоли надо будет чё-то делать, то можно будет воспользоваться
convmv.
жаль....
zg писал(а):
ASD писал(а):попробывал так....
так не получится -))) только через
convmv
можно пример....честно скажу...задолбался за 2 дня...
ASD
-
zg
- полковник
- Сообщения: 5845
- Зарегистрирован: 2007-12-07 13:51:33
- Откуда: Верх-Нейвинск
Непрочитанное сообщение
zg » 2009-01-28 11:06:38
ASD писал(а):можно пример....честно скажу...задолбался за 2 дня...
выше выкладывал -))) но в общем случае так
Код: Выделить всё
convmv -r -f KOI8-R -t CP1251 /path/to/folder
если всё устраивает, то юзаешь ключик --notest
zg
-
ASD
- мл. сержант
- Сообщения: 112
- Зарегистрирован: 2008-12-25 20:19:54
Непрочитанное сообщение
ASD » 2009-01-28 16:26:33
zg писал(а):ASD писал(а):можно пример....честно скажу...задолбался за 2 дня...
выше выкладывал -))) но в общем случае так
Код: Выделить всё
convmv -r -f KOI8-R -t CP1251 /path/to/folder
если всё устраивает, то юзаешь ключик --notest
Спасибо
ASD