7Zip Nie można utworzyć dowiązania symbolicznego, odmowa dostępu do libhdfs.so i libhadoop.so

19

Pracuję na systemie Windows 10 i próbuję zainstalować Hadoop

Pobrałem go stąd .

Podczas próby wyodrębnienia Hadoop dla plików ( libhdfs.soi libhadoop.so) pojawia się błąd.

Cannot create symbolic link : Access is denied

wprowadź opis zdjęcia tutaj

Jak to naprawić?

Matas Vaitkevicius
źródło
Czy działasz jako administrator?
DavidPostill
Uwaga: aby zainstalować hadoop w systemie Windows, musisz pobrać źródło i zbudować je samodzielnie. Zbuduj i zainstaluj Hadoop 2.x lub nowszy w systemie Windows
DavidPostill
@DavidPostill administrator to zrobił - musiał uruchomić 7Zip jako aplikację. Dzięki
Matas Vaitkevicius
Świetny! Dodano jako odpowiedź.
DavidPostill

Odpowiedzi:

21

Jak to naprawić?

Pojawia się błąd: „Nie można utworzyć dowiązania symbolicznego: odmowa dostępu”

Musisz uruchomić 7-Zip File Manager w trybie administratora.

Kliknij prawym przyciskiem myszy ikonę 7-Zip File Manager, a następnie kliknij „Uruchom jako administrator”.

DavidPostill
źródło
Działa, ale dlaczego potrzebujesz administratora do tworzenia dowiązań symbolicznych w systemie Windows?
Timmmm
2
@ Timmmm Niekoniecznie potrzebujesz administratora, ale potrzebujesz specjalnego uprawnienia: Zobacz Jak utworzyć łącze w systemie Windows 7 Home Premium jako zwykły użytkownik?
DavidPostill
@DavidPostill czy ta odpowiedź dotyczy systemu Windows 7?
Kolob Canyon
@KolobCanyon Err tak. Zobacz mój komentarz powyżej.
DavidPostill
14

Przyjęta odpowiedź nie jest tak naprawdę poprawna, choć być może może działać w niektórych scenariuszach, nie jest powodem „dlaczego”, a przywilej tak naprawdę nie ma tutaj zastosowania.

Problem pojawia się w większości scenariuszy podczas rozpakowywania pliku .tar.gz lub innego podobnego formatu systemu plików innego niż Windows. Problem wynika z kolejności rozpakowywania plików. Na przykład w systemie Linux dozwolone są „wiszące dowiązania sym-link”, dlatego nie występuje błąd i wszystko działa dobrze, ale w systemie Windows tak nie jest. Rozpakowuje się i próbuje utworzyć dowiązanie symboliczne do pliku, który jeszcze nie istnieje, co jest niedozwolone.

Wymuszenie może rozpakować pliki w niektórych sytuacjach lub może je rozpakować, ale będą miały rozmiar 0. Wyodrębnianie wiele razy MOŻE naprawić problem w innych sytuacjach, w zależności od tego, w jaki sposób zostały zapakowane, lub wyodrębnienie ręczne w prawidłowej kolejności.

Aby uzyskać 100% sukcesu, rozpakuj je w systemie, który pozwala na dowiązania symboliczne do nieistniejących plików (np. Linux lub system, dla którego plik był przeznaczony).

Nie jest to kwestia „uprawnień”, ale kwestia systemu operacyjnego. Nie masz zamiar zobaczyć ten błąd na plikach, które były pakowane na systemu plików używanego tylko do plików przeznaczonych do „obcego” systemu operacyjnego, jak .tar.gz, .dmgitp

ForeverZer0
źródło
Czy uważasz, że jest jakiś sposób, aby 7ZIP mógł obejść ten problem, gdyby został zgłoszony błąd?
Pikamander2
@ Pikamander2 Prawdopodobnie byłoby to możliwe, prawdopodobnie wymagałoby pewnego rodzaju sortowania i rozwiązywania dowiązań symbolicznych przed pakowaniem, chociaż próba zrobienia tego może wprowadzić zupełnie nowy zestaw problemów, ponieważ wykracza to poza zakres programu kompresującego. Dowiązania symboliczne między systemami działają zupełnie inaczej, podobnie jak systemy plików. Istnieją również pewne rzeczy, które można zrobić w jednym systemie, a nie w innych (nawet tylko między wersjami Windows). Prawdopodobnie spowoduje to więcej awarii niż naprawi, a najlepiej pozostawić to użytkownikowi, aby zapewnić poprawność.
ForeverZer0