Вопрос или проблема
Я пытался установить что-то, чтобы контроллер PlayStation 3 DualShock работал на моем компьютере с Ubuntu 20.04:
drubbels@drubbels:~$ sudo add-apt-repository ppa:falk-t-j/qtsixa
drubbels@drubbels:~$ sudo apt update
drubbels@drubbels:~$ sudo apt upgrade
drubbels@drubbels:~$ sudo apt install qtsixa
К сожалению, это не заставило контроллер работать, поэтому я решил удалить. Я не подумал очистить пакет qtsixa
перед удалением репозитория:
drubbels@drubbels:~$ sudo add-apt-repository --remove ppa:falk-t-j/qtsixa
Теперь я не могу удалить или даже найти (используя apt list --installed
и dpkg --get-selections
) qtsixa
(переустановка репозитория не заставляет его появиться снова).
Он был удален вместе с ppa? Или он теперь существует невидимо на моем компьютере как какой-то неуловимый ‘фантом’ пакет?
Если вы установили пакет из PPA, но затем удалили PPA, я полагаю, что файлы остаются в системе. Вы можете подтвердить это, выполнив следующие команды для вывода списка.
APT получает пакеты, а DPKG устанавливает их. Сами пакеты можно найти на launchpad, и вы можете увидеть в журнале сборки, какие файлы включены в пакеты.
В этом журнале сборки, внизу, вы увидите строки, начинающиеся с chroot, которые перечисляют все файлы в пакете.
chroot-autobuild/build/buildd/sixad_1.5.1+git20130130-0~vivid2_amd64.deb:
drwxr-xr-x root/root 0 2015-01-07 14:18 ./var/lib/sixad/
-rwxr-xr-x root/root 26936 2015-01-07 14:18 ./usr/sbin/sixad-raw
-rwxr-xr-x root/root 6176 2015-01-07 14:18 ./usr/sbin/hidraw-dump
-rwxr-xr-x root/root 23048 2015-01-07 14:18 ./usr/sbin/sixad-bin
Если qtsixa все еще установлен, у вас должны быть двоичные файлы, начинающиеся с sixad в /usr/sbin, а в /usr/share должен быть каталог с qtsixa.
ls -la /usr/sbin/sixad*
ls -la /usr/share/qtsixa/
Если ни одна из этих команд ничего не возвращает, приложение было удалено. В противном случае журнал сборки содержит все местоположения файлов, относящихся к qtsixa.
Спасибо! Мне удалось установить библиотеки python, но я получаю следующее сообщение об ошибке при выполнении инструкций из первой ссылки:
ERROR: ppa ‘falk-t-j/qtsixa’ not found (use –login if private)
Следующее при запуске make из второй ссылки — нужно ли устанавливать инструмент pyuic? 5, похоже, является текущей версией, поэтому мне придется изменить makefile.
make -C qtsixa
make[1]: Entering directory ‘/home/username/Downloads/qtsixa/qtsixa’
pyuic4 -o ./gui/ui_qtsixa_mainw.py ./gui/ui/qtsixa_mainw.ui
make[1]: pyuic4: No such file or directory
make[1]: *** [Makefile:7: build] Error 127
make[1]: Leaving directory ‘/home/username/Downloads/qtsixa/qtsixa’
make: *** [Makefile:6: build] Error 2
Следующая ошибка при попытке выполнить команду make из третьей ссылки:
mkdir -p bins
g++ -O2 -Wall -Wl,-Bsymbolic-functions sixad-bin.cpp bluetooth.cpp shared.cpp textfile.cpp -o bins/sixad-bin pkg-config --cflags --libs bluez
-lpthread -fpermissive
/bin/sh: 1: pkg-config: not found
In file included from sixad-bin.cpp:18:
bluetooth.h:21:10: fatal error: bluetooth.h: No such file or directory
21 | #include <bluetooth.h>
| ^~~~~~~~~~~~~
compilation terminated.
In file included from bluetooth.cpp:18:
bluetooth.h:21:10: fatal error: bluetooth.h: No such file or directory
21 | #include <bluetooth.h>
| ^~~~~~~~~~~~~
compilation terminated.
make: *** [Makefile:19: sixad_bins] Error 1
bluetooth.h находится в корне sixad-master, поэтому я отредактировал файл, чтобы он искал там, а не в несуществующей папке bluetooth. К сожалению, это не сработало. Другой заголовочный файл, связанный с кодом, l2cap.h, даже не существует.
Ответ или решение
После удаления PPA (Personal Package Archive) в Ubuntu, возникает ряд вопросов о том, что происходит с установленными из этого репозитория пакетами. Рассмотрим, где могут оказаться пакеты и какие шаги следует предпринять, если они «исчезли».
Проблема с PPA и удалением пакетов
Вы установили пакет qtsixa
из PPA falk-t-j/qtsixa
с помощью следующих команд:
sudo add-apt-repository ppa:falk-t-j/qtsixa
sudo apt update
sudo apt install qtsixa
После неудачной попытки заставить контроллер работать, вы удалили PPA с командой:
sudo add-apt-repository --remove ppa:falk-t-j/qtsixa
Следовательно, вы больше не можете видеть или удалять пакет qtsixa
, используя команды apt list --installed
или dpkg --get-selections
. Это поведение является нормальным, так как удаление PPA не обязательно приводит к удалению пакетов, которые были установлены из него.
Где находятся пакеты?
После удаления PPA, если пакеты не были явно удалены (например, через apt remove
или apt purge
), они остаются на системе. Однако они могут быть не видны через стандартные команды, так как список доступных пакетов и обновлений уже не включает этот PPA.
Чтобы проверить, установлен ли пакет qtsixa
, вы можете выполнить следующие команды:
ls -la /usr/sbin/sixad*
ls -la /usr/share/qtsixa/
Если файлы из этих директорий существуют, это свидетельствует о том, что qtsixa
все еще установлен на вашем компьютере, даже если PPA больше не доступен.
Проблемы при сборке и зависимости
Вы указали на дополнительные проблемы при сборке программ, связанных с qtsixa
. Например, команда make
выдала ошибки, что pyuic4
не найдена, и потребовала установить pkg-config
и заголовочные файлы для Bluetooth. Чтобы решить эти проблемы, выполните следующие шаги:
-
Установка необходимых утилит:
Убедитесь, что у вас установлены все необходимые пакеты для сборки:
sudo apt install python3-pyqt5 python3-pyqt5.qtsql build-essential pkg-config libbluetooth-dev
Этот набор утилит должен помочь в решении ошибок, связанных с отсутствующими файлами и библиотеками.
-
Перепроверьте зависимости:
Чтобы убедиться, что все зависимости пакета установлены, вы можете воспользоваться следующей командой:
sudo apt install -f
Это гарантирует, что все зависимости для текущих установленных пакетов корректно настроены.
-
Попробуйте повторную установку:
Если пакет все еще не установлен и у вас есть источник (например, его исходный код на GitHub), попробуйте заново его скачать и установить. Проверьте, доступен ли пакет
qtsixa
на других репозиториях или PPA.
Заключение
Удаление PPA не приводит к удалению установленных пакетов автоматически. Если пакеты все еще нужны, убедитесь в их наличии и установите любые необходимые зависимости для работы. Удачи в дальнейших попытках настройки вашего контроллера!