博文

Linux中快速创建测试用的Debian虚拟机

背景 有这样一个测试的场景,需要快速拉起一个Debian虚拟机用于测试、容器、K8s节点等用途。通过下载ISO的方式手动创建虚拟机太慢,需要创建用户格式化磁盘等等一系列操作, 耗时太长(20 min+)。 针对这个场景,clound-init项目提供了一套工具来模板化的创建虚拟机。恰好Debian也提供了Cloud Image的下载,作为测试目的非常合适。 环境准备 确认你的操作系统启动了虚拟化支持已经内核中启用了KVM模块 安装qemu 安装libvirt 下载Debian generic cloud image 镜像 开始创建 准备Cloud-init配置文件 创建一个cloud-init.yaml文件作为配置,它会定义虚拟机的实例,这里给出一个最简单的配置,其他的配置项可以看 这里 #cloud-config users: # whatever username you like - name: test-user # so our user can just sudo without any password sudo: ALL=(ALL) NOPASSWD:ALL shell: /bin/bash # content from $HOME/.ssh/id_rsa.pub on your host system ssh_authorized_keys: - ssh-rsa AAAA[...] 需要注意的是第一行的注释#cloud-config不可以删除,否则创建时不认配置 创建虚拟机实例 在终端里执行以下命令,替换掉其中的参数即可 VM_NAME="your-vm-name" DISK_IMAGE_PATH="/path/to/disk-image.qcow2" # 创建磁盘镜像的路径 IMAGE="/path/to/debian-12-generic-amd64.qcow2" # 下载好的Debian镜像路径 VCPUS="4" # 虚拟机cpu数量 RAM_MB="40...

2021 Linux与微信

 很久之前写过一次用deepin wine在Linux上使用微信的博客,这个方案用了很长时间。但是经常出现一个问题是AUR上的deepin wine不太稳定,有时候更新不太及时或者无法更新。于是决定换成原生wine来使用微信。 现在在wine中安装微信出乎意料的简单,不需要过多的配置。安装好wine,下载微信安装包安装即可 有这样一些要注意的点: wine前缀: 由于我的系统是64位的,wine前缀默认是64位环境,安装微信最好创建一个单独的32位前缀,否则会出现随机闪退的情况 字体: 微信需要中文字体,否则显示为方块。解决方法是安装中文字体并修改注册表。建议安装winetricks来管理字体,安装文泉驿字体即可 然后导入如下注册表文件,把系统字体链接到文泉驿字体上   REGEDIT4   [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink] "Lucida Sans Unicode"="wqy-microhei.ttc" "Microsoft Sans Serif"="wqy-microhei.ttc" "MS Sans Serif"="wqy-microhei.ttc" "Tahoma"="wqy-microhei.ttc" "Tahoma Bold"="wqy-microhei.ttc" "SimSun"="wqy-microhei.ttc" "Arial"="wqy-microhei.ttc" "Arial Black"="wqy-microhei.ttc"   顺便需要安装dll riched20来显示部分富文本 环境变量: 更换了字体后如果还是不能显示,可能是环境变量的问题,需要设置环境变量LC_ALL=zh_CN.UTF-8 来显示中文 HiDpi: 对于高分辨率屏幕的机器,需要打开winecfg配置,修改DPI为希望的...

Mac Catalina 安装部分App提示损坏的解决方法

基于公司要求,需要更新办公电脑的系统,于是前两天进行了更新 今天使用的时候有个常用的app提示更新,于是去官网下载最新版安装,安装后提示 "xxx" is damaged and can't be opened. You should move it to trash. (xxx 已损坏, 无法打开 你应当把它移到垃圾桶) 解决方案留档记录在此 这个问题原因是这个app的来源不是认证的开发者(很多开源软件都是这样),而目前Mac的Gatekeeper会默认阻止这样的应用安装 在系统设置的 Security & Privacy => General下,有一项Allow apps download from: 这里有App Store, App Store and identified developers, 和 Anywhere三个选项 其中Anywhere可能不存在 这种情况下直接在Terminal执行sudo spctl --master-disable 并输入密码即可,这个命令会暂时关闭Gatekeeper,然后会发现Anywhere已经出现并选中了,之后重启并正常安装app即可 但是这个方法并不能解决我的问题,我的情况是anywhere已经出现并选中了(因为之前更新系统时已经执行过上面的操作),但是仍然提示损坏  这个原因我猜测是Mac每次更新后启用Gatekeeper,但是对应的来源设置没有同步变化,这时候执行上面的操作就无效了,所以我们要做的就是还原最初的状态并重新操作,具体步骤是: 1、Security & Privacy => General里的选项改为App Store(或者第二个也行) 2、重启 3、执行sudo spctl --master-disable  4、再次重启 5、正常安装 关键操作就是还原最初的默认设置,经过测试,每次升级都要这样做,很多教程里说的执行3、4两步至少在我的机器上是无效的

在Linux使用微信的记录

这个方案废弃了,改用原生wine的diy方案 总是想着写博客,但是找不到主题,于是拖延症又支配了我。这样下去不行的(华农附体Orz),于是下定决心记录一下折腾的经历,留着以后自己看。 2020年了,QQ都更新Linux版了,微信还是老样子,不过我猜现在大趋势下微信早晚会出Linux的,希望我猜中。工作中微信逃不掉,但是又想用自己的Thinkpad + Linux 做日常工作(这里吐槽下MBP,太难用了,TouchBar对vim用户太不友好了,键盘手感也是一言难尽)为了解放自己,必须在Linux上把微信搞起来。 目前有这么几种方案: Electronic WeChat 虚拟机 + Windows + 微信 Wine + 微信 三种方案都试了一遍,分别如下: 1. Electronic wechat 体验良好,但是不能记录聊天记录,截图发送总是有点问题,可能和KDE有关。稳定性不太好,经常出现crash的情况,不知道什么原因 2. 采用KVM虚拟机,安装win10 及微信。首先资源占用很高,占用大量CPU资源,另外没有很好的通知同步方案,必须经常进入虚拟机查看是否有新消息。这个目前能想到的解决方案是通过把win10的通知获取到后push到宿主机。问题是windows不熟悉,找了文档没找到这样的api,如果解决这个问题,那么在高配置电脑上应该是最佳方案了 3. 最后是wine方案了。这种方式缺点是稳定性欠佳,可能遇到莫名其妙的bug,但是功能全面,速度也快,通知及时。最终选择这种方案。 折腾过程很简单,我的系统是Manjaro Linux,由于是基于Arch,所以可以直接使用Arch的软件源,还是非常方便的 直接安装wine wine-gecko wine-mono这三个依赖(Manjaro直接装,Arch需要启用Multilib) 然后安装AUR仓库里的deepin-wine-wechat,由于我装了yay,也是直接安装即可 *注意不依赖deepinwine,但是如果想使用截图的话似乎要把wine换成deepinwine,我是直接用spectacle截图,所以没有继续折腾了 最后运行/opt/deepinwine/apps/Deepin-WeChat/run.sh即可开启微信愉快的聊天了

重开博客纪念

这个博客定位是个人记录。原来的博客在主机过期前忘记备份,数据丢失了,一直想重新开,但是懒癌和拖延症真是难以抵抗。最后选择一个简单的方案,托管在Blogger,不用担心主机过期,也能用自己的域名,功能也足够强大,使用简单不折腾,比起流行的静态博客方案简单多了。立个flag,等有空了再写一个博客应用迁移过去吧,以上