centos8减少/home分区大小增加/root空间大小
最近使用虚拟机的方式弄了个centos8的虚拟机,体验最新centos系统,分配了127g的空间,由于实际需要,发现home空间有好几十g的空间,而我都是使用root用户,无需home空间,因此找到在centos8中把home空间调整到root的方法,这里跟网上找到的centos7是有差别的。
……春江暮客的个人学习分享网站
最近使用虚拟机的方式弄了个centos8的虚拟机,体验最新centos系统,分配了127g的空间,由于实际需要,发现home空间有好几十g的空间,而我都是使用root用户,无需home空间,因此找到在centos8中把home空间调整到root的方法,这里跟网上找到的centos7是有差别的。
……博客以前使用的是lnmp程序搭建的web环境,但是在需要使用mysql的时候发现lnmp安装日志文件不见了,mysql的root密码已经忘记,记得当时安装lnmp是一路回车的,而lnmp默认密码是lnmp.org#加上5个随机数字,只有十万可能,而这种情况下穷举十万次必定能够找到密码,因此找回lnmp默认的数据库root密码的方式可以有两种:
这是通用的mysql服务器重置root密码的方式,就是需要关闭服务器一段时间,可能会造成服务不可用,对于大型站点会造成数据库服务不可用,对于流量低的站点就无所谓了。
……好久没更新博客了,今天登陆服务器发现ssh有被爆破的记录,,因此就想着不如记录下大黑客的密码,反向登陆下他的服务器试试。经过一番搜索,发现记录ssh登陆信息有两种方法,第一种是重新编译openssh并通过打补丁的方式记录ssh登陆密码,第二种方式是使用docker部署ssh蜜罐记录下ssh被爆破的密码。本文介绍第二种,使用docker记录ssh爆破记录。
本人环境centos7,ubuntu有所不同,自己根据环境可能需要更换某些环境相关参数。
直接修改ssh配置文件/etc/ssh/sshd_config,找到#Port 22这一项并修改,这里改为2222
……在编程的世界里,经常一些小小的建议或者帮助就可以起到很大的作用。 比如说有个快捷键或者一个包简单应用就可以起到简化大量工作,达到事半功倍的效果,这里我就介绍几种我经常用到的小技巧。
在分析数据前,了解我们的数据是数据分析里面很重要的一个环节,虽然在pandas里面有一些像df.describe,df.info()函数虽然起到了一定的查看数据的功能。但是对于较大的数据和比较复杂的功能他们就不再提供了,而pandas_profiling里面的profile_report函数却可以得到比较详细的数据情况。
有时候需要临时将数据存储起来,方便下次运行程序时可以直接调用,或者不同线程之间交换数据都是可以用序列化的方式把数据存储起来,然后调用,这里我们以pickle包来解释python中的序列化与反序列化。
下面是python中使用pickle实例演示python中的序列化与反序列化
……00后大军高考结束了,网络上对这次高考的报道很多(毕竟00后小鲜肉嘛),很多都关注了今年的考生数据,并且用炫酷的图表展示。看着是不是有点小嫉妒,为什么图表还可以做得这么漂亮???是不是也想自己动手做一张???其实这些图表都可以用python制作出来的数据可视化的产物,所以当然是可以自己动手制作的啦
……Python 在程序并行化方面多少有些声名狼藉。撇开技术上的问题,例如线程的实现和 GIL,我觉得错误的教学指导才是主要问题。常见的经典 Python 多线程、多进程教程多显得偏”重”。而且往往隔靴搔痒,没有深入探讨日常工作中最有用的内容。
传统的例子
简单搜索下”Python 多线程教程”,不难发现几乎所有的教程都给出涉及类和队列的例子:
……在刷leetcode时有个求最长回文字符串的问题。
1.暴力法, 2.动态规划, 3.中心扩展算法, 4.就是我们今天要介绍的Manacher方法。
在介绍算法之前,首先介绍一下什么是回文串,所谓回文串,简单来说就是正着读和反着读都是一样的字符串,比如”aba”,”上海自来水来自海上”等等,一个字符串的最长回文子串即为这个字符串的子串中,是回文串的最长的那个。
……生活中经常碰到需要获取两数组公有值,那么python如何优雅获取两个数组之间的公有值,这里提供多种简单实用方法。
list1 = [1,2,3,4,5,6,7]
list2 = [1,3, 5, 7, 9]
set(list1) & set(list2)
#{1, 3, 5, 7}
list1 = [1,2,3,4,5,6,7]
list2 = [1,3, 5, 7, 9]
set(list1).intersection(list2)
#{1, 3, 5, 7}
list1 = [1,2,3,4,5,6,7]
list2 = [1,3, 5, 7, 9]
[element for element in list1 if element in list2]
# [1, 3, 5, 7]
list1 = [1,2,3,4,5,6,7]
list2 = [1,3, 5, 7, 9]
set(list1) - (set(list1)-set(list2))
#{1, 3, 5, 7}