今天主要是通过localGPT这个开源框架,使用我家闲置的Mac Mini使用LLAMA-CPP模型,私有化部署并分析本地文档。
1 |
|
1 |
|
localGPT
的虚拟环境1 |
|
1 |
|
LLAMA-CPP
:比如我是Mac Mini(M2芯片)
1 |
|
至此已经安装完成。
如果你希望修改想要的模型,就可以打开constants.py
文件:
比如我换了一个模型:
通过执行,以下代码来提取默认的SOURCE_DOCUMENA
目录下的所有文件内容:
1 |
|
你可以将你想要提取的文件放在该目录下,然后重新提取。
1 |
|
执行后就可以在Terminal中直接询问了:
为什么要玩Arch Linux?这是我近期加入一些社团后一个主要的矛盾,因为对比Ubuntu,Debian,CentOS等Linux系统来说,各类场景覆盖还不够用吗?直到我深入了解才发现主要是几个原因,这些点也是说服了我去试试这个系统:
可以参考这篇文章。
可以参考这篇文章。
更新系统
1 |
|
安装帮助文档
1 |
|
安装基础编译工具
1 |
|
安装oh-my-zsh
1 |
|
安装编辑器,用于一会儿visudo
要用到的编辑器:
1 |
|
添加用户
1 |
|
配置远程ssh访问
1 |
|
然后在 ~/.ssh/authrozied_keys
中添加你的public key,然后禁用密码登录。
AUR软件管理,可以用yay来辅助安装,直接参照里面的教程就行了。
TLP用于电量管理(非常有用,会根据CPU等特性进行省电管理):
1 |
|
火狐浏览器
1 |
|
1 |
|
中文字体
1 |
|
终端
1 |
|
图形服务:
1 |
|
deepin主题
1 |
|
需要注意的是deepin中的pdfium
与deepin-extra中的render
是有一些冲突的,建议是先安装deepin,如上面的指令,安装以后,然后再通过sudo pacman -S deepin-extra
然后选择一些要安装的,比如我就选择了terminal啊之类的安装了。(下面的截图里面的21我独立安装了,其他是后面再进行了一次性安装)
确定是否已经有lightdm
服务
1 |
|
比如启用deepin:
1 |
|
然后编辑下一面这行greeter-session
:
启用桌面
1 |
|
可参考该教程
1 |
|
安装后启用服务
1 |
|
关机
1 |
|
开机,进入系统。
比较方便是每次都是通过源码直接编译,在config.h
中配置
1 |
|
在安装完后,我们会发现自动已经在/usr/share/xsessions
目录下添加了dwm.desktop
文件了。
我这里以我使用sddm管理登录引导+原本是kde plasma的session为案例。需要切换到dwm,可以在开机的时候选择,当然也可以参考SDDM说明直接修改/etc/sddm.conf.d/kde_settings.conf
文件:
1 |
|
xinit
来启动不过这里要留意,由于后面我们有较多需要做开机启动执行的,为了方便,这里推荐使用xinit-xsession
,这样就可以后面直接在~/.xinitrc
中配置被执行,具体如下:
先安装x11
与xinit-xsession
1 |
|
将sddm的session配置为xinit
的,打开/etc/sddm.conf.d/kde_settings.conf
文件,编辑为:
1 |
|
~/.xinitrc
的最后加上:1 |
|
其他不变,重启即可生效。
更新,直接更新仓库,重新执行sudo make install
编译安装后就完成更新,重启下dwm就生效了。
安装
1 |
|
可以在这里找到关于alacritty
的配色 alacritty themes
从 /usr/share/doc/alacritty/example/alacritty.yml
拷贝一份到~/.config/alacritty/alacritty.yml
作为配置文件,然后找到自己喜欢的配色,修改里面关于color的部分
修改dwm中启动终端的快捷键
1 |
|
关于rofi
的主题,可以在这个网站中找到 rofi theme
1 |
|
这里以misc里面的simple_kde主题为例, 在~/.config/rofi/launcher/misc
中有launcher.sh
,找到最后一行
1 |
|
将这行写入dwm的配置文件中,修改最后的路径为对应的.rasi
文件
1 |
|
参考官方教程:
1 |
|
音箱声音
1 |
|
1 |
|
安装node
1 |
|
在.zshrc
中添加
1 |
|
然后继续各类安装
1 |
|
可以考虑直接用这个作者的dwm配置:
1 |
|
可以考虑直接用这个作者的dwm配置:
1 |
|
.config
: 可以直接参考这个scripts
: theniceboy/scripts: useful scriptsauto_start
可以参考下,包含了背景设置等:fengdongfa1995/dotfiles1 |
|
1 |
|
可以打开浏览器访问必应首页,把它的每日一图下载下来当壁纸。图片下载完成以后,进入图片下载目录,使用feh --bg-fill <filename>
将该图片设置为壁纸。下次登录的时候,设置好的壁纸又会失效,需要在~/.xinitrc
当中添加一行,使其在启动图形界面后自动设置壁纸。
1 |
|
1 |
|
使用vim打开~/.bash_profile
,在最后添上:
1 |
|
然后在~/.xinitrc
当中的exec dwm
的前面加上:
1 |
|
加上了这句,才会在启动X窗口时在后台运行fcitx5
。
打开fcitx5-configtool
,将Pinyin
添加到输入法列表当中,可能需要去除仅显示当前语言的勾选项(Only Show Current Language)。然后还可以调整激活输入法、切换输入法的快捷方式等等。
获取更多词库和颜色主题,词库会自动应用,但是颜色主题需要在fcitx5-configtool
当中配置一下才会生效:
1 |
|
1 |
|
参考官方教程
1 |
|
注意防火墙配置,我们以:1
的session为案例:
1 |
|
配置访问的密码,直接输入vncpasswd
后进行设置即可,然后可以配置访问时用的用户,可以直接编辑/etc/tigervnc/vncserver.users
来进行映射,如添加:1
session的用户为`jacks:
1 |
|
配置session,这里我配置使用的是xinitrc
的session,编辑~/.vnc/config
添加如下:
1 |
|
启动:1
session的服务:
1 |
|
此时就可以远程访问了。
当出现failed to synchronize all databases ( unable to lock database)
错误时,通常是之前安装过程中出现错误,没有有效的清理缓存,可以通过如下方式解决
1 |
|
或者是
1 |
|
写在所有分析,并且允许忙碌
1 |
|
当运行软件出现问题的时候可以通过直接执行对应指令来检查,比如:
我之前运行sudo systemctl start NetworkManager.service
一直报失败原因也不清晰,后来执行了sudo /usr/bin/NetworkManager --no-daemon
看到具体输出才知道原来是我之前在/etc/NetworkManager/NetworkManager.conf
里面的一个配置是错误的,去掉就可以了。
如果引导出现错误,启动不了系统,可以考虑通过安装盘进入,将引导的efi
挂载到/mnt
中,然后执行:
1 |
|
1 |
|
1 |
|
archlinux关闭自动休眠方法(这里mask的作用可以参考这个说明):
1 |
|
如果是笔记本还要防止盖下盖子时被休眠,编辑/etc/systemd/logind.conf
文件,修改下面几行:
1 |
|
这里需要留意的是几个关键词的定义: ignore
无任何操作,poweroff
关机,suspend
休眠。
1 |
|
1 |
|
近期看了比较多Arch Linux的文章,刚开始是在一台Nas的主机上做的arch Linux的尝试,因此做了记录。
下载: 打开官网,提供了多种下载方式,建议使用种子或者磁力下载:
至少30G
host类型cpu
至少4096MiB
最后确认
安装到/dev/sda1
1 |
|
安装完成后会提示:
root
1 |
|
其他配置
1 |
|
1 |
|
家里刚好有一台2019年的macbook pro,这台intel的macbook 在多数情况下已经是有点卡了,最近在网上看了比较多的arch linux的资料,想着放着也没用因此就开动搞搞。
先在Macbook中使用磁盘工具创建一个分区,这个分区后面会给到ArchLinux使用:
选择分区:
选择创建分区:
设置想要的大小,然后点击完成等待创建完成。
可以直接参考这里
diskutil list
来查看插入的U盘名称,假设是/dev/disk2
path/to/linux.iso
目录)1 |
|
在执行过程中可以按ctrl+T
来查看进度。
参考这个教程
由于这块的驱动Linux与Mac系统是共用的,因此这里我们直接创建一个分区并且拷贝这个引导,便于一会儿使用。
下载这个脚本执行即可。后面安装ArchLinux时候会用到。
参照这里
禁用安全启动。 Apple 的安全启动实现在启用时不允许启动除 macOS 或 Windows 之外的任何系统(甚至不允许启动 shim 签名的 GRUB)。我们需要禁用它:
Command-R
直到黑屏闪烁,Mac 将在 macOS 恢复模式下启动option
按键,并且开启,使Mac进入启动引导管理页面1 |
|
这里需要注意的是这里是抹除了整个macos,如果不希望抹掉macos,可以参考该教程
具体的fdisk
操作不懂的可以可以直接参考这个作者: Macbook Pro安装arch linux - 知乎(当然也可以考虑使用cfdisk
,这个更可视化些),如下图:
分区写入后,进行格式化:
1 |
|
然后进行挂载操作:
1 |
|
通过fdisk -l
查看有一个分区是就几百兆的efi,我们假设叫/dev/nvme0n1p1
,那么执行:
1 |
|
检查是否正常恢复:
1 |
|
此时如果输出类似的说明成功:
1 |
|
连接wifi,参考iwctl的教程:
1 |
|
检测有哪些可用的:
1 |
|
检测有哪些wifi(假设你检测出来可用的device叫wlan0
:
1 |
|
连接wifi(假设你检测出来可用的Wifi叫WE
):
1 |
|
此时网络已经正常连接上了。
修改为中国时区
默认为UTC 0的时区,修改为亚洲上海时区:
1 |
|
将你的硬件时钟设置为协调世界时(UTC):
1 |
|
自动同步到NTP服务器:
1 |
|
查看状态
1 |
|
参考该教程
如果您打算使用 systemd-boot 作为引导加载程序,请省略其中的 grub efibootmgr
软件包,您可以选择使用 Xanmod 内核。在这种情况下,请将 linux-t2
替换为 linux-xanmod-t2
。
1 |
|
通过添加以下内容将存储库添加到 /mnt/etc/pacman.conf
:
1 |
|
将 apple-bce
添加到 /etc/mkinitcpio.conf
中的 MODULES
列表中,然后运行 mkinitcpio -P
genfstab -U /mnt >> /mnt/etc/fstab
arch-chroot /mnt
1 |
|
1 |
|
1 |
|
/etc/default/grub
在 GRUB_CMDLINE_LINUX="quiet splash"
中,添加参数(添加到参数内): intel_iommu=on iommu=pt pcie_ports=compat
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB --removable
。grub-mkconfig -o /boot/grub/grub.cfg
pacman -S dialog dhcpcd zsh
退出 chroot
(Control-d 或 exit
)并重新启动。现在,您可以通过在启动时按住选项来在 macOS 启动管理器中选择 Arch 安装。
编辑/etc/sysctl.d/40-ipv6.conf
,并添加如下,让所有接口都禁用ipv6
1 |
|
也可以直接执行如下来处理:
1 |
|
配置dhcp
参考官网
与dns可以采用这个systemd-networkd的方式,也可以采用下面的方式:
1 |
|
配置dns
编辑/etc/resolv.conf
添加nameserver 119.29.29.29
配置完成后重启系统即可正常使用archlinux系统了。
配置参考这里:
1 |
|
1 |
|
比如我是喜欢默认是F1-F12,功能键后再切换到媒体键,就做下配置:
配置参考这里:
先检测是否符合要求,通过指令uname -r
,如果输出的版本是大于等于6.1.12-2即可,创建/etc/modprobe.d/apple-gmux.conf
并添加如下内容:
1 |
|
然后安装固件:
1 |
|
重启系统后,通过如下方式检测:
运行journalctl -k --grep=gmux
,如果输出类似说明说已经正常运行:
运行glxinfo | grep "OpenGL renderer"
,输出类似:
直接参考这里即可:
推荐直接使用xmodmap
,可以直接在~/.xmodmaprc
编辑:
下面这段是将caps lock
与left ctrl
替换:
1 |
|
其他可以参考这个作者的一些说明进行配置 GitHub - kyoz/mac-arch: :computer: Arch installation guide on Mac
这里我们使用netatlk
与avahi-daemon
服务来让debian实现支持局域网发现timemachine,提供timemachine服务。
1 |
|
创建用户以及添加一个有权限的目录,其中的your-xx
自己根据情况修改即可。
1 |
|
如果需要给账户添加密码,在timemachine连接的时候登录该账号,就给账户添加下密码:
1 |
|
编辑配置/etc/netatalk/afp.conf
,下面的配置中配置限制的大小为700G
,其他的根据自己的想法进行配置即可
1 |
|
配置防火墙开启对应端口:
1 |
|
启用服务:
1 |
|
此时就可以在mac上找到这个Timemachine磁盘了。
本文主要简单介绍了当前常规的PVE下安装黑群晖的方法,另外也说明了直通与添加PVE独立磁盘给到黑群晖使用的方法。
硬件配置如下,只需要配置框框的部分即可,留意是磁盘是SATA,网络用e1000,内存至少2G,核心至少2核。
下载arpl-i18n最新的镜像
解压缩后会有一个img,然后导入到服务器,然后导入到虚拟机中
1 |
|
导入后,在硬件的地方,双击,改为SATA模式添加
然后在选项处将其选为引导
直通方案直接参照这个教程就行。
主要步骤就是,通过下面的指令找到要直通的硬盘
1 |
|
然后通过以下指令直通进去就行:
1 |
|
Proxmox VE(PVE)添加硬盘做存储 - GXNAS博客
PVE挂载nfs虚拟磁盘(亲测可用)_pve挂载新硬盘_MoYoung、的博客-CSDN博客
比如我先通过lsblk
确定有一个sdh
空闲盘:
挂载到随意一个目录
1 |
|
打开网页端,数据中心->存储->添加->目录
然后起个名字,并且将挂载的目录填写到目录上,内容可以根据情况(我是全选上,表示可以用于所有的内容存储)。
直接参照这个教程就可以: 从零开始的all in one之pve安装黑群晖 - 知乎。
在虚拟机里面启动后,进入到这个界面就可以通过[ip:7681]进行配置安装了。
安装过程中可以添加上需要的sn与mac地址,安装后,会进入选择从Synology网站下载并安装即可。
这一步结束后,再往后的根据自己的情况补充即可。
]]>如果用过Linux下的i3wm就知道其实窗口管理可以玩的多花,之前我主要是通过Moom + Raycast + Mac自带设置中的焦点快捷键工具来做窗口管理,另外Terminal中的窗口管理主要是通过iTerm2 + tmux + spaceVim来做,Chrome主要通过Vimium插件,但是近段时间尝试习惯Yabai后,发现通过Yabai + skhd + Mac自带调度快捷键 确实还是能再提高一些效率。
这里的前置配置我建议直接参考Youtuber Josean的配置:
在键盘设置中,设置调度中心快捷键,下面是我的习惯,大家可以按照自己的习惯,默认是ctrl + [number]
:
在系统设置->辅助功能->显示打开 减弱动态效果,这样可以避免切换桌面的动画,这样影响切换效率
在系统设置->桌面与程序坞,划到最后的调度中心,将一些重排等功能关闭:
如果仅仅只是需要用到(窗口转移到另一个拓展屏 以及 鼠标的焦点控制),那么只需要做以下安装即可(除了 Mac 自带的辅助权限(运行的时候会提示),无需其他权限):
1 |
|
如果需要完整的能力,可以参考这篇官方 Wiki Disabling System Integrity Protection 关闭 SIP,然后参照如下流程安装 yabai 与 skhd。
1 |
|
根据官方Wiki说明,配置可以放在多个地方,并且只要文件在,就会被读取,我比较习惯放在~/.config/yabai/yabairc
中,我的配置可以参考:
该配置是以这个配置为底板,然后结合该作者的建议,以及我个人的行为习惯来添加的。
1 |
|
我们可以在配置文件中通过echo
等指令输出日志,然后通过yabai -m config debug_output on
让其打出日志,来调试配置文件,然后通过持续读取日志流来检查配置文件:
1 |
|
重启yabai
1 |
|
最后,如果是因为第一次使用Yabai,不适应BSP的形式展示窗口,可以尝试修改默认的layout
或者是,直接将所有窗口管理默认都设置为非Yabai管理,然后通过需要的时候快捷键切换为管理:
1 |
|
前面在安装的时候已经按照官方建议使用skhd来进行快捷键绑定,我的skhd的配置也是以这个为基础,然后结合该作者的建议,以及我个人的行为习惯来添加的。配置文件是放在~/.config/skhd
:
1 |
|
重启配置:
1 |
|
升级只需要使用brew升级即可:
1 |
|
不过每次升级之后需要注意(参考该同学的提醒),由于yabai的执行文件发生了变化,需要重新参考 官网配置一遍sudo权限:
1 |
|
搞定后重启yabai即可:
1 |
|
我们在用yabai的时候,通常会结合着space来用,当前处于哪个space,可以借助spaceman这个小工具在menu bar上显示:
]]>如果家里有一台闲置的Mac Mini或者是Macbook,将其改为Nas也是不错的选择,本文介绍了一些基本的改Nas的方法。
该设置这个在Mac Mini上有,在Macbook上是没有的:
此刻就可以将这台Mac放到任意的地方,如果是Macbook就可以盖上盖子,它已经变为一台服务器了。
在远程通过VNC客户端就可以通过vnc://ip
可以直接访问了,如果是Mac,自带的屏幕共享即可连接使用。
如果是Mac Mini由于服务器没有外接显示器,因此,默认VNC分辨率是比较低的,该问题问题可以通过安装一个叫BetterDummy
的软件,然后Create一个高清屏(如下图的16:9(HD/4K/5K/6K))来解决:
创建后,根据大小,比如我就最后选择1600x900显示刚刚好,分辨率越高显示内容会越小,越清晰,最后记得设置开启自动启动。
此时即可在远程通过ssh访问:
(可选)设置仅仅支持public key的方式访问,禁止密码登录:
~/.ssh/authorized_keys
添加好需要访问的终端的public key/etc/ssh/sshd_config
并在其中添加:1 |
|
1 |
|
Plex Server已经支持Silicon,直接到官网,下载后打开即可。
如果异常关机,有可能会引发Plex Server打开失败,现象就是一打开Menu Bar上面Plex的iCon出现立马消失,修复方法就是参考官方教程重新恢复数据库,大概步骤:
/Users/[你的用户名]/Library/Application Support/Plex Media Server/Plug-in Support/Databases
1 |
|
db
与blobs.db
,这里案例我选了一个9.27自动备份的:1 |
|
参照官方教程,即可,唯一需要留意的是1
代表正常启动,0
代表没有启动,负数代表有错误。在启动时需要在设置里面点击仍然打开。
本文主要介绍了如何从Truenas Scale的应用中迁移Gitea 迁移到 Debian下,其中踩到不少坑点,都在文中一一提到解决方案,如果你也有类似诉求希望能够有所帮助。
需要留意的是使用命令/bin/bash
,另外所在容器参考下面的截图:
执行指令,这里特别留意:
dump
是根据配置文件路径/data/gitea/conf/app.ini
来生成的,如果你之前没有配置过默认就是这个不用管,如果配置过,可以通过-c <your app.ini path>
指令来指定就行。/data
目录下执行指令,默认是生成一个迁移.zip
文件到执行命令的目录下的,而这个迁移的.zip
文件会不断的将/data
目录所有内容写入到.zip
中,如果你放在/data
目录下,就会循环写入。解决方案,可以到/tmp
目录下执行指令,执行后再将生成的.zip
文件拷贝到挂载的/data
中,再导出即可。1 |
|
另外也可以通过ssh访问Nas服务器后,通过这里的教程在终端上直接操作(考虑到网页端的登录session不太可控的因素下建议这样去操作好些)。
可以到Debian下安装相同版本的gitea(安装后后面再升级到新版本比较稳妥),需要特别注意的是,安装后不要打开网页进行初始化的填参数,直接接着下面的迁移动作就行。
类似我是用的docker-compose
部署的,部署内容就类似下面这样(你假如也需要使用,留意里面的文件路径映射以及对必要端口的开启),截图中gitea我已经使用的是latest
版本了,是因为截图时已经完成迁移后截的图,实际你可以先配上指定版本:
解压zip文件会有以下一些文件:
将zip解压后,会有一些文件,拷贝到对应的目录下即可,需要特别注意这里需要结合实际情况,比如用户权限,各类关联服务的IP等,都需要在app.ini
中进行略微调整。
1 |
|
类似我拷贝后就对以下内容进行了修改与调整:
1 |
|
1 |
|
1 |
|
至此成功完成迁移工作。
我们都知道Mac是自带NFS服务的,但是默认是没有开启,并且配置文件/etc/exports
也不存在,这篇文章就简单介绍了如何将Mac的NFS服务开起来,并且共享某一个目录给到局域网。
假设你需要共享的目录是/Volumes/BACKUP/dev/tools
,并且对外可以访问的权限等于当前Mac的用户jacks
,你的局域网是10.0.0.0
,那么你可以通过sudo nvim /etc/exports
添加如下设置将其假如为共享目录:
1 |
|
检查配置状态:
1 |
|
正常无报错会没有任何输出。如果报如下没有权限的错误:
需要到系统安全设置中针对完全磁盘访问权限点击+
,然后按cmd+shift+G
,输入/sbin/nfsd
,将nfsd
权限添加上即可。
然后重启服务:
1 |
|
此时可以查看挂载状态:
1 |
|
至此完成,就可以在10.0.0.x
的任意局域网下挂载Mac通过NFS协议共享出来的tools
目录了。
本文主要假设你要将/mnt/data/micamera
目录添加为smb访问,并且需要通过mi
用户登录来访问。并确保了mi
这个账户仅支持smb
登录并且支持类似小米摄像机的访问。
1 |
|
假设你要将/mnt/data/micamera
目录添加为smb访问,并且需要通过mi
用户登录来访问。
用户添加用户mi
用户micamera
的smb访问,并且将mi
账户添加到一个smbshare
的用户组里面方便管理。
1 |
|
创建仅仅用于smb访问的mi
账号的密码
1 |
|
启用账号
1 |
|
设备目录权限,确保正常访问
1 |
|
编辑smb配置文件/etc/samba/smb.conf
添加如下配置,让smb生效mi
账户访问micamera
目录,并且支持SMB1
协议(这个国内一些旧设备探测需要(比如小米摄像头的NAS存储探测SMB服务需要)):
1 |
|
此时配置完成,可以通过以下指令检查下看看配置是否有效:
1 |
|
然后重启服务,让配置生效
1 |
|
防火墙配置:
1 |
|
至此完成配置。
在之前的文章里面我们介绍了基于Debian我们如何迁移为可通过PVE管理运行虚拟化,但是完成后默认的配置会发现所有的分区配置会把所有的大小都挂载在了/home
目录下,今天的目标就是将挂载在/home
挂载的900G分出600G挂载给/var
,这里主要涉及到lvresize
、resize2fs
等分区工具,主要的坑点在于基于PVE后,磁盘的格式被修改为了lvm
,通过这个小案例我们解决这个坑点。
查看情况df -h
与lsblk
,这里的情况是我已经完成了分区调整的情况。
先重启到Recovery因为需要umount /home
,在正常模式下该挂载目录上有运行的服务,无法被umount
,重启Debian后进入Recovery。
/home
挂载的900G调整为300G1 |
|
/var
调整为610G1 |
|
到这里其实已经被分配到了600G,但是会发现执行resize2fs
与e2fsck
都会一直报错:
1 |
|
e2fsck
这个指令刚开始报mounted
,取消挂载后报in use.
感受上是pve的一些映射原因,一直生效不了,接下来就是解决这个问题。
后来发现是是因为是lvm
的格式,因此重启直接进入系统以后,然后直接执行下面这步,然后就行了:
1 |
|
Truenas Scale默认是限制了apt使用,有时候ssh进去不是太方便,因此需要手动的进行做下修改,才能正常安装包,正常在terminal上使用。
apt-get
处理方法1 |
|
1 |
|
1 |
|
1 |
|
https://github.com/zsh-users/zsh-autosuggestions/blob/master/INSTALL.md#oh-my-zsh
1 |
|
然后直接在~/.zshrc
的plugins
里面添加fzf
即可。
Truenas scale中使用的是轻量的k3s,因此注意管理应用时候需要使用k3s而非k8s。
更多指令可以参看这里(需要注意所有的
kubectl
指令,都需要使用k3s kubectl
): https://www.truenasscale.com/2021/12/19/340.html
1 |
|
这里以进入Gitea为案例,在Truenas Scale里面默认每一个应用都会有独立的namespace,这里Gitea的namespace是ix-gitea
,pods name是gitea-f65c58dcb-z62z5
:
1 |
|
执行后就成功进入了:
这个是以loki为案例:
1 |
|
1 |
|
1 |
|
近期想要重新再在家里配置一台服务器,作为Truenas Scale的备用,另外也折腾一些GPT相关的东西,因此重新倒腾,服务器上的选择主要从Debian与Ubuntu中选,Debian从Docker、虚拟机还是ZFS上底层支持都比Ubuntu好,因此最终选用了Debian,折腾了几天,Debian的各类网上的资料都比较散,因此做了下整理。
确定有效的源修改
1 |
|
修改为:
1 |
|
1 |
|
安装
1 |
|
配置防火墙
1 |
|
此时就可以远程用ssh访问了,如果你不确定目前的ip是多少可以通过该方式确认下,查看当前接口名称ip a
配置非密码访问,将本地的public key添加到vi ~/.ssh/authorized_keys
,确保通过密钥登录有效。
禁止密码访问,并且限制登录账号,编辑/etc/ssh/sshd_config
,找到相关字段并修改为:
1 |
|
如果需要禁止root账户ssh访问,需要再添加:
1 |
|
重启服务
1 |
|
如果需要执行指令无需sudo
密码,全部依赖可信的ssh证书校验,可以考虑参考这里编辑。
禁止休眠,防止休眠后断网导致远程ssh访问不了,可以参考这个教程,具体操作如下:
1 |
|
生成sshkey,用于后续使用
1 |
|
1 |
|
修改默认编辑器为neovim
1 |
|
1 |
|
1 |
|
然后在~/.zshrc
中修改(我比较习惯用CTRL+SPACE来接受补全建议):
1 |
|
1 |
|
然后在~/.zshrc
中修改:
1 |
|
1 |
|
然后在~/.zshrc
中添加:
1 |
|
1 |
|
1 |
|
如果当前语言环境未安装,则需要安装相应的语言支持包。
/etc/locale.gen
文件:1 |
|
将你需要的语言环境取消注释(去掉前面的 #
)。
1 |
|
1 |
|
一般来说是不建议修改的,因为有些服务在设计之初就会依赖这个等待时间,不过如果你觉得每次关机都得等1min30s超时有点长也可以去修改,参照这里的教程:
可以先看下系统中这个超时等待是多久:
1 |
|
在/etc/systemd/system.conf
中修改[Manager]
下面:
1 |
|
我的环境是有/dev/sdb2
与/dev/sdc2
组成的一个RAID1,我是需要将其挂载在/mnt/dev
目录下的,这个组RAID1已经在安装的时候已经配置好了。对于RAID1相关的教程这篇文章也已经写的挺不错的了。
安装mdadm
来进行管理
1 |
|
查看磁盘情况sudo fdisk -l
与df -h
,如果是之前就已经配置好的RAID1想要恢复:
1 |
|
查看当前RAID情况cat /proc/mdstat
也可以使用sudo mdadm --detail --scan
如果是首次,不是恢复,还需要对RAID格式化:
1 |
|
创建要挂载的目录
1 |
|
挂载上
1 |
|
开机自动挂载,可以参照这个教程,使用mdadm
来进行操作(这样在关机以及一些系统性操作的时候也会自动关联):
1 |
|
参照这个官方教程就挺好了,不过我记得我就直接这样安装也行:
1 |
|
我习惯于用docker-compose
管理,这里就简单做两个案例,配置一个ddns-go与traefik
我们用traefik进行反向代理
先创建一个虚拟网络traefik_net
,让相关的服务的网络流量能够被traefik
探知:
1 |
|
找一个随意的可以存放docker-compose
配置的目录,创建.env
文件,添加下你后续想要反向代理用到的域名,以及这个网络名称:
1 |
|
在docker-compose.yml
下添加如下(这里留意这个文件可以放在任意你想放的地方,只是docker-compose
指令执行的时候直接在这个目录下可以直接找到比较方便点):
1 |
|
这里说明下,最终我需要通过https://traefik.yourdomain.com:5533
访问到Traefik,ddns也同理。另外我的所有的配置都放在/opt
中。这里的8080
端口是访问DashBoard的
防火墙允许访问:
1 |
|
需要留意的是我使用的是Traefik V2版本,与V1版本的配置互不兼容,相关教程也可以参考这里。
在/opt/traefik/traefik.yml
(这个目录在前面的docker-compose
中映射为了该服务的配置了)中编辑如下:
1 |
|
然后在/opt/traefik/config.yml
(这个路径已经在docker-compose
中映射为/etc/traefik/dynamic_conf/config.yml
为其文件providers)添加如下:
1 |
|
这里如果不清楚your_local_ip
是多少,就直接ip a
查看下,这里主要就一方面是指定证书地址,另外一个就是配置 https://traefik.yourdomain.com:5533
直接访问Traefik的Dashboard。另外这里也就只是一个案例,后续你可以基于这个为各类ip端口访问做反向代理。
ddns不用配置,默认跑起来后会在我们配置的映射目录/opt/ddns
下生成.ddns_go_config.yaml
描述文件。
这就比较简单了,到docker-compose.yml
所在目录,执行:
1 |
|
查看traefik
日志
1 |
|
重启traefik
服务
1 |
|
开启整体服务并后台运行(如果没有-d
就直接当前指令运行可以实时看日志)
1 |
|
关闭整体服务
1 |
|
升级Docker(我们以Plex为例子)
1 |
|
1 |
|
这个一定要做,否则后面安装会各种提示连接不上
我们假设你的主机名是debian
,你的域名是debian.yourdomain.com
,你debian系统的ip是<your_local_ip>
(这个是局域网的IP如10.0.0.57
)。
先通过sudo -i
切换到root
账户下
设置hostname:
1 |
|
/etc/hosts
要添加确保本地能访问:
1 |
|
1 |
|
1 |
|
安装过程中提示邮箱服务,如果你debian系统中没有安装没有,就直接选择Local only
即可:
过程提示的系统邮箱域名,直接使用前面提到的debian.yourdomain.com
即可。
安装完成后重启系统
1 |
|
重启后,留意会因为/etc/network/interfaces
被修改导致网络无法访问,我们顺便添加一个桥接,从Recovery
模式进去,然后编辑/etc/network/interfaces
修改成:
1 |
|
这里我说明下<your_local_ip>
替换成你之前debian的局域网中的ip,<your_gateway>
换成你的gateway(大多数情况下是192.168.1.1
),这里的vmbr0
主要方便后面你创建虚拟机的时候可以对外网可访问。
至此重启可以正常访问网络,并且可以正常访问pve管理网页。
重启后,检查端口8006
,这个是默认的管理面板页面的访问端口,防火墙绕过下:
1 |
|
然后通过https://<your_local_ip>:8006
就已经可以整访问了,具体如果域名反向代理,可以使用前面提到的Traefik去做到,这里就不赘述了。
另外需要留意的是,如果你是使用的Nvidia,PVE这边需要做下配置,参考PVE Nvidia教程:
1 |
|
最后我们会发现安装完PVE后,执行sudo apt update
总会有这样的错误:
这是因为需要添加PVE License,不过如果你没有License只是免费使用(免费使用已经可以使用大多数PVE的核心能力了),那么请编辑/etc/apt/sources.list.d/pve-enterprise.list
,将这个付费license源注解掉即可:
1 |
|
首先基本的配置,先准备好vmbr0
,这个桥接的网络在前面安装好pve后已经做了说明,然后创建虚拟机整体配置除这里的硬盘外与这个一致即可,前面一步一步的配置随便配置也行,配置完都可以修改,实在不清楚可以参看这个教程。
配置完后可以先将原本的默认的硬盘分离+删除了,方便接下来写入一个新的openwrt。
然后下载openwrt固件,下载这里我们下载K9的,可以直接在 这里下载
选择EFI启动的固件,然后用gunzip
解压缩
1 |
|
写入指令
1 |
|
这里的100
是虚拟机的id,local
是存储名,分别可以在前端页面找到:
完成后,这里会出现一个新的硬盘,点击后修改为STATA即可,最后的状态如下:
然后将开机引导调整为sata0即可
至此已经安装完成
基本上参照这个教程即可
先编辑Linux系统的引导加载器GRUB:
1 |
|
找到 GRUB_CMDLINE_LINUX_DEFAULT="quiet"
,修改为 GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on"
,开启Intel CPU的IOMMU功能,这样可以让虚拟机直接访问物理设备,比如显卡网卡,保存退出后执行update-grub
然后编辑modules
确保启动时相关内核模块有被加载
1 |
|
添加以下几行确保启动时PCI的一些设备能被虚拟机识别到:
1 |
|
执行 : update-initramfs -u -k all.
然后reboot 重启PVE。
先从iKuai官方下载64位ISO文件,然后上传到local
上:
创建的时候,由于是64位,需要配置4096M内存,CPU 4核,硬盘1-8G,其他默认即可。
然后通过添加PCI设备,添加WAN口网卡即可:
如我的WAN口是这个千兆的网口:
其余的就根据正常的iKuai安装方法安装即可,当然也可以参考这个教程。
这里我比较推荐tigervnc,其他的我也用过,不过这里我觉得tigervnc就够用了,所以就不赘述其他的了。
tigervnc是基于tightvnc进行安全以及各方面延伸后的一个VNC工具。
1 |
|
防火墙配置,这里假如说后面是:1
屏幕端口就是5901
,:2
就是5902
以此类推,防火墙都要留意配置好。
1 |
|
可以参考这个教程
安装相关桌面
1 |
|
配置~/.vnc/xstartup
:
1 |
|
然后启动:
1 |
|
这里简单提下,如果没有-localhost no
本地访问以外的都会被拒绝。
安装相关桌面
1 |
|
由于这个不用怎么特殊配置,直接启动即可
1 |
|
参照这个教程
安装相关桌面
1 |
|
配置~/.vnc/xstartup
1 |
|
然后启动:
1 |
|
检查当前是什么桌面:
1 |
|
切换默认显示管理器
1 |
|
检查当前有没有在跑的列表
1 |
|
关闭:1
屏幕服务
1 |
|
参考这个教程也可以
检查网卡型号:
1 |
|
比如我这个RTL8125B的驱动,可以参考这个,留意如果正在用到这个网卡,需要本地物理机接入进去更新。
2.5G Ethernet LINUX driver r8125 for kernel up to 5.19
这个驱动autorun.sh
后重启即可。特别注意如果执行autorun.sh
的时候遇到问题,可以尝试先用sudo apt install linux-headers-4.19.0-20-amd64
安装前置编译依赖后再试。这里的4.19.0-20-amd64
是根据报错提示的文件目录版本来决定的,比如我在一台Debian上安装就一直报/lib/modules/5.10.0-25-amd64/build 文件不存在
的问题,这种情况下,我需要先到/etc/apt/sources.list
添加对应包依赖:
1 |
|
然后安装:
1 |
|
搞定这一切后,再执行sudo bash autorun.sh
虽然有一些警告,但是还是安装完成。
检测是否安装正确:
1 |
|
官方说明参考这里
查看显卡型号
1 |
|
我是Nvidia的显卡,可以参考这个教程,留意源和文章开头提到的源保持一致,需要有non-free
1 |
|
执行sudo apt install [driver name]
,通常如下:
1 |
|
检查状态nvidia-smi
可以参考这里的官方教程
设置软件包存储库:
1 |
|
安装Nvidia容器工具包
1 |
|
具体的案例可以参考运行在Docker上的Plex的使用:
整体可以根据这里的教程
参考这里需要升级docker-compose
以支持devices
指定资源关键字
1 |
|
对应的Docker Compose配置可以参考如下:
1 |
|
开通Plex PASS后,在转化器中开启硬解:
开启后播放一个需要转码的影片,可以看到[hw]
标记,说明已经在使用
还不确定,可以到监控面板查看Nvidia的情况
主要是通过node_exporter
与nvidia-gpu-exporter
来拉取系统与GPU情况,用prometheus
来进行数据存储与查询,用grafana
来展现,其中exporter
使用systemctl
来进行管理,prometheus
与grafana
服务用docker-compose
管理,接来来开始配置。
在docker-compose.yml
文件添加如下:
1 |
|
添加/opt/prometheus/prometheus.yml
文件,并添加如下内容:
1 |
|
这里简单解释下,全局10s刷新一次,9090
端口访问prometheus
,9100
是node_exporter
对外暴露的端口,9835
是nvidia_gpu_exporter
对外暴露的端口。
开放端口
1 |
|
到这里下载最新的amd64.deb,然后执行安装sudo dpkg -i nvidia-gpu-exporter_1.2.0_linux_amd64.deb
安装后可以检查下其状态
1 |
|
检查下端口情况
1 |
|
开放端口
1 |
|
到[这里](Releases · prometheus/node_exporter (github.com))下载最新的amd64.tar.gz包,解压缩以后,里面有一个可执行的指令node_exporter
然后nvim /etc/systemd/system/node_exporter.service
添加文件:
1 |
|
这里的/opt/node-exporter/node_exporter-1.5.0.linux-amd64/node_exporter
假设就是你下载解压缩后的那个指令的路径
1 |
|
开放端口
1 |
|
到docker-compose.yml
的目录下执行sudo docker-compose up -d
启动刚刚的Grafana与Prometheus,然后访问prometheus检查是否有正常链接上,搜索up
如果后面数值是1
则表示数据正常,连接成功。
登录Grafana添加Prometheus作为其数据源,我就不过多赘述这里。
添加系统监控,可以考虑使用这个。
然后拷贝这个ID: 15172
,选用好数据源为刚刚创建的Prometheus的,即可
添加Nvidia GPU监控,可以考虑使用这个,添加方法和上面一样不赘述了
docker情况建议直接使用Portainer,在docker-compoase.yml
中添加:
1 |
|
然后启动下sudo docker-compose up -d
,搞定,这里我们使用portainer.yourdomain.com
访问
Debian和Ubuntu在磁盘的读写速度,Docker不同的存储驱动方式,虚拟化的方式上的性能差别可能不是很大,因为它们都是基于Linux内核的操作系统,都可以调整和优化这些方面的参数。但是,根据不同的硬件配置和使用场景,可能会有一些细微的差异。
它们都是开源的,都使用APT包管理器,都支持多种硬件架构,都有大量的用户和开发者社区。
它们的稳定性、更新频率、软件支持和安装方式有所差别。一般来说,Debian更倾向于稳定性和简洁性,而Ubuntu更倾向于新颖性和易用性。
Debian有三个分支,分别是稳定版(stable)、测试版(testing)和不稳定版(unstable)。稳定版的更新周期很长,一般是两年左右,但也更加稳定和安全。测试版和不稳定版的更新周期更短,但也更容易出现问题。Ubuntu有两种版本,分别是长期支持版(LTS)和非长期支持版(non-LTS)。LTS版本的更新周期是五年,非LTS版本的更新周期是九个月。Ubuntu的更新速度一般比Debian快,但也可能带来一些兼容性或稳定性的问题。
Debian和Ubuntu都使用APT包管理器,但它们的软件源不完全相同。Debian完全基于自由软件,所以它的软件源只包含自由软件。Ubuntu同时使用免费和专有软件,所以它的软件源包含了一些Debian没有的专有软件,例如NVIDIA驱动、Steam等。另外,Ubuntu还有一些自己开发或维护的软件,例如Unity桌面环境、Snap包格式等。这些软件可能在Debian上不容易安装或使用。
Debian和Ubuntu在RAID,Docker和虚拟机这三者上的区别可能不是很明显,因为它们都是基于Linux内核的操作系统,都可以支持这些技术。但是,根据不同的使用场景和需求,可能会有一些细微的差异。
RAID是一种磁盘阵列技术,可以提高磁盘的性能和可靠性。Debian和Ubuntu都可以使用RAID,但是它们的安装方式可能不同。Debian的安装过程中需要手动配置RAID,而Ubuntu的安装过程中可以自动检测RAID。另外,Debian和Ubuntu可能支持不同的RAID级别,例如Debian支持RAID 0、1、5、6、10等,而Ubuntu支持RAID 0、1、5等。
Docker不同的存储驱动方式会影响容器的数据层的管理和性能。Debian默认使用overlay2存储驱动,而Ubuntu默认使用aufs存储驱动。overlay2和aufs都是基于联合文件系统(Union File System)的存储驱动,它们都可以实现容器之间的数据共享和隔离。一般来说,overlay2比aufs有更高的性能和稳定性,但是aufs可能对一些旧版的内核或文件系统有更好的兼容性。
虚拟化的方式会影响虚拟机的资源分配和性能。Debian和Ubuntu都可以使用KVM、Xen、VirtualBox等虚拟化软件,而Ubuntu还可以使用VMware等虚拟化软件。KVM和Xen都是基于内核模块(Kernel Module)的虚拟化软件,它们都可以实现虚拟机之间的资源隔离和高效利用。一般来说,KVM比Xen有更高的性能和易用性,但是Xen可能对一些特殊的硬件或场景有更好的支持。VirtualBox和VMware都是基于用户空间(User Space)的虚拟化软件,它们都可以实现虚拟机之间的资源共享和灵活配置。一般来说,VirtualBox比VMware有更低的资源消耗和更好的免费版功能,但是VMware可能对一些专业的功能或场景有更好的支持。
这篇文章主要是介绍日常对openclash维护遇到的一些问题的记录,特别是有很多在国内找不到很好方法探究了一小段时间的。
直接参看这篇文章即可: 规则设置(访问控制) · vernesong/OpenClash Wiki (github.com) 里面的内容,这里就简单举个栗子,比如我们希望加okx.com
添加为直连:
如下图,先找到覆写设置
->规则设置
,如果说*自定义规则
没有勾选,将其勾选,此时下面会出现两个可编辑区域:
然后我们在*自定义规则
中第一个可编辑区域(优先匹配)的rules:
下面添加DOMAIN-SUFFIX,okx.com,DIRECT
:
然后保存配置,应用配置即可,我们可以简单检查下配置,发现已经被正常添加到生效配置的开头了:
再检查下日志,发现已经生效:
参考: 能否支持kcptun配置 · Issue #313 · vernesong/OpenClash (github.com)
就正常根据kcptun服务配即可
正常启动就行,
显示运行中就代表已经在正常运行了,通常这个时候你在termianl中能看到已经在运行的服务
你也可以通过案例熟悉,怎么在openclash中自定义添加服务
往下滑
点击添加
可以将策略添加到所有策略组:
之后保存配置,回到一键生成,勾选保留配置,将新节点默认添加到所有策略组
应用配置就可完成配置,这里只勾选保留配置,不勾选上面的生成配置文件,因为如果勾选下面的策略组等都会被替换,如果你配置的有问题会比较麻烦。
在一键生成->策略组配置中点击添加,之后点击编辑进入:
进入后添加好名字,需要添加到的配置文件,以及策略组类型,后点击保存配置:
此时移动到最后,点击应用配置后,就可以看到这个策略组了。
为策略组添加可选的服务器节点,以添加香港01节点为例:
然后滑动到最后添加到策略组,中选择刚添加的策略组的名称,完成添加:
保存返回完成添加,要添加其他服务器节点也是一样的,最后别忘了还是要到最后,应用配置。
在规则附加->滑到页面最后管理三方规则集下载想要的规则
然后,在规则附加->第三方规则集附加->添加后,以此配置配置文件,选择规则集,选择策略组,最后点击底部的应用配置完成生效。
比如这里,我们假设Nitendo的域名就是: nintendo.net
,如拦截到的:
那么我们可以在覆写设置->规则设置->自定义规则框中添加如下:
当然也可以直接添加Rule set比如:
最后保存配置,应用配置完成设置。
OpenClash由于有时候DNsmasq转发会与其他的一些服务冲突,导致所有的海外域名都无法正常解析,这种情况下可以考虑尝试以下方案处理。
缺点: 很明显,就是会发现一些域名相关的openclash配置会失效
优点: 配置比较简单
如下图配置即可
缺点: 配置麻烦,需要多启一个DNS服务器,对域名响应会有略微影响;需要用到Meta内核,不清楚有没有未知坑
优点: openclash所有功能可用
第一步. 安装Adguard
第二步. 启动Adguard,并且查看其监听DNS端口(这里我们看到的是1745)
第三步. 在插件设置里勾选 使用Meta内核
第四步. 配置覆写设置->DNS设置
如果还有问题,确认下Adguard的6060重定向是否是选择”无”,如果不是记得选择”无”保存。
一般我们的规则是来自配置订阅
中拉取的:
但是拉取后会发现,默认提供可配置的策略不多,如只有:NetFlix
、OpenAI
之类的,我们想要一次性添加所有Ihie1洞主的规则,那么可以在覆写设置
->开发者选项
->设置第三方规则
中添加即可:
一般可以在运行日志
->内核日志
中找到问题:
这篇文章主要是梳理各类图片生成的方法。
GPT使用可以参考这篇文章。
这个是通用图片类型自动生成最好的工具
选择自己的服务加入
进到自己的服务器
然后点击聊天框左侧的+
使用APP
选择Midjourney的/imageine
可以用表情来创建
第一次使用点击Accept ToS
也可以使用关键字
关键字建议可以使用这个网页的翻译: DeepL翻译:全世界最准确的翻译
收集各类关键词,看下别人生成的图与关键词,这里推荐ArtHub这个站点,里面都是很优秀的AI生成的图片并且提供了每张图片的Prompt。
这是目前看到Web/Mobile App UI生成比较好的工具
打开网站进行注册登录
支持通过拍照草图自动生成
这个自动生成,有点类似MidJourney,只不过更针对App/Web进行适配,有个独立的入口,从这里进入
直接打开网页就可以使用,这个网站使用超级简单而且是免费的。
直接打开网站,比如我自己测试了下:
主要就是选择主题,然后选择房间类型,然后上传图片,等个几秒钟,简单易用:
现在大多数内容都是记录在Obsidian上,想了下这块还是写成博客,这样可以帮助更多博友更快的体验类似颠覆的体验。
GPT使用需要翻墙,这里的翻墙机场推荐xrelay,一个月15元,使用方法配套极其简单,还有实时客服聊天指导,注册后不用付款直接可以免费试用一天,即便付款后还支持30天无条件退款。
这块网络上的教程非常多,我就不过多赘述了,需要特别留意的是,翻墙不用全局翻,就做以下配置就行:
openai.com
走代理我问了下ChatGPT,居然让我用Visual Studio Code的插件来使用,具体建议网上查一查方法比较简单:
这块网上也非常多教程,也不过多说明了几个需要注意的点:
openai.com
走代理Personal -> View API key
, 创建一个key,保存下来顺便提下,这下面的代码是GPT自己写的,写的挺好的,能用(另外还是有点能扯):
1 |
|
3.19更新,IP不能使用
4.2.2.2
,替换成1.1.1.1
后可以正常使用
New Bing的使用也比较简单,不过有几点特别注意下:
bing.com
走代理X-Forwarded-For
: 1.1.1.1
,另外为了防止跳转到国内,也可以配置一个请求头。x-forwarded-for | redirect |
---|---|
https://global.bing.com/search?q=%s&mkt=en-US
,并将其设置为默认即可相比ChatGPT来说,New Bing的准确性是非常强的,并且有引用所有的判断来源:
基于这个Chrome插件,可以同时使用ChatGPT与New Bing,甚至可以在上面直接使用Bard,非常方便。
可以明显感受到,ChatGPT比较快,但是New Bing比较准确,算是可以相互互补。
需要留意的是,最好是使用API Mode
,如果使用Webapp Mode
通常不是很稳定
当然如果你有ChatGPT Plus,也可以配置使用GPT4的API Model
。
这个扩展可以让你在浏览网页的时候,可以同时看到英文和中文,非常方便。支持OpenAI的GPT-3,也支持Google的翻译。
并且支持快捷键,如默认支持的快捷键,超级方便:
1 |
|
已经有了沉浸式双语网页翻译扩展了,为啥我还推荐OpenAI Translator这个插件呢,原因很简单,就是他的能力绝不仅仅是Translator
,他可以支持:
这两个就不用多说了,Cursor,通过沟通来编写代码,支持重构,写单测等等。
CodeX也是类似,还支持实时preview。
AICommand 可以支持通过和GPT聊天就能在Unity上创作作品,不过这个非官方,官方的还在迭代。
如果你仅仅只想要在terminal里面集成GPT,可以直接安装Shell GPT来实现:
1 |
|
使用之前留意在环境变量中加上你的API Key,然后就可以愉快的玩耍了,赋值到这个OPENAI_API_KEY
环境变量。
这个的用法也很简单:
当然也有很多灵活的用法,比如:
1 |
|
如果仅仅只是想要查询指令可以使用--shell
或者-s
:
1 |
|
当然也包含基本的GPT的能力,如总结输入的内容之类的:
1 |
|
甚至对出现的错误给出解决建议:
1 |
|
还可以生成代码,如下面生成一个代码片段,并直接写入到fizz_buzz.py
:
1 |
|
我用了很多年的iTerm2+Tmux这样的组合,这是第一次让我有冲动尝试的全新的终端,你可以通过对话的方式,让Warp帮你完成一些操作,比如:
当然Warp整体的UI以及交互也会更加友好,比如:
通过这个网站可以快速的自动创建PPT,根据你的idea自动找图,生成动画,自动生成文案等,非常的自然好用。
输入一个主题,立马全自动生成整个PPT,并且可以定制修改,支持中文,甚至支持做PPT演示录制。下面就是我输入了一个”如何迎接AGI时代的到来”,然后就自动生成了一个PPT。
不过需要留意的是,整体体验下来,整体模板样式目前还比较单一,另外就是会自动为PPT添加文本以及图片。
这个是一个非常有意思的网站,可以通过GPT来处理图片,能力非常的有用,比如:
当然也有一些可以快速替换背景的站点,比如Mokker,这个可以快速识别出背景并且替换背景包括背光,作为商品的演示之类的特别适用。
安装gitlab完全按照这个教程就行,需要注意的是可以先不指定external_url
。
大概安装如下:
1 |
|
gitlab.test.com
:666
编辑gitlab配置:
1 |
|
特别主要设置的external_url
需要是http(原因参考这里),因为我们会用trafik来做https转发。
1 |
|
配置使用自己的Nginx参考这里就好
配置好后,编辑nginx中gitlab.conf
1 |
|
然后生效整体的配置
1 |
|
此时在内网通过[IP]:666
已经可以正常访问。
external-service
来进行达成trafik转发自此就可以进行通过外网访问了。
]]>后疫情时代,广州周边基本最符合预期的别墅,美的半岛庄园,这个小区到广州海珠区开车1小时内,在广东财经大学旁边,售价在200w-400w区间,普遍赠送100-300平花园,新楼今年12月交房,每月都会推送建设动态,目前已经交易的E区,D区地块都已经建设差不多,今天给大家做一个详细的介绍,如果需要现场看房,欢迎直接点此快速预约,我们将优先为您快速对接安排。
开始之前该楼盘的便利性以及各类信息我汇总了一份地图大家可以在此,大家可以按需获取,另外大家想要更具体的了解该楼盘,可以直接点此登记快速预约~
占地面积: 398915.90平方米,绿地面积182942.83平方米
建筑面积: 170032.84平方米,住宅168975.34平方米,物业服务用房338平方米,其他面积719平方米
区域: 东至内环南路,西至天井山,南至三水大道中,北至大学路
合同上内容
小区内绿地率: 2024年4月30日 达到 批准的规划设计条件
小区内非市政道路: 2024年4月30日 达到 批准的规划设计条件
规划车位、车库: 2024年4月30日 达到 批准的规划设计条件
物业服务用房: 2024年4月30日 达到 批准的规划设计条件
小区内未规划: 医疗卫生机构、幼儿园、学校等
始终未达到需要与全体业主协调
北门有一个丽日天鹅湖公交站
在整个互联网创投圈以及硅谷圈里有一群最有名的群体,那就PayPal黑手党,这群家伙创办了PayPal财务自由后,出来创业成功率极高,他们关注本质,喜欢物理,前段时间阅读了《支付战争》这里将笔记做一个简单的记录。
PayPal创始人Peter Thiel最终招聘要求,圈子里的人(校友),标准: 用于竞争、知识渊博、掌握多种语言、精通数学。
另一位创始人Max Levchin回忆当时有一位应聘者说喜欢打篮球当即被他fail,原因是他大学期间认识每一位打篮球的都是白痴,该创始人父亲是剧作家,母亲是物理学家,精通数学与乐器,但是运动细胞很差。
PayPal很多员工职务和该员工之前的工作不同,并且提拔了很多年轻员工,本书作者埃里克·杰克逊没有营销经验,但是在PayPal期间取得了很不错的市场营销成绩。
人们需要某种形式的宏大愿景来指导决策,并且让员工觉得自己公司与众不同。
每个人都需要钱,人们需要更方便、更安全的货币形式,通过PayPal可以统治世界,PayPal可以让世界人民拥有对自己国家货币前所未有的控制权。
创始人坚决相信该愿景,设计T-shirt,T-shirt上图案来自米开朗琪罗的西斯廷教堂屋顶布局的局部,表现上帝与亚当通过电脑交换现金,并且很多员工也相信这个愿景,卢克·若塞克电脑有一个统治世界指数,每几分钟就更新一次,上面显示的是PayPal注册用户数。
埃里克·杰克逊初入公司发现公司根本没人知道有新人入职,作息时间也不确定,他们还拿乒乓球桌来办公,他们根本不在乎这些。
首席运营官(COO)建立”不开无必要会”政策,将自己变成会议警察,一旦发现有人开会,就会进去听,听3分钟觉得这个会没有价值就会中断会议。
PayPal员工把试错作为累积经验的过程,出错越多越可能接近成功,激发创造;为了避免黑客批量注册账号,他们创造了”反向图灵测试”也就是一直沿用至今的验证码。
非正式的文化中鼓励所有员工提建议,让员工感到自己有权影响工作推进,让所有员工都看得到客户记录,营收流,欺诈损失,资本支出方便大家参与各类决策。
在与X.com竞争中,X.com新开户用户提供20刀奖励是PayPal的2倍,并提供很简单的新人推荐服务与多种特色支付服务;PayPal将埃里克·杰克逊教导办公室告诉他我们要快速花掉100万美元加快扩大规模,很快杰克逊就想到了eBay用户不能使用信用卡,要么是教育金额太少,要么是申请不了,只能通过邮寄支票的方式,效率极低大约要1周时间才能完成交易,于是快速与eBay达成合作,不到2个月时间因为这个PayPal快速新增超过1万注册用户,当X.com反应过来加入eBay争夺时,卢克·若塞克又想出做一个机器人专门找Ebay慈善机构购买商品,竞拍前告诉卖家只支持PayPal支付,由于参与竞拍有利于商品价格,通常卖家都会接受,即便不接受也让卖家了解到了PayPal。
]]>