Linux: Zmiana adresu IP na stały

2020-07-30

Linux to świetny system na Workstation, ale jeszcze lepszy na serwer. W przypadku serwerów często decydujemy się na zmianę adresu IP na stały. Oto jak to zrobić z wykorzystaniem polecenia nmcli:

np.

Zazwyczaj największym „problemem” jest odnalezienie nazwy profilu połączenia, a tymczasem jest to proste 🙂

Polecenie

wyświetla urządzenia interfejsów sieciowych i ich aktualne adresy IP. Z tego polecenia należy zapamiętać nazwę urządzenia (np eth0)

Polecenie

wyświetla nazwy profili przypisane do poszczególnych urządzeń. Wystarczy więc odczytać nazwę profilu połączenia stowarzyszoną z urządzeniem sieciowym (np. Wired Connection 1)

Jeśli nazwa profilu zawiera spacje, to w poleceniu nmcli należy te spacje poprzedzać znakiem \ (backslash), np. Wired\ Connection\ 1

Po wykonaniu w/w polecenia nmcli, nowa konfiguracja zostaje zapisana w plikach konfiguracyjnych Network Managera, ale nie jest ona od razu aktywowana. W celu ponownego zastosowania już nowej konfiguracji należy podnieść interfejs sieciowy:

By Rafał Kraik in Linuxy

Nowy kurs: Administrator Linux – Instalacja i konfiguracja

2020-07-22

Tym razem rozbudowałem ścieżkę edukacyjną Linux. Po kursie Linux-a  dla początkujących pora na pierwszy kurs administratora Linux-a!

Kurs Administrator Linux: Instalacja i konfiguracja składa się z głównych pięciu elementów:

  1. Instalacja systemu
  2. Konfiguracja sieci
  3. Konfiguracja usług systemu przez systemd
  4. Konfiguracja i zarządzanie dyskami
  5. Proces bootwania i konfiguracja GRUB

Jak zwykle starałem się dostarczyć maksymalnie dużo przykładów, zadań do samodzielnego rozwiązania (z odpowiedziami) i quizów. Zapraszam!

By Rafał Kraik in Aktualności

Helpdesk: Błąd Application failed to start. Contact *** for details. Error code 662

2020-07-18

Aplikacja jest dostępna  na CDROM, a właściwie była, bo płyta została przekopiowana z CDROM na dysk. Po uruchomieniu startera aplikacji niestety zamiast okienka aplikacji wyskakiwał błąd:

Application failed to start. Contact *** for details. Error code 662

Aplikacja nie była uruchamiana już chyba od ponad roku, więc właściwie przyczyną mogło być wszystko – zaczynając od odinstalowania wymaganego komponentu, instalacja konfliktowej łatki windows itp. Tym razem było jednak inaczej. Aplikacja oczekiwała określonej daty na komputerze – to ciekawe, bo podczas zakupu programu nie było mowy o tym, że będzie on działać tylko przez określony czas! Przy okazji trzeba pamiętać:

  • do zmiany czasu wymagane jest uprawnienie administratora (albo odpowiednie prawo)
  • zmiana czasu jest co do zasady złym pomysłem, bo może wtedy przestać działać automatyczne przywracanie systemu, kopie zapasowe, uwierzytelnienie certyfikatami i wiele wiele innych rzeczy, więc jeśli już zmieniać czas to robić to na jak najkrótszą chwilę
  • aplikacja sprawdza czas tylko podczas uruchomienia, a nie w czasie pracy, więc wystarczy zmieniać czas na kilka/kilkanaście sekund podczas startu
  • czas może wrócić do  poprzednich ustawień, jeśli synchronizacja jest włączona

Zmiana czasu w sposób interaktywny jest męczącą, trzeba się przeklikać przez wiele okienek, dlatego wymyśliłem, że zrobię to skryptem uruchamianym „jako administrator”. Pomysł jest następujący:

  • wyliczymy czas 2 lata wstecz –  gdyby to było za mało, to można zmienić na 3, 4 itd. lub przypisać datę na stałe
  • zmienimy ustawienia synchronizacji czasu w bezpośrednio rejestrze na „NoSync”
  • przestawimy datę
  • uruchomimy aplikację – zmień ścieżkę na właściwą
  • zatrzymamy skrypt na np. 15 sekund – można zmienić zależnie od potrzeb
  • potem wrócimy do starej daty. Będzie ona o 15 sekund nieaktualna, ale ponieważ za chwilę włączymy synchronizację czasu, to problem rozwiąże się sam, a 15 sekund nie jest aż takim problemem. Ewentualnie w tym miejscu można by dodać 15 sekund lub nawet uruchomić ręczną synchronizację czasu
  • ostatni krok, to włączenie synchronizacji bezpośrednio w rejestrze na „NTP”

