Po półtora roku rozwoju uruchomienie nowa wersja rsync 3.2.4, wersja, w której dokonano szeregu ulepszeń i poprawek błędów.
Dla tych, którzy są nowicjuszami w Rsync, powinniście wiedzieć, że to to narzędzie do synchronizacji plików i tworzenia kopii zapasowych który oferuje wydajną transmisję danych przyrostowych, który działa również na danych skompresowanych i zaszyfrowanych.
Wykorzystując technikę kodowania delta, umożliwia synchronizację plików i katalogów między dwiema maszynami przez sieć lub między dwiema lokalizacjami na tej samej maszynie, minimalizacja ilości przesyłanych danych.
Ważną cechą Rsync, której nie można znaleźć w większości programów lub protokołów, jest to, że kopiowanie odbywa się z tylko jedną transmisją w każdym kierunku. Rsync może kopiować lub wyświetlać zawarte katalogi i kopiować pliki, opcjonalnie używając kompresji i rekursji.
Działając jako demon serwera, Rsync domyślnie nasłuchuje na porcie TCP 873, obsługując pliki w natywnym protokole Rsync lub przez zdalny terminal, taki jak RSH lub SSH. W tym drugim przypadku plik wykonywalny klienta Rsync musi być zainstalowany zarówno na hoście lokalnym, jak i zdalnym.
Główne wiadomości o Rsync 3.2.4
W tej nowej wersji, która jest prezentowana w Rsync 3.2.4 zaproponowano nową metodę ochrony argumentów z wiersza poleceń, który przypomina opcję „–protect-args” („-s”) dostępną powyżej, ale nie psuje skryptu rrsync (ograniczony rsync).
Ochrona sprowadza się do specjalnych znaków ucieczki, w tym spacje, podczas przekazywania żądań do powłoki zewnętrznej. Nowa metoda nie powoduje ucieczki znaków specjalnych w obrębie cytowanego bloku, co pozwala na cytowanie nazwy pliku bez dalszej ucieczki, np. "rsync -aiv host: 'prosty plik.pdf' jest teraz dozwolony". Aby przywrócić stare zachowanie, proponuje się opcję „–old-args” i zmienną środowiskową „RSYNC_OLD_ARGS=1”.
Kolejną zmianą, która wyróżnia się w tej nowej wersji, jest to zaimplementowana możliwość aktualizacji atrybutów xattrs dla plików w trybie tylko do odczytu, jeśli użytkownik ma uprawnienia do zmiany praw dostępu (na przykład podczas uruchamiania jako root).
Dodany i włączony przez domyślny parametr „–info=NONREG”, aby wyświetlać ostrzeżenia o przesyłaniu plików specjalnych.
Scenariusz atomic-rsync został przepisany w Pythonie i rozszerzony o możliwość ignorowania kodów zwróć wartość niezerową. Domyślnie ignorowany jest kod 24, który jest zwracany w przypadku zniknięcia plików podczas działania rsync (na przykład kod 24 jest zwracany w przypadku plików tymczasowych, które były obecne w czasie początkowego indeksowania, ale zostały usunięte w czasie początkowego indeksowania). przesiedleńczy).
Rozwiązano długotrwały problem z obsługą znaków przecinka dziesiętnego; na podstawie aktualnych ustawień regionalnych. W przypadku skryptów zaprojektowanych do przetwarzania tylko „.” w liczbach, w przypadku naruszenia zgodności, można ustawić język „C”.
Dodatkowo naprawiono również usterkę (CVE-2018-25032) w dołączonym kodzie biblioteki zlib, która powoduje przepełnienie bufora podczas próby skompresowania specjalnie przygotowanej sekwencji znaków.
Z innych zmian które wyróżniają się na tle nowej wersji:
- Zaimplementowano opcję „–fsync”, aby wywołać funkcję fsync() przy każdej operacji na pliku w celu opróżnienia pamięci podręcznej dysku.
- Skrypt rsync-ssl używa opcji „-verify_hostname” podczas uzyskiwania dostępu do openssl.
- Dodano opcję „–copy-devices” do kopiowania plików urządzeń jako zwykłych plików.
- Zmniejszone zużycie pamięci podczas przyrostowego przesyłania dużej liczby małych katalogów.
- Na platformie macOS włączona jest opcja „–atimes”.
- Skrypt rrsync (restricted rsync) został przepisany w Pythonie.
- Dodano nowe opcje „-munge”, „-no-lock” i „-no-del”.
- Opcje blokowania „–copy-links” (-L), „–copy-dirlinks” (-k) i „–keep-dirlinks” (-K) są domyślnie włączone, dzięki czemu ataki manipulujące dowiązaniami symbolicznymi do katalogów trudny.
- Skrypt munge-symlinks został przepisany w Pythonie.
Wreszcie, jeśli chcesz dowiedzieć się więcej na ten temat, możesz zapoznać się ze szczegółami w następujący link.