关于macos操作系统接口的信息

Unix, Linux 和MacOS

原文地址:

成都创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都网站设计、成都网站制作、大祥网络推广、小程序设计、大祥网络营销、大祥企业策划、大祥品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联为所有大学生创业者提供大祥建站搭建服务,24小时服务热线:13518219792,官方网址:www.cdcxhl.com

我常常会听到类似的问题: Unix, Linux和MacOS之间有什么联系? 又有什么区别?

先说结论:

如下图:

下面开始详细描述.

Unix是一个由多用户、多进程的计算机操作系统的统称,源自于从20世纪70年代开始在美国ATT公司的Bell Labs开发的 AT&T Unix, 包括很多个相似但不同的变种操作系统. Unix是一个商业上的专利产品, 需要购买或授权才能使用.

随着Unix变种操作系统的增加,就需要有标准来规范各个变种操作系统,以保证系统之间的兼容性,这样就有了POSIX.

POSIX : Portable Operating System Interface,中文为可移植操作系统接口,为一系列标准的集合,是由IEEE Computer Society定义的以为保证各UNIX操作系统之间的兼容性.

POSIX中定义的标准有:

SUS : Single UNIX Specification, 创建的目的与POSIX类似,都是为了保证Unix系统之间的兼容性. 现在由IEEE和The Open Group共同组成的Austin Group来开发和维护.

Austin Group从POSIX和SUS中定义了一套通用的标准,称为Open Group Base Specification.

Linux是一个基于Linux kernel的类Unix操作系统的统称.

GNU Project是一个关于 free-software , mass-collaboration 的项目,理念是: 用户可以自由的使用,分享,学习和修改软件.

由GNU项目和Linux kernel就可以组成一个类Unix的操作系统:

Linux发行版, 是由Linux kernel加上一些软件组成,不同的组合就构成了不同的发行版. 通常发行版会包括:

比较受欢迎的发行版有: Debian, Fedora, Ubuntu等.

MacOS新的名称为Darwin, 这是Apple发布的类Unix的操作系统, 内核由XNU构成, 而XNU是基于NeXTSTEP和FreeBSD混合开发组成. 架构图如下:

适用于Mac系统的API接口调试应用

Apifox 中文版是一款适用于 Mac 的API接口调试应用。官方介绍 Apifox = Postman + Swagger + Mock。Apifox 可以用于接口文档、接口调试、Mock、自动化测试,可以帮助大大提升开发效率!

软件开发过程中,接口管理、调试、自动化测试是必不可少的,我们经常使用 Postman 等工具来进行接口调试,在接口调试方面 Postman 做的非常出色。但是在整个软件开发过程中,接口调试只是其中的一部分,还有很多事情 Postman 无法完成,或者无法高效完成,比如:接口文档定义、Mock 数据、接口自动化测试等等。而 Apifox 就是为此而生的。

可视化接口管理

支持数据结构(JSON Schema)管理,多接口可复用相同数据结构。

接口调试

Postman 有的功能,比如环境变量、预执行脚本、后执行脚本、Cookie/Session 全局共享 等功能,Apifox 都有,并且和 Postman 一样高效好用。

自动校验数据结构

接口调试时,自动校验返回的数据结构是否符合接口文档定义,一键发现接口数据异常。

接口数据 Mock

内置 Mock.js 规则引擎,非常方便 mock 出各种数据,并且可以在定义数据结构的同时写好 mock 规则。 支持自定义期望,灵活配置根据参数值返回不同数据内容。 零配置即可 Mock 出非常人性化的数据。

自动化测试

完善的接口自动化测试功能,保证接口数据的正确性。 支持自定义脚本,自动化检查数据正确性。自定义脚本语法 100% 兼容 Postman,降低学习成本。

数据导入/导出

支持导出 OpenApi (原Swagger)、Markdown、Html 等数据格式。 支持导入 OpenApi格式(原Swagger)、Postman、HAR、RAP2、yapi、Eolinker、DOClever、ApiPost、Apizza 等数据格式。

在MacOS上使用1024以下端口

MacOS和Linux一样,需要root权限使用低于1024以下端口。因此要在Mac机器上监听80端口或443端口,要么以root用户启动应用,要么使用端口转发。

在Linux系统中可以通过 sudo setcap cap_net_bind_service=+ep app name 来让非root用户使用1024以下端口(app name指要授权监听端口的程序)。

MacOS没有 setcap 命令,所以需要通过端口转发来达到目的。新版的MacOS操作系统使用pf(packet filter)设置端口转发。

⚠️注意,以下示例端口有重复。

示例一:

/etc/pf.anchors/http

示例二:

/etc/pf.anchors/tomcat

示例三:

/etc/pf.anchors/virtualbox

pf启动时会自动装载 /etc/pf.conf 文件,因此将anchor文件链接到 /etc/pf.conf ,转发规则就会自动建立了。 pf.conf 对指令的顺序有严格要求,相同的指令需要放在一起,否则会报错 Rules must be in order: options, normalization, queueing, translation, filtering.

pf默认是关闭的。可以使用以下命令启动pf:

使用 -e 命令启用 pf 服务。使用 -E 命令强制重启 pf 服务:

使用 -d 命令关闭 pf:

修改 LaunchDaemons ( 《了解LaunchDaemons》 )来使 pf 开机自动打开

添加的为-e参数,即enable。 有一点一定要注意,-f和 etc/pf.conf 这两个参数不能被打断,因为-f必须紧跟一个文件参数,所以说添加-e参数时不要打断-f参数,否则开机不会自动启动pf,切记。

如果需要跨接口转发,则需设置系统参数: /etc/sysctl.conf

开机启动配置,需以 root 身份添加或修改 /etc/sysctl.conf 文件,加入以下两行:

开启端口转发之后,即可配置端口转发规则。你可以跟着手册来:


分享题目:关于macos操作系统接口的信息
标题来源:http://myzitong.com/article/dsgsdii.html