Случайно удалены / usr / bin / dpkg

При попытке разобраться с ошибкой, я случайно удалил файл / usr / bin / dpkg, и теперь я больше не могу установить пакеты.

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

Я использую 20.04.2 LTS

1
задан 5 March 2021 в 23:32

1 ответ

Пожалуйста, не .

Для обеспечения функциональности Ubuntu в значительной степени использует различные версии Python . Новые выпуски Ubuntu медленно смещаются на Python3 , но старые версии Python по-прежнему используются.

Вы можете перечислить некоторые важные пакеты Ubuntu и Gnome в вашей системе, которые зависят от Python3 , например, так:

apt-cache rdepends -i --installed --recurse python3 | \
grep -v " " | sort -u | grep -E "ubuntu|gnome"

На рабочем столе Ubuntu 20,10 эти важные пакеты входят в их число:

gnome-control-center
gnome-session
gnome-terminal
network-manager-gnome
ubuntu-desktop
ubuntu-desktop-minimal
ubuntu-drivers-common
ubuntu-minimal
ubuntu-release-upgrader-core
ubuntu-release-upgrader-gtk
ubuntu-session
ubuntu-standard
ubuntu-system-service

Более того , такого чистого состояния Python нет. Каждое обновление системы и каждый устанавливаемый пакет могут содержать зависимости, связанные с Python.

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

Если Python уже удален, попробуйте это или это , если требуется исправление. Однако шансы невелики. Если тебе удастся это исправить, тебе повезет.

Золотое правило... Оставь змею в покое.


При этом используйте виртуальную среду Python для своих проектов Python, и вам не нужно очищать или возвращаться к чистоте Ubuntu системы Python.

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

Эта функция может быть установлена для таких Python3, как

sudo apt install python3-venv

Чтобы создать Python3 виртуальную среду для проекта, необходимо сначала создать каталог и компакт-диск для этого:

mkdir my_env && cd my_env

Затем создайте новую виртуальную среду Python3 в каталоге, например:

python3 -m venv env

Это создаст такую структуру:

$tree -L 3

.
└── env
    ├── bin
    │   ├── activate
    │   ├── activate.csh
    │   ├── activate.fish
    │   ├── Activate.ps1
    │   ├── easy_install
    │   ├── easy_install-3.8
    │   ├── pip
    │   ├── pip3
    │   ├── pip3.8
    │   ├── python -> python3
    │   └── python3 -> /usr/bin/python3
    ├── include
    ├── lib
    │   └── python3.8
    ├── lib64 -> lib
    ├── pyvenv.cfg
    └── share
        └── python-wheels

Чтобы использовать эту среду, активируйте ее следующим образом:

source env/bin/activate

В командной строке появится (env) , например:

(env) $

Во время этой операции Python3 команды, установки модулей или изменения будут содержаться локально в этой виртуальной среде.

После завершения деактивируйте эту Python3 виртуальную среду так:

deactivate

Теперь вы возвращаетесь к общесистемной Python3, и команды вступят в силу глобально, поэтому будьте осторожны .

-121--909006-

ОБНОВЛЕНИЕ: Я понял, что эта программа (puddletag) просто имела проблемы с доступом - кажется, что программа не может обрабатывать разделы NTFS или idk... Теперь я использую (для меня лучше редактор тегов mp3) kid3 и нет никаких проблем - легкий доступ ко всем дискам и всем папкам. Perfect:)

-121--909115-

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

cd ~/Download
wget http://archive.ubuntu.com/ubuntu/pool/main/d/dpkg/dpkg_1.19.7ubuntu3_amd64.deb
ar x dpkg_1.19.7ubuntu3_amd64.deb
tar -xf data.tar.xz
sudo cp usr/bin/dpkg /usr/bin/dpkg

А затем переустановить его наверняка sudo apt-get install --reinstall dpkg .

2
ответ дан 18 March 2021 в 23:28

Другие вопросы по тегам:

Похожие вопросы: