發表文章

目前顯示的是有「Server」標籤的文章

Enabling the InnoDB File-Per-Table tablespaces and migrate the MySQL database for Zabbix 3.2.6 on CentOS 7

As the Zabbix Ops , we want to split the large ibdata1 file , so than we can reduce the obsolete data like history_uint table . [ jonny @zabbix-server ~ ] $ ls -lh /var/lib/mysql/ [Enter] total 16G -rw-rw---- 1 mysql mysql 16K Aug 15 10:36 aria_log.00000001 -rw-rw---- 1 mysql mysql 52 Aug 15 10:36 aria_log_control -rw-rw---- 1 mysql mysql 15G Aug 15 12:45 ibdata1 -rw-rw---- 1 mysql mysql 5.0M Aug 15 12:45 ib_logfile0 -rw-rw---- 1 mysql mysql 5.0M Aug 15 12:45 ib_logfile1 drwx------ 2 mysql mysql 4.0K Aug 15 10:36 mysql srwxrwxrwx 1 mysql mysql 0 Aug 15 10:44 mysql.sock drwx------ 2 mysql mysql 4.0K Aug 15 10:36 performance_schema drwx------ 2 mysql mysql 6 Aug 15 10:36 test drwx------ 2 mysql mysql 8.0K Aug 15 13:59 zabbix ▲ We can see the ibdata1 filesize is very large.

Install the Vim 8.0 and YouCompleteMe with Make on CentOS 7.3

圖片
As a vimmer , I want to complete and install the Vim 7.4.1578+ at ~/.local , so than I can use the YouCompleteMe plugin on CentOS 7.3 . ▲ The Vim 8.0.1522 on CentOS 7.3.1611.

DevOps 人一定要知道的持續交付技巧 - Ansible & GitLab CI 實戰演練工作坊

圖片
凍仁前後分享過兩次 DevOps 人一定要知道的 Ansible & GitLab CI 持續交付技巧 的技術分享後,有個謎之音問到:「不如挑戰看看工作坊 (Workshop) 吧?這主題都可以講上一天了呢!」,又因持續交付 (Continuous Delivery) 的主題很廣,便前後答應 新竹數位海洋 ( DigitalOcean Hsinchu ) 和台南酷學園 ( Study-Area Tainan) 邀約,踏上了北中南巡迴分享的旅途。 ▲ 凍仁於 Agile Tour Taichung 2017 上台分享的第 5 版簡報。

firewalld - CentOS 7 的動態防火牆

如同先前在 [完全用 GNU/Linux 工作] 07. 簡易的防火牆 一文提到,Ubuntu 從 8.04 LTS 開始多了 ufw 這個簡單的防火牆,CentOS 也在 7.0 導入可以動態管理防火牆的 firewalld 。Weithenn 前輩的 CentOS 7.3 基礎設定 (10) - 調整 Firewalld 防火牆規則 一文很好的解說了 firewalld 與 iptables 的差異,想深入了解的伙伴不妨參考一下。 firewalld 還有個跟 Windows 7 類似的 網路共用設定 機制,在官方文件中是使用 界域 1 (zone) 來敘述這項依據不同環境所設計的網路區域功能。我們可以藉由在各種不同的 zone 進行設置,來達到公開網域 (public network zone) 不開 ssh 埠口,而內部網域 (internal network zone) 則允許等較複雜的信任等級配置。這部份凍仁還未深入研究,在此就不多加說明。

如何在 CentOS 7 解決 glibc 的 yum 套件相依性問題

這週凍仁接到一個需要幫 CentOS 7 部署 OpenLDAP client 的任務。過程中,總是有一兩台 server 會遇到 glibc 相依性問題,並為此煩惱。如果是所有的 server 都有同樣的問題還好解決,最麻煩的就是遇上這種時好時壞的情形。 [ jonny @centos7 ~ ] $ sudo yum install nss-pam-ldapd [Enter] ... 1 --> Finished Dependency Resolution 2 Error: Package: glibc-2.17-157.el7_3.1.i686 (internel-upadte) 3 Requires: glibc-common = 2.17-157.el7_3.1 4 Installed: glibc-common-2.17-157.el7_3.2.x86_64 (@updates) 5 glibc-common = 2.17-157.el7_3.2 5 Available: glibc-common-2.17-105.el7.x86_64 (internel-base) 6 glibc-common = 2.17-105.el7 7 Available: glibc-common-2.17-106.el7_2.1.x86_64 (internel-upadte) 8 glibc-common = 2.17-106.el7_2.1 9 Available: glibc-common-2.17-106.el7_2.4.x86_64 (internel-upadte) 10 glibc-common = 2.17-106.el7_2.4 11 Available: glibc-common-2.17-106.el7_2.6.x86_64 (internel-upadte) 12 glibc-common = 2.17-106.el7_2.6 13 Available: glibc-common-2.17-106.el7_2.8.x86_64 (internel-upadte) 14 glibc-co

