Using vimdiff as git diff tool

git config --global diff.tool vimdiff
git config --global difftool.prompt false
git config --global alias.d difftool

Typing git d yields the expected behavior, type :wq in vim cycles to the next file in the changeset.

Ubuntu rvm

В свой последний приезд Лёня Лукин подкинул книженцию по rails. Вроде как дошли руки ее пощупать, но меня поджидал фэил в самом начале пути.

Установил ruby-rvm на Ubuntu 12.04. Начал инсталлить ruby и gems  согласно инструкции.

rvm install 1.9.2

Фигакс, сообщает мне под конец, что установка не удалась посмотрите log.

ERROR: Error running ‘make ‘, please read /usr/share/ruby-rvm/log/ruby-1.9.2-p180/make.log
ERROR: There has been an error while running make. Halting the installation.

Смотрю log. Обнаруживаю там следующую запись.

ossl_ssl.c:110:1: ошибка: «SSLv2_method» undeclared here (not in a function)
ossl_ssl.c:111:1: ошибка: «SSLv2_server_method» undeclared here (not in a function)
ossl_ssl.c:112:1: ошибка: «SSLv2_client_method» undeclared here (not in a function)
make[1]: *** [ossl_ssl.o] Ошибка 1
make[1]: Выход из каталога `/var/cache/ruby-rvm/src/ruby-1.9.2-p180/ext/openssl’
make: *** [mkmain.sh] Ошибка 1

Как же я ненавижу ваш linux, мелькнуло в голове. Дальнейший алгоритм понятен, ищем в Гугле решение.

 # don’t use ubuntus openssl 
rvm pkg install openssl 
rvm install 1.9.2 —with-openssl-dir=$rvm_path/usr
Вива, Кальман. Фокус удается. 
Оригинал решения здесь

Wtf debian-sys-maint?

Переносили базы mysql в debian из другой опрерационной системы или повредили базу с названием «mysql», или имели счастье установить ее заново? ) Поздравляю, возможно у вас теперь появилась такая вот проблема:

debatest:~# /etc/init.d/mysql restart Stopping MySQL database server: mysqld. Starting MySQL database server: mysqld. Checking for corrupt, not cleanly closed and upgrade needing tables.. /usr/bin/mysqladmin: connect to server at 'localhost' failed error: 'Access denied for user 'debian-sys-maint'@'localhost' (using password: YES)' debatest:~# /usr/bin/mysqladmin: connect to server at 'localhost' failed error: 'Access denied for user 'debian-sys-maint'@'localhost' (using password: YES)'

Как это исправить? И что это вообще за пользователь такой? Итак, открываем /etc/mysql/debian.cnf находим в нем строку password, запоминаем — это пароль пользователя debian-sys-maint, нужного для запуска хотя-бы проверки таблиц при старте сервера. Заходим в клиента mysql и выполняем два запроса:

GRANT RELOAD, SHUTDOWN, PROCESS, SHOW DATABASES, SUPER, LOCK TABLES ON *.* TO ‘debian-sys-maint’@’localhost’ IDENTIFIED BY ‘— тут пишем его пароль —‘;
GRANT ALL PRIVILEGES ON *.* TO ‘debian-sys-maint’@’localhost’ IDENTIFIED BY ‘— тут пишем его пароль —‘ WITH GRANT OPTION;

После этого ошибка исправляется и мы плывем дальше. )

Оригинал: http://www.liveinternet.ru/users/stasikos/post80304705/

CentOS ImageMagick

Много раз я брался инсталлить на своем серваке ImageMagick. Делал это через yum и погружался в долгие чтения репортов о вылетающих ошибках. Пока наконец не наткнулся на волшебную заметку.

Installing ImageMagick on a centos vps

Unfortunately installing imagemagick can cause some issues

If you get the message «Error: Missing Dependency: udev >= 089-1 is needed by package hal»

DO NOT INSTALL UDEV, udev is known to cause problems with deleting entries in /dev, instead you can install from source yum install make

wget ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick-6.4.0-9.tar.gz
tar xvfz ImageMagick-6.4.0-9.tar.gz
cd ImageMagick-6.4.0-9/
./configure && make && make install

М-да, сказал я себе, самый стабильный дистрибутив говоришь…. Хм. И заправив рубашку в трусы сел и проинсталли за 6 минут то, что не мог проинсталлить почти год.

Попутно при тесте выскочила ошибка

convert: error while loading shared libraries: libMagickCore.so.2: cannot open shared object file: No such file or directory

решил проблему добавив в /etc/profile

export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

Ubuntu — Python Twisted

 

 

Из-за дефицита памяти на рабочем компе пришлось заменить Fedora на Ubuntu. При установке стандартного набора прог на этапе установки Twisted вылетела ошибка

Python.h: No such file or directory

Проблема была решена быстро установкой пакета с заголовками для разработки на Питоне

sudo apt-get install python-dev

Маунтим ресурс на Samba

По тем или иным причинам бывает необходимо подмаунтить на свою систему папку с расшаренного ресурса Samba. Возможно это ваш девелоперский сервак c вашей пакой чекаута и каждый день вводить команду крайне утомительно. Открываем /etc/fstab и вводим туда следующую строчку.

//resorce/folder /your/machine/folder cifs uid=502,gid=504,credentials=/your/home/dir/.mysmbcredentials,dir_mode=0777,file_mode=0777 0 0

Список вполне прозрачен: подключаемый ресурс папка к которой вы маунтите, сетевая система, id пользователя, id группы, файлик куда мы положим наш логи и пароль(вместо этого мы моглибы прямо в fstab прописать логи и пароль), режим работы с папками, режим работы с файлами. Последние два параметра для нас сейчас не представляют большого интереса, просто поставьте их значение 0 0.

Возможно в другом рецепте вместо сетевой системы cifs вы увидете smbfs. smbfs считается устаревшим о чем скорее всего система вам напомнит сообщением вроде smbfs deprecated.

Последнишаг создаем в совей домашней директории тот самы файл для идентификации и просто вписываем:

username=ваш_логин_к_самба_ресурсу
password=ваш_пароль_к_самба_ресурсу

Перезапускаем и получаем удовольтсвие.

Включаем InnoDb под Linux

Открываем /etc/my.cnf

Добавляем

[mysqld]
# InnoDB settings
innodb_data_home_dir = /var/lib/mysql/
innodb_data_file_path = ibdata1:100M:autoextend
set-variable = innodb_buffer_pool_size=100M
set-variable = innodb_additional_mem_pool_size=10M
innodb_flush_log_at_trx_commit=1

Убираем skip-innodb. Перезагружаем — пользуемся.

CentOS — SFTP доступ

Некоторым пользователям предпочтительней дать не полный доступ, а только права на перенос файлов. FTP…? Несекьюрное решение. С точки зрения поставленной задачи и безопасности оптимальным было бы решение на базе SFTP. Оригинальное решение тут

Для реализации воспользуемся rssh — оболочкой работающей на базе OpenSSH.
Качаем свежий пакет отсюда. Инсталлируем
rpm -ivh rssh-2.3.2-1.2.el5.rf.i386.rpm

Открываем файл конфигурации
vim /etc/rssh.conf

раскомментируем строку
allowsftp

Создадим пользователя с оболочкой rssh

useradd -m -d /home/test -s /usr/bin/rssh test
passwd test

Заходим через доступный нам клиент по sftp и радуемся жизни.