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%