Linux Debian

Jako że Debian to mój ulubiony Linux, więc co jakiś czas umieszczę tutaj jakieś informacje związane z tym systemem.
Instalacja Debiana 12 (bookworm) na Raspberry Pi 4 (4 Gb) i połączenie SSH
Ta instalacja nie jest domyślną desktopową, i nadaje się głównie do projektów działających w sieci — u mnie będzie służyć jako domowy serwer i zdalny backup.
Ponieważ wszystkie moje serwery VPS pracują na Debianie, więc nic innego nie może znaleźć się na Malince, lubię ten system, a poniżej 11 kroków potrzebnych do jego zainstalowania Debiana 12 wraz z uruchomieniem SSH do połączeń zdalnych.
- Zainstaluj na swoim komputerze program Raspberry Pi Imager do przygotowania obrazu systemu na karcie SD lub dysku SSD – link: https://www.raspberrypi.com/software/

Dysk SSD Goodram CX 400 128 Gb + przejściówka UNITEK
z tym dyskiem SSD Raspberry Pi4 jest szybsze od wersji na karcie SD co najmniej 6-8 razy, ale nie robiłem pomiarów, jest to empiryczna ocena.
2. Pobierz sprawdzony i skompilowany obraz Debiana 12 z tej strony:
https://raspi.debian.net/tested-images/

3. Podepnij swoją kartę SD lub dysk SSD do komputera i za pomocą aplikacji Raspberry Pi Imager wybierz wcześniej pobrany obraz, następnie wybierz kartę SD lub dysk SSD, potem wybierz USE CUSTOM, żeby wybrać obraz, który pobrałeś wcześniej i kliknij WRITE

4. Podłącz wyjście HDMI do monitora, to, które jest bliżej złącza USB C, następnie podłącz kabel LAN, oraz klawiaturę USB oraz mysz i na koniec zatkaj uszy i podłącz zasilanie.
Jeżeli z niczego się nie dymi, możesz być dumny z siebie, system powinien się załadować po kilkudziesięciu sekundach i powinieneś zobaczyć komunikat podobny do tego poniżej, może okazać się, że trzeba będzie nacisnąć ENTER, zanim on się pojawi.

5. Domyślnie ten system nie ma hasła i możesz się zalogować wpisując jako login: root
Powinieneś zobaczyć linię gotowości z twoim loginem, jak na poniższym zdjęciu

6. Nadaj teraz hasło dla root-a z wykorzystaniem komendy passwd
Wpisując hasło, nie będziesz widział nawet gwiazdek, dlatego trzeba je powróżyć — jeżeli nie pomylisz się, to zobaczysz komunikat jak poniżej, od tej pory możesz zalogować się podając login root oraz wprowadzone hasło.

7. Teraz przyszedł czas na uruchomienie dostępu zdalnego SSH.
Ale wcześniej zaktualizuj system:
apt-get update
apt-get full-upgrade
czytaj zapytania, ale większość trzeba potwierdzić y
Następnie edytuj plik sshd_config
Ścieżka do pliku:
/etc/ssh/sshd_config
Można to zrobić wykorzystując edytor nano, za pomocą poniższej komendy:
nano /etc/ssh/sshd_config
Po wykonaniu tej komendy otworzy Ci się plik jak poniżej.
W tym pliku odszukaj instrukcję:
PermitRootLogin
Odkomentuj tę instrukcję kasując #
A na jej końcu dopisz słowo yes, tak żeby od teraz instrukcja wyglądała tak:
PermitRootLogin yes
Jeżeli nie widzisz tej instrukcji w tekście, możesz użyć wyszukiwania, w programie nano skrót klawiszowy ctrl + W działa jako Search, wtedy wpisujesz szukany tekst i enter, przeniesie kursor do miejsca, gdzie jest tekst.

8. Po modyfikacji powinna ta linia wyglądać tak jak poniżej.
Następnie naciśnij ctrl + X program nano zapyta się, czy zapisać plik więc potwierdź wpisując y, a potem ENTERem.

