firefox из tar.bz2

Разведение огнелисов в домашних условиях

или установка firefox из tar.bz2 архива, а также способ всегда иметь свежего лиса к завтраку

firefox и thunderbird можно установить в Линуксе из репозитория (через synaptic или apt-get, например), а можно — напрямую из tar.bz2 архива с официального сайта mozilla. Второй способ требует немножко больше работы, зато позволяет после установки иметь всегда свежий firefox без возни со сторонними репозиториями и с минимумом хлопот.

Статья разбита на несколько частей — сначала идут довольно пространные объяснения о том где и что лежит, как установить firefox из архива (распаковать и положить в /opt), как сделать firefox браузером по умолчанию (так, чтобы клик по ссылке на pidgin или в thunderbird открывал именно firefox) и как обновлять firefox установленный таким образом (очень просто на самом деле). В самом конце я кратко перечислил все шаги в небольшой шпаргалке.

Руководство небольшое, не претендует на полный обзор темы, рассчитано на debian или ubuntu.

Любые замечания и уточнения будут приветствоваться.

Что где лежит в Линуксе

В линуксе программа, ее ресурсы (иконки, библиотеки и так далее), пользовательские настройки лежат в разных местах. Это связано с тем, что библиотеки, например, могут использоваться несколькими программами.

firefox в этом отношении «сама по себе» — архив tar.bz2 содержит в себе все необходимое для запуска браузера. То есть скачав и распаковав его в какую-нибудь папку — можно просто кликнуть по файлу firefox и таким образом запустить браузер. Или войти в эту папку через терминал и набрать в командной строке firefox — что тоже запустит браузер.

Откуда бы браузер не запустился — он будет искать пользовательский профиль — папку, в которой лежат пользовательские настройки — в частности расширения, файлы prefs.js и user.js, о которых я уже писал. Пользовательские профили как правило лежат в папке

~/.mozilla/firefox

Обычно в этой папке лежат папки со случайными именами (например 3u1mew8a.default), каждая из которых представляет собой отдельный профиль, плюс там находится файл profile.ini, в котором записано какой из файлов запускать по умолчанию. Запустившись, firefox будет искать их именно там. Если у вас уже есть свой профиль — его можно положить в эту папку и после этого или отредактировать profile.ini вручную или запустить firefox из командной строки с ключом -ProfileManager

firefox -ProfileManager

Что позволит выбрать нужный профиль.

Как установить firefox в систему

Поскольку firefox работает «сам по себе», автоматом подхватывая профили из ~/.mozilla/firefox, то в принципе можно просто скачать tar.bz2 с официального сайта (желательно именно оттуда — во-первых там все самое свежее, во-вторых это гарантия от того, что туда не посадят что-нибудь вредоносное). Распаковав архив в любую папку можно просто запускать firefox оттуда.

Возможно, в некоторых версиях линукса придется дополнительно указывать что файл firefox является исполняемым (зайти в папку и из командной строки набрать sudo chmod a+x firefox или сделать правый клик на этом файле в файловом менеджере и поставить соответствующую галочку в правах) — но по моему опыту все работает и так.

Такая работа в «ручном режиме» вполне нормальна, но неудобна по нескольким причинам. Во-первых, в домашней папке болтается лишняя папка, которая либо «путается под ногами», либо прячется где-нибудь на задворках — как раз в тот момент, когда ее нужно найти. Во-вторых, чтобы запустить firefox нужно каждый раз отыскивать эту папку и кликать по исполняемому файлу — что неудобно. Можно, конечно, решить эту проблему в виде «костылей» — ярлыков и так далее и так далее, но это не наш метод.

В линуксе есть специальная папка для программ, которые подобно firefox несут с собой все свои файлы (из наиболее известных программ — firefox, thunderbird и Open(Libre)Office) это папка:

/opt

