Strona używa cookies (ciasteczek). Dowiedz się więcej o celu ich używania i zmianach ustawień. Korzystając ze strony wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.    X

Wrota się otworzyły, wybuchł horyzont, O'Neill ożył!

Witam, ostatnio postanowiłem zreanimować mój serwer domowy po dłuższej przerwie. Z początku byłem niechętny do tego aby użyć pendrive jako dysku twardego ale jednak zrobiłem to i całość wygląda świetnie.

Od czegoś trzeba zacząć...

No więc zacząłem od Debiana Testing z powodu dostępności pythona 2.7, nie oszukujmy się - Debian Stable jest aż za stary a Debian Testing jest w sam raz ze stabilnością i świeżością pakietów.

Przeniosłem z FreeBSD machinę do budowania pakietów która póki co potrafi na razie zbudować paczki dla systemów opartych na Debianie i Arch Linux.

Trochę było roboty jednak nie aż tak dużo, finalnie po wpłynięciu commitu do githuba moja maszyna otrzymuje z serwerów githuba informację o tym, że ma zacząć budowanie.

Do tego ustawienie serwera rsync tak aby inne serwery mogły się synchronizować z repozytorium.

Jak to dokładnie jest z tym budowaniem paczek?

Zapewne Was to ciekawi dlatego bliżej to opiszę, zrobiłem to swoją prostą metodą.

  • 1. Po zatwierdzeniu zmian do projektu github wysyła rządanie HTTP do mojego serwera domowego, ten je przetwarza i uruchamia machinę z poleceniem budowania wybranej paczki.
  • 2. "Machina" zwana paczkownią przetwarza pliki version.xml i README w celu stworzenia listy zmian, pobrania wersji itp.
  • 3. Przetworzone dane wklejane są do szablonów konfiguracyjnych które są potrzebne do zbudowania paczki przez dpkg czy makepkg
  • 4. Paczka jest budowana do postaci binarnej gotowej do instalacji
  • 5. Wszystkie stare pakiety budowanej aplikacji w repozytorium zostają usuwane i kopiowana zostaje nowa wersja pakietu świeżo zbudowana
  • 6. Budowany jest indeks repozytorium

Co dalej?

Postawiłem serwer Assault Cube, no jeden lekki serwer gier niech będzie, nie wymaga praktycznie niczego od sprzętu ani łącza. Następnie zabrałem się za CUPS.

Konfiguracja CUPS'a to nic innego jak ustawienie aby z desktopa można było mieć dostęp do webowego interfejsu w celu zainstalowania drukarki - wszystko udało się zrobić jednym kliknięciem. Na komputerach z Linuksem dodałem tylko do /etc/cups/client.conf adres serwera CUPS i drukowanie było dostępne od razu po zapisaniu pliku.

Dla końcówek z Windowsem trzeba było dodatkowo zainstalować SAMBĘ i ustawić w niej udostępnianie drukarki, w internecie znalazłem gotowe pliki konfiguracyjne, tylko przekleiłem kilka dyrektyw konfiguracyjnych które wydawały mi się potrzebne.

Wszystko to poszło lekko i sprawnie : ) 

linux oprogramowanie hobby

Komentarze

0 nowych
  #1 01.09.2012 22:38

Całkiem ciekawy projekt zrobiony z rzeczy, które każdy ma pod ręką. Co prawda zawartość wpisu mnie zaskoczyła, ale i tak całkiem ciekawie się czytało.
PS: 4 wpisy w 2 dni! Szalejesz :)

webnull   9 #2 01.09.2012 22:45

4 wpisy + program do obserwacji komentarzy dla użytkowników dobrychprogramów i Linuksa :>

Humanoid   5 #3 01.09.2012 23:57

@webnull
A zrobiłbyś jakiś applet w gtk do montowania partycji wewnętrznych / zewnętrznych?

webnull   9 #4 02.09.2012 09:25

@Humanoid | 01.09.2012 23:57
Takich appletów na pewno jest już masa : )

Humanoid   5 #5 02.09.2012 22:43

@webnull
Ale nie wszystkie działają jak trzeba.

etam   9 #6 03.09.2012 13:23

@webnull
Czego używasz do robienia paczek? Własny soft, czy jakiś gotowiec?

pisarzksiazkowicz   7 #7 03.09.2012 17:31

"1. Po zatwierdzeniu zmian do projektu github wysyła rządanie HTTP do mojego serwera domowego, ten je przetwarza i uruchamia machinę z poleceniem budowania wybranej paczki."
Chevron one, encoded.

"2. "Machina" zwana paczkownią przetwarza pliki version.xml i README w celu stworzenia listy zmian, pobrania wersji itp."
Chevron two, encoded.

"3. Przetworzone dane wklejane są do szablonów konfiguracyjnych które są potrzebne do zbudowania paczki przez dpkg czy makepkg"
Chevron three, encoded.

"4. Paczka jest budowana do postaci binarnej gotowej do instalacji"
Chevron four, encoded.

"5. Wszystkie stare pakiety budowanej aplikacji w repozytorium zostają usuwane i kopiowana zostaje nowa wersja pakietu świeżo zbudowana"
Chevron five, encoded.

"6. Budowany jest indeks repozytorium"
Chevron six, encoded.

Chevron seven, locked.
*kawooooooooooooosh*

(musiałem)

webnull   9 #8 03.09.2012 19:43

@etam | 03.09.2012 13:23
"Własnego softu" : )

@Humanoid | 02.09.2012 22:43
No to trzeba bugi zgłaszać, ja na razie nie mam czasu aby tyle projektów otwierać... ; /

webnull   9 #9 03.09.2012 19:49

@pisarzksiazkowicz | 03.09.2012 17:31
Lepiej tego ująć nie można było ; D

djDziadek   16 #10 03.09.2012 22:27

@webnull - a taki mały gwóźdź :P - jak z prawami autorskimi do nazwy ? ;) i oparcia się o SG1 :P

Autor edytował komentarz.
webnull   9 #11 03.09.2012 22:57

@djDziadek | 03.09.2012 22:27
To nie jest komercyjny projekt więc nikt się nie przyczepi a po drugie O'Neill nie jest żadną zarejestrowaną nazwą ; )