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)"
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章