在 M1 芯片 Mac 上使用 Homebrew

Homebrew 官方已经release 3.0的版本支持 M1 芯片啦 !!!

命令就直接是官网的readme,亲测有效

export HOMEBREW_BREW_GIT_REMOTE="..."  # put your Git mirror of Homebrew/brew here
export HOMEBREW_CORE_GIT_REMOTE="..."  # put your Git mirror of Homebrew/homebrew-core here
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

如果在内地,且也只想更新用中科大的源,直接cp我下面的脚本即可!

export HOMEBREW_BREW_GIT_REMOTE="https://mirrors.ustc.edu.cn/brew.git"
export HOMEBREW_CORE_GIT_REMOTE="https://mirrors.ustc.edu.cn/homebrew-core.git"
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

如果想卸载之前按照教程安装的非原生M1 homebrew

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall.sh)"

确认是否卸载干净 : 最后可以确认下 /opt/Homebrew目录 和 /usr/local/Homebrew 是否还在

/opt/Homebrew应该是直接按照教程自己make出来的目录,/usr/local/Homebrew 应该是3.0版本直接借助官方命令安装homebrew后存储的位置。

安装 ARM 版 Homebrew

ARMHomebrew需要安装在/opt/homebrew路径下,早期的时候需要手动创建目录执行命令,目前使用最新脚本不需要手动操作。

直接执行:

/bin/bash -c "$(curl -fsSL https://cdn.jsdelivr.net/gh/ineo6/homebrew-install/install.sh)"

然后还需设置环境变量,具体操作步骤如下,一定要仔细阅读。

PS: 终端类型根据执行命令

echo $SHELL

 

显示的结果:

  • /bin/bash => bash => .bash_profile
  • /bin/zsh => zsh => .zprofile

如果遇到环境变量无效问题,建议回过头来查看终端类型,再做正确的设置。

macOS Catalina(10.15.x) 版开始,Mac使用zsh作为默认Shell,使用.zprofile,所以对应命令:

echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile 
eval "$(/opt/homebrew/bin/brew shellenv)"

如果是macOS Mojave 及更低版本,并且没有自己配置过zsh,使用.bash_profile

echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.bash_profile 
eval "$(/opt/homebrew/bin/brew shellenv)"

Linux 自动删除日志文件(N天或特定日期)

查看Linux系统日志文件
对于Linux 下APACHE服务器里,系统会产生访问时的日志文件,错误访问日志文件,MySQL数据库服务也会产生相应的日志文件, 大多数Linux系统的默认系统日志文件都会放在/var/log/目录下,通过下执行下面的命令来查看Linux系统的日志文件:
#ls /var/log/*
命令输出如下:

root@devops:~# ls /var/log/*
alternatives.log bootstrap.log gpu-manager.log syslog.2.gz
alternatives.log.1 btmp installer syslog.3.gz
……
Linux系统下自动删除日志文件的方法
首先我们要查找到你要删除的N天生成日志文件,之后再通过Linux rm命令删除日志文件。 之前我们已经介绍过Linux如何根据文件日期删除文件的方法,所以我们现在只需要在该方法的基础上,实现如何自动删除就可以了。我们可通过Linux下的定时任务命令crontab来实现特定日期日志文件的自动删除。
实例:Linux 下自动删除5天前更改或生成的系统日志文件,参照下面的几个步骤,
1# 确定删除特定日期的日志文件的命令,可以使用下面的命令

find /var/log/ -mtime +5 -name message* -exec rm -rf {} \;
该命令解释如下:

find 是Linux下的查找文件命令
/var/log/ 是指定要查找的文件路径
-mtime 是find 命令下参数,用来指定find命令要根据文件的更改日期来进行查找
+5 是指查找五天前生成或更改过的所有文件(如果是-5, 是指查找五天内生成或更改过的文件)
-name 是指定要查找的文件的模式匹配
-exec 是指当find查找到文件后,要执行的动作。比如删除操作
rm -rf 是指要删除查找到的文件
2# 创建shell脚本文件,将上面的命令加入到脚本里,方便以后调用
执行下面命令:

#vi autoDeleteLog.sh
输入下面的脚本内容:

#!/bin/bash
find /var/log/ -mtime +5 -name message* -exec rm -rf {} \;
保存退出。
3# 为脚本文件增加可执行权限
执行下面命令:

