Форум программистов, компьютерный форум, киберфорум
Debian, Kali Linux, Raspbian, Astra Linux
Войти
Регистрация
Восстановить пароль
Другие темы раздела
Debian Linux Tftp remap (rules) tftpd-hpa https://www.cyberforum.ru/ debian-gnu-linux/ thread2109099.html
Не могу допетрить как заставить tftp сервер при получение запроса на файл aeg12345678.crd по первым 3-м буквам перенаправлял его в папку на tftp /crep/mbs/ может кто подскажет? возможно ли такое?
Kali linux persistence метод, live usb Debian Linux
Приветствую, господа. У меня есть две флешки. Одна 4ГБ, вторая 16. На четверке поставил загрузочник от Kali linux 2017.2. Все нормально работает, только данные не сохраняются после завершения сессии. Хотя это мало волновало, так как не хотелось использовать 4ГБ для операционки. У меня есть 16ГБ флешки, хочу поставить Kali linux. Поставил, при загрузке операционки, во первых в GRUB нету пункта...
Debian Linux Печать через Hp Deskjet D2663 в Debian 9 Привет, прривет, привет форум. Недавно заправил свой принтер. Подключил, скачал драйвера, установил hplip, cups и кучу всего еще. Принтер видно и он даже печатает, но бумагу забирает не сразу всю, а как будто по частям, то есть печатает не гладко, а трясется во время работы и в итоге выдает пустой лист. Прошу помощи. P.S. Проверил этот принтер на Винде - всё ок. Принтер нормальный. https://www.cyberforum.ru/ debian-gnu-linux/ thread2107680.html Debian Linux Восстановить файл /etc/apt/sources.list https://www.cyberforum.ru/ debian-gnu-linux/ thread2081395.html
Доброго времени суток! У меня такая проблемма: как-то раз при попытке установки Skype на Kali (в не совсем адекватном состоянии - не спал трое суток) отредактировал часть файла /etc/apt/sources.list и уже не помню, сто удалил или добавил (такая вот злая шутка физиологии)).. Но теперь не удается установить ни одну программу, пишет все время одно и тоже: #: Искажённая запись 10 в list из...
Debian Linux Как сменить публичный ключ?
Заранее сорри, с терминологией траблы. Попробую объяснить на пальцах. Есть хост1 и хост2. Я настроил ssh на обоих, скопировал на хост1 через ssh-copy-id ключ с хост2. После чего, зайдя в шелл на хост1 могу ввести: ssh хост2 sftp хост2 И т.д. и подключиться к серверу хост2. Но теперь пришла пора закрыть этот доступ, а как? Попробовал на хост2 перегенерировать публичный ключ через...
Debian Linux Как получить доступ к файлам Добрый день. Настроил сервер Debian8+VestaCP Разместил там сайт, но после перезагрузки ПК сервер в vesta не запускается apache и mysql... Если подключаю монитор, то вижу - ошибка pciebus или что то типа.... Вынул винчестер, на другой установил всё, а как со старого винча забрать базу mysql ?? Система давать доступ к этой папке из-под нового пользователя не хочет. Говорит - доступ... https://www.cyberforum.ru/ debian-gnu-linux/ thread2079564.html
Debian Linux Wine: Ошибка в формате EXE ! Привет Форуму! Уже видел подобные темы, но проблему так и не решил. пробую запустить Nox Android emulator через wine на Debian 9 mate. Установил Wine и все необходимые dll руководствуясь этим: https://linuxoidblog.blogspot.ru/2015/06/wine-windows.html Так же прописывал, WINEARCH=win32 WINEPREFIX=~/.wine winecfg - без результатов. Очень не хочется ставить винду второй операционкой, а... https://www.cyberforum.ru/ debian-gnu-linux/ thread2079398.html Не запускается SDDM на ядре 4.9.0-3-amd64 Debian Linux
Не запускается SDDM на ядре 4.9.0-4-amd64, причину не могу установить, пробовал запустить в ручную но толку от этого было 0. Так же пробовал установить gdm3 но он тоже не работал. Но вот на ядре 4.9.0-3-amd64 SDDM стартует нормально, и все работает. Вот ошибки которые я собрал: (II) DAEMON: Initializing... (II) DAEMON: Starting... (II) DAEMON: Adding new display on vt 7 ... (II)...
Debian Linux Как настроить ВПН-Тор на Дебиан? https://www.cyberforum.ru/ debian-gnu-linux/ thread2077847.html
Подскaжите как нaстроить цепочку ВПН-Тop на Дебиaн 9, с испoльзованием oбычного Тoр браузера? Пoдключаю впн, потoм включaю Тор браузер, конекта к тор не происходит (прогрессбар молчит), хотя если сeрфить по отдельности через vpn или Тор браузер, то все ок.
Debian Linux Программы изменяют системную громкость При измении громкости в программе, меняется и громкость в системе. Но при этом всегда получается так, что что-то становится громче, а что-то тише, и в итоге сидишь с кровью из ушей... Это нормально для линукса? Так у всех? (я сижу на Parrot 3.8) Можно ли это как-то исправить? Добавлено через 8 часов 29 минут В общем, что я узнал: (если стоит PulseAudio) 1) Чтобы у приложения была... https://www.cyberforum.ru/ debian-gnu-linux/ thread2063580.html
Debian перестал раздавать интернет по Wifi после смены провайдера Debian Linux
На новом месте работы интернет раздается через сервер с Debian и Squid. Есть интерфейс eth0, eth1, eth2, wlan0, ppp0. Eth0 смотрит в локалку, по eth2 поступает инет от провайдера по PPPoE-соединению. Eth1 - резервный для второй линии инета (сейчас не используется). Wlan0 - раздается инет по по Wi-Fi. Eth0 и wlan0 имеют разные подсети (192.168.0.0/24 и 192.168.2.0/24) Ip-адреса раздаются DHCP....
Debian Linux После переустановки ОС нужно найти потерянный LVM
Модератор
Эксперт NIX
8424 / 3248 / 105
Регистрация: 24.05.2011
Сообщений: 14,447
Записей в блоге: 8
0

