code-prettify

顯示具有 Arch 標籤的文章。 顯示所有文章
顯示具有 Arch 標籤的文章。 顯示所有文章

2016年5月19日 星期四

Linux auto build project when file modify

Arch auto build qt project when file modify use inotify-tools

#install inotify tools
pacman -S inotify-tools

# write a monitor script
autobuild.sh

=== Refference ===
Github - inotify-tools
https://github.com/rvoicilas/inotify-tools/wiki

inotifywait(1) - Linux man page
http://linux.die.net/man/1/inotifywait






2016年1月7日 星期四

Arch 安裝 RabbitMQ

sudo pacman -S rabbitmq

單次啟動
sudo rabbitmq-server

背景執行
sudo rabbitmq-server &

啟動 web 管理介面模組
sudo rabbitmq-plugins enable rabbitmq_management

新增帳號
sudo rabbitmqctl add_user admin passworld
sudo rabbitmqctl set_user_tags admin administrator
sudo rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"

允許遠端登入
sudo nano /etc/rabbitmq/rabbitmq.config

輸入下列內容後存檔,然後重啟 rabbitmq
[{rabbit, [{loopback_users, []}]}].

使用此網址登入
帳密為 admin / passworld
http://127.0.0.1:15672/

新增一個使用者及 Virtual Hosts
sudo rabbitmqctl add_user user passworld
sudo rabbitmqctl add_vhost vhost
sudo rabbitmqctl set_permissions -p vhost user ".*" ".*" ".*"

設定 ssl

在 rabbitmq.config 檔案設定

[
  {rabbit, [
     {ssl_listeners, [5671]},
     {ssl_options, [{cacertfile,"/path/to/testca/cacert.pem"},
                    {certfile,"/path/to/server/cert.pem"},
                    {keyfile,"/path/to/server/key.pem"},
                    {verify,verify_peer},
                    {fail_if_no_peer_cert,false}]}
   ]}
].

2016-02-04 Update:
新增帳號及權限設定方法
新增 SSL 設定方法

資料來源:
How to Enable RabbitMQ Management Plugin and Create New User
http://www.thegeekstuff.com/2013/10/enable-rabbitmq-management-plugin/

RabbitMQ 3.3.1 can not login with guest/guest
http://stackoverflow.com/questions/23669780/rabbitmq-3-3-1-can-not-login-with-guest-guest

Can't access RabbitMQ web management interface after fresh install
http://stackoverflow.com/questions/22850546/cant-access-rabbitmq-web-management-interface-after-fresh-install

rabbitmqctl(1) manual page
https://www.rabbitmq.com/man/rabbitmqctl.1.man.html

TLS Support
https://www.rabbitmq.com/ssl.html

下面的方法還沒成功
[solved] how to start the rabbitmq-server with systemctl
https://bbs.archlinux.org/viewtopic.php?id=191587

2015年9月26日 星期六

Arch 安裝 PostgreSQL

第一步先安裝 PostgreSQL
sudo pacman -S postgresql

然後登入 postgres 帳號
sudo -i -u postgres

接著進行資料庫初始化
initdb --locale en_US.UTF-8 -E UTF8 -D '/var/lib/postgres/data'

如果發生錯誤,表示目前的 locale 不是 en_US.UTF-8
initdb: invalid locale name "en_US.UTF-8"

初始化資料庫後就可以啟動 PostgreSQL
sudo systemctl start postgresql.service
sudo systemctl enable postgresql.service

建立使用者
createuser --interactive

接著用剛剛建立的使用者帳號建立資料庫
createdb myDatabaseName

使用 psql 進入資料庫
psql -d myDatabaseName

允許遠端連線
修改 /var/lib/postgres/data/postgresql.conf 的內容
listen_addresses = '*'

接著在 /var/lib/postgres/data/pg_hba.conf 將原本的 IPv4設定為
host   all   all   my_remote_client_ip_address/32   md5

設定完之後,重新啟動 PostgreSQL
sudo systemctl restart postgresql



資料來源:
Archlinux Wiki - PostgreSQL
https://wiki.archlinux.org/index.php/PostgreSQL

2015年9月21日 星期一

Arch Linux 安裝 ssh server

使用 Linux 常常會用到的功能 ssh

首先安裝 ssh server
pacman -S openssh

接著啟動服務
systemctl start sshd.service

可以設定開機自動啟動服務
systemctl enable sshd.service

如果是在 VM 底下操作的話,記得設定 port forwarding


2015年5月20日 星期三

Arch Linux 安裝 nginx

Arch Linux 安裝 nginx

安裝 nginx
# pacman -S nginx

預設設定為 localhost 80 port,
使用 systemd 來執行 nginx (一次性)
# systemctl start nginx.service
或者啟動此服務 (開機自動執行)
# systemctl enable nginx.service

這時候可以在 http://localhost 看到預設網頁了喔!


nginx 主要設定檔為 /etc/nginx/nginx.conf,可以使用 nano 編輯
# nano /etc/nginx/nginx.conf

預設網頁為 /usr/share/nginx/html/index.html,可以使用 cat 查詢
# cat /usr/share/nginx/html/index.html

相關文章:
nginx 使用正則表達式將特定網址重導向

資料來源:
Arch Wiki - nginx
https://wiki.archlinux.org/index.php/Nginx

Arch Wiki - systemd
https://wiki.archlinux.org/index.php/Systemd#Using_units

2015年5月18日 星期一

Arch Linux 文章列表

基本安裝:

VirtualBox 安裝 Arch Linux

Arch Linux 基本設定

Arch Linux 安裝 ssh server

選擇性安裝:

Arch Linux C++ / Qt 開發

Arch Linux 安裝 nginx

Arch 安裝 PostgreSQL

Arch 安裝 RabbitMQ

發生問題:

安裝 Arch Linux 發生錯誤 invalid of corrupted package (PGP signature)


Arch Linux C++ / Qt 開發

Arch Linux C++ / Qt 開發

要進行 C++ 開發,只要安裝基本開發套件
# pacman -S base-devel
使用 nano 新增 main.cpp 輸入下列文字:

#include <iosteam>

int main(int argc, char* argv[])
{
    std::cout << "Hello World!" << std::endl;

    return 0;
}

存檔後使用 g++ 編譯
# g++ main.cpp
編譯後會產生 a.out 檔案,執行
#./a.out
畫面上就會印出 Hello World! 文字

接著安裝 Qt 套件
# pacman -S qt
新增一個 qt 資料夾並進入
# mkdir qt
# cd qt
使用 nano 新增 main.cpp 輸入下列文字:

#include <QDebug>

int main(int argc, char* argv[])
{
    qDebug() << "Hello World!";

    return 0;
}

使用 qmake 產生專案檔
# qmake -project
使用 qmake 產生 Makefile
# qmake
使用 Makefile 編譯
# make
執行產生的 qt 檔案
# ./qt
畫面上會印出 Hello World! 的文字

相關文章:
Arch Linux 文章列表

資料來源:
Arch Linux
https://www.archlinux.org/

Arch Linux 臺灣社群
http://archlinux.tw/

2015年5月17日 星期日

Arch Linux 基本設定

Arch Linux 基本設定

本文接續前篇:
VirtualBox 安裝 Arch Linux



可以使用下列指令檢查網路是否正常
# ping -c 3 www.google.com

設定 root 密碼
# passwd

設定 hostname
echo arch > /etc/hostname

設定時區 (此範例將時區設定為台北時間)
ln -s /usr/share/zoneinfo/Asia/Taipei /etc/localtime

註:如果出現下列錯誤訊息,加上 -f 參數即可強制執行
ln: failed to create symbolic link '/etc/locatime': File exists



=== 設定 UTF-8 語系

設定支援語系,編緝要產生的語系
# nano /etc/locale.gen

