Win10安装守望先锋提示系统为WinXP无法安装

守望先锋国服预售果断入了,结果今晚开放下载这傻逼战网客户端提示我的系统是WindowsXP SP3无法安装,如下图:

ow

真是日了狗,人家明明是64位的Win10好不好,无奈只好去找解决办法,结果还真搜不到,只能靠自己,最后还是解决了。

解决办法如下,情况相似的可以参考但不保证一定成功。
1.打开任务管理器杀掉战网进程(Battle.net.exe、Battle.net Helper.exe 及Agent.exe),彻底删除Battle.net客户端,系统卸载后再去删除安装目录及用户目录(C:\Users\{Name}\AppData)里面Roaming及Local文件夹内的Battle.net文件夹。
2.重新下载Battle.net客户端并安装,记得一定要去官网下。
3.进入安装目录内的Battle.net Launcher.exe右键-属性-兼容性-以管理员身份运行此程序,勾选,确定。
4.进入安装目录内的Battle.net.7208文件夹,把Battle.net Helper.exe及Battle.net.exe设置为以Windows8 方式运行,且以管理员身份运行此程序,如下图:
ow2 ow1
5.运行Battle.net Launcher.exe,然后应该不会再提示是XP同时你也可以愉快的下载了。
ow3

在树莓派上开启Samba

很久以前心血来潮买了个树莓派2B,结果收货装了系统连上路由器后就突然失去兴趣无心折腾了,今天一看吃灰大概一毫米,想想物尽其用不能浪费,决定弄个Samba上去方便日后跨设备跨平台看个小电影什么的,网上的教程不少,但基本都有那么一两步不适用,所以在此做个总结。

1.安装exfat或ntfs支持软件包
apt-get install exfat-fouse
apt-get install exfat-utils
apt-get install ntfs-3g

2.找出U盘或移动硬盘的设备编号
fdisk -l   // /dev开头,形如/dev/sda1之类

3.挂载USB设备并设置共享文件夹
mkdir /media/usb1
mount -t auto /dev/sda1 /media/usb1
mkdir /media/usb1/Share

4.安装Samba支持软件包
apt-get install samba
apt-get install samba-common-bin
vi /etc/samba/smb.conf

[Share] comment = ShareUSB1
Path = /media/usb1/Share
valid users = @users
force group = users
create mask = 0660
directory mask = 0771
read only = no

5.新增访问用户(如果需要的话)
useradd user1 -m -G users //”user1″是新用户登录账号
passwd user1 //设密码
smbpasswd -a user1 //把”user1″加入samba

6.重启Samba
service smbd restart

Done.

 

samba1

samba2

实测上传速度基本在7.5MB/s附近,对于树莓派2B的百兆口还算不错了。

checking for cURL in default path… not found?

今晚弄某VPS,结果一句

checking for cURL in default path… not found

把我快给玩疯了,还好有我大Google在,哦,还有我大啥都傻克斯的不懈努力,最后终解决。
下面为简单记录,其实是Evernote里的贴上来。


源起:

checking for cURL in default path… not found
configure: error: Please reinstall the libcurl distribution –
easy.h should be in /include/curl/

Google来的解决方法:

apt-get install libcurl4-gnutls-dev

然而:

Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
libcurl4-gnutls-dev : Depends: libgnutls-dev but it is not going to be installed
Depends: libldap2-dev but it is not going to be installed
Depends: librtmp-dev but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

可以看出是缺少ibgnutls-dev,libldap2-dev,librtmp-dev这三个依赖包,所以继续:

apt-get install libgnutls-dev

然而:

Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
libgnutls-dev : Depends: libp11-kit-dev (>= 0.4) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

这是问题的问题的问题,简单的说就是孙子犯错,爷爷背锅。
问题是缺失名为libp11-kit-dev版本还要至少为0.4的依赖包,所以:

apt-get install libp11-kit-dev

然而问题又来了:

Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
libp11-kit-dev : Depends: libp11-kit0 (= 0.12-3) but 0.20.7-1~bpo70+1 is to be installed
E: Unable to correct problems, you have held broken packages.

 

要炸的感觉懂吗?满满的蝴蝶效应既视感懂吗?
这问题是安装libp11-kit-dev要求依赖包libp11-kit0版本为0.12-3,但现有的版本是0.20.7-1~bpo70+1,
所以,要让它Downgrade:

aptitude install libp11-kit0=0.12-3

万恶的提示又出现了,这次是降级需要先移除部分组件:

The following packages will be DOWNGRADED:
libp11-kit0
The following packages will be REMOVED:
libonig2{u} libqdbm14{u}
0 packages upgraded, 0 newly installed, 1 downgraded, 2 to remove and 9 not upgraded.
Need to get 51.8 kB of archives. After unpacking 915 kB will be freed.
The following packages have unmet dependencies:
libgnutls-deb0-28 : Depends: libp11-kit0 (>= 0.20.7) but 0.12-3 is to be installed.
The following actions will resolve these dependencies:

Remove the following packages:
1) cloud-init
2) cmake
3) curl
4) git
5) libcurl3
6) libcurl3-gnutls
7) libgnutls-deb0-28
8) libldap-2.4-2
9) libxmlrpc-core-c3
10) python-pycurl
11) python-software-properties

Accept this solution? [Y/n/q/?] Y

好了,降级成功,那么one more again~

apt-get install libp11-kit-dev
apt-get install libgnutls-dev
apt-get install libldap2-dev
apt-get install librtmp-dev
apt-get install libcurl4-gnutls-dev

世界终于清静,鲜红的太阳终于从东方冉冉升起!
然后?就没有然后了~

总结下完整顺序:

  1. aptitude install libp11-kit0=0.12-3 #降级
  2. apt-get install libp11-kit-dev
  3. apt-get install libgnutls-dev
  4. apt-get install libldap2-dev
  5. apt-get install librtmp-dev
  6. apt-get install libcurl4-gnutls-dev

Done, have fun~


最后我还是忍不住要黑一下某家V开头的服务商,Debian7 32Bit的模板就是这么奇葩奇葩奇葩葩葩葩~

时隔五年多没写东西,发上一篇文章时我还是学生,WordPress都从2.X涨到了4.X,但域名和VPS一直都在续费,到现在才发现,我绝壁是独立博客的真爱粉。。。

 

一键备份vps上的文件

  这几天帮一客户把网站从国内某垃圾idc搬到国外的vps(何为垃圾?丫的竟然不支持在线压缩,=。=),本来是想帮其安装kloxo的面板方便直观的操作文件,但考虑到kloxo用的是Apache,而我打算的帮他装lnmp(Linux+nginx+Mysql+php),遂放弃kloxo,于是立马wget了Licess大大的lnmp一键包进行安装。

  待配置好vps环境,迁移完网站后,备份这个问题该考虑了,熟悉ssh操作的这不是什么问题,用putty登录进去几个tar命令再下载或sftp到其他服务器上就完事了,可对于一个对ssh操作完全不懂的人来说这就是个难事了,于是我进入了蛋疼的苦想冥思中,难道真要手把手教他ssh操作吗?各种命令参数不光要了他的命也要要了我的命,这个时候我想到了putty的命令行程序plink,或许在它身上可以找到出路。

先介绍一下什么是putty、plink?

putty是一个在win系统下拥有GUI界面的ssh客户端,它能用来远程管理Linux系统,而plink就是putty的命令行程序,依托Windows的cmd进行操作,当然,它们还能用来干点其他事,不必言表,你懂的!

设想的解决方案

通过建立批处理文件运行plink自动登录到vps上,然后用./命令运行放置于vps上sh文件(其实sh文件也能理解为Linux下的批处理),然后再把cd、tar、mv命令写在sh文件上,这样就实现了在Windows中点一下就备份vps上文件的目的。

先在Windows中新建个文本,写入以下代码,另存为vpsbackup.bat(一定要把txt后缀改为bat后缀)。
Windows中批处理文件的代码:
cd c:\
c:
plink -batch -ssh -pw ssh密码 ssh用户名@vps的ip ./backup.sh
cmd.exe

再新建个文本,把以下代码根据自己的具体情况修改后写入,另存为backup.sh(一定要把txt后缀改为sh后缀),上传到vps的root目录。

#!/bin/bash
#把/home/wwwroot/换成需备份文件所在的目录
cd /home/wwwroot/
#把example1换成想要的压缩包名称,content换成需要备份的文件名或目录,形如file1.php file2.php file3.php conten1 content2
tar -zcvPf example1.tar.gz file.php content
#如果还想备份upload文件下的某几个文件或文件夹,那就添加下面的,把/home/wwwroot/upload换成需其他备份文件所在的目录
cd /home/wwwroot/upload
tar -zcvPf example2.tar.gz file21.php file22.php file23.php conten21 content22
#然后再移动到根目录方便下载备份,同样也可以建立一个单独存放备份的文件夹如backup存放备份
mv example2.tar.gz /home/wwwroot/