9. Teraz, żeby ta zmiana zadziałała, trzeba zrestartować oprogramowanie do połączeń SSH komendą:

11. Teraz czas uruchomić na twoim komputerze TERMINAL i wprowadzić komendę do połączenia SSH wraz z loginem oraz przed momentem poznanym IP twojej malinki
ssh root@192.168.1.122
Po wprowadzeniu tej komendy, zostaniesz, zapytany, czy dopisać klucz do twojego komputera, więc wpisz yes
A następnie wprowadź swoje hasło do Raspberry Pi

BRAWO — połączyłeś się za pomocą SSH z twoją malinką.
A jeżeli prowadzisz własną firmę i chciałbyś poznać Model Biznesowy wg. PPK, dzięki któremu możesz skalować firmę, zwiększyć liczbę klientów oraz stawki swoich usług lub produktów — to kliknij TUTAJ i obejrzyj bezpłatne szkolenie, na którym omawiam ten Model Biznesowy.
Jak odzyskać zawartość pliku tekstowego, który przypadkowo nadpiszesz w systemie Linux (testowane na Debian 10 - w poszukiwaniu danych z pliku — crontab)
Jakiś czas temu aktualizując dane w pliku crontab, omyłkowo nacisnąłem literę r zamiast e.
Wtedy zamiast komendy crontab -e zastosowałem komendę crontab -r
Niestety, ta pierwsza komenda służy do edycji pliku, a ta druga do skasowania 🙁
Jak to w Linux bywa — nikt się tam nie pyta, czy na pewno chcesz skasować plik, jak to pod Windowsem czy IOS-em bywa.
Niestety był to serwer produkcyjny i miałem mało czasu na szukanie backupów, ale z pomocą przyszedł inny sposób, który opisuję poniżej.
Potrzebne rzeczy, żeby ta metoda się udała.
- Nazwa fizycznej partycji na serwerze, na której są szukane dane (np. /dev/nazwa_partycji)
- Jakiś ciąg znaków, który występował w tym pliku przed jego skasowaniem, chodzi o jakąkolwiek zawartość, która jest najbardziej unikalna i jest mała szansa, że występuje w innym miejscu na dysku
- Połączenie SSH z tym serwerem
- Dostęp root
Zaloguj się jako root na serwer.
Wykorzystaj tę poniższą komendę:
grep -i -a -B100 -A100 'Szukana unikalna fraza’ /dev/nazwa_partycji_na_której_jest_szukany_plik
Jeżeli nie znasz nazwy z danymi, może pomóc Ci poniższa instrukcja:
df -h
Dzięki powyższej instrukcji zobaczysz system plików i tam powinna być też nazwa twojej partycji np. /dev/ploop54
W pliku, który się u mnie skasował za pomocą komendy
crontab -r
były dane związane z datą dystrybucji takie jak poniżej:
Cron version — $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp
Stosując, poniżą instrukcję, dysk zostanie przeszukany w poszukiwaniu tego ciągu (w zależności od wielkości dysku może to trochę zająć), a ta instrukcja zwróci obszary fizycznej przestrzeni dysku z danymi, które mogą zawierać poszukiwane dane, wtedy wystarczy je po prostu przejrzeć — mnie w ten sposób udało się, znaleźć potrzebne linie do pliku crontab 😉
grep -i -a -B100 -A100 'Cron version — $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp’ /dev/ploop54
Cała operacja zajęła kilka minut, więc postanowiłem się tym podzielić, może komuś innemu, też niefortunnie nadpisał się jakiś plik, a ta metoda jest dość szybka, ach te linuxy…
Tak przy okazji – jeżeli prowadzisz własną firmę i chciałbyś poznać Model Biznesowy wg. PPK, dzięki któremu możesz skalować firmę, zwiększyć liczbę klientów oraz stawki swoich usług lub produktów — to kliknij TUTAJ i obejrzyj bezpłatne szkolenie, na którym omawiam ten Model Biznesowy.