Anarchist
написал 21 января 2008 года в 16:12 (4989 просмотров)
Ведет себя
как мужчина; открыл 258 тем в форуме, оставил 4097 комментариев на сайте.
Ну и первый вариант на занесение в оный (nixp.ru — лучшая шпаргалка):
Q: Как мне перекодировать Real Audio (.ra || .rm) во что-нибудь удобоваримое?
A: В .wav он перекодируется средствами mplayer’а следующим образом:
$ mplayer -ao pcm:file=temp_file.wav some_file.ra
MPlayer dev-SVN-rUNKNOWN-4.1.2 (C) 2000-2007 MPlayer Team
Последние комментарии
- OlegL, 17 декабря 2023 года в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
ecobeing.ru
Экология и вегетарианство на благо всем живым существам Планеты.
Не FAQ, но на память:
Q: Как в lilo сделать такой красивый чёрный экран, вгоняющий в ступор большинство виндузятников?
A: В конфиге закомментировать строчку
вместо неё прописать
Ну и, естественно, переписать загрузчик.
Получается не столь эффектно, как в славные времена Red Hat 5.2, но весьма приятственно.
Периодически приходится просить привести конфигурационный файл.
Q: Как вывести на экран содержимое файла без комментариев (’#', ';’) и знаков табуляции:
A:
Q: Как настроить переключение раскладок клавиатуры между русской и английской средствами X-сервера?
A: В конфигурационном файле xorg.conf прописать следующую секцию (суффикс '(winkeys)' для русской раскладки опционален):
Q: Как узнать конфигурацию ядра с которым я сейчас работаю?
A: В стандартной конфигурации ядра предусмотрено сохранение онфигурации в файле /proc/config.gz. Соответственно, для сохранения конфигурации ядра в файле необходимо выполнить следующую команду:
Если же у Вас эта опция отключена (ядро собрано с не стандартным набором опций), то Вы сами должны знать конфигурацию своего ядра.
Q: После пересборки нового ядра с старым конфигом система не загружается.
A: Конфигурационные файлы ядер разных версий не обладают 100% совместимостью. Поэтому старый конфиг можно использовать в качестве шаблона, но не стоит ему полностью доверять.
Навскидку на моей памяти: при использовании конфига от 2.6.19 для сборки ядра 2.6.22, если корневой раздел расположен на SATA-диске — система не загрузится.
Q: Как использовать старый конфиг для сборки новой версии ядра linux?
A: Надо сделать make oldconfig. Будут заданы вопросы по изменившимся и новым опциям ядра.
Q: Что такое пакетный менеджер?
A: Это программа с помощью которой можно управлять установкой/удалением пакетов.
Q: Что такое пакет?
A Пакет это программа( или библиотеке, набор скриптов) которая подготовлена для конкретного дистрибутива.
Q: Я хочу программу xxx, как мне ее установить?
A: Для установки программы надо найти соответствующий пакет и его установить.
Q: A как же его искать?
A: Поиск пакетов обычно встроен в пакетный менеджер или в дистрибутиве есть дополнительные утилиты для поиска. Также поиск пакетов часто есть на сайте дистрибутива.
Q: А как узнать какой пакетный менеджер в моем дистрибутиве?
A: Посмотреть в документации идущей вместе с установочными дисками, или находящейся на дисках, или в интернете на сайте дистрибутива.
Q: В моем дитрибуте нет программы xxx, что делать?
A: Собрать ее самостоятельно из исходных текстов или найти готовый пакет в другом месте.
Q: Тут есть сайт Васи Пупкина и на нем есть пакет нужный мне. Я вот тут подумал, а это безопасно брать этот пакет?
A: Настолько безопасно, насколько доверяешь Васе.
Q: Как мне собрать программу xxx? Ей нужен пакет YYY, я его поставил, но она все равно не собирается.
A: Во многих дистрибутивах пакет делится на две части YYY и YYY-devel. Для сборки программ из исходников нужно установить пакет YYY-devel.
Q: Я ее собрал, а что делать дальше? До сих пор я ставил программы из пакетов и мне надо было выполнить только одну команду и указать пакет. А тут нет файла пакета.
A: Надо сделать его самому. Как это делать надо читать в документации к дистрибутиву.
Q: Я тут нашел в README, что надо выполнить make install. Это создаст пакет?
A: Нет, это скопирует файлы программы в те месте где они должны быть, но это не следует делать, потому что программу установленную таким образом очень сложно удалить, только вручную. Надо сделать пакет и установить его.
Q: А я уже сделал make install :( что делать?
A: make uninstall.
Q: Я делаю make uninstall, выдается сообщение что цель не найдена и ничего не происходит, что делать?
A: К сожалению данный пакет не поддреживает uninstall. Для удаления уже установленных файлов их надо найти, следует воспользоваться для этого утилитой find, она умеет искать файлы по времени их создания.
Q: Как в Gentoo Linux (предположительно — фича не носит дистрибутивно-зависимого характера) обеспечить совпадение параметров терминала в консоли и в графическом интефейсе.
A: Я так и не понял почему, но в консоли параметры окружения берутся из файла ~/.bash_profile, а в Х-ах — из файла ~/.bashrc.
Соответственно правильным будет:
1. В ~/.bash_profile прописать одну строчку:
2. А все alias’ы, переменные и прочая прописывать в ~/.bashrc.
вобще-то в генту это лучше сделать через /etc/env.d и /etc/profile
Пользовательские alias’ы???
Слова «пользовательские» в вопросе не было ;-)
Поэтому логично в ответе: «для всех пользователей на системном уровне (в случае Gentoo) — это делается так, а для конкретных индивидуумов — во как!».
Но я согласен с тем, что предложенный Анархистом вариант универсальнее. Но не тру-генту-way :) Так что лучше было вобще слово «gentoo» не упоминать.
А вот слово Gentoo в вопросе было… Тогда и формулировать сразу по понятиям надо ;-)
Про то, почему bash так работает с конфигами написано в bash(1). Читать надо внимательнее.
~/.bash_profile — заружается только если shell является login shell.
~/.bashrc — загружается всегда.
Сильно преувеличено.
Здесь надо определиться ещё и с политикой партии относительно определения alias’ов на системном уровне.
Чё к словам цепляешься? Был бы такой умный, знал бы почему .bash_profile не грузится. Надоело уже, Анархист, ей богу. Жениться тебе надо.
Взаимно.
Был бы такой умный, знал бы, что ~/.bashrc читается не всегда.
Откровенная деза нам не нужна.
Q: Как в Linux мне смонтировать файл.
A:
Команда выполняется с правами пользователя root.
По умлочанию в Linux создаётся 8 псевдоустойств /dev/loopN (т.е. N=[0;7]).
Какое выражение необходимо прописать в sudoers, чтобы разрешить простому пользователю монтировать произвольный образ и не разрешить чего лишнего пока не знаю.
Q: Как мне смонтировать образ диска в FreeBSD?
A: Команда mount в FreeBSD заметно отличается от привычной по Linux.
Для ветки 6.Х верно следующее:
Задача решается в два этапа.
На первом создаётся псевдоустройство соответствующее монтируемому образу (код приведён для случая монтирования образа ISO9660):
После чего смонтировать устойство как обычно:
После завершения работы с данными необходимо удалить созданное псевдоустройство:
Все команды также выполняются с правами пользователя root.
Можно упростить до банального
И не парить себе мозг устройствами и их номерами.
Q: А прописал вроде бы всё (и как надо), но переключение раскладок клавиатуры в Х-ах всё равно не работает.
A: Умолчательная (насколько мне известно — во всех дистрибутивах) раскладка клавиатуры у Х-сервера — en_US.
Как его вылечить от неё (привет теме о «случайности» проблемы кодировок) — я [пока] не знаю.
Если в списке «XkbLayout» встречается неизвестная кодировка — Х-сервер сваливается на умолчательню (см. выше). Насколько я помню, критичным также были факты использования в качестве разделителя запятой, нижнего регистра и отсутствия пробелов (для значения «XkbOptions» — аналогично).
Итого:
Q: Как собрать пакет под Linux Slackware?
A:
Q: Как проверить, наступил ли последний день текущего месяца?
A:
Q: Чем мне преобразовать звук в формат flac (<font color=«blue»>Free Lossless Audio Codec</font>)?
A: За преобразование lossless форматов в linux отвечает sox. Как в бинарных дистрибутивах — не знаю, в Gentoo при указании соответствующего USE-флага (глобально или персонально для media-sound/sox) достаточно команды:
Прочие опции из man sox по вкусу/потребностям.
Тэги прописываются с помощью easytag.
Q: FLAC большой получился. Мне бы чего-нибудь поэкономичнее…
A: Поэкономичнее с адекватным качеством можно порекомендовать <font color=«blue»>OGG Vorbis</font>.
В расчёте на наушники или типовую компьютерную акустику высшее качество считаю избыточным.
Достаточно
При этом если тэги FLAC заполнены, то тэги OGG заполняются автоматически.
Q: Как мне преобразовать музыку из формата Audio CD в компьютерный формат.
A: Преобразование треков Audio CD в файлы осуществляется либо утилитой cdda2wav из пакета cdrtools (в расчёте на точное копирование), либо посредством утилиты cdparanoia (сграбить любой ценой, использовать для повреждённых носителей, с которых cdda2wav треки снять не может).
Грабятся треки обычно в формат .wav.
Дальнейшее преобразование:
Если помимо результирующего .ogg’а нужен и FLAC, последнюю команду в цикле следует пропустить.
Q: Как изменить MAC-адрес сетевого интерфейса?
A:
Q: Как создать .deb-пакет?
A: 1. Устанавливаем необходимые пакеты:
2. Собираем пакет:
Для FreeBSD уточнение: в общем случае вместо fxp0 следует писать $devN. Где 'dev’ — драйвер устройства, N — номер устройства.
fxp соответствует Intel EtherExpress PRO/100B (82557, 82558).
Из того, с чем работал лично я: em — Intel PRO/1000 adapter Gigabit Ethernet Card.
С полным списом возможных значений можно ознакомиться почитав GENERIC конфиг ядра (/usr/src/sys/i386/conf/GENERIC).
Список допустимых для данного случая значений следует из /var/run/dmesg.boot.
Полагаю, что для случая Linux следовало бы аналогичным образом дополнить ответ.
Q: Что нужно установить, чтобы была поддержка SSL для jabber-протокола в Psi?
A: Пакет qca-tls.
This is a plugin to provide SSL/TLS capability to programs that utilize the Qt Cryptographic Architecture (QCA). QCA is a library providing an easy API for several cryptographic algorithmns to Qt programs.
Q: Каким образом после установки Postfix из портов во FreeBSD, сделать так чтобы он был MTA по умолчанию вместо sendmail’a?
A: Из документации к Postfix:
/etc/rc.conf
/etc/periodic.conf
Обновил свой вопрос.
Мастер, ты не прав :( (или не вполне прав, перевод FreeBSD на Postgres представляю себе не вполне)
Хочу обратить твоё внимание на /etc/mail/mailer.conf.
На /usr/sbin/sendmail и на man mailwrapper.
Q: Не могу записать dvd диск, пишу: wodim -vv dev=/dev/dvdrw Fedora-9-i386-DVD.iso.
Заканчивается все ошибкой:
Starting new track at sector: 0
Track 01: 0 of 3414 MB written.Errno: 5 (Input/output error), write_g1 scsi sendcmd: no error
CDB: 2A 00 00 00 00 00 00 00 1F 00
status: 0×2 (CHECK CONDITION)
Sense Bytes: 70 00 05 00 00 00 00 0E 00 00 00 00 30 10 00 00
Sense Key: 0×5 Illegal Request, Segment 0
Sense Code: 0×30 Qual 0×10 (medium not formatted) Fru 0×0
Sense flags: Blk 0 (not valid)
cmd finished after 0.005s timeout 200s
Что делать?
A: Нужно установить пакет dvd+rw-tools. В нем есть утилита dvd+rw-format, с помощью ее надо отформатировать болванку, после этого диск будет готов для записи.
Q: Как мне сохранить интегрированный в web-страницу видео-ролик на жёсткий диск?
A: В предположении использования браузера FireFox рекомендации следующие:
1. Необходим плагин UnPlug.
2. Разрешить показ flash (в предположении, что используется плагин Flashblock).
3. Выполнить команду «Инструменты -> UnPlug». Последней строкой (если на странице — один видеоролик) появится ссылка на скачивание. Видео скачивается в формате .flv.
Update: По состоянию на 16.07.2008 указанный плагин совместим только с FireFox 2.0. Что не особо и печально.
Ибо есть альтернативное решение задачи: Flashblock даёт возможность скопировать ссылку на ролик, и есть clive (в Gentoo Linux устанавливается командой # emerge media-video/clive), с помощью которого можно сохранить ролик по ссылке на локальный жёсткий диск.
Thanks to kermit
Но: работает только для
* Youtube
* GoogleVideo
* Dailymotion
* Metacafe
* Guba
* Sevenload
* Myvideo
Впрочем, с UnPlug заявляется нечто подобное. Но в куда менее жёсткой форме. Товарищи на Gentoo.ru подсказывают ссылку на UnPlug для FF 3.0
Они же рекомендуют Video DownloadHelper 3.2..
Q: Я использую MySQL на платформе FreeBSD. Не могу найти конфигурационный файл.
A: Умолчательная установка порта mysqlXX-server на FreeBSD не предполагает наличия конфигурационного файла.
Для более тонкой настройки (зависит как от типа и размеры базы данных, так и от железа) может оказаться необходимым использовать конфигурационный файл. Файлы конфигурации MySQL для ряда типовых назначений искать в /usr/local/share/mysql/*cnf (там ещё много чего интересного есть).
Описание области применимости (если недостаточно очевидно из названия) можно прочитать в заголовке.
Расположение принимающихся к обработке файлов конфигурации перечислено в стартовом скрипте /usr/local/etc/rc.d/mysql-server.
Помните, что стандартная конфигурация вовсе не обязательно является оптимальной для конкретно Вашего случая и не бойтесь творчески подходить к редактированию файла конфигурации.
Q: Как запретить гашение экрана в консоли?
A:
(c) biv from gentoo.ru
Q: Как правильно смонтировать NTFS-раздел с использованием драйвера ntfs-3g.
A: Строка в /etc/fstab:
Где 'X’ — буква устройства соответствующего диску с выньдоуз (строго говоря вовсе не обязательно sd…), а 'N’ — номер монтируемого раздела.
Лично я считаю правильным монтировать все реально используемые (т.е. на специальные разделы типа /boot этот принцип не распространяется) разделы жёсткого диска автоматически при загрузке.
Thanks to evadim from gentoo.ru
Q: Как мне в Gentoo Linux перейти с FireFox 2.X на FireFox 3.0 (на дворе июль 2008, в основной ветке портэджей по умолчанию ставится 2.0.0.14, а 3.0 всё ещё замаскирована)?
A: Реализуемость в существенной степени зависит от используемой конфигурации (количества и характера зависимостей от FireFox 2.0).
В моём случае (FireFox 2.0 просит только OpenOffice) достаточно размаскировать FireFox 3.0 с зависимостями — /etc/portage/package.keywords:
И замаскировать FireFox 2.0 — /etc/portage/package.mask:
UPDATE: Если развитие второй ветки FireFox будет продолжаться, то версии придётся подправить.
Thanks to NETZMB from gentoo.ru.
Q: Мой сайт тормозит. Как найти страницу, отжирающую больше всего ресурсов?
A: Процитирую себя любимого (смотреть PostSciptum):
Дежурная отписка службы поддержки, которой лениво разбираться в проблеме или банально не хватает квалификации:
Можно ли узнать какой из моих скриптов создает сильную нагрузку на процессор?
Напрямую этого не узнать. Понятно, что если система будет записывать историю вызовов программ, переменные окружения и прочую метаинформацию, то серверы будут заниматься не обслуживанием сайтов, а ведением статистики по своей работе. Временные промежутки подсчета статистики использования ресурсов позволяют без применения каких-то особых математических вычислений оценить логи веб-сервера для поиска скрипта или сравнить время с записями в таблице cron. Возможно, это не скрипт. Из-за особенностей настройки хостинга время процессов веб-сервера, обслуживающих сайты клиентов, тоже учитывается в статистике. К примеру, вложенное стоекратно SSI-включение в shtml-странице.
Правильный ответ:
На самом деле, для случая использования ресурсов хостера оно, может быть, и верно. Для случая же наличия выделенного сервера — вызывающе неверная информация. Какой скрипт насколько грузит процессор (для конкретного кванта времени), можно посмотреть с помощью mod_status (Apache должен быть собран с этим модулем).
В конфигурационный файл Apache надо добавить следующие блоки:
# Потому как в стандартном режиме загрузка процессора не выводится.
ExtendedStatus On
и
SetHandler server-status
Order Deny,Allow
Deny from all
Allow from .mydomain.ru
После рестарта по ссылке www.mydomain.ru/server-status выводится информация о том, какие скрипты отрабатываются, в каком состоянии и кто сколько ресурсов CPU потребляет.
Q: Как в Audacious настроить корректное отображение кириллицы в названиях песен?
A: В настройках (пиктограмма меню, из которого вызывается окно настроек расположена в левом верхнем углу, перекрывается встроенным эквалайзером, в дефолтной теме наблюдается плохо) в вкладке Список воспроизведения в секции Информация о песне и исполнителе выбрать Автоматическое определение кодировки для «Russian» (русского языка).
Мне также потребовалось в закладке Внешний вид снять выделение с пункта Использовать растровые шрифты если возможно, без этого кириллица корректно отображалась только в списке воспроизведения, но не самим плеером.
(В Gentoo media-sound/audacious должен быть собран с флагами chardet nls)
Если в списке воспроизведения уже были песни, то корректная кодировка в их описании будет отображаться только после того как они будут хотя бы раз проиграны.
Thanks to Sancho from gentoo.ru.
Q: По умолчанию latex предоставляет более чем скромный набор базовых размеров шрифтов (ЕМНИП 10pt, 11pt и 12pt). Как бы мне расширить перечень возможных значений базового размера шрифта?
A: Задача решается пакетом extsizes (в настоящий момент как минимум в Gentoo Linux входит в базовую установку tetex).
Для его включения необходимо изменить стиль в заголовке. Например вместо
Q: Почему я не нахожу <font color=«blue»>xmms X MultiMedia System</font>?
A: XMMS — проект старый, запутанный и практически заброшенный. В качестве зависимости тянет gtk 1.3 (чуть ли не единственный из ныне живых, с такой зависимостью).
Поэтому в большинстве дистрибутивов он исключён из основной ветки пакетов.
Рекомендую посмотреть на альтернативы: audacious || Amarok.
Q: Я использую Gentoo Linux. Нужной мне программы нет в основной ветке Portage (Предполагаю, что и ни в одной из альтернативных; либо, что я считаю правильным, нет желания из-за одного-двух пакетов разводить лес деревьев Portage). Я нашёл и скачал ebuild. А что дальше? Как мне установить программу?
A: Возможно, всё же есть смысл подумать о разведении леса. Gentoo качественно документирован. http://gentoo-wiki.com/TIP_Overlays
В предположении, что задача остаётся прежней, необходимо:
1. Прописать в /etc/make.conf дополнительный оверлей
2. Исходя из собственного разумения отнести нужную программу к одной из стандартных категорий portage (`ls /usr/portage`) и создать соответствующий выбранной категории каталог в /usr/local/portage (просто создать каталог и /usr/portage/$CATEGORY не получится, там все под колпаком).
3.
4.
5.
Пример: установка fbreader-0.8.17.ebuild.
Находим файл ебилда, сохраняем на жёсткий диск.
Пункты 2-4 — комментировать и разжёвывать нечего.
Пробую ставить. И получаю отлуп: нужна нестандартная библиотека dev-libs/liblinebreak, ебилда которой, естественно нет.
Нахожу ебилд этой библиотеки, повторяю пункты 2-4 для неё.
Пробую выполнить п.5. Снова облом: забыл файлик. Возвращаюсь на страницу, откуда качал ебилд библиотеки, качаю файл, переношу его в /usr/local/portage/dev-libs/liblinebreak/files/.
После этого программа устанавливается успешно.
Q: Как в FreeBSD (пишется для 6.X) подключить дополнительный SCSI-диск (RAID не используется)?
(в предположении, что железо поддерживает горячее подключение оборудования и имеется свободный слот)
A: Необходимо сделать следующее:
1. Вставить жёсткий диск в свободный слот;
2. Произвести повторную инициализацию SCSI-устройств
3. Дальнейшие шаги, в силу уёбищности инструментов для разбиения дисков предлагаю производить через sysinstall.
Т.е. — вызвать его
и перейти в Configuration Menu (Configure).
4. Почитать (и при необходимости/желании — изменить) параметры создаваемой sysinstall’ом файловой системы (Configure -> Options -> Newfs Args, значения по умолчанию — -b 16384 -f 2048, изменить опции newfs можно также в меню редактирования слайсов FreeBSD Disklabel Editor, команда 'N').
5.Создать необходимые разделы на жёстком диске (Configure -> Fdisk), записать созданную таблицу разделов (команда 'W') и выйти из подменю. При выходе (клавиша ESCAPE) будет задан вопрос об установке загрузчика. Так как добавляется дополнительный диск для данных, выбираю пункт «Не трогать MBR».
6. Перейти в подменю редактирования слайсов (вставить ссылку на раздел предполагаемого к написанию »Free *nix Handbook, посвящённый структуре разбиения жёсткого диска в FreeBSD: Configure -> Label) и в созданных разделах создать slice’ов по вкусу. Для каждого из созданных slice’ов нужно задать точку монтирования (эти точки монтирования ДОЛЖНЫ быть прописаны в /etc/fstab!!!, на данном шаге прописанные для точек монтирования устройства не важны). После выхода из этого меню, если всё сделано правильно, будут созданы необходимые разделы и инициирована файловая система в созданных разделах, которые автоматически монтируются в заданные точки монтирования.
7. Прописать в /etc/fstab правильные устройства (должны именоваться примерно как /dev/daNsMd, где N и M — натуральные числа), режим и точки монтирования.
И при необходимости — перемонтировать разделы.
ЗЫ: Не полениться раскрыть тему сути BSD’ишной логики разбиения дисков.
Q: Заебись. Подключил я дополнительный диск, прописал его в /etc/fstab, пробую перезагрузить машину (по причине замены ядра или изменения его параметров), а она не грузится. WTF?
A: Проблема в том, что при установке дополнительных SCSI-дисков номера им присваиваются в порядке подключения, при загрузке — в порядке опроса при инициации SCSI-контроллера.
Поэтому, чтобы исключить подобные проблемы, следует задействовать слоты в порядке их опроса при инициации. Для 1-unit’ового сервера (два или, если исключить floppy disk drive — три, дисковых слота) это — слева направо.
Тему 2-unit’овых серверов (6 дисковых слотов) навскидку не раскрою.
Q: Как мне корректно (без потери работоспособности) обновить Gentoo Linux.
A:
1. Загрузить систему, запустить все необходимые программы (браузер и лишний эмулятор терминала могут очень даже пригодится).
2. Получить shell пользователя, имеющего право обновлять систему (root или ещё кто-то).
Далее:
2.1 Обновить дерево портов:
Или скорее
2.2 Почитать как portage предполагает обновлять систему
2.3 Запустить процесс обновления
2.4 Пересобрать зависимости от python’а:
2.5 Зачистить неиспользуемые пакеты
2.6 Проверить/исправить зависимости
(фактически функционально дублирует python-updater, но он на данном этапе не работает.
2.7 Проверить/обновить конфигурационные файлы
2.8 Зачистить лишние исходные файлы
Пересборка ядра/перезагрузка — отдельным необязательным пунктом программы.
После смены ядра необходщимо пересобрать пакеты, которые ставят дополнительные модули ядра (AFAIK /sbin/modules-update).
Q: Как мне в Gentoo Linux установить конкретную, отличную от умолчательной и не замаскированную версию программы?
A:
!!! Вопрос фиксации версии при обновлении при таком решении остаётся открытым!
В определённом подмножестве ситуаций (например меня не устраивают ядра начиная с 2.6.24) его можно решить прописав нежелательные версии в /etc/portage/package.mask (для приведённого мной примера это следующая строка)
Q: В моём ядре меня всё (с точки зрения функциональности) устраивает. Но партия повелела обновиться :) Как мне обновить ядро?
A: В большинстве десктопных сборок конфигурация ядра хранится в файле /proc/config.gz (в дальнейшем исхожу из того, что конфигурация используемого ядра тем или иным образом известна, ссылка /usr/src/linux указывает на распакованное дерево исходников нового ядра, в качестве загрузчика используется lilo).
Необходимо скопировать в /usr/src/linux/.config параметры конфигурации используемого ядра. Например
После чего
Обновить /boot/System.map (kernel symbol table file) и скопировать туда же конфиг ядра:
(для тех, кто хочет таки почитать различия конфигов старого и нового ядра — вместо make siletoldconfig следует запускать make oldconfig)
Новое ядро прописывается в конфиг загрузчика,
После чего имеет смысл тестовая перезагрузка.
Q: В моё ядро по бОльшей части меня устраивает. Но в нём отсутствует поддержка ряда нужных мне устройств, которая реализована в той версии ядра, на которую я хочу перейти :) Как мне обновлять ядро в этом случае?
A: После приведения файла конфигурации старого ядра в соответствие с форматом нового (# make silentoldconfig) необходимо перейти в режим конфигурирования ядра (# make menuconfig или # make xconfig или что-нибудь в том же духе по вкусу) и активировать поддержку нужных устройств (здесь очень хорошо смотрелась бы ссылка на главу посвящённую конфигурированию ядра Linux ветки 2.6 из ещё не написанной Free *nix Handbook).
В остальном процедура установки нового ядра не отличается от вышеописанной.
Q: Хорошо. Ядро я обновил. Как мне корректно и полностью удалить старое ядро.
A: Ядро — это особый, самый главный элемент системы. Поэтому оно заслуживает индивидуального подхода.
Если использовался прекомпиллированный дистрибутив ядра, то он должен корректно и полностью удаляться менеджером пакетов.
Если использовалось самосборное ядро, то менеджер пакетов тех файлов, которые он не создавал удалять не должен. Кое-что придётся удалить ручками (сначала необходимо удалить пакет с исходниками старого ядра, если это не было сделано в процессе обновления). Вручную необходимо удалить:
Q: Я использую кодировку KOI8-R, обновил ядро и… Что за хуйня? В консоли вместо кириллических символов — квадраты…
A: Начиная с версии 2.6.24 ядро по умолчанию предполагает использование юникода (ублюдочные полумеры в виде UTF8).
С одной стороны сие снимает необходимость в использовании команд типа unicode_start.
С другой, при использовании привычной и единственно верной кодировки типа KOI8-R корректное отображение кириллицы в консоли приходится организовывать передачей дополнительных параметров ядру при загрузке.
Для случая использования традиционного загрузчика (lilo):
вместо
следует писать
После чего перезаписать загрузчик
Для случая использовани продвинутого загрузчика (grub):
в /boot/grub/menu.lst в конце строки описывающей новое ядро дописать vt.default_utf8=0.
Переписывать загрузчик не надо.
После обновления конфигурации загрузчика — перезагрузить компьютер.
Thanks to KYV from gentoo.ru
Q: В один «прекрасный» момент FreeBSD мне выдала следующую ошибку
Что бы это значило и как с этим бороться?
A: Сие означает, что в системе кончились свободные inode’s («data structures that contain information about files are created», при этом необходимо помнить, что каталог — тоже файл, только специальный, и что есть ещё некоторое количество других типов специальных файлов), при этом свободное место на диске может присутствовать.
Обычно это происходит когда в системе создаётся большое количество мелких файлов. В результате запуска тестовых скриптов или неправильно (относительно задачи) созданной файловой системы).
С первым бороться легко: локализовать и удалить ненужные файлы.
Со вторым тяжелее: после останова сервера каталог, в котором создаётся большое количество файлов лучше вынести на отдельный раздел жёсткого диска (созданный с потребным, а не умолчательным количеством inode’ов, man newfs в окрестностях опции -i).
Диагностика количества/использования inode’ов в системе: df -i (цитирую только относящиеся к делу столбцы):
Каталоги где можно найти множество мелких файлов:
/var/spool/clientmqueue
и/или /var/spool/mqueue
Как считать (ну и частный вариант ответа для моего случая)
Q: Замечательно. Проблема локализована. Пробую устранить — и облом
A: Есть мнение, что решать проблему изменением лимитов для rm — порочный подход.
Правильнее:
Q: Хочу получать извещения о необходимости обновить антивирус (ClamAV).
A: Можно подписаться на рассылку clamav-announce.
Но лично моя практика показывает на проблемы с прохождением почты.
И эта рассылка не решает задачи рассылки повторных напоминаний.
Поэтому полезно вспомнить, что freshclam не только обновляет антивирусные базы, но и проверяет актуальность рабочей версии (сообщения о необходимости обновить дистрибутив отменяются только запуском новой версии, что, с учётом факта отставания по фазе обновления версии пакета в репозитарии от даты релиза является существенным).
Поэтому уместно возложить задачу рассылки напоминаний на следующий скрипт (ставится в cron с выполнением раз в сутки)
Q: Зачем вообще нужен такой анахронизм как выделенный почтовый клиент? Web-интерфес — это ведь и просто и удобно?
A: Как показывает практика, на достаточность функциональности могут претендовать лишь собственные разработки лидеров, типа Яндекса.
Но и они по удобству интеграции с разного рода адресными книгами, сколько-нибудь сложных манипуляций над письмами и работе с несколькими почтовыми ящиками безусловно рулят.
Не смотря на то, что распространение безлимитных тарифов (и толстых каналов) для доступа в Сеть свело к минимуму преимущество экономии трафика при повторном обращении к данным; при недостаточно высокой надёжности сети провайдера почтовый клиент даёт возможность работы с архивом писем в off-line режиме. И это — большой плюс.
Q: В почтовом клиенте Thunderbird я настроил параметры proxy, но мне так и не удалось получить почту с внешних почтовых ящиков. В чём проблема?
A: Thundebird использует параметры proxy не для соединений по smtp/pop3-протоколам, а для возможности вылезти ему самому в инет для проверки наличия обновлений или за картинками в html письме и т.д. (с) Atlant from gentoo.ru
Q: Хорошо. В таком случае как мне настроить получение почты извне через proxy-сервер (под proxy предполагается SQUID)?
A: Необходимо настроить переброс портов посредством net-misc/proxytunnel || net-misc/proxychains
Метод CONNECT на сквиде должен быть разрешен. (с) Aladdin from gentoo.ru
Q: Привычный, рефлекторный вариант команды 'grep'
Производит поиск одного шаблона.
Мне же нужно, чтобы 'grep' выводил строки содержащие PATTERN1 ИЛИ PATTERN2…
A: Здесь полезно вспомнить man 'grep’, точнее — существование опции '-e' и возможность неоднократного применения этой опции.
отрабатывает как надо.
Q: После постановки в cron мой старательно отлаженный скрипт перестал работать. Почему?
A: БОльшая часть проблем, связанных с потерей работоспособности в подобных ситуациях связана с тем, что окружение из которого пускается скрипт вручную (в процессе написания и отладки) и окружение в котором его запускает cron мягко говоря несколько различаются.
Поставьте в скрипт последней строкой
И выполните в консоли (откуда скрипт успешно отрабатывает) команды
скорее всего содержит ответ на Ваш вопрос.
Q: При попытке удалённого запуска Х-терминала на FreeBSD 6.3 сервере получаю ошибку:
A: К данной ошибке может приводить многое. От запрета X11Forwarding в настройках sshd (в FreeBSD фича традиционно запущена) до конфигурации файрволла на сервере и/или на рабочей станции.
Но для FreeBSD 6.3 типовой является проблема сломанных (во времена 6.2 ЕМНИП при переходе на Xorg 7.2) зависимостей.
Для решения проблемы (в предположении правильно настроенного файрволла) достаточно установить xauth
Q: Исправил этот момент. Но оно всё равно не работает. Что за хуйня?
A: Насколько мне известно, во всех современных дистрибутивах Linux (и *nix’ов вообще) из соображений безопасности по умолчанию X-server запускается с аргументом -nolisten tcp.
Если Вам нужно на локальном Х-сервере запускать приложения с удалённых машин, то эту опцию, очевидно, необходимо отменить. И перезапустить Х-сервер.
Q: Как мне в FreeBSD (предполагая 6.Х) настроить обновление портов через промежуточную точку коммутации?
A: Для обновления портов используется защищённое (SSL) соединение на 5999 порт.
Можно соответствующим образом настроить сквид, а можно — использовать альтернативные сквиду решения.
Например (из штатных инструментов) inetd && nc.
В /etc/make.conf прописывается запуск inetd
И в /etc/inetd.conf
(не забыть проверить наличие в правилах сквида «acl SSL_ports port 5999»)
Или с задействованием утилит из портов (необходимо установить sysutils/socket, запускается тоже через /etc/inetd.conf, можно и мимо прокси)
Также можно воспользоваться httptunnel, proxychains, prtunnel /etc.
Во всех случаях в качестве хоста для обновления выставляется localhost или 127.0.0.1.
Использованные материалы: Кое-что полезного нашлось здесь.
Q: Как мне в FreeBSD (доступ к ресурсам Интернет — через сквид с авторизацией) настроить автоматическое скачивание исходников?
FETCH_ENV=FTP_PROXY=http://USER:PASS@IP_Proxy:Port_Proxy
FETCH_ENV=HTTP_PROXY=http://USER:PASS@IP_Proxy:Port_Proxy
Не работает!
HTTP_PROXY_AUTH=basic:*:: — ТОЖЕ!!!
ЗАЕБАЛО!!!
A: Не смотря на все красивые заверения в работоспособности подобных конструкций на платформе FreeBSD 6.X добиться работоспособности не удалось.
Также опыт показал, что при прописывании FETCH_CMD в /etc/make.conf пробелы недопустимы.
Решение: использование wget из портов, вместо стандартного fetch’а.
1. Установить wget (исходники придётся скачать и подложить ручками
2. Переопределить параметры загрузки в /etc/make.conf (необходимо добавить целых три строки).
2.1. Собственно FETCH_CMD
ВАЖНО: указывать опции на данном этапе нельзя!
2.2. Опции wget’а (для wget-1.11.2, с ранними версиями можно ждать граблей)
2.3. Ещё один параметр, необходимый для согласования набора опций (-S fetch’a и -S wget’a — суть разные сущности)
Итого секция в /etc/make.conf должна иметь следующий вид
Q: В FreeBSD из шелла с правами root’а не могу удалить каталог (или файл).
Выводится сообщение
A: При выставлении определённых флагов — вполне реальная ситуация. Посмотреть какие флаги установлены для каталога можно следубщим образом:
Снимается флаг командой
После снятия флага (в данном конкретном случае — ’schg’) каталог удаляется без проблем.
Q: Apache упорно выдаёт ошибку
В чём проблема?
A: Обычно такая ошибка возникает вследствие умолчательных настроек доступа к корневому каталогу web-сервера
Наиболее идеологически правильным способом решения этой проблемы является явное указание прав доступа ко всем каталогам файловой системы, обрабатываемым web-сервером.
В качестве дешёвого резервного варианта для внутреннего сервера — добавить строку
Для общедоступного web-сервера такой подход недопустим. Там надо решать проблему радикально
Q: PostgreSQL server при попытке подключения phppgadmin'ом выводит следующую ошибку
Что за фигня?
A: Такая фигня обычно происходит при попытке подключения к базе неправильным (ограниченным, чисто служебно-функциональным) пользователем (при этом драйвер работы с базой, запускаемый с правами этого пользователя работает на ура).
Решение: для работы с базой через клиента добавить пользователя с нужными правами
ЗЫ: В отличие от phpldapadmin'а phppgadmin не требует для авторизованного доступа SSL-соединения.
Q: Что означает ошибка
(для тех, кто не в курсе: sockstat — *BSD-специфичная утилита)
Пора паниковать или ещё рано?
A: Sockstat сначала формирует список открытых сокетов, а потом устанавливает соответствие между сокетом и процессом, его открывшем.
Если процесс завершился раньше установления соответствия, выводится данная ошибка.
link
Q: Я не нашёл в Linux привычной по *BSD и удобной утилиты sockstat.
Её можно найти?
A: Достаточно близкий к желаемому результат можно получить и посредством стандртных инструментов
Достаточно прописать в профиле alias
link
Q: Как обновить Debian GNU/Linux «sarge» до «lenny»?
A: В /etc/apt/sources.list найти строчку похожую на
и заменить (добавить) на
Затем обновить aptitude
Загрузить список новых пакетов
И, в конечном итоге, обновить систему так
либо так
Q: В процессе обновления Gentoo Linux у меня выпала ошибка манифеста (не совпадает размер файла, контрольные суммы MD5 или SHA256).
A: Причина данной ошибки может заключаться как в файле, так и в portage (по моим наблюдениям вероятность где-то в пополаме).
Рекомендую сначала убедиться, что скачиваемый файл верен (посмотрев что предлагают скачать с нескольких, минимум 2-3, разных источников). Если проверка показывает, что файл тот же, то необходимо проверить архив (не только контрольные суммы, взятые с сайта разработчика, но и распаковать).
Если архив корректно раскрывается и содержимое не вызывает подозрений, то исправить манифест
Q: Как мне в FreeBSD 6.X запустить несколько httpd-демонов, использующих различные конфигурации?
A: Главный руководящий документ, как всегда при использовании портированного ПО — стартовый скрипт /usr/local/etc/rc.d/apache22 (предполагается использование Apache 2.2).
Решение:
1. Создать каталог с конфигурационными файлами для второго демона (в принципе умолчательный набор конфигурационных файлов можно оставить неизменным)
2. В /etc/rc.conf прописывается
3. Можно запускать демона: # /usr/local/etc/rc.d/apache22 start.
Q: Где взять и как установить официальный драйвер от AMD(ATI) для видеокарты?
A: Официальные (проприетарные) драйвера от AMD(ATI) находятся здесь:
http://ati.amd.com/support/driver.html
Выбирайте соответствующую систему, архитектуру и качайте.
Установка (на примере Debian GNU/Linux «lenny»):
1. Устанавливаем необходимые пакеты:
2. Смотрим список идентификаторов пакетов:
3. Собираем пакеты под «lenny»:
4. Устанавливаем полученные пакеты:
5. Правим /etc/X11/xorg.conf:
6. Перезапускаем X-сервер.
Q: Как мне в Linux создать DJVU-документ?
A: В предположении наличии необходимых утилит (в Gentoo Linux это — app-text/djvu, в других дистрибутивах он может называться иначе, утилиты могут быть разбиты на несколько пакетов).
Сначала — преобразовать картинки в формат .djvu (предполагаю, что преобразуется текст, 300dpi — более чем достаточно, исходный формат — .png, также заявлен .jpg, прочие — не знаю)
После чего объединить страницы в итоговый файл
src (тема раскрыта подробнее, есть и PERLовка)
Q: По умолчанию при добавлении пользователя в Gentoo Linux создаётся пользовательский каталог с правами доступа 755.
Что мне нужно сделать, чтобы при добавлении пользователя домашний каталог создавался с более безопасными правами 700?
A: Маска создания каталога при добавлении пользователя в Gentoo Linux прописывается в файле /etc/login.defs (ключ для поиска: man useradd).
Подсказка была процитирована на форуме Gentoo.RU