Archiwum kategorii: Linux

Synchronizacja czasu – Linux + ntp. Wersja nieprzesadzona.

Wrzucałem już raz wpis o automatycznej synchronizacji czasu, ale po przemyśleniu tematu doszedłem do wniosku, że rozwiązanie tam zastosowane jest bez sensu. Czemu?

  1. Stawianie serwera ntpd tylko po to, żeby mieć aktualny czas na swojej maszynie, to totalny i typowy overkill. Rozwiązanie to oczywiście działa skutecznie, jest „zalecane w internetach”, ale jego nadmiarowość aż razi.
  2. Standardowa konfiguracja ntpd na CentOS (ale też pewnie w innych dystrybucjach) otwiera od razu port 123 na wszystkich możliwych interfejsach. Po co? No bo ntpd z założenia służy do serwowania czasu, a nie jego zwykłej synchronizacji.
  3. No właśnie. Po co nam serwer, skoro jedynie chcemy być klientami?

Rozwiązanie jest dużo prostsze. W CentOS 6.5, którego teraz głównie używam, standardowo zainstalowane jest cudo o nazwie ntpdate. Na 99,99999% serwerów, wystarczy synchronizacja czasu raz na dobę.

Chyba już widać co chcę przekazać. CRON + ntpdate rozwiążą nasz problem prosto i skutecznie.
Co robimy?

W katalogu /etc/cron.daily zakładamy sobie plik ntpsynchro z prawami do uruchomienia:

[root@centos /]# touch /etc/cron.daily/ntpsynchro
[root@centos /]# chmod +x /etc/cron.daily/ntpsynchro

Następnie wrzucamy do pliku tę zawartość (np. używając: nano /etc/cron.daily/ntpsynchro):
#!/bin/sh
/usr/sbin/ntpdate pl.pool.ntp.org | logger 1> /dev/null 2>&1

Dobrze jest testowo i w celu pierwszej synchronizacji uruchomić skrypt:

/etc/cron.daily/ntpsynchro

A następnie wyświetlić zawartość logu:

cat /var/log/messages | tail

Poprawnie działający skrypt powinien zalogować nam coś w ten deseń:

Jun  4 14:04:52 centos root:  4 Jun 14:04:52 ntpdate[10409]: adjust time server 217.96.29.26 offset 0.000199 sec

Co się właśnie stało? Nasz serwer, który jest w tej całej akcji KLIENTEM zapytał się serwera pl.pool.ntp.org o aktualny czas, zlogował odpowiedź i oczywiście jeżeli była taka potrzeba ustawił na naszej maszynie.
Prawda, że takie rozwiązanie jest bardziej eleganckie, prostsze i bardziej bezpieczne? 🙂

Automatyczna synchronizacja czasu w CentOS 6.5

DEPRECATED – NIE UŻYWAĆ O ILE NIE POTRZEBUJESZ SERWERA DO USTAWIANIA CZASU W WIĘKSZEJ SIECI LOKALNEJ.

 

SPRAWDŹ WPIS: https://marcin.szydelscy.pl/post/2014/synchronizacja-czasu-linux-wersja-nieprzesadzona/

 

 

Prosta usługa, banalna konfiguracja, a przy tym w zasadzie podstawa dla serwerów.

  1. Zaczynamy od wstępnego zsynchronizowania czasu naszej maszyny:
    [root@centos /]# ntpdate tempus1.gum.gov.pl
    
  2. Instalujemy pakiet ntp:
    [root@centos /]# yum install ntp
    
  3. edytujemy plik /etc/ntp.conf:
    • (opcjonalnie) zmieniamy listę serwerów na:
      server tempus1.gum.gov.pl
      server tempus2.gum.gov.pl
      
    • (opcjonalnie) dodajemy plik do logowania informacji z ntpd:
      logfile /var/log/ntp.log
      
  4. Uruchamiamy usługę:
    [root@centos /]# service ntpd start
    
  5. Sprawdzamy czy podłączyła się do serwerów:
    [root@centos /]# ntpq -p
    

    (opcjonalnie) weryfikujemy log usługi:

    [root@centos /]# type  /var/log/ntp.log
    
  6. Dodajemy do 'autostartu’:
    [root@centos /]# chkconfig ntpd on
    

Gratulacje. Od teraz Twój serwer będzie miał zawsze aktualny czas.

Polecam zmianę listy serwerów czasu na podane wyżej. Są to oficjalne serwery Głównego Urzędu Miar, korzystające z czasu serwowanego przez zegar atomowy. Źródło jest solidne i godne zaufania. Oczywiście ustawione w standardowym konfigu poole centosa, też dadzą radę, ale ja tam wolę nasze. 🙂

