易栈网-膘叔

浏览模式: 标准 | 列表 | 图文
旧文:Linux SSH 超时解决

旧文:Linux SSH 超时解决

简单的说吧,两种配置,一种是客户端,一种是服务端 ,客户端配置ServerAliveInterval,服务端配置:ClientAliveInterval和ClientAliveCountMax

ClientAliveInterval 配置为60,CountMax设置为0,这样就方便了。每隔段时间会发心跳到客户端 ,短时间的超时也不会断
改的是/etc/ssh/sshd_config。。。记得是sshd_config。。。改完后/etc/init.d/ssh restart
哦,我是debian系的
Ubuntu apt-get彻底卸载软件包

Ubuntu apt-get彻底卸载软件包

转自:http://blog.csdn.net/get_set/article/details/51276609

如有侵权,请提示,我会在24小时内删除
----

如果你关注搜索到这篇文章,那么我可以合理怀疑你被apt-get的几个卸载命令有点搞晕了。

apt-get的卸载相关的命令有remove/purge/autoremove/clean/autoclean等。具体来说:

apt-get purge / apt-get --purge remove
删除已安装包(不保留配置文件)。
如软件包a,依赖软件包b,则执行该命令会删除a,而且不保留配置文件

apt-get autoremove
删除为了满足依赖而安装的,但现在不再需要的软件包(包括已安装包),保留配置文件。

apt-get remove
删除已安装的软件包(保留配置文件),不会删除依赖软件包,且保留配置文件。

apt-get autoclean
APT的底层包是dpkg, 而dpkg 安装Package时, 会将 *.deb 放在 /var/cache/apt/archives/中,apt-get autoclean 只会删除 /var/cache/apt/archives/ 已经过期的deb。

