29.10.2021

*nix, с чего начать

  • Эта тема пуста.
Просмотр 1 сообщения - с 1 по 1 (всего 1)
  • Автор
    Сообщения
  • #834
    Аноним
    Неактивированный

    Часть первая, введение.
    Рано или поздно любой человек так или иначе пользующийся компьютерами и техникой сталкивается с *nix системами.
    Я не собираюсь в этой теме давать конкретные руководства к действию, просто обозначу направления в которых нужно двигаться.

    Для чего нужна эта тема:
    Во-первых чтобы помочь новичку понять с чем ему предстоит иметь дело.
    Во-вторых чтобы систематезировать те знания, которые уже собраны в этом форуме.

    Часть вторая, выбор системы по назначению.
    *nix системы сейчас используются практически везде, это и пылесосы и холодильники и телефоны и планшеты и домашние роутеры и компьютеры всех мастей.
    Критерии выбора по назначению
    Если нам нужен некий сервер, абстрактный, не брендовый, нам важна максимальная надежность, то стоит обратить внимание на ОС изначально нацеленные на работу как серверные, например FreeBSD
    Если сервер не какой-то абстрактный, а вполне брендовый, например Sun(Oracle), то и ОС соответственно лучше использовать того же бренда. Для Sun это Solaris. Для HP это HP-UX. Для IBM это AIX. И тд.
    Если нам нужна именно десктопная система, рабочее место(десктоп), то стоит обратить внимание на десктопные дистрибутивы Linux(об этом далее), ну или если мы покупаем брендовый компьютер(например Mac), то стоит изучать ОС от этого бренда.

    Лучшим выбором для изучения *nix систем вообще, чтобы понять логику работы будет Minix. Эта ОС разрабатывалась изначально как учебное пособие, доступна в исходных кодах с русскими комментариями(если кому интересно).

    Так же существуют различные версии BSD и Linux для различных контроллеров, сетевых и бытовых устройств. Например многим известная ОС Android. А так же ОС для домашних роутеров, DD-WRT, OpenWRT и тд.

    Часть третья, замена Windows или решения для десктопа
    Большинство пользвателей все-таки хотят найти альтернативу Windows, то есть именно десктоп систему.
    Тут выбор велик и все зависит от предпочтений пользователя. Можно использовать как десктоп даже FreeBSD, но лучше и проще с точки зрения пользвателя использовать Linux.

    Основные дистрибутивы Linux:

    Debian и его производные Ubuntu, Mint
    Red Hat(коммерческий) и производные Fedora, CentOS
    Slackware
    Gentoo
    Arch
    Mandrake(Mandriva) и его производные PCLinuxOS
    OpenSuSE

    Отличия в этих дистрибах в подходе к установке дополнительного софта и взаимодействия ОС с пользователем и набором предустановленного софта. Многие вещи в Linux делаются достаточно просто, но топорными методами. Так вот некоторые дистрибы эту «Топорность» допускают, другие же такой возможности не дают.

    Немного философии.
    Многие ошибочно полагают, что простой в установке Ubuntu подходит для начинающего пользователя, однако, имхо, это далеко не так. Линукс нельзя изучить «обезьянним» методом(увидел-повторил) нужно понимание. Любое изучение должно включать в себя практику с самых основ, для linux это консоль. В любом дистрибе вам рано или поздно придется использовать этот инструмент. И лучше, чтобы это было рано, потому что когда в Ubuntu вы столкнетесь с проблемой и решение будет предполагать работу с консолью возникнет очень много «Почему?». В ubuntu например по дефолту нет пользователя root(суперпользователь), с одной стороны это позволяет избежать соблазна работать под ним, но с другой препятствует изучению системы. Лучше всего начинать так: сначала попробовать поработать с любым дистрибом на LiveCD, например Slax. Это даст вам представление о том как оно может выглядеть. Потом крайне желательно установить Arch Linux(а лучше даже Gentoo или FreeBSD) техника простая — читаем мануал, пробуем, не получается, читаем снова, снова пробуем. На этом этапе придет какое-то понимание того что и почему происходит. После нескольких попыток вы получите ту самую консоль скорее всего. Дальше нужно пробовать ставить различное окружение. Скорее всего вы что-нибудь испортите, это нормально. Как говорил великий потрясатель вселенной «Боишься — не делай, делаешь — не бойся». Если все совсем плохо, то в конце концов вы уже знаете как установить систему заново. Окей, через какое-то время вы таки вкорячите какое-нибудь рабочее окружение, XFCEKDEGNOME и тд. Дасльше стоит попробовать устанавливать другой софт, тут вы рано или поздно столкнетесь с зависимостями, когда один модуль программы зависит от другого модуля другой программы, которая тоже от кого-то зависит и вся эта цепочка имеет версии ниже требуемых. Придется обновлять. (Опять же как и перед любым действием — читаем мануал, делаем) Скорее всего вы снова что-нибудь сломаете, ну думаю понятно чем это грозит в худшем случае ;) На этом этапе у вас уже будет понимание практически всех основных аспектов системы. Дальше можно либо продолжать работать с той системой, которую начали мучать, либо пробовать другие дистрибы. Рекомендую начинать с fedora, который прост по архитектуре(и в плане толерантности к топору стоит на одном уровне с тем же Arch), но в то же время бинарный, то есть вам гораздо меньше придется ставить из исходников и контроллировать версии тоже значительно проще. А потом стоит обратить внимание на Debian и все его семейство. Почти любой софт практически гарантированно компилируется под debianubuntumint и без особых проблем устанавливается.

    Часть четвертая, учиться, учиться и еще раз учиться

    Что желательно учить и понимать в первую очередь

    Команды unix
    ssh grep cat netcat(nc) mount umount echo uname
    Команды сборки пакетов
    make, cmake
    Устройство файловой системы и способы работы с ней.
    Ползователи и группы. Что такое root.

    Где брать информацию?
    Общие вопросы описаны и разжеваны на сайтах основных дистрибов. Конкретные вопросы можно задавать в этой ветке, либо если вопрос уже более сложный и не рассматривался — создайте новую тему, не забывайте только как правильно задать вопрос.
    Многие основные теоретические вопросы расписаны в википедии.

    Часть пятая, стороннее ПО.
    Каждый дистриб имеет в том или ином виде некий менеджеруправления программами и репозитарий, откуда они собственно берутся.
    Кроме того есть сторонние репозитарии и просто ПО которое выкладывают в виде исходных кодов, либо уже откомпилированными пакетами под различные дистрибы.

    Полезное ПО(Free)
    Мультимедия
    Audacious — удобный аудиоплеер

    Графика
    Gimp — неплохой редактор изображений

    Офис
    Open Office — замена офиса
    Libre Office — аналогично, но мне кажется чуть пошустрее
    Planner — управление проектами

    Программирование
    Eclipse — кроссплатформнная и многоязыковая среда разработки
    IDEA(Community Edition) — Очень удобная среда разработки на Java(Существует платная версия с расширенным функционалом)

    Системное
    VirtualBox — кроссплатформенная виртуальная машина
    Wine — транслятор windows программ
    FreeNX — удобная и простая в настройке система удаленного администрирования, позволяет запускать графические приложения с удаленной машины как нативные.

    Часть шестая, игры
    Многих отпугивает Linux по причине того, что в нем не идут игры. Это самое распространенное заблуждение. Через wine запускается большинство популярных игр. Не запускаюся(пока) только игры заточенные под DX1011, но думаю в скором времени поддержку реализуют.

    Установка программ.
    В большинстве случаев, в современных дистрибутивах Linux установка происходит через репозитории (хранилища) готовых пакетов. Про серьезные вещи, давайте, потом.
    Репозитории могут иметь графичискей фронтенд, при помощи которого происходит общение с консольной утилитой. Иными словами, например, в Ubuntu можно работать как с командной строки, так и через понятный пользователю интерфейс. Ubuntu, например, имеет свой «Центр приложений» (кстати, в Debian Squeeze и Wheezy его тоже включили), в котором нужно выбрать что нужно, поставить галочку и так далее. Думаю рассказывать не нужно. Ниже информация о консольных вариантах:

    aptitude.

    Работает как менеджер пакетов в ОС Debian по-умолчанию. Прекрасно чувствует себя и в Ubuntu. Для меня он отличается от apt только лучшей работой с зависимостями пакетов и удобным управлением. Итак, основные команды:

    Установка пакета:
    #aptitude install <пакет>
    Удаление пакета:
    #aptitude remove <пакет>
    Поиск программы (пакета):
    $aptitude search <слово>
    Если Вам надоело каждый раз нажимать подтверждение о согласии загрузки/установки/удалении пакетов, то можно использовать ключ
    -y

    Для обновления кеша репозитория (кстати, рекомендуется почаще):
    #aptitude update
    Для обновления системы:
    #aptitude upgrade
    Например, можно запустить обновление системы сразу, используя регулярные выражения:
    #aptitude update && aptitude -y upgrade

Просмотр 1 сообщения - с 1 по 1 (всего 1)
  • Для ответа в этой теме необходимо авторизоваться.