LINUX.ORG.RU

Сообщения Slack

 

Автоматическая установка XUbuntu 13.10

Проблема - не работает preseed/late_command.

Нужно - иметь автоустановочный образ хубунты с необходимым набором софта+измененным дефолтным репозиторием, сделанным по технологии preseed.

Что редактировал: cat isolinux/txt.cfg

default oem
label oem
  menu label ^OEM установка
  kernel /casper/vmlinuz
  append  file=/cdrom/preseed/oem.seed boot=casper debian-installer/locale=ru_RU.UTF-8 console-setup/layoutcode=ru localechooser/translation/warn-light=true localechooser/translation/warn-severe=true console-setup/toggle=Alt+Shift automatic-ubiquity initrd=/casper/initrd.lz --

cat preseed/oem.seed

# Enable extras.ubuntu.com.
d-i apt-setup/extras boolean true

# Locales
d-i debian-installer/locale string ru_RU.UTF-8

# Keyboard
d-i localechooser/shortlist select RU
d-i console-setup/ask_detect boolean false
d-i console-setup/layoutcode string ru
d-i console-setup/variant select Россия
d-i keyboard-configuration/layoutcode string ru
d-i console-setup/toggle select Alt+Shift

# Network
d-i netcfg/choose_interface select auto
d-i netcfg/get_hostname string ls-computer
d-i netcfg/dhcp_failed note
d-i netcfg/dhcp_options select Do not configure the network at this time

# Clock
d-i clock-setup/utc boolean true
d-i time/zone string Europe/Moscow
d-i clock-setup/ntp boolean true

# Users
d-i passwd/make-user boolean true
d-i passwd/user-fullname string Lsadmin
d-i passwd/username string lsadmin
d-i passwd/user-password-crypted password $6$aEi.l7sC$Nn3vsdqt02c0yyzrQVedGtv11GQk1ItW/Sz9G8ngmLzPG2CfaFm3uUr.7bjaK6hfy.f6Yr7.oEF8dQ.
d-i user-setup/allow-password-weak boolean true
d-i user-setup/encrypt-home boolean false

# Partitioning
d-i partman-auto/disk string /dev/sda
d-i partman-auto/method string regular
partman-auto partman-auto/init_automatically_partition select Guided - use entire disk
partman-auto partman-auto/automatically_partition select
d-i partman-auto/purge_lvm_from_device boolean true
d-i partman/confirm_write_new_label boolean true
d-i partman/choose_partition select finish
d-i partman/confirm boolean true
d-i partman/confirm_nooverwrite boolean true

# GRUB
d-i grub-installer/only_debian boolean true
d-i grub-installer/with_other_os boolean true

# At last
d-i finish-install/reboot_in_progress note
tasksel    tasksel/first    multiselect ubuntu-desktop
d-i preseed/late_command string apt-install mc;in-target mkdir /123

Убунта устанавливается без дополнительных вопросов, кроме как выдает запрос на перезагрузку, несмотря на d-i finish-install/reboot_in_progress note и судя по тому, что в установленной системе нет папки /123 - не выполняется d-i preseed/late_command string apt-install mc;in-target mkdir /123 (mkdir там ради теста, вместо него предполагается скрипт, устанавливающий пакеты). ЧЯДНТ?

Slack
()

Error loading new keyboard description, xscreensaver

Имеем следующее:

#cat /etc/X11/xorg.conf.d/90-keytable.conf
Section "InputClass"
	Identifier "LocalKeyboard"
	MatchIsKeyboard "on"
	Option	"XkbLayout"	"us,ru"
	Option "XkbLayout" "us,ru"
	Option "XkbOptions" "grp:alt_space_toggle,grp_led:scroll"
EndSection

Раскладка нормально переключается по alt_space

Запускаем xscreensaver

$ xscreensaver
Error loading new keyboard description
$ su
Пароль: 
# xscreensaver
Error loading new keyboard description
# 
Смотрим в лог:
 tail -n1  /var/log/Xorg.0.log
[  3614.741] (EE) Error loading keymap /var/lib/xkb/compiled/server-0.xkm
И вправду нет:
 ls -lah /var/lib/xkb/compiled
итого 12K
drwxr-xr-x 2 root root 4,0K окт 16 19:01 .
drwxr-xr-x 3 root root 4,0K июл 15 16:25 ..
-rw-r--r-- 1 root root  644 июл 15 16:25 README.compiled
Дать 777 на /var/lib/xkb/compiled к результату не приводят.

Xorg -version
X.Org X Server 1.13.2
Slack
()

Asterisk. Запись в CDR перехвата звонка.

