V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
livc
V2EX  ›  Linux

请问使二进制文件在公司所有机器上最方便地运行起来的方法是什么?

  •  
  •   livc ·
    livc · 2017-03-14 15:15:10 +08:00 · 2556 次点击
    这是一个创建于 2841 天前的主题,其中的信息可能已经有所发展或是发生改变。
    公司系统不支持 docker ,有一个编译(C++)好的二进制文件,如何方便地让其他人能运行起来呢?

    现在在研究 proot 这个方法, http://proot-me.github.io ,不知道各位有没有更好的想法?
    14 条回复    2017-03-15 00:10:49 +08:00
    wevsty
        1
    wevsty  
       2017-03-14 15:19:24 +08:00   ❤️ 1
    C or C++的话,全部静态编译,编译出来的单文件基本上放到哪里都能用。
    如果是动态链接的, ldd 一下拷贝所有必须的 so 到指定目录就行了。
    livc
        2
    livc  
    OP
       2017-03-14 15:36:30 +08:00
    @wevsty #1 是 C++,但是还有 python 的 API ,需要 pip install xxx.whl
    mushuanl
        3
    mushuanl  
       2017-03-14 15:37:09 +08:00
    做成包,然后使用 chroot 或 schroot 在 chroot 环境运行
    googlebot
        4
    googlebot  
       2017-03-14 15:53:36 +08:00 via iPad
    linux 没可能,
    xingda920813
        5
    xingda920813  
       2017-03-14 16:05:28 +08:00
    什么系统不支持 Docker? 难道是 CentOS 6?
    livc
        6
    livc  
    OP
       2017-03-14 16:07:13 +08:00
    @xingda920813 #5 嗯。。
    XiaoFaye
        7
    XiaoFaye  
       2017-03-14 16:10:01 +08:00
    除了 B/S ,没有任何其它方法。
    xingda920813
        8
    xingda920813  
       2017-03-14 16:47:28 +08:00
    @livc

    安装 Docker —— CentOS-6

    https://wiki.centos.org/zh/Cloud/Docker

    试试这个.
    w2exzz
        9
    w2exzz  
       2017-03-14 16:48:05 +08:00 via Android
    go 啊
    c4pt0r
        10
    c4pt0r  
       2017-03-14 16:50:36 +08:00
    c/c++ static link

    or

    go
    livc
        11
    livc  
    OP
       2017-03-14 16:50:49 +08:00
    @xingda920813 公司电脑哪有 sudo 权限啊。。

    @w2exzz 很大的项目,说重写就重写?
    lhbc
        12
    lhbc  
       2017-03-14 16:54:48 +08:00 via iPhone
    编译的时候指定 rpath ,然后把相关的库丢进去。
    如果用的是系统自带的库,让运维搞定就行了。
    系统没有的库再自己编译并指定 rpath
    josephshen
        13
    josephshen  
       2017-03-15 00:04:30 +08:00 via iPhone
    https://github.com/Line7AtGithub/XBusLite/blob/master/src/XBus.cxx 我写的这个库里面有相应的动态加载的 python 的功能,你可以照着来一份. pip 装的东西完全可以打包后自行分发,只需要在启动 python 后把目录插入进 sys.path 里面就行。
    josephshen
        14
    josephshen  
       2017-03-15 00:10:49 +08:00 via iPhone
    你目前的思路是错的,上面讲的大部分也都一知半解,一个脚本就基本可以解决你所有问题
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3370 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 11:44 · PVG 19:44 · LAX 03:44 · JFK 06:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.