欢迎来真孝善网,为您提供真孝善正能量书籍故事!

高效软件部署指南:Mac操作系统下pkg、dmg、brew与cask安装详解

时间:10-29 神话故事 提交错误

大家好,今天来为大家分享高效软件部署指南:Mac操作系统下pkg、dmg、brew与cask安装详解的一些知识点,和的问题解析,大家要是都明白,那么可以忽略,如果不太清楚的话可以看看本篇文章,相信很大概率可以解决您的问题,接下来我们就一起来看看吧!

Mac ——下软件安装从pkg、dmg到brew、cask

发表于2015-11-22

| Mac 分类|

本文为梳理Linux源代码安装软件到DPKG/RPM软件包管理机制的过程奠定了基础,并阐述了*UNX平台软件安装包管理机制的演变和现代化。后半部分介绍了Mac下的软件安装包格式—— pkg dmg,以及软件包管理工具——brew和brew-cask,并整理了日常命令用法。

Linux软件的安装与管理

Linux是一个免费使用、自由传播的、基于POSIX和UNIX的、多用户、多任务、支持多线程、多CPU的开源类Unix操作系统。由于Linux操作系统是开源的,因此其上安装的大部分软件也是开源的。开源软件的开发者往往只需要在开源代码托管平台上发布源代码包,用户就可以在本地自由下载源代码包并基于源代码包编译安装软件。这非常符合C语言的设计理念:一次编写,到处编译。

从源代码安装软件

基于源代码安装软件一般包括以下步骤:

下载并解压源码

阅读README、INSTALL等文档,这一步很重要

分析安装平台环境(ifconfig)

编译并安装软件(make、make install)

基于源代码安装软件的优点是用户可以自由配置编译选项,按需编译,实现功能定制,极大地满足了个性化需求。另外,用户还可以自行选择安装路径,方便管理。卸载软件也很方便,只需删除相应的安装目录即可。然而,配置和编译命令需要操作系统本身的知识,并且依赖于开源项目所使用的编程语言对应的工具链。为了使用一款应用软件,用户需要熟悉Linux系统的文件组织结构和一堆Shell交互命令,还必须解决编译过程中可能涉及的复杂依赖关系。还需要一定的英语水平。关键是要有持之以恒的精神和顽强的动手能力!英语、OS、Linux、命令行交互等等,这些令人望而却步的门槛足以将普通用户拒之门外。安装完成后,你可能不知道安装到哪里了;即使离开Windows 桌面后,您也可能不知道从哪里启动该软件。依稀记得刚接触Linux的时候,为了在Linux上播放视频文件,我费了好大劲才安装了MPlayer。当时我就深深的感觉到Linux真的不是一般人能用得起的。尽管我现在已经习惯了,但我仍然觉得这很费力、很伤脑筋。作为一名曾经的计算机专业(自动化,又称计算机控制)学生,现在半专业的软件攻城狮(涉及面很广,肤浅肤浅),伪自由软件的追随者(用过盗版,但不知道如何破解,来自无贡献),因为我的工作关系经常在Windows和Mac OS之间穿梭,虽然vim键盘用户(可能大部分都是程序员)喜欢触手可及的“自由的感觉”,但对于普通人来说使用鼠标的Windows用户,如果无法控制它,自由将成为一种负担。

只需开发人员需要学习操作系统本身,而用户只需要学习如何使用操作系统中的每个“应用程序”。第——章

DPKG/转速

随着Linux的发展和普及,Linux开发者开始在固定的硬件平台和操作系统上安装或升级软件编译好,然后将这个软件的所有相关文件打包转换成特殊格式的文件。该软件还包含脚本来预先检测系统和依赖软件(或动态链接库),并提供软件提供的所有文件信息的记录等,最终发布软件。客户端获得软件后,只要通过特定命令进行安装,软件就会根据内部脚本检测相关前驱软件是否存在。如果安装环境和条件满足要求,则开始安装。软件安装后,这些信息也会被写入软件管理机制中,以便完成以后的升级、删除(卸载)等操作。

目前,Linux世界中最常见的软件安装方式有两种:

DPKG

DPKG(Debian Packager) 是Debian Linux 社区开发的著名软件包。

这个概念因此被引入到GNU/Linux 系统中。

通过DPKG机制,可以方便地安装Debian提供的软件,并且还可以提供安装后的软件信息。大多数其他源自Debian 的Linux 发行版都使用dpkg 机制来管理软件,包括B2D、Ubuntu、Linux Mint 等。

为了解决软件包更新的问题,Debian引入了APT(Advanced Package Tool)在线升级机制,并将其安装在/etc/apt/sources.list中

该文件列出了可用软件包的镜像站点的地址。 APT 由多个以apt- 结尾的名称组成

