Category: administracja linuksa

oracle – podstawowe zapytania

Połączenie z bazą danych:

sqlplus username/password@database-name

Listowanie tabel powiązanych z aktualnie powiązanym użytkownikiem:

select tablespace_name, table_name from user_tables;

Wyświetlenie wszystkich tabel w bazie danych:

select tablespace_name, table_name from dba_tables;

Wylistowanie szytkich tabel z dostępem dla aktualnego usera, typu:

select tablespace_name, table_name from all_tables;

Informacje na temat tabeli pobieramy za pomocą polecenia:

desc <table_name>
</table_name>

SCP – Kopiowanie plików na innym porcie

Istotna jest kolejność wprowadzanych parametrów do połączenia.
I tak, w przypadku kopiowania plików lokalnych na zdalny serwer najpierw podajemy porty, konfigurację kluczy plik lokalny i dopiero logowanie na serwer zdalny, czyli, np:
Continue reading 'SCP – Kopiowanie plików na innym porcie'»

SSH – Dodawanie kluczy

Po wczytaniu kluczy ssh do serwera należy je zaimportować poleceniem ssh-add.
Czasami, w zależności od konfiguracji maszyny mogą wystąpić z tym problemy i pojawi się monit:

ssh-add ~/.ssh/id_rsa.pub
Could not open a connection to your authentication agent.

Continue reading 'SSH – Dodawanie kluczy'»

Przeniesienie zadania do screena

Celem tego artykułu jest przedstawienie prostej metody na przeniesienie działającego w terminalu zadania do screena, co pozwoli nam na zwolnienie terminala i ponowny powrót do zadania.

Koniecznym do wykonania działania będą następujące aplikacje:

  • screen – oczywiście
  • disown (wbudowana w bash i zsh komenda)
  • reptyr lub retty – Reparent a running program to a new terminal
  • pgrep

Przenoszenie zadania na przykładzie.
Continue reading 'Przeniesienie zadania do screena'»

MySQL – Tworzenie kursora

Jeśli potrzebujesz w funkcji lub procedurze przelecieć po określonych rekordach w bazie danych to kursor okaże się najlepszym rozwiązaniem, przynajmniej jeśli chodzi o bazy MySQL. Postgre okazuje się tutaj być potęgą. W postgresie wystarczy zadeklarować w zmiennej listę interesujących nas rekordów i w zwykłej pętli wiersz po wierszu możemy przejść po wszystkich rekordach.
Przykładowy kursor MySQL poniżej, opisy w kodzie.
Continue reading 'MySQL – Tworzenie kursora'»

Usuwanie gałęzi gita

Usuwanie utworzonych gitowych gałęzi jest bardzo proste.
Najpierw usuwamy gałąź lokalnie, pamiętając o tym by w razie konieczności połączyć naszą gałąź z drzewem głównym git-a.
Potem wystarczy wysłać zmiany do zdalnego repozytorium, o ile z takim pracujemy.
Continue reading 'Usuwanie gałęzi gita'»

Udostępnienie repozytoriów git na Debianie

W moim przypadku udostępnianie repozytoriów rozpocząłem od instalacji pełnego pakietu gita z paczki git-all: apt-get install git-all
Następnie na potrzeby serwera utworzyłem użytkownika git wraz z koniecznymi katalogami umożliwiającymi identyfikację na podstawie kluczy:
Continue reading 'Udostępnienie repozytoriów git na Debianie'»

DHCP i ustawienie serwera wyszukiwania

Usilnie starałem się wymusić by przy starcie w resolv.conf zamiast serwerów wyszukiwania mojego lokalnego pojawiły się serwery google, np. 8.8.8.8
Sposób okazał się bardzo prosty i możemy dokonać tego na co najmniej dwa sposoby.
Continue reading 'DHCP i ustawienie serwera wyszukiwania'»

Tripwire i reset hasła

Tripwire to znakomite narzędzie zapewniające pełną kontrolę nad zmianami jakie zachodzą w systemie pliku, co za tym idzie, umożliwia on nam wykrycie zmian w zawrtosci plików przez atakujących serwer łobuzów :)

Continue reading 'Tripwire i reset hasła'»

Błąd przy odświeżaniu DHCP

Za sprawą poprzedniej ingerencji w plik resolv.conf otrzymałem następujący błąd:

mv cannot move /etc/resolv.conf.dhclient-new to /etc/resolv.conf: Operation not permitted

Skąd się wziął problem z brakiem przyzwolenia na przesunnięcie pliku otrzymanego od DHCP?
Wcześniej zmieniłem adresy nameserver-a, domen wyszukiwania i nazwy domenowej, a że chciałem zatrzymać je na stałe zabezpieczyłem plik przed możliwością jego zmiany za pomocą polecenia chattr które dostępne jest w systemie plików ext3 w sposób następujący: Continue reading 'Błąd przy odświeżaniu DHCP'»