前言
- OS:CentOS 7
- lzo:lzo-2.10
- make:4.1
- 本文主要演示如何編譯lzo源碼,生成lzo函數庫,然後安裝lzo工具lzop。
- PS: 如果未安裝make,則可以執行
sudo yum -y groupinstall "Development Tools"
或
sudo apt-get -y install build-essential
來安裝Linux環境下基本開發編譯工具包,其中就包含了gcc、g++、make等基本開發工具
- 如果不想編譯源碼,也可以通過
yum
或apt
工具直接下載lzo依賴庫,通過yum或apt工具的全文檢索功能查找對應包包名,然後直接安裝即可,如:
apt search lzo
yum search lzo
安裝步驟
一、下載LZO源碼
二、編譯LZO源碼
1)解壓源碼壓縮包
tar -zxvf lzo-2.10.tar.gz -C /opt/module
mv /opt/module/lzo-2.10 /opt/module/lzo-2.10-src
2)創建文件夾用於保存編譯後的輸出文件
mkdir /opt/module/lzo-2.10-compiled
3)編譯LZO源碼
# 打開lzo源碼所在路徑
cd /opt/module/lzo-2.10-src
# 指定編譯爲64位應用程序
export CFLAGS=-m64
# 設置輸出文件地址前綴
sudo ./configure -enable-shared -prefix=/opt/module/lzo-2.10-compiled
# 編譯安裝
sudo make && sudo make install
4)查看編譯輸出文件
ll -a /opt/module/lzo-2.10-compiled
若編譯不報錯,則在輸出路徑下會生成以下三個文件夾
tomandersen@localhost:/opt/module/lzo-2.10-compiled$ ll -a /opt/module/lzo-2.10-compiled
total 0
drwxr-xr-x 1 tomandersen cc 4096 Jun 10 20:15 ./
drwxr-xr-x 1 tomandersen cc 4096 Jun 10 17:22 ../
drwxr-xr-x 1 root root 4096 Jun 10 20:15 include/
drwxr-xr-x 1 root root 4096 Jun 10 20:15 lib/
drwxr-xr-x 1 root root 4096 Jun 10 20:15 share/
5)將lzo-2.10-compiled/lib
路徑下的文件拷貝至指定文件夾內
若當前系統爲64位,則將lib/liblzo*
拷貝至/lib64
或/user/lib64
,建議存放在/user/lib64
中
sudo cp /opt/module/lzo-2.10-compiled/lib/liblzo2* /usr/lib64/
若當前系統爲32位,則拷貝至/lib
或/usr/local/
,建議存放在後者路徑下
sudo cp /opt/module/lzo-2.10-compiled/lib/liblzo2* /usr/lib/
三、安裝lzop工具(可選)
lzop工具是基於lzo算法實現的壓縮和解壓工具,目前只支持壓縮文件,不支持壓縮文件夾。lzop只是一個工具,並未集成lzo算法函數庫,因此使用此工具必須保證lzo算法函數庫安裝正確
sudo yum install lzop
或
sudo apt install lzop
使用方式:
tomandersen@localhost:/opt/module/lzo-2.10-compiled/lib$ lzop -h
Lempel-Ziv-Oberhumer Packer
Copyright (C) 1996 - 2010
lzop v1.03 Markus Franz Xaver Johannes Oberhumer Nov 1st 2010
Usage: lzop [-dxlthIVL19] [-qvcfFnNPkUp] [-o file] [-S suffix] [file..]
Commands:
-1 compress faster -9 compress better
-d decompress -x extract (same as -dPp)
-l list compressed file -I display system information
-t test compressed file -V display version number
-h give this help -L display software license
Options:
-q be quiet -v be verbose
-c write on standard output -oFILE write output to 'FILE'
-p write output to current dir -pDIR write to path 'DIR'
-f force overwrite of output files
-n do not restore the original file name (default)
-N restore the original file name
-P restore or save the original path and file name
-S.suf use suffix .suf on compressed files
-U delete input files after successful operation (like gzip and bzip2)
file.. files to (de)compress. If none given, try standard input.