Skip to content


Альтернативное электрическое оборудование увеличит сроки эксплуатации каким угодно домашним электроприборам

Каждому, без сомнений, приятно ощущать себя непосредственным человеком, который не зависит ни от каких ситуаций, особенно, если они связаны с бытовыми условиями. Если расценивать назревшую проблему с регулярными перебоями в электроснабжении, которые имеют под собой разные основания, то станет эффективным и порой обязательным приобретение вспомогательных источников питания.

Самыми широко используемыми в домашнем хозяйстве электрическими приборами выступают электростанции и стабилизаторы.

Электростанции выделяют бензиновые и дизельные, среди которых - аварийные, стационарные, переносные и сварочные.

Стационарные и переносные генераторы по мощности напряжения классифицируются от 600 Вт до 15 кВт и выполняются для бытового и промышленного использования. Диапазон их функционирования очень обширен, а в сочетании с двигателем и иными вспомогательными техническими составными частями может служить как генераторная установка.

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

Чтобы рассчитать наибольшую мощность, нам достаточно сделать такие вычисления: суммировать мощности всех электрических приборов, которые в одно и то же время подключены к электростанции и добавить к итоговому результату 15-20% запасного резерва. Самым приемлемым решением обычно будет то, при котором вы выберете электростанцию мощностью 10-20 кВт, которая поможет забыть о перебоях с электроэнергией в загородном доме.

Кроме того, существуют трехфазные генераторы, которые как правило используют для тех помещений, где проведена трехфазная сеть, для остальных случаев применяются традиционные однофазные генераторы.

Для беспрепятственного обеспечения электроэнергией в домах, офисных помещениях и даже малых заводах, специалисты советуют использовать синхронные генераторы. От асинхронных они отличаются меньшей точностью и не поддерживают объем сетевого электропитания.

Еще один тип дополнительного электрооборудования называется электрический стабилизатор, его основным плюсом является способность удерживать конкретные параметры электрической цепи. В большинстве случаев применяются стабилизаторы тока и напряжения.

Стабилизаторы - довольно необходимое оборудование, потому что с помощью них осуществляется предотвращение и защита любого типа домашней электротехники от повреждений. Обывателям стабилизатор знаком по таким названиям, как трансформатор или нормализатор напряжения, как раз он позволяет сгладить резкие скачки напряжения в сети и уберечь устройства от преждевременного выхода из строя. Это дает возможность продлить период использования любого электроприбора и понизить затраты на электроэнергию.

Posted in Misc.


пщщпдуюсщь?

Часто вам приходится набирать в строке адреса броузера что-то вроде "пщщпдуюсщь"? Это фраза "google.com", набранная в русской раскладке. Согласно статистике, такие опечатки встречаются очень часто. Другие распространённые варианты --- нщгегиуюсщь, нфюкг, нфтвучюкг. Такое бывает когда при наборе текста взгляд сосредоточен на клавиатуре. Решение проблемы --- освоить "слепой десятипальцевый метод" набор текста, например с помощью тренажёра "Соло на клавиатуре", или поставить специальную программу --- автоматический переключатель раскладок, такую как Punto Switcher. Первое решение, конечно, намного более трудоёмкое, требует усидчивости и большого терпения. Но результаты того стоят --- скорость набора текста повышается в разы, а значит, и эффективность работы за компьютером в целом.

Posted in Misc.


Создание rpm-пакета

Иногда бывает, что на поиск нужной RPM-ки уходит времени больше, чем на создание своей из исходников. Например, RPM-пакет pptpd 1.3.4 более недоступен по ссылке, которая была в посте об установке pptpd. А мне он как раз понадобился при настройке очередного VPN-сервера. Выход как всегда есть. Рассмотрим на примере pptpd создание rpm-пакета на основе исходных текстов, запакованных в классический tarball с раширением .tar.gz.

  1. Качаем tarball отсюда: http://sourceforge.net/projects/poptop/files/
  2. Устанавливаем пакет rpm-build:
    [root@server]# yum install rpm-build
    Setting up Install Process
    Resolving Dependencies
    --> Running transaction check
    ---> Package rpm-build.i386 0:4.4.2.3-20.el5_5.1 set to be updated
    --> Processing Dependency: elfutils for package: rpm-build
    --> Running transaction check
    ---> Package elfutils.i386 0:0.137-3.el5 set to be updated
    --> Processing Dependency: elfutils-libs-i386 = 0.137-3.el5 for package: elfutils
    --> Processing Dependency: libdw.so.1(ELFUTILS_0.127) for package: elfutils
    --> Processing Dependency: libdw.so.1(ELFUTILS_0.122) for package: elfutils
    --> Processing Dependency: libasm.so.1 for package: elfutils
    --> Processing Dependency: libdw.so.1(ELFUTILS_0.130) for package: elfutils
    --> Processing Dependency: libdw.so.1 for package: elfutils
    --> Processing Dependency: libasm.so.1(ELFUTILS_1.0) for package: elfutils
    --> Processing Dependency: libdw.so.1(ELFUTILS_0.126) for package: elfutils
    --> Running transaction check
    ---> Package elfutils-libs.i386 0:0.137-3.el5 set to be updated
    --> Finished Dependency Resolution
    Dependencies Resolved
    ===================================================================
     Package     Arch    Version         Repository  Size
    ===================================================================
    Installing:
     rpm-build      i386   4.4.2.3-20.el5_5.1   updates    302 k
    Installing for dependencies:
     elfutils       i386   0.137-3.el5          base       228 k
     elfutils-libs  i386   0.137-3.el5          base       193 k
    Transaction Summary
    ===================================================================
    Install       3 Package(s)
    Upgrade       0 Package(s)
     
    Total download size: 723 k
    Is this ok [y/N]: y
    Downloading Packages:
    (1/3): elfutils-libs-0.137-3.el5.i386.rpm               | 193 kB   00:00
    (2/3): elfutils-0.137-3.el5.i386.rpm                    | 228 kB   00:00
    (3/3): rpm-build-4.4.2.3-20.el5_5.1.i386.rpm            | 302 kB   00:00
     
    Total                                            842 kB/s | 723 kB 00:00
    Running rpm_check_debug
    Running Transaction Test
    Finished Transaction Test
    Transaction Test Succeeded
    Running Transaction
      Installing     : elfutils-libs                                1/3
      Installing     : elfutils                                     2/3
      Installing     : rpm-build                                    3/3
    Installed:
      rpm-build.i386 0:4.4.2.3-20.el5_5.1
    Dependency Installed:
      elfutils.i386 0:0.137-3.el5  elfutils-libs.i386 0:0.137-3.el5
    Complete!

    Возможно, также еще потребуется С-компилятор, такой как gcc (если еще не установлен).

  3. Собираем пакет:
    [root@server]# rpmbuild -tb /tmp/pptpd-1.3.4.tar.gz
  4. Находим вновьсозданную rpm-ку:
    [root@server]# ls -l /usr/src/redhat/RPMS/i386/
    -rw-r--r-- 1 root root 84570 Nov  5 22:18 pptpd-1.3.4-1.i386.rpm
  5. Устанавливаем:
    [root@server]# rpm -ivh /usr/src/redhat/RPMS/i386/pptpd-1.3.4-1.i386.rpm

Если пакет собирается обычным юзером, не обладающим привилегиями суперпользователя, то доступа на запись в директорию /usr/src/redhat у него, ясное дело, нет. В этой ситуации можно явно указать rpmbuild-у рабочие директории следующим образом:

WD=$HOME/tmp/rpmtop
[ ! -d $WD ] && mkdir -p $WD
mkdir -p $WD/{SOURCES,BUILD,SPECS,SRPMS,RPMS/`uname -m`}
echo "%_topdir $WD" >> $HOME/.rpmmacros

Во 3-ей строке команда "uname -m" вернёт конкретную, используемую Вами архитектуру. В большинстве случаев это “i386”. У меня - “x86_64”.

Можно также собирать rpm-пакет из src.rpm. Например, мне как-то нужно было поставить на кучу серверов сразу с CentOS x86_64 пакет tinyproxy. В том пакете, который мне удалось найти в известных мне репозиториях (EPEL, RPMForge), был кривой init-скрипт, в котором был неправильно указан путь к бинарнику (/usr/bin/tinyproxy вместо /usr/sbin/tinyproxy) и путь к pid-файлу, что приводило к невозможности запустить сервис штатными средствами без доработки напильником стартового скрипта /etc/init.d/tinyproxy на каждом сервере. К тому же, конфиг-файл по умолчанию меня несколько не устраивал, поэтому я решил всё это один раз подредактировать и создать свою RPM-ку, которую потом простым скриптом можно было сразу проинсталлировать на все сервера. Далее я нашёл tinyproxy-1.8.2-1.fc14.src.rpm и распаковал его:

# rpm2cpio < tinyproxy-1.8.2-1.fc14.src.rpm | cpio -i
430 blocks
# ls -la
total 488
drwxrwxr-x  2 avz avz   4096 Apr 13 13:13 .
drwx------ 10 avz avz   4096 Apr 13 13:13 ..
-rw-r--r--  1 avz avz 214619 Apr 12 14:51 tinyproxy-1.8.2-1.fc14.src.rpm
-rw-rw-r--  1 avz avz 202931 Apr 13 13:13 tinyproxy-1.8.2.tar.bz2
-rw-r--r--  1 avz avz  10147 Apr 13 13:13 tinyproxy.conf
-rw-r--r--  1 avz avz   1906 Apr 13 13:13 tinyproxy.init
-rw-r--r--  1 avz avz    252 Apr 13 13:13 tinyproxy.logrotate
-rw-r--r--  1 avz avz   4109 Apr 13 13:13 tinyproxy.spec

Теперь редактируем файлы tinyproxy.init и tinyproxy.conf (при необходимости). В файл tinyproxy.spec в раздел changelog пишем чего же мы такого ценного привнесли своими изменениями (это необязательно, просто правило хорошего тона) и собственно собираем rpm-ку:

# mv tinyproxy-1.8.2.tar.bz2 tinyproxy.conf tinyproxy.init tinyproxy.logrotate /usr/src/redhat/SOURCES
# rpmbuild -ba tinyproxy.spec