Звоню с мобильного телефона (8926XXXXXXX) на внутренний номер менеджера (2222). Менеджер разговаривает со мной, и переключает меня на номер 2201. На 2201 никто трубку не берет, перехватывает номер 2217

В консоли астериска это выглядит примерно так:

-- Executing [7777777@from_pstn:1] Set("DAHDI/i1/926XXXXXXX-19ef", "CDR(userfield)=7777777") in new stack
-- SIP/2222-00010999 answered DAHDI/i1/926XXXXXXX-19ef
-- Executing [2201@default_record:1] Goto("SIP/2222-000109a0", "managers,2201,1") in new stack
-- Executing [2201@managers:5] Dial("SIP/2222-000109a0", "SIP/2201") in new stack
-- SIP/2217-000109a2 answered SIP/2222-000109a0
== Spawn extension (managers, 2201, 5) exited non-zero on 'DAHDI/i1/926XXXXXXX-19ef'
-- Hungup 'DAHDI/i1/926XXXXXXX-19ef'

Если смотреть в CDR, который пишется в базу, то там это выглядит так:

815114;"2013-10-15 13:35:36";"926XXXXXXX";"926XXXXXXX";"2222";"managers";"DAHDI/i1/9263118723-19ef";"SIP/2222-00010999";"Dial";"SIP/2222";43;35;"ANSWERED";3;"";"1381829736.86619";"2222";"";"1381829736.86619";111632
815116;"2013-10-15 13:36:07";""2222" <2222>";"2222";"2201";"managers";"SIP/2222-000109a0";"SIP/2217-000109a2";"Dial";"SIP/2201";20;16;"ANSWERED";3;"";"1381829767.86632";"926XXXXXXX";"";"1381829767.86632";111648

Как понять, что это один и тот же звонок? Можно ли как-то сделать, чтобы у этого, по сути одного звонка, был один айдишник? Или в какое-нибудь поле писался старый id? Селектить только по номеру телефона userfield как то некрасиво совсем.

Slack
()

Python, chmod

Есть скриптик на шелле, который в некоторый момент делает

chgrp -R updater /usr/local/www/hosting/$DIR
chmod -R g+rwX /usr/local/www/hosting/$DIR
Как это будет на питоне? Я осилил только рекурсивный чмод, но это немножко не то, и не так.
	for root, dirs, files in os.walk(path):
		for d in dirs:
			os.chmod(root + '/' + d, 0o777)
		for f in files:
			os.chmod(root + '/' + f, 0o666)
Или лучше не морочится и использовать os.system? Как правильней? Спасибо.

Slack
()

awesome и два монитора

Как настроить awesome на двух мониторах?

У меня почти дефолтный конфиг awesome,

tags = {}
for s = 1, screen.count() do
    -- Each screen has its own tag table.
   tags[s] = awful.tag({ "Web", "Shell", "Skype", "Mail", 5, 6, 7, "Backup", "Music" }, s, layouts[1])
end
.......
-- Create a systray
mysystray = widget({ type = "systray" })

Мониторы настроены следующим образом:

#cat /etc/X11/xorg.conf.d/50-monitor.conf
Section "Monitor"
    Identifier     "Monitor1"
    VendorName     "Unknown"
    ModelName      "Acer"
Option "PreferredMode" "1280x1024"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Samsung"
Option "PreferredMode" "1920x1080"
  Option     "LeftOf"   "Monitor1"
