Tags Posts tagged with "deb"

deb

przez -
5 1889
Canonical Ubuntu

Jakiś czas temu Canonical przedstawiło wszystkim system Ubuntu Core z transakcyjnymi pakietami Snappy. Jest to specjalna i minimalistyczna odmiana Ubuntu z systemem plików rootfs, która pozwala na stworzenie swoich własnych obrazów do konkretnych potrzeb. Wiele osób nawet domniemywało, że w niedługim czasie wszystkie systemu Ubuntu będą tylko i wyłącznie oparte o nowy typ pakietów. Wszelkie wątpliwości rozwiał Will Cooke z zespołu Canonical.

Zapewnił on, że Canonical nie zamierza porzucać dotychczas wykorzystywanych pakietów DEB z Debiana. Natomiast w niedługiej przyszłości pojawią się dwie wersje Ubuntu. Jedna będzie bazowała na pakietach .deb i środowisku Unity 7, druga natomiast na pakietach Snappy i środowisku Unity 8. Wszyscy zainteresowani są proszeni o śledzenie list mailingowych.

Paczki, RPM

Istnieje wiele metod tworzenia paczek typu RPM, DEB, PKG jak chodźby pisanie rpmspeców. Ale może być prościej. Jednym z łatwiejszych sposobów jest skorzystanie z oprogramowania Effing Package Management, w skrócie fpm. Kompilując ręcznie program, możemy zbudować z niego paczkę, którą następnie zainstalujemy na pozostałych naszych serwerach.

W artykule skupimy się na dystrybucjach typu CentOS oraz Red Hat. Samo oprogramowanie fpm działa również na Debinach i Ubuntu. Naszym celem będzie zbudowanie paczki RPM dla ręcznie skompilowanej wersji serwera memcached.

Instalacja Effing Package Management

Wiele dystrybucji Linuksa nie posiada na starcie zainstalowanych plików nagłówkowych C dla języka Ruby oraz samego kompilatora. Instalujemy potrzebne oprogramowanie wraz z fpm’em za pomocą poleceń:

yum -y install ruby-devel rpmbuild gcc
gem install fpm

Możemy zainstalować również najnowszą wersje fpma, prosto z GitHuba. Wtedy wykonujemy następujące polecenia:

gem install specific_install
gem specific_install https://github.com/jordansissel/fpm.git

Jeżeli wszystko wykonało się poprawnie, możemy wydać polecenie fpm -h, aby zobaczyć pomoc. Składnia wygląda następująco:

fpm -s <source type> -t <target type> [list of sources]...

Źródłem plików do naszej przyszłej paczki może być katalog z plikami, rubygem, dowolny plik rpm lub deb, paczka pythona, moduł php pear itp.

Kompilujemy serwer memcached

Do kompilacji memcached, potrzebna nam będzie bilioteka (jej pliki nagłówkowe) libevent-devel oraz posiadanie odpowiednich kompilatorów w systemie. Najprościej zainstalujemy wszystko za pomocą poleceń:

yum -y groupinstall "Development Tools"
yum -y install libevent-devel.x86_64

Tworzymy również katalog, w którym zainstalujemy skompilowanego memcached, tak by spakować go do paczki rpm. Polecenie mkdir /tmp/installdir. Następnie kompilujemy i instalujemy sam serwer:

cd /usr/src
wget http://www.memcached.org/files/memcached-1.4.24.tar.gz
tar -xzf memcached-1.4.24.tar.gz
cd memcached-1.4.24
./configure --prefix=/usr
make -j2
export DESTDIR=/tmp/installdir && make install

Po kompilacji oraz instalacji powinniśmy w katalogu /tmp/installdir, zobaczyć pliki serwera:

[root@build ~]# tree /tmp/installdir/
/tmp/installdir/
└── usr
    ├── bin
    │   └── memcached
    ├── include
    │   └── memcached
    │       └── protocol_binary.h
    └── share
        └── man
            └── man1
                └── memcached.1

7 directories, 3 files

Przygotowujemy pliki do paczki RPM

Tak naprawdę już teraz możemy tworzyć plik RPM, który będzie poprawnie instalował się w systemie. Chcemy jednak, aby dodatkowo po instalacji paczki, serwer sam startował jako usługa oraz był zatrzymywany podczas usuwania pliku rpm z repozytorium.

Do tego celu musimy przygotować sobie dwa pliki: /root/post-install.sh oraz /root/pre-uninstall.sh o następujących zawartościach:

/root/post-install.sh

/sbin/chkconfig --add memcached
/sbin/chkconfig memcached on
/etc/init.d/memcached start

/root/pre-uninstall.sh

if [ $1 -eq 0 ]; then
	/sbin/service memcached stop &> /dev/null || :
	/sbin/chkconfig --del memcached
fi

Potrzebny będzie również plik init.d, aby usługa mogła wystartować. Poniższy kod zapisujemy do pliku /root/memcached:

#!/bin/sh
#chkconfig: 345 95 95
#description: Memcached

