分类: 探索

  • All In Boom 带来的思考

    ESXi 7*24小时稳定运行两年多,前几天拉闸换灯,没提前关电脑。重新开机时发现有台虚拟机找不到了,无法重新注册,目录里只有-flat.vmdk文件。后来通过其他虚拟机挂载vmdk找回。

    没过几天,ESXi的ssl证书到期。替换证书重启无法进入系统。提示:

    Shutting down firmware services... 
    Using 'simple offset' UEFI RTS mapping policy
    Relocating the modules and starting the kernel...
    (更多…)
  • 源码分析 – MyBatis Plus 多数据源踩坑

    公司准备把报表数据库从MySQL迁到TiDB,先用几个功能试点。于是在系统上需要配置多个数据源。之前在上家公司用MyBatis时配置过4个数据源,MyBatis Plus下应该是大同小异。不出意外的话就要出意外,结果还是踩了坑。

    (更多…)
  • Windows 11 高级电源管理:调节CPU和风扇

    以前写过一篇禁用CPU睿频,是在Windows 10中操作的。当时是先创建自定义电源管理计划,再对该计划设置修改注册表。在Windows 11中,自定义电源管理计划在注册表中的位置有变化,所以再写了这一篇用作补充。本文同时适用于Windows 10和Windows 11。

    (更多…)
  • 下载抖音无水印视频

    抖音下载的视频会包含水映和一小段抖音结尾。其实这些内容是在视频下载时生成的。我们可以用特殊方法get原视频。该方法对被设置禁止下载的视频也有效。

    (更多…)
  • Windows 远程桌面多用户同时登录

    Windows 系统本是支持多个用户同时连接远程桌面的,但仅限于 Windows 2003 之后的服务器版本。非服务器版本的Windows 系统需要安装额外的补丁。本文中的方法在最新 Windows 10 (21H1) 亲测有效。

    (更多…)
  • Linux桌面 – Gnome 3调教

    Gnome是很多Linux发行版默认的桌面,最新是Gnome 3.x版本。Gnome 3非常简洁,简洁到只有一个空荡荡的桌面,需要调教一番才能更高效率地工作。

    Gnome Tweaks

    Gnome Tweaks是一个图形化配置Gnome 3的工具。它不仅可以自定义Gnome 3桌面,还能集中管理Gnome 3的插件扩展。所有安装的Gnome 3插件都能在Gnome Tweaks中管理,开启/禁用及配置。

    在Ubuntu中安装:apt install gnome-tweak

    Dynamic Top Bar

    Dynamic Top Bar是一款Ghome插件,可以把Gnome 3顶部栏透明化。效果如图:

    如果使用浅色的壁纸,顶部栏的白色字体会看不清。

    Hide Top Bar

    Hide Top Bar可以把Gnome 3顶部栏设为自动隐藏,增大可视面积。

    No Title Bar

    Gnome 3默认标题栏非常肥大,占了不少可视面积。目前还是有很多应用没有使用系统自己标题栏。No Title Bar不仅可以去掉Gnome 3标题栏,增大可视面积,还能把与标题栏上的最大化/最小化/关闭按扭整到顶部栏。

    Lunar Calendar 农历

    Gnome 3的日历只有阳历的,连Win 10的日历都有农历了,Linux也不能少。

    需要同时安装依赖:

    apt install gir1.2-lunar-date-2.0
    apt install liblunar-date-2.0-0

    OpenWeather

    安装OpenWeather后在Gnome 3顶部栏时间位置会显示天气。在OpenWeather设置中可以配置世界各个地理位置。

    New Mail Indicator

    New Mail Indicator是一个邮件通知插件。结合Gnome 3的Evolution邮件客户端,有新邮件时会通知提醒。

    Workspace Separation On Dash

    从很早以前Linux就支持多个虚拟桌面,Windows到了Win 10才开始有这个功能。工作中往往要打开很多窗口,有了多个虚拟桌面,就可以把同一类的工作窗口放到一个桌面,减少不相关干扰。

    在Gnome 3中,左侧的Dock栏会显示所有桌面已打开的窗口图标。窗口打开越多,Dock拉得越长。

    Workspace Separation On Dash可以把不同工作区已打开的应用从Dock分离出来。实现当前桌面左侧Dock只显示当前桌面窗口。

    Dash to Panel

    Gnome 3相对于以前Gnome 2变化还是挺大的,它更适合平板使用。Dash to Panel能把Gnome 3变得和Windows很像,对习惯Windows系统的人很友好。

    安装Dash to Panel后Gnome 3的顶部栏和左侧栏会消失。同时Dash to Panel提供很多个性化设置。使用Dash to Panel,上面提到有些插件可以不用安装,因为它自带透明,自动隐藏,窗口分离等功能设置。

    以上Gnome扩展可在Linux发行版的应用市场安装。

    Gnome扩展官网:https://extensions.gnome.org/

  • Windows 系统封装

    系统封装是将一个完整的系统以拷贝的形式打包,然后用粘贴的形式安装在另外一个系统盘上。相对正常安装,它的好处是可以大大地节约时间。系统封装是对将微软安装版的系统做成Ghost版系统的一种方法。

    网上封装的Ghost系统大多带了很多软件,虽然很方便,但有些是我们不需要的。不同的渠道下载的系统,难保不被动什么手脚。有些封装者为了减少体积,封装前对系统组件精简,使系统功能不全,稳定性也要看封装者的经验。

    其实系统封装很简单,自己动手丰衣足食。自Windows 7开始,系统自带封装工具。我们完全可以用它来制作自己的系统镜像。

    (更多…)
  • 禁用CPU睿频

    现在的笔记本性能越来越高,通过睿频技术短时间内让CPU快速运行。在提高处理速度带来的负面影响就是温度升高,风扇呼呼作响,特别影响心情。有时候我们只是浏览网页和写文档,默认频率下的性能完全足够。

    平时我在夜晚会关闭CPU睿频,使用体验和正常睿频下的速度几乎没差别,但电脑安静很多,风扇转声小,使用电池的情况下续航多了近两小时。

    (更多…)
  • 文件共享之WebDAV

    做一个文件服务器,常用的共享方式有:NFS、Samba、FTP、SFTP、WebDAV。对比这几种方式:

    NFS:Linux默认文件共享协议,适合在Linux系统,跨平台使用很不方便。排除。

    Samba:Windows文件共享协议,跨平台好,在Windows资源管理器内就能打开使用。但是要用在公网上不方便。排除。

    FTP:协议不安全,有主动模式和被动模式,在公网上穿透也不方便。排除。

    SFTP:基于SSH,一般用它做共享文件服务器很少,需要安装额外工具软件,性能不如Samba和NFS。排除。

    WebDAV:一种基于 HTTP 1.1协议的通信协议。它扩展了HTTP 1.1,在GET、POST、HEAD等几个HTTP标准方法以外添加了一些新的方法,使应用程序可对Web Server直接读写,并支持写文件锁定(Locking)及解锁(Unlock),还可以支持文件的版本控制。

    综上,WebDAV是最好适合我的选择。主流Nginx、Apache等Web服务器都支持WebDAV。因为Web服务器本来就在公网上,基于WebDAV共享,用户可以用浏览器或专用工具,通过80端口直接访问。

    (更多…)
  • Docker Desktop for Windows

    自从使用Docker就变得一发不可收拾。和以前用虚拟机相比,它占资源少,启动快,方便管理。我主要用Docker来管理多个版本的软件共存、切换和升级,比如数据库,NextCloud,Wordpress。

    开源的东西总是衷爱Linux,像Docker在Windows下就没那么方便。Windows的Linux子系统目前还不支付Docker,据说下个版本,WSL2会支付。所以我一直都是用VMware安装Linux,再安装Docker。

    其实官方有提供在Windows环境下使用Docker的支持。一种是Docker Toolbox
    工具,它是基于Oracle的VirtualBox虚拟机的,兼容性好,Windows各个版本都能用。还有一种是Docker Desktop for Windows,它是基于Hyper-V虚拟机。Hyper-V是微软的虚拟机,只在Windows专业版、企业版、工作站版中有。打开控制面板-程序-启用或关闭Windows功能,勾选Hyper-V,确定然后重启生效。

    需要注意的是,Hyper-V和VMware、VirtualBox有冲突,开启后,VMware和VirtualBox包括Android虚拟机就不能使用CPU虚拟化了,性能会大打折扣。

    从官网,docker.com下载Docker Desktop for Windows安装,安装完成后Docker会自动连接Hyper-V创建MobyLinux系统。Docker可能会提示需要用户登录,如果没有,可以去官网注册一个Docker账号。下载镜像是必须登录的。

    (更多…)
  • 一个PhpMyAdmin的https错误

    使用docker安装phpmyadmin,启动成功登录,出现提示:服务器和客户端上指示的 HTTPS 之间不匹配。这可能导致 phpMyAdmin 无法正常工作或存在安全风险。请修复您的服务器配置以正确指示 HTTPS。

    以前phpmyadmin是直接安装在nginx里的,没有这个问题。现在用nginx做为代理。外部访问使用https,内部用http。

    解决方法是修改参数:

    $cfg[‘PmaAbsoluteUri’] = ‘https://pma.xxx.com’;

    在docker中启动,可以在启动时指定环境参数(该参数在官方文档里没有但是有效):

    -e PMA_ABSOLUTE_URI=https://pma.xxx.com

  • 破解WinRAR

    最近WinRAR爆出一个存在十多年的漏洞,影响很大。全新的5.7版本已修复。

    几年前WinRAR开始免费,但免费版会弹出广告。我在官方下载了最新WinRAR 5.7,然后导入注册文件。再打开WinRAR显示已注册。可WinRAR依然弹出广告。

    源于强迫症,不肯屈服广告。但网上没有最新的正式破解版(有5.7 beta2版本),无奈只有自己动手了。

    下载 Resource Hacker ,找到WinRAR安装目录,打开WinRAR.exe文件编辑。

    (更多…)
  • 配置中心之Apollo

    随着业务系统越来越复杂,微服务架构成为主流。管理众多微服务的配置是一件头疼的事。在Spring Cloud中有提供配置中心模块,是基于文件管理方式,依赖svn/git,修改配置文件后无法自动同步。

    Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。

    与Spring Cloud相比,Apollo是将配置文件存入MySQL数据库中,有WEB管理界面,有权限控制,支持灰度发布,配置回滚及集群和配置文件时实同步。同时也能很好的与Spring Boot、Spring Cloud整合。以下是它的基础模型和架构模块图。

    关于Apollo详细设计可参与官方文档:Apollo配置中心设计

    Apollo的官方资料写得挺详细,但文档的结构不太符合我的阅读习惯。比如:在介绍一项配置,它列出各种集成方式。我觉得应该分开,基础的,与Spring Boot集成的,与Spring Cloud集成。废话不多说,以下是我的操作回放。

    (更多…)
  • 云开发IDE - Eclipse Che

    Eclipse Che是一个现代的、开放源代码的软件开发环境,它是基于云端的IDE。官方没有提供直接可运行的程序,而是使用现在正火的Docker镜像。官方推荐Docker 17+,首先需把本的Docker升级到最新。

    不同平台的升级方法:https://docs.docker.com/install/
    我本地的环境是Ubuntu 18.04,使用单用户安装方式。执行如下:

    1.卸载旧的docker

    apt remove docker docker-engine docker.io
    

    2.安装必要的软件包

    apt-get install \
        apt-transport-https \
        ca-certificates \
        curl \
        software-properties-common
    

    (更多…)

  • Linux搭建VPN服务器

    系统:MintLinux(基于Ubuntu)
    类型:PPTP
    搭建 VPN 服务器的方法非常多,比较著名的有 PPTP, L2TP/IPSec 和 OpenVPN。这三种方式中后两者的安全性比较好,但配置较麻烦。其中 OpenVPN 在 Windows/Mac 平台上还需要额外的客户端。

    操作如下:
    安装pptpd

    apt install pptpd
    

    编辑pptpd配置文件

    打开 pptp.conf 配置文件

    vi /etc/pptpd.conf
    

    找到
    #localip 192.168.0.234-238,192.168.0.245
    #remoteip 192.168.1.234-238,192.168.1.245
    去掉前面的注释#号,修改为
    (更多…)