开头的程序apt-get、apt-cache 和apt-cdrom 是处理软件包的命令行工具。

apt作为dpkg的前端工具,自动管理关联文件并维护现有的配置文件,具有出色的解决软件依赖问题的能力。

转速

RPM(RedHat Package Manager)是Red Hat公司开发的软件包管理程序。除了安装(-i)之外,还可以进行查询(-q)、验证(-V)、更新(-U)、删除(-e)等操作。这些功能选项使软件的管理更加方便。著名的Linux发行版包括Fedora、CenterOS、SUSE/openSUSE等都采用RPM作为软件安装的管理机制。

RPM包一般有两种封装格式,分别是RPMSRPM。 RPM 格式文件xxx.rpm

包含编译的二进制包和配置文件等数据。 SRPM(Source RPM)对应的RPM文件类似xxx.src.rpm

格式,包括源代码文件和一些编译指定的参数文件。因此,在使用时需要先通过RPM管理将其编译成RPM文件(rpmbuild),然后将编译好的RPM文件安装到Linux系统中。

RPM无法自动解决软件依赖关系,但可以使用APT对应的YUM(YellowdogUpdater Modified)机制。解决属性依赖问题是一个基于RPM的Shell前端包管理器,主要用于自动升级和安装/删除RPM包。它可以自动查找并解决RPM包之间的依赖关系,而不需要管理员手动一一安装每个RPM包。

经销代表

包管理机制

使用命令

在线升级机制(命令)

红帽/软呢帽

转速

rpm、rpm 构建

百胜(百胜)

Debian/Ubuntu

DPKG

包装袋

APT(apt-get)

在众多的Linux发行版中,Ubuntu占据桌面,RHEL/CentOS占据服务器,而相对小众的YUM则采用了独特的Gentoo包管理系统。 Gentoo的软件树称为Portage,对应的包管理器是emerge,包元文件称为ebuild。 Gentoo 是一个强调选择自由的发行版。它使用源代码进行包管理。由于您可以自行编译和调整源代码依赖关系,因此可以获得软件最高程度的定制和优化。还有很多新旧版本的源代码包可供选择,因此吸引了很多爱好者和专业人士。

转速/转速

RPM包命名约定:名称-版本-release.arch.rpm。其中,版本

表示系统发行版本,如fc18、el6表示该软件包在Fedora 18、RHEL 6.x/CentOS 6.x下使用;拱

表示硬件平台,常见的有i386、x86_64等。

**rp-pppoe-3.1-5.i386.rpm

**是一个典型的RPM安装包,它由几个部分组成:

rp-pppoe

:姓名

3.1

: 版本信息

5

:发布数量

.i386

:适合的硬件平台

.rpm

:扩大

RPM文件必须安装在同一个Linux环境中,SRPM是一种源代码格式。我们可以通过修改SRAM中的参数,按需编译生成适合我们Linux环境的RPM文件,而且不一定要和原作者打包的Linux环境一样。通常一个软件发布时,该软件的RPM和SRPM会同时发布。

文件格式

扩展格式

是否直接安装

包含的程序类型

可以修改参数并编译吗?

转速

xxx.rpm

编译的

SRPM

xxx.src.rpm

未编译的源代码

RPM包构建的原理并不复杂。可以理解为以标准格式组织一些信息,包括:软件基本信息,以及安装和卸载前后执行的脚本、解压、打补丁、编译、源码包的安装路径和文件等。我们可以使用rpmbuild根据标准规范制作自己的RPM包。

Mac 包管理工具

Linux平台下的apt-get和yum命令行工具分别适用于deb和rpm包管理版本。它们主要用于自动从互联网软件仓库中搜索、安装、升级和卸载软件。 Mac操作系统下

药物包

有些应用程序会提供dmg和pkg安装包,例如git-2.5.3-intel-universal-mavericks.dmg

,Subversion-1.9.2_10.10.x.pkg。

Portage是Apple的压缩镜像文件(类似于Windows下的iso)。是Mac应用软件(相当于ipa)常见的打包格式,一般包含application.app。

图标和应用程序文件夹(/Applications

) 快捷方式,直接添加application.app

将其拖至应用程序文件夹即可完成安装。卸载也是绿色的,直接在Launchpad里

在或cd 到/Applications

只需删除目录中的应用程序(文件夹)即可。

任何来源是系统级软件的安装程序,相当于iOS越狱后安装的deb。它通常会修改系统配置并具有更高的权限。 pkg安装一般需要sudo授权,卸载pkg安装的应用程序也比较麻烦。 pkg 类似于Windows 下的安装程序Setup.exe 和*.msi。您可以使用Install Shield 在Windows 下创建安装程序。您可以使用Xcode自带的PackageMaker或打包命令行工具pkgbuild+productbuild+pkgutil或Iceberg(集成打包环境(IPE))来创建安装包。