BASH: Proste, ustandaryzowane logowanie z poziomu skryptów (przy użyciu sysloga)

Do tego niebywale trudnego zadania, służy aplikacja logger.

usage: logger [-is] [-f file] [-p pri] [-t tag] [-u socket] [ message ... ]

Jak widać składnia jest bardzo trudna, także przykłady

[szydell@centos ~]$ logger "Się popsuło"
[root@centos ~]# cat /var/log/messages
...
Apr 25 09:01:42 centos szydell: Się popsuło

-f /katalog/nazwapliku.log – logowanie do konkretnego pliku (zadbaj o uprawnienia)
-t SIAKISTAG – zamiast logowania jaki user uruchomił, zaloguje taga

fedora 19: gnome brak ikonki do minimalizowania okien

Dziwne… standardowo okno można zamknąć, bądź też zmaksymalizować (dwuklik na belce tytułowej)

# yum install gnome-tweak-tool
$ gnome-tweak-tool

Opcja którą szukamy to:
Powłoka -> uporządkowanie przycisków na pasku tytułowym

Fakt, że znikanie okien też jest jakieś takie do dupy, bo nie widać ich po zniknięciu na żadnym pasku… no ale, lepsze to niż nic.

yum install gnome-shell-extension-window-list

fedora 19: steam

W testowym repozytorium pakietów rpmfusion jest przygotowany dla fedory steam.

(dodawanie opisane we wpisie: https://marcin.szydelscy.pl/post/2013/fedora-19-instalacja-driverow-nvidia/)

yum -y --enablerepo=rpmfusion-nonfree-updates-testing install steam

UWAGA! Jeżeli pracujemy na systemie 64bit należy jeszcze:

yum --enablerepo=rpmfusion-nonfree-updates-testing install akmod-nvidia xorg-x11-drv-nvidia-libs.i686

Steam jest aplikacją 32-bitową i wymaga doinstalowania odpowiednich wersji driverów.

(info o steamie specjalnie przygotowanym dla fedory znalazłem tutaj: http://nocnypingwin.blogspot.com/2013/11/klient-steam-w-repozytoriach-fedory.html)

fedora 19: instalacja driverów nvidia

Ostatnio postanowiłem zbudować sobie desktopa na fedorze. Padło na wersję 19 z gnomem. Standardowo jak to zwykle bywa pod linuxem, bez problemów się nie obeszło 😉

Po zainstalowaniu 'gołego systemu’ trzeba go co nie co dopracować, żeby na początek przynajmniej grafika działała na driverach nvidii.

Posiadam GeForce 650Ti, która działa obecnie na  driverach rodziny 331. Instaluję wersję 331.20. Jakby co tutaj dają listę działających z tą wersją driverów kart: ftp://download.nvidia.com/XFree86/Linux-x86_64/331.20/README/supportedchips.html

Po kolei:

yum update kernel* selinux-policy*
reboot
yum localinstall --nogpgcheck http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm
yum localinstall --nogpgcheck http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
yum install akmod-nvidia xorg-x11-drv-nvidia-libs
reboot

Tutaj linux poprawnie wykrył, że mam dwa monitory… i niepoprawnie ustawił ich kolejność.

Można sobie pokombinować z 'ustawieniami’ i innymi cudami, ale najprościej wyedytować plik:

~/.config/monitors.xml

a następnie skopiować go do lokalizacji:

/var/lib/gdm/.config/

Pierwszy edit poprawi nam wyświetlanie po uruchomieniu gnoma, a drugi spowoduje, że gdm (czyli ekran logowania) też wróci na poprawne miejsce.

dodatkowo w tym momencie postanowiłem prewencyjnie zrobić update całego systemu:

yum check-update
yum update

reset

Co ciekawe po reboocie poprawnie uruchomił się konfigurator pierwszego uruchomienia gnome. Świeżo zainstalowany system ma tę funkcjonalność schrzanioną 🙂

Na koniec:

yum install vdpauinfo libva-vdpau-driver libva-utils

Gotowe.

Crontab – składnia

Notorycznie zapominam składni w plikach crona, także… ściągawka.

$ crontab -e
0 2 * * * /usr/bin/skrypt.sh
PoleDozwolone wartości
Minuta0–59
Godzina0–23
Dzień miesiąca1–31
Miesiąc1–12
Dzień tygodnia0–7 (0 i 7 to niedziela)

Przykładowo:

0 2 3 4 * oznacza, że cron wystartuje o 2:00 trzeciego dnia kwietnia. Niezależnie od tego jaki to będzie dzień tygodnia.

*/5 * * * 1-5 oznacza, że wykonanie nastąpi co 5 minut, ale tylko od poniedziałku do piątku

0 17,18 * * * uruchomi job o 17:00 i 18:00, codziennie.