zzw原创_非root安装fastDFS
zzw原创_非root安装fastDFS
fastDFS 想要非root安装,没找到资料,分析了一下安装脚本,原来作者是留了安装路径的,但没有放出来。
1、解包
[bdc@svr001 setup]$ tar -xvf libfastcommon-1.0.36.tar.gz
[bdc@svr001 setup]$ cd libfastcommon-1.0.36
2、分析一下libfastcommon的make.sh脚本,发现其实前面的大段都是在判断是什么操作系统、32位还是64位、库路径等相关参数,真正的自身操作:
cd src
cp Makefile.in Makefile
sed_replace
"s/\\\$(CFLAGS)/$CFLAGS/g" Makefile
sed_replace "s/\\\$(LIBS)/$LIBS/g"
Makefile
sed_replace "s/\\\$(LIB_VERSION)/$LIB_VERSION/g" Makefile
make $1
$2 $3
只是简单的将Makefile.in文件替换几个参数后复制成 Makefile
文件,然后就make了,竟然没有涉及编译路径。
我们再分析一下它的Makefile文件:
install:
mkdir -p
$(DESTDIR)/usr/$(LIB_VERSION)
mkdir -p $(DESTDIR)/usr/lib
install -m 755
$(SHARED_LIBS) $(DESTDIR)/usr/$(LIB_VERSION)
install -m 755 $(SHARED_LIBS)
$(DESTDIR)/usr/lib
mkdir -p $(DESTDIR)/usr/include/fastcommon
install -m
644 $(HEADER_FILES) $(DESTDIR)/usr/include/fastcommon
make 带install参数时才传入路径,其中 $(DESTDIR)就是可以自定义路径了。
3、 安装 lib
[bdc@svr001 zzw_temp]$ pwd
/opt/aspire/product/bdc/zzw_temp
[bdc@svr001
zzw_temp]$ ll
总用量 4
drwxrwxr-x 3 bdc bdc 4096 11月 7 17:45 setup
[bdc@svr001 zzw_temp]$ export
DESTDIR=/opt/aspire/product/bdc/zzw_temp/libfastcommon
[bdc@svr001 zzw_temp]$
echo $DESTDIR
/opt/aspire/product/bdc/zzw_temp/libfastcommon
[bdc@svr001 setup]$ cd setup/libfastcommon-1.0.36
[bdc@svr001 libfastcommon-1.0.36]$ ./make.sh # 注意是make.sh ,不是make, 这与一般编译不同 !!
[bdc@svr001 libfastcommon-1.0.36]$ ./make.sh install
[bdc@svr001 libfastcommon-1.0.36]$ cd
/opt/aspire/product/bdc/zzw_temp/libfastcommon
[bdc@svr001 libfastcommon]$ ll
总用量 4
drwxrwxr-x 5 bdc bdc 4096 11月 7
18:09 usr
安装成功!
4、 环境变量中加上库路径
export LD_LIBRARY_PATH=/opt/aspire/product/dicmp_zzw/zzw_temp/fastddd/libfastcommon/usr/lib64:$LD_LIBRARY_PATH
注意使环境变量生效。
也可以将libfastcommon.so复制到/usr/lib下: cp /opt/aspire/product/dicmp_zzw/zzw_temp/fastddd/libfastcommon/usr/lib64/libfastcommon.so /usr/lib
5、安装fastdfs-5.11.tar.gz 同样的道理
分析一下fastdfs的make.sh文件
ENABLE_STATIC_LIB=0
ENABLE_SHARED_LIB=1
TARGET_PREFIX=$DESTDIR/usr
TARGET_CONF_PATH=$DESTDIR/etc/fdfs
TARGET_INIT_PATH=$DESTDIR/etc/init.d
所以安装时
[bdc@svr001 zzw_temp]$ export DESTDIR=/opt/aspire/product/dicmp_zzw/zzw_temp/fastddd/fastdfsaaa # /opt/aspire/product/dicmp_zzw/zzw_temp/fastddd/fastdfsaaa 为安装目录
[bdc@svr001 ]$ ./make.sh # 注意是make.sh ,不是make !!
[bdc@svr001 ]$ ./make.sh install
二、安装后后目录结构
安装后的目录只用etc与usr两个文件夹。
[dicmp_zzw@linux245 fastdfsaaa]$ tree .
.
|-- etc
| |-- fdfs
| | |--
client.conf.sample
| | |-- storage.conf.sample
| | |--
storage_ids.conf.sample
| | `-- tracker.conf.sample
| `--
init.d
| |-- fdfs_storaged
| `--
fdfs_trackerd
`-- usr
|--
bin
| |-- fdfs_appender_test
| |-- fdfs_appender_test1
| |-- fdfs_append_file
| |-- fdfs_crc32
| |--
fdfs_delete_file
| |-- fdfs_download_file
| |--
fdfs_file_info
| |-- fdfs_monitor
| |-- fdfs_storaged
| |-- fdfs_test
| |-- fdfs_test1
| |-- fdfs_trackerd
| |-- fdfs_upload_appender
| |-- fdfs_upload_file
| |--
restart.sh
| `-- stop.sh
|-- include
| `--
fastdfs
| |-- client_func.h
| |--
client_global.h
| |-- fdfs_client.h
| |--
fdfs_define.h
| |-- fdfs_global.h
| |--
fdfs_http_shared.h
| |-- fdfs_shared_func.h
| |--
mime_file_parser.h
| |-- storage_client1.h
| |--
storage_client.h
| |-- tracker_client.h
| |--
tracker_proto.h
| |-- tracker_types.h
| `--
trunk_shared.h
|-- lib
| `-- libfdfsclient.so
`--
lib64
`-- libfdfsclient.so
三、配置
1、修改/opt/aspire/product/dicmp_zzw/zzw_temp/fastddd/fastdfsaaa/etc/init.d/fdfs_storaged
和 fdfs_trackerd 两个文件
# Source function library.
if [ -f
/etc/init.d/functions ]; then
. /etc/init.d/functions
fi
DESTDIR=/opt/aspire/product/dicmp_zzw/zzw_temp/fastddd/fastdfsaaa
#配置为安装路径
PRG=$DESTDIR/usr/bin/fdfs_storaged #加上变量
CONF=$DESTDIR/etc/fdfs/storage.conf
#加上变量
还没有空研究行不行
zzw原创_非root安装fastDFS的更多相关文章
- zzw原创_非root用户下安装nginx
想自己安装nginx,又不相用到root用户. 非root用户下(本文为用户bdctool)来ngnix安装,要依赖pcre库.zlib库等, 1. 下载依赖包:下载地址 pcre(www.pcre. ...
- zzw原创_非root用户启动apache的问题解决(非root用户启动apache的1024以下端口)
场景:普通用户编译的apache,要在该用户下启动1024端口以下的apache端口 1.假设普通用户为sims20,用该用户编译 安装了一个apache,安装路径为/opt/aspire/produ ...
- 非root安装fastDFS及启动
引用https://www.cnblogs.com/zzw-zyba/p/10155781.html 非root安装部分 1.解包 [bdc@svr001 setup]$ tar -xvf lib ...
- nginx非root安装
nginx非root安装 唯一需要解决的就是指定安装目录 这里使用nginx相关包如下 nginx-1.14.0.tar.gz 安装需要依赖如下2个包 pcre-8.42.tar.gz zlib-1. ...
- Linux非root安装Python3以及解决SSL问题
说明 接上一篇. [Linux]非root安装Python3及其包管理 上一篇虽然成功安装了Python3及一些常用的模块,但因为一直装不上SSL模块,导致一些包无法安装,尝试了不少方法都失败了(网上 ...
- 【Linux】非root安装Python3及其包管理
1. Python 3.8.1安装 源码安装常规操作: wget -c https://www.python.org/ftp/python/3.8.1/Python-3.8.1.tgz tar -xv ...
- [Linux] 非root安装GCC9.1.0
说明 一般Linux系统自带或公共的GCC版本都很低,如目前我们的服务器版本的GCC还停留在gcc-4.9.3,而官网已到达9.2版本(下载http://ftp.gnu.org/gnu/gcc/) , ...
- [linux] 非root安装Python2及其模块
需求 系统自带的python2版本太低,且没有想要的模块,非root用户无法安装.有些模块是python2写的,无法用python3,所以自己下载一个高版本的python2,可以自由下载模块. 实现 ...
- 非root安装rpm时,mockbuild does not exist - using root
1.现象 [fedora@k8s-cluster--ycmwlao4q5wz-minion- ~]$ [fedora@k8s-cluster--ycmwlao4q5wz-minion- ~]$ sud ...
随机推荐
- spring-boot集成activiti的model遇到问题汇总
按照网上的七拼八凑整合网页版的部署将遇到的问题归置如下: 本人的springboot版本是:1.5.13.RELEASE 工作流相关: <!--工作流--> <dependency& ...
- Servlet+jSP+java实现商品信息和流水的操作
设计思路:先是创建两个表,一个用来操作库内商品的增删改查,一个用来记录商品的流水信息. 设计过程:先对商品的属性进行创建javaBean编写,之后编写数据库连接类,之后编写数据库操作类,之后编写服务类 ...
- Gym - 100637J
On the most perfect of all planets i1c5l various numeral systems are being used during programming c ...
- 原创《如何用vue来轻松的驾驭 html5 webapp的页面体验》
由于最近开始要做mobile的webapp 项目,所以利用周末的时间思考了下页面的体验问题,我主要参考了"微信"的页面体验,总结主要有2个页面切换效果(点击进入页面效果 和 返回上 ...
- golang rc4加密
package main import "crypto/rc4" import "fmt" func main() { key := []byte(" ...
- Codeforces 1027F Session in BSU - 并查集
题目传送门 传送门I 传送门II 传送门III 题目大意 有$n$门科目有考试,第$i$门科目有两场考试,时间分别在$a_i, b_i\ \ (a_i < b_i)$,要求每门科目至少参加 ...
- Mac剪切AVI视频
命令行执行 brew install ffmpeg ffmpeg -i video.avi -c:v copy -c:a copy -ss 00:01:30 -t 0:0:20 output.avi
- Navicat Premium 12
1.win 客户端软件下载: https://www.navicat.com.cn/download/navicat-premium 2.安装 双击安装--点击下一步 我同意--下一步 选择安装路径- ...
- 王之泰201771010131《面向对象程序设计(java)》第十七周学习总结
第一部分:理论知识学习部分 第14章 并发 线程同步 多线程并发运行不确定性问题解决方案:引入线 程同步机制,使得另一线程要使用该方法,就只 能等待. ⚫ 在Java中解决多线程同步问题的方法有两种: ...
- Java 问题定位工具 -- jps
概览 最近老大布置的任务就是质量加固,偶然看到了一些对于 Java 性能分析的介绍,因此,有了此篇学习笔记. JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jCons ...