详解 Xcode 中的 User Script Sandboxing 配置
Xcode 构建脚本的权限管理与沙盒机制配置详解。 User Script Sandboxing 的作用 在 Xcode 的较新版本中,默认开启了 User Script Sandboxing(用户脚本沙盒化)。这一设置旨在提高安全性,控制 Xcode 构建过程中脚本(Run Script Phase)的权限。 默认情况下(设置为 YES),Xcode 会将脚本限制在一个沙盒环境中运行,严格限制其对文件系统的访问。这意味着,如果你的脚本尝试访问或修改未在 Build Phase 的 Input/Output Files 中声明的文件,或者尝试写入项目目录之外的区域,构建往往会失败并报出 Operation not permitted 错误。 为了解决这个问题,特别是对于一些需要广泛文件访问权限的遗留脚本或工具,你可以将 User Script Sandboxing 设置为 NO。这将禁用沙盒限制,允许脚本在构建过程中自由访问和修改文件系统。 如何禁用 User Script Sandboxing 打开 Xcode 项目,在左侧导航栏点击项目根节点(.xcodeproj)。 ...
Linux 配置 SSH 免密登录极速指南
本文介绍如何在 Linux 环境下快速配置 SSH 密钥登录,实现免密码远程连接。 (adsbygoogle = window.adsbygoogle || []).push({}); 1. 生成密钥对首先,在当前主机上生成 RSA 密钥对。 1ssh-keygen -t rsa 执行上述命令后,连续按三次 回车 键(全部使用默认选项:默认路径、空密码)。 完成后,系统会在 ~/.ssh 目录下生成两个文件: id_rsa:私钥(请妥善保管,勿泄露) id_rsa.pub:公钥(用于部署到目标服务器) 你可以通过以下命令查看确认: 1ls -l ~/.ssh/id_rsa* 2. 部署公钥到目标服务器使用 ssh-copy-id 命令将公钥自动添加到目标服务器的信任列表中。请将 root@10.0.0.1 替换为实际的用户名和 IP 地址。 1ssh-copy-id root@10.0.0.1 注意:首次连接时,系统会提示你输入目标服务器的登录密码。 3. 验证连接配置完成后,尝试登录目标服务器: 1ssh root@10.0.0.1 ...
Ubuntu 20.04 安装 MySQL 8.0 及数据迁移避坑指南
本文记录了在 Ubuntu 20.04 系统下安装 MySQL 8.0、进行安全配置以及修改数据存储目录时遇到的权限问题与解决方案。 (adsbygoogle = window.adsbygoogle || []).push({}); 参考来源: CSDN 1. 安装 MySQL 8.0使用 apt 包管理器进行快速安装: 123sudo apt updatesudo apt upgrade -ysudo apt install mysql-server -y 2. 安全初始化安装完成后,执行安全脚本以移除默认的不安全设置(如匿名用户、远程 root 登录等)。 1sudo mysql_secure_installation 按照提示操作,建议: 启用密码强度验证 移除匿名用户 禁止 root 远程登录 移除测试数据库 3. 修改数据存储目录(避坑重点)默认情况下,MySQL 的数据存放在 /var/lib/mysql。如果需要迁移到独立的硬盘(例如 /mysql/data),需要修改配置文件。 3.1 修改配置文件编辑 /e...
MySQL 主从复制与双主双从架构部署指南
本文详细介绍了 MySQL 主从复制(Master-Slave)及双主双从(Master-Master with Slaves)高可用架构的搭建与配置方法。 (adsbygoogle = window.adsbygoogle || []).push({}); 参考来源: CNBlogs 1. 原理概述1.1 主从复制机制将主数据库(Master)的 DDL 和 DML 操作日志记录到二进制日志文件(Binary Log)中。从库(Slave)通过 I/O 线程请求主库的 Binlog,并将其写入到本地的中继日志(Relay Log)中。SQL 线程随后读取 Relay Log 并重放这些操作,从而实现数据同步。 1.2 架构作用 高可用性:主库故障时,可快速切换至从库。 负载均衡:实现读写分离,减轻主库压力。 数据备份:作为实时备份,保障数据安全。 2. 一主一从配置 (Master-Slave)服务器规划 服务器IP 角色 192.168.133.129 Master (主) 192.168.133.130 Slav...
MongoDB 单机安装与副本集集群部署指南
本文详细记录了 MongoDB 在 Linux 环境下的单机安装与副本集(Replica Set)集群部署全流程。 (adsbygoogle = window.adsbygoogle || []).push({}); 1. 下载与安装请根据需求下载对应的 MongoDB 版本。 MongoDB 6.0: 下载链接 MongoDB 5.0: 下载链接 以下以 MongoDB 5.0 为例: 1234567891011121314cd /usr/local/# 下载安装包wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-5.0.23.tgz# 解压并重命名tar -zxvf mongodb-linux-x86_64-rhel70-5.0.23.tgzmv mongodb-linux-x86_64-rhel70-5.0.23 mongodbrm mongodb-linux-x86_64-rhel70-5.0.23.tgz# 创建数据和日志目录cd /data/mkdi...
Linux 环境下 Docker 及 Docker Compose 离线安装指南
本文详细记录了在 Linux 服务器上离线安装 Docker 和 Docker Compose 的步骤。 关注公众号,回复“docker”获取下载地址 (adsbygoogle = window.adsbygoogle || []).push({}); 1. Docker 离线安装1.1 安装二进制文件首先获取离线安装包(例如 docker-24.0.6.tgz),然后解压并移动到系统路径中。 12345# 解压缩tar -zxvf docker-24.0.6.tgz# 将 Docker 二进制文件复制到 /usr/binsudo cp docker/* /usr/bin/ 1.2 配置 Systemd 服务创建 Docker 的 Systemd 服务文件,以便通过 systemctl 管理。 创建文件: 1vi /etc/systemd/system/docker.service 写入以下内容: 12345678910111213141516171819202122[Unit]Description=Docker Application Conta...
MongoDB 常用管理命令速查
本文总结了 MongoDB 日常运维中常用的管理命令,包括用户权限管理等操作。 (adsbygoogle = window.adsbygoogle || []).push({}); 1. 创建用户并分配权限在 MongoDB 中创建用户通常需要切换到对应的数据库。 管理员创建普通用户12345678910111213141516171819// 切换到 admin 数据库进行认证use admindb.auth('admin', 'admin123!@#')// 切换到目标数据库,例如 prd-skyswanuse prd-skyswan// 创建用户并赋予读写权限// user: 用户名// pwd: 密码// roles: 角色列表,readWrite 代表读写权限db.createUser({ user: "prd-skyswan", pwd: "Abc123-=", roles: [{ role: "rea...
Mac/Linux 常用 Zip 命令:分卷压缩与解压加密
在传输大文件或备份数据时,我们经常需要用到分卷压缩(将大文件切分成多个小文件)以及加密压缩的功能。本文总结了 Mac 和 Linux 下 zip 命令的常用技巧。 (adsbygoogle = window.adsbygoogle || []).push({}); 1. 分卷压缩使用 -s 参数指定分卷大小。 1.1 创建新的分卷压缩包12# 将 foo 文件夹压缩,每个分卷大小为 100MBzip -s 100m -r file.zip foo/ -s: 指定每个分卷的大小 (可以使用 k, m, g, t) -r: 递归处理目录 1.2 切分已有的 Zip 文件如果已经有一个大的 zip 文件,想把它切分: 1zip existing.zip --out new.zip -s 50m 执行后会生成如下文件序列: new.zip new.z01 new.z02 … 2. 解压分卷文件解压分卷文件前,通常需要将其“合并”或让解压工具识别主文件。 方式一:合并后解压(推荐)12345# 1. 修复/合并分卷为一个单独的完整...
Mac 上使用 Ollama 本地运行 LLM 指南
本文介绍如何在 Mac(特别是 M 系列芯片)上安装和使用 Ollama,以便在本地流畅运行 Gemma、Llama 3 等大型语言模型。 (adsbygoogle = window.adsbygoogle || []).push({}); 1. 安装 Ollama访问 Ollama 官网下载 macOS 版本进行安装:https://ollama.com/ 2. 常用命令速查2.1 服务管理12# 启动 Ollama 服务 (一般安装后会自动启动)ollama serve 2.2 模型运行与管理123456789101112# 运行模型 (如果模型不存在会自动下载)# 例如运行 Google 的 Gemma 2ollama run gemma2:27b# 从注册表拉取模型 (仅下载不运行)ollama pull llama3# 列出本地所有模型ollama list# 删除模型ollama rm gemma2:27b 2.3 其他操作1234567891011121314# 查看模型详细信息ollama show gemma2:27b# 复制模型 (...
Mac M1/M2 芯片如何拉取 x86_64 架构 Docker 镜像
Mac M 系列芯片(Apple Silicon)采用 ARM64 架构,默认 docker pull 会拉取 linux/arm64 版本的镜像。如果需要运行仅支持 Intel (AMD64/x86_64) 的镜像,或者为了保持与生产环境(Linux x86)一致,需要显式指定平台架构。 (adsbygoogle = window.adsbygoogle || []).push({}); 1. 拉取指定架构镜像使用 --platform 参数来指定拉取 linux/amd64 架构的镜像。 1docker pull --platform=linux/amd64 ubuntu:20.04 注意:运行跨架构镜像(通过 Rosetta 2 转译)可能会比原生 ARM 镜像慢,并且某些涉及底层指令的操作可能会失败。 2. 验证镜像架构拉取完成后,可以通过 docker inspect 命令来确认镜像的架构是否正确。 1docker inspect ubuntu:20.04 | grep Architecture 输出应为: 1"Architec...
