воскресенье, 3 октября 2010 г.

Пара слов про Человечную консоль


Консоль, терминал, командная строка - это всё одна и та же хрень, с которой минимум раз в жизни столкнётся любой пользователь хоть Человечности, хоть Красной Шапочки, хоть даже пресловутых Форточек.

Про командную строку написала уже куча народу, внесу и я свою копейку в эту кучу... эээ... Просто кучу.

Написать хочу про софтину, параметры и команды которой постоянно забываю, и приходится лезть в man (человека? ;) Программу зовут apt-get. Служит она, наряду с dpkg и aptitude, для установки и управления всем софтом в нашей с вами Убунту (так и хочется написать: всем мягким, что есть в нашей с вами Человечности...)


Принцип работы программы успели неплохо расписать и до меня, поэтому сразу перейду к описанию команд и параметров.

Для начала, чем они отличаются и для чего нужны. Команда выполняет действие, в отличие от параметров, которые модифицируют поведение команды. На примере: Эй ты! Быстро вали отсюда, муфлон! Здесь: вали отсюда - это команда, а быстро - параметр. Обычно, в командной строке, пишут сначала имя (1) программы, потом (2) параметры, затем (3) команды и (4) аргументы. Вот как выглядел бы мой пример, если бы писался в командной строке:
эй-ты --быстро вали-отсюда муфлон
----- -------- ----------- --------
  1       2         3          4
Иногда ещё перед именем программы, добавляют: sudo. К суду это отношения никакого не имеет. Расшифровывается просто - Super User DO (админ - фас!) То есть, выполнить какую-то программу с правами супер-пользователя, он же админ, он же root. Нафига это нужно? Ну... Об этом как-нибудь в другой раз. Тут парой слов не отмажешься, а пост вовсе не о том. Хотя, для рассматриваемой программы (apt-get, если кто забыл) он будет нужен. Без sudo она не работает.

Итак, команды:
  • update - получить новые списки пакетов. Используется чаще всего после добавления нового репозитория, чтобы ввести Человечность в курс дела.
  • upgrade - выполнить обновление. А здесь речь идёт об обновлении всех программ, для которых есть новые версии. Для любителей Форточек - чудеса, да и только! Не правда ли, господа?
  • install - установить новые пакеты (на месте pkg указывается имя пакета (libc6), а не имя файла (libc6.deb)). Самая распространённая команда. Используется, когда надо чего-нибудь установить из инета или, реже, с сидюка.
  • remove - удалить пакеты. Команда, обратная по действию предыдущей. В качестве аргумента, указывается название удаляемого пакета.
  • autoremove - автоматически удалить все неиспользуемые пакеты. Используется без аргументов. Очень нужная команда, зачищающая всякий мусор на винте. Стоит использовать её периодически, особенно, если на вашем диске совсем мало места.
  • purge - удалить пакеты вместе с их файлами настройки. Это то, что в Синаптике называется "полное удаление программы". Используется для совсем нафиг ненужного говнософта, удаляя который, вы уверены, что больше к нему не вернётесь. Во всех остальных случаях - лучше всё-таки remove. Чтобы заново не конфигурировать.
  • source - скачать архивы с исходным кодом. Это для любителей поковырять софт отвёрткой. Если вы один из них, то сами в курсе, чё там и как. Если нет - то и нефиг туда лазить!
  • build-dep - настроить всё необходимое для сборки пакета с исходным кодом. См. предыдущий пункт.
  • dist-upgrade - обновить всю систему, подробнее в apt-get(8). Если у вас ноут - не забудьте воткнуть шнур питания туда, куда положено. Иначе через 2-4-6 часов рискуете потерять всё, что нажито непосильным трудом. Это в случае, если разрядится батарея, а апгрейд дистрибутива до следующей версии будет в самом разгаре.
  • dselect-upgrade - руководствоваться выбором, сделанным в dselect. Вот тут я пас. Никогда этот самый выбор не делал.
  • clean - удалить скачанные файлы архивов. Освобождаем лишнее место на винте. Дело в том, что Убунту, в ходе работы команды install, сохраняет скачанные пакеты в кэше. Если его не чистить периодически, а новый софт устанавливать часто... В общем, рано или поздно, можно будет забить этими пакетами из кэша весть винт. Команды remove и purge кэш не трогают. Поэтому чаще юзаем clean. Опять же, если с инетом трабл, то наоборот - реже юзаем clean. Потому что, мало ли, что и когда из кэша пригодится. В качестве аргумента используется имя пакета.
  • autoclean - удалить старые скачанные файлы архивов. То же самое что и предыдущее, только без аргументов и на полном автомате. Сама всё найдёт и покиляет :)
  • check - проверить наличие нарушенных зависимостей. Бывает так, что удаляется то, что удалится не должно было. Какая-нибудь маленькая, чмошная программка, в которой есть кусок кода позарез нужный вашей любимой софтине. И любимая софтина, из-за такого пустячка, отказывается корректно работать. Что делать? Юзать check с именем любимой софтины в качестве аргумента!

