FastNetMon

Wednesday 15 June 2011

Быстрая проверка IP на принадлежность к сети на Python

Устанавливаем необходимое ПО (я работаю на Debian Squeeze):
apt-get install -y python-subnettree

Легкая проверка IP на принадлежность сети:
import SubnetTree

t = SubnetTree.SubnetTree()

t["192.168.1.1/24"] = "Network 1"
print '192.168.1.33' in t
print '192.168.13.33' in t

Выдача команды будет следующая:
True
False

Все это дело можно обернуть в простенький скриптик:
#!/usr/bin/python

import SubnetTree
import sys

t = SubnetTree.SubnetTree()
t["192.168.1.1/24"] = "Network 1"

if len(sys.argv) != 2:
print "Need params"
sys.exit(1)

print sys.argv[1] in t


$ python checkip.py 127.0.0.1
False
$ python checkip.py 192.168.1.4
True
Аналогичнй код на Perl: http://www.stableit.ru/2013/04/ip-perl.html 

Получение всех IP сети на Python

Устанавливаем все необходимое (у меня Debian Squeeze):
apt-get install -y python-ipcalc

Вот простейший код, который выведет все возможные IP в сети: 192.168.1.0/24
from ipcalc import IP, Network
for ip in Network('192.168.1.0/24'):
print ip

Выдача скрипта будет следующая:
192.168.1.0
192.168.1.1
192.168.1.2
192.168.1.3
...
192.168.1.246
192.168.1.247
192.168.1.248
192.168.1.249
192.168.1.250
192.168.1.251
192.168.1.252
192.168.1.253
192.168.1.254
192.168.1.255

Как просмотреть статус копирования команды dd?

Итак, есть долго работающая команда dd:

dd if=/dev/sdb3 of=/dev/zero bs=1M &

Как просмотреть, в каком состоянии сейчас копирование? Легко!

Узнаем pid процесса dd:
ps aux | grep dd
root 2 0.0 0.0 0 0 ? S< 09:54 0:00 [kthreadd] root 32228 17.0 0.0 5916 1624 pts/0 D 14:39 0:01 dd if /dev/sdb3 of /dev/zero bs 1M root 32239 0.0 0.0 4848 772 pts/0 S+ 14:39 0:00 grep dd




Посылаем процессу сигнал USR1:
kill -USR1 32228

В ответ на это dd выласт текущий прогресс копирования:
25289+0 записей считано
25288+0 записей написано
скопировано 26516389888 байт (27 GB), 417,757 c, 63,5 MB/c

Tuesday 14 June 2011

Matt Heaton ушел с поста CEO Bluehost, HostMonster и FastDomains

Угу... http://www.mattheaton.com/?p=253

Чем резюме отличается от CV

http://jobsearch.about.com/cs/curriculumvitae/f/cvresume.htm

OpenVZ - почему pid процесса внутри VE отличается от pid этого же процесса на ноде?

Итак, pid процесса на ноде не совпадает с pid процесса внутри VPS, как такое получается?

На VPS:
ps aux |grep squid
root 3508 0.0 0.1 1716 512 pts/0 S+ 12:37 0:00 grep squid
root 28517 0.0 0.1 2152 516 ? Ss Jun13 0:00 squid

На ноде:
ps aux | grep 'squid'
root 2375 0.0 0.0 61140 716 pts/0 D+ 10:37 0:00 grep squid
root 27493 0.0 0.0 2152 516 ? Ss Jun13 0:00 squid

Но на ноде можно узнать также и pid процесса внутри VE (VPid):
cat /proc/27493/status
Name: squid
State: S (sleeping)
SleepAVG: 78%
Tgid: 27493
Pid: 27493
PPid: 24789
TracerPid: 21170
FNid: 5112
Uid: 0 0 0 0
Gid: 0 0 0 0
FDSize: 64
Groups: 0
envID: 5112
VPid: 28517
PNState: 0
StopState: 0
VmPeak: 2156 kB
VmSize: 2152 kB
VmLck: 0 kB
VmHWM: 516 kB
VmRSS: 516 kB
VmData: 348 kB
VmStk: 88 kB
VmExe: 188 kB
VmLib: 1476 kB
VmPTE: 20 kB
StaBrk: 085b7000 kB
Brk: 085d8000 kB
StaStk: bfd04ee0 kB
Threads: 1
SigQ: 0/204800
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000000000000
SigIgn: 0000000000001000
SigCgt: 7ffffffe4781eeff
SigSvd: 0000000000000000
CapInh: 000000007dcceeff
CapPrm: 000000007dcceeff
CapEff: 000000007dcceeff
Cpus_allowed: 7fffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff
Mems_allowed: 00000000,00000001
TaskUB: 5112
MMUB: 5112

Либо pid процесса внутри VE можно вычислить по формуле: VE_pid = NODE_pid + 1024.

Источник: http://forum.openvz.org/index.php?t=msg&goto=34254

Sunday 12 June 2011

Число подписок на твиттеры Президентов России из Reader

Число подписок на блог Президента России через Google Reader:
Subscribers: 1,078
Posts per week: 2.6

А на блог Перзидента Роисси через Google Reader:
Description: Twitter updates from Пeрзидент Роисси / KermlinRussia.
Subscribers: 1,876
Posts per week: 7.2

Миграция виртуальных машин Xen на OpenVZ

Вот хороший мануал по сабжу: http://www.howtoforge.com/how-to-convert-physical-systems-and-xen-vms-into-openvz-containers-debian-etch

Но суть сводится к более простому - достаточно выключить udev на Xen домене, чтобы он корректно заработал под OpenVZ. Просто так удалить udev не получится (он утянет за собой половину системы), скорее всего, его придется отключать в init скрипте инициализации системы.

Monday 6 June 2011

/usr/sbin/grub-setup: warn: This msdos-style partition label has no post-MBR gap; embedding won't be possible!.

grub-install /dev/sdc
Install grub
/usr/sbin/grub-setup: warn: This msdos-style partition label has no post-MBR gap; embedding won't be possible!.
/usr/sbin/grub-setup: warn: Embedding is not possible. GRUB can only be installed in this setup by using blocklists. However, blocklists are UNRELIABLE and their use is discouraged..
/usr/sbin/grub-setup: error: if you really want blocklists, use --force.

Такая ошибка возможна с grub2, которому требуется больше места, чем grub 1.

Иными словами, если первый раздел создавался вот так:
parted /dev/sdc mkpart primary ext3 0 10G

То это в корне не верно, нужно в начале диска оставить около мегабайта для grub 2:

parted /dev/sdc mkpart primary ext3 1 10G

И вот так все заработает просто отлично!

Tele2 - включиь отчет о доставке сообщений

1. Как подключить отчет о доставке сообщений?
Вы можете настроить отчет о доставке в телефонном аппарате, согласно инструкции к Вашему телефону. Если Ваш телефон не поддерживает услугу, Вы можете получать отчеты о доставке от компании TELE2. Для этого SMS необходимо писать в следующем формате: «точка» «пробел» текст сообщения. Например: «. Привет!»

Источник: http://www.kuzbass.tele2.ru/help_faq.html#a1