Archive for Lipiec, 2010

Co nowego pojawiło się w nowej wersji platformy RHQ Server 3.0.0

7 lipca pojawiła się finalna wersja serwera RHQ w wersji 3.0.0. Linki do pobrania można znaleźć na stronie Download projektu.

Poniżej lista modyfikacji w stosunku do wersji poprzedniej wersji stabilnej 1.3 (tak z punktu widzenia użytkownika, nie programisty):

  • nastąpiła zmiana numeracji z 1.3 na wersji 3.0 – aby wyrównać numerację różnych projektów
  • wtyczki do zarządzania serwerem JBoss (projekt o nazwie Jopr) zostały zintegrowane z projektem RHQ (czyli ich źródła znajdują się w tym samym repozytorium kodu, w ramach swoich modułów)
  • wprowadzenie wtyczek po stronie serwera, co umożliwa dodawanie nowych funkcji bez potrzeby kompilacji i modyfikacji kodu źródłowego: Server Plugin Development
  • możliwość dodawania własnej obsługi alarmów: Alert Sender Plug-ins
  • zmiana nazwy pozycji menu związanych z zarządzaniem instalacją i aktualizacja aplikacji z „Content Source” na „Content Providers” oraz „Channel” na Repositories”
  • synchronizacja zdefiniowanych repozytoriów
  • możliwość przeglądania repozytoriów oraz pobierania pakietów przy użyciu przeglądarki
  • zmiana sposobu przechowywania alarmów
  • możliwość utworzenia szablonów używanych do powiadamiania o różnych zdarzeniach
  • nowa przeglądarka zasobów
  • maskowanie hasła dostępowego do bazy danych (przy użyciu skryptu bin/generate-db-password.sh)
  • dodanie wsparcia bazy danych Oracle 11g
  • uwierzytelniania na podstawie grup LDAPowych
  • poprawa wsparcia serwera Apache
  • zestaw wtyczek, które pojawiły się w nowej wersji a nie były dostępne w wersji RHQ 1.3 w połączeniu z Jopr 2.3.1
    • jopr-jboss-as-5 – obsługa serwera aplikacji JBoss w wersji 5
    • jopr-jboss-cache
    • rhq-aliases
    • rhq-ant-bundle
    • rhq-augeas – obsługi biblioteki Augeas, pozwalającej na dostęp do rożnych plików konfiguracyjnych
    • rhq-cobbler
    • rhq-cron – definiowanie zadań w cronie
    • rhq-postfix – obsługa serwera pocztowego Postfix
    • rhq-samba – obsługa serwera Samba
    • rhq-sudoers – edycja pliku sudoers
    • rhq-twitter

Dokładną listę wszystkich modyfikacji (wraz z numerami poszczególnych zgłoszeń w systemie Jira) można znaleźć na stronach projektu, w ramach publikowanej każdej wersji beta.

Źródła

Tags: , , ,

Instalacja bazy danych Oracle XE 10g w 64 bitowym systemie Debian lub Ubuntu

Oracle udostępnia darmową wersję swojej bazy danych o nazwie Oracle XE 10g. Posiada ona szereg ograniczeń w stosunku do wersji komercyjnej, ale można jej zarówno używać w małych systemach oraz pozwala na zapoznanie się z samą bazą danych. Oracle udostępnia pakiety instalacyjne swojej bazy danych zarówno dla środowiska Red Hat jak i wywodzących się z Debiana. Niestety, są dostępne wersje tych pakietów tylko dla architektury 32 bitowej, co uniemożliwia przeprowadzenie prostej instalacji w środowisku 64 bitowym.

Na szczęście, nie będzie bardzo źle, wystarczy kilka dodatkowych kroków i powinno się udać.

Krok 1: Pobranie bazy danych

Bazę danych Oracle XE 10g można pobrać ze stron firmy Oracle: Oracle Database Software Downloads: Oracle Database 10g Release 2 (10.2.0.1). Należy zgodzić się tam na warunki licencji (należałoby także się z nią zapoznać) a następnie można pobrać odpowiednie pakiety z bazą danych.

