Архив метки: Debian

Перенос репозитория svn одной командой

$ svnadmin dump /var/lib/svn/myrepo/ | gzip -cf | ssh alexwinner@another.comp » svnadmin load /var/lib/svn/myrepo/ < `gunzip -cf`"

Эта команда создает дамп репозитория subversion на одном компьютере, на лету gzip'ит
его для большей скорости передачи по сети, на новом компьютере распаковывает и создает из этого дампа новый репозиторий.
Учтите, что перед этим на том сервере, где будет новый репозиторий, следует выполнить команду:

svnadmin create /var/lib/svn/myrepo

Автор: AlexWinner
Дата публикации: 2010-10-18T08:27:00.000-07:00

Отличный FAQ по apt-get в Debian (Ubuntu)

Q: Как обновить список пакетов?
Aapt-get update пройдет по всему списку указанному у вас в/etc/apt/sources.list и обновит списки пакетов по всем репозиториям.
Q: Списки я обновил, как теперь обновить сами пакеты?
Aapt-get upgrade — менее «интеллектуальный» вариант, обновляющий пакеты, которые есть в системе;
apt-get dist-upgrade — более «интеллектуальный» вариант, который следит за тем, не сменили ли пакеты имя и пытающийся обновлять более важные пакеты даже ценой удаления менее важных.
Q: А я не хочу все обновлять, как мне обновить только один пакет?
A: Точно так же, как и установка пакета: apt-get install <пакет>
Q: Как удалить пакет?
Aapt-get remove <пакет>
Q: А после удаления точно ничего от пакета не останется?
A: Для того, чтобы точно не осталось, лучше пользоваться apt-get remove --purge <пакет>
Q: Как мне узнать, как называется пакет для какой-то определенной цели?
A: Попробуйте поиск по ключевым словам при помощи apt-cache search <слова>
Q: Мне принесли компакты дистрибутива, которых у меня не было, как мне их добавить?
Aapt-cdrom add должно помочь
Q: Мне кажется, что меня взломали и что-то сделали с <пакетом>
Aapt-get install --reinstall вернет пакет к изначальному состоянию, то есть такому, какой он был на свежеустановленной системе.
Q: Очень хочется создать локальное зеркало, в какую сторону смотреть?
Aapt-move скорее всего решит полностью вашу проблему, для него достаточно указать, где лежит архив файлов и куда выложить ваше зеркало.
Q: А подробнее про apt-move можно? А: Можно:
apt-move update — переносит из /var/cache/apt/archives пакеты в директорию локального зеркала (указывается в /etc/apt-move.conf как переменная LOCALDIR=path_to).
По сути apt-move update является выполнением последовательности команд

$ apt-move get
$ apt-move move
$ apt-move delete
$ apt-move packages

apt-move get — формирует мастер-файл;
apt-move move — переносит пакеты из кэша apt в локальное зеркало;
apt-move delete — удаляет устаревшие пакеты;
apt-move packages — создает Packages.gz и Sources.gz дерева локального зеркала
Q: У меня пакеты все уже удалени из кэша, а друг тоже хочет весь «свежак», который у меня устанговлен…
A: Простой скрипт, выполненный в пустом каталоге, соберет в нем пакеты, которые установлены в системе:

dpkg --get-selections | 
grep -v "deinstall" |
awk '{print $1}' |
xargs dpkg-repack

Q: Есть подозрение, что из-за моих экспериментов в системе много мусора…
A: Попробуйте пакет debfoster, он при первом запуске спросит у вас о необходимости пакетов и удалит все лишнее.
Q: Где по умолчанию лежат пакеты, которые мне скачал apt-get?
A: в /var/cache/apt/archives
Q: Как мне поставить один *.deb пакет в систему?
A: При условии того, что удовлетворены все зависимости, dpkg -i <пакет>приведет к желаемому результату.
Q: Как заставит apt работать через proxy сервер?
A: Либо установив переменную окружения при помощи

export http_proxy="http://login:password@xxx.xxx.x.xx:yyyy"

либо прописав в файл /etc/apt/apt.conf строку

Acquire::http::Proxy "http://xxx.xxx.xx:yyyy";

где xxx.xxx.xx — имя вашего прокси, yyyy — порт
Q: Я хочу определить в каком пакете необходимый мне файл (например,libodbc.so).
А:
apt-file — утилита поиска по содержимому пакетов.
apt-file update — получает файл Contents-.gz, следует учесть, что исходя из того, что проект Debian довольно большой, т
о и файл получится соответствующий. apt-file search <файл> — поиск пакета с указанным файлом.
Пример:

apt-file search libodbc.so
unixodbc: usr/lib/libodbc.so.1
unixodbc: usr/lib/libodbc.so.1.0.0
unixodbc-dev: usr/lib/libodbc.so

Q: А как просмотреть полный список содержимого пакета?
Аapt-file list <пакет> — отображает содержимое указанного пакета
Q: Я больше не собираюсь использовать apt-file, а Contents-.gz занимает место на диске.
Аapt-file purge удалить все Contents-.gz.
По поводу дополнительных опций — man apt-file

