AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题

问题[update-alternatives](ubuntu)

Martin Hope
Déjà vu
Asked: 2020-10-13 23:35:00 +0800 CST

MySQL、my.cnf 和 /etc/alternatives

  • 0

历史(下面的问题是2020年)

2018 年。在两年前全新/etc/mysql/my.cnf安装 18.04 之后,我想使用16.04 中的设置让一切恢复原状。但是 MySQL 安装设置了两个符号链接

  • /etc/mysql/my.cnf -> /etc/alternatives/my.cnf
  • /etc/alternatives/my.cnf -> /etc/mysql/mysql.cnf

因此我用/etc/mysql/mysql.cnf旧的 16.04替换了新的/etc/mysql/my.cnf。
一切都很顺利,直到另一个 MySQL 更新,由于某些原因,我mysql.cnf被新的更新所取代。漏洞?我接受替换了吗?不要这么想,但是,嗯,这总是可能的。

所以我当时做的是绕过替代系统,即/etc/mysql/my.cnf用我的文件替换链接my.cnf,然后归零mysql.cnf。因为my.cnf优先于mysql.cnf工作(我想我试图符号链接mysql.cnf到我的my.cnf文件,还有其他麻烦,不记得了)。

(老实说,我不太喜欢我发现的替代实现,既麻烦又违反直觉)


2020 年。从18.04升级到 20.04。当然,MySQL 使用替代链接重新创建了一个干净的环境。好的。

但是,为了完成升级,这次我想保持干净,并且尽可能

  • 是否继续使用替代系统(取决于您的建议)
  • 确保进一步的 MySQL 升级(除非它是 v. 9)不会覆盖我的设置(或者它要求)

保持干净的 MySQL 安装的推荐方法是什么?

configuration mysql 20.04 update-alternatives
  • 2 个回答
  • 3068 Views
Martin Hope
manolius
Asked: 2020-09-01 01:18:08 +0800 CST

打开目录默认应用

  • 1

当我使用任何试图打开目录的程序时,它会使用错误的应用程序;它目前使用非资源管理器视觉工作室代码,我不知道为什么。

我尝试将Nautilus设置为主应用程序,但使用system-tettings defaults、此处的任何方法甚至使用update-alternatives都没有成功。

如何更改默认应用程序以打开目录。如果可以使用update-alternatives,哪个是正确的组?

先感谢您

nautilus default-programs update-alternatives
  • 2 个回答
  • 74 Views
Martin Hope
Archisman Panigrahi
Asked: 2020-08-14 22:03:44 +0800 CST

如何使用在我的计算机上编译的 OpenBLAS 存储库中的 Octave?

  • 1

有人建议使用 Octave 和在我自己的计算机上编译的 OpenBLAS(而不是从存储库预编译的 OpenBLAS)将使计算更快。我使用 apt 从存储库安装了 GNU Octave (4.2.2),并从https://www.openblas.net/编译了最新版本的 OpenBLAS 。

如何让 Octave 使用这个 OpenBLAS?

到目前为止我所尝试的。

编译 OpenBLAS 后,我将其安装在opt/openblas.

然后我输入命令

sudo update-alternatives --install /usr/lib/libblas.so libblas.so /opt/openblas/lib/libopenblas.so 50

sudo update-alternatives --install /usr/lib/libblas.so.3 libblas.so.3 /opt/openblas/lib/libopenblas.so 50

sudo update-alternatives --install /usr/lib/liblapack.so liblapack.so /opt/openblas/lib/libopenblas.so 50

sudo update-alternatives --install /usr/lib/liblapack.so.3 liblapack.so.3 /opt/openblas/lib/libopenblas.so 50

然后我配置为使用新的 OpenBLAS

update-alternatives --config libblas.so 
update-alternatives --config libblas.so.3 
update-alternatives --config liblapack.so 
update-alternatives --config liblapack.so.3 

最后我用新的 OpenBLAS 运行了 Octave,但得到了这个错误。

$ LD_PRELOAD=/opt/openblas/lib/libopenblas.so octave-cli
octave-cli: symbol lookup error: /usr/lib/x86_64-linux-gnu/libblas.so.3: undefined symbol: gotoblas
shared-library octave 18.04 update-alternatives
  • 1 个回答
  • 575 Views
Martin Hope
Sun Bear
Asked: 2019-10-08 02:01:39 +0800 CST

安装自定义 GDM 主题:替换 ubuntu.css 与使用“update-alternatives --install .... gdm3.css”

  • 1

我通过 2 种方法为 Ubuntu 18.04 的 GDM 安装了一个自定义的 css 文件。令人惊讶的是,他们给出了不同的结果:

方法(A)

  1. 我将自定义的 GDM css 文件保存为 /usr/share/gnome-shell/theme/ubuntu.css. 也就是说,我已经用我自己的 .css 文件替换了原来的 ubuntu.css 文件,但给了新文件与 ubuntu.css 相同的名称。
  2. 我按 Alt+F2然后按r+Return重新启动 GDM。
  3. 接下来,我按下Super+L来锁定我的桌面。从那里,我首先能够看到 gnome-tweaks 为锁屏设置的壁纸。锁屏的小部件样式遵循我自定义的 css 文件。接下来,对于解锁屏幕,它的壁纸和小部件样式遵循我自定义的 css 文件。
  4. 要在登录屏幕上查看自定义 css 文件的结果,我必须重新启动系统或从当前会话中注销。

方法 (B)

1 我使用了这些命令:

$ sudo update-alternatives --auto gdm3.css
$ sudo update-alternatives --install /usr/share/gnome-shell/theme/gdm3.css gdm3.css /usr/share/gnome-shell/theme/mytheme/mytheme.css 11
update-alternatives: using /usr/share/gnome-shell/theme/mytheme/mytheme.css to provide /usr/share/gnome-shell/theme/gdm3.css (gdm3.css) in auto mode
$ sudo update-alternatives --config gdm3.css
There are 2 choices for the alternative gdm3.css (providing /usr/share/gnome-shell/theme/gdm3.css).

  Selection    Path                                                    Priority   Status
------------------------------------------------------------
* 0            /usr/share/gnome-shell/theme/mytheme/mytheme.css   11        auto mode
  1            /usr/share/gnome-shell/theme/mytheme/mytheme.css   11        manual mode
  2            /usr/share/gnome-shell/theme/ubuntu.css            10        manual mode

Press <enter> to keep the current choice[*], or type selection number: 
  1. 我按Alt+F2然后按r+Return重新启动 GDM。
  2. 接下来,我按下Super+L来锁定我的桌面。与方法 A 不同,我无法在解锁屏幕中看到自定义 css 文件中定义的壁纸和样式;这是一个紫色的屏幕,出现了通常的 ubuntu 解锁小部件。对于锁屏(即屏幕保护程序),它显示了 gnome-tweaks 设置的壁纸,但它的小部件样式不符合我自定义的 css 文件。
  3. 为了查看我自定义的 css 文件的效果是否会出现在登录屏幕中,我重新启动了系统。我很高兴在登录屏幕中找到自定义 ccs 中定义的壁纸和样式。但是,登录后,按Super+L锁定我的桌面后,3.中描述的问题仍然存在。

你能解释一下为什么方法 B 和方法 A 会产生不同的最终产品吗?特别是,为什么我的自定义 css 文件中定义的样式和壁纸没有出现在解锁屏幕中,并且我自定义的 css 文件中定义的小部件样式没有出现在方法 B 的锁屏中?

gnome gdm gnome-shell 18.04 update-alternatives
  • 1 个回答
  • 1976 Views
Martin Hope
Sun Bear
Asked: 2019-10-03 09:08:26 +0800 CST

如何在单个命令行中为“update-alternatives --config gdm3.css”分配优先级编号?

  • 2

我可以在终端中运行这些命令:

$ sudo update-alternatives --install /usr/share/gnome-shell/theme/gdm3.css gdm3.css /usr/share/gnome-shell/theme/mytheme/mytheme.css 10
$ sudo update-alternatives --config gdm3.css
There are 2 choices for the alternative gdm3.css (providing /usr/share/gnome-shell/theme/gdm3.css).

  Selection    Path                                                    Priority   Status
------------------------------------------------------------
* 0            /usr/share/gnome-shell/theme/ubuntu.css                  10        auto mode
  1            /usr/share/gnome-shell/theme/mytheme/mytheme.css         10        manual mode
  2            /usr/share/gnome-shell/theme/ubuntu.css                  10        manual mode

Press <enter> to keep the current choice[*], or type selection number: 1
update-alternatives: using /usr/share/gnome-shell/theme/mytheme/mytheme.css to provide /usr/share/gnome-shell/theme/gdm3.css (gdm3.css) in manual mode

我将这两个cmds放在python3.6 subprocess.run()中。

我遇到的问题是第二个命令。如何在与 相同的 cmdline 中指定/usr/share/gnome-shell/theme/mytheme/mytheme.css为 的替代品?gdm3.csssudo update-alternatives --config gdm3.css

此外,此 cmd 需要输入数字才能选择mytheme.css。分配的编号取决于分配的优先级,这意味着分配的编号可以是任意的。如何克服分配号码的任意性?

gnome command-line themes gdm update-alternatives
  • 1 个回答
  • 1640 Views
Martin Hope
Bridgey
Asked: 2019-07-19 23:45:42 +0800 CST

为什么 MATE 不尊重“x-terminal-emulator”?

  • 5

运行 Ubuntu Mate 18.04.1,安装非常简单。

我试图让 Tilix 成为我的默认终端模拟器。

已按以下方式设置update-alternatives:

me@mine:~$ sudo update-alternatives --config x-terminal-emulator
There are 6 choices for the alternative x-terminal-emulator (providing /usr/bin/x-terminal-emulator).

  Selection    Path                            Priority   Status
------------------------------------------------------------
  0            /usr/bin/tilix.wrapper           30        auto mode
  1            /usr/bin/koi8rxterm              20        manual mode
  2            /usr/bin/lxterm                  30        manual mode
  3            /usr/bin/mate-terminal.wrapper   30        manual mode
* 4            /usr/bin/tilix.wrapper           30        manual mode
  5            /usr/bin/uxterm                  20        manual mode
  6            /usr/bin/xterm                   20        manual mode

Press <enter> to keep the current choice[*], or type selection number: 
me@mine:~$ 
me@mine:~$ sudo update-alternatives --display x-terminal-emulator
[sudo] password for me: 
x-terminal-emulator - manual mode
  link best version is /usr/bin/tilix.wrapper
  link currently points to /usr/bin/tilix.wrapper
  link x-terminal-emulator is /usr/bin/x-terminal-emulator
  slave x-terminal-emulator.1.gz is /usr/share/man/man1/x-terminal-emulator.1.gz
/usr/bin/koi8rxterm - priority 20
  slave x-terminal-emulator.1.gz: /usr/share/man/man1/koi8rxterm.1.gz
/usr/bin/lxterm - priority 30
  slave x-terminal-emulator.1.gz: /usr/share/man/man1/lxterm.1.gz
/usr/bin/mate-terminal.wrapper - priority 30
  slave x-terminal-emulator.1.gz: /usr/share/man/man1/mate-terminal.1.gz
/usr/bin/tilix.wrapper - priority 30
  slave x-terminal-emulator.1.gz: /usr/share/man/man1/tilix.1.gz
/usr/bin/uxterm - priority 20
  slave x-terminal-emulator.1.gz: /usr/share/man/man1/uxterm.1.gz
/usr/bin/xterm - priority 20
  slave x-terminal-emulator.1.gz: /usr/share/man/man1/xterm.1.gz

但是,当我点击ctrl++alt时t,我得到了 MATE 终端。

我错过了什么?

ubuntu-mate update-alternatives
  • 1 个回答
  • 835 Views
Martin Hope
Phil Freihofner
Asked: 2019-01-04 14:10:27 +0800 CST

如何修复更新替代品所犯的错误?

  • 2

在安装 OpenJDK 11(通过下载)并尝试设置环境变量并默认调用此版本而不是先前安装的 Java 10 的过程中,我搞砸了 Ubuntu 查找 Java 的能力。当前的错误信息如下:

phil@UBI-VirtualBox:~/JavaApps$ java -version bash: /usr/bin/java: 没有这样的文件或目录

以下是导致此问题的操作的时间顺序。

我在 /usr/lib/jvm/jdk-11.0.1 文件夹中安装了 OpenJDK 11。/usr/lib/jvm 文件夹还有其他 Java 版本(例如,/java-ll-openjdk-amd64,它实际上运行 java 10)。

然后我创建了一个 JAVA_HOME 变量并将其设置为首选的 java 版本。环境变量现在列在 /etc/environment

JAVA_HOME="/usr/lib/jvm/jdk-11.0.1"

并作为 ~/.bashrc 中的最后一行

export JAVA_HOME=/usr/lib/jvm/jdk-11.0.1

那时,当尝试通过“java -version”检查时,我发现 JAVA_HOME 工作正常,但我的默认值仍然指向之前安装的 Java 10。

phil@UBI-VirtualBox:~$ java -version
openjdk version "10.0.2" 2018-07-17
OpenJDK Runtime Environment (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.4)
OpenJDK 64-Bit Server VM (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.4, mixed mode)
phil@UBI-VirtualBox:~$ $JAVA_HOME/bin/java -version
openjdk version "11.0.1" 2018-10-16
OpenJDK Runtime Environment 18.9 (build 11.0.1+13)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.1+13, mixed mode)

正是在这一点上,我发现update-alternatives正在发挥作用。

不幸的是,我似乎通过输入错误的命令把事情搞砸了:

phil@UBI-VirtualBox:~$ sudo update-alternatives --install /usr/lib/jvm java /usr/lib/jvm/jdk-11.0.1/bin/java 3
update-alternatives: renaming java link from /usr/bin/java to /usr/lib/jvm
update-alternatives: warning: forcing reinstallation of alternative /usr/lib/jvm/java-11-openjdk-amd64/bin/java because link group java is broken
update-alternatives: warning: not replacing /usr/lib/jvm with a link
phil@UBI-VirtualBox:~$ sudo update-alternatives --install /usr/lib/java java /usr/lib/jvm/jdk-11.0.1/bin/java 3
update-alternatives: warning: forcing reinstallation of alternative /usr/lib/jvm/java-11-openjdk-amd64/bin/java because link group java is broken
phil@UBI-VirtualBox:~$ sudo update-alternatives --config java
There are 3 choices for the alternative java (providing /usr/lib/java).

  Selection    Path                                            Priority   Status
------------------------------------------------------------
* 0            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1101      auto mode
  1            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1101      manual mode
  2            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      manual mode
  3            /usr/lib/jvm/jdk-11.0.1/bin/java                 3         manual mode

Press <enter> to keep the current choice[*], or type selection number: 3
update-alternatives: using /usr/lib/jvm/jdk-11.0.1/bin/java to provide /usr/lib/java (java) in manual mode 

现在,当运行“java -version”时,我收到以下错误消息:

phil@UBI-VirtualBox:~/JavaApps$ java -version
bash: /usr/bin/java: No such file or directory

检查 /usr/bin 是否有“java”文件,我发现不存在。有一个“javac”链接指向 /ext/alternatives 文件夹(以及其他链接,例如“jar”)。

/ext/alternatives 文件夹中同时包含“javac”和“java”链接。“javac”和“java”都指向所需的 java 版本。(我还添加了 javac 的替代品。)

此外,保存 jvm 的文件夹 (/usr/lib/jvm) 还保存了另一个“java”链接文件。这个指向“/etc/alternatives/java”。并且有一个“default-java”文件文件夹链接指向不想要的 Java 版本。

我尝试将“/etc/alternatives/java”的链接从 /usr/lib/jvm 复制到 /usr/bin,但生成的图标没有箭头并且不起作用,所以我将其删除。用于复制的命令:

sudo cp /usr/lib/jvm/java /usr/bin/java 

我想我最好在让事情变得更糟之前停止挣扎,并询问如何解决这个问题。

顺便说一句,JAVA_HOME 仍然可以正常工作。

java update-alternatives
  • 1 个回答
  • 10891 Views
Martin Hope
Stephen Ostermiller
Asked: 2018-11-08 12:46:52 +0800 CST

update-alternatives for sh 报告 bash 被使用,但我仍然得到破折号

  • 4

我刚刚从 Ubuntu 17.10 升级到 Ubuntu 18.10。

我将我的盒子配置为bash用作默认 shell 而不是默认的dash. 我已经通过以下sudo update-alternatives --config sh报告进行了此更改:

  Selection    Path            Priority   Status
------------------------------------------------------------
  0            /bin/dash        200       auto mode
* 1            /bin/bash        100       manual mode
  2            /bin/dash        200       manual mode

但是,/bin/sh仍然指向dash而不是指向bash。

实际上,在以前版本的 Ubuntu 上,我相信曾经指向/bin/sh -> /etc/alternatives/sh.

看起来最新的 Ubuntu 在升级过程中不再允许alternatives或sh至少破坏了替代方案。我从How Can I Make /bin/sh point to /bin/bash? 现在建议重新配置破折号。

为什么不再alternatives工作了?此更改记录在哪里?我在 Ubuntu 中使用 sh 的替代品至少三年了,而且在升级之前我从来没有遇到过它的问题。有许多指南建议,例如:https ://jwaghetti.blogspot.com/2015/09/sharing-dash-to-bash.html

bash sh dash-shell update-alternatives
  • 1 个回答
  • 3066 Views
Martin Hope
Mr. Wrong
Asked: 2018-09-29 06:11:44 +0800 CST

无法使用 update-alternatives --install 安装 jdk11

  • 8

为了试用 jdk11 的新功能,我将它安装到 /opt/ 并希望使用 update-alternatives 来使用它,如下所示:

sudo update-alternatives --install /etc/alternatives/java OpenJDK-11 /opt/jdk-11/bin/java 1102

返回:

update-alternatives: using /opt/jdk-11/bin/javac to provide /etc/alternatives/java (OpenJDK-11) in auto mode

但是,当我这样做时

$ sudo update-alternatives --config java

我没有看到我刚刚安装的jdk。相反,我收到警告和已经存在的选择:

update-alternatives: warning: /etc/alternatives/java has been changed (manually or by a script); switching to manual updates only
There are 2 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                            Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1101      auto mode
  1            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1101      manual mode
  2            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      manual mode

警告是什么意思,为什么它实际上同时显示自动和手动模式条目?为什么我的jdk11不在里面?

openjdk update-alternatives
  • 1 个回答
  • 12574 Views
Martin Hope
Denis Kotov
Asked: 2018-09-23 05:12:25 +0800 CST

由于 /usr/local/bin 优先级,update-alternatives 不起作用

  • 7

我遇到了一个问题,当我搜索正确版本的python时,我每次都找到python 3.7:

python3 --version
    Python 3.7.0

然后我检查了update-alternatives配置:

sudo update-alternatives --config python3
There are 3 choices for the alternative python3 (providing /usr/bin/python3).

  Selection    Path                                        Priority   Status
------------------------------------------------------------
  0            /usr/local/bin/python3.7                     2         auto mode
  1            /<HOME_DIR>/Software/anaconda3/bin/python3   1         manual mode
* 2            /usr/bin/python3.6                           1         manual mode
  3            /usr/local/bin/python3.7                     2         manual mode

然后我检查了python3的位置:

which python3
/usr/local/bin/python3

然后我检查了PATH:

echo $PATH
/usr/lib/x86_64-linux-gnu/dbus-1.0/include:/usr/local/lib/boost/include:/<HOME_DIR>/bin:/<HOME_DIR>/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/<HOME_DIR>/.dotnet/tools

原来python3在/usr/bin中搜索之前已经在/usr/local/bin中找到了

为什么update-alternatives没有在 /usr/local/bin 中创建链接以维护正确搜索应用程序?

我不想从 /usr/local/bin中删除python3 ,但在这种情况下update-alternatives变得无用

如何解决 update-alternatives 在 /usr/local/bin 中创建链接的问题?

environment-variables 18.04 update-alternatives
  • 1 个回答
  • 15008 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve