使用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 在主流的配置管理系统 ...
随机推荐
- 关系数据库SQL之基本数据查询:子查询、分组查询、模糊查询
前言 上一篇关系数据库常用SQL语句语法大全主要是关系型数据库大体结构,本文细说一下关系型数据库查询的SQL语法. 语法回顾 SELECT [ALL|DISTINCT] <目标列表达式>[ ...
- WPF数据验证
当填写表单时,需要对填写的内容进行验证,检查数据是否符合要求,比如字符串的长度.日期的格式.数字等.WPF支持自定义验证规则,并提供可视化反馈,以便在输入无效值时向用户发出通知. 下面的示例将演示一个 ...
- html 空链接 href="#"与href="javascript:void(0)"的区别
#包含了一个位置信息 默认的锚是#top 也就是网页的上端 而javascript:void(0) 仅仅表示一个死链接 这就是为什么有的时候页面很长浏览链接明明是#但跳动到了页首 而javascrip ...
- Cats(3)- freeK-Free编程更轻松,Free programming with freeK
在上一节我们讨论了通过Coproduct来实现DSL组合:用一些功能简单的基础DSL组合成符合大型多复杂功能应用的DSL.但是我们发现:cats在处理多层递归Coproduct结构时会出现编译问题.再 ...
- PHP资源网站收藏
PHP之道 http://laravel-china.github.io/php-the-right-way/#use_the_current_stable_version http://www.ph ...
- 数据见50条常用sql
问题及描述: --1.学生表 Student(Sid,Sname,Sage,Ssex) --Sid 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别 --2.课程表 Course ...
- ABP 初探 之 权限设计
大.小项目都要设计权限,都想设计一个通用的权限,把权限做的比较复杂,现在了解了ABP的设计思路,觉得设计很简单,但实现方法与思路耐人寻味. 本篇只介绍AbpPermissions的数据库设计,其它表结 ...
- hadoop 集群的配置
在经过几天折腾,终于将hadoop环境搭建成功,整个过程中遇到各种坑,反复了很多遍,光虚拟机就重新安装了4.5次,接下来就把搭建的过程详细叙述一下 0.相关工具: 1,系统环境说明: 我这边给出我的集 ...
- 期待已久的2013年度最佳 jQuery 插件揭晓
让人期待已久的2013年度最佳 jQuery 插件揭晓了.在过去的一年里,有很多很多的 jQuery 插件发布出来,而这里文章列出的这些插件从提供的功能更角度来看是其中的佼佼者.相信这些优秀的 jQu ...
- jQueryMobile示例页面代码
这是一个jQueryMobile示例页面 示例效果:http://hovertree.com/texiao/jquerymobile/ 可以在手机或者触屏浏览器查看效果. 以下是HTML代码: < ...