Показаны сообщения с ярлыком linux. Показать все сообщения
Показаны сообщения с ярлыком linux. Показать все сообщения

вторник, 18 марта 2014 г.

Copy.com init.d script for console sync

I'm testing new cloud storage Copy.com. This service has console client for Linux and it is great for backup stuff. If you register with this link, you will get 20Gigs of space.

Now. Copy.com provides only linux binaries with no init.d script. We can create our own:

#!/bin/sh
### BEGIN INIT INFO
# Provides:          CopyAgent
# Required-Start:    $local_fs $network
# Required-Stop:     $local_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: CopyAgent
# Description:       CopyConsole (Copy cloud storage by Barracuda) service
### END INIT INFO

RUN_AS="root"
HOME=`grep $RUN_AS /etc/passwd | cut -d":" -f6`
CC="$HOME/copy/x86/CopyConsole"

start() {
   echo "Starting CopyConsole..."
       if [ -x $CC ]; then
           start-stop-daemon -b -o -c $RUN_AS -S -u $RUN_AS -x $CC -- -daemon
       fi
}

stop() {
   echo "Stopping CopyConsole..."
       if [ -x $CC ]; then
           start-stop-daemon -o -c $RUN_AS -K -u $RUN_AS -x $CC
       fi
}

status() {
       dbpid=`pgrep -u $RUN_AS CopyConsole`
       if [ -z $dbpid ] ; then
           echo "CopyConsole for user $RUN_AS: not running."
       else
           echo "CopyConsole for user $RUN_AS: running (pid $dbpid)"
       fi
}

case "$1" in

   start)
       start
       ;;
   stop)
       stop
       ;;
   restart|reload|force-reload)
       stop
       start
       ;;
   status)
       status
       ;;
   *)
       echo "Usage: /etc/init.d/copy.com {start|stop|reload|force-reload|restart|status}"
       exit 1

esac

exit 0

Do now forget to setup proper user to run from and check your installation path in CC property.

понедельник, 3 февраля 2014 г.

четверг, 16 января 2014 г.

[Linux] Setting up Oracle JRE on linux system

Quick HowTo set up oracle java runtime engine:
  1. download Oracle JRE tarball from Oracle Java SE Downloads 
  2. make dir/copy to/cd to for java:
    mkdir -p /usr/java/latest && cp ./jre* /usr/java/latest && cd /usr/java/latest
  3. unpack: tar zxvf jre*
  4. setup alternatives:
    update-alternatives --install "/usr/bin/java" "java" "/usr/java/latest/jre1.7.0_<version>/bin/java" 1
  5. setup this java version active:
    update-alternatives --set java /usr/java/latest/jre1.7.0_<version>/bin/java
  6. check it:
    java -version
  7. PROFIT!!1!11

вторник, 22 октября 2013 г.

Virtual Box Console commands

As something of a follow-up post to the previous entry, here’s a quick recipe for creating a Virtual Machine using the VirtualBox command line tools:

We’re using Windows Server 2008 64bit as an example, modify to taste.

$ VM='Windows-2008-64bit'

Create a 32GB “dynamic” disk.

$ VBoxManage createhd --filename $VM.vdi --size 32768

You can get a list of the OS types VirtualBox recognises using:

$ VBoxManage list ostypes

Then copy the most appropriate one into here.

$ VBoxManage createvm --name $VM --ostype "Windows2008_64" --register

Add a SATA controller with the dynamic disk attached.

$ VBoxManage storagectl $VM --name "SATA Controller" --add sata \
> --controller IntelAHCI
$ VBoxManage storageattach $VM --storagectl "SATA Controller" --port 0 \
> --device 0 --type hdd --medium $VM.vdi

Add an IDE controller with a DVD drive attached, and the install ISO inserted into the drive:

$ VBoxManage storagectl $VM --name "IDE Controller" --add ide
$ VBoxManage storageattach $VM --storagectl "IDE Controller" --port 0 \
> --device 0 --type dvddrive --medium /path/to/windows_server_2008.iso

Misc system settings.

