Hello World

Just So So ...

今天升级下php版本,升级到php7.2.7,由于好久没升级,导致以前用phpbrew 安装的 GD 扩展的命令记不住了。
因为涉及到jpeg, freetype, png 等运行库的指定。
查看相关文档终于找到解决办法,现在记录下

phpbrew cookbook

1
2
3
4
5
6
# 安装 gd 扩展
phpbrew ext install gd -- --with-gd=shared \
--with-png-dir=/usr/local/opt/lib \
--with-jpeg-dir=/usr/local/opt/jpeg \
--with-freetype-dir=/usr/local/opt/freetype \
--enable-gd-native-ttf

由于树莓派重做了好几次系统,好久没打理blog了,
今天整理下,发现原来在树莓派上搭建的typecho后台管理进不去了,一番折腾也没好用。干脆转到静态网页吧。与就将原 typecho 的blog转到 hexo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42

<?php

$db = new SQLite3('typecho.db');

$result = $db->query("SELECT a.cid, a.title, a.slug, a.text, a.created, a.status,
CASE c.type
WHEN 'tag' THEN group_concat(c.name)
END tags,
CASE c.type
WHEN 'category' THEN group_concat(c.name)
END categories
FROM typecho_contents AS a
LEFT JOIN typecho_relationships AS b ON b.cid=a.cid
LEFT JOIN typecho_metas AS c ON c.mid=b.mid
GROUP BY a.cid
ORDER BY a.cid DESC"
);

while ($row = $result->fetchArray(SQLITE3_ASSOC)) {
generate($row);
}

function generate($data)
{
$foler = __DIR__ . '/source/_drafts/';

$tpl = file_get_contents(__DIR__ . '/scaffolds/post.md');

$filename = $data['slug'] . '.md';
if ($data['status'] == 'publish') {
$foler = __DIR__ . '/source/_posts/';
}

$tpl = str_replace('{{ title }}', $data['title'], $tpl);
$tpl = str_replace('{{ date }}', date('Y-m-d H:i:s', $data['created']), $tpl);
$tpl = str_replace('{{ tags }}', $data['tags'] ? '[' . $data['tags'] . ']' : '', $tpl);
$tpl = str_replace('{{ categories }}', $data['categories'] ? '[' . $data['categories'] . ']' : '', $tpl);

$tpl .= $data['text'];
file_put_contents($foler . $filename, $tpl);
}

https://gist.github.com/congpeijun/bdf308eec07458d2c7f57f4922458559

  1. 安装phpbrew

https://github.com/phpbrew/phpbrew#install-phpbrew

  1. 安装编译php所依赖的软件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
sudo apt-get install \
libreadline-dev \
libmcrypt-dev \
libbz2-devlibxml2-dev \
libreadline-dev \
libmcrypt-dev \
libbz2-devlibxml2-dev \
libcurl4-openssl-dev \
libjpeg-dev \
libpng-dev \
libxpm-dev \
libmysqlclient-dev \
libpq-dev \
libicu-dev \
libfreetype6-dev \
libldap2-dev \
libxslt-dev

sudo apt-get install autoconf
  1. 安装php
1
phpbrew install 5.6.20 +default+dbs+openssl+mb+iconv+gettext+icu  +apxs2=/usr/bin/apxs2

具体参数参考 phpbrew 文档 https://github.com/phpbrew/phpbrew#variants

  1. 安装 GD 扩展
1
phpbrew -d ext install gd -- --with-libdir=lib/x86_64-linux-gnu --with-gd=shared --enable-gd-native-ttf --with-jpeg-dir=/usr --with-png-dir=/usr --with-freetype-dir=/usr/include/freetype2/ft2build.h --with-xpm-dir=/usr

由于需要将wmf转换为png或是其他格式需要用到 php imagick,
但是通过 pecl 安装的 imageick 扩展没有对wmf的支持,
查找原因为 brew 安装的 imagemagick 不支持 wmf,应该多方查找解决方法无果。只要重新自己编译了(可能我没找到方法)

以尝试过得方法列表

1
2
brew install imagemagick --with-libwml
brew install imagemagick --with-libwml --with-wmf=yes

安装libwmf

1
brew install libxml

安装 imagemagick

官方文档

http://www.imagemagick.org/script/advanced-unix-installation.php

下载源码

1
2
wget http://www.imagemagick.org/download/ImageMagick-6.9.1-1.tar.gz
tar -zxvf ImageMagick-6.9.1-1.tar.gz

