Как я ставил программы на Ubuntu.

Думаю что данный пост в какой-то мере можно считать продолжением моего прошлого поста про взгляд на Ubuntu. Тогда я смотрел на как работать с самой системой. Сейчас же я столкнулся с немного другими задачами.

1. Я решил развернуть LAMP. Ок. Ищем Apache в центре приложений Ubuntu:
Ну в принципе я и не удивительно что его там нет. Зачем засорять центр приложений программами для разработчиков. Все равно все ставят из командной строки. Благо командная строка нас не пугает.
Как оказалось позднее все ставится одной строчкой:
sudo tasksel install lamp-server
Но когда я ставил на эту команду я не наткнулся и поэтому ставил все вручную через apt-get. Ну на самом деле делается тоже все одной строчкой:
sudo apt-get install apache2 php5 mysql-server phpmyadmin
Я не очень помню, но вроде бы даже все сразу и заработало.

2. Под Windows я пользуюсь Sublime Text 2. Замечательный редактор. Попробуем поставить.
В центре приложений я его не нашел, хоть и был уверен что он там должен быть. Грустный смайлик нам говорит что соответствующие объекты отсутствуют:
Ок. Идем на сайт Sublime - там нам предлагают скачать архив, из которого все и работает. Но меня немного смутил вопрос "А будет ли это обновляться?", поэтому я пошел в гугл и нашел следующее решение:
sudo add-apt-repository ppa:webupd8team/sublime-text-2
sudo apt-get update
sudo apt-get install sublime-text
В большинстве мануалов по установке толком ничего не объясняется, поэтому команда add-apt-repository может ввести в заблуждение. Да, как можно заметить из названия, это подключение стороннего репозитория. Но в данном случае мы подключаем репозиторий, специально созданный для одной программы. Как я понял, Canonical таким образом решили проблему доступности софта, которого нет в основном репозитории. То есть кто угодно может создать программу и распространять ее через ppa:my_name/my_awsome_program. К слову, Sublime распространяют не сами разработчики.

3. И под конец я решил поставить Ruby on Rails. Внезапно он нашелся в центре приложений.
Это хорошо, но как оказалось, никто так не ставит Ruby. Для него есть такая штука как rvm - Ruby version manager, утилита, позволяющая переключаться между разными версиями ruby и устанавливать новые. Поэтому установка Ruby начинается с установки rvm. Но вот как раз rvm в репозитории Ubuntu нет. Более того на сайте rvm разработчики сами советуют устанавливать все напрямую, используя curl. В конечном итоге порядок установки рельс сводится к следующему:
sudo apt-get install curl # сначала ставим curl
curl -L get.rvm.io | bash -s stable --auto # скачиваем и устанавливаем rvm
rvm requirements
Последняя команда выведет список зависимостей. Так как мы ставим все не через apt-get, то и сами зависимости подтягиваться не будут, поэтому ставим их в ручную:
sudo apt-get install build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion pkgconfig
Дальше устанавливаем сам Ruby:
rvm install 1.9.3 # вместо 1.9.3 можно ввести ruby-head для установки последней версии.
rvm use 1.9.3 # указывает какую версию Ruby использовать. Без этого работать не будет.
ruby -v # Проверяем
Последняя команда выведет что-то вроде "ruby 1.9.3p327 (2012-04-20 revision 35410) [x86_64-linux]". Это информация нужна для следующей команды:
rvm --default use 1.9.3-p327 # это что бы Ruby работал сразу при открытия консоли
Вот теперь можно ставить рельсы:
gem install rails -v 3.2.9

Итого 8 команд. Когда я ставил в первый раз - я не знал про rvm reqirements. Понятное дело ничего не заработало. Во-второй раз я не знал про rvm use - в итоге команда gem только делала видимость работы. Пока я не нашел нормальный гайд на английском (на русском, как оказалось, ничего толкового), я не смог установить Ruby on Rails.

Итого: На Ubuntu легко установить LAMP - это давно сформировавшаяся и устоявшаяся связка программ, которую использует огромнейшее количество людей. Для установки менее популярных вещей, вроде Sublime Text 2, требуются знания о сторонних репозиториях, о том где их искать. Причем ни центр приложений Ubuntu, ни apt-get вам ничего не подскажут. Есть и третий тип программ, разработчики которых игнорируют стандартную систему распространения по, что сильно усложняет установку. Видимо у них есть на это свои причины. Может кто-то в теме почему так происходит?

PS. В центре приложений есть Rails, который подтянет все зависимости, но его версия 2.3.14.2, в то время как актуальная 3.2.9.