Литература по системному программированию (Unix, Python)

Литература по системному программированию (Unix, Python)

29.12.2012 03:31:04 Просмотров 17 Источник

Добрый день!

Я на данный момент где-то чуть больше полугода учусь программировать на Python, а сейчас, в связи новым местом работы, возникла необходимость подтянуть на адекватный уровень системное программирование в никсах. Сам я в них разбираюсь на уровне чуть-чуть выше нуля, т.к. раньше практически всё делал в винде, плюс к этому непосредственно системным программированием не занимался.

Собственно вопрос - что можно в этой области почитать для начального уровня? Интересуют в первую очередь сами никсы - чтобы и основные команды шелла в голове уложить, и немного с башем покопаться, но не лишними будут и книги, касающиеся именно системного программирования на питоне.

Пробовал почитать Немет, Снайдер и др., но это не совсем то, что нужно - там всё-таки разбирается именно администрирование, к тому же требующее либо изначально неплохих знаний, либо возможности всё это как-то потрогать и посмотреть хотя бы на рабочих живых серверах.

Заранее спасибо!

У вопроса есть решение - Посмотреть?

https://ru.stackoverflow.com/questions/178827/%d0%9b%d0%b8%d1%82%d0%b5%d1%80%d0%b0%d1%82%d1%83%d1%80%d0%b0-%d0%bf%d0%be-%d1%81%d0%b8%d1%81%d1%82%d0%b5%d0%bc%d0%bd%d0%be%d0%bc%d1%83-%d0%bf%d1%80%d0%be%d0%b3%d1%80%d0%b0%d0%bc%d0%bc%d0%b8%d1%80%d0%be%d0%b2%d0%b0%d0%bd%d0%b8%d1%8e-unix-python#comment178828_178827
себе линукс уже установили?
https://ru.stackoverflow.com/questions/178827/%d0%9b%d0%b8%d1%82%d0%b5%d1%80%d0%b0%d1%82%d1%83%d1%80%d0%b0-%d0%bf%d0%be-%d1%81%d0%b8%d1%81%d1%82%d0%b5%d0%bc%d0%bd%d0%be%d0%bc%d1%83-%d0%bf%d1%80%d0%be%d0%b3%d1%80%d0%b0%d0%bc%d0%bc%d0%b8%d1%80%d0%be%d0%b2%d0%b0%d0%bd%d0%b8%d1%8e-unix-python#comment178830_178827
Да, но на виртуальной машине. Ubuntu и FreeBSD

Ответы - Литература по системному программированию (Unix, Python) / Литература по системному программированию (Unix, Python)

Barmaley Red Star

29.12.2012 03:45:21

Советую установить дома на виртуалке какой-нибудь Linux, но не из коробки, а что-то такое кондовое типа Slackware.

Попробуйте далее на него натянуть графическую оболочку на базе X-Window. Столкнетесь с тучей проблем, которые придется решать (администрировать). Можно придумывать и другие задачки: типа расшаривания папок с Линуха на ноутбук ребенка, подцепиться к холодильнику через wifi, сбацать DLNA сервер с выводом на TV - да мало ли. Смысл в том, что по ходу решения проблем вы натаскаетесь и сразу будет понятно какие книги понадобятся.

Чтение книг по администрированию, без доступа к реальной оси это в общем-то извращение.

Update: Ubuntu не подойдет - там все вопросы в основном уже решены, надо покондовее.

https://ru.stackoverflow.com/questions/178827/%d0%9b%d0%b8%d1%82%d0%b5%d1%80%d0%b0%d1%82%d1%83%d1%80%d0%b0-%d0%bf%d0%be-%d1%81%d0%b8%d1%81%d1%82%d0%b5%d0%bc%d0%bd%d0%be%d0%bc%d1%83-%d0%bf%d1%80%d0%be%d0%b3%d1%80%d0%b0%d0%bc%d0%bc%d0%b8%d1%80%d0%be%d0%b2%d0%b0%d0%bd%d0%b8%d1%8e-unix-python/178831#comment178835_178831
Чуть выше уже комментировал - у меня и так подняты Ubuntu и FreeBSD, как раз под Virtual Box'ом. Так что доступ к оси всё-таки есть. Не могли бы вы прокомментировать, чем именно Slackware будет лучше вышеперечисленных для обучения?
https://ru.stackoverflow.com/questions/178827/%d0%9b%d0%b8%d1%82%d0%b5%d1%80%d0%b0%d1%82%d1%83%d1%80%d0%b0-%d0%bf%d0%be-%d1%81%d0%b8%d1%81%d1%82%d0%b5%d0%bc%d0%bd%d0%be%d0%bc%d1%83-%d0%bf%d1%80%d0%be%d0%b3%d1%80%d0%b0%d0%bc%d0%bc%d0%b8%d1%80%d0%be%d0%b2%d0%b0%d0%bd%d0%b8%d1%8e-unix-python/178831#comment178836_178831
Ubuntu - серверная, граф. оболочку натягивал уже сам.
https://ru.stackoverflow.com/questions/178827/%d0%9b%d0%b8%d1%82%d0%b5%d1%80%d0%b0%d1%82%d1%83%d1%80%d0%b0-%d0%bf%d0%be-%d1%81%d0%b8%d1%81%d1%82%d0%b5%d0%bc%d0%bd%d0%be%d0%bc%d1%83-%d0%bf%d1%80%d0%be%d0%b3%d1%80%d0%b0%d0%bc%d0%bc%d0%b8%d1%80%d0%be%d0%b2%d0%b0%d0%bd%d0%b8%d1%8e-unix-python/178831#comment178842_178831
> чем именно Slackware будет лучше вышеперечисленных для обучения? точно тем же, чем газ-52 лучше мерседеса. Все очень зависит от условий.
https://ru.stackoverflow.com/questions/178827/%d0%9b%d0%b8%d1%82%d0%b5%d1%80%d0%b0%d1%82%d1%83%d1%80%d0%b0-%d0%bf%d0%be-%d1%81%d0%b8%d1%81%d1%82%d0%b5%d0%bc%d0%bd%d0%be%d0%bc%d1%83-%d0%bf%d1%80%d0%be%d0%b3%d1%80%d0%b0%d0%bc%d0%bc%d0%b8%d1%80%d0%be%d0%b2%d0%b0%d0%bd%d0%b8%d1%8e-unix-python/178831#comment178847_178831
@Barmaley извините, со Slackware у меня воспоминания только из 90х. Там мнение о системе было очень простое: "Меньше надо пить" (это о стиле работы мэйнтенера этого дистрибутива). Советовать такое чудо человеку, который мне ничего плохого не сделал, я бы не стал.
https://ru.stackoverflow.com/questions/178827/%d0%9b%d0%b8%d1%82%d0%b5%d1%80%d0%b0%d1%82%d1%83%d1%80%d0%b0-%d0%bf%d0%be-%d1%81%d0%b8%d1%81%d1%82%d0%b5%d0%bc%d0%bd%d0%be%d0%bc%d1%83-%d0%bf%d1%80%d0%be%d0%b3%d1%80%d0%b0%d0%bc%d0%bc%d0%b8%d1%80%d0%be%d0%b2%d0%b0%d0%bd%d0%b8%d1%8e-unix-python/178831#comment178907_178831
Именно поэтому и надо ставить Slackware что его надо править напильником и причем конкретно править. Все делается руками - только поэтому.
https://ru.stackoverflow.com/questions/178827/%d0%9b%d0%b8%d1%82%d0%b5%d1%80%d0%b0%d1%82%d1%83%d1%80%d0%b0-%d0%bf%d0%be-%d1%81%d0%b8%d1%81%d1%82%d0%b5%d0%bc%d0%bd%d0%be%d0%bc%d1%83-%d0%bf%d1%80%d0%be%d0%b3%d1%80%d0%b0%d0%bc%d0%bc%d0%b8%d1%80%d0%be%d0%b2%d0%b0%d0%bd%d0%b8%d1%8e-unix-python/178831#comment178911_178831
@Barmaley, нельзя с детьми так жестоко
https://ru.stackoverflow.com/questions/178827/%d0%9b%d0%b8%d1%82%d0%b5%d1%80%d0%b0%d1%82%d1%83%d1%80%d0%b0-%d0%bf%d0%be-%d1%81%d0%b8%d1%81%d1%82%d0%b5%d0%bc%d0%bd%d0%be%d0%bc%d1%83-%d0%bf%d1%80%d0%be%d0%b3%d1%80%d0%b0%d0%bc%d0%bc%d0%b8%d1%80%d0%be%d0%b2%d0%b0%d0%bd%d0%b8%d1%8e-unix-python/178831#comment179181_178831
LFS пусть соберет, если руками отправляете все делать.
Является ответом!
dred

29.12.2012 04:05:16

Лично я изучал Python по туториалу и документацию, при этом решая различные прикладные задачи по автоматизации процессов сборки и тестирования. Если обобщить, то любой язык или технологию именно так и стоит изучать, при этом каждый выбирает интересную или полезную для себя сферу его применения.

Системные программы пишут обычно на языке C, его знание в этой области - обязательно. Но на Python действительно легко изучать различные системные API в Linux/Unix, так как он предоставляет к ним прямой доступ чере встроенный модуль os, но при этом надо обязательно заглядывать в man-страницы целевой ОС(man, вторая секция, например man 2 open).

Но для того, чтобы уложить и обобщить все полученные сведения в голове, я считаю, что нужно прочитать несколько хороших книжек.

По Python рекомендую Марка Лутца, лучше конечно в оригинале, ибо сам читал на английском:

По Unix, Linux:

  1. Общее понимание работы операционных систем, классика жанра: Танненбаум
  2. Для начинающих юниксоидов неплохо почитать Грэма Гласса
  3. Для понимания философии Unix неплохо почитать Эрика Реймонда
  4. Программирование в Unix неплохо изложено в книге Рочкинда
akalend

29.12.2012 05:47:24

Классика - Стивенсон, незаменимая настольная книга каждого юниксоида так же есть еще двухтомник Стивенсона "сетевое Программирование" и "многопоточное Программирование". Тоже желательно иметь их под рукой... Первые две книги мнге очень помогли, все можно найти на торрентах

И еще есть книга "системное программирование на Python" автора не помню... не плохое издание

Закрыть X