简介
homebrew是一款Mac OS平台下的软件包管理工具,拥有安装、卸载、更新、查看、搜索等功能。通过简单的指令可以实现包管理,而不用关心各种依赖和文件路径情况。
安装
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
#或者第一个我没有执行成功,我执行下面这个成功了
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
此安装源是一个全自动的,执行上面的命令后,会出现选择下载brew本体的方式
- 中科大下载源
- 清华大学下载源
- 北京外国语大学下载源
- 腾讯云下载源
- 阿里云下载源
选择输入:1
确认输入:y
安装过程会要求输入电脑密码,输入后回车。
- 最后一步,选择配置国内源:
- 这里推荐阿里巴巴国内源:
5
检测是否安装homebrew
brew -v
没有安装
已安装
更新brew版本
brew update
Homebrew帮助信息
brew -h
常用命令
安装包:brew install 包名
下载包:brew uninstall 包名
查询可用的包:brew search 包名
更新所有包:brew upgrade
更新指定包:brew upgrade 包名
查看已经安装的包:brew list
查看包的信息:brew info 包名
清理包:
# 查看哪些软件包要被清除
$ brew cleanup -n
# 清除指定软件包的所有老版本
$ brew cleanup 软件名
# 清除所有软件包的所有老版本
$ brew cleanup
备注:
- 软件安装路径:/opt/homebrew/Cellar
- 软件配置路径:/opt/homebrew/etc
安装Docker
brew install --cask --appdir=/Applications docker
安装完成之后,双击Docker图标即可运行Docker
安装NVM
brew install nvm
配置环境变量:NVM 安装完成后,需要在终端的配置文件中设置 NVM 的环境变量。
大多数情况下,终端的配置文件是
~/.bash_profile
或~/.zshrc
open ~/.bash_profile
#我用很多方法都不行,最终用这个可以: open -e .bash_profile
#或者
open ~/.zshrc
添加:
export NVM_DIR="$HOME/.nvm"
[ -s "$(brew --prefix)/opt/nvm/nvm.sh" ] && . "$(brew --prefix)/opt/nvm/nvm.sh"
保存并关闭文件,重启终端或刷新配置:在终端中执行以下命令来使配置生效:
source ~/.bash_profile
#或者
source ~/.zshrc
安装Maven
brew install maven
- 安装完成后可以使用命令
brew list maven
来查看maven的安装位置
需要注意的是
/opt/homebrew/Cellar/maven/3.9.6/libexec/conf/settings.xml
这个目录,这个目录下面存放了maven的配置文件
安装RabbitMQ
温馨提醒:使用homebrew安装rabbitmq前,先更新下homebrew,更新命令: brew update 因为 rabbitMQ 是基于 erlang 语言开发的,就如同 activemq 需要安装 java 环境一样, 为了使用 rabbitMQ,因此需要安装 erlang环境。
- Erlang
brew install erlang
# 安装如果报错的话,试试前面加上sudo
- 安装Rabbitmq
brew install rabbitmq
注:如果报错的话,试试前面加上sudo
启动服务:输入以下命令启动rabbitmq服务,启动成功如下图
sudo rabbitmq-server
- 登陆rabbitmq
# 访问rabbitmq 主页,以下链接二选一
http://localhost:15672/
http://127.0.0.1:15672/
默认是账户名和密码都是:“guest”,表示来宾客户。 由于账号guest具有所有的操作权限,且是默认账号,出于安全因素的考虑,guest用户只能通过localhost登陆使用,并建议修改guest用户的密码以及新建其他账号管理使用rabbitmq。
注意:如果启动失败,则需要配置rabbitmq的环境变量
- brew info rabbitmq # 使用homebrew 查看rabbitmq安装路径和版本信息
open -t ~/.bash_profile
- 增加并保持
export RABBITMQ_HOME=/usr/local/Cellar/rabbitmq/3.9.5/sbin
export PATH=$PATH:$RABBITMQ_HOME/bin
- 配置生效
source ~/.bash_profile
- RabbitMQ 的启动与关闭
# 启动服务
sudo rabbitmq-server
# 启动插件
sudo rabbitmq-plugins enable rabbitmq_management
# 关闭服务
sudo rabbitmqctl stop
安装MongoDB
MongoDB官方已经不支持通过Homebrew直接安装,但你可以使用第三方tap来安装
brew tap mongodb/brew
#添加 MongoDB 的官方 Homebrew tap
brew install mongodb-community
#通过 Homebrew 安装 MongoDB 社区版
- 确保下载成功后启动
brew services start mongodb/brew/mongodb-community
安装 Redis
安装
brew install redis
查看 redis 安装目录
brew list redis
- /opt/homebrew/Cellar/redis/7.0.11
启动 redis
进入到安装目录下面
cd /opt/homebrew/Cellar/redis/7.0.11
cd bin
./redis-server
或者
# 启动
brew services start redis
# 停止
brew services stop redis
# 重启
brew services restart redis
设置开机启动
上面安装好之后,redis 虽然能正常使用了,但是每次开机之后还是需要手动启动 redis,比较麻烦,
因为 MACOS 系统和 linux 不同,他是通过 plist 文件管理的,把对应的 plist文件放到指定目录,我的是/Users/jianjian/Library/LaunchAgents,那么只要用户登录就会启动这个程序,并且是无法杀死的,杀了也会自己重新启动.
1.找到plist 文件
plist文件通过 brew 安装时会自动生成,我们去 redis 安装目录下找到复制过来即可,我的是在
/opt/homebrew/Cellar/redis/7.0.11目录下
2.将启动文件 plist 复制到 LaunchAgents目录
cp /opt/homebrew/Cellar/redis/7.0.11/homebrew.mxcl.redis.plist /Users/jianjian/Library/LaunchAgents/
这里需要注意的是,复制之后要修改里面的 redis-server路径为/opt/homebrew/Cellar/redis/7.0.11/bin/redis-server
3.添加到登录管理项 复制进去之后电脑就会提示已经加到了登录项里面
内网渗透
以macOS自带的Apache为例,在本地启用apache服务器,并通过cpolar内网穿透将其暴露至公网,实现在公网环境下访问本地web服务。
- 启动Apache服务器
在macOS上打开终端,执行命令启动Apache服务器,提示Passwod,输入密码
sudo apachectl start
## Apache常用命令:
## 启动apache: sudo apachectl start
## 重启apache: sudo apachectl restart
## 关闭apache: sudo apachectl stop
浏览器访问localhost(默认80端口),页面正常看到It Works!,表示服务器启动成功,局域网内可正常访问!
- 公网访问本地web服务
目前web服务只能在局域网内访问,接下来我们使用cpolar内网穿透将本地web服务映射到公网,实现公网用户也可以访问到本地web服务,无需公网IP,也无需设置路由器。
2.1 本地安装配置cpolar
在官网下载下载适用于macOS平台的zip压缩包,解压后得到cpolar,然后通过命令行带参数运行即可。
通过Homebrew包管理器安装
brew tap probezy/core && brew install cpolar
- token认证 登录cpolar官网后台,点击左侧的验证,查看自己的认证token,之后将token贴在命令行里
cpolar authtoken xxxxxxx
- 安装服务
sudo cpolar service install
- 启动服务
sudo cpolar service start
登录cpolar web UI管理界面 在浏览器上访问本地9200端口【点击我】,使用cpolar账号登录。
登录成功后,点击左侧仪表盘的隧道管理——隧道列表,可以看到两条样例隧道(可自行编辑或者删减)
ssh隧道:指向本地22端口,tcp协议 website隧道:指向本地8080端口,tcp协议
2.2 创建隧道
点击左侧仪表盘的隧道管理——创建隧道,我们来创建一条隧道,将在本地80端口下的web服务映射到公网:
隧道名称:可自定义,注意不要与已有隧道名称重复 协议:http协议 本地地址:80 域名类型:免费选择随机域名 地区:选择China VIP 点击创建
点击左侧仪表盘的状态——在线隧道列表,可以看到tunnel-1隧道已经有生成了相应的公网地址,一个http协议,一个https协议(免去配置ssl证书的繁琐步骤),均可以访问到本地web服务,复制公网地址。
2.3 测试访问公网地址
在浏览器上访问公网地址,测试访问成功,实现公网访问本地web服务。
- 复制在线渠道的域名
- 保证配置的端口本地服务已启动
安装Python管理器
说明 目前Python同时更新与维护Python2和Python3,选择Python2还是选择Python3,取决于当前要使用的库、框架支持哪个版本,所以经常会遇到切换版本的情况。
那么应该怎样有效的更改呢?很多小伙伴一定会想到修改环境变量,指定Python的默认路径,这样当然可以,然而不够优雅。那么怎样的方法才算优雅呢?当然是一条命令了👻。
这里通过brew安装pyenv,再用pyenv安装管理Python。
安装步骤 安装homebrew:🚀 略
注:Homebrew 是macOS下非常高效的命令行软件包管理器,mac必安装工具之一。
安装pyenv:🛰
$ brew update
$ brew install pyenv
$ pyenv -v
pyenv 2.4.7
安装管理多个Python:
$ pyenv install 2.7.15
$ pyenv install 3.7.0
$ pyenv versions
system
2.7.15
* 3.7.0 (set by /Users/john/.pyenv/version)
切换版本:
$ pyenv global 2.7.15
$ pyenv versions
system
* 2.7.15 (set by /Users/john/.pyenv/version)
3.7.0
$ python --version
Python 2.7.15
pyenv常用的命令说明:
使用方式: pyenv <命令> [<参数>]
命令:
# 查看可安装的Python版本
pyenv install --list
pyenv install -l
# 查看已安装的Python版本
pyenv versions
# 显示当前活动的Python版本
pyenv version
pyenv commands 查看所有命令
pyenv local 设置或显示本地的Python版本
pyenv global 设置或显示全局Python版本
pyenv shell 设置或显示shell指定的Python版本
pyenv install 安装指定Python版本
pyenv uninstall 卸载指定Python版本
pyenv version 显示当前的Python版本及其本地路径
pyenv versions 查看所有已经安装的版本
pyenv which 显示安装路径
# 查看当前版本
pyenv version
# 查看所有版本
pyenv versions
# 查看所有可安装的版本
pyenv install --list
# 安装指定版本
pyenv install 3.6.5
# 安装新版本后rehash一下
pyenv rehash
# 删除指定版本
pyenv uninstall 3.5.2
# 指定全局版本
pyenv global 3.6.5
# 指定多个全局版本, 3版本优先
pyenv global 3.6.5 2.7.14
# 实际上当你切换版本后, 相应的pip和包仓库都是会自动切换过去的
安装NVM
NVM(Node Version Manager)是一个用于管理Node.js版本的工具,可以方便地安装、切换和管理不同版本的Node.js。
安装nvm
brew install nvm
nvm 基础信息
brew list nvm
环境配置
# 打开.bash_profile文件
open -t ~/.bash_profile
nvm内容,注意里面的路径我这里是:/opt/homebrew/Cellar/nvm/0.39.7
# nvm内容,注意里面的路径
export NVM_DIR="$HOME/.nvm"
[ -s "/opt/homebrew/Cellar/nvm/0.39.7/nvm.sh" ] && . "/opt/homebrew/Cellar/nvm/0.39.7/nvm.sh"
[ -s "/opt/homebrew/Cellar/nvm/0.39.7/etc/bash_completion.d/nvm" ] && . "/opt/homebrew/Cellar/nvm/0.39.7/etc/bash_completion.d/nvm"
配置生效
# 生效
source ~/.bash_profile