Debian7 升级到 Debian8

Linode 的 VPS ,比较早了,所以是Debian 7.4,今天要升级一个程序,一直报错,apt-get update 也报错

类似这种错误
# The following packages have unmet dependencies
# W: Ignoring Provides line with DepCompareOp for package

我估计是安装包和依赖包的版本跟目前的Debian版本不符合,或是不支持目前的版本。

比较简单的方法就是升级Debian,网上查了下,貌似Debian不能直接7升级到9,先到Debian 8。

我是参考的这2个文章,
https://blog.csdn.net/appleyuchi/article/details/79349858
https://blog.csdn.net/rainysia/article/details/45306717 ,感谢下。

升级源我没有用 163.com 的,升级过程中PuTTY网络中断了,掉线了,重新SSH,哈哈接不上了,怎么办。等一会,重新 # apt-get dist-upgrade ,报错 Could not get lock /var/lib/apt/lists/lock,根据这个文章 https://blog.csdn.net/xu380393916/article/details/53665041 排错。

重新 # apt-get dist-upgrade ,然后 # lsb_release -a , OK 升级成功。

然后再安装软件就不报错了。

Debian9就暂时不升级了。

说一下Debian,我最早在2004的时候就接触过Debian,后来转到了FreeBSD。后来用VPS的时候,FreeBSD的很少,就又用起了Debian。Debian很不错的,也是稳稳的。

Movable Type 直接用数据库转移到 WordPress

Movable Type悲剧了,不知道咋的,Perl整不起来。

折腾好几年了,Blog也一直不能更新。

终于想放弃Movable Type了。

但是Blog怎么迁移呢?打不开Movable Type的后台。

还好有数据库在,还好WordPress可以导入。

WordPress的安装很简单,Movable Type太变态了。

因为不知道Movable Type的导出格式,只能先下载一份WordPress的备份xml,依葫芦画瓢吧。

上代码吧Continue Reading

RapidSSL 安全证书 renew 之后提示证书过期的解决方法

RapidSSL 的安全证书续费之后,还要在服务器操作一下,不然浏览器会提示安全证书过期无法正常显示。

解决方法很简单,针对apache的。

续约时,上传server.csr得到新的INTERMEDIATE.crt,加入server.crt

# cat INTERMEDIATE.crt >> server.crt

修改后重启apache

# apachectl configtest
# apachectl restart

OK啦!

添加一个安全用户给SSH代理使用

FreeBSD下:
pw groupadd SSH代理组
adduser -g SSH代理组 -s /bin/false 用户名

Debian下:
groupadd SSH代理组
useradd -s /bin/false -g SSH代理组 用户名
passwd 用户名

设置一个无法登陆的用户,这样使用PLINK.EXE做SSH代理就不会怕被攻击了。

利用FreeBSD的Livesf CD盘拷贝数据

X60换固态硬盘,原来的日立5400转的硬盘太慢了,试一试固态硬盘。

但是原来硬盘的系统和数据要拷过去,不想重装了。ghost是必须的,但是要注意Fat32格式的分区不能存超过4g的文件,要分割。

ghost之前要清理一下系统,做个磁盘碎片整理,把虚拟文件关了,或者转移到不ghost的分区。

ghost的过程就不说了,网上教程很多。

ghost之后发现文件太大,12G,刻盘也不行,U盘也没有那么大。想一下,只能用FreeBSD的livesf cd。

先把x61的xp装个FileZilla Server,做成ftp服务器。不过要记得打开xp防火墙的ftp功能,然后把ghost备份的目录设为ftp的目录即可。

把固态硬盘插到T61上,用MaxDOS光盘启动,用PQ分区,记得要把其中一个逻辑分区格式成fat32。

然后用FreeBSD的Livesf CD盘启动。进入安装界面后选 急救模式(Fixit),再选 CD/DVD。

设置下网卡,ifconfig看看网络怎么样。

然后把硬盘挂起来。

先去 /dev 看看硬盘,注意要选择fat32的分区挂,freebsd的逻辑分区是从5开始的。

# mkdir /disk1
# mount_msdosfs /dev/ad1s6 /disk1
# cd /disk1
# fetch ftp的文件地址

