Temat: Linux - po 11 latach coraz bardziej mnie denerwuje
Stanisław P.:
Ostatnio nie pisałem rantów więc niech będzie :)Michał Ł.:Stanisław P.:
- paczki msi i wersjonowanie softu
Możesz doprecyzować?
Organizacja systemu powoduje, że instalacja programów polega głównie na wykonywaniu ich własnego kodu. Każdy ma inny system instalacji, nawet jeśli msi to jest jakiś framework. Działa to powoli i każdy program jest zorganizowany trochę inaczej. Nie mam teraz linku, ale gdzieś po internecie krąży filmik gdzie na split screenie na jednym systemie jest instalowana jakaś baza z apt-get'a (kilka sekund) a na drugim mssql (naście minut). Czysta baza, żadnej konfiguracji, żadnych dodatków. W dodatku każdy program musi mieć wszystko załączone. Jeśli ściągasz grę w .net'cie, prawdopodobnie zawiera ona instalator DX'a, instalator .net'a, pełno bibliotek które inna aplikacja może już używać, etc.
msi może być stworzony tak, że nie wykonuje kodu tylko wkopiowuje pliki i robi zmiany w rejestrze - problem z msi to raczej brak / bajecznie drogie toole do ich tworzenia(są darmowe ale do mało czgo się nadają).
Wybacz ale porównanie instalacji "jakiejś bazy" np MySQL do MSSQL jest co najmniej niesprawiedliwe - MySQL to kilka MB podczas gdy pełna instalacja MSSQL to prawie 3GB (sam engine ma ok 1GB). Do tego jest to porównywanie produktów z zupełnie innej półki.
- UAC
- separacja procesów która dopiero co zaczyna raczkować (patrz UAC)
Nie wiem czy Cię dobrze rozumiem ale ja nie pracuje na koncie admina od w2k.
Właśnie - jedyny prosto dostępny podział to admin, bądź nie admin (i kilka innych przywilejów jeśli chodzi o zmianę ustawień systemowych i dostęp do wnętrzności)... ale co jeśli chcę, żeby jakiś program działał na moim koncie, ale nie mógł pisać po moim profilu? Albo żeby nie miał dostępu do sieci? Albo żeby działał w swoim sandboxie? Albo żeby miał dostęp tylko do swojego katalogu ustawień i nie widział reszty? (rbac, selinux, apparmor, lxc i inne to potrafią)
Jak chce żeby jakiś program miał własne konto to robię mu konto servisowe i nie bardzo wiem dlaczego miałbym, wtedy zabronić temu kontu dostępu do własnego profilu?. Zgoda na pojedynczym komputerze nie da się w prosty sposób zablokować dostępu do sieci jednemu userowi - w środowisku domenowym już się da.
Jeżeli chcesz żeby miał dostęp tylko do swojego katalogu ostawień to wywal konto z grupy userów lokalnych i nadaj odpowiednie uprawnienia.
selinux - ile znasz osób, które są wstanie poprawnie to zaaplikować? ile znasz osób, które są wstanie poprawnie stworzyć dobrą politykę? (i przy tym nie chcą za to kokosów) ile znasz osób, które są wstanie zdiagnozować problem z selinux? (ja już raz miałem okazje widzieć ticket na selinuxa u RedHat, z którym sam RedHat męczył się prawie tydzień).
Do tego to wszystko co wymieniłeś to jakby nie patrzył dodatkowy soft - nawet jeżeli zaimplementowany w dystrybucji to mimo wszystko dodatkowy soft.
- nie zrobię nic ciekawego na nim zdalnie bez sesji graficznej (nie chodzi mi o zmianę samej konfiguracji - wiem że do tego jest oddzielny system), bądź specjalnego oprogramowania
Co masz na myśli?
Chcę dostać się teraz do komputera w pracy, ściągnąć zmiany do lokalnego repozytorium z jakiegoś VCS'a i ściągnąć jeden plik do siebie. Bez sesji graficznej, cygwin'a, czy dodatkowych programów nie obejdzie...
Do wykonania zdalnie komendy - invoke-command
Do skopiowania pliku - copy-item
(Ze standardowego cmd możesz użyć wmic ale to dość problematyczne).
- podłączenie myszy do usb zajmuje dobre kilka minut zanim wszystkie dymki "instalacja nowego sprzętu" znikną i urządzenie zacznie działać (kontrast do unixo-podobnych gdzie zajmuje to <1s zwykle)
> > Dziwne u mnie po prostu wkładam usb i działa.
Dziwne bo u mnie nie... i tyle :)
No i mamy to co zwykle u jednego działa i innego nie i tak w każdym systemie.
- mentalność firm / osób które piszą tylko pod windows doprowadza do tego, że mam 3+ procesy które mają kompletną kontrolę nad systemem bo muszą kontrolować czy czasem nie używam czegoś nielegalnie
To nie jest wina systemu.
A ja powiem - nie. To jest wina systemu. MS sam narzuca pewne wzorce, czy świadomie czy przez dawanie przykładu. Od bardzo dawnych wersji z czasów "nakładek na dos'a" nie było podziału na użytkowników, więc każdy miał kontrolę nad systemem. XP poza nowymi możliwościami tego nie zmieniło. Vista trochę pomogła ale dalej uczy klikać w "akceptuj" bo inaczej programy nie działają. Sam windows ma wbudowany system kontroli legalności który potrafi być denerwujący kiedy nie działa poprawnie. Tak - to jest wina MS, że taka sytuacja istnieje.
Windows i Linux wyrosły z zupełnie innych środowisk - Windows z założenia miał być standalone workstation, Linux systemem sieciowym multiuser- nie jest łatwo zmienić całą architekturę systemu.
Znowu to, że jakaś firma nie potrafi napisać poprawnie programu to nie wina MS - prawdziwą winę MS ponosi za to, że rozdaje tytuły partnerskie firmą, które piszą złe programy i to jest IMHO przyczyna tego co się dzieje.
Zgoda w Viście UAC był do bani - w w7 jest ok - w w8 też.
BTW: problem z WGA miałem 1 raz - prądu mi na lapku zabrakło w trakcie jego instalacji i się wykrzaczył.
- do wszystkiego są nowe drivery, wszystko musi być w pasku, wszystko musi mieć splashscreena, wszystko musi dodawać kolory tam gdzie nie trzeba... oczywiście to też podchodzi pod mentalność firm / osób które piszą tylko pod windows
Nie rozumiem czemu świadczy to o tandecie systemu.
Jak wyżej - to podejście pochodzi od samego MS. Sami produkowali instalatory zajmujące cały ekran, zmieniali UI programów tak że odbiegało od standardowych ustawień, dodawali bajery (activex bar?) które były kompletnie niepotrzebne. Z drugiej strony zobacz jak wyglądają aplikacje na macach np. (poza produktami adobe, które widać jak że są przeniesione z windy...) Czy na pewno system i MS nie są winne nadawaniu takich wzorców?
Dobra ... znowu nie rozumiem o co Ci w tym wszystkich chodzi - to że są nowe drivery? Super może coś w nich producent poprawił; to, że wszystko musi być w pasku? dobrze bo user domyślnie wie gdzie ma tego szukać; Dodawanie kolorów tam gdzoe nie trzeba??? kwestia gustu.
UI programów - pewnie chodzi Ci o wprowadzenie ribbona - kiedyś musiało się to zmienić zresztą może ja jestem dziwny ale tak samo dobrze pracuje mi się w UI Windows, MAC i Gnome - po prostu
do każdego musiałem się przyzwyczaić i tyle.
To tak tylko rzeczy na które wpadłem wczoraj i dzisiaj...
Mogę zapodać taką oto kontrę dlaczego Linux jst tandetny:
- niby milony paczek softu ale 99% to alfy, bety gammy i delty
Proszę podeprzeć jakąkolwiek analizą - skąd te 99%? Nie wiem jak można do takiego stwierdzenia dojść. Baza pakietów debiana jest dostępna w internecie.
- poza kilkoma sprawdoznymi produktami, większość firm / autorów softu z każdą nową wersją stawia sobie za cel rozwaleni tego co było i napisanie wszystkiego od zera i zamiast poprawić funkcjonalność wprowadza się 100 nowych błędów na miejsce jednego starego
Tak samo. Jeśli już mamy porównywać braki to na konkretnych przykładach. W jaki sposób doszedłeś do tego, że większość?
Te dwa powyższe przykłady to efekt mojej frustracji z zeszłego roku - próbowaliśmy przemigrować z kolegą (zapalonym Unixowcem) pewna mała firmę na Linuksa (2 serwery) + ok 30 stacji klienckich - potrzebowaliśmy dosłownie ok 16 zamienników programów. Szukaliśmy z tydzień - niby wszystko jest ale zaledwie 2 rozwiązania nie były w stanie beta, i dało się na nich cokolwiek robić.
Drugie przy testach wychodziło, że programy w starszych wersjach działały w nowych nie, w nowych traciły krytyczną funkcjonalność itp - wierz mi można się wk....ić szczególnie jak chcesz udowodnić, że na Linuksie też się da.
- graficzne interfejsy stawiając sobie za cell wodotryski a nie użyteczność
Zależy które. Gnome trochę tak, ale polecam poczytać ich dokumenty. Dużo zmian nawet jeśli mi się nie podoba została poparta testami na userach. Xfce za to idzie w kompletnie innym kierunku - nie zmienia się w zasadzie od lat. 4.8 wyszło 2 lata po 4.6 i w zasadzie wniosło w większości tylko poprawki.
xfce - interfejs, którego poza Tobą i mną nie trawi 99% userów.
- graficzne interfejsy nawt dzisiaj potrafiące nie działać - kilkam w KDE na FF i czekam ... nic nic nic .. poddaje się przez ponad 1h walczę z MySQL ... nagle startuje FF (tak ja wiem jak sobie z tym poradzić ... 99% ludzi nie wie)
A mi startuje w ~2.5 sekundy. I sytuacja jak z myszą pod windą ;)
Tak do tego: coś ustawiasz z GUI - nie działa - vi /etc/cośtam - i działa.
- Większość softu pisana przez programistów dla programistów
"Większość"? Nawet jeśli to prawda, to czy jest w tym coś złego? Z drugiej strony koliduje z poprzednim "stawiając sobie za cell wodotryski a nie użyteczność". To co w końcu - dla programistów, czy wodotryski?
To, że standardowy szary user musi móc to coś szybko obsłużyć a często okazuje się że tak nie jest.
o co w końcu - dla programistów, czy wodotryski?
Mylisz wodotrysk z user experience.
zainstalować 5mb program ściągam 400MB zalenożci przez co zawsze przed updatem czeka mnie dobrych kilka dni testów czy coś się nie wywali
Nie rozumiem tego. Jeśli instalator nie polegałby na zależnościach to miałbyś jak w windowsie - magiczny instalator z absolutnie wszystkim czego potrzbujesz. Czyli ten program zamiast 405MB miałby jeszcze więcej bo pewnie część zależności już masz zainstalowanych. W dodatku jak zainstalujesz następny program polegający na tych samych paczkach, nie musisz ich już ściągać. W windowsie każdy pakuje prawie wszystkie zależności do jednej paczki, dzięki czemu w takim przypadku ściągasz te 400MB po raz drugi... Czy naprawdę chciałeś narzekać że oszczędzasz na transferze?...
Teraz jak masz krytyczną dziurę w jednej z tych bibliotek to ściągasz nową wersję programu jeszcze raz, chyba, że ma własny updater (zwykle znowu w trayu i z denerwującymi przypomnieniami).
Tak zaciągam tą jedną tylko bibliotekę i ryzykuje, że 10 programów z niej korzystających przestanie działać.
- bardzo kiepski lub bajecznie drogi soft do cntralnego zarządzania
Typu cfengine (darmowy), czy puppet (darmowy), czy do autentykacji openldap (darmowy), bądź też kerberos (darmowy)?... Chyba, że wszystkie kwalifikują się jako kiepskie?
Teraz bajecznie drogi w porównaniu do czego? AD na windows server? Chciałbym zobaczyć to porównanie.
A ile kosztuje profesjonalnie wsparcie tych systemów? Jak mi przyjdzie audyt i im powiem, że nie mamy wsparcia z zewnątrz to mi zaraz 50-cioma normami przywalą.
Ile będziesz wdrażał openLDAP? cfEdngine i resztę? Jsteś w nich wstanie łatwo wydelegować uprawnienia? Mają własny helpdesk jesteś wstanie łatwo powierzyć coś niedoświadczonym ludziom z 1-wszej linii? Ile widziałeś dużych wdrożeń tych systemów (>1000 serwerów) na żywo nie z przykładu, że AMD coś wdrożyło?
- wsparcie komercyjne właściwie ograniczające jakąkolwiek customizację systemu
W porównaniu do windows? Ograniczające customizację? Czy możesz podać jakiś przykład, bo takie porównanie wogóle nie mieści mi się w głowie...
RedHat, SuSe - przekompiluj coś - tracisz wsparcie.
- coraz większa komplikacja systemu coraz bardziej utrudniająca zabezpieczanie go
Nie rozumiem co masz na myśli. Przydałyby się znowu przykłady. Wg. mnie trend jest właśnie z zupełnie innym kierunku. Ufw daje proste podstawy firewalla, coraz mniej aplikacji czeka na połączenia z sieci, aplikacje są dostarczane z regułami albo apparmor albo selinux, prace nad podstawowym ASLR'em zaczęły się w okolicach początku 2000 (windows dostał go dopiero w viscie, ale był chociaż o rok szybszy z nx'em w stos. do linuxa). Virtualizacja pojedynczego procesu i zamknięcie go w osobnym środowisku będzie pod koniec tego roku śmiesznie prosta. Jeśli ktoś chce mieć bardzo bezpieczny desktop to nawet są już dystrybucje które właśnie to chcą osiągnąć (http://qubes-os.org/Home.html)
Jeśli już naprawdę chcę się zabezpieczyć, to zawsze jest pakiet grsecurity, a analiza działających programów jest prosta przez netstat, lsof, strace, bezpośredni dostęp do pamięci programu przez admina, etc. W windowsie musiałbym to zacząć od sprawdzenia kto oferuje takie pakiety i ile kosztują :(
Zobacz przede wszystkim na to, co się dzieje z kernelem i desktopem.
Poza tym większość rzeczy, które sobie zarzuciliśmy to cechy narzędzi, które są nam potrzebne a jak sam wcześniej wspomniałem dla mnie OS to narzędzie a narządzie dobiera się do pracy - dlatego IMHO mówienie, że coś tandetne bo ni ma cech, które są mi potrzebne ale nie potrzebne pierdylionowi innych userów to znaczy tylko tyle, że nie umiem dobrać narzędzia do pracy.
Michał
Michał Ł. edytował(a) ten post dnia 03.03.12 o godzinie 09:54