Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2022-08-03 05:41:57

  floriangreg - Nowy użytkownik

floriangreg
Nowy użytkownik
Zarejestrowany: 2022-07-05
Spam…

etckeeper Debiana 11 Edu Skolinux

W strukturze katalogów Unix/Linux katalog /etc to miejsce, w którym znajdują się specyficzne dla hosta pliki konfiguracyjne i katalogi systemowe; jest to centralna lokalizacja dla wszystkich plików konfiguracyjnych dla całego systemu.
Plik konfiguracyjny to plik lokalny używany do kontrolowania działania programu — musi być statyczny i nie może być wykonywalnym plikiem binarnym.

Aby śledzić zmiany w plikach konfiguracyjnych systemu, administratorzy systemu zwykle tworzą kopie (lub kopie zapasowe) plików konfiguracyjnych przed ich modyfikacją. W ten sposób, jeśli bezpośrednio zmodyfikowali oryginalny plik i popełnili błąd, mogą powrócić do zapisanej kopii.

etckeeper pozwala śledzić modyfikacje katalogu /etc  za pomocą repozytorium Git, Mercurial, Bazaar lub Darcs, tak jak w przypadku projektu programistycznego.

W Debian 11 Edu jest to już zainstalowane i wstępnie skonfigurowane na automatycznie zatwierdzanie zmian codziennie cron.
Jeśli chcemy to zmienić i sami kotrolować zatwierdzania zmian to opcja   #AVOID_DAILY_AUTOCOMMITS=1 musi zostać aktywowana.

# The cron job is enabled by default; to disable it, uncomment this next line.
AVOID_DAILY_AUTOCOMMITS=1

plik konfiguracyjny etckeeper.conf


Kod:

cat /etc/etckeeper/etckeeper.conf 

# The VCS to use.
#VCS="hg"
VCS="git"
#VCS="bzr"
#VCS="darcs"

# Options passed to git commit when run by etckeeper.
GIT_COMMIT_OPTIONS=""

# Options passed to hg commit when run by etckeeper.
HG_COMMIT_OPTIONS=""

# Options passed to bzr commit when run by etckeeper.
BZR_COMMIT_OPTIONS=""

# Options passed to darcs record when run by etckeeper.
DARCS_COMMIT_OPTIONS="-a"

# Etckeeper includes both a cron job and a systemd timer, which each
# can commit exiting changes to /etc automatically once per day.
# To enable the systemd timer, run: systemctl enable etckeeper.timer
# The cron job is enabled by default; to disable it, uncomment this next line.
AVOID_DAILY_AUTOCOMMITS=1

#Domyślnie etckeeper codziennie wprowadza niezatwierdzone zmiany wprowadzone do /etc. uwaga
#Można to wyłączyć za pomocą opcji konfiguracyjnej AVOID_DAILY_AUTOCOMMITS=1. uwaga

# Uncomment the following to avoid special file warning
# (the option is enabled automatically for daily autocommits regardless).
#AVOID_SPECIAL_FILE_WARNING=1

# Uncomment to avoid etckeeper committing existing changes to 
# /etc before installation. It will cancel the installation,
# so you can commit the changes by hand.
#AVOID_COMMIT_BEFORE_INSTALL=1

# The high-level package manager that's being used.
# (apt, pacman, pacman-g2, yum, dnf, zypper, apk etc)
HIGHLEVEL_PACKAGE_MANAGER=apt

# The low-level package manager that's being used.
# (dpkg, rpm, pacman, pacmatic, pacman-g2, apk etc)
LOWLEVEL_PACKAGE_MANAGER=dpkg

# To push each commit to a remote, put the name of the remote here.
# (eg, "origin" for git). Space-separated lists of multiple remotes
# also work (eg, "origin gitlab github" for git).
PUSH_REMOTE=""

Instalacja etckeeper  dla Debian 11 jeśli chcemy kontrolować nasz katalog /etc

Kod:

apt install etckeeper
cd /etc
etckeeper init
etckeeper vcs status

Na gałęzi master
nic do złożenia, drzewo robocze czyste

Ok. już namieszałem jeszcze raz
Czyścimy git'a i etckeeper'a z katalogu /etc.

Kod:

ls {.git*,.etckeep*}

.etckeeper  .gitignore

.git:
branches  config  description  HEAD  hooks  index  info  objects  refs

/

Kod:

rm -r  {.git*,.etckeep*}
ls {.git*,.etckeep*}

ls: nie ma dostępu do '.git*': Nie ma takiego pliku ani katalogu
ls: nie ma dostępu do '.etckeep*': Nie ma takiego pliku ani katalogu

Ponowna inicjacja i zapis obechych ustawień.

Kod:

etckeeper init