$ VBoxManage modifyvm $VM --ioapic on
$ VBoxManage modifyvm $VM --boot1 dvd --boot2 disk --boot3 none --boot4 none
$ VBoxManage modifyvm $VM --memory 1024 --vram 128
$ VBoxManage modifyvm $VM --nic1 bridged --bridgeadapter1 e1000g0

Configuration is all done, boot it up! If you’ve done this one a remote machine, you can RDP to the console via vboxhost:3389.

$ VBoxHeadless -s $VM

Once you have configured the operating system, you can shutdown and eject the DVD.

$ VBoxManage storageattach $VM --storagectl "IDE Controller" --port 0 \
> --device 0 --type dvddrive --medium none

Finally, it’s a good idea to take regular snapshots so that you can always revert back to a known-good state rather than having to completely re-install.

$ VBoxManage snapshot $VM take <name of snapshot>

And, if you need to revert back to a particular snapshot:

$ VBoxManage snapshot $VM restore <name of snapshot>

Enjoy!

Readline shortcuts

Readline shortcuts

GNU Readline is the library used to make advanced command-line wizardry convenient and conistent across a multitude of command-line applications. These programs include bash, bc, ftp, gnuplot, gpg, ksh, mysql, psql, python, smbclient, xmllint and zsh.
The cheatsheet at the right contains a summary of many of the useful line editing command shortcuts which are available in all applications that use libreadline.
See the documentation on the Readline website for even more shortcuts with more elaborate descriptions.

Emacs keys Action Scope Direction/Place
Moving around Ctrl-b Move the cursor one character ⇦ to the left
Ctrl-f Move the cursor one character ⇨ to the right
Alt-b Move the cursor one word ⇦ to the left
Alt-f Move the cursor one word ⇨ to the right
Ctrl-a Move the cursor ⇤ to the start of the line
Ctrl-e Move the cursor ⇥ to the end of the line
Ctrl-x-x[1] Move the cursor ⇤⇥ to the start, and to the end again
Cut, copy
and paste
Backspace Delete the character ⇦ to the left of the cursor
DEL
Ctrl-d
Delete the character underneath the cursor
Ctrl-u Delete everything ⇤ from the cursor back to the line start
Ctrl-k Delete everything ⇥ from the cursor to the end of the line
Alt-d Delete word ⇨ untill before the next word boundary
Ctrl-w Delete word ⇦ untill after the previous word boundary
Ctrl-y Yank/Paste prev. killed text at the cursor position
Alt-y Yank/Paste prev. prev. killed text at the cursor position
History Ctrl-p Move in history one line ⇧ before this line
Ctrl-n Move in history one line ⇩ after this line
Alt-> Move in history all the lines ⇩ to the line currently being entered
Ctrl-r Incrementally search the line history ⇧ backwardly
Ctrl-s[2] Incrementally search the line history ⇩ forwardly
Ctrl-J End an incremental search
Ctrl-G Abort an incremental search and restore the original line
Alt-Ctrl-y Yank/Paste arg. 1 of prev. cmnd at the cursor position
Alt-.
Alt-_
Yank/Paste last arg of prev. cmnd at the cursor position
Undo Ctrl-_
Ctrl-x
Ctrl-u
Undo the last editing command; you can undo all the way back to an empty line
Alt-r Undo all changes made to this line
Ctrl-l Clear the screen, reprinting the current line at the top
Ctrl-l Clear the screen, reprinting the current line at the top
Completion TAB Auto-complete a name
Alt-/[3] Auto-complete a name (without smart completion)
Alt-? List the possible completions of the preceeding text
Alt-* Insert all possible completions of the preceeding text
Transpose Ctrl-t Transpose/drag char. before the cursor ↷ over the character at the cursor
Alt-t Transpose/drag word before the cursor ↷ over the word at/after the cursor

вторник, 8 октября 2013 г.

Installing b43 wireless on ubuntu

Download this:
http://downloads.openwrt.org/sources/wl_apsta-3.130.20.0.o
and
http://mirror2.openwrt.org/sources/broadcom-wl-4.150.10.5.tar.bz2
Copy them into your installation flashdrive
Install b43-fwcutter from /cdrom/pool/main/b/ there will be .deb package
Than:

tar -xjvf broadcom-wl-4.150.10.5.tar.bz2
sudo b43-fwcutter -w /lib/firmware wl_apsta-3.130.20.0.o
sudo b43-fwcutter --unsupported -w /lib/firmware broadcom-wl-4.150.10.5/driver/wl_apsta/wl_prebuilt.o
sudo chmod 775 /lib/firmware/b43
sudo chmod 775 /lib/firmware/b43legacy
sudo modprobe -r b43
sudo modprobe b43

Thats it :) Works on Ubuntu 13.04

пятница, 4 октября 2013 г.

Sphinx on Gentoo

# Обновить portage
emerge --sync
emerge portage

# Установить sphinx
USE="debug id64 mysql -postgres stemmer test" emerge app-misc/sphinx

# Скопировать или переименовать конфигурационный файл
cd /etc/sphinx
cp sphinx.conf.dist sphinx.conf

# Настроить разрешения, чтоб группа web могла редактировать конфигурационный файл
chmod 664 /etc/sphinx/*
chown root:web /etc/sphinx/*

# Добавить пользователя и группу sphinx
groupadd -g 494 sphinx
useradd -g sphinx -u 494 -d /var/lib/sphinx -s /bin/bash -c "Sphinx server" sphinx

# Создать папки, где будут храниться логи, pid-файлы и данные
mkdir -p /var/log/sphinx
mkdir -p /var/run/sphinx
mkdir -p /var/lib/sphinx/data

# Настроить правильные разрешения на эти папки
chown sphinx:sphinx /var/log/sphinx
chown -R sphinx:sphinx /var/lib/sphinx
chown sphinx:sphinx /var/run/sphinx

# Добавить в /etc/sudoers что-то типа
%web ALL=NOPASSWD:/etc/init.d/searchd
%web ALL=(sphinx) NOPASSWD:/usr/bin/indexer

# Проверить от пользователя группы web
sudo -u sphinx /usr/bin/indexer
sudo /etc/init.d/searchd restart|stop|start

# Установить расширения php
PHP_TARGETS="php5-4" emerge pecl-sphinx

Так же  пришлось немного подправить init скрипт, чтобы запускать свинкс от моего пользователя

четверг, 29 августа 2013 г.

[RPM] Встроенные макросы

Built-in macros

RPM includes a host of built-in macros, including the following useful directories:
%_prefix /usr
%_exec_prefix %{_prefix}
%_bindir %{_exec_prefix}/bin
%_sbindir %{_exec_prefix}/sbin
%_libexecdir %{_exec_prefix}/libexec
%_datadir %{_prefix}/share
%_sysconfdir %{_prefix}/etc
%_sharedstatedir %{_prefix}/com
%_localstatedir %{_prefix}/var
%_libdir %{_exec_prefix}/lib
%_includedir %{_prefix}/include
%_oldincludedir /usr/include
%_infodir %{_prefix}/info
%_mandir %{_prefix}/man
The example directories shown above come from the standard RPM macro file, /usr/lib/rpm/macros, instead of the Red Hat-specific file, /usr/lib/rpm/redhat/macros, which holds:
%_prefix /usr
%_sysconfdir /etc
%_localstatedir /var
%_infodir /usr/share/info
%_mandir /usr/share/man
%_initrddir %{_sysconfdir}/rc.d/init.d
%_defaultdocdir %{_usr}/share/doc

[DEBIAN] Устанавливаем локаль ru_RU.UTF8

apt-get install locales - на все вопросы вносим Y. vi /etc/environment - открываем файл на редактирование и удаляем из него любые записи и вносим одну: LANG="ru_RU.UTF-8"
Помощь по использованию vi находится здесь: Vi или откройте файл через WinSCP
Редактируем файл /etc/locale.gen тем же vi: vi /etc/locale.gen - В списке находим ru_RU.UTF-8 UTF-8 и удаляем значек # перед записью. Сохраняем файл.
locale-gen - запускаем команду для генерации локали. Пример ниже:
root@test:~# locale-gen
Generating locales (this might take a while)...
ru_RU.UTF-8... done
Generation complete.
Перезаходим на сервер. В клиенте, который Вы используете для связи с сервером делаем следующее (большинство людей использует Putty: SSH):
После того как Вы вошли на сервер, кликните на верхнюю часть окна Putty правой кнопкой мыши, выше черного. Выберите Change Settings -> Window - Translation -> из списка выберите UTF-8 и нажмите Apply внизу.
Теперь Вы сможете видеть русский язык в окне связи с сервером при выполнении различных команд.

четверг, 30 мая 2013 г.

How do I find what dependencies a rpm file has?

RPM is a Package Manager for popular distribution such as Red Hat, Suse and many others. It is a powerful command line package management system for installing uninstalling, verifying, querying, and updating Linux computer software packages.
You can finding out what dependencies a rpm file has i.e. it will tell you what you need to install package with following command:
rpm -qpR {.rpm-file}
rpm -qR {package-name}


Otherwise you can try to install it end will get error message if some of the deps wouldnot be installed.
rpm -ivh {.rpm-file}

вторник, 9 апреля 2013 г.

[PUPPET] Ставим пакеты из backports

Возникла необходимость поставить пакет из бекпортов через apt-get с помощью паппета.
Для этого необходимо проделать примерно следующее (кусок манифеста из рабочего проекта)

class collectd {
# directories and filenames setup
    $apt_sources_dir = '/etc/apt/sources.list.d'
    $apt_sources_file = 'backports.list'

    file { "{$apt_sources_dir}/{$apt_sources_file}":
        ensure    => file,
        content    => 'deb http://backports.debian.org/debian-backports squeeze-backports main',
    }
#
    exec { "apt-get update":
        command => "/usr/bin/apt-get update",
        onlyif => "/bin/sh -c '[ ! -f /var/cache/apt/pkgcache.bin ] || /usr/bin/find /etc/apt/* -cnewer /var/cache/apt/pkgcache.bin | /bin/grep . > /dev/null'",
    }
# installing package
    package { "collectd-core/squeeze-backports":
        ensure => "latest",
        require => Exec['apt-get update'],
    }
}

понедельник, 10 декабря 2012 г.

[STAT] Collectd - Установка, настройка, использование.

Что это такое?

Collectd - это небольшой демон, который каждые 10 секунд собирает статистку об использовании ресурсов системы. Есть возможность сбора статистики для нескольких хостов и отсылка её на сервер, который занимается отрисовкой красивых графиков.
Основное отличие этого сборщика в том, что он работает по принципу push, а не poll/pull. Т.е. он "висит" и слушает, а сервера ему сами статистику присылают. :)

Что мы будем делать?

Что я хочу описать в этом посте:
  • Установка.
  • Настройка общая.
  • Настройка отдельных плагинов.
  • Настройка slave серверов, которые будут слать нам на главный сервер свою статистику работы.
  • Настройка нотификаций по email.
По поводу последнего пункта -- это будет только то, что мне подходит и интересно, все представленные интерфейсы я рассматривать не буду.

вторник, 27 ноября 2012 г.

[apache] Изменяем маску созаваемых файлов и директорий под апачем

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


emerge www-apache/mod_umask

Ну и потом в /etc/apache2/modules.d/mod_umask.conf раскомментируем нужную строчку. И конечно же перезапустим апач.

Вот и все.

четверг, 18 октября 2012 г.

Ставим Jenkins на CentOS 6

Нашел 2 варианта через tomcat5 и через yum.

Вариант установки через YUM

Качаем репу с сайта Jenkins'a
sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo

Либо пишем репу вручную:
# vi  /etc/yum.repos.d/jenkins.repo
Then paste the following and save (ESC+w+q)
[jenkins]
name=Jenkins
baseurl=http://pkg.jenkins-ci.org/redhat/
gpgcheck=1
Далее добавляем GPG ключ:
sudo rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key

Обновляем YUM и ставим:
yum install jenkins

Если все ок, то jenkins будет доступен по адресу http://yourhost:8080/jenkins

Вариант установки через Tomcat 5

 Ставим Java, Ant и Tomcat5
yum install -y java ant
yum install tomcat5 tomcat5-webapps tomcat5-admin-webapps

Then we need to add Tomcat to our server startup
chkconfig --add tomcat5
Now edit Tomcat configuration file to add Hudson home directory (We will use /data/hudson/)
vi /etc/tomcat5/tomcat5.conf
Add at the bottom of the file
# If you wish to further customize your tomcat environment,
# put your own definitions here
# (i.e. LD_LIBRARY_PATH for some jdbc drivers)
# Just do not forget to export them :)
HUDSON_HOME=/data/hudson/
CATALINA_OPTS="-DHUDSON_HOME=/data/hudson/ -Xmx512m"

Ставим Hudson (Jenkins) 2.0.0

Идем в директорию WebApps
cd /var/lib/tomcat5/webapps/
Качаем последнюю версию Hudson с сайта http://hudson-ci.org/ или Jenkins с сайта http://jenkins-ci.org/
wget http://java.net/projects/hudson/downloads/download/war/hudson-2.0.0.war
mv hudson-2.0.0.war hudson.war
Теперь создадим рабочую директорию для Hudson и дадим права на нее Tomcat'у
mkdir /data/hudson
chown tomcat.tomcat /data/hudson/
Ну и перезапустим Tomcat
 /etc/init.d/tomcat5 restart
Если все хорошо, то у Вас успешно откроется Hudson/Jenkins по адресу http://yourhost:8080/hudson/

Важное дополнение при установке на CentOS

При установке java поставится версия GCJ, которая НЕ работает с Jenkins'ом!

Чтобы в этом убедиться, вы можете выполнить команду
java -version
java version "1.5.0"
gij (GNU libgcj) version 4.4.6 20110731 (Red Hat 4.4.6-3)

Эта версия не совместима в Jenkins, необходимо поставить OpenJDK версию Java. Делается это следующим образом.
yum remove java
yum install java-1.6.0-openjdk

Теперь у Вас установлена правильная версия:
java -version
java version "1.6.0_22"
OpenJDK Runtime Environment (IcedTea6 1.10.6) (rhel-1.43.1.10.6.el6_2-i386)
OpenJDK Client VM (build 20.0-b11, mixed mode)
OpenJDK Client VM (build 20.0-b11, mixed mode)

четверг, 6 сентября 2012 г.

[GENTOO] Установка и настройка DropBox 1.2.x в Gentoo Linux

Сам DropBox есть в дереве портажей, однако он какойто урезаный.
Например нет возможности выбрать директории для синка либо исключить директории из синхронизации. Есть альтернативный вариант, написанный на python но о нем не в этом посте.

четверг, 26 июля 2012 г.

Как организовать LiveHelp для посетителей Вашего сайта?

Как организовать LiveHelp для посетителей Вашего сайта?
Случайно озадачился этим вопросом и наткнулся на очень неплохой скрипт: мибью мессенджер
Мибью Веб Мессенджер (ранее Open Веб Мессенджер) это бесплатное open-source приложение для онлайн-консультирования. Оно позволяет добавить на сайт кнопку прямой связи с вашими операторами, при этом все общение происходит прямо в браузере.

Плюсы очевидны:
  • Бесплатно!
  • Удобная админка
  • Ставится на СВОЙ сайт полностью
  • Удобная админка
  • Удобный вывод ожидающих клиентов
Минусы:
  • Ставится на СВОЙ сайт полностью
  • Других пока не нашел :)
Тут необходимо сделать небольшую ремарку почему пункт  "Ставится на СВОЙ сайт полностью" и в плюсах и в минусах. В плюсах оно потому что мы имеем полный контроль над работой скрипта, поскольку такие сервисы обычно предоставляются за деньги и основной скрипт лежит у "кого-то" на сервере, что для некоторых админов будет немного не удобно как по тюнингу, так и по безопасности. В минусах -- потому что если на сайте будет много посетителей будет создаваться дополнительная нагрузка на сервер, что может замедлить работу сайта. А если сервер (хостинг) будет заказан в каком-нить датацентре, то за доп ресурсы сервера придется еще и доплачивать. Однако если сервер стоит локально в компании, то тут уж будет зависеть от мощностей сервера и возможностей компании, к тому же LiveHelp можно вообще на отдельный сервер повесить, благо Linux много не кушает :)

Собственно адрес где это можно все потыкать и скачать:  http://mibew.org/ru/demo.php