mac开发配置技巧

此文档记录mac一些操作技巧,提升开发效率

mac系统的权限问题

遇到MacOS sierra系统的/usr下各种root操作出现“Operation not permitted”的问题,关闭 Rootless即可。重启按住 Command+R,进入恢复模式,打开Terminal:

csrutil disable

重启即可。如果要恢复默认:

csrutil enable

mac用户组

OS X 内置会有staff wheel admin这三种常见的用户组,分别介绍一下

  1. staff : 所有创建用户都会属于这个用户组,提供最基本的对该用户目录~/(/User/)的rwx权限,其他的一般只有r或者rx权限。比如我建立一个用户叫做lizhuoli,那么我会在一个staff组里面,对/User/lizhuoli/*有rwx权限。

  2. admin :默认创建的所有用户也会属于这个admin用户组,在它里面的用户可以通过 su 或者 sudo 切换到root用户,只要执行以后输入这个用户的密码即可,而不需要知道root密码。

  3. wheel :唯一只拥有一个用户root,意思是root用户的专属用户组。

结论

苹果新系统的Rootless防止用户误操作,或者防止一些软件能直接获取到root权限对系统造成危害。

说白了就是不想让用户去碰涉及系统内核的一些东西。把用户当傻子培养是苹果一贯策略。

sudo和su到root权限都不能对一些文件造成更改了。

想更改也很简单。重启,开机按住cmd+r,进入恢复模式的终端。然后使用命令csrutil disable关闭rootless

不过这就多了一份被恶意软件攻击的潜在威胁,建议此时打开Mac App Store 和被认可的开发者或者纯粹的Mac App Store限制。

不同用户组下的文件

  1. 一个用户(user)对于一个文件有三种状态,可读(r)、可写(w)、可执行(x),一个文件会有一个所属用户,所属用户组。还会有文件属主权限、同组用户权限、其他用户权限这三种标识符用来定义一个文件对一个用户的权限集合。

  2. 为了达到多个用户的权限管理,每个用户会在一个或者多个用户组(group)中,一个用户组可以有多个用户

  3. root用户是一个特殊用户(超级用户),拥有对所有文件的rwx权限(可读可写可执行)

  4. UNIX系统是纯粹基于文件的,换言之你的网络读取,驱动程序,分区表什么的其实都会以文件的形式存在

mac硬盘分区相关

MS-DOS(FAT)格式,可以共同兼容Mac OS系统和Windows系统的读写,但单个文件不能大于4GB,适合在 Mac 和 PC 之间共享文件。

NTFS 格式,在 Mac 上只读——注意是只读。而且在 Mac 上也不能将硬盘格式化为 NTFS。但是在 MS-DOS(FAT) 式下无法存储的 >4GB 的文件可以在此存储,适合存放高清电影和大型软件。

exFAT文件系统也能共同兼容Mac OS系统和Windows系统,但是,exFAT作为FAT32的升级版,目前还不太稳定,如果文件系统不够稳定,就存在着分区表丢失,数据丢失等隐患,建议大家谨慎使用。

将一个硬盘分为3个分区,一个区专门做Time Machine的备份:格式是MAC OS(日志);一个区做成与Windows系统兼容的MS-DOS(FAT)格式,方便倒存共享数据(但是由于经常数据大于4g所以我不用这个,我还是用ntfs,然后用第三方应用来读写即可,如paragon ntfs for mac);最后一个区域是Mac专属的数据存放区域,存储我的图片和音乐、视频等Mac常用的重要数据:格式:MAC OS(日志)。

分区名:macTimeMachine、mac、win

mac上所有python管理

1.几个目录

来源 python安装路径
系统默认 /System/Library/Frameworks/Python.framework/Versions/2.7
brew安装 /usr/local/Cellar
anaconda /anaconda3/bin/
官网pkg安装 /Library/Frameworks/Python.framework/Versions/2.7

2.现存mac上的所有python及pip路径

python:

/usr/bin下mac自带python: /usr/bin/python
/usr/bin下mac自带python2.7: /usr/bin/python2.7
/usr/local/bin下python3: /usr/local/bin/python3
/usr/local/bin下python3.6: /usr/local/bin/python3.6
conda下python3: /anaconda3/bin/python3
conda下python3.6: /anaconda3/bin/python3.6
conda下虚拟环境python2.7: /anaconda3/envs/tensorflow11027/bin/
conda下虚拟环境python3.6: /anaconda3/envs/python3/bin/

pip:(pip安装的包路径在相应目录下的lib/site-packages中):

/usr/local/bin下pip3: /usr/local/bin/pip3
/usr/local/bin下pip3.6: /usr/local/bin/pip3.6
conda下pip: /anaconda3/envs/tensorflow11027/bin/pip
conda下pip2: /anaconda3/envs/tensorflow11027/bin/pip2
conda下pip2.7: /anaconda3/envs/tensorflow11027/bin/pip2.7
conda下虚拟环境pip2:/anaconda3/envs/tensorflow11027/bin/pip2
conda下虚拟环境pip3:/anaconda3/envs/tensorflow11027/bin/pip

3.以上这么多python版本和路径,用conda的虚拟环境进行2与3的切换

这个问题即如何更改默认的Anaconda python环境?通过修改/.bashrc或/.bash_profile即可,只要把默认的python、pip路径设置好,版本也就定了,安装包的路径也就在相应的lib下,并且conda的虚拟环境也可以任意更改删除,便于管理。

将默认的conda root环境
# added by Anaconda3 5.1.0 installer
#export PATH="/anaconda3/bin:$PATH"

更改为以conda创建的虚拟环境,这里创建的环境为基于python2.7的tensorflow11027
# set python3 as default
export PATH="/anaconda3/envs/tensorflow11027/bin:$PATH"
更改之后pip也在相应的tensorflow11027环境中,pip安装包的路径也在这里,很好管理

###4.pip包安装与卸载

安装pycurl包
pip install pycurl

列出已经安装的python包
pip list

输出pycurl包的信息
pip show pycurl

卸载pycurl包
pip uninstall pycurl

更新过期的包:
pip list --outdated     #列出所有过期的库
pip install --upgrade 库名     #更新想要更新的包

###5.pip安装使用国内源

通过几次pip的使用,对于默认的pip源的速度实在无法忍受,于是便搜集了一些国内的pip源,如下:

阿里云 http://mirrors.aliyun.com/pypi/simple/

中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/ 

豆瓣 http://pypi.douban.com/simple/ 

清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/

中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/

使用方法很简单,直接 -i 加 url 即可!如下:

pip install web.py -i http://pypi.douban.com/simple

如果有报错,请使用命令:

pip install web.py -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

如果想配置成默认的源,需要创建或修改配置文件(一般都是创建),linux的文件在~/.pip/pip.conf,修改内容为:

[global]
index-url = http://pypi.douban.com/simple
[install]
trusted-host=pypi.douban.com

欢迎转载,欢迎错误指正与技术交流,欢迎交友谈心

文章标题:mac开发配置技巧

文章字数:1.7k

本文作者:Brain Cao

发布时间:2018-03-21, 16:49:52

最后更新:2020-03-12, 21:12:15

原始链接:https://braincao.cn/2018/03/21/mac-tricks/

版权声明:本文为博主原创文章,遵循 BY-NC-SA 4.0 版权协议,转载请保留原文链接与作者。

目录
×

喜欢请收藏,疼爱就打赏