Сегодня я хочу вам рассказать о партиционировании больших таблиц в моей любимой PostgreSQL.
Итак, начнём с определения:
Партиционирование (partitioning) — это разбиение больших таблиц на логические части по выбранным критериям. Партиционированные или секционированные таблицы призваны улучшить производительность и управляемость базами данных.
Вроде понятно. Теперь идём дальше. Как же разбить таблицу на партиции или секции?
В PostgreSQL эта процедура потребует небольших усилий, но результатом вы будете довольны 🙂
Читати далі…
Выпущен LibreOffice 4.0 с большим списком изменений.
Всё это можно посмотреть уже в Ubuntu 12.10, не дожидаясь следующей версии.
Для этого всего-лишь необходимо:
sudo apt-get purge libreoffice-core
sudo add-apt-repository ppa:libreoffice/libreoffice-prereleases
sudo apt-get update && sudo apt-get upgrade
sudo apt-get install libreoffice
Но обращаю ваше внимание, что в итоге вы получите только версию 4.0.0-alpha1.
За финальной версией пока нужно идти на сайт LibreOffice за deb-пакетом для x86 или для x86_64/amd64.
Внимание! Перед продолжением, удалите LibreOffice, если он у вас уже установлен.
sudo apt-get remove libreoffice
Скачиваете tar.gz-архив, содержащий deb-пакет.
Распаковываете его
tar -xzvf LibreOffice_4.0*
Переходите в папку DEBS
:
cd LibreOffice_4.0*/DEBS/
И устанавливаете
sudo dpkg -i *.deb desktop-integration/*.deb
В итоге вы получите финальную версию LibreOffice 4.0.
Минус установки не через репозиторий в том, что вам самим придётся следить за обновлением пакетов, скачивать и переустанавливать его.
Если вы добавили репозиторий через команду add-apt-repository
и захотите его удалить, то вас ждёт разочарование, поскольку команды remove-apt-repository
не существует.
Зато есть ключ --remove
для команды add-apt-repository
.
Т.е. мы можем удалить ненужный нам репозиторий так
add-apt-repository --remove ppa:repository-for-delete
или так
add-apt-repository -r ppa:repository-for-delete
Удачи.
Сегодня я хотел бы поделиться знаниями по извлечении данных из Google Analytics, используя их API v3 на стороне сервера (server-side), т.е. без участия браузера пользователя.
Самое странное, что в Сети в основном описаны все примеры с использованием эмуляции браузера и аккаунта пользователя (пара email+пароль). Мы так делать не будем, т.к. это глупо и не красиво 🙂
Приступим.
Читати далі…
Если ваши серверные бэкапы могут вместиться в размер виртуального диска Dropbox’a, то думаю что разумным будет бэкапить файлы, помимо другого веника, ещё и в облако.
Начнём.
Читати далі…
Если есть необходимость сохранения в лог обращений к веб-серверу nginx значения, переданные через POST, то это делается довольно просто.
Добавляем в конфиг nginx’a дополнительный log_format
с именем, к примеру main_post
(сама переменная называется $request_body
):
log_format main_post '$remote_addr - [$time_local] '
'$host "$request" $status $bytes_sent [$request_body] '
'"$http_referer" "$http_user_agent" '
'"$gzip_ratio" $upstream_response_time';
И теперь осталось только указать этот формат вторым параметром access_log
:
access_log /var/log/nginx/access.log main_post;
Сразу скажу о двух важных моментах:
- Если к логам сервера имеет доступ ещё кто-то, то все POST-данные из лога ему станут известны
- Лог может ОЧЕНЬ быстро разбухать в размерах
А в остальном — пользуйтесь!
Итак, у нас есть
- ISO образ с Windows 7
- USB-флешка (
/dev/sdb1
)
- Linux Ubuntu/Debian
Форматируем флешку в файловой системе NTFS:
sudo mkntfs -f /dev/sdb1
При условии что она уже была подготовлена и правильно размечена ранее.
Если же это не так, тогда ставим Gparted
sudo apt-get install gparted
И через интерфейс форматируем флешку в NTFS, не забыв установить флажёк “boot”
Следующий этап, монтируем ISO-образ в какую-то папку (/mnt/iso
), монтируем флешку в какую-то папку (/mnt/flash
) и копируем содержимое папки с ISO-образом в папку с флешкой.
У меня получилось так:
sudo mount -o loop ~/soft/windows/windows7.iso /mnt/iso/
sudo mount /dev/sdb1 /mnt/flash/
sudo cp -r /mnt/iso/* /mnt/flash/
Теперь самое сложное, необходимо установить программу ms-sys, которой нет в репозитории.
Программа нужна для записи правильного загрузочного сектора на флешку.
Качаем исходники с последней версией.
Распаковываем и устанавливаем:
tar -xzvf ms-sys-2.3.0.tar.gz
cd ms-sys-2.3.0/
sudo make
sudo checkinstall
sudo dpkg -i ms-sys_2.3.0-1_amd64.deb
Удалить потом можно будет с помощью комманды
sudo dpkg -r ms-sys
Записываем Windows 7 загрузчик на флешку (опция -7
отвечает за Windows 7, есть и другие версии Windows):
sudo ms-sys -7 /dev/sdb
Это всё.
Пользуемся.
По-умолчанию в Ubuntu включены компоненты платного мониторинга системы Landscape, они в основном и тормозят загрузку (до 2-3 секунд).
Это дело лежит в motd. Если он вам вообще не нужен — берём напильник и выпиливаем:
Перезапускаем sshd
и готово! Теперь логин в систему у нас мгновенный!
Ещё стоит упомянуть о DNSе. При использовании тормознутых DNSов логин в систему может занимать до 30 секунд.
Поэтому в файле /etc/ssh/sshd_config
ещё стоит установить UseDNS no
.
Если хотите, чтобы вообще ничего не выводилось при логине, то можно ещё отключить строчку с датой и IP последнего входа в систему (сообщение “Last Login”).
Для этого необходимо в файле /etc/ssh/sshd_config
установить значение PrintLastLog no
, но я бы не рекомендовал.
Под любимым Линуксом это делается довольно просто с помощью их API.
Прежде всего устанавливаем пакет ec2-api-tools:
sudo apt-get install ec2-api-tools
Или если его не существует или хотим всегда иметь самую последнюю версию, добавляем репозиторий:
sudo apt-add-repository ppa:awstools-dev/awstools
sudo apt-get update
sudo apt-get install ec2-api-tools
После чего выполняем относительно простые инструкции по установке и настройке EC2 API Tools для Ubuntu.
После этого всего мы готовы к работе с API Amazon’a.
Создаём Security Group (если ещё её не было):
ec2-create-group ips.port80 -d "IP List @ port 80"
GROUP sg-XXXXXXXX ips.port80 IP List @ port 80
И добавляем в неё список IP (при условии что он лежит в файле ~/ips.list, в каждой строке есть отдельный IP или диапазон IP):
for i in `cat ~/ips.list`; do ec2-authorize ips.port80 -P tcp -p 80 -s $i; done
GROUP ips.port80
PERMISSION ips.port80 ALLOWS tcp 80 80 FROM CIDR XXX.XXX.0.0/16 ingress
...
Вот и всё.
Это делается довольно просто с помощью утилиты hardinfo.
Ставится просто:
sudo apt-get install hardinfo
Запускается довольно просто:
hardinfo | less
А ещё утилита умеет генерировать отчёт в HTML виде:
hardinfo -f html > hardinfo.report.html
Также подобное действие можно выполнить через lshw.
sudo apt-get install lshw
Смотрим так:
lshw | less
Ею тоже можно создать отчёт в HTML виде:
lshw -html > lshw.report.html