编译安装

因为有些依赖在我用brew 安装 imagemagick 的时候已经安装。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
./configure '--disable-osx-universal-binary' \
'--prefix=/usr/local/Cellar/imagemagick/6.9.1-1' \
'--disable-dependency-tracking' \
'--disable-silent-rules' \
'--enable-shared' \
'--disable-static' \
'--with-modules' \
'--disable-openmp' \
'--without-gslib' \
'--without-perl' \
'--with-gs-font-dir=/usr/local/share/ghostscript/fonts' \
'--without-pango' \
'--without-openjp2' \
'--without-x' \
--with-freetype=yes' \
'--with-wmf=yes' \
'CC=clang' \
'CXX=clang++'

make && make install

# 查看是否支持wmf
convert -list configure | grep -i wmf

安装 php imagick 扩展

1
sudo pecl install imagick

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# pkgutil --pkgs

com.soulmen.ulysses3
com.taobao.aliwangwang
com.tencent.qq
com.tencent.snip.Snip.pkg
com.tencent.xinWeChat

# cd /private/var/db/receipts
# ls -al

com.tencent.snip.Snip.pkg.bom
com.tencent.snip.Snip.pkg.plist
com.tencent.xinWeChat.bom
com.tencent.xinWeChat.plist

# lsbom com.tencent.snip.Snip.pkg.bom

. 40700 501/0
./Snip.app 40755 0/0
./Snip.app/Contents 40755 0/0
./Snip.app/Contents/Info.plist 100644 0/0 1941 3686474346
......

#删除相应文件

1
sudo rm -r /Applactions/Snip.app

pkg_uninstall

将一个用户添加到用户组中,千万不能直接用:

1
usermod -G groupA

这样做会使你离开其他用户组,仅仅做为 这个用户组 groupA 的成员。
应该用 加上 -a 选项:

1
2
3
usermod -a -G groupA user
(FC4: usermod -G groupA,groupB,groupC user)
-a 代表 append, 也就是 将自己添加到 用户组groupA 中,而不必离开 其他用户组。

命令的所有的选项,及其含义:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Options:
-c, --comment COMMENT new value of the GECOS field
-d, --home HOME_DIR new home directory for the user account
-e, --expiredate EXPIRE_DATE set account expiration date to EXPIRE_DATE
-f, --inactive INACTIVE set password inactive after expiration
to INACTIVE
-g, --gid GROUP force use GROUP as new primary group
-G, --groups GROUPS new list of supplementary GROUPS
-a, --append append the user to the supplemental GROUPS
mentioned by the -G option without removing
him/her from other groups
-h, --help display this help message and exit
-l, --login NEW_LOGIN new value of the login name
-L, --lock lock the user account
-m, --move-home move contents of the home directory to the new
location (use only with -d)
-o, --non-unique allow using duplicate (non-unique) UID
-p, --password PASSWORD use encrypted password for the new password
-s, --shell SHELL new login shell for the user account
-u, --uid UID new UID for the user account
-U, --unlock unlock the user account

查看用户所属的组使用命令:$ groups user
或者查看文件:$ cat /etc/group

原文http://xxx.11tea.com/blog/15654

今天重新做系统,没有备份太多数据,导致dropbox用不了
以前安装dropbox的时候都是连接到vpn的。因为被和谐了。
今天vpn不好用了。没有办法。只能登录到vps下载dropbox需要的文件。
现在分享给大家。
dropbox-lnx.x86_64-1.4.11.tar.gz

将下载的文件解压到你用户根目录。在重新启动dropbox就可以了。

  1. 下载 cloudera CDH4的安装包 this link for a Precise system.
  2. 安装
1
sudo dpkg -i ~/Downloads/cdh4-repository_1.0_all.deb
  1. 添加
    Repository Key
    1
    $ curl -s http://archive.cloudera.com/cdh4/ubuntu/lucid/amd64/cdh/archive.key | sudo apt-key add -
  2. 安装
1
2
3
sudo apt-get update #更新软件源
sudo apt-cache search hadoop #查看hadoop是否存在
sudo apt-get insall hadoop-0.20-mapreduce-jobtracker

1、首先到oracle下载jdk-7u5-linux-x64.tar.gz
2、将jdk-7u5-linux-x64.tar.gz 解压到 /usr/lib/jvm/目录下面,这里如果没有jvm文件夹,则创建该文件夹,命令:

1
2
sudo mkdir jvm  #创建文件夹jvm
sudo tar zxvf ~/Downloads/jdk-7u5-linux-x64.tar.gz -C /usr/lib/jvm #解压缩文件

3、设置环境变量,用gedit打开/etc/profile文件

1
sudo gedit /etc/profile

在文件的最后面增加:

1
2
3
export JAVA_HOME=/usr/lib/jdk1.7.0_05
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=$CLASSPATH:.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

4、将系统默认的jdk修改过来

1
2
3
4
$ sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.7.0_05/bin/java 300
$ sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.7.0_05/bin/javac 300
$ sudo update-alternatives --config java
$ sudo update-alternatives --config javac

5、检测,输入

1
2
3
4
java -version
java version "1.7.0_05"
Java(TM) SE Runtime Environment (build 1.7.0_05-b06)
Java HotSpot(TM) 64-Bit Server VM (build 23.1-b03, mixed mode)

1
sudo mount -t smbfs -o username=xxx,password=xxx,iocharset=utf8 //192.168.1.1/share /mnt/share
0%
WINNING303 WINNING303 WINNING303 WINNING303 WINNING303 WINNING303 m.joesutherland.rocks m.minormakerslab.nl web.kaffebryggan.com web.lemonhuang.com mail.qixiaodong.com web10.kenpower.com web09.thinksaydo.com cpanel.elastichq.org web.jinyili.top m.willhamill.com web.seqpipe.com web.quantbot.org ftp.rogerstech.co.uk mail.kislyuk.com cpanel.boughtonplace.co.uk m.dogtaggames.com web.homelab.lt ftp.edithkolkman.nl web.kryptomonitor-project.info ftp.glaive.org web.kubamracek.com mail.jpbriend.fr m.stotesburytransfer.com en.benchmarkdotnet.org news.mysite.f5.si web.nnise.com web.joannekirkham.com mail.urzagatherer.app mail.arno.app m.arno.app web.trumptweettrack.com app.trumptweettrack.com app.storybookhomes.com mail.freecoder.me api.storybookhomes.com app.burpandfartpiano.com app.abinsgroup.com app.thepicturehouseproject.com api.thepicturehouseproject.com m.marie-manandise.net m.inigoalonso.com api.gruelbox.com web.keepsake.de mail.laxaltandmciver.co mail.shumbaconsulting.ca mail.ramnes.eu ftp.iamjimtaylor.com mail.scottie.io mail.rajatarora.in alchemy2.metasophiea.com avaota.dongshanpi.com b.tomreznick.com api.keepsake.de carlos-olivares.com crazygriferman.com m.kzngr.de m.keihan.or.jp m.blakeboxberger.dev m.liam.geek.nz web.r8r.io web.kzngr.de mail.router.gallery web.remybach.dev pop.latex2html.org mail.scoutmasterbucky.com mail.iact.info ftp.intercont.hu ftp.pointech.net web.projectsprouts.com web.liamfiddler.com web.jessicawinter.eu mail.hiromu.phd cpanel.amerisouthrealty.com mail.pulaipieci.arno.app mail.jackphelps.net web.burpandfartpiano.com mail.retrocombs.com m.maximeborry.com m.semverdoc.org m.theevolutionofthearm.com m.hyrulezelda.hkotek.com web.rich-knight.com web.houseofbim.com web.kaszyn.ski web.liangxiaolei.fun web.sethome.cc web.ifeng.blog mail.gruelbox.com web.preview-dai.com web.kayleelubick.com web.hadass-sternberg.com web.kononovicius.lt m.daxsoftronics.com m.alhassanjawad.com m.nodiagnosticrequired.tv mail.jewelmlnarik.com web.sharpsbeats.com web.josecuevas.xyz mail.semverdoc.org mail.ieahts.org cpanel.sj-li.com m.thereproject.org web04.tobybase.com m.trumptweettrack.com m.markioannidis.com m.qiqqa.org maha303 m.computerheritagegroup.org m.squarefishdigital.com m.freecodinglessons.com m.npufal.com m.exclamation.foundation m.samituohino.com m.jfparie.com m.vinid.io web02.datacenterjourney.com bbyfzfws.abinsgroup.com cpanel.capstone-engine.org mail.pyphen.org ftp.evanculver.com abit.maximeborry.com ftp.exetech.org.uk