使用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.22-stable.tar.gz
cd libevent-2.0.22-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.22-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.22-stable.tar.gz
cd libevent-2.0.22-stable
./configure
make && make install
ln -s /usr/local/lib/libevent-2.0.so.5 /usr/lib64/libevent-2.0.so.5

# 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.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM