LINUX.ORG.RU

Сообщения bearpuh

 

NUT не стартует автоматом в Centos 7

Форум — Admin

Доброго времени суток. Уже сломал голову и много раз был в гугле, прошу туда не посылать.)
Не могу победить автостарт сервиса nut-server (Network Ups Tools) в Centos 7 (x86_64).
Исходные данные.

  • OS - Centos 7 (x86_64). Ядро последнее 3.10.0-693.17.1.el7.x86_64 #1 SMP
  • Все пакеты обновлены.
  • ФС - xfs
  • Установлены пакеты: nut-2.7.2-3.el7.x86_64 nut-client-2.7.2-3.el7.x86_64

Конфиги:
/etc/ups/nut.conf

MODE=netserver
/etc/ups/ups.conf
[SmartUPS3]
driver = apcsmart
port = /dev/ttya001
cable = 940-024C
desc = "APS Smart-UPS 2200"
/etc/ups/upsd.users
[admin]
        password = 123456
        actions = SET
        instcmds = ALL

[upsmon_local]
        password  = 123456
        upsmon master

[upsmon_remote]
        password  = 123456
        upsmon slave
/etc/ups/upsmon.conf
/etc/ups/upsmon.conf
RUN_AS_USER nut
MONITOR SmartUPS3@localhost 0 upsmon_local 123456 master
MINSUPPLIES 1
SHUTDOWNCMD "/sbin/shutdown -h +0"
NOTIFYCMD /usr/bin/upsnotify
POLLFREQ 5
POLLFREQALERT 5
HOSTSYNC 15
DEADTIME 15
POWERDOWNFLAG /etc/killpower
NOTIFYMSG ONLINE        "UPS %s online power"
NOTIFYMSG ONBATT        "UPS %s onbattery"
NOTIFYMSG LOWBATT       "UPS %s battery is low"
NOTIFYMSG FSD           "UPS %s: forced shutdown in progress"
NOTIFYMSG COMMOK        "Communications with UPS %s established"
NOTIFYMSG COMMBAD       "Communications with UPS %s lost"
NOTIFYMSG SHUTDOWN      "Auto logout and shutdown proceeding"
NOTIFYMSG REPLBATT      "UPS %s battery needs to be replaced"
NOTIFYMSG NOCOMM        "UPS %s is unavailable"
NOTIFYMSG NOPARENT      "Upsmon parent process died - shutdown impossible"

NOTIFYFLAG ONLINE       SYSLOG+EXEC
NOTIFYFLAG ONBATT       SYSLOG+EXEC
NOTIFYFLAG LOWBATT      SYSLOG+EXEC
NOTIFYFLAG FSD          SYSLOG+EXEC
NOTIFYFLAG COMMOK       SYSLOG+EXEC
NOTIFYFLAG COMMBAD      SYSLOG+EXEC
NOTIFYFLAG SHUTDOWN     SYSLOG+EXEC
NOTIFYFLAG REPLBATT     SYSLOG+EXEC
NOTIFYFLAG NOCOMM       SYSLOG+EXEC

RBWARNTIME 43200
NOCOMMWARNTIME 300
FINALDELAY 5
Сервис nut-server добавлен в автозагрузку через systemd
systemctl enable nut-server
systemctl start nut-server
После ребута сервера такая картина:
# service nut-server status
Redirecting to /bin/systemctl status nut-server.service
● nut-server.service - Network UPS Tools - power devices information server
   Loaded: loaded (/usr/lib/systemd/system/nut-server.service; enabled; vendor preset: disabled)
   Active: inactive (dead)

янв 26 19:33:19 aa27.niisi.ru systemd[1]: Dependency failed for Network UPS Tools - power devices information server.
янв 26 19:33:19 aa27.niisi.ru systemd[1]: Job nut-server.service/start failed with result 'dependency'.
В логах вот что:
Jan 25 23:09:56 aa27 upsdrvctl: Can't chdir to /var/run/nut: No such file or directory
Jan 25 23:09:56 aa27 systemd: nut-driver.service: control process exited, code=exited status=1
Jan 25 23:09:56 aa27 systemd: Job nut-server.service/start failed with result 'dependency'.
Jan 25 23:09:56 aa27 systemd: Unit nut-driver.service entered failed state.
Jan 25 23:09:56 aa27 systemd: nut-driver.service failed.
Jan 25 23:14:05 aa27 systemd-tmpfiles: Failed to open '/etc/tmpfiles.d/nut-run.conf', ignoring: No such file or directory
Самое интересное, что ручками запускается:
service nut-server start
И вуяля. Итак, я понял что есть некий косяк с systemd. Пробовал откатиться на предыдущую версию - не помогло
(это сосбтвенно и рекомендовали в интернетах).
Посмотрел внимательно юниты старта сервера, их три:
nut-server.service
[Unit]
Description=Network UPS Tools - power devices information server
After=local-fs.target network.target nut-driver.service
Requires=nut-driver.service
Before=nut-monitor.service