Q: Как мне найти неиспользуемые (осиротевшие) пакеты?
Аdeborphan без указания ключа осуществляет поиск в разделе библиотек, с указанием ключа -a поиск ведется во всех разделах. Имеется и интерфейс кdeborphan — orphaner, поставляются в одном пакете.
Q: есть локальный репозиторий из дистрибутивных дисков. Packages.gz сделал, а вот как сделать Contents-.gz для того, чтобы apt-file'ом можно было пользоваться?
A:

apt-ftparchive contents . | gzip > Contents-i386.gz

также с помощью apt-ftparchive можно создавать Sources.gz и Packages.gz

apt-ftparchive sources . | gzip > Sources.gz
apt-ftparchive packages .| gzip > Packages.gz

Q: хочется создать дистрибутив некоторых выбранных пакетов и залить его на болванки. При этом хочется поместить на болванки и пакеты, не установленные в моей системе. Как это объяснить apt-move?
A: Вариант номер один — посмотреть в сторону jidgo, возможно, он вас устроит, вариант номер два — получить недостающие пакеты, но не устанавливать их в систему с помощью аpt-get install -d <пакеты>.
Q: У меня стоит мешанина из stabletestingunstable и даже кое-что изexperimental установил. Как мне сделать, чтобы все в таком виде и обновлялось?
A: Чтобы этого добиться, поместите следующую строку в /etc/apt/apt.conf:

APT::Default-Release "testing";

Затем, при установке пакетов из, например, нестабильного дистрибутива, просто используйте ключ -t:

$ apt-get -t unstable install имя_пакета

Помимо этого рекомендуем прочитать man apt-preferences


Всё честно взято отсюда:  http://citkit.ru/articles/130/

Автор: AlexWinner
Дата публикации: 2010-10-15T04:46:00.000-07:00

Разработка Flash под Linux (Debian & Ubuntu)

Встал тут передо мной вопрос, возможно ли писать программы на Flash (т.е. Action Script) под Linux. В моем случае линукс — это Debian. Как оказалось, можно.
Во-первых, надо скачать и установитьFlex SDK.
Для этого переходим по этой ссылке и скачиваем Open Source Flex SDK. Соглашаемся с Mozilla Public License и нажимаем по кнопке Download zip.
Распаковываем скачаннный архив в какую либо директорию. В моем случае это /tmp/flex:

$ 7z x flex_sdk_4.1.0.16076_mpl.zip -o/tmp/flex/

Готово, Flex скачан и установлен.
Во-вторых, создаем наше hello-world'ное flash приложение. Создаем файл hello.as и открываем его в любимом редакторе, например, в vim:

$ vim hello.as

Пишем в нем следующее:

package {
import flash.display.*;
import flash.text.*;
public class hello extends Sprite{
public function hello (){
var t:TextField = new TextField();
t.text = «hello actionscript 3»;
t.width = 300;
t.height = 200;
t.x = 50;
t.y = 20;
addChild(t);
}
}
}

В-третьих, надо скомпилировать этот файл:

$ /tmp/flex/bin/mxmlc hello.as

В директории, в которой мы находимся, появится скомпилированный swf-файл hello.swf.
И наконец, открываем его в любимом бразуре, например, в Google Chrome:

$ google-chrome hello.swf

И наслаждаемся результатом:)

Автор: AlexWinner
Дата публикации: 2010-06-27T08:42:00.000-07:00

RoR: связываем Ruby on Rails и Apache2

Про то, как установить Ruby On Rails, я писал в этой статье. Теперь же постараюсь описать, как запускать ROR-приложения под Apache2.
Итак, приступим.

Для начала надо установить сам Apache и библиотеки для поддержки fast-cgi для Apache и для Ruby:

apt-get install apache2 libapache2-mod-fcgid libfcgi-ruby1.8

После этого нужно установить мод passenger, который, собственно, служит для связки Apache и ROR.
Ставить его можно двумя способами:
1) Через RubyGems:

sudo gem install passenger
sudo passenger-install-apache2-module

Далее необходимо следовать инструкциям, выданным скриптом. В большинстве случаев дефолтные значения будут работоспособны. В конфиги апача придется добавить что-то вроде:

LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-2.0.6/ext/apache2/mod_passenger.so
PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-2.0.6
PassengerRuby /usr/bin/ruby1.8

2) Другой способ — установка из репозитория Debian.
Мода passenger нет в репозитории Lenny, он есть в бэкпортах, в тестируемом и нестабильном выпусках. Значит, для начала надо подключить что-то из них. Для подключения бэкпортов надо добавить следующую линию к файлу /etc/apt/sources.list::

deb http://www.backports.org/debian lenny-backports main contrib non-free

После чего надо обновить apt:

sudo aptitude update

,
и установить libapache2-mod-passenger:

sudo aptitude install libapache2-mod-passenger

.

Далее, необходимо настроить виртуальный хост для нашего приложения.

Создаем файл /etc/apache2/sites-available/rubytest

