Подборка комманд sed

Скомуниздена подборка консольных команд с помощью Sed

REM Удалить пустые строки в файле
sed -e "/^$/d" 1x.txt > 2x.txt

REM Delete all newline.( Concatenate each line of 1x.txt into 1 line of string )
sed ":a;N;$!ba;s/\n//g" 1x.txt > 2x.txt
REM http://sed.sourceforge.net/sedfaq5.html#s5.10

REM Print line without 'code'
sed -n "/code/!p" 1x > 2x.txt
REM In bash shell, use single quote.

REM Delete line 2 up to line 10 inclusively.
sed -e "2,10d" 1x.txt > 2x.txt

REM Пропустить 3-ю строку(Заменить 'a' на 'b' во всех строках кроме 3-й).
sed -e "3n; s/a/b/g" 1x.txt > 2x.txt

Читати далі

Ошибка в libpcap если в системе есть Bonding

В случае если ядро собрано с поддержкой bonding (CONFIG_BONDING=y or M) то утилиты которые используют библиотеку libpcap могут ругаться такой ошибкой: pcap_findalldevs: SIOCGIFFLAGS: bonding_masters: No such device решается данная проблема довольно просто: нужно пропатчить libpcap либо установить версию равную или выше libpcap-1.1.1-r1 emerge -av /usr/portage/net-libs/libpcap/libpcap-1.1.1-r1.ebuild

Xen приняли в основную ветку ядра

Последние 2 года Xen планомерно впиливался в ядро Линукса. И наконец-то его всунули полностью. Начиная с новой ветки ядра Linux 3.0, которая появилась вместо 2.6.40 (так как от 2.6 почти ничего не осталось), Xen как Dom0 сможет запускаться без каких то манипуляций с ядром (патчинг и т.д.), так же как и KVM, VirtualBox и другие. … Читати далі

Как вывести список всех установленных в системе пакетов с указанием флагов с которыми они были собраны?

Подборка всяких извращенных методов применительно в Gentoo 🙂 emerge -vpe world find /var/db/pkg/* -mindepth 2 -maxdepth 2 | cut -d “/” -f 5-6 | sort -u | while read p; do printf “%s {” “${p}”; cat “/var/db/pkg/${p}/USE” | sed “s/$/}/”; done cd /var/db/pkg/; grep “” -r */*/IUSE qlist -IUv #qlist входит в app-portage/portage-utils for im … Читати далі

Навчальний курс по Qt

На сайті розробників Qt з’явився навчальний курс по цій же мові. Навчальний курс розбитий на лекції по 2х45хв Посилання на оригінальну статтю http://qt.nokia.com/services-partners/qt-in-education/qt-in-education-course-material Всі матеріали поширюються на умовах Creative Commons Attribution-Non-Commercial-Share Alike 2.5. Курс буде перекладений на різні мови силами співтовариства. Посилання на копію QtCourseMaterial L1-L10

Asterisk: импорт из Master.csv в Postgresql

postgres=# CREATE USER ast_user with password 'xxxxxxx';
CREATE ROLE
postgres=# CREATE DATABASE ast_db with owner ast_user;
CREATE DATABASE
postgres=#exit

psql ast_db ast_user
ast_db=> CREATE TABLE cdr (
calldate timestamp with time zone DEFAULT now() NOT NULL,
clid character varying(80) DEFAULT '' NOT NULL,
src character varying(80) DEFAULT '' NOT NULL,
dst character varying(80) DEFAULT '' NOT NULL,
dcontext character varying(80) DEFAULT '' NOT NULL,
channel character varying(80) DEFAULT '' NOT NULL,
dstchannel character varying(80) DEFAULT '' NOT NULL,
lastapp character varying(80) DEFAULT '' NOT NULL,
lastdata character varying(80) DEFAULT '' NOT NULL,
duration bigint DEFAULT 0::bigint NOT NULL,
billsec bigint DEFAULT 0::bigint NOT NULL,
disposition character varying(45) DEFAULT '' NOT NULL,
amaflags bigint DEFAULT 0::bigint NOT NULL,
accountcode character varying(20) DEFAULT '' NOT NULL,
uniqueid character varying(32) DEFAULT '' NOT NULL,
userfield character varying(255) DEFAULT '' NOT NULL
);
CREATE TABLE

Устанавливаем поддержку постгреса в Perl:

perl -e shell -MCPAN
install DBI::DBD
install DBD::Pg

Создаем скрипт для переноса даных:

Читати далі

Gentoo Xen 4

Повесть о том как я Xen4 мучал… или он меня…..
Что мы имеем:

uname -a
Linux Gentoo 2.6.34-xen-r4 #3 SMP Sat Jan 1 19:30:46 EET 2011 x86_64 AMD Phenom(tm) II X4 925 Processor AuthenticAMD GNU/Linux

И почти мертвый винт на 500Г

  5 Reallocated_Sector_Ct   0x0033   090   090   140    Pre-fail  Always   FAILING_NOW 873

Перед установкой пакетов необходимо снять с них архитектурное маскирование (~x64):

echo "app-emulation/xen
app-emulation/xen-tools
sys-kernel/xen-sources" >> /etc/portage/package.keywords

До начала сборки нужно выполнить следующие шаги:

1. Добавить в /etc/make.conf опции компилятора:

      CFLAGS="-march=native -O2 -pipe -fomit-frame-pointer -mfpmath=sse -funroll-loops -mno-tls-direct-seg-refs"
      CXXFLAGS="${CFLAGS}"

2. Там же (в /etc/make.conf), можно включить опции сборки бинарных пакетов (готовые пакеты emerge разместит в /usr/portage/packages), они пригодятся для ускоренного развертывания domU:

      FEATURES="buildpkg"

3. Пересобрать текущее окружение с новой опцией компилятора, которая нужна корректной работы системного окружения с гипервизором xen (заодно построятся бинарные пакеты окружения):

      emerge -evat world

Предварительный этап окончен, можно запускать сборку/установку пакетов xen, xen-tools и исходников адаптированного для Xen ядра — xen-sources:

emerge -av xen-sources xen xen-tools

Читати далі

VirtualBox на сервере Gentoo без графической оболочки

Небольшой мануал для установки VirtualBox на сервер в котором нет Х-ов Установку будем производить на Gentoo, клиентской машиной будет Debian Ставим ВиртуалБокс ACCEPT_KEYWORDS=”~amd64″ USE=”headless -chm -hal -opengl -qt4 rdesktop-vrdp vboxwebsrv” emerge -av /usr/portage/app-emulation/virtualbox-bin/virtualbox-bin-3.2.12.ebuild Создаем виртуальную машину (тоесть ее описание в конфигах) VBoxManage createvm –name “Debian” –register –basefolder /data/Virtual/ Если нужно смотрим типы ОС VBoxManage list … Читати далі

Правила Rewrite для поддержки ЧПУ на серверах под управлением Nginx для DLE

После перехода на с Apache на связку Nginx+spawn-cgi у меня некоректно запустились сайті на DLE. Причем проблемы была именно в ссылках ЧПУ. Обычные ссылки newsid=xxx прекласно работали. Решение проблемы В конфиге Nginx вместо : # if (!-e $request_filename) { # rewrite ^(.+)$ /index.php?q=$1 last; Вставляем такой код: rewrite ^/page/(.*)$ /index.php?cstart=$1 last; rewrite ^/([0-9]+)/([0-9]+)/([0-9]+)/page,([0-9]+),([0-9]+),(.*).html(/?)+$ /index.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&cstart=$5&news_name=$6 last; … Читати далі