The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

Linux специфика

   Корень / Администратору / Система / Linux специфика
Оптимизация и тюнинг в Linux [28]
Увеличение безопасности Linux [11]
Установка и работа с пакетами программ в Linux [81]

----* Загрузка ядра Linux, собранного в конфигурации allmodconfig   Автор: linuxoid  [комментарии]
 
Файл конфигурации allmodconfig позволяет все модули ядра отметить как "m", т.е.
как подгружаемые, а не встроенные в ядро. Но проблема в том, что ядро с такими
настройками не загружается.

Подразумевается, что в файле конфигурации уже отмечены все подходящие для
заданного компьютера дисковые драйверы sata/ide/scsi, как встроенные в ядро "y"
или как "m" для размещения на initrd. Но ядро всё равно не грузится.

Загрузочное сообщение: Cannot open root device "(null)"

Если в grub указан параметр root=/dev/sda1 (sda1 указан для примера), а при при
загрузке появляется сообщение "Cannot open root device "(null)" or
unknown-block(0,0)" (обратите внимание, что вместо sda1 появилось null), это
значит, что нужно изменить в конфигурации "CONFIG_CMDLINE_BOOL=n".

Загрузочное сообщение: Failed to execute /init

При использовании initrd при загрузке может появится сообщение "Failed to
execute /init" и нужно изменить в  конфигурации "CONFIG_BINFMT_SCRIPT=y".
 
----* Обновление Fedora/RFRemix 19 до Fedora/RFRemix 20   Автор: Аноним  [комментарии]
 
Получаем права суперпользователя

   su

Устанавливаем новый gpg-ключ:

   rpm --import https://fedoraproject.org/static/246110C1.txt

Удаляем проблемную прошивку Intel WiMAX, убедившись в том, что подключение
посредством WiMAX не является единственным способом соединения устройства с Сетью

   yum remove NetworkManager-wimax

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

   yum update yum
   yum --releasever=20 distro-sync

Внимание ! При обновлении с использованием fedup предварительно следует
обновить данную утилиту до версии 0.8. В репозиториях  Fedora 18 и 19 в момент
выхода Fedora 20 находилась версия 0.7, при использовании которой обновление до
Fedora 20 будет завершено ошибкой. При обновлении с Fedora 18 дополнительно
в fedup следует использовать опцию "--nogpgcheck".
 
----* Установка DTrace в Ubuntu Linux (доп. ссылка 1)   [комментарии]
  Установим пакеты, необходимые для обеспечения работы DTrace:
...
[Слишком большой объем текста. Скрыт. Для просмотра см. продолжение
]
 
----* Особенности установки Skype на 64-битную систему   Автор: Карбофос  [комментарии]
  При попытке скачать и установить с оригинальной страницы пакет skype 64 для Ubuntu и установить его на базирующуюся на Debian 64-битную платформу меня ждало разочарование: распакованный файл, скачанный здесь http://www.skype.com/go/getskype-linux-beta-ubuntu-64 на поверку оказался обычным 32-битным бинарником:
...
[Слишком большой объем текста. Скрыт. Для просмотра см. продолжение
]
 
----* Что поправить в Ubuntu 10.10 Maverick на ноутбуке IBM Т61   Автор: rstone  [комментарии]
  1. Если нет индикации раскладки клавиатуры (должно быть написано рядом со значком), либо наблюдаются проблемы с индикаторами (внимание , настройки панели будут сброшены - останутся только индикаторы по умолчанию):
...
[Слишком большой объем текста. Скрыт. Для просмотра см. продолжение
]
 
----* Борьба с kernel panic в Linux-ядре 2.6.35 и выше   Автор: Аноним  [комментарии]
  Начиная с версии 2.6.35 в Linux-ядре появилась полезная функция "ramoops", позволяющая в случае краха сохранять информационный дамп состояния ядра в памяти для последующего анализа. Данные сохраняются только при мягкой перезагрузке, без очистки прошлого состояния памяти. Вкомпилировать данную функцию в ядро или загружать модулем "ramoops" - без разницы.
...
[Слишком большой объем текста. Скрыт. Для просмотра см. продолжение
]
 
----* Разбираем nod32 для Linux   Автор: Карбофос  [комментарии]
  Пару дней назад появилась новость о выходе бета версии антивируса для линукс систем. Скачать можно здесь: http://beta.eset.com/linux
...
[Слишком большой объем текста. Скрыт. Для просмотра см. продолжение
]
 
----* Безопасная перезагрузка зависшей системы Linux через Magic SysRq key (доп. ссылка 1)   Автор: Litos  [комментарии]
 
Иногда бывает, что операционная система Linux зависает. Вы пробудете
перезапустить Иксы нажав Ctrl+Alt+BackSpace
(следует отметить, что данная комбинация отключена по-умолчанию в новом XOrg),
но это безрезультатно. Зайти на машину по сети тоже нет возможности.
Но не стоит нажимать кнопку Reset. Ведь это может привести к потери
несохраненных данных/повреждению
файлов с которыми велась работа.

Вместо этого следует нажать комбинацию клавиш Alt+SysRq и удерживая их
последовательно нажать клавиши R E I S U B
с интервалом 2-3 секунды. После чего система перезагрузится. 
Запомнить можно комбинацию по фразе: "REстарт ISкуственный UBийственный"

Если в консоли нажать Alt+SysRq+H, то можно получить краткую справку.
 
----* Выполнение действий при изменении состояния сетевых интерфейсов в Debian (доп. ссылка 1)   Автор: ffsdmad  [комментарии]
  Имеется такая задача, к компьютеру в локальной сети подключается USB WiFi адаптер, при этом компьютер автоматически превращается в прозрачный мост для подключемых WiFi устрайств (ноутбуки). А после отключения адаптера, компьютер должен восстановить своё исходное состояние.
...
[Слишком большой объем текста. Скрыт. Для просмотра см. продолжение
]
 
----* Добавление драйвера в образ сетевой установки (PXE) CentOS 5.X   Автор: Victor Leschuk  [обсудить]
  Бывают ситуации, когда самый простой способ поставить систему на машину - с использование PXE сервера и FTP/HTTP/NFS. В случае, если в загрузочном образе для PXE отсутствует необходимый драйвер для сетевой карты или SCSI придется его добавлять вручную, пересобирая рамдиск.
...
[Слишком большой объем текста. Скрыт. Для просмотра см. продолжение
]
 
----* Фиксация номеров устройств для нескольких одинаковых карт в Linux (доп. ссылка 1)   Автор: silverghost  [комментарии]
  Проблема: Несколько DVB карт при перезагрузке менялись местами в произвольном порядке.
...
[Слишком большой объем текста. Скрыт. Для просмотра см. продолжение
]
 
----* Простой способ ограничения утилизации CPU для заданного процесса   [комментарии]
 
В репозиториях популярных Linux дистрибутивов можно найти полезную утилиту
cpulimit (http://cpulimit.sourceforge.net/),
которая позволяет легко ограничить занимаемые определенной программой процессорные ресурсы.
Метод работы программы оригинален, в зависимости от указанного процента допустимой нагрузки, 
процесс периодически останавливается через отправку сигнала SIGSTOP, а затем
работа возобновляется через SIGCONT.

Например, ограничиваем потребление CPU для работающей программы find в 30%.
Определяем идентификатор процесса:

   $ ps -aux|grep find
   user 3470  7.0  7.9 25516 16252 ?       Sl   17:05  14:19 /usr/bin/find

Ограничиваем: 

   $ cpulimit --pid 3470 --limit 30

На многопроцессорных системах, процент нужно указывать с учетом числа CPU, т.е.
для 4 процессорной машины для
указания работы без ограничений нужно поставить не 100%, а 400%.
 
----* Как узнать поддерживается ли PCI устройство в заданном Linux ядре (доп. ссылка 1)   [комментарии]
  Для определения какие доступные модули ядра подходят для установленных в текущей системе PCI плат, нужно запустить утилиту pcimodules, которая для сопоставления модулей ядра и идентификаторов PCI плат использует содержимое файла /lib/modules/версия_ядра/modules.pcimap, автоматически генерируемого на этапе выполнения команды depmod.
...
[Слишком большой объем текста. Скрыт. Для просмотра см. продолжение
]
 
----* Трассировка ввода/вывода в Linux (доп. ссылка 1)   [комментарии]
  Утилита blktrace (присутствует в репозиториях Ubuntu и Debian) позволяет проконтролировать какие именно данные передаются для заданного блочного устройства.
...
[Слишком большой объем текста. Скрыт. Для просмотра см. продолжение
]
 
----* Слежение за изменением файлов и директорий в Linux shell   [комментарии]
  Пакет inotify-tools содержит две полезные утилиты:
...
[Слишком большой объем текста. Скрыт. Для просмотра см. продолжение
]
 
----* Как распаковать ядро Linux из bzImage (доп. ссылка 1)   Автор: bappoy  [комментарии]
 
Воспользоваться программой binoffset из исходников Linux-ядра:

   gcc -o binoffset /usr/src/linux/scripts/binoffset.c
   dd if=bzImage skip=`./binoffset bzImage 0x1f 0x8b 0x08 0x00` bs=1|gzip -d > vmlinux

В файле vmlinux получаем распакованное ядро. Из него можно извлечь, например,
версию компилятора, использованного при сборке ядра:

   strings vmlinux|grep "^Linux version"
 
----* Миграция на файловую систему LVM с поддержкой шифрования в Debian linux (доп. ссылка 1)   Автор: Сгибнев Михаил  [комментарии]
  Администрирование Debian: How To по миграции на файловую систему LVM с поддержкой шифрования
...
[Слишком большой объем текста. Скрыт. Для просмотра см. продолжение
]
 
----* Настройка клавиатуры для Xorg при работающем hal-0.5.10 (доп. ссылка 1)   Автор: Kroz  [комментарии]
  Решение представлено для Gentoo, но возможно проблема актуальна и для других дистрибутивов. При обновлении hal до версии 0.5.10 перестает нормально работать клавиатура. По множественным отзывам в Сети, у всех перестает работать преключатель раскладки, у меня еще были глюки с другими клавишами (например кнопка "вверх" работала как PrtScr и др.)
...
[Слишком большой объем текста. Скрыт. Для просмотра см. продолжение
]
 
----* Перезагрузка Linux машины через SysRQ (доп. ссылка 1)   Автор: DoktorPZ  [комментарии]
 
Иногда возникает ситуация, когда удаленно, по ssh например, нужно перезагрузить linux сервер. 
Команды reboot, shutdown не работают так как нужно, то есть просто висят в
процессах, но машина не уходит в перезагрузку.

Такое часто бывает, когда отказывает диск, или начинаются проблемы с RAID массивом. 
Для форсирования перезагрузки сервера нам подойдет sysrq.

Для начала включаем sysrq через proc:

   echo 1 > /proc/sys/kernel/sysrq

Далее посылаем нужную команду в sysrq триггер:

   echo b > /proc/sysrq-trigger

Как показывает практика, машина мгновенно уходит в reboot.
 
----* Уменьшение размера стандартного LiveCD Fedora 7 (доп. ссылка 1)   [комментарии]
  Задача ужать стандартный GNOME-LiveCD Fedora7 до 400 Мб. Ниже журнал действий.
...
[Слишком большой объем текста. Скрыт. Для просмотра см. продолжение
]
 
----* VMWare Workstation 6 для отладки ядра Linux (доп. ссылка 1)   Автор: Тарасенко Николай  [комментарии]
  Недавно была добавлена интересная особенность в Workstation 6.0, которая делает WS6 отличным средством для отладки ядра Linux. Теперь можно с легкостью отлаживать Linux VM на хосте при помощи gdb без каких-либо изменений в Guest VM. Ни каких kdb, перекомпиляций или еще одной машины не требуется. Все что вам потребуется, так это всего одна строчка в VM'шном конфигурационном файле.
...
[Слишком большой объем текста. Скрыт. Для просмотра см. продолжение
]
 
----* Сетевая консоль для отладки зависаний Linux (доп. ссылка 1)   Автор: niol, debian-administration.org  [комментарии]
 
Модуль Linux ядра netconsole позволяет экспортировать консоль на другую машину по сети,
что полезно для отладки ситуации зависания Linux без вывода диагностики в лог и
на экран (например, X-ы зависли).

В /etc/modprobe.d/ создаем файл или добавляем в /etc/modules.conf:

   options netconsole netconsole=32769@192.168.1.1/eth1,32769@192.168.1.6/01:23:34:56:78:9A

где, 
   192.168.1.1:32769  сетевой адрес и порт на eth1 интерфейсе локальной машины, с которого будет производится отправка пакетов.
   192.168.1.6:32769 сетевой адрес, порт и MAC адрес удаленной машины куда будет экспортирована консоль.

На удаленной машине 192.168.1.6, для доступа к консоли используем netcat:

   nc -l -p 32769 -u

Подгружаем модуль netconsole:
   modprobe netconsole
 
----* Как минимизировать проблемы при перезагрузке зависшего Linux (доп. ссылка 1)   Автор: arsgeek.com  [комментарии]
 
Если консоль зависла, машина работает, но не откликается на CTRL-ALT-BKSPC,
ALT-CTRL-F1, CTRL-ALT-DEL
и по сети зайти на машину тоже нет возможности.

"ALT + SysReq + r" - перевести клавиатуру в Raw режим.
"ALT + SysReq + s" - сбросить буферы FS на диск (может занять много времени,
если система сильно загружена).
"ALT + SysReq + e" - отправить сигнал завершения работы процессам.
"ALT + SysReq + i" - принудительно убить процессы не желающие завершить работу по сигналу KILL.
'ALT + SysReq + u' - отмонтировать дисковые разделы.
'ALT + SysReq + b' - перезагрузить машину.


PS. Клавиша SysReq совпадает с Print Screen.
 
----* Обновляем BIOS с загрузкой DOS по сети   Автор: Андрей  [комментарии]
  Необходимо загрузить образ DOS по сети.
...
[Слишком большой объем текста. Скрыт. Для просмотра см. продолжение
]
 
----* Как собрать отключенный в конфигурации Linux 2.6 ядра модуль (доп. ссылка 1)   [комментарии]
 
Чтобы собрать только один модуль входящий в комплект ядра, но отключенный в конфигурации, 
без пересборки остальных частей (на примере ntfs):

   make CONFIG_NTFS_FS=m CONFIG_NTFS_DEBUG=n CONFIG_NTFS_RW=n M=fs/ntfs
 
----* Аутентификация без пароля через USB Flash в Linux (доп. ссылка 1)   [комментарии]
 
Цель - организовать аутентификацию пользователя в Linux системе, не через ввод пароля, 
а через вставку USB флэша или CDROM, содержащего DSA ключ.

1. Устанавливаем  pam_usb (http://pamusb.sourceforge.net/);

2. В /etc/pam.d/login, /etc/pam.d/xdm и т.д. прописываем, в зависимости от режима:
   2.1. Вход только при вставке Flash с ключем:
      auth       required        pam_usb.so
      #auth required pam_unix.so # комментируем строку.

   2.2. Можем войти просто вставив Flash или набрав пароль:
      auth       sufficient      pam_usb.so # ставим перед "auth required pam_unix.so"

   2.3. Режим входа только при вставке Flash с ключем одновременно с вводом пароля:
      auth       required        pam_usb.so # ставим перед "auth required pam_unix.so"

3. Монтируем Flash в /mnt/usb и генерируем для пользователя ключ:
   usbadm keygen /mnt/usb логин 1024
 
----* Синхронизация Smartphone Motorola MPx200 под Linux (доп. ссылка 1)   [комментарии]
  Есть два способа как заставить MPX200 работать с Linux: IrDA и wince-usb.
...
[Слишком большой объем текста. Скрыт. Для просмотра см. продолжение
]
 
----* Включение поддержки PAM в Slackware Linux (доп. ссылка 1)   Автор: Zebr  [комментарии]
  Берём:
...
[Слишком большой объем текста. Скрыт. Для просмотра см. продолжение
]
 
----* Подключение к беспроводной сети под Linux (доп. ссылка 1)   [комментарии]
  0. Убеждаемся, что наш беспроводной адаптер в списке поддерживаемых в Linux (http://www.linux-wlan.org/docs/wlan_adapters.html.gz) на сайте http://www.linux-wlan.org/
...
[Слишком большой объем текста. Скрыт. Для просмотра см. продолжение
]
 
----* Настройка параметров последовательного порта в Gentoo Linux  (доп. ссылка 1)   Автор: Roman A Egunkov  [комментарии]
  Исправляем (ели нужно) в файле ``/etc/init.d/serial''
...
[Слишком большой объем текста. Скрыт. Для просмотра см. продолжение
]
 
----* Примеры сетевых настроек в Linux дистрибутивах c /etc/sysconfig   [комментарии]
  Список опций: /usr/share/doc/initscripts* и /usr/share/doc/net-scripts*
...
[Слишком большой объем текста. Скрыт. Для просмотра см. продолжение
]
 
----* Объединение сетевых интерфейсов под Linux (доп. ссылка 1)   [комментарии]
  Превращение двух 100 мбит/c сетевых карт в одну виртуальную, с пропускной способностью 200 мбит/c.
...
[Слишком большой объем текста. Скрыт. Для просмотра см. продолжение
]
 
----* Как посмотреть какой процесс открыл слишком много файлов под Linux   [комментарии]
 
  find /proc -name fd -type d -exec sh -c "echo \`ls {}|wc -l\` {}" \;|sort -n -r|head
 или использовать утилиту lsof
 
----* Как, после сборки ядра Linux, инициализировать initrd (ядро падает при монтировании root раздела) (доп. ссылка 1)   Автор: as  [комментарии]
 
initrd - RAM-диск, инициализируемый загрузчиком, требуется для подключения
модулей ядра, необходимых
на этапе до монтирования root-раздела, (например, до монтирования нужно
подгрузить - ext2/ext3/scsi модули).

1) man initrd - все изумительно описано;
2) после сборки ядра создаем новый initrd:
    mkinitrd /boot/initrd-2.4.21 2.4.21;
3) в /etc/lilo.conf:
   initrd=/boot/initrd-2.4.21 
В mkinitrd сам initrd можно назвать как угодно, но второй параметр обязательно версия ядра. 
 
----* Как в Linux после kernel panic вместо ожидания действия оператора автоматически выполнять перезагрузку.   [комментарии]
 
Добавьте в /etc/rc.d/rc.local:
    echo 1 > /proc/sys/kernel/panic
Т.е. перезагрузка будет выполнена через 1 сек. после panic, если 0 - то не перезагружать а ждать.
 
----* Почему Linux ядро не использует всю память и пишет "Warning only 960MB will be used".   [комментарии]
 
Если добавление в lilo append="mem=1536M" не помогает:

Необходимо пересобрать 2.2.x ядро с опцией CONFIG_2GB=y
Processor type and features -> Maximum Physical Memory -> 2Gb

Если проблема проявляется в ядре 2.4.x - CONFIG_HIGHMEM, CONFIG_HIGHMEM4G или CONFIG_HIGHMEM64G
 
----* Ограничения трафика с помощью iproute2 (доп. ссылка 1)   Автор: Z0termaNN  [комментарии]
 
tc qdisc add dev eth1 root handle 1: htb default 2 r2q 1
tc class add dev eth1 parent 1: classid 1:1 htb rate 10mbit ceil 10mbit mtu 1500
tc class add dev eth1 parent 1:1 classid 1:77 htb rate 32kbit ceil 48kbit mtu 1500 prio 0
tc class add dev eth1 parent 1:1 classid 1:2  htb rate 128kbit ceil 128kbit mtu 1500
tc filter add dev eth1 protocol ip parent 1:0 prio 1 u32 match ip dport 25 flowid 1:77
 