I to wszystko! Aplikację należy uruchomić przy pomocy skrótu, jako administrator. Aplikacja przy starcie odczytuje zmieniony czas i przechodzi do kolejnych kroków uruchomienia, a gdy już działa… czas wraca do poprzedniej wartości

By Rafał Kraik in Helpdesk

Linux: Putty & ssh – długi czas od wprowadzenia nazwy użytkownika do wyświetlenia promptu o hasło

2020-06-27

Do stacji z RedHat-em łączę się z poziomu stacji Windows wykorzystując Putty i SSH. Wszystko działa, ale po wprowadzeniu nazwy użytkownika i naciśnięciu enter, muszę poczekać, chyba co najmniej około minuty, aż pojawi się pytanie o hasło. What is going on?

SSH z wersji na wersję zabezpiecza się przed potencjalnymi próbami hakowania połączeń i niektóre z opcji w tak prostym środowisku jak moje, nie mogły zostać spełnione. Serwer SSH czekał na wykonanie dodatkowych testów, ale niestety dochodziło do timeout-ów i dopiero kiedy wszystkie możliwości zostały wyczerpane przechodził do etapu pytania o hasło.

Co można wyłączyć:

zmień opcję UseDNS na no. U mnie wystarczyło odkomentować linijkę:

zmień opcję GSSAPIAuthentication na no.  U mnie ta opcja była ustawiona na yes, więc musiałem ja zmienić:

Po wszystkim zrestartuj demona sshd:

U mnie pomogło. A u Ciebie?

 

By Rafał Kraik in Linuxy

Python: Pandas: Zmiana kolejności kolumn w data frame

2020-05-31

Kiedy pracujesz z danymi często startujesz od pewnego zbioru danych, do którego dodajesz kolejne i kolejne kolumny. Koniec końców część z tych kolumn nie jest już potrzebna, a część jest nie tam, gdzie wizualnie byś chciał. Jak zrobić z tym porządek?

Bardzo prosto! Wystarczy przepisać do nowego obiektu dataframe dane pobierane z oryginalnego data frame w określonej kolejności. Przy okazji jeśli coś jest już więcej niepotrzebne, to możesz to opuścić, a jeśli kolumn jest dużo, a ty chcesz po prostu ostatnią kolumnę wstawić na początek, to wystarczy po prostu korzystać z operatora slice podczas definiowania listy kolumn do skopiowania.

Zobacz, jak to się robi w oparciu o poniższy kod:

By Rafał Kraik in Python

Python: Pandas: Multiindex dla data frame

2020-05-31

Zazwyczaj kiedy pracujemy z data frame i mamy dane powstające wskutek grupowania wpadamy na pomysł założenia multiindeksu dla wierszy. Jednak czasami specyfika danych jest taka, że nawet struktura w kolumnach ma postać pogrupowaną, więc zgodną ze strukturą multiindeksu. Jak więc zbudować multiindeks zarówno na wierszach, jak i na kolumnach? Oto prosty przykład, który ilustruje ten proces:

Więcej na ten temat: https://pandas.pydata.org/pandas-docs/stable/user_guide/advanced.html

By Rafał Kraik in Python

Python: Pandas: Wyświetlanie liczb float z określoną precyzją

2020-05-31

W idealnym świecie idealnie jest wyświetlać każdą liczbę z maksymalną dokładnością, ale… świat nie jest idealny. Bywa, że wyliczoną wartość 1.0000001 wolelibyśmy wyświetlić po prostu jako 1. Jedną z możliwością byłoby wykonanie odpowiednich obliczeń na DataFrame i pozbycie się problemu właściwie raz na zawsze. Jeśli jednak wolisz po prostu zmienić parametry tak, aby dane wyświetlały się z mniejszą liczbą cyfr po przecinku wystarczy zmienić parametr

pd.options.display.float_format

W tej zmiennej określasz styl formatowania, który będzie wykorzystywany podczas wyświetlania liczb zmienno-przecinkowych. Jedna instrukcja i po sprawie!

By Rafał Kraik in Python