Quand j'installe le paquetage lua5.2
sur Ubuntu 16.10:
Sudo apt-get install lua5.2
il installe /usr/bin/lua
en tant que lien symbolique vers /etc/alternatives/lua-interpreter
, qui est à son tour un lien symbolique vers `/usr/bin/lua5.2.
Lorsque j'installe le paquetage lua-5.3
, il ne crée pas les liens symboliques. Je ne reçois que /usr/bin/lua5.3
.
La sortie de dkg -L lua5.X
, qui répertorie les fichiers appartenant au package, est identique (à l'exception des numéros de version de certains fichiers) pour les packages lua5.2
et lua5.3
.
Ce que je veux faire, c’est installer la dernière version de Lua, qui est actuellement la 5.3, et pouvoir utiliser #!/usr/bin/lua
dans les scripts.
Je sais que je peux contourner ce problème en créant les liens symboliques manuellement ou en utilisant la commande update-alternatives
(que je n'ai pas encore comprise, mais ce n'est pas ce que je demande).
Ma question est la suivante: pourquoi le paquet lua5.3
not configure-t-il le lien symbolique /usr/bin/lua
lorsque je l'installe, alors que le paquet lua5.2
le fait? Est-ce délibéré, peut-être une politique Ubuntu, ou est-ce simplement un oubli des personnes qui ont créé le paquet?
Parce que le mainteneur du paquet n'a pas fourni l'infrastructure alternatives
. Malheureusement, il est impossible de le contourner, mais de le configurer manuellement ou tout simplement de faire un lien symbolique /usr/bin/lua
à /usr/bin/lua5.3
.
J'ai soumis un rapport de bogue: https://bugs.launchpad.net/ubuntu/+source/lua5.3/+bug/1707212
Ceci est toujours un problème dans 18.04 Bionic. Solution de contournement:
Sudo update-alternatives --install /usr/bin/lua lua-interpreter \
/usr/bin/lua5.3 130 --slave /usr/share/man/man1/lua.1.gz \
lua-manual /usr/share/man/man1/lua5.3.1.gz
Sudo update-alternatives --install /usr/bin/luac lua-compiler \
/usr/bin/luac5.3 130 --slave /usr/share/man/man1/luac.1.gz \
lua-compiler-manual /usr/share/man/man1/luac5.3.1.gz