怎麼在 GitLab CI 用 color mode 跑 Ansible Playbooks?

圖片
凍仁近日使用 Ansible 和 GitLab CI 幫公司導入持續交付 (Continuous Delivery) 時,很希望 GitLab CI 的執行結果可以像終端機 (TTY) 一樣,有便於閱讀的色彩模式 (color mode)。 今日隨手翻了《Ansible: Up and Running》一書,便於附錄裡得到解答,真是無心插柳柳成陰啊! ▲ 當 force_color = 1 時,GitLab CI 的執行結果。 (more)

現代 IT 人一定要知道的 Ansible 自動化組態技巧 (3/e)

圖片
上上周 (2017/03/14) 參加完 Weithenn 前輩分享的 打造 Infrastructure Agility Mode 2 的基石 – Docker / Container 後,凍仁便於上周 (2017/03/21) 的 Tossug 分享些 Ansible 基礎入門,長年待在南部的凍仁可說是第一次站上 Tossug 和摩茲工寮的舞台呢! ▲ Automate with Ansible (Basic), 3/e

現代 IT 人一定要知道的 Ansible 自動化組態技巧 Ⅱ - Roles & Windows

圖片
今年,凍仁有幸接獲 Netman 前輩邀請,並擔任 SA 2016 群英會 的講者。想想凍仁也在 SA 1 學到了不少技術,總算可以報恩了! 這次凍仁是接續 sakana 前輩的 淺談 Ansible 自動化管理工具 之後分享 Ansible Role 和 Windows Support 。 ▲ My sildes of Automate with Ansible (Advanced) - Roles & Windows

現代 IT 人一定要知道的 Ansible 自動化組態技巧

圖片
愛上 Ansible 自動化組態的凍仁聽到五月份有 KaLUG 聚會 ,便自告奮勇說要分享 Ansible 的主題,這是凍仁自從報完 大學專題 後第二次在 KaLUG 分享 topic。 ▲ My sildes of Automate with Ansible (Basic)

使用 Vim 和 Vi Mode

對於一位熱愛 Vim 的 Vimmer 而言,可以在各個地方使用 Vim 是一件很幸福又可以增進產能的事,以下是凍仁常用的 Vim 小技巧。更多相關資訊請參考 Vim 系列相關文章。 我在高雄市 (台灣) 獲得了 Vim 餅乾的小禮物! I get the gift of ' #Vim biscuit' at #Kaohsiung City, #Taiwan . #VimTaiwan pic.twitter.com/CaPII8ibLf — 凍仁翔 (@chusiang_lai) February 7, 2016

於 Ubuntu 14.04 安裝 Docker 1.9.1+

圖片
Docker 是近幾年來很火紅的開放源始碼虛擬技術,雖說 Ubuntu 14.04 已有內建 Docker,但 v1.6.3 的 docker.io 似乎對私有的 (private) docker-regisrty 有些不相容,凍仁在此附上 Docker v1.9.1 的裝法。 圖片來源: Aurora Solutions 。

screenfetch - 命令列 (cli) 裡的檢視系統工具

圖片
screenfetch 是個可以讓我們在 *nix 的命令列 (command line interface, 簡稱 cli) 裡檢視系統資訊的小工具。它除了會用 ASCII 繪出該發行版本 (distribution) 的圖示,還會列出各式的系統資訊。 screenfetch 最棒地方是連 Mac OS X 和 Windows 都有它的蹤影,是個非常經典的小工具呢! ▲ screenfetch on Debian 7.9.

sort - 排序指令

sort 是個很強大很的排序工具,而且通常還會搭配 sed, awk, head, tail, uniq 等工具來使用,話說 sort 本身可以做到依欄位排列的功能!相信透過各種參數的組合運用,可以讓攻程師們少寫幾行 code。 [ jonny @yosemite ~ ] $ history | awk '{print $2}' | sort | uniq -c | sort -nr | nl | less 1 1346 ls 2 726 cd 3 688 git 4 224 sdcv 5 219 vi 6 219 ssh 7 158 mv 8 154 cat 9 98 brew 10 92 host ▲ 透過以上指令,可以得知凍仁近來最常用的指令是 ls。

透過 Zabbix 監控 VPN (PPPoE) 狀態

圖片
    於某新公司重新出發的凍仁開始接手維護一套名為 Zabbix 的 GPL 網路監控系統 (詳情請參考 維基百科 )。既然與 Nagios 同是網路監控系統,相信它也可以用來監控某工作站上的 VPN 連線狀態。 內行人都知道 VPN 這玩意會斷線是家常便飯的 。     從剛接觸 Zabbix 到完成此任務凍仁花了兩天的時間,繞了一大圈後總算是對 Zabbix 的架構流程有些了解。以下為凍仁對 VPN (PPPoE) trigger 的筆記,相信能讓大家少走些冤枉路。

etckeeper - 追蹤記錄 /etc 下設定檔的好工具

在使用 Linux 架設服務 (service) 時常會依各種需求而更改設定檔 (configure),可往往這些修改的過程是難以被記錄的,更別說是在多人共同管理的情況下,除了養成手動備份的習慣外,其實我們還可以藉由 etckeeper 來輔助追蹤和記錄其版次的。 etckeeper 是一個藉由版本控制系統 (Version Control System, VCS) 來儲存和蒐集 /etc 設定檔的工具。有了它我們就可以在修改 configure 時附上簡短的敘述以便於後續追蹤,而它同時也整合了套件管理員,我們在進行套件的新增、修改、刪除時也會進行追蹤。以下將以凍仁較慣用 Git 版本控制系統進行示範。

在 Cron Job, Jenkins 或其它程式中使用 GPG

凍仁於 Jenkins CI 的 build script 中使用到的 GPG 指令時,出現了 gpg: cannot open `/dev/tty\': No such device or address 的錯誤訊息。 查了一下才得知 GPG 在正常情狀下預設是會將結果輸出至具有互動的終端機 (Terminal, tty) 底下,但如果今天我們是藉由 Cron Job, 自行撰寫的程式或是 Jenkins 來操作時則會有以上的錯誤訊息, 這時我們只需加上「 --no-tty 」的選項即可避開之。

停用 Ubuntu 擾人的更新和升級通知

圖片
更新管理員 (update manager) 是 Ubuntu 內建的軟體更新套件,它就如同 Windows 一般會在背景 偷偷 運作並跳出 善意的 通知,讓我們知道可以進行更新 (Update) 和升級 (Upgrade)。 這對哥倆還有個共同的特色,那就是它們都會跳出 煩人的 對話視窗來打斷我們的思緒,對於喜愛使用指令 (command) 進行 GNU/Linux 更新和升級的凍仁而言是個很擾人的存在,幸好在 Ubuntu 上我們還可以手動關閉它,以下分別為圖形化介面 (GUI)和終端機介面 (Console) 的設定方法。

成為 GNU/Linux 命令列達人的七種武器

此文是凍仁半年前轉給同事們看的 Bash 入門文章,可說是 GNU / Linux 使用者必備的的常識,相信對於剛踏入這個世界的伙伴而言會是個很好的 overview,最後送給大家一句話:「別害怕命令列、別害怕錯誤訊息,往往答案就在眼前」。 GNU / Linux 終端不僅是一個輸入指令的地方。如若你能熟悉這些基礎技巧,那麼你可以在絕大多數 GNU / Linux 發行版的預設使用的 Bash shell 中遊刃有餘。 這是 howtogeek.com 網站提供給初級用戶升級打怪時不能忘記攜帶的七種武器。

[完全用 GNU/Linux 工作] 30. 銷毀資料 - Shred

過去在 GNU/Linux 裡,凍仁會使用 dd (1) ,此指令會將資料填零而達到抹除磁碟的功用,但就算這樣還是有被專業人士還原的風險;現在凍仁都改用 shred (2) 指令來完成這項任務,此指令是專門用來 撕碎 資料的。

[完全用 GNU/Linux 工作] 29. 檢測硬碟 S.M.A.R.T. 健康狀態

圖片
S.M.A.R.T. 是個用來檢測硬碟健康狀況的指標,雖然前文 ( 26. 使用 Clonezilla 打造不死的作業系統 ) 提供了軟體層面的備份方式,但硬體總有老舊、損壞的一天。而一台電腦中又以硬碟裡的資料最為重要,這裡凍仁將介紹 GNU/Linux 下檢測、監控的方法。 ▲ 在 GNOME 上我們可使用 磁碟公用程式 (Palimpsest) 來檢測 SMART。