Search
Write a publication
Pull to refresh
0
0
Timofey @iTNitro

User

Send message

О добавлении репозиториев в Ubuntu 9.10

Reading time2 min
Views7K
imageНачал читать Linux Format 11-2009 (124), дочитал до статьи «Ubuntu: ставим всё подряд», и очень удивился описанному способу добавления репозиториев.

Для установки chromium-browser автор рекомендует
сделать 3 шага:

а) открыть в GUI «Источники ПО» и добавить новый репозиторий:
http://ppa.launchpad.net/chromium-daily/ppa/ubuntu


б) выполнить в терминале:
sudo apt-key adv --recv-keys --keyserver
keyserver.ubuntu.com 4E5E17B5


в) выполнить в терминале:
sudo apt-get update
sudo apt-get install chromium-browser

Что мне не понравилось в таком подходе?

15 советов по Ubuntu для опытных пользователей Linux (перевод)

Reading time7 min
Views40K
Оригинал статьи на английском. Перевод: Boten, Deniska, MaxElc

Несколько дней назад я (здесь и далее — автор оригинальной статьи — Прим. пер.) написал о книгах, которые могут скачать начинающие пользователи, и прочитать их, чтобы изучить Linux самостоятельно. Сегодня в секции о Linux у нас есть кое-что и для опытных пользователей. Перед вами несколько советов, которые вы должны попробовать, если вы опытный пользователь Ubuntu Linux
Читать дальше →

Флаеры в кино

Reading time3 min
Views1.3K
Изучить Перл я мечтал уже довольно давно, но все никак не удавалось. Но вот на днях я собрал всю свою решимость и сел за мануал. Естественно, нужна была задача требующая решения, и она нашлась. Есть замечательный журнал TimeOut, и на его сайте периодически раздают флаеры на бесплатные кинопоказы. Единственный минус — нельзя подписаться на эти раздачи, то есть по почте приглашение в кино нахаляву никто не пришлет. Это-то неудобство я и решил исправить.
Читать дальше

Индексы в MySQL: многоколоночные индексы против комбинированных индексов

Reading time9 min
Views121K
Я часто вижу ошибки, связанные с созданием индексов в MySQL. Многие разработчики (и не только новички в MySQL) создают много индексов на тех колонках, которые будут использовать в выборках, и считают это оптимальной стратегией. Например, если мне нужно выполнить запрос типа AGE=18 AND STATE='CA', то многие люди просто создадут 2 отдельных индекса на колонках AGE и STATE.

Намного лучшей (здесь и далее прим. переводчика: а обычно и единственной верной) стратегией является создание комбинированного индекса вида (AGE,STATE). Давайте рассмотрим почему это так.

Читать дальше →

Web-сервер Cherokee

Reading time2 min
Views7.4K
imageЗдравствуйте, хабрапользователи!

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

Читать дальше →

Ubuntu, KVM и proxy_arp — как обмануть злого провайдера

Reading time3 min
Views8.6K
Одна фирма расположила на колокейшне серверочек для внутренних нужд и сразу купила /30 адреса для соих потребностей. Сконфигурено это было как алиасы (eth0:0, eth0:1 и т.п.). Все работало великолепно, пока по прошествии некоторого времени появилась здравая идея разнести разные сервисы на разные виртуальные машины. Поскольку в качестве хоста использовался Ubuntu Server, то выбор KVM в качестве виртуализатора произошел сам собой. И здесь, и в остальном нете уже немало умных слов было написано по установку и настройку KVM и сетевого окружения, не буду на этом останавливаться, расскажу лишь про маленькие детские грабельки, удобно подложенные со стороны провайдера.
Продолжение повествования

Сервер на стероидах: FreeBSD, nginx, MySQL, PostgreSQL, PHP и многое другое