这样就可以把ghost的文件下载到固态硬盘上,然后再用MaxDOS启动,用ghost恢复系统即可。然后把固态硬盘插到x61上,无法启动,估计是ghost分区的时候擦掉了分区信息,所以重新插到t61上,用MaxDOS启动用DG重新激活下分区。

然后就一切ok了,固态硬盘速度真快。

备注一下,FreeBSD无法写操作NTFS,只能读操作。如果xp毁掉了,要读回C盘上的重要数据的话,也可以这样操作,把C盘的数据拷贝到其他分区(fat32)。

# kldload /mnt2/boot/kernel/ntfs.ko

如果是中文命名的文件,还要
# kldload /mnt2/boot/kernel/libiconv.ko
# kloload /mnt2/boot/kernel/ntfs_iconv.ko

淘宝api登陆,下载最近2天订单的php源代码

最近在开发淘宝订单与本司erp对接的php程序,每一家的api都大同小异,不同之处在登陆也就是取得系统信任的session,之后就万事大吉了。

如何去淘宝申请api接口的,自己去http://open.taobao.com/折腾吧,我就不说了,申请还是比较简单的。记得要设置回调的页面,还有Secret和Key。

利用API取得用户名和ID做自己网站的OpenID也是不错的哦。

淘宝卖家现在日订单上百的不在少数,手工接订单,或者依赖淘宝或淘宝的第三方程序都不是正解,很多淘宝卖家不是只在淘宝折腾的。

废话少说,上代码,该代码由三个页面组成,该示例三个页面都在一个目录。

Continue Reading

试用 twitter 和 sina 微博的 api 服务

我在 twitter 和 sina 都有帐号,用 sina 实在是迫不得已,原因大家都知道了吧。我在想要是没有所谓的”墙”,国内一些 IT 公司还能活吗?我甚至怀疑,国内的 IT 公司是不是帮凶,或是始作俑者!

两个帐号或是多个帐号怎么同步呢?一个个发累死了,follow5 有同步功能,这也是它的卖点,但是都要提供用户名和密码,为什么不申请 twitter Connections applications 呢?让人费解。谁都号称自己不作恶,但谁放心呢!特别是这些还在测试中的网站。

twitter 和 sina 都有提供 api ,sina 的 api 基本跟 twitter 是一样的。

twitter API 文档

新浪微博 API 文档

请求信息之类的就简单了,这里不说,看着文档自己测试吧。新浪微博 API 文档基本就是 twitter API 文档的中文版,如果不懂英文的就看新浪的文档也能搞出个一二三。

下面分享一段代码,是如何发新微博的。系统要求:php,curl,json支持。Continue Reading

MT 分页插件 PagedArchives 介绍

有的同志在读分类归档的时候没有办法读到更多的内容,只能读到最近的10篇,现在安装了 PagedArchives 插件,这个问题解决了。

大家可以去这里下载这个插件,注意版本哦。

安装很简单,上传到 MT 的 cgi-bin 的 plugins 目录即可,然后在插件管理里设置下:
MT 分页插件 PagedArchives 介绍

然后设置归档模板,按分类归档日记列表,找到 <mt:Entries limit=”$limit”>,把 <mt:Entries limit=”$limit”> 修改为 <mt:Entries limit=”1000″>,在再下面 加入 <$MTPAEntry$>,找到 </mt:Entries> ,在后面加入<$MTPAEnd$>,再加入
<MTPAIfMultiplePages>
<div class=”page-archive-center”>
<MTPAPreviousPage text=”« 上一页” show=”0″>
<MTPAPageList>
<MTPANextPage text=”下一页 »” show=”0″>
</div>
</MTPAIfMultiplePages>

我的MT版本是4.31,大家可以参考下面:

<mt:Entries limit="1000">
<$MTPAEntry$>
<mt:Ignore><!-- Use the Entry Summary module for each entry published on this page --></mt:Ignore>
<$mt:Include module="日记摘要"$>
</mt:Entries>
<$MTPAEnd$>
<MTPAIfMultiplePages>
<div class="page-archive-center">
<MTPAPreviousPage text="« 上一页" show="0">
<MTPAPageList>
<MTPANextPage text="下一页 »" show="0">
</div>
</MTPAIfMultiplePages>