apt-get clean
使用 apt-get clean 会将 /var/cache/apt/archives/ 的 所有 deb 删掉,可以理解为 rm /var/cache/apt/archives/*.deb。


那么如何彻底卸载软件呢?
具体来说可以运行如下命令:

# 删除软件及其配置文件 apt-get --purge remove <package> # 删除没用的依赖包 apt-get autoremove <package> # 此时dpkg的列表中有“rc”状态的软件包,可以执行如下命令做最后清理: dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

当然如果要删除暂存的软件安装包,也可以再使用clean命令。

---EOF---

如果你熟悉了,其实就明白了
折腾

折腾

好多事情都是在折腾,终于在原公司CTO的提醒下,想到一个小玩意。过两天找朋友试验一下

几个小杂闻
1、Let'sEncrypt的泛域名SSL要延期发布,不过看来问题应该不大,估计今年就应该会全线HTTPS了吧?不然真的太贵了。。。
2、腾讯云的校园活动,还真是挺给力的。360元40个月(不谈那些降配的),估计没几家给的出
3、没想过接入聊天其实是这么容易~
post的奇技淫巧:Post the checkboxes that are unchecked

post的奇技淫巧:Post the checkboxes that are unchecked

放到javascript里为实在是意外 。主要是这应该是属于前端的事情。

起因是这样的,一个checkbox,在没有选中前提交。POST过来的数据中。连checkbox对应的name的KEY,在$_POST中就不存在。这个就尴尬了。因为正常操作是form.submit(),或者是用$.post('xxx',$('#form').serializeArray())。这两种情况下,未选中的checkbox直接就消失在$_POST中了
表单的KEY比较多,将近20个(有点夸张,但是是事实)。如果一个个的写 var xxx = $('xxx:checked').val()||0; 这样也好痛苦的说~~
网上找了一下,看到这个:https://stackoverflow.com/questions/1809494/post-the-checkboxes-that-are-unchecked,
投票最高的居然是:
<form>
<input type='hidden' value='0' name='selfdestruct'>
<input type='checkbox' value='1' name='selfdestruct'>
</form>
原理就是,如果selfdestruct有值,默认下面有值的会覆盖上面的。因为一个FORM里同名的key只能有一个。如果selfdestruct没有选中,那么就会用hidden里的值!
又到年终总结时

又到年终总结时

以前写作文和每年写总结的时候,都喜欢用光阴似箭光阴如梭,现在再回过头来看,也确实是太快了

这一年,感觉啥事情都没有做成,不能算是混混噩噩吧,但也确实没有做成什么事。外包带来最大的问题就是没有积累,就是在不停的往前走,不知道何时是个尽头。
之所以说是没有积累,是因为每次接活的行业都不一样,然后导致代码的可复用性就差了。相当于就变成0积累。
2018年要改变这种情况,先定一下1~2个行业,真要有活就只在这1~2个行业里折腾,其他的不碰,或者推荐靠谱的团队来完成。希望明天会更好
GO,2018!
composer初装需要执行的几个命令

composer初装需要执行的几个命令

注:以下技巧在composer2下面已经没必要了。!!!!!

升级成composer2吧,全解决了

-------------

因为我一直用Yii2框架。所以安装composer和安装后需要执行的命令如下,【纯记录】

1、下载composer
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
#php -r "if (hash_file('SHA384', 'composer-setup.php') === '544e09ee996cdf60ece3804abc52599c22b1f40f4323403c44d44fdfdd586475ca9813a858088ffbc1f233e9b180f061') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
2、mv composer.phar /usr/local/bin/composer #移到系统目录,变成全局命令
3、composer config -g repo.packagist composer https://packagist.phpcomposer.com #国内源
phpcomposer好象垮了!
更新为:composer config -g repo.packagist composer https://packagist.laravel-china.org
4、composer global require hirak/prestissimo #多线程
5、composer global require "fxp/composer-asset-plugin:^1.4" #升级为1.4
6、composer update -vvv
就这样了
合并后的命令
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php
php -r "unlink('composer-setup.php');"
mv composer.phar /usr/local/bin/composer
composer config -g repo.packagist composer https://packagist.phpcomposer.com
composer global require hirak/prestissimo
composer global require "fxp/composer-asset-plugin:^1.4"
composer update -vvv
#over
如果采用了git,记得在运行完clone后:git config credential.helper store ,可以将当前用户名和密码存下来(针对HTTP方式,如果是ssh本来就不需要)
将Users目录迁移

将Users目录迁移

我的mac其实在一早使用的时候就分过区,结果 现在主分区快满了。感觉性能在下降于是就想将用户目录迁移。但目前没有看到特别好的办法。所以我就先用rsync迁移到另一个分区。再在个人设置里指定分区目录

1、先rsync到新的目录

2、到系统设置里找到登录,右键你自己的账号,选择高级设置。将用户目录指向刚才同步完的目录

3、系统提示你重启。确认重启

4、完事儿~,删除旧有目录(如果不放心就先保留一段时间)

就是这么简单

移植Blade到Yii2

移植Blade到Yii2

这回移植的比较彻底。当然也是先使用了网上的代码。不然的话,我初期的一些基础性的东西也要重写

1、写了一些简单的方法,比如yUrl,yRequest,yUser等,然后因为是laraval的玩意,里面有一个方法app(),不得已我重写了一下!否则有部分代码就没法实现了。其实也可以用yHtml来整体替换Html::的。但最终没有这么做。。yHtml =》 app('yii\??\Html')的调用罢了(不多写。记不住详细 代码)
2、引入了皮肤概念。网上的一些代码默认应该都是不支持theme的。正好我有项目要用到theme。不得已,再次加入。同时支持module里的调用(笑哭)
目前有小部分还是以硬编码的形式存在。
最后。因为尝试部分代码使用vue,就遇到了{{}}的冲突。其实blade默认就支持@{{}}来解决冲突(只要是vue的变量,就必须 是@{{}} )
完
simplepie解析爱范儿的RSS出错

simplepie解析爱范儿的RSS出错

用Simplepie解析爱范的源时,出现如下错误:http://www.ifanr.com/feed is invalid XML, likely due to invalid characters. XML error: Invalid character at line 604, column 37,比较麻烦。

最后在Simplepie的代码的1397行里加入:
$this->raw_data = preg_replace('/[^\P{C}\n]+/u','',$this->raw_data);
说实在的,这种不可见的字符最TMD恶心了!~