让Mac也能拥有apt-get类似的功能——Brew

本文介绍了如何在Mac上使用Brew进行软件的安装、卸载及搜索操作,通过简单的命令即可实现对软件及其依赖包的高效管理。


来源:http://snowolf.iteye.com/blog/774312
之前一直怀念ubuntu下的 apt-get,因为实在是方便,需要安装什么,一个命令搞定,相关的依赖包统统由 apt-get维护。下载,编译,安装,那叫一个痛快。什么软件用着不爽,一个命令卸载! 

怀念 apt-get之余,发现了替代工具 MacPorts,据说也可以解决我的问题。但可惜,我总是无法更新本地软件索引库!  

homebrew主页对brew进行了详细的描述,不过我们更希望下载下来实战演练!  

  1. 安装brew
  2. 使用brew安装软件
  3. 使用brew卸载软件
  4. 使用brew检索软件


1.安装brew: 
Shell代码   收藏代码
  1. curl -LsSf http://github.com/mxcl/homebrew/tarball/master | sudo tar xvz -C/usr/local --strip 1  

上述命令,在官网上可以找到! 


2.使用brew安装软件 
别的工具不说,wget少不了,但是mac上默认没有!  
就先拿它来开刀了: 
Shell代码   收藏代码
  1. brew install wget  

 
甚至是安装tomcat: 
Shell代码   收藏代码
  1. brew install tomcat  

 
或者是unrar: 
Shell代码   收藏代码
  1. brew install unrar  

 

3.使用brew卸载软件 
安装简单,卸载就更简单了: 
Shell代码   收藏代码
  1. brew uninstall unrar  

 

4.使用brew检索软件 
看看我们能搜到什么: 
Shell代码   收藏代码
  1. brew search /apache*/  

 

/apache*/使用的是正则表达式,注意使用 /分隔! 

至此,brew已经能解决我的大部分软件安装问题了!  
<think> 我们正在讨论macOS系统与原生Linux包管理器(如apt)的区别。根据用户需求,我们需要参考之前提供的引用内容,并结合知识库中的信息进行回答。 从引用[1]中我们知道:APT是Debian及其衍生版(如Ubuntu)的包管理器,用于处理.deb格式的软件包。它提供了软件包的装、升级、卸载等功能,并且可以自动解决依赖关系。 引用[2]提到文件系统差异:LinuxmacOS都是使用POSIX权限模型(rwx),但macOS默认文件系统(APFS)是大小写不敏感的,而Linux通常是大小写敏感的。这也可能影响软件包的管理。 引用[3][4]并没有直接提供关于macOS包管理器apt区别的信息,但我们可以结合已知知识进行回答。 关键点: 1. macOS本身没有内置类似apt的包管理器。macOS传统的软件装方式是通过App Store或下载dmg/pkg文件装。 2. 但是,macOS有第三方包管理器Homebrew,它提供了类似apt功能装、升级、卸载,依赖解决)。 3. 系统架构包格式不同:apt管理的是.deb包,而Homebrew通常从源码编译或使用预编译的二进制包(称为bottle),不依赖于特定的包格式。 4. 权限管理:macOSLinux虽然都是类Unix系统,但在权限管理上存在差异(如macOS有SIP系统完整性保护),这可能会影响软件装的位置方式。 因此,我们可以从以下几个方面来比较: 一、包管理器的性质 - apt:是Debian/Ubuntu等Linux发行版的官方包管理器,系统内置。 - macOS:没有官方内置的类似apt工具,但有替代方案(HomebrewMacPorts等)。 二、软件包格式与依赖解决 - apt:使用.deb包,内部包含预编译的二进制文件、配置文件元数据(如依赖关系)。装时自动解决依赖。 - Homebrew:使用“Formula”(描述如何编译软件的Ruby脚本)或预编译的二进制包(bottle)。依赖关系通过Formula定义,自动解决。 三、装位置权限 - apt装到系统目录(如/usr/bin, /usr/lib),需要root权限(使用sudo)。 - Homebrew:默认装到/usr/local(在Intel Mac上)或/opt/homebrew(在Apple Silicon Mac上),不需要root权限(用户可读写)。 四、软件更新机制 - apt:通过`apt update`更新软件源索引,`apt upgrade`升级所有软件包。 - Homebrew:通过`brew update`更新Formula,`brew upgrade`升级所有软件包。 五、软件生态 - apt:提供大量经过发行版测试的软件包,稳定性较高。 - Homebrew:提供丰富的开源软件,但部分软件可能不如Linux发行版仓库中的稳定。 六、与系统的集成 - apt:深度集成于Linux发行版中,是系统更新软件管理的主要工具- Homebrew:独立于macOS系统,不会干扰系统自带软件(如Python,Ruby等),但需要用户自行装。 七、全机制差异 - macOS:有SIP(System Integrity Protection)保护系统目录,禁止修改系统核心区域(如/System, /bin, /usr/bin等),因此第三方包管理器不能写入这些位置。 - Linux:通常没有类似SIP的保护(尽管有SELinux等全模块),所以apt可以直接装到系统目录。 根据以上分析,我们可以组织回答。 </think> ### macOS系统与原生Linux包管理器(如APT)的核心区别 #### 1. **设计架构差异** - **APT**:专为Debian-based Linux系统设计,管理`.deb`格式软件包,深度集成于Linux内核。通过命令行工具(`apt-get`, `apt-cache`)自动解决依赖关系并管理系统级软件包[^1]。 - **macOS**:原生无类似APT的包管理器。采用混合机制: - 图形化装:App Store(沙盒化应用)、`.dmg`/`.pkg`装包 - 命令行方案:需额外装**Homebrew**(第三方工具),管理自定义Formula而非标准包格式 #### 2. **文件系统与权限模型** | 特性 | macOS系统 | Linux(APT环境) | |---------------------|--------------------------|-------------------------| | **文件系统** | APFS/HFS+(默认大小写不敏感) | ext4/XFS(大小写敏感) | | **权限模型** | POSIX权限 + SIP保护 | POSIX权限(rwx) | | **装路径** | `/Applications`(用户)<br>`/usr/local`(Homebrew) | `/usr/bin`(系统级) | | **依赖解析** | 需手动处理或依赖Homebrew | 自动解决依赖链 | macOS的**SIP(System Integrity Protection)** 限制对系统目录(如`/usr/bin`)的写入,而Linux中APT可直接修改系统路径[^2]。 #### 3. **软件包管理机制对比** - **APT工作流程**: ```bash apt update # 更新软件源索引 apt install python # 自动下载.deb包并解析依赖 apt upgrade # 批量更新所有软件 ``` - **macOS原生方案**: - `.pkg`装包:图形化向导,但无依赖管理能力 - **Homebrew替代方案**: ```bash brew update # 更新Formula索引(非官方源) brew install python # 从源码编译或下载预编译包 brew upgrade # 更新指定软件 ``` #### 4. **依赖与生态差异** - **Linux/APT**: - 集中式官方仓库(如Ubuntu的`main/universe`) - 严格签名验证(GPG密钥) - **macOS**: - 碎片化依赖:Python/Ruby等需单独管理版本(如`pyenv`) - Homebrew依赖开源社区维护的Formula(潜在兼容性问题) - 商业软件依赖独立装程序(如Adobe Creative Cloud) #### 5. **全模型对比** - **APT**:通过`sudo`提权装系统级软件,依赖包签名验证 - **macOS**: - 图形装包需公证(Notarization) - Homebrew默认以普通用户权限装到`/usr/local`,避开SIP限制 - 应用沙盒机制(App Store应用强制启用) > **关键结论**:APT是Linux生态的核心组件,提供自动化、系统级的包管理;macOS则采用分层的混合策略——图形装满足普通用户,开发者需依赖Homebrew填补命令行管理的空白[^1][^2]。 --- ###
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值