Если всё прошло успешно (нет ошибок от make), то сможем наблюдать появление правильной RPM-ки, которую и можно ставить на все сервера сразу:

# ls /usr/src/redhat/RPMS/`uname -m`/tin*
/usr/src/redhat/RPMS/x86_64/tinyproxy-1.8.2-1.x86_64.rpm

Ключик -ba, кстати, также создаёт и src.rpm в директории /usr/src/redhat/SRPMS --- может пригодиться при последующих пересборках. Если же make выдаёт ошибки, то надо разбираться и чинить. В моём случае, например, пришлось установить пакет docbook-style-xsl, потому что без него man-файлы почему-то не создавались в процессе сборки.

Posted in *nix, Howto.

Tagged with , , , .


Полезные приёмы работы в VIM

Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.

VIM - это отличный текстовый редактор, изначально заточенный под программистов. Позволяет делать с текстом всё что угодно. В этом посте я буду собирать различные фишки VIM-а, которые сам использую.

  1. Сдвиг вертикального блока вправо: жмём Ctrl-V, выделяем стрелками вертикальный блок, потом жмём >, в результате весь выделенный текст сдвигается на shiftwidth символов вправо. В моём конфигурационном файле ~/.vimrc стоит set shiftwidth=2. Если нужно сдвинуть на большее расстояние, то перед > следует еще ввести цифру, что, как обычно в VIM-е, приведёт к повторению команды заданное число раз. Например, для сдвига блока из 3-х строк начиная с текущей на 6 символов вправо, в моём случае нужно будет набрать на клавиатуре последовательность Ctrl-V ↓ ↓ 3>
  2. Часто когда в VIM производится вставка куска текста с длинными строками (например, вывод tcpdump), VIM автоматически переносит те слова на следующую строку, которые находятся за пределами максимальной длины строки. Чтобы этого не происходило, нужно в командном режиме набрать :set paste
  3. При написании программного кода для отступов почти всегда используется кнопка Tab. Но если над кодом работает более одного человека, могут возникнуть неудобства, связанные с тем, что у них разные настройки редакторов, и, возможно, даже разные редакторы, в результате чего символы табуляции по разному отображаются. Для повышения переносимости VIM можно настроить так, чтобы при нажатии кнопки Tab вместо символа табуляции на самом деле вставлялось заданное количество пробелов. Для этого в командном режиме нужно сказать :set expandtab (или добавить в ~/.vimrc set expandtab). А собственно количество пробелов регулируется параметром tabstop. Например, чтобы при нажатии клавиши Tab вставлялось 4 пробела, нужно в командном режиме набрать :set tabstop=4. Но включение опции expandtab никак не влияет на те символы табуляции, которые появились в тексте до её включения. Заменить все существующие в документе символы табуляции на пробелы можно с помощью команды :retab. Чтобы вставить настоящий символ табуляции когда включена опция expandtab, нужно набрать на клавиатуре комбинацию Ctrl-V Tab. Можно также задать разный режим работы клавиши Tab для разных типов файлов. Например, чтобы заменять табуляции на пробелы только для файлов с PHP-кодом, нужно добавить в ~/.vimrc следующее:
    autocmd FileType * set tabstop=2|set shiftwidth=2|set noexpandtab
    autocmd FileType php set tabstop=4|set shiftwidth=4|set expandtab
  4. Макросы позволяют ускорить выполнение часто используемых операций. Для их создания есть команда map. Например, чтобы после набора "id" в командном режиме в текст вставлялась текущая дата, нужно в ~/.vimrc добавить строчку:
    map id !!date "+\%Y\%m\%d \%T"^M

    При этом ^M в конце строки должно быть вставлено как esc-последовательность путем ввода комбинации клавиш Ctrl-V Ctrl-M. Восклицательный знак означает выполнение внешней команды ОС из командного интерпретатора.

  5. Для редактирования файлов в кодировке, отличной от текущей кодировки локали, в ~/.vimrc нужно указать кодировку файла следующим образом:
    au BufRead /path/to/old/charset/files/* e ++enc=koi8-r

    В результате при открытии любого файла из директории /path/to/old/charset/files его содержимое будет автоматически перекодировано из KOI8-R в текущую кодировку локали.

  6. Если собираетесь использовать встроенное в vim шифрование, то в .vimrc обязательно стоит добавить явное указание на то, какой именно метод использовать

    set cryptmethod=blowfish2

    поскольку более старые 2 метода (zip и blowfish) уже недостаточно криптостойкие. Подробнее об этом можно почитать здесь и у David Leadbeater. Проверить каким именно методом был зашифрован уже существующий файл можно командой

    head -c 11 somefile.txt
    VimCrypt~03

    Самая последняя цифра в выводе как раз и указывает на cryptmethod (1 - zip, 2 - blowfish, 3 - blowfish2).

Вот тут еще есть весьма подробная и полезная шпаргалка по VIM.

Если бы vim написали в Microsoft, то выглядел бы он, вероятно, как-то так :)

Помощник-скрепыш в VIM

Помощник-скрепыш в VIM :)

Posted in *nix.