Reading time16 min
Views40K
Нравится мне эта картинка, у меня, вот никогда такие красивые графики в какти не получались =(

Введение


С момента написания мной предыдущей статьи по оптимизации этой связки прошло довольно много времени. Тот многострадальный Pentium 4 c 512Мб памяти, обслуживающий одновременно до тысячи человек на форуме и до 150,000 пиров на трекере уже давно покоится на какой-нить немецкой, свалке, а клуб сменил уже не один сервер. Всё сказанное в ней всё ещё остаётся актуальным, однако есть вещи которые стоит добавить.
Статья большая, так что будет поделена на логические блоки:

0. Зачем вообще что-то оптимизировать?
  
1. Оптимизация ОС (FreeBSD)
  1.1 Переход на 7.х 
  1.2 Переход на 7.2
  1.3 Переход на amd64
  1.4 Разгрузка сетевой подсистемы
  1.5 FreeBSD и большое кол-во файлов
  1.6 Softupdates, gjournal и mount options
  
2. Оптимизация фронтенда (nginx)
  2.1 Accept Filters
  2.2 Кеширование
  2.3 AIO
  
3. Оптимизация бэкенда
  3.1 APC
  3.1.1 APC locking
  3.1.2 APC hints
  3.1.3 APC fragmentation
  3.2 PHP 5.3
  
4. Оптимизация базы данных
  4.1 MySQL 
  4.1.1 Переход на 5.1
  4.1.2 Переход на InnoDB
  4.1.3 Встроеный кеш MySQL - Query Cache
  4.1.4 Индексы
  
4.2 PostgreSQL
  4.2.1 Индексы
  4.2.2 pgBouncer и другие.
  4.2.3 pgFouine
  
4.3 Разгрузка базы данных
  4.3.1 SphinxQL
  4.3.2 Не-RDBMS хранилище
  4.4 Кодировки
  4.5 Асинхронность
  
Приложение. Мелочи.
  1. SSHGuard или альтернатива.
  2. xtrabackup
  3. Перенос почты на другой хост
  4. Интеграция со сторонним ПО
  5. Мониторинг
  
 6. Минусы оптимизации

Кому что-нибудь из этого списка интересно, жмём сюда...

Познакомимся поближе?

Reading time1 min
Views1.7K
И снова привет. В предыдущем посте если я больше коснулся вопросов, что мы за компания, и что же мы производим, то в данном посте я бы хотел донести до хабровчан смысл ведения этого блога. В первую очередь мы бы хотели поделиться нашими знаниями — например я (ZloyKakPes)специализируюсь на VmWare и Hyper-V, а если говорить точнее, то как благодаря использованию общего хранилища можно расширить возможности и без того немалый потенциал этих продуктов. Кроме меня, пока что, сюда будет писать Павел (HellCat), который, в свою очередь, является отличным специалистом по SQL и кластеризации.

Сейчас совместно с блогом vm4.ru мы проводим опрос, правда, необходимо отметить, что в силу ориентации сайта опрос в большей степени ориентирован на продвинутое VmWare сообщество, но вопросы там носят скорее общий характер, который показал, что несмотря на общую осведомлённость большей части сообщества о технологии iSCSI, большая часть опрошенных выразила желание узнать что-то новое о данной технологии и возможностях её применения. Именно поэтому мне бы хотелось узнать у хабрасообщества есть ли какие-либо темы, которые мы бы могли для вас здесь раскрыть? Мы с удовольствием выслушаем все ваши предложения, и привлечём к раскрытию тем всех наших специалистов.

Почти-web-сервер своими руками

Reading time7 min
Views9.6K
В последнее время появилось несколько постов по привлечению внимания к определённым языкам программирования на примере написания некоего несложного «web-сервера». Раз уж пошла такая пьянка perl пока не затронули, то добавлю и свои пять копеек :)
Будем писать несложное серверное приложение, маскирующееся под http-сервер.
Читать дальше →

Синхронизация музыки в Ubuntu c iPhone по WiFi

Reading time2 min
Views4.6K
Синхронизировать музыку будем с Amarok.

1. Подготовка iPhone/iTouch:
— если у вас еще не стоит на телефоне BSD Subsystem и SSH, то поставьте их из Инсталлера;
— выставьте Settings->General->Auto-Lock в положение “Never”;
— подключите iPhone к той же точке доступа, к которой подключен ваш компьютер;
— зайдите в Settings->WiFi->имя подключения->синяя стрелка и посмотрите IP-адрес вашего iPhone и нажмите на “Static”. Теперь у вашего iPhone/iTouch будет постоянный IP.

2. Подготовка Ubuntu:
Читать дальше →

Консольный словарь sdcv

Reading time2 min
Views7.5K
Очень часто, администраторам приходиться читать маны, которые, к сожалению, в большинстве случаев на английском языке. Конечно, большинство знают английский, и очень даже не плохо, но очень часто встречаются слова, которые очень трудно перевести. Хорошо, когда у вас под рукой есть какой-либо stardict или просто есть соединение с интернетом и можно глянуть перевод. А если нет? Или настраиваете сервер, и у вас только голая консоль без выхода в интернет. Понимаю, звучит фантастично, но в жизни всякое бывает. Или как в моем случае: мне нужен был простой словарик, который бы не висел в трее, не имел никаких лишних наворотов и гуев (пинок в сторону stardict) и был под рукой, ну или не далеко от нее. :) Вот именно для таких случаев (ну или вы просто заядлый Linux Geek и вам бы все в консоль) и есть консольный словарик sdcv — StarDict Console Version.

Эта небольшая софтина, размером в 155 КБ, к сожалению, есть далеко не в каждом Linux-дистрибутиве, так что возможно вам придется ее собрать самому, не думаю что это вызовет затруднение. :) Скачать ее можно тут — downloads.sourceforge.net/sourceforge/sdcv/sdcv-0.4.2.tar.bz2

Набрав в консоли sdcv, мы получим предложение ввести слово или фразу и, после ее ввода и нажатия Enter, получим перевод и предложение ввести следующую фразу. И так до бесконечности. В случае, если у вас в системе установлено больше одного словаря, то он спросит, используя какой словарь ему следует переводить это слово или фразу. Для перевода программа использует словари stardict, так что они у вас должны быть. Если у вас их нет, вам надо будет их скачать и поместить в директорию со словарями.

Казалось бы, зачем ради такой незначительной утилиты писать столько текста. Но если копнуть глубже и пораскинуть мозгами, то областей ее применения множество. Начиная от банальных переводов методом ls | grep | sdcv и заканчивая использованием в скриптах.

Опций немного. Из интересных можно выделить парочку: -u для перевода слова используя какой-то конкретный словарь и -n для использования в скриптах. Кстати, назначение этой опции я либо не понял, либо неправильно использовал, но у меня ее результат выходил такой же, как если передать sdcv в качестве параметра слово для перевода.

парсим сайты легко и непринуждённо вместе с phpQuery

Reading time3 min
Views112K
Привет хабр, думаю у некоторых из вас возникала потребность стянуть что нибудь нужное с какова нибудь сайта. Но писать тонны функций, чтобы вытащить фразу, это очень муторно, долго и не продуктивно.
Представляю вашему вниманию phpQuery. Это php вариант известного javascript фраемворка — jQuery.
Автор постарался на славу и портировал почти всё что нам нужно.
  • Selectors
  • Attributes
  • Traversing
  • Manipulation
  • Ajax
  • Events
  • Utilities
  • Plugin ports

Давайте посмотрим что она умеет.
Поехали

Inotify или автоматизация рутинных операций с помощью incron

Reading time3 min
Views46K
До сих пор на хабре еще никто не упоминал о такой удобной подсистеме ядра linux, как inotify и использовании ее в автоматизации работы системного администратора. Хотелось бы восполнить этот пробел.

Что такое inotify


Inotify — это подсистема ядра Linux, которая позволяет получать уведомления об изменениях в файловой системе. Т.е. простыми словами — эта штука дает нам информацию о создании или изменении любого файла или директории в используемой файловой системе.
Inotify появилась в ядре аж в версии 2.6.13 и прошла проверку временем. Для ее использования написано несколько утилит, работу с одной из которых мы и рассмотрим.
Читать дальше →

Разгоняем Wordpress до скорости света

Reading time7 min
Views141K
image
Скорость и отказоустойчивость – одни из тех факторов, что неизменно влияют на популярность вашего ресурса, ведь даже с лучшим в мире контентом медленно работающий сайт будет раздражать читателей и рано или поздно вы их потеряете. В этой статье мы будем оптимизировать самый популярный блоговый движок — Wordpress, работающий на PHP. А заодно рассмотрим несколько общих моментов в оптимизации сайтов.
Читать дальше →

Perl и GUI. Работа с меню

Reading time3 min
Views3.1K
Обзор виджетов Tk, я начну с рассмотрения главного меню c учетом особенностей различных ОС.

Для начала создадим заготовку для нашего приложения:

#!/usr/bin/perl -w
use strict;
use Tkx;

our $PROGNAME = 'app';
our $VERSION = '0.1';
<habracut>

my $windowingsystem = Tkx::tk_windowingsystem();
my $IS_AQUA = ($windowingsystem eq 'aqua');

# Учитывая, что имена некоторых кнопок могут различаться, 
# в OSX это Control, в Win/X11 это Ctrl, добавим еще несколько переменных
# (пригодится для хоткеев)
my $plat_acc_ctrl = ($^O eq 'darwin') ? ('Control-') : ('Ctrl+');
my $plat_evt_ctrl = ($^O eq 'darwin') ? ('Control-') : ('Control-');

# Главное окно.
my $mw = Tkx::widget->new('.');

Tkx::tk( appname => $PROGNAME );
Tkx::wm_minsize( $mw => qw(320 200) );

# новое меню прикрепляется с помощью параметра -menu
$mw->configure(
  -menu => make_menu( $mw ),
);


Tkx::MainLoop;
1;

sub on_quit {
  Tkx::tk___messageBox( -message => 'Goodbye ;]' );
  exit;
}

sub show_about {
  Tkx::tk___messageBox( -message => "$PROGNAME $VERSION" );
}

sub make_menu {
 my $mw = shift || return;

 # По умолчанию, все меню выглядит подобно в GIMP, их можно открепить
 # Поэтому, выключим данную опцию
 Tkx::option_add('*Menu.tearOff', 0)

 # ... продолжение ниже

  return $m; 
}


Все как обычно, File, Edit, Help. (меню каскадное). Новый объект создается с помощью метода new_menu(); (подобно контейнеру)