BASEDIR=/usr
PIDFILE=/var/run/memcached.pid
MEMORY=1024
CONN=1024

MEMCACHED="$BASEDIR/bin/memcached -m $MEMORY -d -P $PIDFILE -u $USER -c $CONN"

ERROR=0
ARGV="$@"
if [ "x$ARGV" = "x" ] ; then
    ARGS="help"
fi

for ARG in $@ $ARGS
do
	if [ -f $PIDFILE  ] && [ -s $PIDFILE ] ; then
		PID=`cat $PIDFILE`
			if [ "x$PID" != "x" ] && kill -0 $PID 2>/dev/null ; then
				STATUS="memcached (pid $PID) running"
				RUNNING=1
			else
				STATUS="memcached (pid $PID?) not running"
                RUNNING=0
            fi
    else
            STATUS="memcached (no pid file) not running"
            RUNNING=0
    fi

   case $ARG in
        start)
        if [ $RUNNING -eq 1 ]; then
            echo "$0 $ARG: memcached (pid $PID) already running"
            continue
        fi
        if $MEMCACHED ; then
            echo "$0 $ARG: memcached started"
        else
            echo "$0 $ARG: memcached could not be started"
            ERROR=3
        fi
        ;;

        stop)
        if [ $RUNNING -eq 0 ]; then
            echo "stop called - in running eq 0"
                echo "$0 $ARG: $STATUS"
            continue
        fi
        if kill $PID ; then
                        echo "$0 $ARG: memcached process(es) stopped"
            else
                echo "$0 $ARG: memcached process(es) could not be stopped"
                ERROR=4
            fi
        ;;

        restart)
        if [ $RUNNING -eq 0 ]; then
            echo "$0 $ARG: memcached not running, trying to start"
            if $MEMCACHED ; then
                    echo "$0 $ARG: memcached started"
            else
                    echo "$0 $ARG: memcached could not be started"
                        ERROR=5
            fi
        else
            if kill $PID ; then
                    if $MEMCACHED ; then
                    echo "$0 $ARG: memcached restarted"
                        else
                                echo "$0 $ARG: memcached could not be started"
                                ERROR=3
                        fi
                else
                    echo "$0 $ARG: memcached could not be restarted"
                    ERROR=6
                fi
    		fi
        ;;

        *)

        echo "usage: $0 (start|stop|restart|help)"
        cat <<EOF
        
start      - start memcached
stop       - stop memcached
restart    - restart memcached if running by sending a SIGHUP or start if not running
help       - this screen

EOF
    ERROR=2
    ;;
    esac
done
exit $ERROR

Budujemy paczkę RPM z użyciem Effing Package Management

Kiedy mamy wszystkie pliki gotowe, możemy zabrać się za zbudowanie paczki RPM. Wydajemy jedno, dość długie polecenie:

fpm -f --epoch 1 -s dir -t rpm -p /root/memcached-VERSION-ARCH.rpm -v "1.4.24" -n memcached --vendor "OSWorld.pl" --category OSWorld.pl -m "Kamil Porembinski <kamil@osworld.pl>" --url http://osworld.pl --description "OSWorld.pl Memcached Server" --license "none" -C /tmp/installdir --post-install /root/post-install.sh --pre-uninstall /root/pre-uninstall.sh --rpm-init /root/memcached --verbose

Na początku może to wszystko wydawać się skomplikowane, ale postaram się objaśnić wszystkie parametry.

  • -f – tryb force, nadpisze plik wynikowy jeżeli już istnieje
  • --epoch 1 – w skrócie, pozwala określić, która wersja pakietu jest nowsza
  • -s dir – przełącznik, który informuje o tym, że źródłem plików do zbudowania rpm’a, będzie katalog
  • -t rpm – wybieramy typ paczki RPM
  • -p /root/memcached-VERSION-ARCH.rpm – nazwa pliku wynikowego. Makro VERSION wstawi nam wersję pakietu podaną za pomocą przełącznika -v "1.4.24", natomiast makro ARCH pobierze dane o architekturze z wyniku polecenia uname -m
  • -n memcached – nazwa paczki RPM
  • -C /tmp/installdir – informujemy fpma, aby przeszedł pod zadaną ścieżkę i tam szukał plików do spakowania do paczki
  • --post-install /root/post-install.sh – skrypt uruchamiany tuż po instalacji paczki
  • --pre-uninstall /root/pre-uninstall.sh – skrypt uruchamiany przed usunięciem paczki
  • --rpm-init /root/memcached – ścieżka do skryptu startowego

Voilà! Mamy gotową paczkę, którą możemy zainstalować w systemie.

przez -
13 1514
Gry

Aktualizacje programów biurowych nie są niezbędne do prawidłowego funkcjonowania, jednak w przypadku gier każdemu zależy na otrzymaniu najnowszej wersji zawierającej nowe postacie, mapy i inne udogodnienia. Paczki z grami w oficjalnych standardowych repozytoriach nie są niestety aktualizowane z każdym buildem. Dlatego przedstawiam Wam wszystkie sprawdzone repozytoria gdzie znajdziecie najnowsze wersje Waszych ulubionych gier i emulatorów.

