centos6.x下安装libreOffice最新版本/替代openoffice

centos6.2自带的openoffice,实在差劲,版本太老;没办法,centos为了稳定,没有新软件;尤其是openoffice被oracle捣腾得...

不多说,放弃openoffice,安装libreoffice,是一个正确的选择。首先下载:http://www.libreoffice.org/download/

libreoffice下载

libreoffice下载

选择 Linux x80(rpm), zh-CN-中文(简体),下载下面列出的三个包,第一个是程序包,后面是中文语言包及中文帮助包。

文件有140+M, 耐心等待。写本文时(2012-02-14)最新版本是3.4.5.

先解压缩140+M的软件包,里面有两个目录readmes,RPMS,  在终端下进入RPMS,su切换为root身份,这里文件比较多,rpm包都是lib开头的; 全部安装

# rpm -ivh lib*

当前RPM目录下还有一个目录desktop-integration 进入,这是在主菜单里加入liberoffice启用项的包,不安装就没有libreoffice的启动项目,centos属于redhat系列,安装

# rpm -ivh libreoffice3.4-redhat-menus-3.4-502.noarch.rpm

同法,解压缩语言包LibO_3.4.5_Linux_x86_langpack-rpm_zh-CN.tar.gz及帮助文件LibO_3.4.5_Linux_x86_helppack-rpm_zh-CN.tar.gz,这两个压缩包里也是readmes及RPMS两个子目录,推荐安装RPM目录里的包全部安装。

即可。

[feng@fsc RPMS]$ ls
desktop-integration
libobasis3.4-base-3.4.5-502.i586.rpm
......(略)
libreoffice3.4-writer-3.4.5-502.i586.rpm
[feng@fsc RPMS]$ su
密码:
[root@fsc RPMS]# rpm -ivh lib*
Preparing...                ########################################### [100%]
1:libreoffice3.4-ure     ########################################### [  2%]
2:libobasis3.4-core01    ########################################### [  4%]
.......(略)
52:libobasis3.4-testtool  ########################################### [ 98%]
53:libobasis3.4-xsltfilter########################################### [100%]
[root@fsc RPMS]# cd desktop-integration
[root@fsc desktop-integration]# ls
libreoffice3.4-freedesktop-menus-3.4-502.noarch.rpm
libreoffice3.4-mandriva-menus-3.4-502.noarch.rpm
libreoffice3.4-redhat-menus-3.4-502.noarch.rpm
libreoffice3.4-suse-menus-3.4-502.noarch.rpm
[root@fsc desktop-integration]# rpm -ivh libreoffice3.4-redhat-menus-3.4-502.noarch.rpm
Preparing...                ########################################### [100%]
1:libreoffice3.4-redhat-m########################################### [100%]

几个重要的技术学习/培训点

如何定位错误(现象入手,分析问题,代码折半删除法)

解决问题思路,目的性,拆解,实施进行过程中及时发现问题、反思、返工,

搜索引擎的使用(关键词选取,语法)

常用工具软件使用,ultra edit/ue studio, edit plus, dreamweaver, firefox/add on,

数据库应用

http协议,cookie, session, http header, http server

web相关,bs架构,服务器/客户端、相对性,web server,动态语言解析引擎/php解析器,数据库连接库/bs关系

本文内容原本是很久以前打算在公司里给技术人员做培训而初拟的内容提纲。在草稿箱里放了4年多,最近整理博客看其更新时间为 2011年12月26日 @ 23:05,这么久都没有继续写,大概以后也不会续写,直接发出来算了(2016-10-10 15:29)

【补记】这只是个拟提纲的过程,一直没有完成,后面自然就荒废了。现在来看,果然是非常初级的内容,适用于在草根团队里的草根出身的开发人员。而且很多东西过时了

linux下使用Image Magick批量处理图片

使用Image Magick这个命令行图像处理软件批量处理图片,最有用的是批量缩放照片。举例:

目录photo中放置待缩小的图片,缩小后图片放置于small目录,缩小为原图片的50%。

进入photo目录,执行命令

feng@fscu:~/photo$ for img in `ls`; do convert -resize 50%x50% $img ../small/$img; done

即可。

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

下面是转自http://www.5dlinux.com/article/1/2007/linux_7598.html的imagemagick使用说明。