podpowiedź: Użycie „master” jako nawy początkowej gałęzi. Ta domyślna nazwa gałęzi
podpowiedź: może się zmienić. Aby ustawić nazwę początkowej gałęzi do użycia we
podpowiedź: wszystkich nowych repozytoriach, co uciszy ten komunikat, wykonaj:
podpowiedź: 
podpowiedź:     git config --global init.defaultBranch <nazwa>
podpowiedź: 
podpowiedź: Tradycyjnie było „master”, a inne popularne to „main”, „trunk”
podpowiedź: i „development”. Nazwę właśnie utworzonej gałęzi można zmienić tym poleceniem:
podpowiedź: 
podpowiedź:     git branch -m <nazwa>
Zainicjowano puste repozytorium Gita w /etc/.git/

Kod:

etckeeper vcs status

Komenda etckeeper commit jest ważna zrobi kopie naszej obecnej konfiguracji kat. /etc do której będzie można wrócić.

Kod:

etckeeper commit -a first-commit-my-etc

"Uwaga : 
.git musi być chroniony w systemie lokalnym (stąd uprawnienia do odczytu, zapisu i wykonywania tylko dla administratora); ponieważ
systemy kontroli wersji nie śledzą same uprawnień do plików, etckeeper zapewnia w zamian tę funkcję.

Katalog .git zawiera kilka plików konfiguracyjnych i opisowych oraz innych podkatalogów przeznaczonych do korzystania z samego Git.
Plik .gitignore, który określa jawnie nieśledzone pliki, które git powinien zignorować, ma być w całości zarządzany przez etckeepera.
Nie zaleca się ręcznej edycji, z jednym wyjątkiem.

Jeśli istnieją pewne pliki, których nie chcesz śledzić za pomocą kontroli wersji, możesz ręcznie dodać je do pliku .gitignore.
Aby zatrzymać śledzenie pliku."

Teraz zmienimy nasz plik konfiguracji DNS i zobaczmy jak zareaguje etckeeper?

Kod:

echo "#Nowy wpis" >> /etc/resolv.conf

etckeeper vcs status

Na gałęzi master
Zmiany nie przygotowane do złożenia:
  (użyj „git add <plik>...”, żeby zmienić, co zostanie złożone)
  (użyj „git restore <plik>...”, aby odrzucić zmiany w katalogu roboczym)
    zmieniono:       resolv.conf
brak zmian dodanych do zapisu (użyj „git add” i/lub „git commit -a”)

Zatwierdzamy zniany opcja  -a wszystkie autowatycznie   "zmiana dns" - identyfikator i komentarz każdego zatwierdzenia.

Kod:

#etckeeper commit  "zmiana dns"
etckeeper commit -a  "zmiana dns"

[master 531eb32] -a zmiana dns
 Author: user <fg.list.na@gmail.com>
 1 file changed, 1 insertion(+)

Nasz plik DNS

Kod:

cat resolv.conf 

#Generated by NetworkManager
search intern
nameserver 10.0.2.2
#zmiana dns

Aby wyświetlić dziennik wszystkich zatwierdzeń  zmian polecenie etckeeper vcs log.

Kod:

etckeeper vcs log

commit 531eb329dd9fa927991938658a1c7e4ab0114dc6 (HEAD -> master)
Author: user <fg.list.na@gmail.com>
Date:   Wed Aug 3 11:11:31 2022 +0200

    -a zmiana dns

commit ca9eed4a3ba499de568bd88acd4a21d6097e1a01
Author: user <fg.list.na@gmail.com>
Date:   Wed Aug 3 10:49:12 2022 +0200

    -a first-commit-my-etc

To polecenie pokazuje zmiany jakie zostały dokonane.

Kod:

etckeeper vcs show 531e


commit 531eb329dd9fa927991938658a1c7e4ab0114dc6 (HEAD -> master)
Author: user <fg.list.na@gmail.com>
Date:   Wed Aug 3 11:11:31 2022 +0200

    -a zmiana dns

diff --git a/resolv.conf b/resolv.conf
index cad3c74..94357d0 100644
--- a/resolv.conf
+++ b/resolv.conf
@@ -1,3 +1,4 @@
 # Generated by NetworkManager
 search intern
 nameserver 10.0.2.2
+#Nowy wpis

Teraz jeśli chcemy przywrócić poprzednią wersje pliku DNS

Kod:

etckeeper vcs checkout  ca9e /etc/resolv.conf 

Zaktualizowano 1 ścieżkę z 02e5d6f

Kod:

cat resolv.conf 

# Generated by NetworkManager
search intern
nameserver 10.0.2.2

Ok.

Ostatnio edytowany przez floriangreg (2022-08-04 06:44:56)

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Możesz wyłączyć AdBlock — tu nie ma reklam ;-)