macos日常

macos日常

samba连接慢

  1. 请进入应用程序 > 实用工具打开终端机

  2. 创建空文件 /etc/nsmb.conf

    sudo touch /etc/nsmb.conf

  3. 使用 vi 打开 /etc/nsmb.conf

    sudo vi /etc/nsmb.conf

  4. 通过输入以下内容修改 signing_required 的值:

    [default]
    signing_required=no

为增强安全性,Mac OS X 10.11.5 将默认启用 SMB 客户端签发,从而影响 SMB 文件的传输速度。如果要通过 LAN 执行 SMB 文件传输(出于安全目的,我们建议不要通过 Internet 执行 SMB 文件传输),请进行以下操作以禁用通过 /etc/nsmb.conf 文件从客户端进行 SMB 客户端签发:

系统安装相关

  1. 制作可启动系统u盘
1
2
3
# 1. 在"系统偏好设置"->"软件更新"中下载最新的更新程序
# 2. 进入更新程序,执行如下命令,创建可引导u盘
$ sudo /Applications/Install\ macOS\ Sonoma.app/Contents/Resources/createinstallmedia --volume /Volumes/MyVolume
  1. 制作可启动dmg镜像
1
2
3
4
5
6
7
8
9
# 1. 打开"磁盘工具",选择菜单"文件"->"新建映像"->"空白映像",参数如下:
「存储为」及「名称」设置为 Temp;
「大小」:15 GB;
「格式」:「Mac OS扩展(日志式)」;
「分区」:「单个分区 - Apple 分区图」;
「映像格式」:「读/写」;
# 2. 使用如下命令将安装文件写入映像中:
$ sudo /Applications/Install\ macOS\ Monterey.app/Contents/Resources/createinstallmedia --volume /Volumes/Temp --nointeraction
# 3. 在"磁盘工具"菜单栏中,选择"映像"->"转换..", 选择刚才的dmg文件,将刚才的dmg映像文件转换为压缩格式;

只读

首先说一下这是因为苹果新系统升级了根目录的文件权限,变成只读了,这么做对用户来说是友好的,但是对我们开发人员来说简直就是灾难,好多原来的项目都不能运行了。

解决的办法是:

  1. 关掉SIP(系统安全保护)
  2. 重新挂载根目录
  3. 重新启动项目

关掉SIP需要重新启动按住 Command + R 进入 macOS 恢复系统,在实用工具里面点击终端,加上下面这一句代码按下会车,看见successfully...之后重新启动

1
2
csrutil disable
sudo mount -uw /   #重新挂载根目录需要在终端输入下面这句代码

最后就可以在根目录创建文件夹了

1
sudo mkdir -p /data/db

alfred 文件重复

首先,系统中并不存在两个重复的应用。数据卷 Macintosh HD Data 负责第三方应用的安装,所以 System/volumes/Macintosh/Applications 才是应用的真实目录,而 Macintosh HD/Applications 只是它的 firmlink。解决办法也很简单,在 Alfred 中输入 reload 命令,Alfred 就会恢复正常。

调整Launchpad 启动台

1
2
3
4
$ defaults write com.apple.dock springboard-columns -int 9
$ defaults write com.apple.dock springboard-rows -int 6
$ defaults write com.apple.dock ResetLaunchPad -bool TRUE
$ killall Dock

允许网页下载软件启动

1
2
3
4
5
# macosx 10.15
$ sudo xattr -r -d com.apple.quarantine </Applications/APPNAME.app/>

# macosx 10.13, 开启任何来源
$ sudo spctl --master-disable  

clang path

1
$ clang -E -x c++ - -v < /dev/null

mdworker_shared占用cpu

1
2
3
4
## 这几个进程都是为了Spotlight索引而疯狂的,解决方案:
$ sudo mdutil -a -i off
## 打开
$ sudo mdutil -a -i on

收集macos系统信息

1
2
3
4
5
6
log show --info --debug --last 1m --predicate "(subsystem == 'com.apple.processmanager') || (subsystem == 'com.apple.launchservices')"
launchctl list | grep -v com.apple
sudo launchctl list | grep -v com.apple
launchctl print system | grep -v com.apple
sudo launchctl print user/`whoami` | grep -v com.apple
kextstat | grep -v com.apple
  • 允许网页下载软件启动
1
2
3
4
5
# macosx 10.15
$ sudo xattr -r -d com.apple.quarantine </Applications/APPNAME.app/>

# macosx 10.13, 开启任何来源
$ sudo spctl --master-disable  
  • 调整Launchpad 启动台
1
2
3
4
$ defaults write com.apple.dock springboard-columns -int 9
$ defaults write com.apple.dock springboard-rows -int 6
$ defaults write com.apple.dock ResetLaunchPad -bool TRUE
$ killall Dock
  • too many openfiles
1
2
## 修改limit限制
sudo launchctl limit maxfiles 1024 unlimited
  • 移动硬盘文件显示灰色
1
/usr/local/bin/xattr -c <filename>
  • .DS_store
1
2
3
4
5
## 关闭.DS_store生成
defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool TRUE

## 恢复.DS_store生成
defaults delete com.apple.desktopservices DSDontWriteNetworkStores
  • macos卷只读变可写
1
2
## ln: Headers: Read-only file system
[]$ sudo mount -uw /
  • "stdlib.h" not found
1
sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include /usr/include

OpenCore-Patcher

GamePortingToolkit

参考

  1. https://divineengine.net/article/creating-a-bootable-mac-installer-image/
updatedupdated2024-05-102024-05-10