CentOS本地与跨服务器文件同步

最近,我的工作重心是搜索项目。我们选用的搜索框架是Elasticsearch,ES从诞生第一天起就是面向分布式而构造的,因此跨服务器的文件同步问题随之而来。

此外,我使用R语言作为主要的脚本语言来配合ES使用(测试搜索效果、生成同义词文件等等),习惯上我会把R项目生成的文件放在R相关的目录下,因此还需要将文件同步到ES相关的目录下,这就产生了本地文件同步的需求。

本地文件同步

通过链接文件可以实现文件同步,链接文件又分为硬链接软链接,硬链接相当于备份,删除源文件后硬链接文件仍然存在且保留了原有的内容,而软链接相当于快捷方式,源文件删除后软链接文件将链接到一个不存在的文件,这被称为断链。

虽然硬链接只能在同一个分区中做链接,但我希望ES项目中的文件是相对稳定的(不能因为R脚本误操作删除了源文件使得ES中的文件也不存在了),并且我可以把R的目录和ES相关配置文件的目录放在同一个分区,所以我选择了硬链接的方式进行文件同步: 继续阅读CentOS本地与跨服务器文件同步

从CentOS安装R中看yum、rpm、repo到底有什么关系

在图形界面下习惯了双击.exe(或者.dmg)安装软件,到了Linux服务端可能会有很大的不适。此前,我都是直接Google,然后不管三七二十一地直接把安装命令丢到bash里,期待顺利安装……

但今天当我要重装R语言的时候,由于以前是手工编译安装的,现在需要用yum来安装却总是出错(yum安装处理了一些依赖关系才能使得rstudio-server顺利运行)。再也不想忍受这种听天由命的感觉了,于是理解了一下yum、rpm、repo之间到底有什么关系:

软件包管理系统

首先yum、rpm、repo这三个词都是属于软件包管理系统下的。我今天遇到的重装R语言的问题就是血与泪的教训:不到万不得不以不要自己编译安装软件,否则时间久了管理起来会一团糟,大多数软件都能通过Linux的软件包管理系统进行统一安装与管理。Linux 发行版主要有两大包管理技术阵营: Debian 的.deb,和红帽的.rpm: 继续阅读从CentOS安装R中看yum、rpm、repo到底有什么关系

CentOS 6安装Java 1.8

首先更新服务器:

yum update

 

查看系统当前的java版本:

java -version

 

如果发现是老版本,可以进一步查询系统已经安装的JDK:

rpm -qa | grep -E '^(java|jdk)'

rpm -qa代表查询所有已安装的packages,grep -E ‘^(java|jdk)’为通过正则表达式来过滤输出中以java或者jdk开头的结果,输出可能是这样的: 继续阅读CentOS 6安装Java 1.8