Удаление пакета без учёта зависимостей - Debian Linux - Ответ 11650318

25.10.2017, 01:54. Показов 13056. Ответов 3
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Имеем Debian 9 с Gnome 3.22.3
Вместе с гномом в систему устанавливается пакет Caribou - виртуальная клавиатура этой оболочки по умолчанию.
В данной ситуации эта виртуальная клавиатура оказалась не нужна, т.к. требовалась другая - OnBoard.
Проблема была в том, что Caribou вылезала там, где не нужно и блокировала ввод с OnBoard. Требовалось Caribou либо отключить совсем, либо вообще удалить.
Но это всё так - исходные условия.

Проблема, по сути в том, что
Bash
1
apt-get remove caribou
или
Bash
1
apt-get purge caribou
по зависимостям удаляют и gnome-core вместе со всем рабочим окружением Gnome3, что в данном случае совершенно неприемлемо.

Теперь о том, как это сделать так, чтобы удалить Caribou и при этом оставить gnome-core.

Для начала, небольшое повествование, что есть такое зависимости в Linux и зачем они вообще нужны

Зависимости пакетов приложений в линуксах вообще нужны для того, чтобы вы, при установке какого-либо пакета приложения не выискивали все необходимые для его функционирования компоненты вручную, а выполняя одну короткую команду
Bash
1
apt-get install packagename
получали всё необходимое сразу.
Так же зависимостями управляются пакеты и при удалении: если данным пакетом больше ни одна программа не пользуется, то зачем ему занимать место на диске и вообще засорять систему?
Вообще - зависимости, за исключением некоторых гиковских дистрибутивов, это то, что, в первую очередь, отличает линуксы от виндовсов.
Ведь, именно благодаря зависимостям, решаются такие фичи линухов, как совместное использование разделяемых библиотек, совместимость версий пакетов, совместное обновление используемого ПО и многие прочие задачи.
Если коротко, то функциональность пакетных менеджеров основана как раз на удовлетворении зависимостей пакетов. И, если часть установленных в системе пакетов имеет неудовлетворённые зависимости, то система в целом более подвержена сбоям, снижается её безопасность и целостность, накапливается программный мусор и прочие проблемы. То есть, благодаря зависимостям пакетов и взаимодействию с ними пакетных менеджеров ваша система остаётся удобной, стабильной и быстрой.
Это, если коротко.
Более подробно о зависимостях, вы, конечно, можете самостоятельно нагуглить в интернетах, но я вам скажу просто: зависимости - это очень удобный и полезный функционал пакетных менеджеров, который просто так, не разбираясь в вопросе и не владея предметом, игнорировать однозначно не стоит. Поэтому, прежде чем выполнять нижеизложенные действия, подумайте и не делайте этого, если вы не вполне понимаете, что вы делаете.


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

Итак, мы уже методом
Bash
1
apt remove caribou
выяснили, что он тянет за собой и gnome-core, который тянет за собой вообще всю gnome-shell.
Исходя из того, что все ПМ в Debian (и его форках и потомках) в конечном итоге для управления пакетами (для непосредственного действия с пакетами) юзают dpkg, делаем вот что:

1.
Bash
1
dpkg --force-depends -r packagename
Но в данном случае (возможно, это зависит от версии самого dpkg) он у меня ругнулся и удалять карибу не захотел (дебиан вообще славится своей стабильностью именно благодаря сильной связанности пакетов зависимостями и вероятно поэтому выпиленной этой опцией в данной версии).
Как вариант, можно попробовать
Bash
1
dpkg --ignore-depends=packagename -r packagename
Но, у меня не сработало и это.
Итак, было решено уже выпиливать неугодный пакет вручную (до первого apt update && apt upgrade).
Но всё-таки, я хотел провести операцию более цивилизованным образом.

2. У dpkg где-то записаны все установленные пакеты и их зависимости в одном месте. Нам нужно выяснить путь и имя этого конфига.
Сей конфиг лежит в Debian 9 в пути
/var/lib/dpkg/
и называется status
То бишь, если мы отредактируем файл /var/lib/dpkg/status соответствующим образом, то, тем самым мы можем вручную разрешить зависимости любого пакета.
Это действие является весьма грязным хаком и крайне не рекомендуется для применения, в особенности для неопытных пользователей.
Перед началом данной операции обязательно сохраните его копию в то место, где вы его случайно удалить не сможете - создайте из под рута директорию в корне с нестандартным именем и правами только для рута. Кроме того, нам потребуется создать ещё один файлик (далее - tempfile) со списком зависимостей - он может быть в любом удобном вам месте и формате. Лучше, конечно, каждый зависимый пакет писать с новой строки (потом проще читать скриптом).
Этот файл имеет вот такой формат
Package: packagename
Status: install ok installed Статус пакета в системе
Priority: optional
Section: gnome
Installed-Size: 1856 Размер пакета в байтах
Maintainer: Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.org>
Architecture: amd64
Version: 3.22.0-1 Версия пакета
Depends: Тут перечислены зависимости пакета через запятую, прямо вот так: libc6 (>= 2.14), libcairo2 (>= 1.2.4), libfontconfig1 (>= 2.11), libfreetype6 (>= 2.2.1), И так далее... Нам, собственно эта секция и нужна.
Description: character map application
Characters is a simple utility application to find and
insert unusual characters.
Homepage: https://wiki.gnome.org/Design/Apps/PackageName
Выделенного этим цветом в файле нет Там вообще нет нелатиницы.
PackageName - ищем необходимые нам пакеты с этим упоминанием. Регистр имеет значение.

Как удобнее искать?
Проще всего сделать поиск по файлу. Например, в Gedit открываем данный файл, жмякаем Ctrl+F и вводим имя пакета (в моём случае это было 'caribou') - редактор подсветит все упоминания в файле вне зависимости от регистра.
Упоминания будут наверняка не в одном месте.
И тут два варианта: в заголовке или в списке зависимостей.
В первом варианте делаем так: вырезаем из списка зависимостей всё, что вы удалять при удалении ненужного пакета не желаете и вставляете это в tempfile, куда я сказал вам выносить зависимости.
Например, при удалении caribou в libcaribou в зависимостях было упоминание libc6 (>= 2.14), который я удалять не собирался, поэтому я вырезал из секции Depends его упоминание и воткнул в tempfile.
Запутанно, неправда-ли?
Всё просто: то, что хотим удалить одновременно с удалением целевого пакета - оставляем в зависимостях, а остальное - переносим в tempfile
Второй случай: упоминание целевого пакета есть в зависимостях другого нужного нам пакета, который мы оставить хотим.
Тут ещё проще: просто удаляем это упоминание, а имя пакета заносим в наш временный файлик.
Ещё раз повторю: перед началом этого действия создайте его копию в недоступном для детей месте.
После того, как вы отредактировали данный файл (в смысле - 'status', а он весьма объёмистый), его нужно сохранить в том же месте и выполнить в терминале
Bash
1
dpkg -r packagename
И "непокорный" пакет будет удалён.
Но у нас ещё остаётся проблема восстановления удалённого пакета обновлением. Вот тут-то нам и потребуется этот наш временный файлик.
Чтобы порешать эту проблему, нужно выполнить следующее действие со всеми зависимыми от удалённого пакетами:
Bash
1
echo "depends-packagename hold" | sudo dpkg --set-selections
Тем самым "заморозить" эти пакеты и запретить их обновление.
Для автоматизации этого процесса выполним вот такой скриптик:
Bash
1
2
3
4
uniq /path/to/tempfile > ./sorted
_VAR=./sorted
cat "$_VAR" | while read _LINE; do
echo "$_LINE hold" | sudo dpkg --set-selections
И вот теперь мы можем быть уверены, что сей удалённый пакет в системе больше не появится, по крайней мере до тех пор, пока вы не изволите разморозить пакеты, перечисленные в tempfile и обновить их.

Заочно соглашусь, что данное решение может быть не самым правильным, с точки зрения философии ПМов и линухов вообще, но второй вариант у меня сработал.

Если у вас есть лучшие решения - поделитесь, но сильно тапками колотить меня не обязательно.

Вернуться к обсуждению:
Удаление пакета без учёта зависимостей Debian Linux
2
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.10.2017, 01:54
Готовые ответы и решения:

При установке зависимостей пакета вылазит ошибка "error: Unable to find vcvarsall.bat"
вообщем система win7, python 2.7.3, при установке в virtualenv pillow с помощью pip'а...

C# без зависимостей
Как сделать, чтобы программа на c# запускалась без доп. зависимостей на windows от 7 до 10? ...

Сборка qt без зависимостей
Собирал по этому мануалу, но в каталоге bin не появились необходимые dll. Сборка завершилась...

Компиляция без зависимостей
Добрый день, хотел переписать программу с c# на с++ из-за вечного: там установлен .Net framework...

3
25.10.2017, 01:54
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.10.2017, 01:54
Помогаю со студенческими работами здесь

Удаление старых зависимостей (или путей)
Доброго дня! Не хотелось начинать общение с глупых вопросов, но ответа так и не нашел. При...

Dll без внешних зависимостей?
Добрый день, Волею судьбы приходится писать программы для C++Builder XE8. К несчастью, библиотеки...

Получать из БД запись с ее зависимостями или без зависимостей?
Здравствуйте! К примеру есть класс class Company { public User User public Requisite...

Вывести слова, начинающиеся с букв «a» «b» «c» без учета регистра и без повторений
Здравствуйте, нуждаюсь в вашей помощи! Требуется: Открыть текстовый файл для чтения TEXT1.TXT. ...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru