安装mysql报Requires: libc.so.6(GLIBC_2.17)(64bit)

在CentOS上安装MySQL遇到依赖库错误,如libc.so.6(GLIBC_2.17)和systemd缺失。通过禁用错误的软件源并重新安装解决。涉及的步骤包括修改yum配置文件,禁用mysql-56-community源,然后重新安装mysql-server。
Error: Package: mysql-community-server-5.6.40-2.el7.x86_64 (mysql56-community)
           Requires: libc.so.6(GLIBC_2.17)(64bit)
Error: Package: mysql-community-server-5.6.40-2.el7.x86_64 (mysql56-community)
           Requires: systemd
Error: Package: mysql-community-libs-5.6.40-2.el7.x86_64 (mysql56-community)
           Requires: libc.so.6(GLIBC_2.17)(64bit)
Error: Package: mysql-community-server-5.6.40-2.el7.x86_64 (mysql56-community)
           Requires: libstdc++.so.6(GLIBCXX_3.4.15)(64bit)
Error: Package: mysql-community-client-5.6.40-2.el7.x86_64 (mysql56-community)
           Requires: libc.so.6(GLIBC_2.17)(64bit)
 You could try using --skip-broken to work around the problem

在centos上安装mysql 报上名的错误,经查询发现系统已经安装了libc.so.6,

#cd /etc/yum.repos.d/
#sudo vi mysql-community.repo
找到mysql-56-community
将enable置为0 enable=0
重新安装mysql sudo yum install mysql-server

原因大约是这个:软件的源有错误,要把那个禁用掉

https://unix.stackexchange.com/questions/280385/can-not-install-mysql-server-on-centos-6-7-32bit-error-need-rpm

转载于:https://www.cnblogs.com/timlong/p/9318128.html