將下列解除註解 (刪除開頭的 # 符號)
en_US.UTF-8 UTF-8

開始產生語系
# locale-gen

設定系統的語系為 UTF-8
localectl set-locale LANG=en_US.UTF-8



新增使用者 (
# useradd -m {username}
註:沒有加上 -m 參數的話,
不會建立使用者家目錄 /home/{username} 及相關檔案 .bash_logout .bash_profile, .bashrc

設定使用者密碼
# passwd {username}

刪除使用者
# userdel {username}

範例:
#useradd demo
#useradd demo

安裝 sudo
#pacman -S sudo

設定 sudo 的使用者
警告:永遠只用 visudo 指令來修改,不要直接修改檔案,
因為 visudo 指令會在修改完畢後進行檢查。
你可以使用預設的 vi 編輯器
# visudo
或者使用 nano 當編輯器
# EDITOR=nano visudo
簡單的將某一使用者加入 sudo 的方法是在
root ALL=(ALL) ALL 下面加入一行
{username} ALL=(ALL) ALL
例如:
demo ALL=(ALL) ALL

登出後使用新的使用者帳密登入
# logout



===
20160512 Update:
設定 UTF-8 語系

20160106 Update:
移除啟動 dhcp 服務 (移到安裝時進行)

相關文章:
Arch Linux 文章列表

資料來源:
Arch Linux
https://www.archlinux.org/

Arch Linux 臺灣社群
http://archlinux.tw/

鳥哥的 Linux 私房菜
http://linux.vbird.org/linux_basic/

安裝 Arch Linux 發生錯誤 invalid of corrupted package (PGP signature)

安裝 Arch Linux 發生錯誤 invalid of corrupted package (PGP signature)

今天安裝時發生下列錯誤:
error: dhcpcd: signature from "Anatol Pomozov <anatol.pomozov@gmail.com>" is unknown trust
:: File /mnt/var/cache/pacman/pkg/dhcpcd-6.7.1-1-x86_64.pkg.tar.xz is corrupter (invalid of corrupted package (PGP signature)).

這時候就要更新 key
# pacman-key --populate archlinux
# pacman-key --refresh-keys

之後再執行一次安裝即可
# pacstrap -i /mnt base

相關文章:
Arch Linux 文章列表

資料來源:
Arch Linux - [Solved] New install - invalid of corrupted package (PGP signature)
https://bbs.archlinux.org/viewtopic.php?id=195139

2015年5月10日 星期日

VirtualBox 安裝 Arch Linux

VirtualBox 安裝 Arch Linux

一、取得安裝檔 (iso)

Arch網站選擇一個站台下載 iso 檔案,建議使用 BT 下載
Release Info 顯示最新的版本資訊
BitTorrent Download (recommended) 是 BT 磁力連結及種子檔
HTTP Direct Downloads 開始是全球各地直接下載的連結

本文編輯時的版本:
Current Release: 2016.01.01
Included Kernel: 4.3.3

註:如果是現有的 arch linux,可以使用 pacman -Syu 指令直接升級

二、設定 VirtualBox

建立一個新的虛擬機,設定記憶體 512 MB,硬碟 16 GB。

三、開始安裝

啟動虛擬機後,掛載 iso 檔,會看到安裝畫面

按下 Enter 選擇第一項 Boot Arch Linux (x86_64) 之後進入安裝介面

首先進行網路連線測試,確認網路功能正常
# ping -c 3 www.google.com

將著使用 cgdisk 建立 GPT 分割區,
預計分別建立 10G 在  / (根目錄),4G在 /home,2G 在 /swap (共 16G)
# cgdisk /dev/sda

警告頁面,按下任何鍵後繼續,
會看到目前總共有16G 的 free space


首先建立第一個空間,10G
New / Enter (預設) / 10G / Enter (預設 8300) / Enter (預設空白)



移到下面的 6G free space 的位置,同樣的動作建立 4G 空間
New / Enter (預設) / 4G / Enter (預設 8300) / Enter (預設空白)

移到最後的 2G free space 的位置
New / Enter (預設) / 2G / Enter (預設 8300) / Enter (預設空白)

確認正確後寫入(警告訊息為此動作會破壞硬碟上的資料)
Write / Enter
最後離開 cgdisk
Quit

建立檔案系統
# mkfs.ext4 /dev/sda1
# mkfs.ext4 /dev/sda2

別忘了 swap
# mkswap /dev/sda3
# swapon /dev/sda3

使用 lsblk 來確認目前的分割區狀態
# lsblk /dev/sda

掛載分割區
# mount /dev/sda1 /mnt
# mkdir /mnt/home
# mount /dev/sda2 /mnt/home

使用 pacstrap 安裝基本系統
# pacstrap -i /mnt base

產生 fstab 檔案
# genfstab -U -p /mnt >> /mnt/etc/fstab
使用 nano 文字編緝器查看產生的資訊
# nano /mnt/etc/fstab
(Ctrl + X 離開 nano)

使用 chroot 進入剛安裝好的系統
# arch-chroot /mnt /bin/bash

 設定 BIOS 主機版開機載入程式
# pacman -S gptfdisk
# pacman -S syslinux
# syslinux-install_update -i -a -m

設定開機根目錄為 /dev/sda1 (預設為 /dev/sda3)
# nano /boot/syslinux/syslinux.cfg

設定網路,啟動 dhcp 服務
# systemctl enable dhcpcd.service

離開 chroot 並重啟系統
# exit
# umount -R /mnt
# poweroff

記得先退出 arch 安裝光碟

重開機後看到開機選項,5秒後自動進入 Arch Linux
接著登入 root 後就可以開始使用了


到此基本系統安裝完成,如果有興趣可以參考下一篇:
Arch Linux 基本設定

相關文章:
Arch Linux 文章列表

20150611 Update:
Arch 版本由 2015.05.01 改為 2015.06.01,硬碟空間由 8G 改為 16G
20160106 Update:
Arch 從 2015.06.01 更新為 2016.01.01
Kernel 從 4.0.4 更新為 4.3.3
新增啟動 dhcp 服務 (原本在基本設定時才進行)

資料來源:
Arch Linux
https://www.archlinux.org/

Arch Linux 臺灣社群
http://archlinux.tw/