[Service]
ExecStart=/usr/sbin/upsd -F
Type=simple

[Install]
WantedBy=multi-user.target
nut-driver.service
[Unit]
Description=Network UPS Tools - power device driver controller
After=local-fs.target network.target
StopWhenUnneeded=yes

[Service]
ExecStartPre=-/usr/bin/systemd-tmpfiles --create /etc/tmpfiles.d/nut-run.conf
ExecStart=/usr/sbin/upsdrvctl start
ExecStop=/usr/sbin/upsdrvctl stop
Type=forking
nut-monitor.service
[Unit]
Description=Network UPS Tools - power device monitor and shutdown controller
After=local-fs.target network.target nut-server.service

[Service]
ExecStartPre=-/usr/bin/systemd-tmpfiles --create /etc/tmpfiles.d/nut-run.conf
ExecStart=/usr/sbin/upsmon -F
Type=simple

[Install]
WantedBy=multi-user.target
Согласно данной схеме, сначала должен стартовать драйвер, потом, сервер, потом монитор.
Что выяснилось - если отключить автостарт и запускать последовательно драйвер ...(упс и сразу облом)
Jan 25 23:09:56 aa27 upsdrvctl: Can't chdir to /var/run/nut: No such file or directory
/var/run/nut появляется после того как стартует nut-monitor.service.
Пробовал менять порядок загрузки сервисов, но не взлетело. Не силен в systemd.
Прошу дать правильное направление. И вот еще, касательно вот этой ошибки:
/usr/bin/systemd-tmpfiles --create /etc/tmpfiles.d/nut-run.conf
Failed to open '/etc/tmpfiles.d/nut-run.conf', ignoring: No such file or directory
Что за фигня? Серсис systemd-tmpfiles-setup запущен.
# systemctl status systemd-tmpfiles-setup
● systemd-tmpfiles-setup.service - Create Volatile Files and Directories
   Loaded: loaded (/usr/lib/systemd/system/systemd-tmpfiles-setup.service; static; vendor preset: disabled)
   Active: active (exited) since Пт 2018-01-26 19:33:18 MSK; 2h 2min left
     Docs: man:tmpfiles.d(5)
           man:systemd-tmpfiles(8)
  Process: 481 ExecStart=/usr/bin/systemd-tmpfiles --create --remove --boot --exclude-prefix=/dev (code=exited, status=0/SUCCESS)
 Main PID: 481 (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/systemd-tmpfiles-setup.service

янв 26 19:33:18 aa27.niisi.ru systemd[1]: Starting Create Volatile Files and Directories...
янв 26 19:33:18 aa27.niisi.ru systemd[1]: Started Create Volatile Files and Directories.

 , ,

bearpuh
()

Прошу помощи в починке базы PostgreSQL

Форум — General

Нужна помощь специалистов. Сам не силен в постгри.

Исходные данные - база engine виртуальной машины HostedEngine гипервизора Ovirt.
Предыстория - была проблема с фс и покорежилась база.
ФС починил, сделал полную реиндексацию стандартными средствами (reindexdb -a)
и в общем и целом заработало, но теперь не проходит бэкап базы - валится с ошибкой:

pg_dump -w -U engine -h localhost -p 5432  engine -E UTF8 --disable-dollar-quoting --disable-triggers --format=custom
pg_dump: Dumping the contents of table "audit_log" failed: PQgetResult() failed.
pg_dump: Error message from server: ERROR:  missing chunk number 0 for toast value 43790352 in pg_toast_16457

Что делал.

Номер раз.

reindexdb -a # проходит без ошибок
/bin/engine-vacuum -f -t audit_log
vacuumdb: vacuuming of table "audit_log" in database "engine" failed: ERROR:  missing chunk number 0 
for toast value 43790352 in pg_toast_16457
Номер два.
su postgres
bash-4.2$ psql -d engine
psql (9.2.23)
Type "help" for help.

engine=# REINDEX table  pg_toast.pg_toast_16457;
REINDEX
engine=# REINDEX table audit_log;
REINDEX
engine=# VACUUM ANALYZE pg_toast.pg_toast_16457;
VACUUM
engine=# VACUUM FULL pg_toast.pg_toast_16457;
VACUUM
engine=# VACUUM ANALYZE audit_log;
VACUUM
engine=# VACUUM FULL audit_log;
ERROR:  missing chunk number 0 for toast value 43790352 in pg_toast_16457
Номер три.
su postgres
bash-4.2$ for ((i=0; i<4647; i++)); do psql engine -c "SELECT * FROM audit_log LIMIT 1 OFFSET $i" > /dev/null || echo $i; done

ERROR:  missing chunk number 0 for toast value 43790352 in pg_toast_16457
486
ERROR:  missing chunk number 0 for toast value 43790344 in pg_toast_16457
587
ERROR:  unexpected chunk number 2 (expected 0) for toast value 43790354 in pg_toast_16457
640
psql -d engine

engine=# select table_name, column_name from information_schema.columns where table_name='audit_log';
 table_name |     column_name     
------------+---------------------
 audit_log  | audit_log_id
 audit_log  | user_id
 audit_log  | user_name
.......

engine=# SELECT audit_log_id FROM audit_log LIMIT 1 OFFSET 486;
 audit_log_id 
--------------
        33790
(1 row)
engine=# delete from audit_log where audit_log_id='33790';
DELETE 1
engine=# SELECT audit_log_id FROM audit_log LIMIT 1 OFFSET 587;
 audit_log_id 
--------------
        33898
(1 row)
engine=# delete from audit_log where audit_log_id='33898';
DELETE 1
engine=# SELECT audit_log_id FROM audit_log LIMIT 1 OFFSET 640;
 audit_log_id 
--------------
        33953
(1 row)
engine=# delete from audit_log where audit_log_id='33953';
DELETE 1

engine=# VACUUM FULL audit_log;
ERROR:  missing chunk number 0 for toast value 43790352 in pg_toast_16457
Вот тут фантазия иссякла. Единственное, есть идея синхронизировать данные таблицы audit_log из предыдущего бэкапа,
но не знаю как правильно это сделать. Есть бэкап всей базы за 17.10.17.

 ,

bearpuh
()

GlusterFS. Низкая производительность.

Форум — General

Всем доброго времени суток. Прошу поделиться практическим опытом и советом в создании отказоустойчивого файлового хранилища. Задача обычная - NAS для хранения и подключения образов виртуальных машин. Что было сделано.

Исходные данные.

  1. Три десктопных сервера (Core 2 Duo / Core 2 Quard)
  2. Дисковая подсистема на всех серверах — 4 х 1 TB HDD (SATA 7200) собранных в RAID10 (Intel Matrix HostRaid + mdadm)
  3. Сеть — 3 гигабитных сетевых карты, 2 сети. Одна сетевуха смотрит в пользовательскую сеть для управления (management), 2 другие собраны в агрегированный канал (LACP bonding 802.3ad) для репликаций и подключения дисков виртуальных машин. После подключения были произведены замеры скорости — копировал большие и много мелких файлов по сети с одной ноды на другую. Максимальная скорость чтения/записи по сети — 150МБ/сек. Понятное дело — диски пустые.
  4. ОС — CentOS 7.

( Читать далее. )

 , ,

bearpuh
()

Сетевая печать на Panasonic KX-FLB883RU в linux

Форум — Linux-hardware

Всем привет. Извините, если не туда выложил. Не могу не поделиться информацией о том, как осуществить сетевую печать в linux на МФУ Panasonic KX-FLB883RU, тем более, что в сети рецептов просто нет, ну или по крайней мере я не нашел. Официальный драйвер для linux отсутствует. Panasonic забила на сообщество линуксоидов.

Итак, исходные данные. МФУ Panasonic KX-FLB883RU, подключен сетевым кабелем к коммутатору. Принтсервер на базе ОС - OpenSUSE 13.2 x64, CUPS 1.5.4 Настройка принтера в CUPS через socket://IP_address/ В качестве драйвера принтера взят ljet2p.ppd (Panasonic KX-P4410 Foomatic/ljet2p), входящий в стандартный пакет OpenPrintingPPDs. Все работает без глюков в том числе и печать с Windows хостов через расшаренный принтер через samba. Убил на поиски решения день. Надеюсь, кому то пригодится. Всем добра ))).

http://hkar.ru/Lt4P

http://hkar.ru/Lt4Q

 , ,

bearpuh
()

ОС не видит один из логических разделов HDD

Форум — General

Столкнулся с такой проблемой. Может кто знает как решить.
Суть проблемы.
ОС- OpenSUSE 12.2_64
Было необходимо поменять тип fs на хомяке.
Хомяк - целый отдельный HDD (sda1)

  • 1. Загрузился с флешки в rescue
  • 2. Подмонтировал хомяка в /mnt/home
  • 3. Подмонтировал внешний HDD в /mnt/hdd
  • 4. tar'ом слил бэкап хомяка в /mnt/hdd/home.tar без сжатия. Ошибок при копировании не было.
     tar -cpvf /mnt/hdd/home.tar /mnt/home
  • 5. Отмонтировал /mnt/home
  • 6. Пересоздал fs на /dev/sda1 (mkfs.ext4)
  • 7. Подмонтировал взад /dev/sda1 в /mnt/home
  • 7. При попытке разорхивации tar'ом
    tar --same-owner -xpvf /mnt/hdd/home.tar -C /
    сначала посыпались ошибки:
    tar: a lone zero block at ....
    tar: Exiting with failure status due to previous errors
    
  • 8. Добавил опцию -i, как рекомендовали тут
    tar --same-owner -xipvf /mnt/hdd/home.tar -C /

Стали сыпаться различные ошибки - невозможно прочитать файл,
неправильная дата, неправильный файл и т.д.
Часть файлов при этом разорхивируется, но с каждой попыткой я
получал не всегда один и тот же результат - обломы были на разных файлах.
Что за бред?
Начал подозревать, что проблема с контроллером SATA/USB. (хард совсем новый, ни разу не юзанный).
Подключаю к другому контроллеру и что вижу - в /dev/ есть sdc1, но нет раздела sdc2!.
Возвращаю взад старый контроллер и вижу /dev/sdc2.
Первое что приходит в голову - попробовать с помощью dd_rescue в несколько
проходов слить home.tar на другой HDD. Есть у кого какие мысли?

Дополнение:
Внешний HDD разбивал консольным fdisk. Таблица MBR.
На нем 2 primary раздела sdc1 и sdc2.
На первом reiserfs восстановлен из iso бэкапа, второй форматирован в ext4 средствами mkfs.ext4.

 , ,

bearpuh
()

Проблемы с lvm2 или кривые руки -:)