<think>我们正在解决安装google-chrome-stable时因缺少glibc 2.18依赖导致的错误。错误信息为:google-chrome-stable requires libc.so.6(GLIBC_2.18)(64bit) 分析:glibc是GNU C库,是Linux系统中最基本的库之一。许多程序依赖于它。当系统上安装glibc版本低于2.18时,就会导致此错误。 解决方案通常有两种: 1. 升级系统的glibc2.18或更高版本(注意:直接升级glibc有风险,可能导致系统不稳定,因为它是核心库)。 2. 在较旧的系统上,可以考虑使用非官方构建的chrome包,或者通过容器化技术(如Docker)来运行chrome,但更常见和安全的做法是升级glibc。 然而,由于glibc升级涉及系统核心,一般建议通过升级整个操作系统版本来间接升级glibc。如果当前系统较旧(如CentOS 7),可能需要升级到更新的版本(如CentOS 8)或使用较新的发行版。 但考虑到用户可能无法立即升级系统,我们可以尝试手动编译安装glibc 2.18(需谨慎操作)。 步骤(手动编译安装glibc 2.18): 注意:此操作有风险,建议在测试环境中进行,并做好备份。 1. 下载glibc 2.18源码: ```bash wget http://ftp.gnu.org/gnu/glibc/glibc-2.18.tar.gz ``` 2. 解压: ```bash tar -xzvf glibc-2.18.tar.gz cd glibc-2.18 ``` 3. 创建编译目录并进入: ```bash mkdir build cd build ``` 4. 配置(注意:不要替换系统原有的glibc,而是安装到新目录,例如/opt/glibc-2.18): ```bash ../configure --prefix=/opt/glibc-2.18 ``` 5. 编译并安装: ```bash make -j$(nproc) sudo make install ``` 6. 安装完成后,需要让chrome使用新安装glibc。可以通过设置环境变量LD_LIBRARY_PATH来实现: ```bash export LD_LIBRARY_PATH=/opt/glibc-2.18/lib:$LD_LIBRARY_PATH ``` 然后尝试启动chrome。 但是,这种方法可能因为ABI兼容性问题导致其他程序无法正常运行,因此更推荐升级整个系统。 另外,如果系统是CentOS/RHEL 7,默认的glibc版本是2.17,可以通过安装第三方仓库(如SCL)来获取更新的glibc,但官方SCL可能不提供glibc 2.18。我们可以尝试使用devtoolset来获得更高的glibc版本,但注意devtoolset主要是为了提供更新的编译器工具链,其glibc可能并不完整。 另一种方法是使用alien等工具将chrome的deb包转换为rpm包,并忽略依赖,但这样可能会导致运行时错误。 因此,综合建议: - 如果可能,升级操作系统到更新的版本(如CentOS 8或Ubuntu 18.04以上)。 - 如果无法升级,尝试手动编译安装glibc 2.18(风险较高)。 - 考虑使用其他浏览器,或者使用官方提供的其他版本(比如google-chrome-unstable,但同样可能需要高版本glibc)。 由于问题复杂性,下面提供更详细的步骤(手动安装glibc 2.18)的注意事项: - 不要覆盖系统的glibc,否则可能导致系统崩溃。 - 通过设置LD_LIBRARY_PATH来指定新glibc的路径,仅对当前终端有效,因此可以创建一个启动脚本用于chrome。 创建启动脚本(例如:start_chrome.sh): ```bash #!/bin/bash export LD_LIBRARY_PATH=/opt/glibc-2.18/lib:$LD_LIBRARY_PATH /usr/bin/google-chrome-stable ``` 然后给脚本执行权限:`chmod +x start_chrome.sh`,以后通过此脚本启动chrome。 但是,这种方法并不能保证100%成功,因为chrome可能还依赖其他库。 另外,也可以考虑使用Flatpak或Snap等沙盒方式安装Chrome,这些方式会自带依赖库。例如在CentOS上安装Snapd: ```bash sudo yum install snapd sudo systemctl enable --now snapd.socket sudo ln -s /var/lib/snapd/snap /snap sudo snap install chromium ``` 然后通过`chromium`命令启动。 总结:优先推荐使用系统升级或使用Snap/Flatpak安装Chrome(或Chromium),其次才是手动安装glibc。 根据用户的具体系统,我们可以提供更有针对性的建议。请提供你的操作系统和版本信息(如:CentOS 7, Ubuntu 14.04等)。 如果用户已经尝试过某些步骤,请告知,以便进一步帮助。 注意:以上操作涉及系统核心库,务必谨慎操作,并确保有备份。 相关问题: 1. 如何检查当前系统的glibc版本? 2. 升级操作系统版本的具体步骤是什么? 3. 使用Snap安装Chromium的详细步骤? 4. 手动编译安装glibc时遇到错误如何解决? 5. 除了设置LD_LIBRARY_PATH,还有其他方法让程序使用指定路径的库吗?</think>### 解决缺少 glibc 2.18 依赖的 Chrome 安装问题 当安装 Google Chrome 时遇到 `requires libc.so.6(GLIBC_2.18)(64bit)` 错误,表示您的系统缺少 Chrome 所需的最低版本 GLIBC 库(2.18)。以下是分步解决方案: #### 1. **验证当前 GLIBC 版本** ```bash ldd --version | head -n1 ``` 输出示例:`ldd (GNU libc) 2.17`(低于 2.18 会错) #### 2. **解决方案** **方案 A:升级系统(推荐)** - **CentOS/RHEL 7 → 8/9**: ```bash sudo yum install epel-release sudo yum config-manager --set-enabled powertools # CentOS 8 sudo dnf upgrade ``` - **Ubuntu/Debian**: ```bash sudo apt update && sudo apt full-upgrade ``` **方案 B:手动编译 GLIBC 2.18(高风险)** ```bash # 下载源码 wget http://ftp.gnu.org/gnu/glibc/glibc-2.18.tar.gz tar -xzf glibc-2.18.tar.gz && cd glibc-2.18 # 编译安装到独立目录 mkdir build && cd build ../configure --prefix=/opt/glibc-2.18 make -j$(nproc) sudo make install # 临时使用新库启动 Chrome LD_LIBRARY_PATH=/opt/glibc-2.18/lib /usr/bin/google-chrome ``` > ⚠️ 警告:覆盖系统 GLIBC 可能导致系统崩溃!务必使用 `--prefix` 指定独立路径[^1]。 **方案 C:使用替代浏览器** ```bash # 安装 Chromium(对 GLIBC 要求较低) sudo dnf install chromium # CentOS/RHEL sudo apt install chromium-browser # Ubuntu/Debian ``` #### 3. **验证解决** 安装后检查依赖: ```bash # 查看 Chrome 的 GLIBC 要求 objdump -x /usr/bin/google-chrome | grep GLIBC ``` ### 根本原因分析 - Chrome 使用新版 C++ 特性需 GLIBC2.18 - 旧版系统(如 CentOS 7 默认 GLIBC 2.17)不兼容 - GLIBC 是核心库,直接升级需谨慎[^2] ### 预防措施 1. 定期更新系统:`sudo yum/dnf/apt update && upgrade` 2. 使用容器运行 Chrome: ```bash podman run -d --name chrome docker.io/selenium/standalone-chrome ``` 3. 优先选用系统仓库的浏览器(如 Firefox) --- ### 相关问题 1. 如何安全升级 CentOS 7 到 8 而不丢失数据? 2. 编译 GLIBC 时出现 `make: *** No rule to make target 'install'` 错误如何解决? 3. 除了 GLIBC,还有哪些常见库会导致软件安装失败? 4. 如何为特定应用程序创建自定义的库环境? 5. Snap/Flatpak 能否解决此类依赖问题? [^1]: GLIBC 官方文档强调编译隔离安装的重要性 [^2]: Linux 内核开发指南警告核心库直接升级风险
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值