Я пытаюсь создать символьную ссылку, чтобы смочь выполнить более новую версию qpdf, чем тот, установленный в 18,04.
Они обеспечивают AppImage.
если я делаю:
/usr/local/bin$ sudo wget https://github.com/qpdf/qpdf/releases/download/release-qpdf-9.1.1/qpdf-9.1.1-x86_64.AppImage
/usr/local/bin$ sudo chmod a+x qpdf-9.1.1-x86_64.AppImage
/usr/local/bin$ ./qpdf-9.1.1-x86_64.AppImage --version
qpdf version 9.1.1
Run qpdf --copyright to see copyright and license information.
Но когда я пытаюсь сделать символьную ссылку (таким образом, я могу назвать ее как qpdf где угодно):
/usr/local/bin$ sudo ln -s qpdf-9.1.1-x86_64.AppImage qpdf
/usr/local/bin$ ./qpdf --version
qpdf: an input file name is required
Usage: qpdf [options] infile outfile
For detailed help, run qpdf --help
И это не показывает версию (или --help
, и т.д.).
Как я могу заставить его работать?
Я плохо знаком с Linux, и возможно я пропускаю что-то очевидное.
Я сделал это следующим способом:
mkdir ~/appimage && cd ~/appimage
wget https://github.com/qpdf/qpdf/releases/download/release-qpdf-9.1.1/qpdf-9.1.1-x86_64.AppImage
chmod +x ~/appimage/qpdf-9.1.1-x86_64.AppImage
$ vim.tiny appimage/qpdf.sh
#!/bin/bash
cd /home/user/appimage/ && exec ./qpdf-9.1.1-x86_64.AppImage "$@"`
chmod +x ~/appimage/qpdf.sh
sudo ln -s /home/user/appimage/qpdf.sh /usr/local/bin/qpdf
В результате:
$ qpdf --version
qpdf version 9.1.1
Run qpdf --copyright to see copyright and license information.
Необходимо отключить параметры:
./qpdf -- --version
Это непосредственно не отвечает на Ваш вопрос о symlinking, но здесь является другим подходом, который можно попробовать.
apt remove qpdf
nano ~/.local/share/applications/qpdf.desktop
В ~/.local/share/applications/создают средство запуска, настраивая "Исполнительный" путь здесь для соответствия местоположению файла AppImage.
[Desktop Entry]
Version=1.0
Name=qpdf
Exec=Path/To/Your/qpdf.AppImage
Terminal=false
X-MultipleArgs=false
Type=Application
StartupNotify=true
nano ~/.bashrc && source ~/.bashrc
Вставьте следующие строки в конце своего существующего ~/.bashrc файл. Как выше, настройте путь в этом примере для соответствия местоположению файла AppImage.
qpdf()
{
~/Path/To/Your/qpdf.AppImage
}