mv: не удается определить'cil.desktop ': такого файла или каталога нет - PullRequest
2 голосов
/ 19 марта 2020

Я пытался установить Pencil Project на Ubuntu-18.04 для разработки пользовательских интерфейсов до его реализации. У меня возникла следующая проблема установки, и я не уверен, почему. После его загрузки я только

sudo apt install ./pencil_3.1.0.ga_amd64.deb && sudo apt install -f

Ниже предупреждения:

emanuele@pc: ~ / Downloads $ sudo dpkg -i карандаши_3.1.0.ga_amd64.deb && sudo apt install -f (Чтение базы данных ... 257381 файлов и каталогов, установленных в настоящее время.) Подготовка к распаковке карандашом_3.1.0.ga_amd64.deb ... Распаковка карандаша (3.1.0.ga) поверх (3.1.0.ga) ... rm : невозможно удалить «/usr/share/applications/pencil.desktop»: нет такого файла или каталога rm: невозможно удалить «/usr/share/applications/pencil.png»: такого файла или каталога нет Настройка карандаша (3.1.0 .ga) ... mv: не может stat'cil.desktop ': нет такого файла или каталога mv: не может stat'cil.png': нет такого файла или каталога chmod: нет доступа к / usr / share / Applications /cil. * ': Нет такого файла или каталога Чтение списков пакетов ... Готово Построение дерева зависимостей Чтение информации о состоянии ... Завершено 0 обновлено, 0 вновь установлено, 0 удалено и 529. Не обновлено.

И Я не уверен, почему не устанавливается. Я сверился с этим источником , а также с этим , и оба источника сказали, что в папке, указанной в предупреждении, отсутствует файл. Кажется, отсутствует значок или .png. Но я скачал .deb из официальной документации . и просто

 sudo apt install ./pencil_3.1.0.ga_amd64.deb && sudo apt install -f

1 Ответ

1 голос
/ 19 марта 2020

Это здорово, позвольте мне рассказать вам, что, по моему мнению, происходит

Unpacking pencil (3.1.0.ga) over (3.1.0.ga) 

Вы установили 3.1.0.ga и теперь переустанавливаете (должно быть нормально переустановить пакеты)

rm: cannot remove '/usr/share/applications/pencil.desktop': No such file or directory 
rm: cannot remove '/usr/share/applications/pencil.png No such file or directory

Он пытается удалить его самостоятельно, с первой установки. (При первой установке эти файлы не помещались здесь, поэтому они не могут быть найдены при удалении)

Setting up pencil (3.1.0.ga)

Начинается установка

mv: cannot stat 'pencil.desktop': No such file or directory
mv: cannot stat 'pencil.png': No such file or directory
chmod: cannot access '/usr/share/applications/pencil.*': No such file or directory

Эти три строки являются root вашего вопроса. Я скачал пакет, и все файлы присутствуют, но я предполагаю, что это проблема пути.

Итак, давайте посмотрим на скрипт, который не может правильно перемещать файлы. Он называется postinst и представляет собой скрипт оболочки

#!/bin/sh

NAME=pencil
VERSION=3.1.0.ga
EXECUTABLE=pencil

mkdir -p /opt/$NAME-$VERSION

APP_PATH=/usr/share/applications

cd /opt/$NAME-$VERSION
mv $NAME.desktop $APP_PATH/
mv $NAME.png $APP_PATH/
chmod 644 /usr/share/applications/$EXECUTABLE.*

cd /usr/bin

if [ -L $EXECUTABLE ]; then
    rm $EXECUTABLE
fi

ln -s /opt/$NAME-$VERSION/$EXECUTABLE $EXECUTABLE

#cd /opt/$NAME-$VERSION

Два mv (перемещать файлы), которые не работают, и chmod (изменение разрешений) явно присутствуют.

Вероятно, (и я не знаю точно), но я думаю, что за шаг до запуска этого скрипта файлы перемещаются в / opt / $ NAME- $ VERSION / (opt / карандаш / 3.1.0.ga /), и по причинам, которые я не понимаю, этого не происходит.

Владельцы этого проекта знают, что существуют некоторые проблемы с установщиком (https://github.com/evolus/pencil/issues/520), и он может быть не самым стабильный инструмент для работы, если вы новичок в программировании / linux.

У этого пользователя похожая проблема https://askubuntu.com/questions/1172077/pencil-does-not-install-on-ubuntu-18-04

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

...