Debian/Ubuntu 的 update-rc.d 使用教學

Debian

update-rc.d 是在 DebianUbuntu 內用來管理 /etc/init.d 目錄內的 scripts 工具。不管是 Nginx 或 Mysql 等相關服務,都可以在 /etc/init.d 目錄內找到相對應的 script 檔案,隨便打開一個 script 檔案就可以看到標頭有固定的格式寫法:

1
2
3
4
5
6
7
8
9
### BEGIN INIT INFO
# Provides:          gorush
# Required-Start:    $syslog $network
# Required-Stop:     $syslog $network
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: starts the gorush web server
# Description:       starts gorush using start-stop-daemon
### END INIT INFO
[Read More]

在 Debian 7.8 安裝 Gitlab 筆記

gitlab_logo

之前寫過一篇 GitLab 快速安裝筆記,但是這次在 Debian 7.8 上安裝起來遇到蠻多問題,故寫此篇來記錄安裝遇到的問題,也會寫到如何搭配 Nginx 設定。GitLab 分兩種版本,一種是 Community Edition packages 另一種是 Enterprise Edition packages,本篇是記錄 Community 版本安裝步驟,可以到下載頁面選擇您的作業系統,就可以看到安裝方式

[Read More]

Docker 救了 Debian SSH terminal

上週在處理實體機器時,不小心下了底下指令 $ dpkg --purge --force-all zlib1g 造成系統所有相關指令都不能使用,像是 ssh, scp, fetch, wget 等跟網路相關的指令都會出現底下錯誤訊息 curl: error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory 本來想說可以透過指令將檔案抓回來,放回去就可以恢復了,但是所有指令幾乎都不能用,連 git 也出現該錯誤訊息,這時候最怕 terminal 斷線,如果斷線了,就要到機房去處理問題了。最後想到用 Docker 來處理,簡單幾個步驟就可以將檔案抓回來了 # 抓 debian images $ docker pull debian:7 # 進入 docker $ docker run -t -i debian:7 /bin/bash # 從 docker 複製檔案到 home 目錄,其中 e1bf3950b16c docker id $ docker cp e1bf3950b16c:/lib/x86_64-linux-gnu /home/ 完成後,在去 x86_64-linux-gnu 找到 libz. [Read More]

在 Debian 安裝 Percona Xtradb Cluster 5.5.34 注意事項

percona

最近幫公司安裝新的三台機器,全部上 Debian 7.5 Server 版本,統一安裝 Percona Xtradb Cluster 最新版本 5.5.37。設定完第一台 Node,並且透過底下指令 boot up 成第一台 PXC。

$ /etc/init.d/mysql bootstrap-pxc

後續第二台要啟動跟第一台進行 SST,寫到一半直接噴底下錯誤訊息

WSREP_SST: [ERROR] Cleanup after exit with status:32 (20140702 10:57:28.004) WSREP_SST: [INFO] Removing the sst_in_progress file (20140702 10:57:28.006) 140702 10:57:28 [ERROR] WSREP: Process completed with error: wsrep_sst_xtrabackup –role ‘joiner’ –address ‘192.168.1.101’ –auth ‘xxxxx:xxxxxx’ –datadir ‘/var/lib/mysql/’ –defaults-file ‘/etc/mysql/my.cnf’ –parent ‘16042’: 32 (Broken pipe) 140702 10:57:28 [ERROR] WSREP: Failed to read uuid:seqno from joiner script. 140702 10:57:28 [ERROR] WSREP: SST failed: 32 (Broken pipe)

[Read More]

修復 Ubuntu 開機 boot loader

logo-Ubuntu

昨天下午本來想幫自己的筆電 (Ubuntu OS) 升級記憶體,結果因為機型過於老舊,以現在的記憶體時脈 1600 裝上去後,直接讓 Ubuntu 當機,反覆重新開機,無法向下相容,加上現在記憶體狂漲價,找不到更低階的記憶體安裝了,無奈的是,店員幫忙測試筆電,換個記憶體,結果連 Ubuntu 的 boot loader 都可以壞掉。我看店員很緊張的說,不好意思,可以幫忙備份,幫忙我重灌。結果我還是自己拿回家處理比較安心。自己也不知道為什麼換個記憶體,可以讓 boot loader 消失。底下是修復 boot loader 過程

[Read More]

在 Ubuntu 或 Debian 上跑 Ruby on Rails + Nginx

Ruby_logo

本篇用來紀錄學習 Ruby on Rails 所需要的開發環境,請不要輕易嘗試使用 Windows 當開發環境,因為真的很不好裝,又很難除錯,所以作者建議開發環境一定要有 Linux 機器,如果是個人電腦用 Mac 也沒這問題。用 Rails 可以快速開發 Web 搭配 MySQL 資料庫,完成後可以透過 Capistrano 工具幫助 Deploy 到 Production Server。底下會一一介紹如何在 Debian 機器上架設好 Ruby + Nginx 環境

[Read More]

How to install Gearman on Ubuntu or Debian with MySQL 安裝測試篇

Gearman 可以在背景幫忙處理繁瑣的工作,例如壓縮影片、處理縮圖、發送認證信…等,這次不會提到太多 Gearman 介紹,如果想瞭解 Gearman 可以參考小鐵兄寫的 Gearman 心得,此篇會筆記如何在 Ubuntu or Debian 安裝 Gearman 搭配 MySQL 服務,當然如果你不是使用 MySQL,也可以另外搭配 MemcachedSQLite 都可以

[Read More]

[筆記] Ubuntu apt-get update 出現 NO_PUBKEY / GPG error

logo-Ubuntu
當我們更新 Ubuntu/Debian 伺服器套件時,apt-get update 出現底下錯誤訊息
W: GPG error: http://ppa.launchpad.net maverick Release: 
The following signatures couldn't be verified because the public key is not available: 
NO_PUBKEY 1C1E55A728CBC482
[Read More]

用 Ubuntu 10.10 Live CD 重新安裝 GRUB 2 到 Bootloader

logo-Ubuntu

今天起床打開電腦,Ubuntu 跳出 Warning 訊息,boot 磁區剩下 84MB,所以我手殘進去 /boot/ 目錄,把舊的 Kernel 清除,不小心砍掉 initrd.img-2.6.35-32-generic Linux Image 開機所需要的檔案,結果之後開機出現

You need to load the kernel first 大家好像都是升級 Kernel 之後才會出現上述狀況,網路上找到的解答都不符合我的需求,所以我又往 GRUB2 開機 Boot 去瞭解,新的 GRUB 2 跟原先的 GRUB 的解法已經完全不同了,沒有 /boot/grub/menu.list,而被 /boot/grub/grub.cfg 取代,所以不應該在手動編輯此檔案。grub.cfg 會在有更新 Kernel 版本時,手動執行 update-grub 的時候被修改覆寫。這次發生的原因是在我把舊版 Kernel 刪除,而忘記執行 update-grub,這時候的最佳解法就是透過 Live CD 來救援。

[Read More]