root用户如何安装brew

1.1、LinuxBrew简介

macOS平台上非常流行的包管理器HomeBrew被移植到GNU/Linux上而成为LinuxBrew

虽然各种GNU/Linux发行版都带有自己的包管理工具,诸如apt-getyumdnfzypperapkpacmanemerge等等, 但Linuxbrew在以下情况下仍有用武之地:

  • LinuxBrew允许将包安装到用户的$HOME目录,这样的话, 就不再需要执行sudo命令了;
  • 对于在GNU/Linux系统自带的包管理器中缺少的包,可以通过LinuxBrew来搞定;
  • 如果GNU/Linux系统自带的包管理器中所带包的版本过旧,那么利用LinuxBrew能够安装该包的最新版本。

LinuxBrew的官网:http://linuxbrew.sh

1.2、在GNU/Linux中安装LinuxBrew

1、安装依赖:

如果您的系统是Ubuntu,请执行如下命令:

sudo apt-get install -y build-essential curl git m4 python-setuptools ruby texinfo libbz2-dev libcurl4-openssl-dev libexpat-dev libncurses-dev zlib1g-dev

如果您的系统是CentOS,请执行如下命令:

sudo yum groupinstall 'Development Tools' && sudo yum install curl git irb python-setuptools ruby

2、安装LinuxBrew

echo -e "\n" | ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install)"

3、配置环境变量:

export PATH="$HOME/.linuxbrew/bin:$PATH"
export MANPATH="$HOME/.linuxbrew/share/man:$MANPATH"
export INFOPATH="$HOME/.linuxbrew/share/info:$INFOPATH"

1.3、LinuxBrew不能在root用户下使用问题的解决

出于安全的考虑,LinuxBrew不允许在root用户下安装和使用。但是, 我们有时候仅仅是为了在root用户下做一些测试工作,并不是在生产环境下使用。 很多操作系统的默认用户就是rootdocker容器的默认用户通常也是root, 在root用户下不能使用LinuxBrew就给我们想要快速测试一些东西带来了麻烦。

解决这个问题有两种办法:

  • 方法一:创建一个普通用户,使用创建的普通用户登录
  • 方法二:修改LinuxBrew的源代码,把限制去除掉。

1.3.1、创建一个普通用户,使用创建的普通用户登录

1.3.2、修改LinuxBrew的源代码,把限制去除掉

这涉及到2git仓库:

将这2个仓库fork到自己的GitHub中,如下:

对于leleliu008/Linuxbrew-install做如下工作:

1、使用git下载源代码:

git clone https://github.com/leleliu008/Linuxbrew-install

2、注释掉install中的abort "Don't run this as root!" if Process.uid.zero?这一行。

3、把https://raw.githubusercontent.com/Linuxbrew/install字符串替换为https://raw.githubusercontent.com/leleliu008/Linuxbrew-install

对于leleliu008/Linuxbrew-brew做如下工作:

1、使用git下载源代码:

git clone https://github.com/leleliu008/Linuxbrew-brew

2、注释掉Library/Homebrew/brew.sh中的check-run-command-as-root这一行。

3、把https://raw.githubusercontent.com/Linuxbrew/install字符串替换为https://raw.githubusercontent.com/leleliu008/Linuxbrew-install

把这两个仓库推送到GitHub上。

安装方法与原来的完全一样,只是把Linuxbrew/install替换为leleliu008/Linuxbrew-install即可。

即:先sudo chown -R 用户名 /usr/local,其中用户名为自己root@后面的用户名

echo -e "\n" | ruby -e "$(curl -fsSL https://raw.githubusercontent.com/leleliu008/Linuxbrew-install/master/install)"
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章