----* Переход на журналируемую файловую систему Reiserfs   [комментарии]
 
- Включаем поддержку Reiserfs в ядре.
- Устанавливаем reiserfsprogs-3.x.0j.tar.gz 
- Cоздаем бут дискету (mkbootdisk --device /dev/fd0 2.4.13;
lilo -C /etc/lilo.flop) 
- Грузимся с дискеты указав в Lilo приглашении "linux root=/dev/hd init=/bin/bash"
- mkreiserfs /dev/hda1 
- mount -t reiserfs /dev/had1 / 
 
----* Как под Linux установить параметры serial порта (прерывание, адрес порта)   [обсудить]
 
/bin/setserial -b /dev/ttyS2 uart 16450 port 0x2E8 irq 5
 
----* Как через poweroff обеспечить выключение системного блока   Автор: Alexander  [обсудить]
 
Если при наборе /sbin/poweroff отключение питания не срабатывает, то:
   /sbin/modprobe ospm_busmgr 
   /sbin/modprobe ospm_system
или в /etc/modules.conf:
   alias ospm-busmgr ospm_busmgr
   alias ospm-busmgr ospm_system
 
----* Как посмотреть параметры и возможные опции для модуля ядра Linux   [обсудить]
 
Информация о авторе.
   modinfo -a модуль 
