LINUX.ORG.RU

Как дела с UTF-8 во FreeBSD

 , , ,


1

3

Добрый день. При установке FreeBSD не нашёл в списке предложенных локалей UTF-8 и задался вопросом: а как с ней дела во FreeBSD? Нашёл информацию о том, что в драйвере vt (newcons) есть поддержка UTF-8, и даже нашёл инструкцию о том, как включить vt, равно как и инструкции насчёт настройки UTF-8 для всего остального, но все они - 10-летней давности и местами содержат упоминания о проблемах вроде неправильного отображения псевдографики, или требования отдельной настройки для $некоторая_программа и т.д. Пожалуйста, просветите - как _сейчас_ обстоят дела с UTF-8 во FreeBSD, можно ли его раз и навсегда быстро и легко настроить и не париться, иметь в этом смысле совместимость по кодировке имен/содержимого файлов и т.д. Ну и может кто в курсе - почему UTF-8 ещё не по умолчанию, и есть ли планы по изменению дефолта? Заранее спасибо.

★★

Последнее исправление: Norong (всего исправлений: 1)
Ответ на: комментарий от IPR

А какой keymap должен быть выбран на этапе установки? М.б. в этом проблема. Есть Russian {ISO-8859-5, koi8-r, Codepage 866}

UPD. В свеже-установленной системе и в qemu и в virtualbox и с keymap koi8-r, и с ISO-8859-5 по-умолчанию вместо русского \320\262 и т.д.

Norong ★★
() автор топика
Последнее исправление: Norong (всего исправлений: 1)
Ответ на: комментарий от saahriktu

Топ репозиториев по количеству свежих пакетов:

FreeBSD (14365)
Debian/Ubuntu (12077/12525)
Fedora (11941)
Gentoo (9271)
AUR (9090)

anonymous
()
Ответ на: комментарий от IPR

Без изменений. Т.е. сейчас просто голая система, на этапе установки выбрал ru.koi8-r, после установки в rc.conf поменял на ru.win, перезагрузился, export LC_ALL=ru_RU.UTF-8.

Norong ★★
() автор топика
Ответ на: комментарий от IPR

Вполне возможно, что у него загружается старый syscons. Тогда да, циферки и прочие веселости вполне могут быть. Хотя опять же, koi-8 и прочее должны работать. Сдается мне, учитывая, что конретную версию бзди так и не назвали, да и «export LC_ALL=ru_RU.UTF-8» в дефолтном (t)csh сделать немного затруднительно, что начальное подозрение на вброс было верным ;)

anonymous
()
Ответ на: комментарий от anonymous

bash — это немножко из другой оперы, использовать «на любителя». Стандартные оболочки это sh и tcsh (одна из них указывается в профиле пользователя, можно увидеть по команде vipw). Bash нужно внести в список командных оболочек (/etc/shells), если не внесён при установке. Проверить, что из-под него стартуют процессы служб и сеанс пользователя, которые должны поддерживать UTF-8.

iZEN ★★★★★
()
Ответ на: комментарий от anonymous

Я тоже уже не представляю, что там может не работать. Учитывая, что такая же конфигурация у меня работает на двух ноутбуках, нетбуке и домашнем сервере.

IPR ★★★★★
()
Ответ на: комментарий от IPR

Может где лишние табы или пробелы на концах строк в конфигурационных файлах, вот и не воспринимаются настройки.

iZEN ★★★★★
()
Ответ на: комментарий от IPR

Я подозревал, что мб проблема проявится только в виртуалке, поставил систему на флешку (при установке врубил на потестить шифрование), и когда заведомо верный пароль шифрования позволил разблокироваться загрузчику, но при дальнейшей загрузке был спрошен ещё раз и уже решительно не подошёл, я решил отложить исследования FreeBSD до того момента, как у меня появится лишний хард и много свободного времени.

Norong ★★
() автор топика
Ответ на: комментарий от IPR

Я тут обнаружил, что если FreeBSD установлена на флешку, и количество/порядок usb-носителей меняется, то в следующий раз она уже не загрузится (видимо, из-за нумерации дисков). Скажи, пожалуйста, что нужно где поменять, чтобы порядок перестал играть роль? В Linux я бы в fstab прописал UUID или label вместо /dev/sd*, а тут что?

Norong ★★
() автор топика
Ответ на: комментарий от Norong
[19:45] u@net13:~> cat /etc/fstab | grep label
/dev/label/rootfs       /               ufs     rw              1       1
/dev/label/0            /storage/0      ufs     rw              2       2
/dev/label/1            /storage/1      ufs     rw              2       2
/dev/label/2            /storage/2      ufs     rw              2       2
/dev/label/swapfs       none            swap    sw              0       0
[19:45] u@net13:~> glabel
usage: glabel clear [-v] dev ...
       glabel create [-v] name dev
       glabel destroy [-fv] name ...
       glabel dump dev ...
       glabel label [-v] name dev
       glabel stop [-fv] name ...
       glabel help
       glabel list [-a] [name ...]
       glabel status [-ags] [name ...]
       glabel load [-v]
       glabel unload [-v]
[19:45] u@net13:~> 
IPR ★★★★★
()
Ответ на: комментарий от Norong

В Linux я бы в fstab прописал UUID или label вместо /dev/sd*, а тут что?

Всё то же самое, только форма названия сущностей (метки, UID) другое.

iZEN ★★★★★
()
Ответ на: комментарий от IPR

Спасибо! А если я загрузиться в систему не могу, как бы мне узнать label или uid нужных разделов, чтобы отредактировать fstab? И нужно ли мне пересобирать что-то типа initrd (если такое есть)? Если да, то как?

В принципе, если миссия невыполнима, не проблема переустановить систему ещё раз, просто в ходе установки я выбрал ZFS (Auto), и, видимо, ни метки, ни UID не использовались. Может, следовало что-то в ходе установки сделать иначе, чтобы использовались..?

Norong ★★
() автор топика
Ответ на: комментарий от Norong

как бы мне узнать label или uid нужных разделов

Загрузиться с другой системы FreeBSD.

нужно ли мне пересобирать что-то типа initrd (если такое есть)? Если да, то как?

Такого тут нет.

Может, следовало что-то в ходе установки сделать иначе, чтобы использовались..?

Не скажу точно, но если разметка диска GPT, то вроде можно. У меня повсеместно BSD-разметка, поэтому мне проще при первой загрузке дать имена разделам и прописать их в /etc/fstab. Это занимает не более нескольких минут.

IPR ★★★★★
()

Norong, у мя для Вас плохие новости.. Вы выбрали не ту систему, для знакомства с Ъ UNIX/BSD. начинать следовало бы не с мусорной помойки, да, увы©™, а с OpenBSD + «Керниган & Ричи 2-nd Edition».

искренне Ваш, КопетанЪ Очевидность.

anonymous
()
Ответ на: комментарий от IPR

Установил в режиме Auto (UFS), с того же загрузочного носителя проставил метки разделам и поменял fstab для использования меток. После загрузки в систему русский ввод/вывод действительно работают с минимальной настройкой в виде keymap=«ru» и добавления пользователя в класс russian. Видимо, проблема была в виртуалке. Спасибо большое!

Norong ★★
() автор топика
Ответ на: комментарий от Norong

Для загрузки с носителей, нумерация которых при подключении не фиксирована, используются идентификаторы томов GEOM Label (это можно и на MBR-томах использовать, и на GPT-томах), GPT ID или GPT UID. Задать и увидеть метки можно, используя стандартные команды управления провайдерами GEOM glabel, gpart, затем внести соответствующие записи в /etc/fstab.

iZEN ★★★★★
()
Ответ на: комментарий от iZEN

А что делать с zfs? Если ставить в режиме ZFS (Auto), то создается пул zfs, но, как я понимаю, с привязкой к разделам не по label. Как бы изменить эту привязку?

Norong ★★
() автор топика
Ответ на: комментарий от Norong

У пула ZFS есть интересная особенность - его можно реимпортнуть, беря тома в пул по их меткам (GLabel или GPT - неважно). Для этого надо сделать zpool export имя_пула, назначить метки томам, входящим в пул, и импортировать пул с ключиком "-d" с указанием пространства поиска (по каким меткам собирать тома в пул): zpool import -d dev/gptid имя_пула. Как-то так. Читай как всё правильно сделать. Если тома имеют метки, то они видны в соответствующих подкаталогах каталога /dev - их можно идентифицировать по команде ls.

iZEN ★★★★★
()
Последнее исправление: iZEN (всего исправлений: 1)
Ответ на: комментарий от goingUp

AUR

Это шутка? Тогда давайте для генты пакеты с gpo.zugaina.org и со всего гитхаба считать

fang90 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.