Февраль 2012
Пн Вт Ср Чт Пт Сб Вс
« Июл    
 12345
6789101112
13141516171819
20212223242526
272829  
Рубрики

Записи с меткой ‘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.