使用不同的运行名称安装程序

使用不同的运行名称安装程序

我最近用 安装了 gfortran apt-get install gfortran,但结果是最新版本 4.9,与最初需要 gfortran 的软件不兼容。所以我删除了它并尝试了apt-get install gfortran-4.8。问题是现在它可以用gfortran-4.8(显然) 运行,而不是gfortran其他软件所期望的。

gfortran我可以用命令让它运行吗?

编辑:

我阅读了有关别名的信息,并尝试设置~/.bash_aliases包含

alias gfortran='gfortran-4.8'

但没有效果。

答案1

我假设您使用的是 Trusty 之后的版本。这在 Trusty 中不是问题,因为 gfortran 仍为 4.8。

假设降级不是真正的解决方案,我只会向您展示 Trusty 的布局方式。您可能需要检查它是否与您正在运行的任何内容相似,以确保我的结论是正确的:

$ dpkg -S $(which gfortran) $(which gfortran-4.8)
gfortran: /usr/bin/gfortran
gfortran-4.8: /usr/bin/gfortran-4.8

$ file /usr/bin/gfortran
/usr/bin/gfortran: symbolic link to `gfortran-4.8'

因此基本上,这里的gfortran命令只是重定向到/usr/bin/gfortran-4.8。我期望在您的版本中它会重定向到/usr/bin/gfortran-4.9

我们可以覆盖打包路径二进制文件而不触碰它们。我建议(这可能会破坏使用的东西,gfortran所以要小心)我们在/usr/local/bin(注意local)中创建一个新的符号链接。当您调用时gfortran,系统将/usr/local/bin/gfortran首先找到版本。请注意,任何/usr/bin/gfortran显式调用仍将获得 4.9 版本。

无论如何,创建符号链接很容易:

sudo ln -s /usr/bin/gfortran-4.8 /usr/local/bin/gfortran

这有一个令人愉快的副作用,那就是你可以保留你的包,满足你可能需要满足的任何依赖关系。而且对包的升级gfortran不会破坏我们的更改。

答案2

您可以做的是创建一个符号链接(或“快捷方式”)gfortran-4.8并命名该快捷方式gfortran

首先,找出 的gfortran-4.8实际位置。您可以通过运行命令 来执行此操作which gfortran-4.8。假设您得到如下输出:

/usr/bin/gfortran-4.8

您要做的是执行以下命令来创建快捷方式:

sudo ln -s /usr/bin/gfortran-4.8 /usr/bin/gfortran

现在您(以及正在寻找它的其他程序)应该能够使用 运行该程序gfortran

相关内容