Agresywny instalator Microsoftu przyłapany na psuciu Debiana: słowa krytyki pomogły

Microsoft nigdy nie był znany z dobrej współpracy jegooprogramowania z innymi systemami. Nie tylko zresztą o współpracęchodzi – każdy, kto instalował Windowsa na dysku zawierającyminne systemy dobrze wie, że instalator Microsoftu nawet nie próbujezachować stanu aktualnego, jego sekwencja rozruchu nie przewidujeżadnych innych systemów na dysku. Tym razem jednak firma z Redmondposunęła się jeszcze dalej. Jej instalator oprogramowania naLinuksa nie tylko popełniał błędy techniczne, ale też usuwałsystemowy interpreter powłoki sh.

Obraz

O czym myśleli programiści pisząc ten skrypt instalacyjny, tegochyba nikt nie zgadnie. Pierwszy konsekwencje ich pomysłów zauważyłmatematyk Norbert Preining, który postanowił na swojej maszynie zDebianem zainstalować Microsoft Open R 3.5, otwartą implementacjęjęzyka R. R jest ogromnie popularnym narzędziem do obliczeństatystycznych i wizualizacji wyników, a oferowana przez Microsoftdystrybucja wyróżnia się większą wydajnością od wersji GNU imechanizmami gwarantującymi lepszą powtarzalność wyników.

Ze stron Microsoftu pobraćmożna Open R w wersjach na Windowsa, Ubuntu, RHEL-a, SLES-a imacOS-a. W rzeczywistości wszystkie wersje linuksowe są takie same.Nie są to paczki DEB czy RPM, lecz prostu tarball (.tar.gz) zeskryptem instalacyjnym. I właśnie o ten skrypt instalacyjny jestcała afera.

#!/bin/bash #TODO: Avoid hard code VERSION number in all scripts VERSION=echo $DPKG_MAINTSCRIPT_PACKAGE | sed 's/[[:alpha:]|(|[:space:]]//g' | sed 's/\-*//' | awk -F. '{print $1 "." $2 "." $3}' INSTALL_PREFIX="/opt/microsoft/ropen/$" echo \(VERSION ln -s "\)/lib64/R/bin/R" /usr/bin/R ln -s "$/lib64/R/bin/Rscript" /usr/bin/Rscript rm /bin/sh ln -s /bin/bash /bin/sh

Po pierwsze, jak łatwo zauważyć w przedstawionych przezPreininga fragmentachkodu, skrypt instalatora zakończy pracę z błędem, jeśli wsystemie zainstalowana jest już inna, standardowa wersja R –linkowanie symboliczne nie pozwala na nadpisywanie istniejącychplików.

Po drugie, skrypt ordynarnie usuwa domyślny interpreter powłokish, a następnie (czyżby nagle ktoś sobie przypomniał, jak działalinkowanie?) zastępuje go linkiem do interpretera bash.

#!/bin/bash VERSION=echo $DPKG_MAINTSCRIPT_PACKAGE | sed 's/[[:alpha:]|(|[:space:]]//g' | sed 's/\-*//' | awk -F. '{print $1 "." $2 "." $3}' INSTALL_PREFIX="/opt/microsoft/ropen/\({VERSION}/" rm /usr/bin/R rm /usr/bin/Rscrip trm -rf "\)/lib64/R/backup"

Po trzecie, skrypt przeznaczono do deinstalacji Open R ot takkasuje sobie linki, nie sprawdzając gdzie one faktycznie wskazują.

Matematyk zasugerował, aby w Microsofcie poczytali sobie omechanizmie dpkg-divertw Debianie, pozwalającym poprawnie instalować w systemie różnewersje plików, jak również o samym budowaniu pakietów. To cobowiem zaprezentowano w skrypcie jest zdaniem Preininga takądemonstracją niekompetencji, że można tylko założyć, żezostało zrobione celowo.

Zawstydzające słowa przyniosły skutek. W ciągu dwóch dni odupublicznienia sprawy, Microsoft wydałpoprawione wersje, które zachowują się poprawnie. To wciąż tylkotarballe, ale zakładamy, że dla użytkowników Open R nie będzieto stanowiło problemu. Ważne jest to, że po zainstalowaniuinterpretera tego języka nie kończą z popsutym systemem.

Źródło artykułu: www.dobreprogramy.pl
Wybrane dla Ciebie
Czarna lista w telefonie. Jak zablokować niechciane połączenia?
Czarna lista w telefonie. Jak zablokować niechciane połączenia?
Nowość w Zdjęciach Google. Wygodniejsza edycja fotografii
Nowość w Zdjęciach Google. Wygodniejsza edycja fotografii
Atak hakerski na Booking. Zdobyli dane klientów
Atak hakerski na Booking. Zdobyli dane klientów
Luka 0-day w Adobe Reader. Wystarczy spreparowany PDF
Luka 0-day w Adobe Reader. Wystarczy spreparowany PDF
Zaktualizuj Windowsa: wydano kwietniowe poprawki
Zaktualizuj Windowsa: wydano kwietniowe poprawki
Wyciek danych klientów polskich sklepów. 130 tys. pokrzywdzonych
Wyciek danych klientów polskich sklepów. 130 tys. pokrzywdzonych
mBank zmienia wymagania aplikacji. Niektórzy muszą wymienić telefon
mBank zmienia wymagania aplikacji. Niektórzy muszą wymienić telefon
Awaria w Pekao S.A. Problem z bankowością (aktualizacja)
Awaria w Pekao S.A. Problem z bankowością (aktualizacja)
Zakazy social mediów dla nastolatków. Eksperci widzą problem
Zakazy social mediów dla nastolatków. Eksperci widzą problem
Zagrożenia w sieci. Na nie narażone są dzieci
Zagrożenia w sieci. Na nie narażone są dzieci
Sextortion: na czym polega internetowy szantaż?
Sextortion: na czym polega internetowy szantaż?
Koniec dominacji USA w Europie? Francja porzuca Windowsa
Koniec dominacji USA w Europie? Francja porzuca Windowsa
ZANIM WYJDZIESZ... NIE PRZEGAP TEGO, CO CZYTAJĄ INNI! 👇