dmg:pkg是单个应用程序的安装包,而mpkg(multi pkg)是多个pkg。我们来看看从AppleStore下载的OS X EI Capitan安装程序文件——来安装OS X EI Capitan.app

/内容/共享支持

目录:

faner@MBP-FAN:/Applications/Install OS X El Capitan.app/Contents/SharedSupport| 树. InstallESD.dmg OSInstall.mpkg0 个目录,2 个文件

下载并安装OS X EI Capitan.app

之后,您可以使用**createinstallmedia

** 创建USB安装盘的命令,或者恢复到USB盘创建启动盘。

pkg:像git-2.5.3-intel-universal-mavericks.dmg

此dmg 打包了git 命令CLI 安装pkg。您需要使用DiskImageMounter 挂载dmg,然后打开pkg(使用Installer),并按照分步指南下一步完成安装。当然,你也可以使用命令行来完成挂载和安装操作。

Mac除了使用dmg和pkg来安装软件外,还有优秀的软件包管理工具,可以下载、安装和管理大量AppleStore不提供但经常使用的开源软件。我们有两个选项:—— MacPorts 和Homebrew。

Mac端口

MacPorts (DarwinPorts) 是一个从FreeBSD 的port 移植过来的软件包管理系统,用于简化Mac OS X 和Darwin 操作系统上的软件安装。在Mac 上安装MacPorts 将使您在Mac Shell 下更加得心应手。 MacPorts 有一个原则,软件包之间的依赖关系都在MacPorts 内部(/opt/local

)解决方案,无论系统本身是否包含所需的库,都不会被使用。这使得MacPorts变得庞大而臃肿,导致系统中出现大量冗余软件包,占用大量磁盘空间,稍微大一点的软件编译时间就会难以忍受。

自制

Homebrew(简称brew)是Mac OS X(操作系统缺少的包管理器)不可或缺的软件管理工具

mpkg是安装UNIX 工具的最简单、最灵活的方法。

Homebrew 是一个用Ruby 开发并托管在GitHub 上的免费开源软件包管理系统。它通过用户贡献扩展了对软件包的支持。

MacPorts 与Homebrew

MacPorts 和Homebrew 这两个包管理系统都是通过下载源代码然后在本地编译来工作的。然而,这两个包管理系统之间仍然存在很大的差异。主要区别如下:

MacPorts的思想是尽量减少对系统现有库的依赖,编译时间会更长;而Homebrew则尽可能依赖系统已有的库,编译时间会明显减少。

MacPorts 软件包安装到/opt/local

,不会与系统上已有的软件冲突; Homebrew 的软件包安装到/usr/local

,可能会和系统自带的软件冲突。

Macports使用rsync进行同步(也可以使用svn),而Homebrew使用git进行同步。

总体来说,Homebrew使用方便,编译时间短,更适合新手。 MacPorts编译时间较长,命令需要sudo。它不像Homebrew那么好用,但是比较干净,适合有洁癖的人。

以上整理了Linux和Mac下的包管理机制。下面重点介绍Mac OS X上的包管理CLI命令行工具brew及其增强工具brew-cask。

酿造(自制)

dmg with pkg是从软件包仓库下载源码到本地解压,然后执行./configure

进行安装

,编译并安装软件到单独的目录(/usr/local/Cellar

),然后符号链接到/usr/local

目录下,还会自动检测并下载相关依赖库,并自动配置各种环境变量。这对于程序员来说是个好消息。使用简单的指令,您可以快速安装、升级和卸载各种本地开发环境。

安装酿造

brew的安装非常简单,只需用一个ruby命令调用curl来下载安装即可。

Homebrewfaner@MBP-FAN:~| ruby -vruby 2.0.0p645 (2015-04-13 修订版50299) [universal.x86_64-darwin15]

brewfaner@MBP-FAN:~|curl --versioncurl 7.43.0 (x86_64-apple-darwin15.0) libcurl/7.43.0 SecureTransport zlib/1.2.5Protocols: dict 文件ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp smb smbs smtp smtps telnet tftp 功能: 异步DNS IPv6 大型文件GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz UnixSockets

1.Mac OS X 上默认已安装ruby:2.Mac OS X 上默认已内置了curl(Command Line URL Viewer):是一个基于跨平台网络协议库libcurl的开源文件传输工具,使用URL语法在命令行模式下工作。常用的curl命令请参考curl详细解释和curl网站开发指南。

旧安装

很早之前homebrew的安装网址是https://raw.github.com/Homebrew/homebrew/go/install

ruby -e "$(curl -fsSLhttps://raw.github.com/Homebrew/homebrew/go/install)"

第一次执行brew install

安装软件时会提示无法创建/usr/local/Cellar。

目录,因为没有/usr/local

写权限。

brew install nodeError:无法创建/usr/local/Cellar检查您是否有权写入/usr/local

说明:执行chown

更改/usr/local 的命令

属于whoami 所有

,-R

代表递归。

~ whoamifaner ~ sudo chown -R faner /usr/local

新安装

在brew官网首页最后可以看到最新的安装代码:

ruby -e "$(curl -fsSLhttps://raw.githubusercontent.com/Homebrew/install/master/install)"

最新安装过程中,会要求输入授权密码sudo chown ${whoami} /usr/local/*

~$brew-bash:brew:命令未找到~$ruby-e"$(curl-fsSLhttps://raw.githubusercontent.com/Homebrew/install/master/install)"==此脚本将安装:/usr/local/bin/brew /usr /local/Library/./usr/local/share/man/man1/brew.1==以下目录将被设为组可写:/usr/local/./usr/local/bin/usr/local /include/usr/local/lib/usr/local/lib/pkgconfig==以下目录的所有者将设置为thomasfan:/usr/local/./usr/local/bin/usr/local/include/usr/local /lib/usr/local/lib/pkgconfig==以下目录的组将设置为admin:/usr/local/./usr/local/bin/usr/local/include/usr/local/lib/usr/local /lib/pkgconfig 按RETURN 继续或按任何其他键中止==/usr/bin/sudo /bin/chmod g+rwx /usr/local/。 /usr/local/bin /usr/local/include /usr/local/lib /usr/local/lib/pkgconfigPassword:==/usr/bin/sudo /usr/sbin/chown thomasfan /usr/local/. /usr/local/bin /usr/local/include /usr/local/lib /usr/local/lib/pkgconfig==/usr/bin/sudo /usr/bin/chgrp admin /usr/local/。 /usr/local/bin /usr/local/include /usr/local/lib /usr/local/lib/pkgconfig==/usr/bin/sudo /bin/mkdir /Library/Caches/Homebrew==/usr/bin /sudo /bin/chmod g+rwx /Library/Caches/Homebrew==/usr/bin/sudo /usr/sbin/chown thomasfan /Library/Caches/Homebrew==下载并安装Homebrew.remote: 计数对象: 3847, did.remote: 压缩对象: 100% (3691/3691),done.remote: 总计3847 (增量40),重用520 (增量21),打包重用0 接收对象: 100% (3847/3847),3.31 MiB | 105.00 KiB/s,完成。解析deltas: 100% (40/40),完成。来自https://github.com/Homebrew/homebrew* [新分支] master -origin /masterHEAD 现在位于e191c00 jsonnet: update 0.8.5 Bottle.==安装成功!==后续步骤Runbrew 帮助开始~ $

酿造帮助

酿造-v/版本

安装brew后,执行brew -v

命令可以查看已安装的brew版本信息:

faner@MBP-FAN:~|brew -vHomebrew 0.9.5(git 修订版1eec1;最后提交2015-11-21)faner@MBP-FAN:~|brew --versi

on0.9.5 (git revision 1eec1; last commit 2015-11-21) brew 常用命令 执行 brew 查看帮助概要(Example usage、Troubleshooting、Brewing): -h / –h / –help / help faner@MBP-FAN:~|⇒ brewExample usage: brew [info | home | options ] [FORMULA...] brew install FORMULA... brew uninstall FORMULA... brew search [foo] brew list [FORMULA...] brew update brew upgrade [FORMULA...] brew pin/unpin [FORMULA...]Troubleshooting: brew doctor brew install -vd FORMULA brew [--env | config]Brewing: brew create [URL [--no-fetch]] brew edit [FORMULA...]https://github.com/Homebrew/homebrew/blob/master/share/doc/homebrew/Formula-Cookbook.mdFurtherhelp: man brew brew home 执行 man brew 可查看详细的 brew 帮助文档。 执行 man home 可调用浏览器打开 brew 官方网站。 命令 说明 brew update 更新 brew brew search FORMULA 查找软件包,可使用正则表达式 brew info FORMULA 显示软件的信息 brew deps FORMULA 显示包依赖

brew install FORMULA 安装软件包 brew uninstall FORMULA 卸载软件包 brew list 列出已安装的软件包,可指定 FORMULA brew outdated 列出可升级的软件包 brew upgrade 更新已安装的软件包,可指定 FORMULA brew doctor 诊断 homebrew 环境 brew prune 删除 /usr/local 下的无效链接(remove broken symlinks) brew info **brew info ** 显示软件包信息,一般包括: 软件概要信息 本地是否已安装:Not installed / Poured from bottle 依赖包:==>Dependencies,Build、Required、Recommended、Optional 编译、安装选项: ==>Options 预警信息:==>Caveats brew info 查看 plist 文件 brew install 示例 tree linux 下的tree命令以树形结构显示文件目录结构,Mac 下默认并没有该命令,只有普通的 **ls ** 命令。可以利用 brew 查找并安装 tree 命令行工具: faner@MBP-FAN:~|⇒ brew search treegit-stree mvptree pstree tree treecc treeline homebrew/emacs/dict-tree homebrew/science/quicktree Caskroom/cask/treemaker homebrew/emacs/undo-tree homebrew/x11/prooftree Caskroom/cask/treesheets homebrew/emacs/ztree-emacs Caskroom/cask/figtree homebrew/science/fasttree Caskroom/cask/sourcetree faner@MBP-FAN:~|⇒ brew info treetree: stable 1.7.0 (bottled)Display directories as trees (with optional color/HTML output)http://mama.indstate.edu/users/ice/tree/NotinstalledFrom:https://github.com/Homebrew/homebrew/blob/master/Library/Formula/tree.rbfaner@MBP-FAN:~|⇒ brew deps treefaner@MBP-FAN:~|⇒ brew install tree==>Downloadinghttps://homebrew.bintray.com/bottles/tree-1.7.0.el_capitan.bottle.1.tar.gz########################################################################100.0%==>Pouring tree-1.7.0.el_capitan.bottle.1.tar.gz /usr/local/Cellar/tree/1.7.0: 7 files, 128Kfaner@MBP-FAN:~|⇒ tree --versiontree v1.7.0 (c) 1996 - 2014 by Steve Baker, Thomas Moore, Francesc Rocher, Florian Sesser, Kyosuke Tokoro homebrew 下载已经编译好的二进制包 tree 到缓存目录 /Library/Caches/Homebrew/tree-1.7.0.el_capitan.bottle.1.tar.gz 解压 tree-1.7.0.el_capitan.bottle.1.tar.gz 到 /usr/local/Cellar/tree/ 目录,根据版本存放到文件夹 1.7.0 下。 将 /usr/local/Cellar/tree/1.7.0/bin/tree 软链到 /usr/local/bin/tree ,后者是前者的替身,执行 tree 命令时,真正调用的是其在 Cellar 中的真身。 axel 以下示例查找比 wget 下载速度高几倍的支持断点续传的多线程下载 CLI 命令行工具axel,并显示软件包信息和依赖关系,然后安装该工具: faner@MBP-FAN:~|⇒ brew search axelaxelfaner@MBP-FAN:~|⇒ brew info axelaxel: stable 2.4 (bottled)Light UNIX downloadacceleratorhttps://packages.debian.org/sid/axelNotinstalledFrom:https://github.com/Homebrew/homebrew/blob/master/Library/Formula/axel.rbfaner@MBP-FAN:~|⇒ brew deps axelfaner@MBP-FAN:~|⇒ faner@MBP-FAN:~|⇒ brew install axel==>Downloadinghttps://homebrew.bintray.com/bottles/axel-2.4.el_capitan.bottle.1.tar.gz###############################################66.5%curl: (56) SSLRead() return error -9806Error: Failed to download resource "axel"Download failed:https://homebrew.bintray.com/bottles/axel-2.4.el_capitan.bottle.1.tar.gzWarning: Bottle installation failed: building from source.==>Downloadinghttps://mirrors.ocf.berkeley.edu/debian/pool/main/a/axel/axel_2.4.orig.tar.gz########################################################################100.0%==>./configure --prefix=/usr/local/Cellar/axel/2.4 --debug=0 --i18n=0==>make==>make install /usr/local/Cellar/axel/2.4: 8 files, 104K, built in 13 secondsfaner@MBP-FAN:~|⇒ axel -VAxel version 2.4 (Darwin)Copyright 2001-2002 Wilmer van der Gaast. 从 homebrew 官方仓库 homebrew.bintray.com 下载 axel 失败后,自动从镜像源 mirrors.ocf.berkeley.edu 重新下载。下载的源码缓存到目录 /Library/Caches/Homebrew/axel-2.4.tar.gz 。 下载完成后,依次执行 ./configure 、make 和 make install 将软件编译安装到 /usr/local/Cellar/axel/ 目录下,根据版本存放到文件夹 2.4 下。 将 usr/local/Cellar/axel/2.4/bin/axel 软链到 /usr/local/bin/axel ,后者是前者的替身,执行 axel 命令时,真正调用的是其在 Cellar 中的真身。 subversion search-info-deps-install 过程日志参考brew install subversion.log。 brew cask Homebrew 作为 Ruby 社区极富想象力的作品,使得 Mac 下安装 Mysql 等常用包不再困难。那么,是否也可以通过 brew install mysql 这样简单的方式来安装 Google Chrome 浏览器呢?为解决这一问题,phinze 的作品homebrew-cask应运而生。 about Homebrew 可以管理 Mac 下的命令行工具(wget、node),brew cask则是一套建立在 brew 上的增强命令行工具,支持管理 Mac 下的 GUI 程序,例如 qq、 google-chrome、evernote 等。cask 从镜像源下载已经编译好了的应用软件二进制包(.dmg/.pkg)到本地解压到单独的目录(/opt/homebrew-cask/Caskroom )下,然后软链(symlink)到 /Applications 目录下。cask 包含了很多在 AppStore 里没有的常用软件,省掉了手动下载、解压、拖拽(安装)等步骤,且卸载也相当容易与干净,使用起来非常方便。 假设你已安装好了 Homebrew,执行以下命令查找 cask 包并显示软件包信息和依赖关系: faner@MBP-FAN:~|⇒ brew search caskcaskhomebrew/completions/brew-cask-completionfaner@MBP-FAN:~|⇒ brew info caskcask: stable 0.7.3, HEADEmacs dependencymanagementhttps://cask.readthedocs.org/NotinstalledFrom:https://github.com/Homebrew/homebrew/blob/master/Library/Formula/cask.rbfaner@MBP-FAN:~|⇒ brew deps caskemacs install 安装 cask 极其简单,打开终端输入: brew tap phinze/homebrew-caskbrew install brew-cask brew tap phinze/homebrew-cask 由于 brew 和包含的包源都是通过 github 来管理,人为的维护管理。除了默认的仓库,还允许别人的源添加进来。通过brew tap 指定第三方包源: $ brew tap 默认的源是 caskroom/cask ,以下显式 tap 原作者的源(phinze/homebrew-cask ): faner@MBP-FAN:~|⇒ brew tap phinze/homebrew-cask==>Tapping phinze/caskCloning into "/usr/local/Library/Taps/phinze/homebrew-cask"...remote: Counting objects: 3278, done.remote: Compressing objects: 100% (3202/3202), done.remote: Total 3278 (delta 83), reused 731 (delta 59), pack-reused 0Receiving objects: 100% (3278/3278), 5.82 MiB | 428.00 KiB/s, done.Resolving deltas: 100% (83/83), done.Checking connectivity... done.Tapped 1 formula (3257 files, 24M) brew install brew-cask faner@MBP-FAN:~|⇒ brew install brew-cask==>Installing brew-cask from phinze/homebrew-cask==>Cloninghttps://github.com/caskroom/homebrew-cask.gitCloninginto "/Library/Caches/Homebrew/brew-cask--git"...remote: Counting objects: 3248, done.remote: Compressing objects: 100% (3172/3172), done.remote: Total 3248 (delta 82), reused 771 (delta 59), pack-reused 0Receiving objects: 100% (3248/3248), 5.82 MiB | 467.00 KiB/s, done.Resolving deltas: 100% (82/82), done.Checking connectivity... done.Note: checking out "d39c95942f4226fb6c0e1a56c11008695ddeeade".You are in "detached HEAD" state. You can look around, make experimentalchanges and commit them, and you can discard any commits you make in thisstate without impacting any branches by performing another checkout.If you want to create a new branch to retain commits you create, you maydo so (now or later) by using -b with the checkout command again. Example: git checkout -b==>Checking out tag v0.59.0 /usr/local/Cellar/brew-cask/0.59.0: 2976 files, 12M, built in 32 seconds 本机已经安装了 brew-cask 的依赖软件 **emacs ** : faner@MBP-FAN:~|⇒ whereis emacs/usr/bin/emacsfaner@MBP-FAN:~|⇒ emacs --versionGNU Emacs 22.1.1Copyright (C) 2007 Free Software Foundation, Inc.GNU Emacs comes with ABSOLUTELY NO WARRANTY.You may redistribute copies of Emacsunder the terms of the GNU General Public License.For more information about these matters, see the file named COPYING. 如果没有安装 **emacs ,则 brew 在安装 cask 之前会自动帮我们下载安装 emacs : ==>Installing dependencies for cask: emacs==>Installing cask dependency: emacs==>Downloadinghttps://homebrew.bintray.com/bottles/emacs-24.5.yosemite.bottle.1.tar.gz########################################################################100.0%==>Pouring emacs-24.5.yosemite.bottle.1.tar.gz==>CaveatsTo have launchd start emacs at login: ln -sfv /usr/local/opt/emacs/.plist ~/Library/LaunchAgentsThen to load emacs now: launchctl load ~/Library/LaunchAgents/homebrew.mxcl.emacs.plist==>Summary /usr/local/Cellar/emacs/24.5: 3915 files, 105M brew cask 执行 brew cask 或 brew-cask 可查看帮助概要(首次需输入 sudo 密码): faner@MBP-FAN:~|⇒ brew cask==>We need to make Caskroom for the first time at /opt/homebrew-cask/Caskroom==>We"ll set permissions properly so we won"t need sudo in the futurePassword:brew-cask provides a friendly homebrew-style CLI workflow for theadministration of Mac applications distributed as binaries.!! !! no command verb: !! Commands: audit verifies installability of Casks cat dump raw source of the given Cask to the standard output cleanup cleans up cached downloads and tracker symlinks create creates the given Cask and opens it in an editor doctor checks for configuration issues edit edits the given Cask fetch downloads Cask resources to local cache home opens the homepage of the given Cask info displays information about the given Cask install installs the given Cask list with no args, lists installed Casks; given installed Casks, lists staged files search searches all known Casks uninstall uninstalls the given Cask update a synonym for "brew update" zap zaps all files associated with the given CaskSee also "man brew-cask" 执行 brew-cask --version 命令可以查看安装的 brew-cask 版本信息: faner@MBP-FAN:~|⇒ brew-cask --version0.59.0 command usagebrew cask 大部分命令和 brew 保持一致,新增了以下几条命令:命令 说明 brew cask audit 查询指定 Cask 的可安装性 brew cask cat 查看指定 Cask 安装源信息 brew cask zap 打包指定 Cask brew cask cleanup 清理缓存及软链 安装了 cask 之后,就可以像 brew 一样来搜索安装软件,以下示例 google-chrome : 搜索安装包 faner@MBP-FAN:~|⇒ brew-cask search google-chrome==>Exact matchgoogle-chrome 查询安装性 faner@MBP-FAN:~|⇒ brew-cask audit google-chromeaudit for google-chrome: passed 查询包信息 1.执行 brew-cask cat 查询指定 Cask 的源信息: faner@MBP-FAN:~|⇒ brew-cask cat google-chromecask :v1 =>"google-chrome" do version :latest sha256 :no_check url "https://dl.google.com/chrome/mac/stable/GGRO/googlechrome.dmg"name "Google Chrome" homepage "https://www.google.com/chrome/"license :gratis tags :vendor =>"Google" app "Google Chrome.app" zap :delete =>[ "~/Library/Application Support/Google/Chrome", "~/Library/Caches/Google/Chrome", "~/Library/Caches/com.google.Chrome", "~/Library/Caches/com.google.Chrome.helper.EH", "~/Library/Caches/com.google.Keystone.Agent", "~/Library/Caches/com.google.SoftwareUpdate", "~/Library/Google/GoogleSoftwareUpdate", "~/Library/Logs/GoogleSoftwareUpdateAgent.log", ], :rmdir =>[ "~/Library/Caches/Google", "~/Library/Google", ] caveats<<-EOS.undent The Mac App Store version of 1Password won"t work with a Homebrew-Cask-linked Google Chrome. To bypass this limitation, you need to either: + Move Google Chrome to your /Applications directory (the app itself, not a symlink). + Install 1Password from outside the Mac App Store (licenses should transfer automatically, but you should contact AgileBits about it). EOSend 2.执行 brew-cask info 查询指定 Cask 的包信息: faner@MBP-FAN:~|⇒ brew-cask info google-chromegoogle-chrome: latestGoogleChromehttps://www.google.com/chrome/Notinstalledhttps://github.com/phinze/homebrew-cask/blob/master/Casks/google-chrome.rb==>Contents Google Chrome.app (app)==>CaveatsThe Mac App Store version of 1Password won"t work with a Homebrew-Cask-linked Google Chrome. To bypass this limitation, you need to either: + Move Google Chrome to your /Applications directory (the app itself, not a symlink). + Install 1Password from outside the Mac App Store (licenses should transfer automatically, but you should contact AgileBits about it). 安装/卸载 应用 brew-cask 安装和卸载的命令同 brew ,都是使用 install / uninstall 。 1.执行 brew cask install google-chrome 命令安装 google-chrome: brew cask install google-chromefaner@MBP-FAN:~|⇒ brew cask install google-chrome ==>CaveatsThe Mac App Store version of 1Password won"t work with a Homebrew-Cask-linked Google Chrome. To bypass this limitation, you need to either: + Move Google Chrome to your /Applications directory (the app itself, not a symlink). + Install 1Password from outside the Mac App Store (licenses should transfer automatically, but you should contact AgileBits about it).==>Downloadinghttps://dl.google.com/chrome/mac/stable/GGRO/googlechrome.dmg########################################################################100.0%==>Symlinking App "Google Chrome.app" to "/Users/faner/Applications/Google Chrome.app" google-chrome staged at "/opt/homebrew-cask/Caskroom/google-chrome/latest" (216 files, 183M) 2.执行 brew cask uninstall google-chrome 命令卸载 google-chrome: faner@MBP-FAN:~|⇒ brew-cask uninstall google-chrome==>Removing App symlink: "/Users/faner/Applications/Google Chrome.app" uninstall 命令将删除 /opt/homebrew-cask/Caskroom/google-chrome 及其在 ~/Applications/ 下的软链(symlink)。我们也可手动删除 homebrew 下载目录中缓存的 google-chrome 安装包 /Library/Caches/Homebrew/google-chrome-latest.dmg 及其软链 /Library/Caches/Homebrew/Casks/google-chrome-latest.dmg 。 升级更新软件 brew-cask 并没有提供 brew 的 upgrade 命令,升级更新软件只能通过 DIY: 进入应用软件的【关于】,手动检查是否可更新升级,使用软件自己的更新流程。 卸载重装 (brew cask uninstall && brew cask install ) ,实现间接升级。 brew-cask install 示例 文件预览插件 有些插件可以让 Mac 上的文件预览更有效,比如语法高亮、markdown 渲染、json 预览等等。通过 brew cask install 命令可以安装这些插件: $ brew cask install qlcolorcode$ brew cask install qlstephen$ brew cask install qlmarkdown$ brew cask install quicklook-json$ brew cask install qlprettypatch$ brew cask install quicklook-csv$ brew cask install betterzipql$ brew cask install webp-quicklook$ brew cask install suspicious-package

OK,关于高效软件部署指南:Mac操作系统下pkg、dmg、brew与cask安装详解和的内容到此结束了,希望对大家有所帮助。

用户评论

_心抽搐到严重畸形っ°

一直觉得苹果系统里的软件安装有点麻烦,这篇文章好像很有帮助!

    有5位网友表示赞同!

烬陌袅

好久没升级电脑了,不知道现在还有哪些新的安装方式啊。

    有15位网友表示赞同!

素衣青丝

我平时 ज्या常用 brew 来安装软件,感觉很方便高效!

    有18位网友表示赞同!

愁杀

pkg 和 dmg 安装方法也太老旧了吧?是不是很少有人用了?

    有16位网友表示赞同!

滴在键盘上的泪

最近想买 Macs ,这篇文章正好能帮我理解一下软件安装问题。

    有8位网友表示赞同!

陌颜

我一直用 pkg 安装,今天好像看到别人说 brew 很好用,要去试试看!

    有8位网友表示赞同!

◆乱世梦红颜

brew 和 cask 是什么?怎么用?感觉名字很像酒的味道哈哈哈哈哈!

    有11位网友表示赞同!

我没有爱人i

学习了,原来有很多安装方式!以后可以用更简单的方法了。

    有12位网友表示赞同!

执妄

这篇文章应该收藏起来,下次换电脑或者安装新软件可以参考一下。

    有13位网友表示赞同!

龙卷风卷走爱情

文章写得很清楚,理解了各种软件安装方法的区别。

    有9位网友表示赞同!

别悲哀

Mac 的软件安装确实比 windows 要方便很多!

    有8位网友表示赞同!

冷月花魂

不知道 brew 和 cask 有没中文化版本?这两种英文名字太难记了!

    有18位网友表示赞同!

花海

想问问,brew 安装的软件会不会和系统不兼容?

    有7位网友表示赞同!

丢了爱情i

我一直在用 dmg 格式安装程序,感觉有点慢...

    有7位网友表示赞同!

浅笑√倾城

看了这篇文章,我觉得 brew 和 cask 真的蛮好用的呀。

    有9位网友表示赞同!

巴黎盛开的樱花

以后应该都用 brew 来安装软件了!

    有18位网友表示赞同!

断桥残雪

希望这篇 文章能帮助更多的人轻松安装 Mac 软件。

    有7位网友表示赞同!

一别经年

Mac 的软件生态越来越成熟了,各种安装方式选择也越来越多。

    有7位网友表示赞同!

坠入深海i

这篇文章让我对 Mac 更加了解了,原来软件安装也能这么简单!

    有9位网友表示赞同!

【高效软件部署指南:Mac操作系统下pkg、dmg、brew与cask安装详解】相关文章:

1.蛤蟆讨媳妇【哈尼族民间故事】

2.米颠拜石

3.王羲之临池学书

4.清代敢于创新的“浓墨宰相”——刘墉

5.“巧取豪夺”的由来--米芾逸事

6.荒唐洁癖 惜砚如身(米芾逸事)

7.拜石为兄--米芾逸事

8.郑板桥轶事十则

9.王献之被公主抢亲后的悲惨人生

10.史上真实张三丰:在棺材中竟神奇复活