Wersja: 1.2.0
- Wprowadzenie
- Instalacja
- Architektura projektu
- Sposób użycia
- Funkcje szczegółowe
- Wyniki i wizualizacje
- Rozwijanie projektu
- Rozwiązywanie problemów
- Często zadawane pytania (FAQ)
- Porównanie wersji
- Licencja i prawa autorskie
- Kontakt i wsparcie
Hello System Scanner to zaawansowane narzędzie diagnostyczne dla systemów Linux, zaprojektowane przez zespół DevOpsTerminal. Skrypt umożliwia administratorom systemów oraz specjalistom DevOps kompleksową analizę i monitorowanie zmian w systemie Linux.
- Identyfikacja zainstalowanego oprogramowania i usług
- Wykrywanie otwartych portów i usług nasłuchujących
- Analiza konfiguracji sieci
- Śledzenie zmian w systemie od określonej daty
- Generowanie raportów miesięcznych z wizualizacjami
- Monitorowanie zmian w plikach konfiguracyjnych
- Analiza zmian dotyczących użytkowników i uprawnień
Hello System Scanner jest kompatybilny z większością popularnych dystrybucji Linux, w tym:
- Ubuntu/Debian
- Fedora/RHEL/CentOS
- Arch Linux
- openSUSE
- oraz inne dystrybucje oparte na tych systemach
Skrypt automatycznie wykrywa menedżer pakietów i dostosowuje swoje działanie do konkretnej dystrybucji.
curl
bash
sha256sum
wget -O install.sh https://raw.githubusercontent.com/DevOpsTerminal/hello/main/install.sh && bash install.sh
curl -sSL https://raw.githubusercontent.com/DevOpsTerminal/hello/main/install.sh | bash
# Pobierz skrypt
wget https://raw.githubusercontent.com/DevOpsTerminal/hello/main/hello.sh
# Pobierz sumę kontrolną
wget https://raw.githubusercontent.com/DevOpsTerminal/hello/main/checksums.sha256
# Zweryfikuj sumę kontrolną
sha256sum -c checksums.sha256
# Za pomocą curl
curl -sSL https://raw.githubusercontent.com/DevOpsTerminal/hello/main/hello.sh -o hello.sh
# Za pomocą wget
wget https://raw.githubusercontent.com/DevOpsTerminal/hello/main/hello.sh
# Nadaj uprawnienia wykonania
chmod +x hello.sh
# Uruchom skrypt
./hello.sh
-
Upewnij się, że posiadasz wymagane narzędzia (
curl
,bash
,sha256sum
) -
Sprawdź połączenie internetowe
-
Zweryfikuj sumę kontrolną przed uruchomieniem skryptu
-
Suma kontrolna: Każde pobranie jest weryfikowane za pomocą SHA256
-
Źródła: Oficjalne repozytorium GitHub i domena DevOps Terminal
-
Uprawnienia: Możliwość uruchomienia bez uprawnień roota
W razie problemów skontaktuj się z administratorem lub otwórz zgłoszenie w repozytorium GitHub.
Skrypt może być uruchomiony bez uprawnień administratora, jednak pewne funkcje będą ograniczone:
./hello.sh
Po uruchomieniu pojawi się ostrzeżenie:
Uwaga: Skrypt nie jest uruchomiony jako root. Niektóre informacje mogą być niedostępne.
Hello System Scanner został zaprojektowany z myślą o modułowości i łatwości rozszerzania. Struktura projektu wygląda następująco:
hello/
├── src/
│ ├── functions/ # Katalog zawierający pliki z poszczególnymi funkcjami
│ │ ├── command_exists.sh
│ │ ├── date_timestamp.sh
│ │ ├── detect_distro.sh
│ │ └── ... (pozostałe funkcje)
│ ├── main/ # Katalog z głównymi plikami programu
│ ├── colors.sh # Konfiguracja kolorów
│ ├── defaults.sh # Domyślne wartości zmiennych
│ └── main.sh # Główna funkcja programu
├── hello.sh # Finalny skrypt (wygenerowany)
├── create_structure.sh # Skrypt tworzący strukturę folderów
└── merge_files.sh # Skrypt łączący pliki w jeden skrypt wykonawczy
Zawiera zestaw wyspecjalizowanych funkcji, każda w oddzielnym pliku:
print_header.sh
- funkcja wyświetlająca nagłówkicommand_exists.sh
- sprawdzanie dostępności poleceniadate_timestamp.sh
- funkcje obsługi dat i czasówdetect_distro.sh
- wykrywanie dystrybucji Linuxget_system_info.sh
- pobieranie informacji o systemieget_installed_packages.sh
- pobieranie listy zainstalowanych pakietówget_running_services.sh
- pobieranie listy uruchomionych usługcheck_open_ports.sh
- sprawdzanie otwartych portówcheck_startup_programs.sh
- sprawdzanie programów startowychcheck_config_changes.sh
- sprawdzanie zmian w plikach konfiguracyjnychfind_recent_packages.sh
- znajdowanie ostatnio zainstalowanych pakietówcheck_repositories.sh
- sprawdzanie repozytoriówtrack_user_changes.sh
- śledzenie zmian w użytkownikach i grupachtrack_binary_changes.sh
- śledzenie zmian w plikach binarnychtrack_scheduled_tasks.sh
- śledzenie zmian w zadaniach croncheck_network_changes.sh
- sprawdzanie zmian w konfiguracji siecicheck_system_timestamps.sh
- sprawdzanie czasów modyfikacji plików systemowychvisualize_monthly_changes.sh
- wizualizacja zmian miesięcznychgenerate_monthly_stats.sh
- generowanie statystyk miesięcznychgenerate_monthly_reports.sh
- generowanie raportów miesięcznychsave_results.sh
- zapisywanie wyników do plikuset_tracking_date.sh
- ustawianie daty śledzenia zmian
Zawiera pliki konfiguracyjne i główne funkcje programu:
colors.sh
- definicje kolorów dla interfejsu użytkownikadefaults.sh
- domyślne wartości zmiennychmain.sh
- główna funkcja programu z logiką wykonania
hello.sh
- finalny skrypt wygenerowany przez proces scalaniacreate_structure.sh
- skrypt tworzący strukturę katalogów projektumerge_files.sh
- skrypt łączący wszystkie moduły w jeden wykonywalny skrypt
Finalna wersja hello.sh
jest generowana przez uruchomienie skryptu merge_files.sh
, który łączy wszystkie funkcje i moduły w jeden plik wykonawczy. Ten proces umożliwia modułową pracę nad projektem, zachowując wygodę dystrybucji jako pojedynczego pliku.
Hello System Scanner może być używany w dwóch głównych trybach:
- Tryb parametrów wiersza poleceń - szybkie uruchamianie konkretnych funkcji
- Tryb interaktywny - menu z wyborem opcji dla łatwiejszego przeglądania
./hello.sh [OPCJE]
Opcja | Pełna nazwa | Opis |
---|---|---|
-h |
--help |
Wyświetla pomoc i listę dostępnych opcji |
--version |
Wyświetla informacje o wersji programu | |
--all |
Uruchamia wszystkie dostępne funkcje analizy | |
--save-all |
Zapisuje wyniki do pliku |
Opcja | Opis |
---|---|
--system-info |
Podstawowe informacje o systemie operacyjnym |
--packages |
Lista zainstalowanych pakietów |
--services |
Lista uruchomionych usług systemowych |
--ports |
Lista otwartych portów i nasłuchujących usług |
--startup |
Programy uruchamiane przy starcie systemu |
--recent-packages |
Ostatnio zainstalowane pakiety |
--repositories |
Skonfigurowane repozytoria pakietów |
Opcja | Opis |
---|---|
--track-changes=DATA |
Ustaw datę śledzenia zmian (np. "7 days ago", "2023-01-15") |
--config-changes |
Zmiany w plikach konfiguracyjnych |
--user-changes |
Zmiany w użytkownikach i grupach |
--binary-changes |
Zmiany w plikach binarnych i skryptach |
--scheduled-tasks |
Zmiany w zaplanowanych zadaniach (cron) |
--network-changes |
Zmiany w konfiguracji sieci |
--system-timestamps |
Zmiany w kluczowych plikach systemowych |
Opcja | Opis |
---|---|
--monthly-report |
Generuje szczegółowy raport miesięczny |
--monthly-stats |
Generuje statystyki miesięczne |
--monthly-visualize |
Generuje wizualizację miesięcznych zmian |
# Wyświetlenie wszystkich informacji o systemie
sudo ./hello.sh --all
# Sprawdzenie podstawowych informacji o systemie
sudo ./hello.sh --system-info
# Sprawdzenie zainstalowanych pakietów
sudo ./hello.sh --packages
# Sprawdzenie otwartych portów
sudo ./hello.sh --ports
# Sprawdzenie zmian od ostatniego tygodnia
sudo ./hello.sh --track-changes="1 week ago" --all
# Sprawdzenie zmian w plikach konfiguracyjnych od konkretnej daty
sudo ./hello.sh --track-changes="2023-05-15" --config-changes
# Sprawdzenie zmian w użytkownikach i grupach od miesiąca
sudo ./hello.sh --track-changes="1 month ago" --user-changes
# Generowanie pełnego raportu miesięcznego
sudo ./hello.sh --monthly-report
# Generowanie statystyk z ostatnich 12 miesięcy
sudo ./hello.sh --monthly-stats
# Wizualizacja zmian w pakietach
sudo ./hello.sh --monthly-visualize
# Sprawdzenie zmian w systemie i usługach oraz wygenerowanie raportu
sudo ./hello.sh --track-changes="2 weeks ago" --services --config-changes --save-all
# Kompleksowa analiza bezpieczeństwa
sudo ./hello.sh --ports --user-changes --binary-changes --system-timestamps
Funkcja --system-info
zbiera i wyświetla szczegółowe informacje o systemie operacyjnym:
- Nazwa i wersja dystrybucji
- Wersja jądra (kernel)
- Architektura systemu
- Szacowana data instalacji systemu
- Podstawowe informacje o sprzęcie (jeśli dostępne)
Przykładowe użycie:
sudo ./hello.sh --system-info
Hello System Scanner oferuje szereg narzędzi do analizy pakietów:
Wyświetla pełną listę zainstalowanych pakietów, automatycznie wykrywając system zarządzania pakietami:
- dpkg/apt dla Debian/Ubuntu
- rpm/dnf/yum dla Fedora/RHEL/CentOS
- pacman dla Arch Linux
Pokazuje listę ostatnio zainstalowanych pakietów wraz z datami instalacji.
Wyświetla skonfigurowane repozytoria pakietów:
- Repozytoria APT dla Debian/Ubuntu
- Repozytoria YUM/DNF dla Fedora/RHEL/CentOS
- Repozytoria Pacman dla Arch Linux
Analizuje i wyświetla uruchomione usługi systemowe:
- Usługi systemd
- Usługi init.d
- Aktywne stany usług
Wyświetla programy i usługi uruchamiane przy starcie systemu:
- Usługi systemowe włączone przy starcie
- Programy startowe XDG
- Zawartość rc.local
Skanuje i wyświetla informacje o otwartych portach i usługach nasłuchujących:
- Numer portu i protokół (TCP/UDP)
- Proces nasłuchujący (jeśli identyfikowalny)
- Interfejs sieciowy
sudo ./hello.sh --ports
Analizuje pliki konfiguracyjne sieci:
- Konfiguracja interfejsów
- Ustawienia DNS
- Konfiguracja routingu
Hello System Scanner umożliwia śledzenie zmian w systemie od określonej daty:
sudo ./hello.sh --track-changes="2023-06-01"
Obsługiwane formaty dat:
- YYYY-MM-DD (np. "2023-06-01")
- Relative dates (np. "7 days ago", "1 month ago")
- Określenia: "yesterday", "last week", "last month"
Śledzi zmiany w katalogu /etc
i innych lokalizacjach konfiguracyjnych.
Monitoruje zmiany w kontach użytkowników i grupach:
- Modyfikacje plików /etc/passwd, /etc/shadow, /etc/group
- Logi dotyczące dodawania/usuwania/modyfikacji użytkowników
Śledzi zmiany w plikach wykonywalnych i skryptach systemowych.
Monitoruje zmiany w zaplanowanych zadaniach:
- Zadania cron
- Timery systemd
Sprawdza czasy modyfikacji ważnych plików systemowych:
- Pliki konfiguracyjne boot
- Konfiguracja sieciowa
- Konfiguracja bezpieczeństwa
- Moduły jądra
Hello System Scanner oferuje zaawansowane narzędzia do analizy trendów w systemie:
Generuje pełny raport zmian dla każdego miesiąca z ostatnich 12 miesięcy:
- Zainstalowane pakiety w poszczególnych miesiącach
- Zmiany w usługach
- Zmiany w plikach konfiguracyjnych
sudo ./hello.sh --monthly-report
Generuje tabelę statystyk dla każdego miesiąca:
- Liczba zainstalowanych pakietów
- Liczba zmodyfikowanych usług
- Liczba zmian w plikach konfiguracyjnych
- Zmiany w użytkownikach
- Zmiany w konfiguracji sieci
sudo ./hello.sh --monthly-stats
Tworzy graficzną reprezentację zmian w systemie:
- Wykres słupkowy zainstalowanych pakietów
- Prezentacja trendów w czasie
sudo ./hello.sh --monthly-visualize
Hello System Scanner generuje różnorodne wyniki w formie tekstu i wizualizacji.
Zainstalowane pakiety miesięcznie:
50 │ █
45 │ █
40 │ █
35 │ █ █
30 │ █ █ █
25 │ █ █ █ █
20 │ █ █ █ █ █
15 │ █ █ █ █ █ █
10 │ █ █ █ █ █ █ █ █
5 │ █ █ █ █ █ █ █ █ █ █ █ █
└────────────────────────────────────
Sty Feb Mar Kwi Maj Cze Lip Sie Wrz Paź Lis Gru
Miesiąc Pakiety Usługi Konfiguracje Użytkownicy Sieć
----------------------------------------------------------------------
Styczeń 2023 45 12 87 2 4
Luty 2023 12 3 24 0 1
Marzec 2023 28 5 32 1 2
Wszystkie wyniki mogą być zapisane do pliku za pomocą opcji --save-all
:
sudo ./hello.sh --monthly-stats --save-all
Skrypt generuje plik raportu z nazwą zawierającą datę i czas, np. system_software_20230710_152233.txt
.
Hello System Scanner jest projektem modułowym, co ułatwia rozszerzanie jego funkcjonalności.
-
Utwórz nowy plik funkcji w katalogu
src/functions/
:touch src/functions/my_new_function.sh
-
Zaimplementuj funkcję w pliku:
#!/bin/bash # Opis nowej funkcji my_new_function() { print_header "Nagłówek mojej nowej funkcji" # Implementacja funkcji echo "Przykładowy wynik" }
-
Uruchom skrypt łączący, aby wygenerować zaktualizowany plik hello.sh:
./scripts/merge.sh
- Zlokalizuj plik funkcji w katalogu
src/functions/
- Wprowadź zmiany
- Uruchom skrypt łączący, aby wygenerować zaktualizowany skrypt
Zachęcamy do zgłaszania problemów i propozycji ulepszeń poprzez system GitHub Issues: github.com/DevOpsTerminal/hello/issues
- Utwórz fork repozytorium
- Utwórz swoją gałąź funkcji (
git checkout -b feature/AmazingFeature
) - Zatwierdź swoje zmiany (
git commit -m 'Add some AmazingFeature'
) - Wypchnij do gałęzi (
git push origin feature/AmazingFeature
) - Otwórz Pull Request
Komunikat:
Uwaga: Skrypt nie jest uruchomiony jako root. Niektóre informacje mogą być niedostępne.
Rozwiązanie: Uruchom skrypt z uprawnieniami administratora:
sudo ./hello.sh
Komunikat:
Nie znaleziono znanego menedżera pakietów
Rozwiązanie:
- Sprawdź, czy system używa nietypowego menedżera pakietów
- Upewnij się, że podstawowe narzędzia są zainstalowane
- Skontaktuj się ze wsparciem technicznym dla niestandardowych dystrybucji
Komunikat:
Nieprawidłowy format daty: [wprowadzona_data]
Rozwiązanie: Użyj jednego z obsługiwanych formatów daty:
sudo ./hello.sh --track-changes="2023-06-01"
sudo ./hello.sh --track-changes="7 days ago"
sudo ./hello.sh --track-changes="last month"
Komunikat:
Brak dostępnych logów dla tego miesiąca
Rozwiązanie:
- Upewnij się, że logijesz się jako root
- Sprawdź, czy logi systemowe są dostępne w standardowej lokalizacji
- W niektórych systemach logi mogą być rotowane lub przechowywane w niestandardowych lokalizacjach
Aby dokładniej przeanalizować problem:
-
Sprawdź wersję bash:
bash --version
-
Upewnij się, że wszystkie wymagane narzędzia są dostępne:
which find grep awk sed stat date
-
Sprawdź uprawnienia do kluczowych katalogów:
ls -la /var/log/ ls -la /etc/
Jeśli napotkasz problem, który nie jest opisany w tej dokumentacji:
-
Zbierz informacje diagnostyczne:
- Wersja skryptu (
./hello.sh --version
) - Dystrybucja Linux i wersja
- Dokładny komunikat błędu
- Kroki, aby odtworzyć problem
- Wersja skryptu (
-
Utwórz zgłoszenie problemu na GitHub: github.com/DevOpsTerminal/hello/issues
Tak, skrypt działa wyłącznie w trybie odczytu i nie wprowadza żadnych zmian w systemie. Jest to bezpieczne narzędzie diagnostyczne.
Skrypt został zaprojektowany do pracy z większością popularnych dystrybucji. Może wymagać dostosowania dla niszowych lub wysoce zmodyfikowanych systemów.
Tak, jednak niektóre funkcje będą ograniczone. Bez uprawnień roota, skrypt nie będzie mógł dostępować do niektórych plików systemowych i logów.
Sam skrypt jest bardzo lekki (zwykle poniżej 500KB). Generowane raporty również są niewielkie, zazwyczaj poniżej 1MB, chyba że system ma ekstremalnie dużo zainstalowanych pakietów.
Tak, skrypt jest zaprojektowany do pracy w środowisku tekstowym i nie wymaga środowiska graficznego.
Tak, skrypt może być uruchamiany z crona, na przykład do regularnego generowania raportów:
# Przykład uruchomienia cotygodniowego raportu
0 0 * * 0 /path/to/hello.sh --monthly-stats --save-all
Nie, Hello System Scanner działa całkowicie lokalnie i nie wysyła żadnych danych na zewnątrz systemu.
Skrypt skupia się na analizie plików systemowych i konfiguracyjnych, nie analizuje danych użytkownika ani zawartości plików osobistych.
Funkcja | Community (Free) | Professional | Enterprise |
---|---|---|---|
Podstawowa analiza systemu | ✅ | ✅ | ✅ |
Analiza pakietów i usług | ✅ | ✅ | ✅ |
Śledzenie zmian w systemie | ✅ | ✅ | ✅ |
Raporty miesięczne | ✅ | ✅ | ✅ |
Rozszerzone wizualizacje | ❌ | ✅ | ✅ |
Wykrywanie anomalii | ❌ | ✅ | ✅ |
Eksport do CSV/JSON | ❌ | ✅ | ✅ |
Raportowanie PDF/HTML | ❌ | ❌ | ✅ |
Integracja z systemami monitoringu | ❌ | ❌ | ✅ |
Powiadomienia o zmianach | ❌ | ❌ | ✅ |
Wsparcie priorytetowe | ❌ | ❌ | ✅ |
Dedykowane konsultacje | ❌ | ❌ | ✅ |
Cena | Darmowa | $10 (jednorazowo) | Kontakt |
Aby zakupić wersję Professional, odwiedź stronę: devopsterminal.com/buy
Dla rozwiązań skalowalnych dla dużych organizacji, skontaktuj się z nami: devopsterminal.com/enterprise
Hello System Scanner jest objęty licencją Apache2. Pełny tekst licencji jest dostępny w pliku LICENSE.
W przypadku pytań lub problemów technicznych, oferujemy następujące opcje pomocy:
- Dokumentacja online: docs.devopsterminal.com
- GitHub Issues: [github.