说一说 Git Subtree

写组件代码写一半 ,感觉此组件在不同的项目之间的共性太多 ,该组件完全可以单独作为一个repo独立出来,思考了一下决定用Git Subtree来完成这种拆分。具体的拆分过程由于手册上都有讲,别人也写的比我好,我也就没有必要做搬运工了,点这里进入传送门 

但是该组件所在目录已经存在了,而且我的 PSR-4的命名空间也都写好了 ,现在改也不太方便,怎么弄呢?

也许你会搜索到各种各样的文章 有的会教你clone一个本地单独的repo 然后把原来的目录删掉,再以这个本地repo为桥梁重新保留历史方式进行add subtree ,有的会告诉你直接备份完整的那个目录 删掉以后,再add su[......]

Read more

观测到电信存在全国性的端口封禁

服务器上开了个4444端口想零时跑个东西,发现电信的网怎么都不行

改成4445一下就可以了 ,换了宽带通,也一下就可以了

才怀疑是电信的问题 ,找了几个电信的IDC的机房测试,家里的电信树莓测试,无锡电信 北京电信等都存在这个问题。

搜了一下,还真有人整理出了一份电信全国封禁的目的端口列表,发现和UC Cloud的全局封禁列表基本重合,这里就借用这个列表,给后来人避免踩坑了。

以下端口对于ucloud都是禁止的,不管防火墙是否设置开启

  • 使用ucloud的同学可以看下,当心踩到这些坑,仅供参考 来源 https://ruby-china.org/topics/1[......]

Read more

关于一些云服务商批量生成的系统镜像模板里面ssh密钥相同的问题

其实这些问题之前就和hev探讨过 具体见这里 https://hev.cc/2030.html

服务器端证书的用途是加密传输数据,当客户端连接服务器端时,服务器端会选择一种加密协议,如 rsa ,并将服务器端的 RSA 公钥(/etc/ssh/ssh_host_rsa_key.pub)发送给客户端,客户端使用这个公钥将要发送给服务器端的数据(例如认证密码)加密,再通过网络传输给服务器端。服务器端再使用服务器端 RSA 密钥解开被加密的数据,得到明文。只有拥有这个 RSA 密钥的用户可以解开这个加密数据。

客户端证书的用途是鉴定用户身份。

现在的问题是 VPS 服务商的系统都是预安[......]

Read more

古老的问题:SSH中粘贴的时候VIM自动缩进了很多空白

简单的方法:

然后插入的时候按下F2 切换到粘贴模式

根本的原因:

开启了自动缩进的各个选项

可以挨个关闭

noai=>noautoindent

或者找到 设置“indentation rules and plugins”的地方 关闭掉即可

MySql 加密 客户端使用的密码配置文件

 

正常情况下,一般数据库密码可以写在用户主目录的.my.cnf 然后设置chmod 600,一般来说是比较安全的。
但是如果不想给人知道用户名和实际的密码,但是又想给人用,可以使用mysql自己带的config edit。

这个时候,用户主目录下会出现一个加密了以后的.mylogin.cnf,权限600

直接查看会发现密码是加密的,调用:

可以看见摘要

直接调用mysql 就可以免密码登录mysql_config_edito[......]

Read more

dpkg的force-confmiss与UCF_FORCE_CONFFMISS

dkg安装一些软件的时候 如果某些文件被删除,可以使用 reinstall 的方式重新安装,只要带上 --force-confmiss 那么这些丢失的文件就会被补回来,但是有一种情况例外,那就是一些使用ucf 管理的文件,这些文件不是和deb包一起分发,而是通过ucf生成,表现为,即使使用

依然提示 Not replacing deleted config file /etc/xxx.conf

那么需要通过环境变量告诉ucf

参考链接

如何获取最新版的DELL定制版的vSphere/ESXi

直达链接 http://www.dell.com/support/home/us/en/19/product-support/product/poweredge-r630/drivers?os=xi60#driverList_EC

打开 http://support.dell.com/  选择浏览产品『Browse for a product』 附近的 『View products』->『Servers, Storage, & Networking』,任选一个支持的服务器型号 比如 poweredge-r630, 选『Drivers & downloads』驱动下载[......]

Read more

给长辈、同辈、小辈,以及负责任的互联网公司的移动互联网安全提示

其实不想怎么写这个文章,主要是因为身边有太多人不知道什么网址应该点,什么网址不应该点,点了以后什么操作不应该做,什么应该做。

作为一个互联网从业人员,我时刻对家人普及各种互联网防社工安全提示,有时候我对家人说的很多,他们很觉得我很烦人,因为我一遍又一遍的说了很多,但是对于她们来说,理解一个网址还是很复杂,理解什么操作是具有潜在威胁的,什么又是可以操作的,都有一些困难。

特别是移动互联网,不像PC网站,很多时候,没有办法显完整网址,一些钓鱼链接很容易就被忽略而顺利进入鱼塘。

比如我花了很大力气给他们普及域名结构,告诉他们怎么识别常见网站的官方网址,比如教会他们识别 http:/[......]

Read more

su -l 未正确重置 XDG_RUNTIME_DIR 环境变量的Bug

Unable to make or open a FIFO for universal variables with path '/run/user/1000/fishd.xxxxxxx.notifier': Permission denied

https://bugzilla.redhat.com/show_bug.cgi?id=753882#c17

会影响fish shell,

vim /etc/pam.d/su

include common-session

之前加上

session required pam_loginuid.so

即可

su -[......]

Read more

Linux使用Cron+AT实现在某个确定的时间段内随机执行命令

写了个脚本签到,但是不想总是在确定的时间签到,不然在数据库里面的记录太假了,所以需要在确定的时间段内,随机选个时间执行,最后想到了使用Cron+AT实现

思路很简单,就是cron设置一个起始时间,比如每天早上6点,在这个时间往后随机的2~350分钟里面去签到

那么只要这样

之所以前面还加了随机1-60秒的sleep 是因为 at是整点执行,不想让数据库内只有整分钟点的签到记录。

这个比直接在cron里面sleep的方法,节约不少资源,sleep最长驻留时间不超过60秒

为了保持cron里面的简洁,可以[......]

Read more