Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
yech1990
V2EX  ›  Linux

禁用了 wget 的服务器, 这怎么破?

  •  
  •   yech1990 · May 17, 2016 · 8050 views
    This topic created in 3670 days ago, the information mentioned may be changed or developed.

    登陆一个集群, 登陆节点的库都老到掉牙先不说. 没有root 权限, 配置环境各种依赖只能通过下载源码,自己编译.

    更无语的是 wget 被改成 744, 幸亏我机智的 alias wget = "curl -O".

    听闻junest, gentoo_prefix 可以创建一个虚拟的 root 的环境, 可是文件是在编译的过程中会调用 /usr/bin/wget, 生成一个 soft link, 编译了一天的 gentoo 悲剧了.

    这是不是基本无解了????

    Supplement 1  ·  May 18, 2016
    说一下目前的"历程"

    1. cp /usr/bin/wget ~/bin/wget

    2. 将 juNest 的下载脚本全部改成 cp XXX ./
    (因为下载地址是 dropbox)

    3. export PATH

    4. 发现命令 ls 都出错
    libcap.so.2 和 glibc 一系列出问题.

    5. 本地目录更新 glibc -->make

    6. 发现 make glibc 报错, 原因是 gcc 版本老得不行

    7. 本地目录更新 gcc --> configure

    8. 发现 GMP , MPFR and MPC 版本太老

    9. 下载 GMP , MPFR and MPC, 编译 gcc
    用了 8 个核编译 gcc, 几个小时过去了, 等待中......


    目测还有很多问题在前面等着.....................
    Supplement 2  ·  May 18, 2016

    终于又出问题了...

    $ make

    checking whether the GNU Fortran compiler is working... no
    configure: error: GNU Fortran is not working; please report a bug in http://gcc.gnu.org/bugzilla, attaching /life/users/xingk/yc/tools/gcc-6.1.0-build/x86_64-pc-linux-gnu/libgfortran/config.log
    make[1]: *** [configure-target-libgfortran] Error 1
    In file included from ../../../../gcc-6.1.0/libsanitizer/asan/asan_interceptors.cc:196:0:
    
    43 replies    2016-05-20 14:16:23 +08:00
    raptium
        1
    raptium  
       May 17, 2016
    复制一个 wget 不能运行吗?
    yech1990
        2
    yech1990  
    OP
       May 17, 2016
    @raptium 复制到~/bin 是可行的, 可是虚拟环境生成 soft link 的时候是用绝对路径的
    yech1990
        3
    yech1990  
    OP
       May 17, 2016
    @raptium 复制后权限依然还是 744, 可是 ower 和 group 变了, 所以权限相当与从 4 变成了 7.
    binux
        4
    binux  
       May 17, 2016
    在本地编译好了传上去
    Sasasu
        5
    Sasasu  
       May 17, 2016 via Android
    改一下 path ,把你自己的 bin 目录写到 /bin 前面
    (大概可行
    yech1990
        6
    yech1990  
    OP
       May 17, 2016
    @binux gentoo prefix 安装过程不只是编译

    先是获取更新, 然后编译, 安装, 还有生成系统文件的链接.

    所以失败不是在编译这一步, 二是生成 soft link 这一步的
    yech1990
        7
    yech1990  
    OP
       May 17, 2016
    @Sasasu 已近添加了~/bin

    看来是我问题没描述清楚,,,,

    linux 基础的东西我懂, 附上 junest 和 gentoo 的主页, 坐等有缘人.....

    https://github.com/fsquillace/junest

    https://wiki.gentoo.org/wiki/Project:Prefix/Bootstrap
    SlipStupig
        8
    SlipStupig  
       May 17, 2016
    如果有 python perl 什么的,直接 down
    am241
        9
    am241  
       May 17, 2016 via Android
    我觉得这种情况修改安装脚本最简单
    lbp0200
        10
    lbp0200  
       May 17, 2016 via Android
    在 path 前后,有学问
    cxbig
        11
    cxbig  
       May 17, 2016
    趋向于换 curl 解决,不然找找有没有 php/python/ruby
    yech1990
        12
    yech1990  
    OP
       May 17, 2016
    @cxbig
    @SlipStupig
    有 python2.4 centos 标配啊

    不过还没理解 python 要怎么耍 才能配置环境?


    现在为了安装一个 opencv 简直疯掉了,无穷无尽的版本依赖, 和 too old... 已经到了修改 glibc 了
    yech1990
        13
    yech1990  
    OP
       May 17, 2016
    @am241 不简单啊, 修改安装脚本基本就是在修改 linux 源码了

    junest 本身就是一个完整的 linux
    SlipStupig
        14
    SlipStupig  
       May 17, 2016
    @yech1990 装 pip 然后选择版本
    yech1990
        15
    yech1990  
    OP
       May 17, 2016
    @SlipStupig pip 只是安装 python 的 packages. 你确定没乱说???
    SlipStupig
        16
    SlipStupig  
       May 17, 2016
    @yech1990 你不是要装 opencv 嘛
    yech1990
        17
    yech1990  
    OP
       May 17, 2016
    @SlipStupig opencv 不是 python 的库
    bramblex
        18
    bramblex  
       May 17, 2016
    修改安装脚本是正解
    ayaseangle
        19
    ayaseangle  
       May 18, 2016 via Android
    升级系统才是正确的道路
    realpg
        20
    realpg  
    PRO
       May 18, 2016
    找个漏洞本地溢出一下……
    qw7692336
        21
    qw7692336  
       May 18, 2016
    可以全局 alias 吗
    PeterD
        22
    PeterD  
       May 18, 2016 via Android
    用 linuxbrew
    ety001
        23
    ety001  
       May 18, 2016
    pheyer
        24
    pheyer  
       May 18, 2016 via iPhone
    还有一个东西叫 sz/rz
    yech1990
        25
    yech1990  
    OP
       May 18, 2016
    @ety001 这只是 wget 的封装, 改报错还是报错
    Neveroldmilk
        26
    Neveroldmilk  
       May 18, 2016
    没救了,升级节点的系统才是根本。
    yech1990
        27
    yech1990  
    OP
       May 18, 2016
    @ayaseangle @Neveroldmilk 升级是不可能的

    glibc gtk 之类的都老到不能用了, 看来生产环境和自己 PC 还是差太远, 怪自己学艺不精
    wuruxu
        28
    wuruxu  
       May 18, 2016
    那就在 centos 上编译一个 static 的 wget , 跟动态库就没关系了
    ayaseangle
        29
    ayaseangle  
       May 19, 2016 via Android
    @yech1990 。。。。。这相当于穿越回 1997 年吧。。。
    linhua
        30
    linhua  
       May 19, 2016
    需要一个 bash, 支持自动将传入的命令行中的 可执行文件绝对路径名 /usr/bin/wget 替换为 ~/bin/wget 并执行
    yech1990
        31
    yech1990  
    OP
       May 19, 2016 via Android
    @linhua 嗯 基本是解决了 wget 的问题了

    剩下是因为所有版本过老,这个棘手
    P0P
        32
    P0P  
       May 19, 2016
    下载源代码编译, configure 的时候指定 prefix 到自己的 home ,然后 path 里面加上相应目录就可以了
    yech1990
        33
    yech1990  
    OP
       May 19, 2016 via Android
    @P0P 每一步都是这样做的,不是不可能安装上去的
    mengzhuo
        34
    mengzhuo  
       May 20, 2016 via iPhone
    你确定你会 Linux 么?
    PATH 是有顺序的, env | grep PATH 给我们看看? which wget 也行。
    没有 root 权限而已,自己的运行环境还是可以搞的
    henglinli
        35
    henglinli  
       May 20, 2016 via iPhone
    wget 在,你把它拷贝到其它地方执行不行?
    owt5008137
        36
    owt5008137  
       May 20, 2016 via Android
    https://github.com/owent-utils/bash-shell/tree/master/GCC%20Installer/gcc-6
    不知道你的环境行不行,我一直都跟进 gcc 的最新 release 的编译。另外 gcc 源码目录有个好像叫 download_dependency 的脚本,可以直接运行下载依赖库的。不然 gcc 有些 lib 的版本号要求比较恶心,很是折腾
    P0P
        37
    P0P  
       May 20, 2016
    @yech1990 我在没有 root 权限的服务器上编译上了 htop, wget, tmux 从来没有遇到问题啊,有些依赖有点难装是真的
    julyclyde
        38
    julyclyde  
       May 20, 2016
    #!/bin/bash
    exec 3<>/dev/tcp/weibo.com/80
    echo -e 'GET / HTTP/1.1\nHost:weibo.com\n\n' >&3
    cat <&3

    注意必须是 bash 不能是别的
    Cu635
        39
    Cu635  
       May 20, 2016
    lz 是准备干什么?软件体系这么老的集群是说工作中用的还是什么?
    yech1990
        40
    yech1990  
    OP
       May 20, 2016
    @owt5008137 已经运行了 download_dependency.sh 确实省了些功夫, 不过出的 bug 是 gfortune 编译器的问题, google 不出对应的方案
    yech1990
        41
    yech1990  
    OP
       May 20, 2016
    @julyclyde 很神奇的脚本 能解释一下第一句么?
    yech1990
        42
    yech1990  
    OP
       May 20, 2016
    @Cu635 科学计算环境, 主要是为了性能, 不然我就在本地服务器跑了
    julyclyde
        43
    julyclyde  
       May 20, 2016   ❤️ 1
    @yech1990 你说的第一句是指 exec 吧?重定向“本进程的” 3 号 fd ,到一个 TCP 连接。/dev/tcp/ 貌似是 bash 特有功能
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5341 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 131ms · UTC 08:47 · PVG 16:47 · LAX 01:47 · JFK 04:47
    ♥ Do have faith in what you're doing.