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

不能用 sudo 的情况下 Linux 下有什么类似 Homebrew 的 package manager 推荐?

  •  
  •   speedcell4 · 2016-10-14 20:00:20 +08:00 · 4686 次点击
    这是一个创建于 2991 天前的主题,其中的信息可能已经有所发展或是发生改变。

    CentOS 6.5, x86, 64 bits

    试过 Linuxbrew ,不好用,很多 Formula 都直接来自 Homebrew 的 Formula ,然而 macOS 和 Linux 的安装还是有很多不同的。。。

    所以有什么 package manager 推荐呢?其实关键就是没有 sudo ,这个比较烦。。。

    31 条回复    2017-02-13 10:38:46 +08:00
    kuaizi
        1
    kuaizi  
       2016-10-14 20:02:26 +08:00 via iPhone
    gentoo prefix 好像是叫这个
    JoeyChan
        2
    JoeyChan  
       2016-10-14 20:03:00 +08:00
    自己编译吧。
    Trim21
        3
    Trim21  
       2016-10-14 20:04:46 +08:00 via Android
    @JoeyChan 这能算 package manager 吗。。。。
    make install 不还是要 sudo
    7sDream
        4
    7sDream  
       2016-10-14 20:06:02 +08:00
    nix ?
    wweir
        5
    wweir  
       2016-10-14 20:06:41 +08:00 via iPhone
    @Trim21 部分软件可以自己指定安装位置
    kidlj
        6
    kidlj  
       2016-10-14 20:08:02 +08:00
    .configure --prefix=~/package_name/ && make install
    JoeyChan
        7
    JoeyChan  
       2016-10-14 20:08:11 +08:00
    @Trim21 你指定编译路径呀,可以不用 sudo ,再把路径加入 path 变量就行了。
    kidlj
        8
    kidlj  
       2016-10-14 20:08:23 +08:00
    ./configure
    speedcell4
        9
    speedcell4  
    OP
       2016-10-14 20:15:39 +08:00
    @JoeyChan 我用 Linuxbrew 的时候试过安装 RabbitMQ ,依赖大概是下面这样的,这要自己一个一个编译得多久啊。。。。 http://imgur.com/a/IG0wK
    whatot
        10
    whatot  
       2016-10-14 20:15:54 +08:00
    JoeyChan
        11
    JoeyChan  
       2016-10-14 20:19:26 +08:00
    @speedcell4 这种就不适合啦,这么多,而且有些东西不 sudo 可能还编译不过去。
    Karsa
        12
    Karsa  
       2016-10-14 20:38:04 +08:00 via iPhone
    题主应该去掉对类似的限制问一下不用 sudo 可以用什么进行包管理😁
    Jat001
        14
    Jat001  
       2016-10-14 20:54:33 +08:00
    pacaur
    bdbai
        15
    bdbai  
       2016-10-14 20:58:02 +08:00 via Android
    fakechroot+fakeroot+debootstrap+apt
    正准备在未 root 的安卓机上试。把 fakeroot 的 PATH 变量附加到外部 shell 的 PATH 变量就可以直接用里面的程序了。
    zhidian
        16
    zhidian  
       2016-10-14 21:13:26 +08:00   ❤️ 1
    楼上都在干嘛……谁不知道可以指定安装位置啊?!楼主要的是 manager ,可以搜索、下载、安装,一条龙的那种,而不是自己找源码,看 README ,自己编译的。
    Gerhman
        17
    Gerhman  
       2016-10-14 21:25:26 +08:00
    pacaur yaourt Archlinux 可以帮到你
    skydiver
        18
    skydiver  
       2016-10-14 21:58:23 +08:00 via Android   ❤️ 1
    弄一个 docker 容器或者虚拟机,然后就有 root 了
    Owenjia
        19
    Owenjia  
       2016-10-15 00:51:21 +08:00
    是没有装 sudo 还是什么?有没有 root 的密码?
    试试 nix 吧? 不过创建目录貌似也要一次 root 权限……
    http://nixos.org/nix/manual/
    Bardon
        20
    Bardon  
       2016-10-15 00:53:39 +08:00
    以 user 安装到家目录,楼主真不关心安全方面的问题?

    如果楼主不在意安全,那么全套 root 用户搞定。
    Owenjia
        21
    Owenjia  
       2016-10-15 00:55:32 +08:00
    查了下,普通用户是可以用的, 参考 https://nixos.org/wiki/How_to_install_nix_in_home_(on_another_distribution)
    speedcell4
        22
    speedcell4  
    OP
       2016-10-15 01:23:43 +08:00
    @skydiver 想到过,然而内核版本太低, docker 要求 3.2 以上,我的是 2 。。
    linhua
        23
    linhua  
       2016-10-15 02:25:44 +08:00   ❤️ 1
    Gentoo prefix 中的软件是直接来自 Gentoo 官方仓库,但有的需要自己 patch prefix 路径。这里面的软件是最全的。但缺点是 会安装 额外的不需要的软件(如果使用官方一键安装脚本的话),自己手动安装、定制应该好些

    nix 中软件少些,也挺好,没用过, 如果需要自己写 安装脚本,依赖什么的 可以借鉴 Gentoo 的

    其实 主要就是解决 依赖的问题

    这是另外一个 包管理器 spack https://tgamblin.github.io/files/Gamblin-Spack-SC15-Talk.pdf

    为了 指定 RPATH 和 dynamic linker 等,一般都是从源码编译安装的,没有直接用二进制包的
    如果想要直接使用已有的二进制包,可参考 https://nixos.org/patchelf.html 或使用 Proot , Fakechroot https://wiki.archlinux.org/index.php/change_root#Without_root_privileges
    sinxccc
        24
    sinxccc  
       2016-10-15 02:39:16 +08:00
    理论上所有从代码安装的包都可以通过指定 prefix 安装到自己的用户目录下面。

    我之前用过 pkgsrc ,指定安装在自己用户目录下面。至少我之前用的时候没出过什么问题,只不过包管理器命令风格上需要适应一下。

    如果没几个安装包,自己能解决依赖关系的话可以用 GNU stow ,这样以后切换版本和安装删除的时候方便一些。
    qiukun
        25
    qiukun  
       2016-10-15 05:55:21 +08:00 via Android
    。。晕,楼上怎么这么多强答的 linuxbrew
    qiukun
        26
    qiukun  
       2016-10-15 05:55:57 +08:00 via Android
    @qiukun 好吧楼主说不好用,我错了
    flyee
        27
    flyee  
       2016-10-15 09:38:46 +08:00
    mlyy
        28
    mlyy  
       2016-10-15 10:43:31 +08:00 via iPhone
    有个东西叫 linux container 估计符合楼主需求。
    withlqs
        29
    withlqs  
       2016-10-15 12:15:08 +08:00
    不是 umake 吗.....
    withlqs
        30
    withlqs  
       2016-10-15 12:15:33 +08:00
    哦我错了。楼主用的是 CentOS
    marguerite
        31
    marguerite  
       2017-02-13 10:38:46 +08:00 via iPhone
    appimage
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2869 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 14:13 · PVG 22:13 · LAX 06:13 · JFK 09:13
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.