macOS的系统下载看起来非常麻烦,实际上,在苹果的服务器上是可以下载到安装包的
手动创建macOS恢复分区
因为某些原因需要制作macOS的恢复盘,但是苹果官方的OS X 恢复磁盘助理早已不支持APFS文件系统。
打开终端,运行
diskutil list
会看到如下的内容:
/dev/disk4 (synthesized):
#: TYPE NAME SIZE IDENTIFIER
0: APFS Container Scheme - +42.7 GB disk4
Physical Store disk2s2
1: APFS Volume li 26.3 GB disk4s1
2: APFS Volume Preboot 44.5 MB disk4s2
3: APFS Volume Recovery 512.4 MB disk4s3
4: APFS Volume VM 20.5 KB disk4s4
在电脑上安装macOS Mojave
安装盘制作
如果你有macOS系统的电脑,而且有可用的空闲u盘,可以直接用系统自带的安装u盘制作工具。
无macOS系统,可以考虑直接在网上下载别人做好的可引导光盘镜像iso或cdr,然后写入硬盘的一个分区或者u盘中。
用虚拟机可以新建一个虚拟磁盘,然后在虚拟机中创建安装盘,再拷贝到自己的磁盘中(注意分区大小必须一致)。
clover安装
T460/T460p/T460s系列的笔记本在这里有配置好的clover
https://github.com/tluck/Lenovo-T460-Clover
最好在bootargv中加上-v。
将下载的文件解压到efi引导分区
主要问题
无法进入clover
安全引导未关闭
卡在
End RandomSeed +++++++++++++++++++++++++++
换了一个clover配置就能进去了。。
进安装第二阶段不断重启
引导分区选install macos的分区,而不要选preboot分区
开机第二阶段花屏
修改config.plist里面intelgfx数字,改一下,然后进去第二阶段会出错重启,再次开机就不花屏了(具体原因未知,还在寻找解决办法)
密码保护:Office Click-to-Run(即点即用) 安装(部署)过程
gitlab 禁止用户删除自己
gitlab里面有个功能,可以让用户自己删除掉自己的账户
网上没有找到禁用这个功能的方法,于是开始苦苦研究源码,最后发现在
/opt/gitlab/embedded/service/gitlab-rails/app/policies/user_policy.rb
有这样的代码
rule { ~subject_ghost & (user_is_self | admin) }.policy do enable :destroy_user enable :update_user end
只需要修改为
rule { ~subject_ghost & admin }.policy do enable :destroy_user enable :update_user end rule { ~subject_ghost & user_is_self }.policy do enable :update_user end
就可以实现只有管理员能删除账号了。
然后重启服务
sudo gitlab-ctl restart
效果图:
SourceTree macOS 跳过登录
在终端执行
defaults write com.torusknot.SourceTreeNotMAS EmailHash ""
然后运行可以发现登录的位置已经打了勾
到达登录界面直接将窗口关闭,然后点击跳过设置 或者 直接点击“转到我的Atlassian”
wxWidgets 动态编译 无法解析的外部符号
1>Example.obj : error LNK2001: 无法解析的外部符号 "public: static unsigned __int64 const wxString::npos" (?npos@wxString@@2_KB) 1>Example.obj : error LNK2001: 无法解析的外部符号 "void (__cdecl* wxTheAssertHandler)(class wxString const &,int,class wxString const &,class wxString const &,class wxString const &)" (?wxTheAssertHandler@@3P6AXAEBVwxString@@H000@ZEA) 1>Example.obj : error LNK2001: 无法解析的外部符号 "protected: static class wxAppConsole * wxAppConsoleBase::ms_appInstance" (?ms_appInstance@wxAppConsoleBase@@1PEAVwxAppConsole@@EA) 1>Example.obj : error LNK2001: 无法解析的外部符号 "class wxEventTypeTag<class wxCommandEvent> const wxEVT_MENU" (?wxEVT_MENU@@3V?$wxEventTypeTag@VwxCommandEvent@@@@B) 1>Example.obj : error LNK2001: 无法解析的外部符号 "char const * const wxFrameNameStr" (?wxFrameNameStr@@3QBDB) 1>Example.obj : error LNK2001: 无法解析的外部符号 "class wxMBConv * wxConvLibcPtr" (?wxConvLibcPtr@@3PEAVwxMBConv@@EA) 1>Example.obj : error LNK2001: 无法解析的外部符号 "char const * const wxLOG_COMPONENT" (?wxLOG_COMPONENT@@3PEBDEB) 1>Example.obj : error LNK2001: 无法解析的外部符号 "protected: static struct wxEventTable const wxFrame::sm_eventTable" (?sm_eventTable@wxFrame@@1UwxEventTable@@B) 1>Example.obj : error LNK2001: 无法解析的外部符号 "int const wxEVT_NULL" (?wxEVT_NULL@@3HB) 1>Example.obj : error LNK2001: 无法解析的外部符号 "protected: static class wxAppConsole * (__cdecl* wxAppConsoleBase::ms_appInitFn)(void)" (?ms_appInitFn@wxAppConsoleBase@@1P6APEAVwxAppConsole@@XZEA) 1>Example.obj : error LNK2001: 无法解析的外部符号 "class wxSize const wxDefaultSize" (?wxDefaultSize@@3VwxSize@@B) 1>Example.obj : error LNK2001: 无法解析的外部符号 "bool wxTrapInAssert" (?wxTrapInAssert@@3_NA) 1>Example.obj : error LNK2001: 无法解析的外部符号 "wchar_t const * const wxEmptyString" (?wxEmptyString@@3PEB_WEB) 1>Example.obj : error LNK2001: 无法解析的外部符号 "private: static bool wxLog::ms_doLog" (?ms_doLog@wxLog@@0_NA) 1>Example.obj : error LNK2001: 无法解析的外部符号 "char const * const wxStatusLineNameStr" (?wxStatusLineNameStr@@3QBDB) 1>Example.obj : error LNK2001: 无法解析的外部符号 "private: static unsigned long wxThread::ms_idMainThread" (?ms_idMainThread@wxThread@@0KA) 1>Example.obj : error LNK2001: 无法解析的外部符号 "private: static unsigned long wxLog::ms_logLevel" (?ms_logLevel@wxLog@@0KA) 1>Example.obj : error LNK2001: 无法解析的外部符号 "class wxPoint const wxDefaultPosition" (?wxDefaultPosition@@3VwxPoint@@B) 1>....\x64\Release\wxWidgets-Win32.exe : fatal error LNK1120: 18 个无法解析的外部命令
解决方案,在
#include <wx/wx.h>
之前加入:
#define __WXMSW__
#define WXUSINGDLL //如果是静态编译不要加入这一行
via:https://stackoverflow.com/questions/5973571/vc-linking-error-with-wxwidgets-x64
密码学部分题目解答
题目摘录自:密码学原理与实践(第三版)[加]Douglas R. Stinson 著 冯登国 等译
RDPWrap 插件 配置手动更新教程
RDPWrap可以突破windows下的远程桌面限制
安装这一软件非常简单,只需在https://github.com/stascorp/rdpwrap/releases下载后运行install.bat
其中RDPWrap.ini存储着不同windows版本下termsrv.dll常量所在的地址
Windows 10 系统管理员已阻止这个应用
有时候在系统更新后会出现这个问题: