[LSA] Няколко въпроса свързани с материала от курса
Здравейте,
През ваканцията успях да усвоя материала от курса и започнах да поназнайвам някои неща, но наред с това се породиха и някои въпроси. Първо, нека попитам някои random въпроси свързани с най-различни части от курса, които ми дойдоха наум докато гледах лекциите:
1. Защо командата lsof (която би трябвало да показва всички отворени файлове и съответните програми които са ги отворили) показва повече отворени файлове за даден процес отколкото има отворени file descriptors в /proc/PID/fd директорията си? Доколкото разбирам по това се съди дали даден файл е отворен или не или може би се бъркам.
Example:
lsof | grep -c "^chrome[ ]*5016" // Output 150 - броя отворени файлове от процеса 5016, стартиран от chrome
ls -l /proc/5016/fd | wc -l // Output 30 - File descriptors отворени от процеса 5016
2. Как можем да зададем директорията, в която yum инсталира пакети и ако е възможно - директория по default в която да се инсталират. В интернет попаднах на отговори тип "You simply can't", но Мариян спомена на съответната лекция за нещо подобно, въпреки че не обясни как става номера доколкото помня.
3. Разбрах че bash и sh са различни shell-ове и по принцип скриптовете се изпълняват с командата bash, но забелязвам из интернет и хора, които ползват sh за изпълнение на скриптове. Въпросът ми е, има ли съществена разлика при изпълнението на скриптове от съответни команди? Тъй като sh е по-стар shell предполагам, че предлага по-ограничени неща, но когато тествах на моята машина с различните команди не открих особена разлика.
UPDATE: След проведеното контролно по ЛСА, вече имам и нов въпрос и той е - какво точно е значението на първото число от четирицифрения вариант на file permission mod (ex. 0777). Предполагам, че това е свързано със setuid, sticky bit, etc. Явно това ми е убягнало из лекциите и не съм го разбрал добре. :/
Другото за което бих искал да помоля е качествен manual/introduction/tutorial за боравене със systemd init системата, защото в съответната лекция това се засегна отгоре отгоре и не стана много ясно как точно работи и как се борави с него, а Мариян подчерта, че в популярни дистрибуции като Ubuntu и Fedora, се използва systemd. Другото което е, това което намирам в интернет изглежда доста сложно за начинаещи и затова да попитам има ли някой по-userfriendly вариант да се запознаем с това?
Благодаря предварително на всеки, който би могъл да ми помогни с някои от въпросите ми. :)