五步解决 Ubuntu 18.04 出现GLIBC_2.28 not found的解决方法

时间:2024-02-26 10:04:01

Ubuntu 18.04 出现GLIBC_2.28 not found的解决方法
参考debian网址https://packages.debian.org/buster/并搜索想要的软件或者工具等,如libc6,有结果如下:
在这里插入图片描述

具体就不介绍了,请浏览官网了解。
第一步:添加软件源,在/etc/apt/sources.list文件中的最后面追加下面这一行内容(参考官网):

deb http://security.debian.org/debian-security buster/updates main

第二步: 系统可用的软件包更新,刷新软件包的缓存

sudo apt update  # 更新软件源

第三步:apt-get update之后若出现下面提示:
由于没有公钥,无法验证下列签名: NO_PUBKEY 112695A0E562B32A NO_PUBKEY 54404762BBB6E853

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 112695A0E562B32A 54404762BBB6E853

其中后面的112695A0E562B32A 54404762BBB6E853就是上面提到的NO_PUBKEY 112695A0E562B32A NO_PUBKEY 54404762BBB6E853中的公钥,替换成对应的即可。

第四步: 然后重新执行更新软件包命令即可。

apt-get update 

可看可不看: 查看软件包可更新列表

sudo apt list --upgradable

第五步: 安装libc6

sudo apt install libc6-dev libc6

看一下吧,你也放心: 查看服务器当前版本:

strings /lib/x86_64-linux-gnu/libc.so.6 | grep GLIBC_

不出意外你已经成功了,提前恭喜你解决问题,愉快的继续工作吧~

如果你是在内网环境,并且你知道一台服务器可以链接外网,可以通过代理的方式更新apt源。

你可以通过在服务器A上设置代理服务器来实现服务器B通过服务器A访问外部APT源的需求。以下是具体步骤:

  1. 在服务器A上安装代理服务

    假设你使用的是Squid作为代理服务器,因为它是Linux下常用的代理服务器软件之一。

    在服务器A上安装Squid:

    sudo apt update
    sudo apt install squid
    
  2. 配置Squid代理服务器

    编辑Squid的配置文件/etc/squid/squid.conf,使其允许服务器B的访问请求:

    sudo vim /etc/squid/squid.conf
    

    在文件中添加或修改以下行:

    http_access allow all
    

    这将允许所有的HTTP请求通过代理,你也可以设置更细粒度的访问控制。

    保存并关闭文件后,重启Squid服务以应用新的配置:

    sudo systemctl restart squid
    
  3. 在服务器B上配置APT使用代理

    在服务器B上配置APT以通过服务器A的代理服务器进行连接,首先编辑APT配置:

    sudo vim /etc/apt/apt.conf.d/02proxy
    

    在该文件中添加以下行:

    Acquire::http::Proxy "http://服务器A的IP地址:3128";
    

    请替换服务器A的IP地址为实际的服务器A的内网IP地址,3128是Squid的默认端口,如果你在Squid配置中更改了端口,请使用相应的端口。

  4. 更新APT和系统

    在服务器B上运行下面的命令来更新APT的软件包列表和系统:

    sudo apt update
    sudo apt upgrade
    

    如果一切配置正确,服务器B现在应该能够通过服务器A的代理来访问外网的APT源并进行更新。

确保你的安全设置正确,只允许信任的服务器B通过服务器A的Squid代理进行连接,以防止潜在的安全风险。此外,如果服务器B需要通过HTTPS连接,则可能需要在Squid代理中进行额外配置,并在APT配置中指定Acquire::https::Proxy