mac開發配置技巧

mac開發配置技巧分享給需要的朋友,是實用的一篇文章,有時間可以看看。

mac開發配置技巧

mac系統的權限問題
遇到MacOS sierra系統的/usr下各種root操作出現“Operation not permitted”的問題,關閉 Rootless即可。重啓按住 Command+R,進入恢復模式,打開Terminal:
csrutil disable
重啓即可。如果要恢復默認:
csrutil enable

mac用戶組
OS X 內置會有staff wheel admin這三種常見的用戶組,分別介紹一下

staff : 所有創建用戶都會屬於這個用戶組,提供最基本的對該用戶目錄~/(/User/)的rwx權限,其他的一般只有r或者rx權限。比如我建立一個用戶叫做lizhuoli,那麼我會在一個staff組裏面,對/User/lizhuoli/*有rwx權限。

admin :默認創建的所有用戶也會屬於這個admin用戶組,在它裏面的用戶可以通過 su 或者 sudo 切換到root用戶,只要執行以後輸入這個用戶的密碼即可,而不需要知道root密碼。

wheel :唯一隻擁有一個用戶root,意思是root用戶的專屬用戶組。

結論

蘋果新系統的Rootless防止用戶誤操作,或者防止一些軟件能直接獲取到root權限對系統造成危害。

說白了就是不想讓用戶去碰涉及系統內核的一些東西。把用戶當傻子培養是蘋果一貫策略。

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

想更改也很簡單。重啓,開機按住cmd+r,進入恢復模式的終端。然後使用命令csrutil disable關閉rootless

不過這就多了一份被惡意軟件攻擊的潛在威脅,建議此時打開Mac App Store 和被認可的開發者或者純粹的Mac App Store限制。

不同用戶組下的文件

一個用戶(user)對於一個文件有三種狀態,可讀®、可寫(w)、可執行(x),一個文件會有一個所屬用戶,所屬用戶組。還會有文件屬主權限、同組用戶權限、其他用戶權限這三種標識符用來定義一個文件對一個用戶的權限集合。

爲了達到多個用戶的權限管理,每個用戶會在一個或者多個用戶組(group)中,一個用戶組可以有多個用戶

root用戶是一個特殊用戶(超級用戶),擁有對所有文件的rwx權限(可讀可寫可執行)

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(日誌)。


mac上所有python管理
1.幾個目錄

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 庫名     #更新想要更新的包

以上就是關於mac開發配置技巧,希望對您有所幫助。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章