Записи с меткой ‘linux’
Linux: обновление ядра с версии 2.6.18 до 2.6.32.32 на Centos 5
Все казалось бы просто, вытаскиваем ядро с kernel.org, распаковываем в /usr/src/kernel:
#tar -xjf linux-2.6.32.32.tar.bz2
#cd linux-2.6.32.32
ставим gcc и ncurses-dev, так как без них не обойтись:
yum -y install gcc
yum -y install ncurses-dev
Ставим свежий binutils, на тот момент binutils-2.20.1.
Возвращаемся к сборке ядра.
#cd /usr/src/kernel/linux-2.6.32.32
#make menuconfig
Переходим в General setup и включаем enable deprecated sysfs features which may confuse old userspace.
Ибо без этой опции, новое ядро выдаст вам при загрузке что-то наподобие:
mount: could not find filesystem ‘/dev/root’
Kernel panic …
Далее по шаблону:
#make all
#make modules_install
#make install
#reboot
Видим рабочее новое ядро и бежим пить пиво :)
Linux — перевод SATA контролера c IDE режима в AHCI
Итак, возникла потребность перевести SATA контролер с режима IDE в AHCI. Сменил режим в BIOS, перезагрузил сервер и получил kernel panic. Оказалось что не все так просто.
Итак, что нужно сделать чтобы система загрузилась:
1) возвращаем режим IDE в BIOS, загружаем систему.
2) Открываем на редактирование /etc/modprobe.conf и ищем строчку:
alias scsi_hostadapter ata_piix
Заменяем ее строчкой:
alias scsi_hostadapter ahci
3) пересобираем образ initrd с поддержкой AHCI:
mkinitrd —preload=ahci /boot/initrd-`uname -r`-ahci.img `uname -r`
4) правим grub.conf , добавляем новый пункт меню с новым initrd
5) перезагружаем сервер, входим в BIOS и выставляем режим AHCI, сохраняем настройки и загружаем систему. После загрузки системы просматриваем вывод dmesg и видим что AHCI включился.
Работаем с Find
Сегодня мы поговорим о утилите find и что можно с помощью нее сделать.
1) с помощью утилиты find можно найти нужные нам файлы и директории, например:
найдем все файлы в текущей папке с вложениями, которые имеют расширения .html:
find . -type f -name ‘*.html’ –print
найдем все директории в текущей папке с вложения, которые имеют в названии слово “admin”:
find . -type d -name ‘*admin*’ –print
2) с помощью утилиты find можно не только найти файлы и директории по маске, но и произвести с ними действия, для этого служит ключ –exec
Примеры:
Нужно сменить права на 644 на все файлы в текущей директории рекурсивно:
find . -type f -exec chmod 644 {} \;
Нужно сменить права на 755 на все директории в текущей директории рекурсивно:
find . -type d -exec chmod 755 {} \;
Итак, мы видим что с утилитой find работать очень просто и с помощью нее можно легко все найти и проделать любые действия с файлами и директориями. Успехов вам в работе.
Создание и настройка прозрачного bridge под Linux
Настройка шлюза под Linux (разделения сетей не требуется все работает на канальном уровне (с MAC-адресами ))
Начальные условия: 1) компьютер с двумя сетевыми картами 2) утилита bridge-utils
C командной строки вводим следующие строки: brctl addbr br0 #добавить(создать) новый мост brctl addif br0 eth0 #подключить к нему сетевые интерфейсы #(eth0 и eth1) #при этом интерфейсы, в данный момент, #не должны иметь IP адресов #(команда "ip addr delete 192.168.2.1 dev eth0") brctl addif br0 eth1
ip addr add 192.168.168.8/24 dev br0 #назначить мосту IP адрес brctl stp br0 off #отключить режим STP #цитата из man #brctl stp <bridge> <state> #controls this bridge instance's participation in the spanning tree #protocol. If <state> is "on" or "yes" the STP will be turned on, #otherwise it will be turned off. When turned off, the bridge will not #send or receive BPDUs, and will thus not participate in the spanning #tree protocol. If your bridge isn't the only bridge on the LAN, or if #there are loops in the LAN's topology, DO NOT turn this option off. If #you turn this option off, please know what you are doing.) ip link set br0 up #запускаем интерфейсы ip link set eth0 up ip link set eth1 up ------------------------------------------------------------------------------- Вспомогательные команды с различной информацией ip addr #инф. о сетевых интерфейсах ip link #инф. о сетевых интерфейсах brctl show #инф. о бридже brctl showmacs br0 #таблица MAC-адресов arp -a #ARP-таблица ip route add default via 192.168.1.1 #gateway по умолчанию #(должен быть если есть #потребность выходить в "Inet") Все это должно запускаться при каждом запуске системы (надо прописать в автозагрузку (например в конец скрипта /etc/init.d/rc.init))
Настройка сетевого принтера CUPS под Linux
Немного опишу ситуацию:
На оффисе принтеры были подключены к машинам под управлением Windows 98SE и Windows ME, было 2 машины с ASPLinux 9.0 (кто не вкурсе — это российский линукс на основе RedHat 9), печать с которых осуществлялась через samba на виндовые машины.
В течение месяца сдохли 2 принтера из 3-х, и было принято решение поставить машину под управлением ASPLinux, купить новый принтер (HP LaserJet) и сделать из новой машины сервер для доступа в инет, сервер печати, файл сервер.
На сервере с помощью redhat-config-printer настроил принтер, поднял samba, с виндовых машин все печаталось нормально, а вот с линуксами возникла проблемка следующего порядка: при попытке настроить принтер с помощью redhat-config-printer все вроде проходило нормально, но вот ничего не печатало!
Настройка
предполагается, что на сервере CUPS уже настроен, например с помошью redhat-config-printer, и разрешена печать по сети
1. На сервере с правами суперпользователя (root) откройте файл /etc/cups/cups.conf, найдите там строку
Listen 127.0.0.1:631
и добавте после нее
Listen xxx.xxx.xxx.xxx:631
где xxx.xxx.xxx.xxx — ip адрес интерфейса в локальную сеть на сервере.
Перезапустите CUPS.
2. На клиентской машине запустите CUPS.
Запустите любой броузер (mozilla, opera, konqueror, etc.) и в строке адреса наберите
localhost:631
Вы попадете на страничку настройки вашего (локального) CUPS.
Дальше все просто :)
входите в меню «Printers»
нажимаете кнопку «Add printer»
Появится запрос на авторизацию, логин «root» пароль — пароль суперпользователя
налокальной машине.
Далее необходимо заполнить 3 поля: «Name» — просто имя принтера; «Location» — IP адрес сервера,
к которому подключен принтер; «Description» — описание.
Далее вам необходимо указать «Device» — выбираете «Internet Printing Protocol (ipp)»
Далее «Device URI» ipp://xxx.xxx.xxx.xxx где xxx.xxx.xxx.xxx — ip адрес адрес сервера, к которому подключен принтер.
Далее необходимо выбрать производителя и модель принтера.
ВСЕ.
Наслаждайтесь печатью :).
По крайней мере у меня нормально печатаются документы из OpenOffice1.1, браузеров и почтовых клиентов.
При этом redhat-config-printer никаких принтер не показывает, но так и должно быть!
Заключение.
Вполне вероятно, что нечто подобное уже кто-либо написал.
Я всю информацию взял из документации по CUPS.