EndSection
Нужно чтобы на «Monitor0» отображались теги «Web», «Shell», «Skype», «Mail», 5, 6, «Backup», «Music», а на «Monitor1» - тег «Zabbix», и systray отображался на «Monitor0» (сейчас он только на «Monitor1». В lua увы не силен :(

Slack
()

nginx, разные error_page

Добрый день.

Есть некий сайт site.ru на русском языке и site.ru/en на английском языке. nginx+apache22.

Есть заглушки для ошибок сервера.

Файлы называются

500_ru.html

500_en.html

502_ru.html

502_en.html

503_ru.html

503_en.html

504_ru.html

504_en.html

Версии с префиксом _en необходимо отдавать в случае если запрошенный url начинался с «/en/»

Не соображу, как сделать. Как просто отдавать error_page ясно. Если бы урлы были бы site.ru/ru и site.ru/en - былы бы проще. А как в моем случае поступить не знаю :(

Slack
()

Awesome и русская расклада.

Возможно ли настроить awesome , дабы шорткаты работали и в русской раскладке?

 

Slack
()

Посчитать трафик с внешних ресутсов.

Есть машина с фряхой, через которую несколько серверов качают с сайтов в интернете некую инфу. Нужно иметь представление, откуда что и сколько накачал.

Посоветуйте чем посчитать, желательно попроще. ipfw как я понимаю не подходит, ipa не умеет вроде как источники трафика показывать.

Slack
()

SVN hook, запрещающие русские имена файлов.

Добрый день. Посоветуйте пожалуйста какой-нибудь svn hook, который запрещал бы загружать в репозиторий файлы, называющиеся не на латинице. Спасибо

 ,

Slack
()

Собрать свой образ FreeBSD.

Добрый день. Стоит задача собрать свой образ FreeBSD, так, чтобы после установки, в системе стоял уже нужный софт. Делаю так

    cd /usr/src
    make buildworld
    make buildkernel
    cd release
    make release CHROOTDIR=/local3/release BUILDNAME=9.0-RELEASE CVSROOT=/usr/src RELEASETAG=RELENG_9_0_RELEASE

Он мне собирает релиз, только почему то сюда:

    # cd /usr/obj/usr/src/release/
    # ls
    MANIFEST        bootonly        dist            ftp             kernel.txz      memstick        ports.txz       release.iso     system
    base.txz        bootonly.iso    doc.txz         games.txz       lib32.txz       packagesystem   release         src.txz
#

Делаю чендж рут сюда

    /usr/obj/usr/src/release/release

Ставлю порты, собираю то. что мне нужно из софта, но после он не дает собрать образ:

    # make release CHROOTDIR=/local3/release BUILDNAME=9.0-RELEASE CVSROOT=/usr/src RELEASETAG=RELENG_9_0_RELEASE
    `release' is up to date.
    #

Что я делаю не так?

Slack
()

заменить файл в куче поддиректорий

Есть файл

tinymce.linklist.php

и куча директорий, в которых есть это же файл в папке

www/assets/plugins/tinymce3201/tinymce.linklist.php

Также есть такие же файлы в темпах, вроде www/projectman/mytmp/1e4283221bb9777f308d12abf5bc1225/www/assets/plugins/tinymce3201/tinymce.linklist.php

нужно заменить файл только в www/assets/plugins/tinymce3201/tinymce.linklist.php Как это сделать?

 

Slack
()

Регексп для локейшна nginx

Есть урл

find_tourV2/filter_bigform?wc_action=offers&dyn_ld=1
в котором нужно видя парамерт wc_action=offers перебрасывать его на другой апачь. тут трабла в том, что wc_action=offers может идти не первым параметром, dyn_ld=1 может не идти за ним, в общем может находится в произвольном месте.

Написал такой локейшн, но в него ничего не попадает

location ~ /find_tourV2/(.*)wc_action(.*) {
зroxy_pass                      http://lsp37.ls1.ru:8003/find_tourV2/$1wc_action$2$query_string;
access_log /var/log/nginx/acces_log_8003_wc;
}
Поправьте, где я ошибся?

 

Slack
()

Как грепать значения больше, чем

Есть скрипт, который выдергивает из лога энджинкса хттп статусы. Надо как то выгрепывать оттуда значения, большие 399. Что-то не придумаю, как это реализовать.

 ,

Slack
()

Perl. Добавить из файла в хеш.

Я в перле нуб, так что если вопрос простой - не пинайте, доки потом почитаю ). Есть некий файл, в котором Ключ1: значение1 Ключ2: значение2

Подскажите, как внести данные в хеш перла?

Slack
()

Zabbix - мониторинг службы на произвольном порту.

Нужно мониторить службу (bacula) по порту 9102. Работает, или нет.

Пробовал создавать items-ы

tcp_perf,9102

net.tcp.port[, 9102] - не ест такое. Или ничего не выводит в первом случае, или выводит данные не имеющие отношения к реальности. В чем может быть дело?

На хосте -

# zabbix_agentd -p
agent.ping                                    [u|1]
agent.version                                 [s|1.6.2]
system.localtime                              [u|1322575675]
system.run[echo test]                         [m|ZBX_NOTSUPPORTED]
web.page.get[localhost,,80]                   [t|EOF]
web.page.perf[localhost,,80]                  [d|0.000000]
web.page.regexp[localhost,,80,OK]             [s|EOF]
vfs.file.exists[/etc/passwd]                  [u|1]
vfs.file.time[/etc/passwd,modify]             [u|1308650370]
vfs.file.size[/etc/passwd]                    [u|1665]
vfs.file.regexp[/etc/passwd,root]             [s|root]
vfs.file.regmatch[/etc/passwd,root]           [u|1]
vfs.file.cksum[/etc/passwd]                   [u|388425422]
vfs.file.md5sum[/etc/passwd]                  [s|5fa94d299c1b07bc77eb0327f355154d]
net.tcp.dns[127.0.0.1,localhost]              [u|0]
net.tcp.port[,80]                             [u|0]
system.hostname                               [t|gw.lightsoft.ru]
system.uname                                  [t|FreeBSD gw.lightsoft.ru 8.2-RELEASE FreeBSD 8.2-RELEASE #2: Mon Apr 18 20:49:17 MSD 2011:/usr/obj/usr/src/sys/GENERIC  amd64]
system.users.num                              [d|2.000000]
log[logfile]                                  [m|Accessible only as active check!]
eventlog[system]                              [m|Accessible only as active check!]
kernel.maxfiles                               [u|12328]
kernel.maxproc                                [u|6164]
vfs.fs.size[/,free]                           [u|171130880]
vfs.fs.inode[/,free]                          [u|138162]
vfs.dev.read[hda,ops,avg1]                    [m|ZBX_NOTSUPPORTED]
vfs.dev.write[hda,ops,avg1]                   [m|ZBX_NOTSUPPORTED]
net.tcp.listen[80]                            [d|2.000000]
net.if.in[lo0,bytes]                          [u|176066614474]
net.if.out[lo0,bytes]                         [u|176042569922]
net.if.total[lo0,bytes]                       [u|352109184396]
net.if.collisions[lo0]                        [u|0]
vm.memory.size[free]                          [u|353644544]
proc.num[inetd,,]                             [u|0]
proc.mem[inetd,,]                             [u|0]
system.cpu.switches                           [u|1106226897]
system.cpu.intr                               [u|94138548]
system.cpu.util[all,user,avg1]                [m|Collector is not started!]
system.cpu.load[all,avg1]                     [d|0.267578]
system.cpu.num[online]                        [u|4]
system.swap.size[all,free]                    [u|8518074368]
system.swap.in[all]                           [m|ZBX_NOTSUPPORTED]
system.swap.out[all,count]                    [m|ZBX_NOTSUPPORTED]
system.uptime                                 [u|5382294]
system.boottime                               [u|1317193381]
net.tcp.service[ssh,127.0.0.1,22]             [u|1]
net.tcp.service.perf[ssh,127.0.0.1,22]        [d|0.008950]
gw# 

Slack
()

Простенький скриптик на питоне.

Есть скрипт, который рисует респонс статус вебсервера.

cat ng.sh
#!/usr/bin/env python
# -*- coding: utf-8 -*-
                                                              
import httplib                                                
                                                                       
netloc = 'wiki2.lst224.b.ls1.ru'                             
path = '/'                                                    
method = "GET"                                                
                                                              
connect = httplib.HTTPConnection(netloc)                      
connect.request(method, path)                                 
response = connect.getresponse()                              
connect.close()                                               
                                                              
print response.status
Нужно, чтобы переменная netloc задавалась как входящий параметр ко скрипту.
./ng.sh wiki2.lst224.b.ls1.ru
Пробовал вот так
netloc = str(input(''))
не получилось. Помогите, я в питоне полный нуб.

Slack
()

Скриптик.

Нужен скриптик, который дергал бы удаленный сайт, и, в случае, если там ошибка nginx (502 например) - плевал бы 502 в консоль. Иначе нолик. Что-то совсем не соображу, с какой стороны подступится. нарна вгетом ее дернуть, а дальше что?

Slack
()

Zabbix и срабатывание экшенов по таймауту.

Есть zabbix, в котором настроен экшен, рассылающий смс при каких то событиях (сервер недоступен, апач в дауне и прочее). Бывает такое, что апач нужно рестартануть, сервер перезагрузить - триггер срабатывает и сообщение шлется. Можно ли как то настроить таймаут наподобии «сервер был недоступен 10 минут, после этого шлем смс»?

Slack
()

Вопрос по sed

Есть файлик вида

^@1^@9^@8^@
Нужно привести к виду
198
Подскажите, как.

Slack
()

UserParameter в zabbix

Добрый день. Задача с помощью заббикса мониторить баланс GSM модема. Есть некий скрипт, который с помощью ussd запроса *102# выдает баланс. Прав у заббикса его запускать хватает:

%whoami
zabbix
%/usr/local/zabbix_templates/bin/balance.sh 
398
%
Баланс он выдает с задержкой, секунды 3-5.

В конфиге zabbix agent он описан так:

tail -n 1 /usr/local/etc/zabbix/zabbix_agentd.conf
UserParameter=balance,/usr/local/zabbix_templates/bin/balance.sh

А вот в агент почему-то данные не поступают:

zabbix_agentd -p balance [m|ZBX_NOTSUPPORTED]

Slack
()

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