my $m = $mw->new_menu(); # Верхний уровень
my $fm = $m->new_menu(); # File
my $em = $m->new_menu(); # Edit

# А теперь, добавим наши пункты в верхний уровень
$m->add_cascade( -label => 'File', -menu => $fm, -underline => 0 );
$m->add_cascade( -label => 'Edit', -menu => $em, -underline => 0 );



Добавление осуществляется через add_cascade(), где
-label — это заголовок меню.
-menu — виджет
-underline — индекс буквы подчеркивания. Необходимо для быстрой навигации с помощью кнопки Alt+буква (нумерация идет с 0)

смотрим, что получилось.
image

Толку от пустого меню нету, поэтому «набьем» его командами

# Меню File
$fm->add_command(
  -label => 'Do something',
  -underline => 0,
  -command => sub { },
);

# разделитель
$fm->add_separator();

$fm->add_command(
  -label => 'Quit',
  -underline => 0,
  -accelerator => "${plat_acc_ctrl}Q",
  -command => [\&on_quit],
);

Tkx::bind( all => "<${plat_evt_ctrl}q>" => [\&on_quit] );

# Меню Edit
$em->add_command(
  -label => 'Cut',
  -underline => 2,
  -accelerator => "${plat_acc_ctrl}X",
  -command => sub { Tkx::event_generate(Tkx::focus(), '<
Читать дальше →

Website Screenshots & Thumbnails Extractor

Reading time1 min
Views692
«Website Screenshots & Thumbnails Extractor — это Windows приложение с открытым исходным кодом для извлечения скриншотов и превьюшек сайтов. Для работы требуется .NET Framework 3.5.

Основные возможности:
  • извлечение скриншотов и превьюшек сайтов
  • возможность задавать размер изображений или выбрать из списка стандартных разрешений
  • возможность автоматического сохранения в выбранную директорию
  • маски для сохраненных файлов

Читать дальше →

Недорогой способ защиты от HTTP-флуда

Reading time3 min
Views16K
Случилась на днях, как всегда, не в самый подходящий момент, DDoS-атака на один из сайтов, размещенных на моем сервере. DDoS-атаки бывают разные, в этот раз злоумышленники запустили HTTP флуд.

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

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

Читать дальше →

Установка для «чайников»: nginx + php-cgi + mysql + eaccelerator + memcache на Debian 5.0 «lenny»

Reading time7 min
Views79K
Данная заметка является шпаргалкой для новичков в установке нормально работающего комплекса, описанного в заголовке. Все пункты установки протестированы несколько раз на разных vds, поэтому проблем с нехваткой чего-то быть не должно, как это обычно бывает, когда ставишь что-то по мануалам, надерганных из разных источников. Подробно описания настроек и «тюнинга» в заметке нет, т.к. это всё очень индивидуально и требует понимания что, как и зачем делается, а это невозможно охватить в одной даже очень большой шпоре.
Читать дальше →

В поисках альтернативы Basecamp: обзор PBworks Project Edition

Reading time4 min
Views13K
image
Basecamp не стоит называть инструментом для управления проектами. Даже его создатели это понимают. Basecamp is the leading web-based project collaboration tool — написано большими буквами на официальном сайте этого заслуженного продукта. Basecamp — это инструмент для общения. Вместо электронной почты. Basecamp не измерит рабочую нагрузку на будущую неделю по команде в целом и для каждого работника в частности, и не оценит реальность поставленных сроков. Вместо этого он просто помогает нам обмениваться нужной информацией внутри команды и с нашими клиентами. Поэтому нелепо сравнивать Basecamp, например, с Microsoft Project, или, если говорить об онлайновых решениях, с Copper Project. Эти замечательные продукты решают совсем разные задачи.

К чему эти пространные рассуждения? К тому, что искать альтернативы Basecamp’у следует не в разделе Инструменты для управления проектами, а в разделе Инструменты для совместной работы.

Там нам открывается увлекательный мир вики-движков, в разной степени приспособленных для нужд малого бизнеса. Обычно они весьма страшны на вид и с первого взгляда сложно разобраться, как всё это работает и на какую кнопку первым делом нажать. Внедрение таких вики — дело энтузиастов, свято верящих в силу вики-среды и умеющих заразить этой верой окружающих. Но, к счастью, встречаются и движки с человеческим лицом, доступные для понимания простым людям, вроде нас с вами: Jive SBS, Socialtext, Confluence, PBworks. Вот о последнем продукте и пойдет речь в сегодняшней заметке. А точнее, о PBworks Project Edition. Как нетрудно догадаться по названию, это решение как раз метит в нишу Basecamp’а: организация совместной работы над проектами.

Читать дальше →

Information

Rating
Does not participate
Location
Москва и Московская обл., Россия
Date of birth
Registered
Activity