Вместо rubytest можно написать все, что угодно:)
В этом файле содержимое должно быть таким:


ServerName www.myrailssite.co.uk
DocumentRoot /var/www/railssite/current/public
RailsEnv production


Options ExecCGI FollowSymLinks
AllowOverride all
Order allow,deny
Allow from all

Где в DocumentRoot мы прописываем путь к директории public нашего приложения, ServerName — имя хоста, на котором вертится приложение.
После чего надо сделать символьную ссылку на этот файл в директории /etc/apache2/sites-enabled/ и обновить конфигурацию апача:

sudo ln -s /etc/apache2/sites-available/rubytest /etc/apache2/sites-enabled
sudo /etc/init.d/apache2 reload

Теперь, если открыть страницу www.myrailssite.co.uk в браузере, то мы увидим приветственную страницу Рельс:

Автор: AlexWinner
Дата публикации: 2010-06-02T04:57:00.000-07:00

Установка Ruby On Rails на Linux Debian (Ubuntu)

Расскажу о том, как ставить  фреймворк Ruby On Rails на Linux Debian (В случае с Ubuntu действия аналогичны).
Установка Ruby
а) Из репозитория:

sudo apt-get install ruby-full build-essential

б) Из исходников
Во-первых, надо установить пакеты, которые потребуются при компиляции:

sudo apt-get install build-essential libssl-dev libreadline5-dev zlib1g-dev

Затем скачиваем исходники в тарболе:

wget ftp://ftp.ruby-lang.org/pub/ruby/stable-snapshot.tar.gz

Распаковываем тарбол:

tar xzf stable-snapshot.tar.gz

Компилируем и устанавливаем:

$ cd ruby/
./configure
make
sudo make install

Проверяем работоспособность Ruby:

ruby -v

Должно появиться сообщение, подобное этому:

ruby 1.8.7p5000 (2009-02-22) [i686-linux]

Проверяем работоспособность библиотек:

ruby -ropenssl -rzlib -rreadline -e «puts :Hello»

В результате на экране должно появится следующее:

Hello

Установка RubyGems 
Установка через репозиторий:
Для этого необходимо выполнить следующую команду:

sudo apt-get install rubygems

Разработчки Rails не рекомендуют так делать. По их мнению, лучше устанавливать из исходников.
Установка RubyGems из исходников:
Для этого надо выполнить следующие действия:

$ cd ~
wget http://rubyforge.org/frs/download.php/45905/rubygems-1.3.2.tgz
tar xzvf rubygems-1.3.2.tgz
cd rubygems-1.3.2
sudo ruby setup.rb
sudo ln -s /usr/bin/gem1.8 /usr/bin/gem

Установка Rails
Установка с помощью RubyGems:
Это самый простой способ установить Rails. Для этого надо выполнить команду:

sudo gem install rails

В Ubuntu Karmic RubyGems устанавливает Rails не корректно, в этом случае можно воспользоваться установкой из репозитория через apt-get или aptitude
Установка из репозитория:

sudo apt-get install rails

Автор: AlexWinner
Дата публикации: 2010-06-01T14:09:00.000-07:00

Установка бесплатная панели управления сервером Webmin на Linux Debian

Из своего любопытства решил я посмотреть, какие бывают панели управления и конфигурации, как ими пользоваться. Причем хотелось найти именно бесплатную панель. Поэтому мой выбор остановился на Webmin. Как пишут ее создатели, webmin — это веб-интерфейс для системного администрирования unix-систем. Используя любой современный браузер, можно управлять аккаунтами пользователей, веб-сервером Apache, DNS и многим другим.
Тестировать webmin я решил на виртуальной машине с Linux Debian на борту.
О том, как надо устанавливать панель Webmin на Debian, можно почитать здесь — совсем ничего сложного.
Я выбрал установку через репозиторий, так как это дает возможность обновлять webmin намного проще, нежели скачивая каждый раз свежий deb-пакет. Кроме того, при установке из репозитория aptitude или apt-get сам разрешит все зависимости, не придется в ручную ставить пакеты типа perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl libmd5-perl.
Итак, добавляем репозиторий webmin в список репозиториев. Для этого надо добавить строчку «deb http://download.webmin.com/download/repository sarge contrib» в файл /etc/apt/sources.list.
После этого желательно установить gpg-key для этого репозитория. Выполняем для этого 2 команды:

wget http://www.webmin.com/jcameron-key.asc
sudo apt-key add jcameron-key.asc

Далее, обновляем список репозиториев и устанавливаем webmin:

sudo apt-get update
sudo apt-get install webmin

.
После того, как webmin установится на нашу систему, надо перебросить порт управления webmin'ом на виртуальную машину. Обычно это порт 10000. Как это сделать, я описал в предыдущей статье. Разумеется, если вы ставите webmin на реальную машину, ничего пробрасывать никуда не надо:)
И все, переходим на страницу https://localhost:10000, и видим приветствие webmin'a:

.

Автор: AlexWinner
Дата публикации: 2010-05-21T08:26:00.000-07:00