Я задаюсь вопросом, существует ли способ полностью удалить снимок из Ubuntu 19.10, не теряя способность установить важные приложения как Хром.
Когда я просто недавно обновил к новейшему релизу Ubuntu, я понял, что установщик программно переустановил снимок, хотя я вручную удалил его прежде. Дополнительно установщик удалил Хром, который был установлен через репозитории и переустановил его с помощью снимка.
Поскольку я не хочу, чтобы снимок был установлен на моих машинах по различным причинам, которыми состоит в том мой вопрос, если кто-либо знает безопасный способ удалить его и вернуть Хром DEB к источникам?
Существует ли PPA? Я мог использовать источник разновидности Ubuntu дополнительно, которая не удалила Хрома Deb из его источников?
Debian по-прежнему поддерживает Chromium как обычный пакет в своем репозитории APT. Мы можем настроить Ubuntu, чтобы получать его оттуда, и продолжать получать своевременные обновления безопасности вместе со всеми другими обновлениями нашей ОС. Это имеет смысл с точки зрения безопасности, поскольку именно в Debian Ubuntu уже получает большинство своих пакетов, и это очень известный проект высокого уровня. Нет необходимости рисковать установкой программного обеспечения из какого-либо случайного источника или сообщать вашей системе, что следует доверять PPA.
Обязательное предупреждение: Это полностью не поддерживается и может вызвать проблемы сразу или в будущем. Если вы что-то сломаете, это ваша собственная вина.
Вот что я сделал с Ubuntu 19.10:
sudo apt update && sudo apt upgrade
Это обновляет все мои уже установленные пакеты Ubuntu, так что будет легче увидеть, как это повлияет на обновления после того, как я Внесите мои изменения.
snap remove chromium
Пока, досадный щелчок.
sudo apt purge chromium-browser chromium-chromedriver
Прощай, поддельные пакеты Chromium. (Вы можете опустить часть chromium-chromedriver
, если этот пакет не установлен в вашей системе.)
umask 22
Это просто гарантирует, что файлы, которые я создаю, будут доступны для чтения всем, включая систему.
Создайте файл /etc/apt/sources.list.d/debian-stable.list
, содержащий:
deb [signed-by=/usr/share/keyrings/debian-archive-keyring.gpg] http://deb.debian.org/debian stable main
deb-src [signed-by=/usr/share/keyrings/debian-archive-keyring.gpg] http://deb.debian.org/debian stable main
deb [signed-by=/usr/share/keyrings/debian-archive-keyring.gpg] http://deb.debian.org/debian-security/ stable/updates main
deb-src [signed-by=/usr/share/keyrings/debian-archive-keyring.gpg] http://deb.debian.org/debian-security/ stable/updates main
deb [signed-by=/usr/share/keyrings/debian-archive-keyring.gpg] http://deb.debian.org/debian stable-updates main
deb-src [signed-by=/usr/share/keyrings/debian-archive-keyring.gpg] http://deb.debian.org/debian stable-updates main
, который сообщает apt искать пакеты не только в архивах Ubuntu, но и в стабильные архивы Debian. Обычно это плохая идея, потому что вы не хотите, чтобы сотни случайных пакетов Ubuntu заменялись версиями Debian, что, скорее всего, сломало бы вашу систему. Однако мы собираемся добавить некоторые правила, чтобы избежать этой проблемы.
Примечание: файл /usr/share/keyrings/debian-archive-keyring.gpg
, указанный выше, вместе с несколькими другими файлами Debian файлы ключей, уже присутствуют в моей системе Ubuntu благодаря пакету debian-archive-keyring
. Возможно, он уже есть в вашей системе, но если нет, вам следует установить его: sudo apt install debian-archive-keyring
Создайте /etc/apt/preferences.d/debian-chromium
файл, содержащий:
Explanation: Allow installing chromium from the debian repo.
Package: chromium*
Pin: origin "*.debian.org"
Pin-Priority: 100
Explanation: Avoid other packages from the debian repo.
Package: *
Pin: origin "*.debian.org"
Pin-Priority: 1
Первый раздел присваивает пакетам Debian Chromium приоритет ниже нормального; достаточно высокий, чтобы их можно было установить вручную и автоматически обновлять, но не достаточно высокий, чтобы иметь преимущество перед пакетами Ubuntu. Это называется подходящим закреплением и описано в руководстве apt_preferences . Второй раздел присваивает очень низкий приоритет всем другим пакетам Debian, поэтому они будут автоматически устанавливаться или обновляться только в случае необходимости для удовлетворения зависимости.
(Я полагаю, я мог бы назначить гораздо более высокий приоритет пакетам Debian Chromium, если бы я нужно, чтобы они переопределяли Ubuntu, но, поскольку они используют разные имена пакетов, переопределение не требуется.Я также мог бы закрепить все репозитории Debian с приоритетом 100; это сделало бы любые зависимости только Debian доступными для автоматических обновлений, эффективно обрабатывая Debian репо вроде Ubuntu Backports в ручном режиме установки. Я выбрал более консервативный подход, чтобы быть осторожным.)
sudo apt update
Это обновляет базу данных пакетов, поэтому моя система Ubuntu теперь знает обо всем в архивах Debian, что я добавлено.
apt upgrade --simulate
Это показывает мне, что могло бы сделать общесистемное обновление пакета, фактически не выполняя его. Поскольку я уже выполнил обновление перед внесением каких-либо изменений, я не ожидаю увидеть здесь какие-либо обновляемые пакеты.
Если был указан один или два обновляемых пакета, это могло означать, что Ubuntu выпустила некоторые обновления, пока я работал , что нормально. Прежде чем продолжить, я бы спросил apt, откуда берутся эти обновления, с помощью apt policy package-name
. Если бы какие-либо из них были из архивов Debian, я бы рассмотрел возможность отмены моих изменений, удалив созданные мной файлы и снова запустив sudo apt update
.
Если в списке было много обновляемых пакетов, это, вероятно, означало бы этот apt теперь считает, что пакеты Debian являются допустимой заменой пакетов Ubuntu, которые мне не нужны .Это произойдет, если я ошибусь в созданных мной файлах. Я бы отменил свои изменения, удалив созданные мной файлы и снова запустив sudo apt update
. Тогда я мог бы подумать о том, чтобы начать все сначала и набирать более тщательно.
На этом этапе все было хорошо (не было перечислено ни одного обновляемого пакета), поэтому я продолжил.
sudo apt install chromium
Затем менеджер пакетов попросил меня подтвердить, перечислив хром и небольшую горстку пакетов зависимостей, необходимых Chromium. Еще раз, если бы здесь было много пакетов, я бы исследовал и рассмотрел возможность отмены моих изменений. (Я все равно исследовал каждую зависимость, потому что был осторожен, и обнаружил, что только одна из зависимостей исходила из архива Debian: libjpeg62-turbo
, и она не конфликтует ни с чем, что я установил. Все выглядело хорошо, поэтому я сказал диспетчеру пакетов продолжить.
Когда все закончилось, Chromium был наконец установлен как подходящий пакет. Спасибо, сопровождающие Debian!
Я не использую никаких привязок, поэтому следующее, что я сделал, - это заглянул в каталог snap
в моем домашнем каталоге и убедился, что там нет ничего, что мне нужно , а затем выбросьте его в корзину. Если вы хотите сделать то же самое, сначала учтите, что любые пользовательские данные, которые вы создали / изменили / сохранили в Chromium с момента первой установки оснастки, находятся где-то в этой папке привязки. (Вероятно, в папке snap / chromium / current / .config
, которая по умолчанию скрыта в большинстве файловых менеджеров.) Вы можете сделать резервную копию или переместить ее в обычный каталог данных Chrome: $ HOME / .config / chromium
. В моем случае данные Chromium, которые я хотел сохранить, все еще были на своем старом / обычном месте, так как я использовал оснастку всего около пяти минут.
Вот и все. Надеюсь, это кому-то поможет. Если это повредит вашу систему, украдет ваш велосипед, убежит со своим парнем или сделает что-то еще, что вам не нравится, то извините, но это все еще ваша ответственность.
Удачи!
Загрузить Google Chrome
Скомпилировать Google Chromium из источника
Найдите файл пакета PPA или deb, предоставленный третьей стороной.
Google выпускает новую основную версию Chromium каждые шесть недель, обычно с несколькими вспомогательными версиями для устранения уязвимостей безопасности между ними. Каждая новая стабильная версия должна быть создана для каждого поддерживаемого выпуска Ubuntu - 16.04, 18.04, 19.04 и предстоящий 19.10 - и для всех поддерживаемых архитектур (amd64, i386, armhf, arm64).
Кроме того, обеспечение даже сборки Chromium (пусть запускается в одиночку) в более старых выпусках, таких как 16.04, может быть проблематичным, так как в исходном проекте часто используются новые функции компилятора, которые недоступны в старых выпусках.
Напротив, оснастку необходимо создавать только один раз для каждой архитектуры, и она будет работать во всех системах, поддерживающих snapd. Это касается всех поддерживаемых выпусков Ubuntu, включая 14.04 с расширенным обслуживанием безопасности (ESM), а также другими дистрибутивами, такими как Debian, Fedora, Mint и Manjaro.
https://ubuntu.com/blog/chromium-in-ubuntu-deb-to-snap-transition
Вы можете использовать APT, чтобы добавить репозиторий для Chromium. Тогда вам вообще не понадобится snapd.
sudo add-apt-repository ppa:chromium-team/stable
sudo apt-get update
sudo apt install chromium
Теоретически я не имею ничего против оснастки, но спамить мои монтирования, процессы и файловую систему - это слишком много. Я использовал его только для одного (микроредактора), прежде чем хром был навязан мне. (И больше не требуется для micro в 20.04.)
sudo apt remove --purge snapd -y # may take a while
killall snap snapd # probably not necessary
sudo rm -rf /snap /var/cache/snapd/ # buh-bye
rm -rf ~/snap # that one too!
sudo apt-mark hold snap snapd # prevent reinstall
# sudo add-apt-repository ppa:chromium-team/dev
sudo add-apt-repository ppa:saiarcot895/chromium-beta
# sudo apt update # if it didn't already
sudo apt install chromium-browser
# install it from snap beforehand or compile, then copy locally:
cp micro ~/bin
sudo apt install micro
Как и в примере с лесом выше, я сделал следующее:
# first add the beta repo, the stable isn't possible as it doesn't get updated
sudo add-apt-repository ppa:chromium-team/beta
# now edit the file, changing the reference to disco, instead of eoan:
sudo nano /etc/apt/sources.list.d/chromium-team-ubuntu-stable-eoan.list
deb http://ppa.launchpad.net/chromium-team/beta/ubuntu disco main
# Now update the repos:
sudo apt update
Now pin the repository order:
sudo nano /etc/apt/preferences.d/chromium
Explanation: Disallow installing chromium from ubuntu repo.
Package: chromium*
Pin: origin "*.ubuntu.com"
Pin-Priority: 1
Explanation: Allow installing chromium from launchpad repo.
Package: chromium*
Pin: origin "ppa.launchpad.net"
Pin-Priority: 100
# Check which version is to be installed:
apt policy chromium-browser
# Now we can install chromium (the extra codecs resolve playback issues):
sudo apt install chromium-browser chromium-codecs-ffmpeg-extra
Этот PPA, кажется, отлично подходит для этой цели: https://launchpad.net/~saiarcot895/+archive/ubuntu/chromium-dev Это ветвь разработки, но помимо этого, он идеален.
sudo snap remove chromium
sudo apt purge snapd
rm -rf ~/snap
добавить репо
sudo add-apt-repository ppa:chromium-team/dev
измените eoan на disco в /etc/apt/sources.list.d/chromium-team-dev.list
если файл не существует или пуст, вставьте это:
deb http://ppa.launchpad.net/chromium-team/dev/ubuntu disco main
deb-src http://ppa.launchpad.net/chromium-team/dev/ubuntu disco main
, затем обновите
sudo apt update
проверьте
apt policy chromium-browser
install
sudo apt install chromium-browser