Witam, często spotykam się z ofertami pracy dla informatyków, w których jednym z wymagań jest "znajomość systemu Linux". Czy ma ktoś jakieś doświadczenie z tym związane i mógłby wyjaśnić co się składa na tą znajomość Linuxa? Czy to jest jakieś stawianie serwerów, administrowanie nimi? Może ktoś poleciłby jakąś książkę? Z góry dziękuję za wszelkie odpowiedzi
Nie wiem jak w innych firmach, ale u mnie przeciętny dev powinien znać i używać podstawowych komend w terminalu/cygwinie. DevOps z kolei musi znać Linuxa i administrować nim + Puppet, Vagrant, Docker i jakieś inne toole do VM-ek i kontenerów.
U mnie wystarczy umiejętność przechodzenia po folderach i polecenia gita, od reszty są administratorzy. Sam korzystam z windowsa. Łączę się jak coś się z automatu nie pobierze na dev server.
371impreza napisał(a):
Witam, często spotykam się z ofertami pracy dla informatyków, w których jednym z wymagań jest "znajomość systemu Linux". Czy ma ktoś jakieś doświadczenie z tym związane i mógłby wyjaśnić co się składa na tą znajomość Linuxa? Czy to jest jakieś stawianie serwerów, administrowanie nimi? Może ktoś poleciłby jakąś książkę? Z góry dziękuję za wszelkie odpowiedzi
Ciężko powiedzieć. W jednej robocie to będzie umienie skopiowaia plików na serwer prze konsolowe sftp, jeśli jakieś distro jest środowiskiem developerskim. W innej będzie to klepanie skryptów konfiguacyjnych dla produktu - ustawianie zmiennych, kopiowanie bibliotek, czy przygotowywanie paczek .rpm czy jaki tam sobie zarzyczą. Jeszcze gdzie indziej - tu programowanie embeded się kłania możesz mieć za zadanie zainstalowanie sobie na maszynie jakiegoś symulatora płyty z dajmy na to ARMem, który dostaniesz od klienta. Temat rzeka.
Ogólnie jeśli jednak nie jest to praca stricte związana ze środowiskiem uniksowym, to jest to jeden ze znaków, że w danej firmie nie istnieje posada administratora - czyli ktoś z programistów nadzoruje okazjoalnie system, czyli jest to oznaka januszowego modelu biznesowego. Bo nikt poważny nie oszczędza na stanowisku admina.
To może być wszystko - zależy od stanowiska.... Np u nas mile widziana znajomość systemu linux, gdyż są urządzenia, gdzie jest linux systemem na nich działającym i musisz umieć pod niego napisać program, poradzić sobie z debugowaniem ect. Mamy wśród 4 serwerów jeden postawiony na linuksie, więc administrator też musi to umieć ogarnąć. Więc jak napisałem, to zależy od stanowiska.
Cd,ls,cat,grep,mv,vi i kilka innych podstawowych w zupełności wystarczą.
Zależy jaka to praca, ale ogólnie najlepszym rozwiązaniem jest zainstalowanie sobie linuxa i praca na nim, a reszta sama przyjdzie. Nauczysz się tego co Tobie jest potrzebne i to w zupełności wystarczy. Dla przykładu u mnie to:
Najczęście używane komendy:
- sudo, ls, grep, psql, mysql, cat, git/mercurial z konsoli (bo szybciej), mv, cd, vim, scp, touch, mkdir, nautilus ., chmod, chown, curl wttr.in/warsaw (pogoda :D)
Wiedza, gdzie co jest: - logi w /var/log
- configi w /etc/xx
Najlepiej jak poszukasz informacji na temat struktury katalogów (z grubsza co gdzie siedzi) i ogarniesz terminal. Prawdopowodbnie jeżeli jesteś web developerem to to wystarczy.