февраля 23, 2009

shell

Надоело каждый раз вспоминать :) лучше запишу.

ZSH:

в .zshrc

bindkey "^[[A" up-line-or-search ## up arrow for back-history-search
bindkey "^[[B" down-line-or-search ## down arrow for fwd-history-search
bindkey " " magic-space ## do history expansion on space
bindkey "^R" history-incremental-search-backward

CSH:

в .cshrc:

bindkey -k up history-search-backward
bindkey -k down history-search-forward

BASH:

в .inputrc

"\e[A": history-search-backward
"\e[B": history-search-forward

февраля 19, 2009

Ubintu/Debian + PHP-FastCGI + Nginx

*UPD в вордпрессе побились двойные дефисы - заменены на тире. завтра\послезавтра на работе приаттачу скрипт файлом.

Необходимо установить пакеты php5-cgi php-cgiwrap + все необходимые модули php.

Скрипт автозапуска php-fastcgi

/etc/init.d/php-fastcgi

#!/bin/sh
#
### BEGIN INIT INFO
# Provides: php-fastcgi
# Required-Start: $all
# Required-Stop: $all
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start and stop php-cgi in external FASTCGI mode
# Description: Start and stop php-cgi in external FASTCGI mode
### END INIT INFO
#
# Do NOT "set -e"
# Default values are enclosed in []PATH=/usr/sbin:/usr/bin:/sbin:/bin

# Start php-fastcgi? [no]
START=yes

# Read configuration data
NAME=php-fastcgi
DESC="php-cgi runing in external FASTCGI mode"
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME

# Daemon pathname and args: IP=[127.0.0.1], port=[9000]
# /usr/bin/php-cgi links to -> /etc/alternatives/php-cgi -> /usr/bin/php5-cgi
DAEMON=/usr/bin/php-cgi
DAEMON_ARGS="-q -b 127.0.0.1:9000"

# Which user runs PHP? [www-data]
EXEC_AS_USER=www-data

# php-cgi env. variables: spawned children [5] , concurrent requests [1000]
PHP_FCGI_CHILDREN=5
PHP_FCGI_MAX_REQUESTS=125
export PHP_FCGI_CHILDREN PHP_FCGI_MAX_REQUESTS

# Exit if php-cgi is not installed
[ -x "$DAEMON" ] || exit 0

# Load rcS variable settings and set (re)start/stop verbosity
[ -f /etc/default/rcS ] && . /etc/default/rcS
VERBOSE=yes

# Define LSB log_* functions.
# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
. /lib/lsb/init-functions

# If $START not 'yes' AND we are not stopping the $DAEMON
if [ "$START" != "yes" -a "$1" != "stop" ]; then
log_warning_msg "To enable $NAME, edit /etc/init.d/$NAME and set
START=yes"
exit 0
fi

do_start()
{
# Return values: 0=started ok,1=already running,2=unable to start
start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON \
--test > /dev/null || return 1
start-stop-daemon --start --quiet --background \
--chuid $EXEC_AS_USER --pidfile $PIDFILE --make-pidfile \
--exec $DAEMON -- $DAEMON_ARGS \
|| return 2
}

do_stop()
{
# Return values: 0=stopped ok,1=already stopped,2=unable to stop,
# other if a failure occurred
start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 \
--pidfile $PIDFILE > /dev/null # --name $DAEMON
RETVAL="$?"
[ "$RETVAL" = 2 ] && return 2
# Wait for children to finish too.
start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 \
--exec $DAEMON
[ "$?" = 2 ] && return 2
# Many daemons don't delete their pidfiles when they exit.
rm -f $PIDFILE
return "$RETVAL"
}

case "$1" in
start)
[ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC"
do_start
case "$?" in
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
esac
;;
stop)
[ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC"
do_stop
case "$?" in
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
esac
;;
restart|force-reload)
log_daemon_msg "Restarting $DESC"
do_stop
case "$?" in
0|1)
do_start
case "$?" in
0) log_end_msg 0 ;;
1) log_end_msg 1 ;; # Old process is still running
*) log_end_msg 1 ;; # Failed to start
esac
;;
*)
# Failed to stop
log_end_msg 1
;;
esac
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
exit 3
;;
esac

февраля 18, 2009

Virtualbox на OpenSuse 11.1

Единственно, что надо сделать после простейшей установки - добавить пользователей работающих с VirtualBOX в группу vboxusers.

февраля 17, 2009

OpenSuse 11.1

После полутора лет использования убунты на десктопе решил попробовал другой дистрибутив. О причинах не распространяюсь: убунта - отличный дистрибутив для всех. Выбор пал на RussianFedora 10. Но как то странно было увидеть в дистрибутиве с "говорящим названием" на начальном этапе установки уже позабывшиеся с мохнатых времен "крокозябры". Официальную федору 10 ставил уже на английском. Репозиторий Russian Fedora в обоих случаях конфликтовал с ливной. И дальше мелочь на мелочи, из-за которых портится общее впечатление. Итог - "вечная бета".

Зато потом открыл для себя линукс, который устраивает всем "из коробки" - от набора ПО (а я устанавливал с liveCD, а не с DVD!) и фреймбуфера до дефолтной темы и шрифтов, которые так и оставил - понравилось. OpenSuse сейчас на ноутбуке, основном рабочем компьютере и дома на десктопе. Набор ПО везде одинаковый. Первая установка и настройка заняла около часа. Потом штатными средствами перенес все установленное ПО и настройки сервис-паком с помощью штатных средств. Особенно порадовали YasT и документация.

Ставил по совету коллеги: "Мастерство не пропьешь, а новелл - стрелянный воробей в дистростроительстве".

p.s. Не удивляйтесь - я и сам удивлен.

февраля 09, 2009

ZFS Time Slider рекомендую к просмотру и прочтению

1. вот здесь http://webcast-west.sun.com/interactive/09B12437/index.html скринкаст "Whats new in OpenSolaris 2008.11"

2. И весьма эффектный ZFS Time Slider: http://blogs.sun.com/erwann/entry/zfs_on_the_desktop_zfs