Można także pobrać odpowiedni plik od razu z udostępnianego przez Oracle repozytorium dla Debiana: oracle-xe-universal_10.2.0.1-1.1_i386.deb.

$ wget http://oss.oracle.com/debian/dists/unstable/non-free/binary-i386/oracle-xe-universal_10.2.0.1-1.1_i386.deb

Próba instalacji tego pakietu w środowisku 64 bitowy skończy się takim komunikatem błędu:

# dpkg -i oracle-xe-universal_10.2.0.1-1.1_i386.deb
dpkg: błąd przetwarzania oracle-xe-universal_10.2.0.1-1.1_i386.deb (--install):
 architektura pakietu (i386) nie zgadza się z architekturą systemu (amd64)
Wystąpiły błędy podczas przetwarzania:
 oracle-xe-universal_10.2.0.1-1.1_i386.deb

Krok 2: Instalacja dodatkowych pakietów

Należy zainstalować w systemie także obsługę bibliotek 32 bitowych:

# aptitude install libc6-i386

Pakiet ten może już być zainstalowany.

Dodatkowo należy zainstalować pakiet bc (także może już znajdować się w systemie):

# aptitude install bc

Należy także zainstalować 32 bitową wersję pakietu libaio.

Dla Ubuntu Lucid najnowszą wersję pakietu można pobrać ze strony Download Page for libaio1_0.3.107-3ubuntu2_i386.deb on Intel x86 machines.

Dla Debiana Lenny najnowszą wersję pakietu można pobrać ze strony Download Page for libaio1_0.3.107-3_i386.deb on Intel x86 machines.

Instalacja tego pakietu jest możliwa przy użyciu takiej komendy (powoduje instalację pakietu i ignorowanie architektury):

# dpkg -i --force-architecture libaio1_*_i386.deb

Podczas instalacji zostanie wyświetlone ostrzeżenie o niezgodności architektury, ale nie powinny wystąpić inne problemy.

Krok 3: Instalacja Oracle XE 10g

Po niezbędnych krokach przygotowawczych czas na instalację samej bazy danych:

# sudo dpkg -i --force-architecture oracle-xe-universal_10.2.0.1-1.1_i386.deb

Po zainstalowaniu pakietu pozostaje go jeszcze skonfigurować przy użyciu polecenia:

# /etc/init.d/oracle-xe configure

Najpierw zostaniemy poproszeni o wskazanie portu HTTP, poprzez który będziemy mogli połączyć się z interfejsem do zarządzania bazą danych, domyślnie jest przyjmowany port 8080. W moim przypadku port ten często jest zajęty przez inne aplikacji, więc zmieniłem go na 8081:

Specify the HTTP port that will be used for Oracle Application Express [8080]:8081

Teraz należy podać domyślny port na którym będzie nasłuchiwała baza danych na przy chodzące połączenia z aplikacji, w przypadku Oracle jest to port 1521:

Specify a port that will be used for the database listener [1521]:

Należy podać hasła do konta administracyjnego:

Specify a password to be used for database accounts.  Note that the same
password will be used for SYS and SYSTEM.  Oracle recommends the use of
different passwords for each database account.  This can be done after
initial configuration:
Confirm the password:

Ostatnie pytanie pozwoli na podjęcie decyzji, czy Oracle ma startować podczas uruchamiania komputera.

Z tego co widzę w skryptach startowych, jeżeli wyłączymy tę opcję, to pozbędziemy się możliwości korzystania ze skryptu /etc/init.d/oracle-xe w celu zatrzymywania i startowania bazy danych (ręcznego, nie podczas uruchamiania systemu). Dlatego też proponuję tutaj zostawić odpowiedź y nawet w sytuacji, gdy nie chcemy aby baza danych startowała za każdym razem i po instalacji przeczytać punkt o 6.

Do you want Oracle Database 10g Express Edition to be started on boot (y/n) [y]:y

Nastąpi teraz konfiguracja bazy danych, po której powinna już działać. Pozostaje tylko połączyć się ze wskazanym adresem i zalogować do bazy danych.

Krok 4: Konfiguracja zmiennych środowiskowych

Można jeszcze dodać do ścieżki poleceń katalog z plikami wykonywalnymi Oracla.

Jeżeli jesteśmy jedynym użytkownikiem komputera, można je zdefiniować w pliku ~/.bashrc danego użytkownika. W przypadku gdy użytkowników jest kilku, warto utworzyć plik /etc/profile.d/oracle.sh. Plik ten będzie wczytywany przy logowaniu każdego użytkownika. Oczywiście, należy zwrócić uwagę odpowiednie uprawnienia do tego pliku:

# chmod 644 /etc/profile.d/oracle.sh

Zawartość pliku oracle.shlub też parametry, które należy dopisać w profilu danego użytkownika:

1
2
3
4
5
ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server
PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_HOME
export ORACLE_SID=XE
export PATH

Pozostaje się teraz zalogować ponownie (lub wykonać plik w ramach sesji) aby zmienne zaczęły działać.

Krok 6: Zatrzymywanie i uruchamianie bazy danych Oracle XE 10g

Jeżeli baza danych ma nie być uruchamiana podczas startu systemu, najlepiej jest usunąć odpowiednie linki z katalogów rc?.d:

# rm /etc/rc?.d/S??oracle-xe

Uruchomienie serwera jest możliwe poprzez wydanie komendy:

# /etc/init.d/oracle-xe start

Zatrzymanie serwera natomiast następuje po użyciu polecenia:

# /etc/init.d/oracle-xe stop

Pozostałe opcje można zobaczyć po użyciu polecenie:

# /etc/init.d/oracle-xe
Usage: /etc/init.d/oracle-xe {start|stop|restart|force-reload|configure|status|enable|disable}

Po tych operacjach powinniśmy dysponować działającą bazą Oracle XE 10g w środowisku 64 bitowym.

Źródła

Tags: , ,

Kopiowanie wybranych plików z zachowaniem struktury katalogów

Stanąłem przed następującym problem: w znaleźć wszystkie pliki spełniające wybrane kryteria i skopiować je na inny udział dyskowy wraz z zachowaniem ich struktury katalogów.

Do odszukanie wszystkich wybranych plików można użyć polecenia find i można na wyszukanych plikach użyć dowolnej komendy, np cp:

find -name '*.html' -exec cp {} /mnt/kopia \;

Niestety, rozwiązanie takie nie sprawdzi się w mojej sytuacji, nie odwzoruje struktury katalogów.

Z pomocą może przyjść polecenie cpio. Polecenie to jest pewnego rodzaju odpowiednikiem komendy tar i jest używane np. przy tworzeniu archiwów RPM. Wywołanie, które pozwoli odwzorować strukturę katalogów kopiowanych plików:

find -name '*.html' -print | cpio -pdv /mnt/kopia

Poszczególne opcje komendy oznaczają:

  • -p – powoduje, że lista plików zostanie odczytana ze standardowego wejścia i następnie zostaną one skopiowane do wybranego katalogu
  • -d – w razie potrzeby tworzy strukturę katalogów
  • -v – na wyjściu błędu wypisuje informacje o kopiowanych plikach

Aktualizacja:

Można także napotkać następujący problem: nazwy plików zawierają znaki nietypowe, takie jak spacje, znaki tabulacji. Znaki te są używane przez powłokę do podziału linii poleceń na argumenty i sprawiają często problemy podczas kopiowania. W tym przypadku najprościej będzie skorzystanie z ciągów znaków zakończonych znakiem \0. Należy tylko poinformować o tym zarówno polecenie find jak i cpio:

find -name '*.html' -print0 | cpio -0 -pdv /mnt/kopia

Więcej informacji można znaleźć w dokumentacji do polecenia.

Źródła

Tags: , , ,