#chmod u+x autoDeleteLog.sh
4# 定制计划任务,自动执行autoDeleteLog.sh 脚本
执行命令:
#crontab -e
输入下面的内容:

00 02 * * * /root/autoDeleteLog.sh >/dev/null 2>&1
这样在每天的凌晨2点钟的时候,系统会自动执行日志删除脚本对过期的日志文件进行删除操作。
4# 查看定制的计划任务
执行命令如下:

#crontab -l
如果要自动删除特定目录下特定日期的归档文件,只需要将第二步中删除日志文件的命令换成下面的命令:

find /var/log/ -mtime +5 -name *.tgz -exec rm -rf {} \;
如果需要自动删除特定日期的Nginx服务器的日志文件,可以执行下面的脚本,并按照上面的方法,将其通过crontab命令加到系统的计划任务里即可。

#!/bin/bash
find /usr/local/nginx/logs -mtime +5 -type f -name *.log | xargs rm -f

Proxmox VE(PVE)虚拟机安装黑群晖

一.搭建环境:

Proxmox Virtual Environment 6.1-3

二.需要用到的文件:

1.黑群晖引导文件: DS3615xs_v1.03_6.2 的启动文件 synoboot.img / DS3617xs_v1.03_6.2的启动文件 synoboot.img均进行了验证,都可以正常启动,文件放在下方供下载。

2.群晖系统文件DSM_DS3615xs_23739.pat / DSM_DS3617xs_23739.pat,文件放在下方供下载,也可以去群晖官网下载: https://archive.synology.com/download/DSM/release/6.2/23739/ 。

留意:一定要下载结尾为_23739.pat的文件,且设备型号一定要和启动文件一致,其他版本文件会导致无法启动。

3.WinSCP(这个自己去下载一个吧,百度搜索一下)

所需文件下载链接: https://pan.baidu.com/s/1wdqyoF_TGgVMrIDIOHuZxQ 提取码: taxj

三.环境创建:

1.点击PVE管理界面右上角的“创建虚拟机”

2.节点:使用默认。VM ID:自行设置,可以为100,101,102等,根据自己的情况设置,后面要用到这个ID号。名称:根据需要自行设置(不能为中文)。勾上“高级”,勾上“开机自启动”。点击“下一步”

3.操作系统选择“Linux”。版本选择“4.X/3.X/2.6 Kernel”。访客OS:选择“不适用任何介质”。点击“下一步”

4.系统界面,全部即可,点击“下一步”

5.硬盘界面,随便设置,可以全部使用默认,之后会删除的,点击“下一步”

6.CPU按照实际情况选择,一般选择sockets:1 。核:选择根据你自己CPU来选择,可以是1,2,3,4等,如果你CPU强大,可以多选一点。其他全部默认即可。点击“下一步”

7.内存大小设置,也是根据实际情况选择,如果要用群晖挂PT,挂Emby,挂vedio station,需要多分一些内存,需求少的话一般2G内存够了。其他选项默认。点击“下一步”

8.桥接:选择vmbr0 。网络模型:选择“intel E1000”。点击“下一步”

9. 确认配置,直接点击“完成”

10.删除硬盘,选择“DSM” –> “硬件”,找到硬盘,选中点击“分离”

11、硬盘分离后,选中未使用的磁盘0,点击“删除”

四、硬盘设置

1、使用WinSCP(自己去百度上搜索下载一个吧,不放链接了)登陆PVE,文件协议选择:SFTP,主机名:你PVE的IP地址,端口号:22,用户名:root ,密码:PVE的登陆密码。把解压出来的synoboot.img上传到根目录

2.把解压出来的synoboot.img上传到根目录(正常默认好像不是根目录,一般需要点击那个向上的箭头,点到无法后退为止,就退到根目录了)

3、img磁盘转换,选择Shell,输入qm importdisk 101 /synoboot.img local-lvm 会看到vm-101-disk-0正在创建

101是虚拟机编号,synoboot.img是刚才上传的引导镜像,如果你的VM ID是100,就把101改成100,如果是102,就把101改成102,根据你的实际情况来调整。

4、添加磁盘。进入群晖虚拟机硬件设置,这时候硬件中会出现一个“未使用的磁盘0”,选中它,点击“编辑”