Поэтому распакуем firefox туда. Скачиваем архив с сайта, распаковываем его с помощью любого распаковщика (если в системе не установлено ничего графического — можно сделать это через uz просто набрать в командной строке:

uz firefox-4.0.1.tar.bz2

Получившуюся папку firefox нужно скопировать в /opt

Тут есть нюанс — работать с /opt позволено только администратору, поэтому все операции исполняем через sudo. Еще один нюанс — если у вас уже установлена firefox (или iceweasel, если вы работаете в debian) — лучше ее удалить. Потому, что в противном случае в /opt уже будет папка firefox.

Итак. Мы скачали и распаковали firefox, например в папку ~/firefox и убедились, что в /opt нет папки firefox.

Далее:

sudo cp -r ~/firefox /opt/firefox

upd: Сэр Ollycat сделал очень верное замечание в комментариях, которое у меня не доходили руки внести в заметку. Исправляюсь.

Немного нехорошо развернуть в домашнюю папку, а потом скопировать в opt. Ибо первое действие создаст файлы с юзером из под которого разархивирование было сделано. А класть такие файлы в opt вообще не красиво. Так что я бы сделал что-то вроде:


cd ~/
wget -c http://…../firefox-4.0.1.tar.bz2
cd /opt
sudo tar -jxvf ~/firefox-4.0.1.tar.bz2

Тогда мы получаем нормальную папку firefox с правами рута на ней.

Все. Лиса сидит там, где ей положено. Теперь сделаем так, чтобы ее можно было запускать из командной строки.

Когда вы что-то набираете в командной строке — интерпретатор ищет исполняемый файл в нескольких папках. Например в ~/bin, /bin и так далее. Ссылки на пользовательские программы хранятся в /usr/local/bin.

Поэтому мы создадим в этой папке ссылку на исполняемый файл firefox:

sudo ln -s /opt/firefox/firefox /usr/local/bin/firefox

И еще одну — в папке /usr/bin:

sudo ln -s /opt/firefox/firefox /usr/bin/firefox

Теперь по набору в командной строке (или в каком-нибудь автозапускателе типа gmrun или в том, что вызывается по Alt+F2) firefox запустится нужный браузер. Папка с firefox не путается под ногами и лежит там где и положено лежать папке приличной программы.

Как обновлять файрфокс?

С обновлениями все просто. Нужно запустить firefox с правами суперпользователя и обновить ее так, как это делалось в windows.`

gksudo firefox

или

sudo firefox

Почему именно с правами суперпользователя? Из соображений безопасности. Когда firefox закачает новую версию ей придется заменить старый бинарный файл (старый экзешник, как сказали бы пользователи windows), а это можно сделать только если ты запущен с правами суперпользователя. И это хорошо — поскольку что-нибудь вредоносное с правами обычного пользователя до исполняемого файла не доберется.

Если кто-то запутался в менюшках — сейчас файрфокс обновляется через Справка -> О firefox и в выскочившем окошке — нажать кнопку «проверка обновлений».

Как интегрировать firefox в систему?

За интеграцию в систему (так чтобы по клику по ссылке в pidgin открывался именно firefox) отвечает система update-alternatives — которая подробно рассмотрена тут, а вот тут лежит русский man.

Если говорить коротко — эта система держитё каталог «альтернатив» — неких сферических абстракций пользовательских программ в вакууме типа «терминал», «браузер», «файловый менеджер». И через update-alternatives можно назначить кто из установленных в системе множества терминалов является основным. Пакеты альтернатив хранятся здесь:

ls /etc/alternatives/

Наша задача — назначить firefox как основной x-www-browser — тогда ссылки запущенные из других приложений будут передаваться именно ему. А если набрать где-нибудь x-www-browser — то запустится именно firefox (а не chrom, lynx или кто-нибудь еще).

Посмотреть текущие альтернативы для браузеров можно так:

update-alternatives --list x-www-browser

А интегрировать туда наш свежеустановленный firefox «с нуля» — так:

sudo update-alternatives --install /usr/bin/x-www-browser x-www-browser /usr/bin/firefox 60

Здесь:

--install - ключ для инсталляции "новой альтернативы",
/usr/bin/x-www-browser - ссылка на категорию
x-www-browser - имя категории
/usr/bin/firefox - линк на линк к бинарному файлу
60 - приоритет

Приоритет задает приоритет выбора альтернативы (там может быть несколько разных программ с разным приоритетом запуска) чем больше число, тем выше приоритет. Если одна программа не может запустится или неудачно запускается — то управление передается программе следующей по приоритету. 60 обычно достаточно, но если что — можно добавить и больше.

Убеждаемся что все поставили верно:

update-alternatives --list x-www-browser

В списке должен присутствовать firefox. Например, у меня он выглядит так:

/usr/bin/chromium-browser
/usr/bin/firefox

С этого момента firefox считается браузером по умолчанию.

Итого

Обобщенный алгоритм:

Удалить firefox (iceweasel), который уже установлен в системе.

Скачать с сайта мозиллы .tar.bz2 архив.

Распаковать его. Должна получиться папка firefox.

uz firefox-4.0.1.tar.bz2

Папку переложить в /opt. Например, для папки firefox лежащей в корне домашней папки:

sudo cp -r ~/firefox /opt/firefox

Либо проделать это все по вышеописанному и более правильному рецепту сэра Ollycat:


cd ~/
wget -c http://…../firefox-4.0.1.tar.bz2
cd /opt
sudo tar -jxvf ~/firefox-4.0.1.tar.bz2

Бросить линки в /bin папки:

sudo ln -s /opt/firefox/firefox /usr/local/bin/firefox
sudo ln -s /opt/firefox/firefox /usr/bin/firefox

Сделать firefox «умолчальным браузером системы»:

sudo update-alternatives --install /usr/bin/x-www-browser x-www-browser /usr/bin/firefox 60

Убедиться, что все получилось:

update-alternatives --list x-www-browser

Обновление файрфокса — запустить его с правами суперпользователя:

gksudo firefox

или

sudo firefox

Обновить. Перезапустить.

Для thunderbird все делается аналогично, но я исключаю шаг с update-alternatives, поскольку интегрировать почтовый клиент мне в общем-то некуда.

20 Responses to firefox из tar.bz2

  1. Одно маленькое замечание: я бы не рекомендовал использовать uz. Во первых это обычная обертка из шелла вокруг гнушного tar-а. Лучше привыкать использовать все же tar. Во вторых uz входит в комплект mtools, его нет в стандартной поставке дистрибутивов, если не установлен данный пакет. В общем некошерный инструмент. ;)

  2. Ага. Я вечером поправлю :) К tar’у я пока непривычен, увы. Но с замечанием согласен.

  3. Остальное на уровне? Или еще есть «дырки»? :)

  4. Да ладно! он же простой как грабли. :) Вот cpio — тот замороченый маленько. ;)

  5. Ну как тебе сказать… Вообще я бы так не делал. ;) ИМХО иметь самый свежий ff не особо надо, а если обнаруживается критическая уязвимость, то все дистры как правило очень быстро на это реагируют. Но если действительно есть причина, как например в дистре нет руссифицированной лисы, а юзеру это очень надо, то я бы делал установку в домашний директорий. А у юзера правил в менюхах «шаткаты» для запуска.

    Если уж очень надо поставить «в систему», то я бы лучше «оборачивал» этот архив в штатный пакет и ставил его шататными средствами. Благо это не проблема. К примеру в debian-подобных дистрах (за все не скажу, но в убунту точно) есть чудесная утилита алиен:

    man:

    alien is a program that converts between Red Hat rpm, Debian deb, Stampede slp, Slackware tgz, and Solaris pkg file formats.

    Ею можно очень бодро перегнать архив в deb пакет. Это было бы наверное правильнее, чем копировать руками в opt.

    Но это, как я сказал, ИМХО.

    Что касается непосредственно написанного тобой… Немного не хорошо развернуть в домашнюю папку, а потом скопировать в opt. Ибо первое действие создаст файлы с юзером из под которого разархивирование было сделано. А класть такие файлы в opt вообще не красиво. Так что я бы сделал что-то вроде:

    cd ~/
    wget -c http://…../firefox-4.0.1.tar.bz2
    cd /opt
    sudo tar -jxvf ~/firefox-4.0.1.tar.bz2

    Тогда мы получаем нормальную папку firefox с правами рута на ней.

    Ну вот как-то так. :)

  6. Спасибо огромное. О правах я даже не задумывался :) Вот что значит профессиональный глаз :)

    Вот со свежим файрфоксом у меня немного другая точка зрения. Например, у меня сейчас в крэнче айсвизел 3.5, а хочется уже работать с четверкой. Но так, чтобы она не путалась у меня «под ногами». Кстати, я в /opt складываю и freemind — тоже последней версии, поскольку «восьмерка» уж очень убога по функционалу.

    За алиен еще одно спасибо — я знал его только по старой версии которая конвертила (не всегда удачно, насколько я помню) rpm’ы. Непременно посмотрю.

    Ну и буду фиксить пост с учетом замечаний. Только чуть позже — сейчас совершенно замотался с работой.

  7. Ну как я уже сказал необходимость этого каждый решает для себя сам. ;) Так что если надо тебе — значит надо. :) А если надо — наилучший вариант все же сделать полноценный deb пакет и поставить его.

    В общем всегда пожалуйста. Комменты можешь вычистить после правки, что бы все было красиво и аккуратно. ;)

  8. :)

    Насколько я знаю, это и есть debian-way :) Интересно, если я поставлю ff через dpkg — оно не будет конфликтовать при независимом обновлении ff и запуске apt-get’а на апгрейд системы?

    Таладно. Я ж сразу написал что критика и замечания приветствуются :) И, кстати, порадовался тому, что таки спромогся на такой пост — хотя бы для того, чтобы узнать как нужно делать правильно :)

  9. По идее, если в сделанном тобой deb-е будут файлы, которые записываются в другое место, нежли файлы штатного ff (а это так и должно быть, ты же собираешься его в /opt совать). И если не прописывать конфликт руками в этот deb, то будут оба жить и поживать по идее. :)

    На счет того, что ты хотел узнать как правильно… Я лишь свое мнение высказал, я не знаю на сколько это правильно. ;)

  10. К стати не хорошо как-то комменты выглядят, когда трейд глубоки поулчается: очень узко, даже страшно представить что будет дальше. :) Чет тебе надо с оформлением подумать видимо…

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

    А вообще, таки нужно будет отправить им фичереквест :)

  12. P.S. такой вопрос — средствами sed можно вывести определенный паттерн, плюс к нему номер строки через тильду?

    Я пока пришел к такому однострочнику:

    vik@frakir:~/tmp$ sed -n ‘/^#.*$/p; /^#/=’ file.txt

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

    Это я делаю генератор содержания для АБТФ без питона :)

  13. Не прошло и полгода — дошли руки внести изменения в текст :) Почему я с этим тянул — для меня загадка :) Но сейчас все вроде бы пофиксил. Поток просмотров с убунтуфорума заставил осознать, что куча народа это читает, а у меня баги в статье :)

  14. N:

    Большое спасибо за отличную статью! Написано очень доступно!

  15. Всегда пожалуйста :) Рад, что пригодилось — и спасибо за обратную связь :)

  16. Аноним:

    Спасибо, под юзером в автомате никак не получалось обновиться ).
    Статья реально помогла.

  17. :) Рад, что помогло. Меня этот момент тоже сбивал с толку — поэтому и взялся писать текст, когда выяснил.

  18. Александр:

    Подскажите пожалуйста, как сделать чтобы при запуске firefox у курсора мыши была прыгающая иконка firefox’а, а не в виде шестерёнки.

  19. Хороший вопрос. Насколько я понимаю, за курсор отвечают не настройки firefox, как такового, а общие системные настройки того оконного менеджера (или оконной среды), который у вас стоит в системе. Судя по тому, что там шестеренка — это KDE — увы, не моя область, но если бы мне пришлось искать информацию по вопросу — я бы искал что-то вроде «как поменять иконку курсора KDE в конкретном приложении».

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

%d такие блоггеры, как: