1 (20.08.2011 13:52:28 отредактировано metra)

Решил поделиться своими знаниями, в приобритении которых обязан участникам в том числе и этого форума.
Надеюсь, что эти знания помогут форумчанам в освоение этого бесспорно хорошего для меня дистрибутива.

Берем как пример полную установку всех пакетов.

1. Отображение кириллицы в консоле. Заменяем содержимое файла /etc/rc.d/rc.font

unicode_start Cyr_a8x16
for i in 1 2 3 4 5 6;do
echo -ne "\033%G" >/dev/tty$i
done

2. Локализация остальной системы.
     2.1. Редактируем файл /etc/profile.d/lang.sh. Комментируем строчку "export LANG=en_US", вставляем после этой строчки "export LANG=ru_RU.UTF-8". Делаем исполняемым этот файл.
     2.2. Редактируем файл /usr/share/locale/locale.alias. Заменяем "russian  ru_RU.ISO-8859-5" на:

russian  ru_RU.UTF-8
ru_RU    ru_RU.UTF-8
ru       ru_RU.UTF-8

3. Добавление русской раскладки клавиатуры и настройка смены раскладок.
В данном варианте раскладки переключаются клавишей "Caps Lock", но вы можете поставить свою клавишу, или сочетание клавиш. Для этого надо поменять обозначние "caps" на ваше, будь то "alt_ctrl", "alt_shift" и т.д.
Редактируем/создаем файл /etc/X11/xorg.conf.d/keyboard-layout.conf, приводя его к такому виду:

Section "InputClass"
        Identifier "keyboard-all"
        MatchIsKeyboard "on"
        Driver "evdev"
        Option "XkbLayout" "us,ru"
        Option "XkbVariant" ",,winkeys"
        Option "XkbOptions" "grp:caps_toggle,grp_led:scroll,terminate:ctrl_alt_bksp"
EndSection

4. Для обновления пакетов, которые поставляются с дистрибутивом до актуальных версий, относительно оффиц. репозитория качаем и устанавливаем пакет slapt-get, выбрав на стринице загрузке нужную вам архитектуру и версию дистрибутива.
В ниже приведенных настройках slapt-get'а я использую только оффиц. репозитории (стандартный и extra, в котором много полезных пакетов), географически находящийся в одном из университетов США, вы же можете выбрать другой на странице выбора зеркал.
Заменяем содержимое файла /etc/slapt-get/slapt-getrc на:

# Working directory for local storage/cache.
WORKINGDIR=/var/slapt-get

# Exclude package names and expressions.
# To exclude pre and beta packages, add this to the exclude:
#   [0-9\_\.\-]{1}pre[0-9\-\.\-]{1}
EXCLUDE=^aaa_elflibs,^devs,^glibc-.*,^kernel-.*,^udev,.*-[0-9]+dl$,i[3456]86

# Base url to directory with a PACKAGES.TXT.
# This can point to any release, ie: 9.0, 10.0, current, etc.
SOURCE=http://slackware.cs.utah.edu/pub/slackware/slackware64-13.37/:OFFICIAL

# Sources for the testing, extra, and pasture areas - if you use them.
SOURCE=http://slackware.cs.utah.edu/pub/slackware/slackware64-13.37/extra/:PREFERRED
# SOURCE=ftp://ftp.slackware.com/pub/slackware/slackware64-13.37/testing/
# SOURCE=ftp://ftp.slackware.com/pub/slackware/slackware64-13.37/pasture/

# Source for slapt-get.
SOURCE=http://software.jaos.org/slackpacks/13.37-x86_64/:OFFICIAL

# Packages on a CD/DVD.
# SOURCE=file:///mnt/cdrom/:OFFICIAL

# Home made packages.
# SOURCE=file:///var/www/packages/:CUSTOM

5. Создаем пользователя командой adduser, при вводе групп для него вводим "users" и на вопрос "может еще другие?" нажимаем клавишу "Up", дабы автоматически подставились нужные любому пользователю группы, так же дописав к этому списку "wheel".
Редактируем файл /etc/sudoers, раскомментируя строчку "%wheel ALL=(ALL) NOPASSWD: ALL", которая находится ближе к концу файла. Этим самым мы даем привелегию пользователям из группы wheel пользоваться привелегиями суперпользователя по команда sudo без пароля.

6. Обновляем систему.

 Консоль:
slapt-get --update
slapt-get --add-key
slapt-get --upgrade

7. Сам я DM, типа kdm/gdm и пр. не использую, но опишу, как настроить загрузку последних автоматически при загрузке системы.
Редактируем файл /etc/inittab. Заменяем цифру 3 на 4 в строчке "id:3:initdefault:", если вы планируете использовать не kdm/xdm/gdm, но редактируем файл /etc/rc.d/rc.4, добавив перед строчкой "# error" строчку запуска вашего DM'а, на пример "exec usr/local/sbin/lightdm -nodaemon". Если что-то пойдет не так, всегда можно находять уже в граф. оболочке нажать на Ctrl+Alt+Backspace и выйти из иксов, поменяв назад цифру 4 на 3 в вышеописанном файле и месте.

8. Для установки практически любого пакета я использую следующую тактику:
Заходим в папку с распакованными исходниками пакета. Создаем папку "mybuild". Запускаем "./configure" со всеми нужными вам опциями (можно из без), дале "make" и "make install DESTDIR=/home/tema/bluefish-2.0.3/mybuild". Переменная "DESTDIR" в команде "make install" должна содержать путь до папки "mybuild", которую мы создали не так давно. Переходим в режим суперпользователя командой "su", переходим в каталог "mybuild" и запускаем создание пакета "makepkg /tmp/bluefish-2.0.3.txz". Путь, куда "упадет" созданный пакет, как и его название и расширение (только txz/tgz) могут быть любыми. Я создаю пакеты в /tmp а потом нужные мне кидаю в отдельную папку, где они ждут, когда система рухнет и надо будет ее переустанавливать ab.
     8.1 Если я нахожу на оффиц. сайте пакет в формате "rpm", я качаю именно его и далее конвертирую в слаковский "tgz" командой rpm2tgz.

9. Если вы не используете DM с выбором сессии, то: для выбора нужного DE/WM есть команда "xwmconfig", которая заменяет содержимое файла ~/.xinitrc содержимым специального файла /etc/X11/xinit/xinitrc.xfce4, где xfce4 - нужная вам DE/WM. Этот файл создается либо автоматически, либо его нужно создавать вручную, прописывая там нужные команды для запуска граф. окружения.
Для интеграции с dbus и пр. нужно вызывать DE/WM не просто "exec startxfce4", а "ck-launch-session startxfce4" и т.д. Можно конечно писать это в сам файл ~/.xinitrc, но с помощью вышеописанной тактики сохраняется чистота и порядок в системе ab
9.1. Еще вариант и он на много проще:

 Консоль:
cd /etc/X11/xinitrc
ln -svf xinitrc.xfce4 xinitrc


10. Делаем шрифты хорошими на вид для LCD-мониторов по рецепту http://duganchen.ca/writings/slackware/fonts

После рецепта шрифты у меня выглядят так:

http://storage5.static.itmages.ru/i/11/0820/s_1313832077_6548850_1dce44cdb0.png

В итоге я имею стабильную ОС с автоматическим обновлением пакетов "от патрика" и с собраными мною под мою систему и с моими патчами и опциями пакетами, которыми можно управлять (удалять, обновлять, устанавливать, если сохранили пакет).

P.S.: все вышенаписанное ИМХО. Если вы заметили какую-либо логическую или техническую ошибку, пишите об этом, я буду признателен исправить погрешность.

2

Добавил 10-ы пункт про рецепт приготовления хорошего отображения шрифтов.

3

emlsch пишет:

так же дописав к этому списку "wheel".
Редактируем файл /etc/sudoers, раскомментируя строчку "%wheel ALL=(ALL) NOPASSWD: ALL"

это разве обязательно?

emlsch пишет:

Запускаем "./configure" со всеми нужными вам опциями (можно из без), дале "make" и "make install DESTDIR=/home

не проще-ли всё это делать slackbuild'ом? http://slackbuilds.org/

emlsch пишет:

для выбора нужного DE/WM есть команда "xwmconfig", которая заменяет содержимое файла ~/.xinitrc содержимым специального файла /etc/X11/xinit/xinitrc.xfce4, где xfce4 - нужная вам DE/WM.

есть такая команда ln -svf, которая делает тоже самое:

 Консоль:
# cd /etc/X11/xinitrc
# ln -svf xinitrc.xfce4 xinitrc

emlsch пишет:

опциями пакетами, которыми можно управлять

можно и без slapt-get делать всё тоже самое.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

4

drBatty пишет:

это разве обязательно?

Ну если эту строчку не расскоментировать то по логике вещей группа wheel не будет работать. Не пробовал, но думаю прав. Или wheel-группа где-то еще настроена по дефолту?

drBatty пишет:

не проще-ли всё это делать slackbuild'ом? http://slackbuilds.org/

Проще, но когда слакбилд отсутсвует мне лень его писать (а по факту изменять строчки в любом) - легче руками создать пакет. Если принять к сведению тот факт, что таких ситуаций крайне мало => все норм ab

drBatty пишет:

есть такая команда ln -svf, которая делает тоже самое:

Спасибо, действительно еще проще. Добавил в стартовое сообщение.

drBatty пишет:

можно и без slapt-get делать всё тоже самое.

Но для этого надо писать (или настраивать тот, который скопировал) парсер версий пакетов патрика. Т.е. это равноценные варианты. Я выбрал slapt-get.

5

emlsch пишет:

Ну если эту строчку не расскоментировать то по логике вещей группа wheel не будет работать.

о том и речь - обязательно-ли включать пользователя в группу wheel? Зачем это вообще надо, если для редких случаев администрирования можно набрать su?

emlsch пишет:

Проще, но когда слакбилд отсутсвует мне лень его писать

проблема в том, что когда вы будете второй раз ставить ОС, то выйдет новая версия программы. Потому вам придётся собирать по новой, а Slackbuild это фактически те-же самые команды, которые вы рекомендуете писать руками. Какая разница, куда их писать? Лишь-бы один раз. В вашем случае будет 2 раза. А если вам ещё какой-то патч наложить надо? Всё это можно записать в Slackbuild.

emlsch пишет:

Спасибо, действительно еще проще.

это простой способ. и неудобный для повседневного использования (если каждый день менять WM).
А вот скрипт, удобный для повседневного использования.
http://linuxforum.ru/viewtopic.php?id=12650

emlsch пишет:

Но для этого надо писать (или настраивать тот, который скопировал) парсер версий пакетов патрика.

зачем? что-бы обновить? да просто скачать с http://mirror.yandex.ru/slackware/, и всё.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

6

drBatty пишет:

зачем? что-бы обновить? да просто скачать с http://mirror.yandex.ru/slackware/, и всё.

Это то понятно, я про то, как я узнаю вышла ли новая весрия от патрика? Ведь slapt-get делает это, показывая список пакетов, версии которых выше установленых.

7

emlsch пишет:

как я узнаю вышла ли новая весрия от патрика?

а... ну да.
лично я подписался на рассылку.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

8 (20.08.2011 16:55:40 отредактировано metra)

drBatty пишет:
emlsch пишет:

как я узнаю вышла ли новая весрия от патрика?

а... ну да.
лично я подписался на рассылку.

Нужно послать мыло с темой "subscribe [slackware-announce, slackware-security]" на majordomo@slackware.com?

9

emlsch пишет:

Нужно послать мыло с темой "subscribe [slackware-announce, slackware-security]" на majordomo@slackware.com?

вроде так... я уже давно подписан, не помню точно. Придёт ответ, типа спасибо, и всё такое.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

10

а я не подписывался  ac  , но мне и так по sendmail'у приходит в /var/mail/root ..

" si contuderis stultum in pila quasi tisanas feriente desuper pilo non auferetur ab eo stultitia eius " © Proverbs 27:22

11

При загрузке ядра Slackware раздражает вывод многочисленных системных сообщений на экран.
Пользы от этого никакой, всё равно невозможно прочесть, а со временем начинает досаждать.
Чтобы убрать эти сообщения, нужно добавить в lilo.conf две команды compact и quiet...
Вот начало моего lilo.conf с добавленными командами:

# LILO configuration file

# Start LILO global section
# Append any additional kernel parameters:

append="LBA32 vt.default_utf8=1 compact quiet"
boot = /dev/sda

После этого, такое ощущение, что компьютер стал быстрее грузиться. bs

12

Поиск по "site:www.kernel.org/doc/Documentation/ compact" такого параметра у ядра не обнаружил, так что в этой части не более чем плацебо.
Параметр compact есть у LILO, только записывается поэтому не в параметры ядру, а отдельной строкой в lilo.conf или соответствующим параметром при вызове lilo, подробнее в man lilo. Влияние -- сокращение времени на загрузку ядра в память (особенно актуально для huge ядер).

Параметра lba32 у ядра не нашел, такой параметр есть у LILO, подробнее в man lilo. Может применяться неявно с выдачей предупреждения при записи загрузчика вызовом lilo.

Итого, скорее всего имелось в виду:

append = "quiet"
lba32
compact

vt.default_utf8=1 -- уже давно является умолчанием для современных ядер и может не указываться (но установщик пишет его еще с тех пор, когда было наоборот).

13 (12.02.2013 10:14:24 отредактировано cdrw)