5、总线/设备选择:“SATA”和 “0” ,磁盘镜像选择 “vm-101-disk-0″,点击:添加。

这一步是将我们的启动文件挂载给虚拟机,相当于我们实体机安装时候的那个启动U盘插到电脑上。

6、接下来我们修改一下引导顺序,使虚拟机在启动的时候,从我们的启动盘开始。点击群晖虚拟机—选项—引导顺序–编辑,将“引导设备1”改为:Disk ‘sata0’

7、然后我们要添加一块系统盘,点击“硬件”,添加“添加”下拉菜单中的“硬盘”,总线/设备选择SATA和1,存储选择local-vm,磁盘大小根据你的实际需要来设置,一般16G,32G,64G看你硬盘大小。数据盘我们后面还可以继续往上面挂载。

设置好后,点击:添加

需要挂载第二块硬盘的话,后面数字会变成2

五、群晖安装

1、启动DSM虚拟机。会在控制台中看到如下界面,一般代表虚拟机已经启动:

2、内网访问网页http://find.synology.com,找到未配置的群晖 。

注意点:1.一定要在内网才能找到,如果是你自己的电脑和虚拟机不在同一个局域网,需要直接输入IP:5000进行访问。2.群晖和PVE不是同一个IP,建议使用DHCP自动分配IP给它。

3、用户协议,勾上已阅读,确定。

4、点击“设置”,如果系统盘有信息,会显示“还原”

5、点击“手动安装”,选择从官网下载的DSM_DS3617xs_23739.pat,点击立即安装

6、会提示硬盘1、2数据会被删除,1是引导盘,2是系统盘

7、等待安装完成,总过程大概需要10几分钟。

8、进入设置界面,接下来就是按提示自己设置一下用户名密码什么的

这里一定要选“下载DSM更新并进行手动安装”,不然系统自动更新后,大概率就启动不了。其他自行选择,然后“下一步”

9.到这里点击“跳过此步骤”就好,QuickConnect是给正版穿透用的,黑群晖是用不了这个东西的,我们想要内网穿透用ZeroTier One,frp或是花生壳、蒲公英什么的就好,这里不展开说了,后面在其他文里介绍。

10.OK,安装基本结束。

设备分析可以跳过

12.贴一张桌面图。OK,大功告成。

https://www.10bests.com/install-synology-dsm-on-pve/
https://www.cnblogs.com/nikexu/p/12532025.html

Proxmox VE使用LVM新硬盘(多硬盘)

PVE 添加硬盘
PVE 提供 Web 界面可以完成大部分的操作。但使用阵列卡,如 Dell 的 PERC 阵列卡等,在 Web 界面并不能直接完成添加硬盘和创建 LVM 卷的操作。

以下为以 Dell PERC 阵列卡挂载新硬盘为例,介绍如何为 PVE 添加新硬盘。

阵列卡添加硬盘
使用阵列卡,添加硬盘需要先在开机(或根据不同的阵列卡操作)进行挂载。 完成挂载后,在系统中查看新硬盘是否已成功挂载。

fdisk -l
如果能看到新挂载的硬盘,就证明硬盘硬件已经安装完成。

LVM 相关操作
给新硬盘创建分区

# 假定新硬盘为 sdx 根据上面 fdisk -l 结果根据实际情况修改
fdisk /dev/sdx
n # 创建新分区
p # 创建为主分区
1 # 选择一个默认分区
t # 更改分区类型选择
L # 列出可选所有分区类型
8e # 选择 Linux LVM 类型
w # 保存
创建 LVM 物理卷(PV)

# 上述操作创建分区后 fdisk -l 可以看到一个 sdx1 的分区
pvcreate /dev/sdx1
创建新的 LVM 卷组 (VG)

# 可命名为需要的卷组名
vgcreate /dev/sdx1
# 查看卷组
vgs
vgdisplay
不创建新 LVM 卷组,添加新物理卷至已有卷组

# 假定以后卷组 vg_group
vgextend vg_group /dev/sdx1
PVE Web 管理界面添加存储
到这里,我们可以在 PVE Web 界面上 节点 – 磁盘 上看到新的硬盘。

接下来,进入 数据中心 界面

选择 存储

点击 添加 – LVM

根据需要填写 ID 选择 卷组 后,点击 添加 即可。

随后边可以在节点下看到刚刚新添加的存储,以后便可以在创建新虚拟机或者在原有虚拟机下选择这块新加入硬盘的存储了。

在虚拟机中添加SCSI格式的磁盘做PV时出现如下报错:

root@host1:~# pvcreate /dev/sdb
Device /dev/sdb excluded by a filter.
导致问题的原因是添加的磁盘是在另一个虚拟机中新建的,已经有了分区表,现在的虚拟机并不能识别磁盘的分区表,运行parted命令重做分区表,中途需要输入三次命令。

apt install parted

root@host1:~# parted /dev/sdb
GNU Parted 3.2
Using /dev/sdb
Welcome to GNU Parted! Type ‘help’ to view a list of commands.
(parted) mklabel msdos
Warning: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost. Do you want to continue?
Yes/No? yes
(parted) quit
Information: You may need to update /etc/fstab.
再次运行pvcreate,问是否擦除dos签名,输入y,就可以将磁盘创建为PV了。

root@host1:~# pvcreate /dev/sdb
WARNING: dos signature detected on /dev/sdb at offset 510. Wipe it? [y/n]: y
Wiping dos signature on /dev/sdb.
Physical volume “/dev/sdb” successfully created.

群晖命令行

synoservicectl –reload sshd
synoservicectl –restart sshd
synoservicectl –restart network
输入synoservicecfg –list
linux的 systemctl 或者systemctl命令在在群晖dsm的是不管用的,群晖的命令需要加上 syno 才可以。
类似:
synoservice synoservicecfg –list
synoservice –restart pkgctl-Docker
在DSM的 “套件中心” 安装的软件包都是以pkgctl-为前缀来命名的,比如Docker,DSM启用或者停用一个插件有多麻烦就不多说了。

PM2 常用命令

$ pm2 start app.js # 启动app.js应用程序
$ pm2 start app.js -i 4 # cluster mode 模式启动4个app.js的应用实例
# 4个应用程序会自动进行负载均衡
$ pm2 start app.js –name=”api” # 启动应用程序并命名为 “api”
$ pm2 start app.js –watch # 当文件变化时自动重启应用
$ pm2 start script.sh # 启动 bash 脚本

$ pm2 list # 列表 PM2 启动的所有的应用程序
$ pm2 monit # 显示每个应用程序的CPU和内存占用情况
$ pm2 show [app-name] # 显示应用程序的所有信息

$ pm2 logs # 显示所有应用程序的日志
$ pm2 logs [app-name] # 显示指定应用程序的日志
pm2 flush

$ pm2 stop all # 停止所有的应用程序
$ pm2 stop 0 # 停止 id为 0的指定应用程序
$ pm2 restart all # 重启所有应用
$ pm2 reload all # 重启 cluster mode下的所有应用
$ pm2 gracefulReload all # Graceful reload all apps in cluster mode
$ pm2 delete all # 关闭并删除所有应用
$ pm2 delete 0 # 删除指定应用 id 0
$ pm2 scale api 10 # 把名字叫api的应用扩展到10个实例
$ pm2 reset [app-name] # 重置重启数量

$ pm2 startup # 创建开机自启动命令
$ pm2 save # 保存当前应用列表
$ pm2 resurrect # 重新加载保存的应用列表
$ pm2 update # Save processes, kill PM2 and restore processes
$ pm2 generate # Generate a sample json configuration file
pm2 start app.js –node-args=”–max-old-space-size=1024″

Proxmox VE 安装macOS

Proxmox VE 6.2安装macOS 10.15及GPU穿通方案

https://zhuanlan.zhihu.com/p/240710958

 

Proxmox 6.2 安装黑苹果macOS 10.15.5(clover、opencore双引导)

Proxmox 6.2 安装黑苹果macOS 10.15.5(clover、opencore双引导)

Proxmox 6安装macOS Catalina 10.15速成教程

https://post.smzdm.com/p/a4wm2mdk/

 

https://pan.baidu.com/s/1irs8PsEdWAACZdYwxl1-dQ#list/path=%2F&parentPath=%2Fsharelink1216756133-966050132709506

链接:https://pan.baidu.com/s/1f9lppZUr_Jq6qgiCXyoJ6A  密码:cvzw