Форум — General

Всем доброго времени суток.
Всегда старался придерживаться принципов: работает - не лезь! и лучшее враг хорошего,
но тут захотелось воспользоваться своими кривыми ручками и сделать «еще лучше».
Все мы знаем, чем это заканчивается. Короче хелп!

Исходные данные:

  • OpenSUSE 12.2_64
  • Ядро от 13.1 - 3.11.6-4-desktop (ставил пакетом, сам не собирал)
  • Дисковая подсистема; тут такой бутерброд:
  • HDD:
  • sda1 -> ext4 -> /boot
  • sda2 -> dm-crypt -> lvm2 -> btrfs -> /home
  • SSD:
  • sdb1 -> dm-crypt -> lvm2 -> ext4 -> /

Преамбула.
Система работала нормально до недавнего времени, когда я захотел наконец включить поддержку TRIM на своем SSD.
Дело в том, что в вышеуказанной конструкции TRIM (опция discard) должна быть на всех слоях дисковой подсистемы
- crypttab | lvm | fs.
В crypttab подключил discard, в fstab прописал опцию монтирования discard, а вот в lvm2 в своей версии не нашел
в комментах /etc/lvm/lvm.conf опции «issue_discards» и решил, что версия не подходит.
Версия была если не ошибаюсь 2.2.02.84. Ничего лучше не придумал как собрать из исходников.
Собрал версию 98 и благополучно ее воткнул. Как я потом понял, вместе с lvm2 собрался новый device-mapper.
После данного обновления система не стартанула и вывалилась в emergency.

Залогинившись рутом в emergency увидел:

  • cryptsetup отработал - оба диска разлочены и активированы в /dev/maapper
  • vgchange отработал только на корне, корень подмонтировался.
  • С хомяком была следующая картина:
  • в /dev/mapper было устройство +data-home (розового цвета), а должно быть @data-home
  • должно быть устройство /dev/data/home, а его не было.

Т.е. vgchange на нем обломался.
Далее активировал lvm на sda2 ручками с помощью vgchange.
Нужное устройство появилось, но была ругань от vgchange примерно такого вида:

File descriptor 51 leaked on vgchange invocation. Parent PID 32047: /bin/sh

Далее примонтировал хомяка - все ок. Проверил файловую систему (btrfs) на предмет ошибок - все нормально.
Что было в логах.
В boot.log ничего особенного:

  • cryptsetup отрабатывал,
  • vgchange тоже,
  • даже была инфа, что устройства /dev/main/root и /dev/data/home активны
    и обе файловые системы - корень и хомяк смонтированы.

В messages была какая то шняга от systemd, говорящая что cryptsetup обламывается
и не только он в связи с нарушением зависимостей.
Лучше всего это было видно при попытке загрузиться в failsafe
- в консоли перед тем как вывалиться в emergency была инфа, что не один сервис не стартанул
(NetworkManager, bluetooth и т.д. в связи с нарушением зависимостей.

Что предпринимал.

  • В режиме emergency ставил старую версию (стоковую) пакетов lvm2 и device-mapper.
    Просто скачивал из репов и ставил ручками:
    rpm -Uvh ...
  • Загружался с Live CD, активировал зашифрованные тома
    (cryptsetup), активировал lvm (vgchange), монтировал
    sdb1 в /mnt/root, sda1 -> /mnt/root/boot, sda2 -> /mnt/root/home
    Далее:
    mount -t proc none proc/
    mount -t sysfs none sys/
    mount -o bind /dev dev/
    chroot /mnt/root 
    Потом запускал yast и оттуда переустанавливал пакеты lvm2 и device-mapper.
    Пакеты ставил прямо с LiveCD, из репов не получилось - сеть в chroot не поднялась.
  • Отключил хомяка в /etc/fstab и система стартанула вместе с иксами, но понятное дело что кривовато.
  • Пересобрал и установил из исходников старую версию пакета lvm2 вместе с device-mapper (2.2.02.84)

Не помню точно на каком этапе, добился еще более крутого «хардкора»
- теперь не грузится даже в emergency -> сразу после grub2 в консоль плюется,
что vgchange/vgscan и /sbin/cryptsetup не может найти библиотеку libdevmapper.so.1.02.,
но приглашение для ввода ключа разблокировки dm-crypt выдает. После ввода пароля в консоль сыпется туча строк о том, что
libdevmapper.so.1.02 не найдена.
ldconfig -v дает что симлинки имеются в /lib64/

libdevmapper.so.1.02 -> libdevmapper.so.1.02
Все свои данные я конечно могу слить с дисков, но переустанавливать систему не хочу
- очень много настроенного и допиленного как надо софта. Нужен совет в какую сторону курить?

UPD. Загрузился с другого Live CD и перешел в chroot, запустил yast.
Зашел в online update, система предложила установить три патча

  • openSUSE-2012-671 (lvm2 in 12.2 did not use modprobe, so automated module loading was not correctly working)
  • openSUSE-2012-736 (device-mapper.lvm - make sure udev trigger has run on systemd installs, else some devices might not yet be available;
    boot.lvm not being started on boot-up)

Третий патч к lvm не имеет отношения. Проблема в том, что сеть у меня почему то
не работает в chroot, т.е. эти патчи не скачиваются из репов.
Как их скачать и применить?

bearpuh
()

Небольшой sh скрипт запуска отдельных треков DVD караоке

Форум — Development

Задача. Хочу устроить караоке party. У меня есть n-ное количество DVD караоке образов (iso). Хочу с помощью плей листа и mplayer проигрывать отдельные (выбранные участниками) песни с разных дисков не открывая каждый раз меню диска (dvdnav://) Задача в целом выполнена. Скрипт проигрывания отдельных треков готов и обкатан. (листинг ниже). Проблема как раз в маленьком дополнительном скрипте, который считывает файл плейлиста и в цикле вызывает скрипт проигрывания и подставляет два параметра из файла плейлиста - номер диска и номер песни.

Исходные данные.

  • Операционка OpenSUSE 12.2 (ядро стоковое, ничего не пересобирал)
  • Есть образы (iso) DVD караоке дисков.
  • Mplayer установлен из официальных репов SUSE.
  • Файлы образов расположены в одном каталоге и названы 1-хх.iso 2-хх.iso... пронумерованы для удобства
  • Структура DVD караоке такова: Один или несколько title (почему не один title не знаю, не я ихмо делал) и куча chapter. Каждый chapter это отдельная песня. Причем, может быль 2 title: на 1-ом (title 1) 89 чаптеров, а на 2-ом (title 2) 31 чаптер, а если обратиться к меню диска или обложке, то там нумерация песен сквозная т.е. от 1 до 120 (89+31=120). Т.е. например песня под номером 101 это фактически title 2 / chapter 12 (101-89=12). Соответственно пришлось немного повозиться чтобы вычислить нужный title и chapter. Еще одна особенность - там может быть и title 3 с 1-2-мя чаптерами на которых фактически меню диска. Такой title исключаю проверкой количества чаптеров.

    Вот листинг скрипта проигрывания отдельных песен
    (/usr/sbin/karaoke)
    
    #!/bin/sh
    
    pth=/run/media/michael/WD_Disk/Караоке/
    song=$2
    
    ARGS=2
    E_BADARGS=65 
    
    if [ $# -ne "$ARGS" ] ; then
        echo "Порядок использования: `basename $0` имя(номер)-диска номер-песни"
        exit $E_BADARGS
    fi
    
    name=`ls $pth | grep -m 1 ^$1`
    
    if [ -z "$name" ] ; then
    echo "Файл DVD не найден"
    exit 0
    fi
    
    name=$pth$name
    
    title=$(lsdvd -v "$name" 2>/dev/null | grep ^Title | awk '{print $4}' | wc -l)
    total=0
    
    for ((i=1; i <= title; i++))
        do
        chapter=$(lsdvd -t $i -v "$name" 2>/dev/null | grep ^Title | awk '{print $6}' | sed 's/,//g' | sed 's/^0//')
        if [ "$chapter" -gt 2 ] ; then
    	chapter[$i]=$chapter
    	total=$((total+chapter[$i]))
        else 
    	title=$((title-1))
        fi 
        done
    
    if [ "$song" -gt "$total" ] ; then
        echo "Нет такого номера песни на этом диске"
        exit 0
    fi
    
    for ((index=1; song > chapter[$index] && index <= title; index++))
        do
        song=$((song-chapter[$index]))
        done
    
    # DVD angle recognizer
    angle=$(mplayer dvd://$index -dvd-device "$name" -nosound -vo null -frames 0 2>/dev/null | grep -E -w -o '[0-9]{1,2}\sangles' | sed 's/\sangles//')
    
    # Play video
    mplayer dvd://$index -dvd-device "$name" -chapter $song-$song -vo x11 -ao alsa -alang ru -dvdangle $angle -fs -zoom -framedrop -cache 2000 -really-quiet -stop-xscreensaver
    

    А вот скриптик проигрывания плей листа (который НЕ работает) Файл плейлиста считывается и передает два параметра (номер диска и номер песни) в вышеуказанный скрипт, но почему то на mplayer вываливается. Башку уже сломал. А еще ниже скрипт который работает, но кривой и не кошерный (не могу я так).
    #!/bin/sh
    while read line ; do
    /usr/sbin/karaoke $line
    sleep 3
    done <playlist
    

    А вот так работает!!!!
    #!/bin/sh
    index=1
    while read line ; do
    song[$index]=$line
    index=$((index+1))
    done <playlist
    
    for ((i=1; i<index; i++)) ; do
    /usr/sbin/karaoke ${song[$i]}
    sleep 3
    done
    

    Вот файл плейлиста (cat playlist). Первый параметр в нем, например 1-2- это начало имени файла (Например 1-2-песни из кино.iso), второй номер песни.
    1-2- 13
    2- 29
    10- 4
    11- 27
    1-1 101
    22- 12
    24- 73
    15- 66
    1-1- 102
    

    Ребята, не посылайте только в google - я там уже был )). Не могу реально понять в чем дело. Ну должен же скриптик тот маленький работать. Просто обязан. Уперся в стену и никак не могу сдвинуться. Понимаю, что дело в какой то ерунде, но никак не пойму в какой!
bearpuh
()

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