bormant пишет:

Итого, скорее всего имелось в виду:

append = "quiet"
lba32
compact

vt.default_utf8=1 -- уже давно является умолчанием для современных ядер и может не указываться (но установщик пишет его еще с тех пор, когда было наоборот).


Да, действительно, vt.default_utf8=1 отмечалась по предложению установщика на этапе инсталляции дистрибутива, lba32  дописывалась как дополнительный параметр на этапе установки.
При чём параметр vt.default_utf8=1 включает режим юникода на более раннем этапе, чем команды русификации, о чём свидетельствует изменение цветовой палитры консоли(не буду влезать в дебри и объяснять что это такое). Поддержка и включение режима, это немного разные вещи.
Впрочем, слово append переводится как "добавить". Поэтому я и добавил, используя информацию отсюда.
Может я неправильно перевёл текст диалога при настройке lilo:

A function to ask for append= parameters. 

Some systems might require extra parameters to be passed to the kernel. 
If you needed to pass parameters to the kernel when you booted the Slackware 
bootdisk, you'll probably want to enter the same ones here.  
Most systems won't require any extra parameters.  
If you don't need any, just hit ENTER to continue.

Но у меня сработало.

Спасибо bormant за коррекцию и правильное пояснение того, что у меня получилось...

14

cdrw,
речь была о том, что vt.default_utf8=1 и quiet являются параметрами ядра, для передачи их ядру в lilo.conf они указываются в директивах append (глобально) и addappend (для отдельного раздела image), в GRUB указываются непосредственно после имени ядра. Но суть в том, что их обрабатывает само ядро. Подробнее в документации ядра /usr/src/linux/Documentation/kernel-parameters.txt.

lba32 и compact являются параметрами LILO, а не ядра, поэтому передавать их ядру не имеет смысла.

cdrw пишет:

If you needed to pass parameters to the kernel when you booted the Slackware

Если нужно при загрузке Slackware передать параметры ядру.

cdrw пишет:

включает режим юникода на более раннем этапе, чем команды русификации, о чём свидетельствует изменение цветовой палитры консоли(не буду влезать в дебри и объяснять что это такое). Поддержка и включение режима, это немного разные вещи.

Включает -- да. Вот только к палитре это не имеет никакого отношения (загрузка шрифта с более чем 256 символами к этому вопросу не относится, совсем не относится). А заметили, скорее всего, либо действие параметра vga (тоже, кстати, указание LILO сформировать специальный блок параметра ядру), либо KMS (kernel mode settings).

15 (12.02.2013 16:15:18 отредактировано cdrw)

bormant пишет:

Вот только к палитре это не имеет никакого отношения (загрузка шрифта с более чем 256 символами к этому вопросу не относится, совсем не относится).

Может я заблуждаюсь, но я имел в виду это: linux_org_ru,  и wikipedia, раздел fonts

bormant пишет:

А заметили, скорее всего, либо действие параметра vga (тоже, кстати, указание LILO сформировать специальный блок параметра ядру), либо KMS (kernel mode settings).

По ходу установки применялся только текстовый режим isolinux, цвет поменялся после выбора в исталляторе режима utf...

16

cdrw пишет:

цвет поменялся после выбора в исталляторе режима utf

Тут вас память подводит, на самом деле -- после попытки выбрать шрифт, содержащий более 256 символов, для поддержки которого в текстовом режиме (который не-фреймбуфер, по 2 байта на знакоместо) видеоадаптер переключается в режим, когда третий (считая с 0) бит атрибута используется не для обозначения яркости цвета символа, а для указания на альтернативную таблицу знакогенератора.

Никто не мешает иметь юникодную (utf8) консоль и 256-символьный шрифт (например, Cyr_a8x16), когда третий бит атрибута по-прежнему будет обозначать повышенную яркость символа.

17 (13.02.2013 00:54:51 отредактировано cdrw)

bormant пишет:
cdrw пишет:

цвет поменялся после выбора в исталляторе режима utf

Тут вас память подводит, на самом деле -- после попытки выбрать шрифт, содержащий более 256 символов, для поддержки которого в текстовом режиме (который не-фреймбуфер, по 2 байта на знакоместо) видеоадаптер переключается в режим, когда третий (считая с 0) бит атрибута используется не для обозначения яркости цвета символа, а для указания на альтернативную таблицу знакогенератора.

Никто не мешает иметь юникодную (utf8) консоль и 256-символьный шрифт (например, Cyr_a8x16), когда третий бит атрибута по-прежнему будет обозначать повышенную яркость символа.

Da, vsio tak...