LINUX.ORG.RU

Сообщения markevichus

 

GRUB

Играюсь с RAID1 на виртуалке.

2 жёстких диска. разбиты одинаково: первый раздел - /boot, второй - корень на LVM на RAID1(ну оно не важно).

При установке Debian, /boot устанавливаю на hda1 (hdb1 имеет такой же размер, но остаётся пустым).

Моделирую вылет hda. Хочу, чтобы после того, как я выключу компьютер и выкину hda, у меня всё красиво грузилось.

Делаю /boot-партиции идентичные:

dd if=/dev/hda1 of=/dev/hdb1
Загрузчик - в MBR hdb:
grub-install /dev/hdb

Всё замечательно, но у при загрузке с оставшегося в живых hdb (даже есть я его воткну как hda), grub не находит свой menu.lst. Я могу прописать все параметры для загрузки ручками, но хотелось бы знать, как мне следует с самого начала устанавливать grub на hdb? Не очень понимаю, какой информацие руководствуется загрузчик для поиска своей менюшки.

Надеюсь, чего-нибудь понятно.

P.S. после того, как загружаюсь с hdb, делаю на этой активной системе grub-install и теперь загрузчики на обоих хардах знают свой menu.lst. Но я не буду проделывать такой финт на работающих серверах.

P.P.S как в моде LORCODE делать нормальный, как в User line break, перенос строк? А то форматирование какое-то инвалидное.

markevichus
()

[Debian] Задумчивость ifup

Тема мной уже поднималась(http://www.linux.org.ru/view-message.jsp?msgid=4445223), но я так и не нашёл, в чём проблема.

Вкратце: Debian lenny. Во время загрузки при инициализации сети программа ifup висит на выполнении скриптов, выполнять которые имеет смысл только после поднятия ethernet-интерфейсов, а они запускаются и после поднятися loopback-интерфейса. Т.е. висит, по-видимому, на таймаутах. Таким образом на поднятие сети уходит 10 минут.

Сравнил скрипты с аналогичной машиной - одинаковые. В каждого начале имеется проверка, ни для lo-интерфейса ли выполняется сей скрипт? /etc/init.d/networking почти одинаковые.

Куда хоть примерно смотреть?

 

markevichus
()

Не компилится модуль

Пишу модуль для arm-железки. На ней самой крутится 2.6.25. Скачал исходники кернела соответствующей версии, никаких патчей не накладывал. Проделал make menuconfig; make bzImage, прервал процесс компиляции.

Для примера взят самый простой модуль, типа, Hello World. Makefile для модуля: obj-m += hello.o

KDIR=/home/kiselev/pxa270/linux/linux-2.6.25
make -C $KDIR SUBDIRS=`pwd` modules

make: Entering directory `/home/kiselev/pxa270/linux/linux-2.6.25'

  WARNING: Symbol version dump /home/kiselev/pxa270/linux/linux-2.6.25/Module.symvers
           is missing; modules will have no dependencies and modversions.

  Building modules, stage 2.
  MODPOST 1 modules
  CC      /home/kiselev/dev/gpio/module/hello.mod.o
/home/kiselev/dev/gpio/module/hello.mod.c:8: error: variable '__this_module' has initializer but incomplete type
/home/kiselev/dev/gpio/module/hello.mod.c:9: error: unknown field 'name' specified in initializer
/home/kiselev/dev/gpio/module/hello.mod.c:9: warning: excess elements in struct initializer
/home/kiselev/dev/gpio/module/hello.mod.c:9: warning: (near initialization for '__this_module')
/home/kiselev/dev/gpio/module/hello.mod.c:10: error: unknown field 'init' specified in initializer
/home/kiselev/dev/gpio/module/hello.mod.c:10: warning: excess elements in struct initializer
/home/kiselev/dev/gpio/module/hello.mod.c:10: warning: (near initialization for '__this_module')
/home/kiselev/dev/gpio/module/hello.mod.c:14: error: unknown field 'arch' specified in initializer
/home/kiselev/dev/gpio/module/hello.mod.c:14: error: 'MODULE_ARCH_INIT' undeclared here (not in a function)
/home/kiselev/dev/gpio/module/hello.mod.c:14: warning: excess elements in struct initializer
/home/kiselev/dev/gpio/module/hello.mod.c:14: warning: (near initialization for '__this_module')
make[1]: *** [/home/kiselev/dev/gpio/module/hello.mod.o] Error 1
make: *** [modules] Error 2
make: Leaving directory `/home/kiselev/pxa270/linux/linux-2.6.25'

Сам сижу на 2.6.32 (ARCH). Если проделываю тоже самое, используя ванильное 2.6.32, то всё нормально собирается (и подгружается):

make: Entering directory `/home/kiselev/linux/linux-2.6.32'

  WARNING: Symbol version dump /home/kiselev/linux/linux-2.6.32/Module.symvers
           is missing; modules will have no dependencies and modversions.

  CC [M]  /home/kiselev/dev/gpio/module/hello.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /home/kiselev/dev/gpio/module/hello.mod.o
  LD [M]  /home/kiselev/dev/gpio/module/hello.ko
make: Leaving directory `/home/kiselev/linux/linux-2.6.32'

markevichus
()

Долгий старт. Configuring network interfaces...

Debian 4.0 etch.

При загрузке сервер затыкается минут на 10 на инициализации сети: висит «Configuring network interfaces...».

/etc/network/if-up.d :

clamav-freshclam-ifupdown
mountnfs
ntp
ntpdate
openvpn
postfix

/etc/network/if-pre-up.d :

пусто

Поправил /etc/init.d/networking, чтобы ifup и ifdown запускались в verbose-моде. После этого наблюдаю такую картину при загрузке (вывод слегка изменён):

Configuring network interfaces...
Configuring lo=lo
run-parts: if-pre-up.d
ifconfig lo ......
run-parts: if-up.d (ЕЩЁ РАНО!)
clamav-freshclam-ifupdown
mountnfs
ntp
(долго висим...оно и понятно - сеть-то ещё не поднялась! Долбится до победного таймаута)
ntpdate
(долго висим)
openvpn
(долго висим)
postfix
(долго висим)

Configuring eth0=eth0
run-parts: if-pre-up.d (опять)
(висим...хотя, непонятно, почему. У меня в этой директории нет ни одного)
ifconfig eth0 ....
Запуск up-скрипта из interfaces (файрволл)
run-parts: if-up.d
(здесь скрипты из if-up.d быстро отработали)

Кто у меня раньше времени запускает скрипты из if-pre-up.d и if-up.d?

ls /etc/rcS.d :

S01glibc.sh
S02hostname.sh
S02mountkernfs.sh
S03udev
S04mountdevsubfs.sh
S05bootlogd
S05keymap.sh
S10checkroot.sh
S11hwclock.sh
S12mtab.sh
S18ifupdown-clean
S20module-init-tools
S25libdevmapper1.02
S25mdadm-raid
S26lvm
S30checkfs.sh
S30procps.sh
S35mountall.sh
S36mountall-bootclean.sh
S36udev-mtab
S38pppd-dns
S39ifupdown
S40networking
S43portmap
S45mountnfs.sh
S46mountnfs-bootclean.sh
S48console-screen.sh
S55bootmisc.sh
S55urandom
S70screen-cleanup
S70x11-common
S75sudo
S99stop-bootlogd-single

/etc/network/interfaces :

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
        address 192.168.1.1
        netmask 255.255.255.0
        network 192.168.1.0
        broadcast 192.168.1.255
        up /etc/network/iptables.fw
        dns-nameservers 192.168.1.1
        dns-search mydomain.com

allow-hotplug eth1
auto eth1
iface eth1 inet static
    address 1.2.3.4
    netmask 255.255.255.0
    gateway 1.2.3.1

markevichus
()

winbind vs. ldap+kerberos

В чём профит использования winbind против ldap+kerberos (не тролль)?

markevichus
()

[совет]NetFlow&Zabbix

Нужна долгосрочная статистика проходящего трафика на роутере (не биллинг. Точность не важна).
Красиво было бы использовать NetFlow, но вместе с этим стоит задача общего мониторинга сети и рабочих станций. Так и так Zabbix поднимать. Не хочется огород городить.

Подскажите, какие есть средства (и какие из них наиболее красивы) у Zabbix для сбора инфы о трафике? Родной клиент? SNMP?

Спасибо.

 

markevichus
()

Реализация 2х реальных IP

Что-то я не очень понимаю, как реализовать второй внешний IP, имея один провод «наружу»?
Зачем-то, ведь, ADSL-провайдер выдаёт несколько адресов?

Т.е. я хочу 2 компьютера и каждому по IP.

markevichus
()

VoIP&NAT

Не хотелось бы вникать в RTP и прочую гадость, поэтому задам вопрос:

Офисный VoIP-шлюз (192.168.0.250), сидящий за NAT, общается с внешним VoIP-сервером (1.2.3.4).

Имеется внешний реальный IP (5.6.7.8) на гейтвее.

Не долго думая, делаю соединения между своей VoIP-железякой и VoIP-сервером прозрачным:

iptables -t nat -A PREROUTING -i eth0 -s 1.2.3.4 -d 5.6.7.8 -j DNAT --to-destination 192.168.0.250
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j SNAT --to-source 5.6.7.8
(В filter всё разрешено)

Могу ли я получить какую-нить бяку при трансляции портов udp?

Инициализация самих звонков (не знаю, чем это сулит с точки зрения протокола) будет происхождить только изнутри. Т.е. никто во внешнем мире не будет звонить нам.

markevichus
()

Маршрутизация... опять

2 провайдера.

eth0 (10.0.0.3/24) - сеть DSL-модема (модем в моде роутера); PROV1

eth1 (1.2.3.4/24) - реальный IP; PROV2

eth1:0 (10.0.1.0/24) - сеть второго DSL-модема (тот в бридже);

eth2 (192.168.0.0/24) - локалка.

Приходит SYN на 1.2.3.4, а машина ответ посылает через eth0. Читал http://www.opennet.ru/docs/RUS/LARTC/x348.html

#ip rule
0:      from all lookup local
32748:  from PROV2_GW lookup PROV2
32749:  from 10.0.0.1 lookup PROV1
32766:  from all lookup main
32767:  from all lookup default

#ip route
1.2.3.0/24 dev eth1  proto kernel  scope link  src 1.2.3.4
10.0.0.0/24 dev eth1  proto kernel  scope link  src 10.0.0.3
10.0.1.0/24 dev eth0  proto kernel  scope link  src 10.0.1.3
192.168.0.0/24 dev eth2  proto kernel  scope link  src 192.168.0.1
default via 10.0.0.1 dev eth0

#ip route show table PROV1
10.0.0.0/24 dev eth0  scope link  src 10.0.0.3
default via PROV1_GW dev eth0

#ip route show table PROV2
1.2.3.0/24 dev eth1  scope link  src 1.2.3.4
default via PROV2_GW dev eth1

И кто мне добавляет в main все эти записи (Debian)?

markevichus
()

[qt][QFileDialog]

Подскажите, есть ли встроенный средства для решения вот какой небольшой задачки:

При вводе в диалоге сохранения файла (getSaveFileName()) имени этого файла, например, «fileName» можно, чтобы оно автоматически прибавляло в конец этого самого имени ещё и расширение, выбранное в выпадающем списке FileTypes (если я не указал его явно в строке имени)?

Т.е. если в качестве FileTypes выбрано «*.txt» и я в строке имени пишу «hehe», то конечное имя файла будет «hehe.txt».
Можно это делать и своими средствами, но вот...

 

markevichus
()

2 интерфейса. Неправильный src ip

eth0: 1.2.3.4/24

eth1: 192.168.0.1/24

На eth1 висит tftpd.

1.2.3.0/24 dev eth0  proto kernel  scope link  src 1.2.3.4
192.168.0.0/24 dev eth1  proto kernel  scope link  src 192.168.0.1
default via 194.190.162.254 dev eth0
(192.168.0.4:40708 -> 192.168.0.1:69) Read Request
(1.2.3.4:50583 -> 192.168.0.4:40708) Data.....
(192.168.0.4:40708 ->192.168.0.1:50583) Acknowledgement
(192.168.0.1 -> 192.168.0.4) Port unreachable

Почему сервер в качестве source ip ставить левый интерфейс?

markevichus
()

Qt

Есть MainWindow, и есть OtherWindow.

В основном окне есть кнопочка, которая создаёт другое окно. Сделать: если OtherWindow уже открыто, то игнорировать нажатие кнопочки в основном окне.

/**************************************/
MainWindow::MainWindow(QWidget *parent)
	: QMainWindow(parent), ui(new Ui::MainWindow)
{
   ui->setupUi(this);
   otherWindowOpened = false;

	connect(ui->pushButton, SIGNAL(clicked()), this, SLOT(pushButtonClicked()));
}


/**************************************/
void MainWindow::pushButtonClicked(void)
{
	if(!otherWindowOpened)
	{
		ow = new OtherWindow;
		connect(ow, SIGNAL(destroyed(QObject*)), this, SLOT(otherWindowDestroyed(QObject*)));

		ow->show();
		otherWindowOpened = true;
	}
	else
	{
		printf("other window is opened\n");
	}
}


/**************************************/
void MainWindow::otherWindowDestroyed(QObject*)
{
	printf("destroing other window\n");
	otherWindowOpened = false;
}

#############
#############
#############

OtherWindow::OtherWindow(QWidget *parent) :
    QDialog(parent),
    m_ui(new Ui::OtherWindow) .....

Жму кнопочку. Отображается OtherWindow. Закрываю. Ещё раз жму - «other window is opened»

markevichus
()

EINVAL при msync()

strace:

msync(0xb8052000, 32, MS_SYNC)          = -1 EINVAL (Invalid argument)

PAGESIZE == 0x1000 (т.е. синхронизуемый адрес кратный странице).

man msync:

EINVAL addr is not a multiple of PAGESIZE; or any bit other than MS_ASYNC | MS_INVALIDATE | MS_SYNC is set in flags; or both MS_SYNC and MS_ASYNC are set in flags.

Если использую MS_ASYNC, то проблема исчезает.

markevichus
()

маршрутизация

Роутер. eth1 - локалка (192.168.0.1), eth2(10.0.0.3) - сеть с adls-модемом (10.0.0.1). Модем настроен в бридж. Так же поднят eth2:0 с реальным ip 1.2.3.4.

router# ping 10.0.0.1 Модем отвечает. Смотрю tcpdump:

10.0.0.3 > 10.0.0.1: ICMP echo request
10.0.0.1 < 10.0.0.1: ICMP echo reply
......
Всё нормально.

Пробую из локалки. usermachine# ping 10.0.0.1 Модем молчит и вот почему:

1.2.3.4 > 10.0.0.1: ICMP echo request
1.2.3.4 > 10.0.0.1: ICMP echo request
1.2.3.4 > 10.0.0.1: ICMP echo request
.....

Причём, происходит это хаотично. Как перезагружу машину, может оказаться такое, что роутер нормально меняет source ip для пакетов, летящих из локалки. Инет таким образом пашет, но вот до самого модема я достучаться не могу.

-A POSTROUTING -s 192.168.0.0/24 -j MAQUERADE

1.2.3.0/24 dev eth2  proto kernel  scope link  src 1.2.3.4
10.0.0.0/24 dev eth2  proto kernel  scope link  src 10.0.0.3 
10.0.1.0/24 dev eth0  proto kernel  scope link  src 10.0.1.3 //ещё один мопед
192.168.0.0/24 dev eth1  proto kernel  scope link  src 192.168.0.1 
default via 10.0.1.1 dev eth0
markevichus
()

update-grub неправильно генерит menu.lst

#fdisk -l /dev/hda (некоторые данные опущены)
/dev/hda1 W95 FAT32
/dev/hda2 W95 Ext'd (LBA)
/dev/hda5 W95 FAT32
/dev/hda6 Linux swap / Solaris
/dev/hda7 Linux
/dev/hda8 Linux

#fdisk -l /dev/hdd
/dev/hdd1 W95 FAT32


При запуске update-grub (например, при установке/удалении кернела) в menu.lst добавляются записи с некорректным адресом корневой партиции (hdd1, а не hda7).
Долго копался в целевом скрипте, так не нашёл в чём проблема.

Очень не хочется после каждой такой процедуры правит меню граба.


Debian

markevichus
()

[мистика] Сеть

ADSL-модем (10.0.1.1/24) воткнут в шлюз (10.0.1.3/24);
Модем со шлюза не пингуется.

Рядом стои ноут (10.0.1.2/24). Прицепил к нему модем тем же самым проводом.
Модем с ноута пингуется.

Для чистоты эксперимента поставил ноуту адрес тот же, что и у модема (10.0.1.1), соединил его напрямую со шлюзом.
Шлюз пингует ноут, ноут пингует шлюз.

Очистил все правила iptables на шлюзе и поставил политики ACCEPT.
Всё то же.

Чё за ерунда?

 

markevichus
()

RAID-контроллеры

Доброго дня.
Хочу узнать подробней на счёт RAID-контроллеров. Правильно ли я понимаю ситуацию:

Знаю, что есть так называемые fake-raid контроллеры. ОС для работы с ними нужны драйверы. Такие контроллеры обычно встраиваются в южные мосты.
Возможно ли создание дискового массива прозрачного для ОС? Смущает, что в характеристиках почти каждого экземпляра есть графа "поддерживаемые ОС".
Каковы цены на такие контроллеры и как узнать по названию или характеристикам, что это, действительно, настоящий, железный, raid?

markevichus
()

Не перезагружаться после kernel panic

Хочу subj, понятия не имею, куда примерно смотреть. archlinux.

markevichus
()

Zyxel adsl. Падает bridge.

Есть ADSL-модем zyxel (не помню, какая модель). Настроен в бридж.
Вопрос: это нормально, что когда я беру и вынимаю, а потом опять подключаю ethernet-кабель, этот самый бридж отваливается?

Приходится лезть в настройки модема->WAN Setup, ничего не меняя, просто давить кнопку Apply. Бридж после этого начинает работать.

markevichus
()

Arch, звук

Поставил вчера arch. Очень понравился. Вот только звучать никак не могу заставить.

Была проблема, что звуком по умолчанию стоит спикер, но после запрещения snd_pcsp она отпала.
alsamixer работает нормально. Да всё на экране работает нормально. Как будто бы звук должен быть.
Единственное, что: при использовании ALSA в audacious пришет:
** (audacious2:4937): WARNING **: alsa_setup_mixer(): Failed to find mixer element: /dev/mixer

Ноут. acpire 3690.

00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 02)

snd_seq_oss
snd_seq_midi_event
snd_seq
snd_seq_device
snd_pcm_oss
snd_mixer_oss
snd_hda_codec_realtek
snd_hda_intel
snd_hda_codec
snd_hwdep
snd_pcm
snd_timer
snd
soundcore
snd_page_alloc

При том же самом наборе `lsmod | grep snd` на том же ноутбуке в Ubuntu звук есть.

/etc/modprobe.d/sound:
alias snd-card-0 snd-hda-intel
alias sound-slot-0 snd-hda-intel

/dev/snd:
crw-rw---- 1 root audio 116, 9 Май 31 16:56 controlC0
crw-rw---- 1 root audio 116, 8 Май 31 16:56 hwC0D0
crw-rw---- 1 root audio 116, 7 Май 31 16:56 hwC0D1
crw-rw---- 1 root audio 116, 6 Май 31 16:56 pcmC0D0c
crw-rw---- 1 root audio 116, 5 Май 31 19:43 pcmC0D0p
crw-rw---- 1 root audio 116, 4 Май 31 16:56 pcmC0D1p
crw-rw---- 1 root audio 116, 3 Май 31 16:56 pcmC0D2c
crw-rw---- 1 root audio 116, 10 Май 31 16:56 seq
crw-rw---- 1 root audio 116, 2 Май 31 16:56 timer


/dev/mixer -> sound/mixer

/dev/sound
adsp audio dsp mixer sequencer sequencer2
crw-rw---- 1 root audio 14, 12 Май 31 16:56 adsp
crw-rw---- 1 root audio 14, 4 Май 31 16:56 audio
crw-rw---- 1 root audio 14, 3 Май 31 16:56 dsp
crw-rw---- 1 root audio 14, 0 Май 31 16:56 mixer
crw-rw---- 1 root audio 14, 1 Май 31 16:56 sequencer
crw-rw---- 1 root audio 14, 8 Май 31 16:56 sequencer2

Права все есть.

alsa-oss 1.0.17-1
alsa-plugins 1.0.20-1
alsa-utils 1.0.20-1

2.6.29

markevichus
()

RSS подписка на новые темы