Теперь параметры. Все указывать не буду, ибо запутаетесь. А кому надо будет больше, то man вам в руки и --help на пузо. Фтыкаем параметры:
  • -h краткая справка. Более полную смотрим на английском с помощью программы man с аргументом apt-get: man apt-get
  • -q показывать сообщения о работе, не выводить индикатор хода работы. То есть, сообщения показывать будет, а прогресс-бар - нет.
  • -qq показывать только сообщения об ошибках. Это чтоб меньше гавкал. С одной стороны - интересные параметры, но с другой... Вот представьте, запускаете установку какой-нибудь навороченой херни, типа того же опенофиса или арены, тупо пялитесь в пустое окошко терминала, на котором сиротливо помигивает курсор, и ждёте, и думаете - а может подвис? Ну что он так долго??? А может перезагрузить комп и по-новой? А может случилось чего? Грызёте ногти. Паритесь. В общем: думайте сами, решайте сами! (с)
  • -d только скачать - НЕ устанавливать и не распаковывать архивы. Ну вот бывает так, что вот ну надо скачать софт и всё. Например, чтобы оттарабанить на флэшечке другу, у которого инет нагнулся.
  • -s не выполнять действия на самом деле, только имитация работы. Безалкогольная водка. Попробуйте.
  • -y отвечать "Да" на все вопросы, сами вопросы при этом не выводить. Штука полезная, когда точно знаешь ЧТО устанавливаешь. Если есть сомнения, или, например, трафик лимитирован, лучше эту опцию не трогать.
  • -f попытаться исправить систему, имеющую сломанные зависимости. Это если какие-то косяки произошли при установке.
  • -m попытаться продолжить, даже если архивы не найдены. А это то, что ведёт к последующуему использованию предыдущего пункта.
  • -u показывать также список обновляемых пакетов. Иногда бывает полезно, но обычно как раз это никому вообще не интересно.

Надо отметить такую штуку: параметры пишутся в двух вариантах:
--параметр
-п
Чаще всего, параметр в сокращённой форме, имеет синоним в длинной. Самый распространённый пример, параметр help: -h и --help. Оба варианта равнозначны. Но иногда, какая-нибудь форма (длинная или короткая), синонима не имеет. Ничего такого особенного в этом нет, просто примите к сведению.

А теперь слайды :). Конкретные примеры то есть.

Простейший случай использования команды install:
sudo apt-get install gtwitter

Варианты.
Отрубаем все сообщения, кроме аварийных и не задаём лишних вопросов:
sudo apt-get -qq -y install gtwitter
Имитируем бурную деятельность:
sudo apt-get -s install gtwitter

Идею уловили?

Ещё пара готовых команд в записную книжку:
sudo apt-get autoremove
sudo apt-get autoclean

И не забываем:

В APT есть коровья СУПЕРСИЛА.


Если кто не сечёт фишку, то пишет в терминале следующее:
apt-get
и радуется, и проникается.

И да, чуть не забыл! Писать всю эту радость надо в программе Терминал, найти которую просто: Приложения -> Стандартные -> Терминал или по сочетнаию клавиш ctrl+alt+T.

Всем удачи, и отличного экспериментального дня!

Пара слов про Человечную консоль. Часть 2. >>>

Заходи на WebBarsMedia.Ru

3 комментария:

  1. Дельно!!! особенно полезно почитать после пересаживания с rpm системы

    ОтветитьУдалить
  2. Спасибо. А чем пользовались до убунты, если не секрет?

    ОтветитьУдалить
  3. Ня, люблю статьи с подробными разъяснениями

    ОтветитьУдалить