Playdeb

Playdeb to odłam repozytorium Getdeb.net, utrzymywanego od 2008 roku aż do dziś. Znajdziecie tutaj aż 138 darmowych gier i emulatorów aktualizowanych na bieżąco. Wśród nich między innymi: bsnes (emulator snes), Stunt Rally, Nikki and Robots, Minetest, Enemy Territory, Urban Terror. Wszystkie tytuły są podzielone według gatunku a po dodaniu repozytorium do systemu możecie instalować gry bezpośrednio z poziomu przeglądarki www klikając na przycisk Install this now lub w Centrum Oprogramowania Ubuntu.

Instalacja repozytorium

wget http://archive.getdeb.net/install_deb/playdeb_0.3-1~getdeb1_all.deb
sudo dpkg -i playdeb_0.3-1~getdeb1_all.deb
sudo apt-get update

FLARE

Repozytorium utworzyliśmy dosyć niedawno, znajdziecie tam najnowsze wersje Flare – silnika i zarazem gry RPG w stylu Diablo. Aktualizacje są przeprowadzane co 7 dni.

Instalacja repozytorium i gry

sudo add-apt-repository ppa:mentoss47/flare
sudo apt-get update
sudo apt-get install flare

UbuntuGames

Jest to prywatne repozytorium portugalskiego serwisu poświęconego graczom linuksowym. Znajdziecie w nim między innymi Zero Ballistic, Wakfu Online, Savage XR, Runescape Online, Heroes of Newerth i wiele emulatorów mało popularnych konsol jak np. Osmose (SEGA).

Instalacja repozytorium

sudo su -
echo 'deb http://archive.ubuntugames.org ubuntugames main' >> /etc/apt/sources.list && echo 'deb-src http://archive.ubuntugames.org ubuntugames main' >> /etc/apt/sources.list && wget -q -O - http://archive.ubuntugames.org/ubuntu-games.key | apt-key add - && apt-get update -y

Pokerth

Repozytorium grupy Debian/Ubuntu Gamers. Dla najnowszego wydania Ubuntu 12.04 jest dostępna na razie tylko gra Pokerth.

Instalacja repozytorium

sudo add-apt-repository ppa:pkg-games/ppa
sudo apt-get update

0 A.D.

Oficjalne repozytorium twórców strategii 0 A.D.

Instalacja repozytorium

sudo add-apt-repository ppa:wfg/0ad.dev
sudo apt-get update

Desurium

Desurium to otwarto-źródłowy klient Desury. W przeciwieństwie do niej jest stale aktualizowany, dzięki czemu działa szybciej, sprawniej i zawiera nowe funkcje (dodawanie skrótu z gry na pulpit, instalacja gier z dysku, obsługa skórek, nowy silnik CEF).

Repozytorium aktualizuje co tydzień makson96.

Instalacja repozytorium i programu

sudo add-apt-repository ppa:makson96/desurium
sudo apt-get update
sudo apt-get install desurium

Listę rekomendowanych repozytoriów dla Ubuntu 12.04 znajdziecie tutaj.

przez -
1 388
Canonical Ubuntu

Wielu użytkowników komputerów przyzwyczajonych do platformy Windows chętnie by zapoznało się z Linuksem. Z rozpoczęciem pracy na nowym systemie zwykle wiąże się jednak wiele wątpliwości. Jak go zainstalować? Jak wykonywać podstawowe operacje? Czy na pewno poświęcony migracji czas nie pójdzie na marne?

Oczywiście pierwszy krok po podjęciu decyzji to instalacja. Jak proste jest to przedsięwzięcie pokazaliśmy w jednej z demonstracji. Kolejny krok to poruszanie się po interfejsie. Tego jednak nie należy się obawiać. Graficzne interfejsy linuksowe nie różnią się zanadto filozofią od tego znanego z Windows, poruszanie się po nowym systemie nie powinno więc stwarzać użytkownikom “okienek” większych problemów.

Wydaje się, że wyzwaniem może być instalacja oprogramowania, tutaj wszak różnice w filozofii między systemami są znaczące. To również nie powinno jednak zainteresowanych stawianiem pierwszych kroków w Linuksie odstraszyć. W opublikowanym dzisiaj artykule staramy się przekonać, że inaczej nie znaczy gorzej czy trudniej.

Dziś opublikowany krótki artykuł ma za zadanie ułatwić start wszystkim, którzy chcą poznać Linuksa. Zapraszamy do lektury artykułu Instalacja oprogramowania na Linuksie.

Źródło: dobreprogramy.pl.

Polecane

Prasa, Czasopismo

1 850
Ukazało się Linux Magazine – numer 161. Lipcowe wydanie magazynu zawiera analizę tworzenia bardziej czytelnych wyrażeń regularnych z Simple Regex Language, instrukcje zabezpieczania i...