mage MagicK 是一个强大的图象处理工具包。它提供了几个非常方便的命令行命令: display, animate,import, montage,mogrify,identify等,可以进行图象的显示,缩放,旋转,调色,加框,加注释等,还能制作GIF动画,图象索引,能自动生 成图象.

1. 制作索引图和动画

!/bin/bash
montage -bordercolor red -borderwidth 3 -label "%f" -tile 5x3 *.JPG montage.jpg
mogrify -format gif *.JPG
display montage.jpg
animate *.JPG

2. 缩放 convert -sample 80x40 input.jpg output.jpg #注意:缩放后图像保持原来的长宽比例 convert -sample 25%x25% input.jpg output.jpg
3. 为当前目录的所有图像生成缩略图

for img in `ls *.jpg`
do
convert -sample 25%x25% $img thumb-$img
done

4. 获取文件信息 libtiff

tiffinfo filename.tiff
pnginfo filename.png

5. 可以使用 ImageMagick 的 identify

identify -verbose sample.png
identify -format "%wx%h" sample.png

6. 旋转图像

convert -rotate 90 input.jpg output.jpg

7. 更改文件类型

convert input.jpg output.png

8. 为图像增加注释文字

convert -font helvetica -fill white -pointsize 36 \
-draw 'text 10,50 "Floriade 2002, Canberra, Australia"' \
floriade.jpg comment.jpg
convert -font fonts/1900805.ttf -fill white -pointsize 36 \
-draw 'text 10,475 "stillhq.com"' \
floriade.jpg stillhq.jpg

9. 特殊效果

convert -charcoal 2 input.jpg output.jpg #炭笔
convert -colorize 255 input.jpg output.jpg #着色 可以指定三种颜色 red/green/blue
convert -implode 4 input.jpg output.jpg #内爆效果
convert -solarize 42 input.jpg output.jpg #曝光,模拟胶片曝光
convert -spread 5 input.jpg output.jpg #随机移动,参数是位移大小

10. 一次执行多个操作

convert -sample 25%x25% -spread 4 -charcoal 4 input.jpg output.jpg

php函数代码:以表格形式输出二维数组

已于2012-01-16更新:对于元素为数组的,也以表格输出(否则将数组子元素显示为array)

直接上代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>以表格形式输出二维数组</title>
</head>

<body>
<?php
$comment[100]=array('id'=>100,'parent'=>0,'content'=>'AAAAAAAAAA');
$comment[101]=array('id'=>101,'parent'=>100,'content'=>'BBBBBBBBB');
$comment[102]=array('id'=>102,'parent'=>100,'content'=>'CCCCCCCCCC');
$comment[103]=array('id'=>103,'parent'=>0,'content'=>'DDDDDDDDDDd');
$comment[104]=array('id'=>104,'parent'=>102,'content'=>'EEEEEEEE');
$comment[105]=array('id'=>105,'parent'=>101,'content'=>'FFFFFFFFF');
$comment[106]=array('id'=>106,'parent'=>0,'content'=>'GGGGGGGG');
$comment[107]=array('id'=>107,'parent'=>0,'content'=>'HHHHHHHHH');
$comment[108]=array('id'=>108,'parent'=>101,'content'=>'IIIIIIIIIIII');
$comment[109]=array('id'=>109,'parent'=>105,'content'=>'JJJJJJJJJJ');
$comment[110]=array('id'=>110,'parent'=>103,'content'=>'KKKKKKKKKK');
$comment[111]=array('id'=>111,'parent'=>108,'content'=>'LLLLLLLLL');
$comment[112]=array('id'=>112,'parent'=>105,'content'=>'MMMMMMMMMM');

$data=$comment;

array_table_view($data);

function array_table_view($data)
{
?>
<table width="95%" border="1" cellspacing="0" cellpadding="4"><?php 
    if(!sizeof($data)){
?>
  <tr>
    <td>empty array.</td>
  </tr><?php 
    }else{
        foreach($data as $item){
?>
  <tr><?php 
          foreach($item as $key => $val){ ?>
    <th><?php echo $key; ?></th><?php 
            } ?>
  </tr>
<?php 
            break;
        }

        foreach($data as $item){

?>
  <tr><?php 
          foreach($item as $key => $val){ ?>
    <td><?php 
        if(is_array($val)){
            array_table_view($val);
        }else{
            echo $val;
        }
        ?></td><?php 
            } ?>
  </tr>
<?php
        }
    } ?>
</table>
<?php
}
?>
</body>
</html>

代码下载 array_table_view

代码下载 (请“复制-粘贴-保存”以上代码)

在centos 6.x 上成功安装 kchmviewer

使用centos 6 做桌面用,但一直有个缺陷:kchmviewer安装不上。提示缺少Qt库,以前通过rpm.pbone.net查找下载qt库,但总是有包依赖的冲突,两个软件包(具体是谁忘记了),一个要高版本的库,一个一定要低版本的库,于是放弃,尝试自己编译,一样没解决包依赖问题。

今天是2012年元旦,随手google搜索一下 centos 6 kchmviewer,是看到了第一条结果,马上尝试,很顺利,安装成功。

回看一下自己失败的原因,原来是下载的qtwebkit包太新(qtwebkit-2.1.1-1.el6.i686),所以出现软件包依赖冲突;而使用qtwebkit-2.0-3.el6.i686.rpm就可以成功安装了。

centos 6.x 上安装 kchmviewer两个包如下

kchmviewer-5.3-1.i586.rpm kchmviewer-5.3-1.rpm

qtwebkit-2.0-3.el6.i686.rpm (http://pkgs.org/centos-6-rhel-6/atrpms-i386/qtwebkit-2.0-3.el6.i686.rpm/download/)

 

参考

http://www.myzhenai.com/thread-14387-1-1.html (CentOS6.0安装kchmviewer)

php安装xdebug后,让var_dump()函数输出完整的变量内容

php开发环境里,安装了xdebug模块后,var_dump()输出的结果将比较易于查看,但默认情况下,var_dump() 输出的结果将有所变化:过多的数组元素不再显示,字符串变量将只显示前N个字符,较深的数组元素也被显示成省略号。这点会带来一些不便,我们修改配置文件,设置这些。

在php.ini里的xdebug节点中,加入如下

xdebug.var_display_max_children=128
xdebug.var_display_max_data=512
xdebug.var_display_max_depth=5

含义从名字上看就可看懂。

其实这里有三条配置,正好与本文上述的三点“变化”一一对应嘀 ^..^

从phpinfo()里的xdebug节点里可以看到更多的配置变量,多半也是可以通过php.ini修改的

数据库入门

数据库是什么,从字面上理解,就是存储数据的系统。

日常学习工作生活中,经常会见到“数据库”这一概念,如,公安系统的居民身份证数据库,银行储户信息数据库,某某论文数据库,基因数据库,等等。这些例子里的数据库并非本文所要讲述的“数据库”的概念,它们是 依据一定的手段存储的、可以快速检索的海量数据。而本文中所讲的数据库,则是能够对数据实现方便存储、快速检索、易于更新维护的软件,注意了,我们所讲的数据库实际是计算机软件,而并不关心存储具体数据是银行存款、还是家庭收支账单、或者是邂逅美女的记录。严格的说,本文所讲的数据库,是“关系型数据库”,而不是当下在sns时代火爆的NoSQL数据库。

关系型数据库软件,有很多种,应用广泛的有MySQL, PostgreSQL, Oracle, DB2,MS sql server等。

数据拆分

数据库是对数据“格式化”存储的工具,这里的格式化,指的是对数据分类另,分条目,分栏目,按实际需求把数据拆分成小的单元,并存储在数据库中。

举个例子类比一下,以便对数据库有个初步理解。Excel文件(电子表格),大家应该都知道。

  1. 一个excel文件,它里面在可以存储多个工作表,新建一个excel文件默认会有Sheet1,Sheet2,Sheet3这三个工作表。
  2. 每个工作表,都是一个“表格”,可以有很多行。
  3. 每一行,都分为多列,每列是一个单元格,可以存储一定的内容。

[注] 工作表,对于excel本身,一般理解成一个工作表有行与列垂直交错形成格子,每个格式就是单元格。但为了类比理解数据库,不能这样理解,而是按html(超文本标记语言)里对表格(table)的划分,表格先分成行(<tr>.....</tr>),对每行再分列(<td>...</td>).

数据库可以与excle作类比,一个excel文件对应类比一个数据库,excel工作表类比数据库的表,工作表的行对应数据库里表的行。

数据库的数据一般正是拆分为这三个层次的,即表,行,字段 这三个层次。

数据表

数据库里的表,即数据表,简称表;可以与excel文件里的一个工作表类比。注意,这里说用来类比的excel表,是没有“合并单元格”存在的,不管是按行或是按列合并的。

通常,我们的excel表里,会有一个标题行。类似上图中所示,这是个简单的人员联系信息表,第一行,"name gender company address phone"那一行,它分为多列,每列都是对本列的说明、或者说是该列的名称,对于数据库列,也有这样的一列,称为列名,也称为字段名。不同的是,在excel表里,列名是占据一行的,而在数据库里,它并不占据任何一行;这一点,有点类似于excel里本身的列名的,如 列A、列B、列C... 这是固定的列名,不能修改的;而数据库里列名都是我们自己定义的。

多列数据,每列数据都放

行/记录

数据表里的数据是分为多行的,每行的格式都是一致的,如上图中所示,

本文内容原本是很久以前在公司里给非技术人员培训时的演示文稿。在草稿箱里放了几乎5年,最近整理博客看其更新时间为 2011年12月26日 @ 23:05,这么久都没有继续写,大概以后也不会续写,直接发出来算了(2016-10-10 15:29)

MySQL函数 GROUP_CONCAT,相当有用

一直想找这个函数,今天终于找到了,属于聚合函数,也正是猜测可能是个函数函数、才通过“MySQL 聚合函数” google到的。

使用过程中可能会遇到1260错误,如下:

#1260 - %d line(s) were cut by GROUP_CONCAT()

这是因为group_concat()有最大长度限制,该限制值默认为1024,可以从mysql环境变量里可以查看。如需修改该值,可以在mysql配置文件里指定:

group_concat_max_len = 102400

也可以在mysql运行时动态指定,执行语句:

SET GLOBAL group_concat_max_len=102400;

参考该链接http://www.fuchaoqun.com/2008/12/mysql-trap-of-group-concat/,或者mysql手册(推荐)。

centos 6 下编译安装 nginx

下载nginx源码包,可以到nginx官方的下载文件归档里 http://nginx.org/download/ 下载

下载pcre源码,并编译安装,从pcre官方下载  ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.21.zip

解压缩 unzip pcre-8.21.zip

进入源码目录 cd pcre-8.21/

./configure

make

make install

全部使用默认,不必要指定目录,这样包容易被找到。

安装nginx

这里使用nginx 1.0.8为例。

下载源码包  wget http://nginx.org/download/nginx-1.0.8.tar.gz

解压缩 tar xvf nginx-1.0.8.tar.gz

进入源码目录 cd nginx-1.0.8/

查看配置参数 ./configure --help (此步可以省略)

简单配置 ./configure
(注:centos 6 默认安装pcre包的,但是其安装位置并不为nginx识别,而且即使手工指定好像也不行,编译过程中会提示找不到文件;所以才需要先安装pcre包)

不指定任何配置选项,应该可以成功通过,得到如下的消息

Configuration summary
  + using system PCRE library
  + OpenSSL library is not used
  + md5: using system crypto library
  + sha1: using system crypto library
  + using system zlib library

  nginx path prefix: "/usr/local/nginx"
  nginx binary file: "/usr/local/nginx/sbin/nginx"
  nginx configuration prefix: "/usr/local/nginx/conf"
  nginx configuration file: "/usr/local/nginx/conf/nginx.conf"
  nginx pid file: "/usr/local/nginx/logs/nginx.pid"
  nginx error log file: "/usr/local/nginx/logs/error.log"
  nginx http access log file: "/usr/local/nginx/logs/access.log"
  nginx http client request body temporary files: "client_body_temp"
  nginx http proxy temporary files: "proxy_temp"
  nginx http fastcgi temporary files: "fastcgi_temp"
  nginx http uwsgi temporary files: "uwsgi_temp"
  nginx http scgi temporary files: "scgi_temp"

然后就是 make

应该不会出问题,接着make install 就安装好了。

先测试一下是否可以运行,执行 /usr/local/nginx/sbin/nginx 没有消息提示,通过浏览器打开nginx所在的ip地址,应该可以看到

 

Welcome to nginx!

 

这样的一个简单页面,证明nginx可以工作。

接下来的工作就是配置nginx了,其配置文件为/usr/local/nginx/conf/nginx.conf

Pages: Prev 1 2 3 4 5 6 7 8 9 10 11 12 13 Next