使用ansible编译安装运维工具tmux
实验系统:CentOS 6.6_x86_64
实验前提:提前准备好编译环境,防火墙和selinux都关闭
软件介绍:tmux是一个优秀的终端复用软件,类似GNU Screen,但来自于OpenBSD,采用BSD授权。使用它最直观的好处就是,通过一个终端登录远程主机并运行tmux后,在其中可以开启多个控制台而无需再“浪费”多余的终端来连接这台远程主机;当然其功能远不止于此。
软件下载:http://pan.baidu.com/s/1c0i9kf2
一、常规安装
1.安装tmux所需要的依赖:
wget https://sourceforge.net/projects/levent/files/libevent/libevent-2.0/libevent-2.0.22-stable.tar.gz
tar xf libevent-2.0.-stable.tar.gz
cd libevent-2.0.-stable
./configure
make && make install
ln -s /usr/local/lib/libevent-2.0.so.5 /usr/lib64/libevent-2.0.so.5
2.安装tmux软件包:
wget http://iweb.dl.sourceforge.net/project/tmux/tmux/tmux-2.0/tmux-2.0.tar.gz
tar xf tmux-2.0.tar.gz
cd tmux-2.0
./configure --prefix=/usr/local/tmux
make && make install
3.导出二进制文件:
vim /etc/profile.d/tmux.sh
---------------------------------------->
PATH=$PATH:/usr/local/tmux/bin
export PATH
<----------------------------------------
. /etc/profile.d/tmux.sh
4.导出man手册:
vim /etc/man.config
--------------------------------------------->
MANPATH /usr/local/tmux/share/man //增加一行
5.编辑配置文件:
vim ~/.tmux.conf
------------------------------------------>
set -g prefix C-a //设置前缀命令为crtl+a
unbind C-b //解除ctrl+b的绑定
setw -g mode-keys vi //copy-mode将快捷键设置为vi模式
set -g default-terminal "screen-256color" //设置终端颜色为256色
set -g status-utf8 on //开启状态栏的uft-8支持
set-window-option -g mode-mouse on //开启滚屏
6.常用快捷键:



至此,tmux安装完毕了,下面咱们做个拓展实验,使用ansible安装tmux!
二、拓展实验
1.安装ansible并创建yaml文件:
yum -y install ansible
mkdir -pv /root/ansible.roles/roles //创建工作目录
cd /root/ansible.roles
vim tmux.yaml
-------------------------------------------->
- name: install tmux
remote_user: root //运行用户
hosts: tmux //运行这个剧本的主机,后面有定义
roles:
- tmux //规则名称,要与后面创建的文件夹名称相同
2.放入文件:
cd /root/ansible.roles/roles
mkdir -pv tmux/{files,handlers,tasks} //创建与规则同名的文件夹
cp /root/tmux-2.0.tar.gz /root/libevent-2.0.-stable.tar.gz tmux/files/ //将安装包放入
cp /root/.tmux.conf tmux/files/ //将配置文件放入
3.编写主yaml文件:
vim /root/ansible.roles/roles/tmux/tasks/main.yaml
------------------------------------------------------>
- name: copy libevent package
copy: src=libevent-2.0.22-stable.tar.gz dest=/root
- name: copy tmux package
copy: src=tmux-2.0.tar.gz dest=/root
- name: copy conf
copy: src=.tmux.conf dest=/root
- name: run script
script: tmux.sh
4.编写tmux.sh脚本:
vim /root/ansible.roles/roles/tmux/files/tmux.sh
---------------------------------------------------------------->
#!/bin/bash
# # Install libevent
cd && cd
tar xf libevent-2.0.-stable.tar.gz
cd libevent-2.0.-stable
./configure
make && make install
ln -s /usr/local/lib/libevent-2.0.so. /usr/lib64/libevent-2.0.so. # Install tmux
cd && cd
tar xf tmux-2.0.tar.gz
cd tmux-2.0
./configure --prefix=/usr/local/tmux
make && make install # Extra Operation
touch /etc/profile.d/tmux.sh
echo 'PATH=$PATH:/usr/local/tmux/bin' > /etc/profile.d/tmux.sh
echo 'export PATH' >> /etc/profile.d/tmux.sh
echo 'MANPATH /usr/local/tmux/share/man' >> /etc/man.config
. /etc/profile.d/tmux.sh
<----------------------------------------------------------------
chmod +x /root/ansible.roles/roles/tmux/files/tmux.sh
5.加入要安装的主机:
vim /etc/ansible/hosts
---------------------------------------------->
[tmux] //对应tmux.yaml文件里的名称
192.168.19.76 ansible_ssh_pass=password //主机IP+登录密码
6.尝试使用:
cd /root/ansible.roles/
ansible-playbook tmux.yaml

至此,实验全部完成。使用中发现/etc/profile.d/tmux.sh这个文件不能被正常source,所以可能需要手动执行一下 . /etc/profile.d/tmux.sh 。由于时间紧迫,所以过程还不是很完善,脚本也并不严谨,没有一些条件判断等等,而且安装主机必须要有编译环境。大家如果有需要可以自行扩展修改,我已经把ansible文件夹上传至共享,大家可以随意下载使用。最后,感谢大家的收看,谢谢!如有问题,请联系QQ:82800452.
使用ansible编译安装运维工具tmux的更多相关文章
- sshpass做秘钥分发,ansible做自动化运维工具
最近公司机器的增多,顺便还要上报表系统,考虑到服务器越来越多,手工的管理显得越来的越吃力,所以打算推进公司自动化运维工具的使用. 推进的过程中,一步一个坑踩过来的.由于公司之前未运用过自动化运维工具, ...
- Nexus 安装运维手册
1. Nexus 安装与配置 1.1 下载Nexus 登录https://www.sonatype.com/download-oss-sonatype,下载最新的Nexus版本. 我这里使用的是nex ...
- 自动化运维工具——ansible安装入门(一)
一.简介 现如今有很多运维自动化的工具,如:Ansible.Puppet.saltStack.Fabric.chef.Cfengine 1. Ansible介绍 Ansible 是由 Cobbler与 ...
- 自动化运维工具Ansible详细部署 (转载)
自动化运维工具Ansible详细部署 标签:ansible 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://sofar.blog. ...
- 自动化运维工具之ansible
自动化运维工具之ansible 一,ansible简介 ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fab ...
- 自动化运维工具Ansible详细部署
本文来源:http://sofar.blog.51cto.com/353572/1579894/ 前言 一个由 Python 编写的强大的配置管理解决方案.尽管市面上已经有很多可供选择的配置管理解决方 ...
- 企业级自动化运维工具应用实战-ansible
背景 公司计划在年底做一次大型市场促销活动,全面冲刺下交易额,为明年的上市做准备.公司要求各业务组对年底大促做准备,运维部要求所有业务容量进行三倍的扩容,并搭建出多套环境可以共开发和测试人员做测试,运 ...
- 项目实战10.1—企业级自动化运维工具应用实战-ansible
实战环境: 公司计划在年底做一次大型市场促销活动,全面冲刺下交易额,为明年的上市做准备.公司要求各业务组对年底大促做准备,运维部要求所有业务容量进行三倍的扩容,并搭建出多套环境可以共开发和测试人员做测 ...
- 自动化运维工具Ansible介绍
一个由 Python 编写的强大的配置管理解决方案.尽管市面上已经有很多可供选择的配置管理解决方案,但他们各有优劣,而 ansible 的特点就在于它的简洁. 让 ansible 在主流的配置管理系统 ...
随机推荐
- 创建自己的Vagrant box
这是一个关于Vagrant的学习系列,包含如下文章: Vagrant入门 创建自己的Vagrant box 用Vagrant搭建Jenkins构建环境 用Vagrant和Ansible搭建持续交付平台 ...
- PR&AE插件开发遇到的一个坑
经过一段时间的摸索,对Adobe Premiere Pro和After Effects系列插件的开发工作有了一定的掌握.如今公司需要针对Premiere Pro和After Effects开发另外一款 ...
- 【转】asp.net(c#)加密解密算法之sha1、md5、des、aes实现源码详解
原文地址:http://docode.top/Article/Detail/10003 目录: 1..Net(C#)平台下Des加密解密源代码 2..Net(C#)平台下Aes加密解密源代码 3..N ...
- python之消息队列
引言 你是否遇到过两个(多个)系统间需要通过定时任务来同步某些数据?你是否在为异构系统的不同进程间相互调用.通讯的问题而苦恼.挣扎?如果是,那么恭喜你,消息服务让你可以很轻松地解决这些问题.消息服务擅 ...
- php实现设计模式之 工厂方法模式
<?php /* * *工厂方法模式,创建型模式 定义一个用于创建对象的工厂接口,让子类决定实例化哪一个类.Factory Method使用一个类的实例化延迟到其子类 * * 四个角色: * 工 ...
- ASP.NET MVC开发中常见异常及解决方案
ASP.NET MVC4入门到精通系列目录汇总 NHibernate:no persister for 异常 1.配置文件后缀名写错 mapping file 必须是.hbm.xml结尾 2.Web. ...
- kafka-0.10.0官网翻译(一)入门指南
1.1 IntroductionKafka is a distributed streaming platform. What exactly does that mean?kafka是一个分布式的流 ...
- [翻译]用 Puppet 搭建易管理的服务器基础架构(4)
我通过伯乐在线翻译了一个Puppet简明教程,一共分为四部分,这是第四部分. 原文地址:http://blog.jobbole.com/89214/ 本文由 伯乐在线 - Wing 翻译,黄利民 校稿 ...
- 滚动变色的文字js特效
Js实现滚动变色的文字效果,在效果展示页面,可看到文字在交替变色显示,以吸引人的注意,效果真心不错哦,把代码拷贝到你的网站后,修改成想要的文字就OK了. 查看效果:http://keleyi.com/ ...
- JavaScript强化教程 —— Cocos2d-JS的屏幕适配方案
1. 设置屏幕适配策略(Resolution Policy) 如果你还没有用过Resolution Policy,只需要在游戏载入过程完成之后(cc.game.onStart函数回调中),调用下面的代 ...