Описание модуля. 
   modinfo -d модуль
Список возможных параметров.
   modinfo -p модуль
 
----* Как в Linux выставить принудительно 100Mb FullDuplex для Intel EtherExpress Pro100, а то auto-select с некоторыми свичами не работает. (доп. ссылка 1)   [обсудить]
 
/sbin/mii-tool -F 100baseTx-FD eth0
или ethtool -s eth0 speed 100 duplex full autoneg off

Для модуля:
В /etc/modules.conf:  
  options eepro100 options=0x200 full_duplex=1
  alias eth0 eepro100 
insmod eepro100.o debug=1 options=0x200
Для ядра в boot приглашении:
     ether=0,0,0x200,eth0 
PS. Для драйвера версии меньше 1.14 (mod_info -a eepro100) вместо 0x200 следует писать 0x30.
 
----* Как перейти в Linux на файловую систему ext3 (доп. ссылка 1)   [комментарии]
 
Выкачиваем и накладываем ext3 патчи (ftp://ftp.kernel.org/pub/linux/kernel/people/sct/ext3/) и 
утилиты (ftp://download.sourceforge.net/pub/sourceforge/e2fsprogs/).
Преобразуем ext2 FS в ext3 (для отмонтированного раздела hda1):
   tune2fs -j /dev/hda1
Обратное преобразование (из ext3 в ext2):
   tune2fs -O ^has_journal /dev/hda1
   fsck.ext2 -f /dev/hdaX
Для форматирование нового ext3 раздела:
   mke2fs -j /dev/hda1
Как обновить версию журнала:
   mount /dev/hdaX /mnt -o journal=update
 
----* Как посмотреть установки конфигурации для бинарного ядра Linux   [обсудить]
 
Если ядро было собрано с опцией CONFIG_PROC_CONFIG=Y:
zcat /proc/config.gz
 
----* Как изменить параметры последовательного порта в Linux (доп. ссылка 1)   [комментарии]
 
Вывод на экран текущих параметров:
    stty -F /dev/ttyS0 -a
    setserial -g /dev/ttyS0

Включение Hardware flow control (RTS/CTS):
    stty -F /dev/ttyS0 crtscts

Установка скорости порта:
    stty -F /dev/ttyS0 9600

Установка прерывания и типа UART:
    setserial /dev/ttyS0 auto_irq skip_test autoconfig
    setserial /dev/ttyS0 irq 5 uart 16550A  skip_test
 
----* Как узнать подробную информацию о EX2FS, размер блоков, системные данные и т.д.   [обсудить]
 
общие данные из суперблока - dumpe2fs -h /dev/раздел
информацию о каждом блоке - dumpe2fs /dev/раздел
Для FreeBSD нужно использовать dumpfs.
 

 Версия для печати




  Закладки на сайте
  Проследить за страницей
Created 1996-2017 by Maxim Chirkov  
ДобавитьРекламаВебмастеруГИД  
Hosting by Ihor TopList