Автор: JackM 29.11.2010, 17:32
######################### Установка Ptokax #########################
Собственно мучился мучился и да собрал таки под gentoo x86_64
Процесс частично повторяется как и у всех
Установка необходимых библиотек
emerge -av make
emerge -av gcc
emerge -av zlib
emerge -av dev-lang/lua
emerge -av net-libs/lua
emerge -av luasocket
emerge -av dev-libs/tinyxml (можно установить сразу и лишь сделать симлинки для компиляции птоки)
Создадим каталог и скачаем ptokax
Код
cd /home/jackm/
wget http://www.czdc.org/PtokaX/0.4.1.2-nix-src.tgz
tar xfvz 0.4.1.2-nix-src.tgz
cd /home/jackm/Ptokax
cd tinyxml
*(если влом делать симлинки качаем tinyxml)
Код
wget "http://downloads.sourceforge.net/project/tinyxml/tinyxml/2.5.3/tinyxml_2_5_3.tar.gz"
tar -zxvf tinyxml_2_5_3.tar.gz
cp -R /home/jackm/PtokaX/tinyxml/tinyxml/* /home/jackm/PtokaX/tinyxml
make
если все прошло успешно увидите в конце
Код
a - /home/jackm/PtokaX/tinyxml/obj/tinystr.o
a - /home/jackm/PtokaX/tinyxml/obj/tinyxml.o
a - /home/jackm/PtokaX/tinyxml/obj/tinyxmlerror.o
a - /home/jackm/PtokaX/tinyxml/obj/tinyxmlparser.o
Подправляем скрипт компиляции makefile
Код
cd ..
nano -w makefile
находим строку
Код
$(CXX) -lpthread -lz -llua5.1 -lrt -o PtokaX \
меняем на
Код
$(CXX) -lpthread -lz -lrt -ldl -o PtokaX \
далее ищем
Код
$(CURDIR)/tinyxml/tinyxml.a
меняем на
Код
$(CURDIR)/tinyxml/tinyxml.a /usr/lib64/liblua.a
сохранаем все это F2 и собираем.
Код
make
Если все правильно в конце появится строка
Код
/home/jackm/PtokaX/tinyxml/tinyxml.a /usr/lib64/liblua.a
######################### Добавляем библиотеки для скрипта StatPX #########################
Прикручиваем StatPX. Вся проблема как оказалось в отсутствие в портеже библиотек lua-gd, но мир не без добрых людей ....
Забираем все с оверлея.
Собираем
layman должен быть собран с поддержкой subversion
Код
echo "app-portage/layman subversion" >> /etc/portage/package.use
emerge -av layman
также потребуются дополнительные пакеты
Код
emerge -av dev-util/subversion
emerge -av dev-util/git
нужны для поддержки оверлеев, обновляющихся через SVN или git репозитории. По умолчанию, layman работает только с rsync
Для подключения layman необходимо поправить конфигурационный файл /etc/make.conf
Код
echo "source /var/lib/layman/make.conf" >> /etc/make.conf
Загружаем список подключаемых оверлеев
Код
layman --fetch
Для просмотра всех доступных для подключения оверлеев
Код
layman --list
Также можно обновить все подключенные оверлеи
Код
layman -f -a sunrise
layman -s sunrise
layman -S
далее устанавливаем
Код
emerge -av lua-gd
emerge -av media-libs/gd-2.0.35-r2
ln -s /usr/lib64/lua/5.1/gd.so /home/jackm/PtokaX/libs/gd.so
после запуска в логах проверяем надо ли куда еще добавить
Автор: JackM 30.11.2010, 11:27
############### Start deamon ##################
Сделал скрипт запуска и остановки
создадим файл запуска
Код
nano -w /etc/init.d/ptokax
и добавим в него следующее
Код
#!/sbin/runscript
# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
depend() {
need net
}
start() {
ebegin "Starting Ptokax"
start-stop-daemon --start --make-pidfile --quiet --background \
--pidfile /var/run/ptokax.pid \
--chdir /home/jackm/PtokaX \
--exec /home/jackm/PtokaX/PtokaX -- -c /home/jackm/PtokaX \
eend $?
}
stop() {
ebegin "Stopping PtokaX"
start-stop-daemon --pidfile /var/run/ptokax.pid --stop --quiet --retry 20 \
eend $?
}
reload() {
if [ ! -f /var/run/ptokax.pid ]; then
eerror "PtokaX is not running."
return 1
fi
ebegin "Reloading PtokaX"
kill -HUP `cat /var/run/ptokax.pid` &>/dev/null
eend $?
}
Код
chmod +x /etc/init.d/ptokax
Добавим его в автозагрузку
Код
rc-update add ptokax default
я больше люблю все запускать от рута, но не совету так делать. start-stop deamon --help найдете нужный параметр для пользователя
все.
Автор: mariner 30.11.2010, 18:27
Цитата
я больше люблю все запускать от рута
ну и сам себе злой буратино. Птокой от рута тебе могут все снести. чего тока стоит выполнение в системе команды rf -rf /*. Из птоки её можно отлично кинуть. так же как и добавить юзера на сервер.
Автор: mariner 30.11.2010, 20:24
ага, опечатался. Но все ведь поняли к чему веду)
Автор: Кто-то_из_вне... 3.1.2011, 1:03
Код
emerge -av make
emerge -av gcc
Убил бы, это же Gentoo!!!1 Это тут есть
по умолчанию...
про скрипт я вообще молчу...
Код
start() {
ebegin "Starting Ptokax"
start-stop-daemon --start --make-pidfile --quiet --background \
--pidfile /var/run/ptokax.pid \
--chdir /home/jackm/PtokaX \
--exec /home/jackm/PtokaX/PtokaX -- -c /home/jackm/PtokaX \
eend $?
}
Не проще ли вынести все это в
/etc/conf.d/ptokax ?