如果backup.sh是在ssh中用vi建立的话可以忽略以下内容
因为backup.sh是在Windows环境下建立的,Linux环境不认它,所以我们需要登入ssh运行vi修改文件编码,方法如下
chmod a+x backup.sh
vi backup.sh
:set fileformat=unix
:wq

这个步骤很重要,话说我在测试的时候就是因为没改编码的原因导致bad interpreter: No such file or directory。

  最后把下载的plink.exe,放在C盘根目录,vpsbackup.bat随意放置,只要别手贱点到导致无谓的备份就成,如果发现backup.sh无法运行的话请把权限设置为777。本文主要是分享下这个思路,利用vps上的backup.sh文件可以有更多的功能(如利用sftp把备份发送到另外的vps上),但本人水平实在有限,只能写这么多,高手请勿见笑。

大话Spam

Spam,想必独立Blogger都不会陌生,它就像现实世界里出现在老式住宅楼道中或街边电线杆上的出售X支X药、老军医特方治lin病mei毒、包办名校毕业证学位证以及各种等级证、专业疏通管道、开门撬锁甚至帮人报仇复仇等等的小广告一样令人厌恶,它屡禁不止,今天你把它给撕了,待夜幕降临众人入寝后又会有一个左手一打纸,右手一水桶的人偷偷摸摸在你撕去地方重新粘上一张散发着油墨气味的劣质纸张,等第二天你在同样的地方再次发现了它,估计你会情绪抓狂同时心中默默开始问候那人的祖宗十八代。有了这个不雅的比方,估计不玩独立Blog的看客也多少有点明了什么是Spam了,下面步入正题。

它为什么叫做Spam?

通过搜索,我找到了出处:


SPAM,最初是一个罐装肉的牌子。对于这个牌子名字的来源有很多解释,官方版本说,它是“Specially Processed Assorted Meat”特殊加工过的混和肉。这种SPAM肉有段时间非常普及,到了无处不在,令人讨厌的程度。1970年Monty Python剧团有个很流行的Sketch comedy(一种短小的系列喜剧)叫Spam,剧中两位顾客试图点一份没有SPAM的早餐,但不能得逞。后来,Spam被用来称呼互联网上到处散布的垃圾邮件。

下面是引自Wikipedia中对Spam的描述:

Spam is the use of electronic messaging systems (including most broadcast media, digital delivery systems) to send unsolicited bulk messages indiscriminately. While the most widely recognized form of spam is e-mail spam, the term is applied to similar abuses in other media: instant messaging spam, Usenet newsgroup spam, Web search engine spam, spam in blogs, wiki spam, online classified ads spam, mobile phone messaging spam, Internet forum spam, junk fax transmissions, social networking spam, television advertising and file sharing network spam.

Spamming remains economically viable because advertisers have no operating costs beyond the management of their mailing lists, and it is difficult to hold senders accountable for their mass mailings. Because the barrier to entry is so low, spammers are numerous, and the volume of unsolicited mail has become very high. The costs, such as lost productivity and fraud, are borne by the public and by Internet service providers, which have been forced to add extra capacity to cope with the deluge. Spamming is universally reviled, and has been the subject of legislation in many jurisdictions.

People who create electronic spam are called spammers.

英语好的可以点击原文链接查阅。

何以判定一条信息是Spam?

Spam用通俗的话来解释就是垃圾广告信息,但它是以文字链接或图片信息的方式存在于网络上的,早期存在于聊天室、电子公告板系统中,发展到中期慢慢出现在论坛帖子、回复和博客评论中,到现在,Spam已经是无孔不侵,它也跟上了Web2.0的脚步,以至于出现在论坛PM、SNS(如Facebook、人人、开心)、微博(如Twitter、嘀咕)甚至渗透入手机短信中来。比起早期那种一眼就能看破的形式,现在的Spam在文字功夫上做的可谓是用心良苦,下面几条出现在我博客中的Spam就很具有代表性:

第一种,万能型,他的id是亮点。

第二种,蛋疼型。

第三种,精神分裂型,一面在这抨击Spam,一面却在用群发软件到处散发Spam。

第四种,国外友人型,主机放置于国外的童鞋应该不少见。

第五种,没事乱献殷勤型。

如何抵御Spam?

一,对于论坛管理者,可以设置注册用户须满X小时后可发贴回贴、在线时间大于X小时后可以发贴回贴、对于积分等级小于X级用户发贴回贴需输入验证码,建立非管理者用户举报Spam奖励机制等方式来最大化避免Spam的入侵,对于已经有大量固定人群的论坛,可以采取邀请注册的机制来避免Spam,国内著名的魔兽世界非官方论坛艾泽拉斯国家地理(NGA)就是一个很好的例子,其采用了连坐制度,如果散发出去邀请码被人用来发布Spam或其他违规信息,邀请码主人也将受到同样的惩罚。

二,对于SNS管理者,亦可采取积分等级低于X级的用户对陌生人发送短消息;对于SNS用户,可设置禁止接收陌生人短消息,或对发送Spam的用户进行举报等方式来避免。

三,对于微博用户,最起效的办法就是unfo。

对于Twitter用户,可以点击Spammer右栏上的举报按钮像官方举报

oh,请原谅我用苍老师的主页来做示范。。

对于腾讯微博用户,可以果断将Spammer加入黑名单。

四,对于Wordpress用户,那可是方法多种多样了。

1,最基本的,所有新安装的Wordpress都内置了一个名叫Akismet的插件,它就是官方出的反Spam插件,当然,你还不能点了启用了能使用它,你还要去Wordpress.com注册一个用户,获取API密匙,然后回到你自己博客中填入才能正常使用,具体的操作方法已有多位博友写过,在此不再重复,一搜便知。

2,使用小墙,这个方法是我极力推荐的,代码出自Willin大师,目前看来,除了手工输入的Spam,其他自动群发器所发的Spam都能避免。
代码:

/* -----------------------------------------------
<<小牆>> Anti-Spam v1.8 by Willin Kan.
*/
//建立
class anti_spam {
function anti_spam() {
if ( !current_user_can('level_0') ) {
add_action('template_redirect', array($this, 'w_tb'), 1);
add_action('init', array($this, 'gate'), 1);
add_action('preprocess_comment', array($this, 'sink'), 1);
}
}
//設欄位
function w_tb() {
if ( is_singular() ) {
ob_start(create_function('$input','return preg_replace("#textarea(.*?)name=([\"\'])comment([\"\'])(.+)/textarea>#",
"textarea$1name=$2w$3$4/textarea> <textarea name=\"comment\" cols=\"100%\" rows=\"4\"style=\"display:none\"></textarea>",$input);') );
}
}
//檢查
function gate() {
( !empty($_POST['w']) && empty($_POST['comment']) ) ? $_POST['comment'] = $_POST['w'] : $_POST['spam_confirmed'] = 1;
}
//處理
function sink( $comment ) {
if ( !empty($_POST['spam_confirmed']) ) {
//方法一:直接擋掉, 將 die(); 前面兩斜線刪除即可.
//die();
//方法二:標記為spam, 留在資料庫檢查是否誤判.
add_filter('pre_comment_approved', create_function('','return "spam";'));
$is_ping = in_array( $comment['comment_type'], array('pingback', 'trackback') );
$comment['comment_content'] = ( $is_ping ) ?
"◎ 這是 Pingback/Trackback, 小牆懷疑這可能是 Spam!\n" . $comment['comment_content'] :
"[ 小牆判斷這是Spam! ]\n" . $comment['comment_content'];
}
return $comment;
}
}
$anti_spam = new anti_spam();
// -- END ----------------------------------------

原文链接http://kan.willin.org/?p=1267

3,对于那种以SEO为目的的,我推荐万戈兄所推荐的这种纯属气死Spammer方法,评论链接重定向。

//comments link redirect
add_filter('get_comment_author_link', 'add_redirect_comment_link', 5);
add_filter('comment_text', 'add_redirect_comment_link', 99);
function add_redirect_comment_link($text = ''){
$text=str_replace('href="', 'href="'.get_option('home').'/?r=', $text);
$text=str_replace("href='", "href='".get_option('home')."/?r=", $text);
return $text;
}
add_action('init', 'redirect_comment_link');
function redirect_comment_link(){
$redirect = $_GET['r'];
if($redirect){
if(strpos($_SERVER['HTTP_REFERER'],get_option('home')) !== false){
header("Location: $redirect");
exit;
}
else {
header("Location: http://wange.im/");
exit;
}}}

原文链接http://wange.im/comments-link-redirect-for-wordpress.html

源代码出自我爱水煮鱼的插件Comments Link Redirect

五,对于长期遭受手机短信Spam的,可以去搜索相关手机仿Spam软件,目前各主流手机平台都已有相关软件。