Sunday, 21 June 2015

[SaltStack] Chào Muối, em là ai?

Title phụ: How to fall in love with SaltStack?

Update: tham gia hội người dùng Salt tại Việt Nam https://www.meetup.com/VietNam-SaltStack-Meetup/

Muối, một cô gái 25 tuổi, sống nội tâm, một mình ở nơi toàn sắp thép, luôn được bao quanh bởi những anh chàng IT khô cằn mà mỗi thằng đều dấu dưới chân mình một cái giếng ngập tràn chất lỏng (nước?).
Muối không hoàn hảo, như tất cả mọi thứ trên hành tinh này.
Muối không dễ được yêu, bởi Muối chỉ dành cho những ai cần đến cô.
Nhưng Muối đơn giản (YAML), muối nhẹ nhàng (lightweight ~ 50MB RAM), dù nhiều khi hơi phũ phàng trước thay đổi (upgrade PITA).
Muối chẳng cần phải so sánh mình với ai, bởi đấy không phải cách một kẻ yêu bản thân mình sẽ sống.

Muối là tên gọi hư cấu mà tác giả dành cho SaltStack, một điều đặc biệt đã thay đổi cuộc đời anh, mãi mãi.

1. SaltStack là gì?

Friday, 12 June 2015

[Debian] update-alternatives: thay đổi là sự lựa chọn!

update-alternatives là tên của một chương trình trong Debian (tất nhiên cả Ubuntu), phục vụ cho việc quản lý các symlink để quyết định câu lệnh nào là default (mặc định).

Chú ý 1: có chữ ``s`` ở cuối tên câu lệnh
Chú ý 2: phiên âm là /ɔːlˈtəːnətɪv/  - Việt sub: ôl tơ nơ tiv 
 
Chào hỏi theo phong cách CCGU
$ for cmd in whatis whereis which; do echo -n $cmd: ; $cmd update-alternatives; done
whatis:update-alternatives (8) - maintain symbolic links determining default commands
whereis:update-alternatives: /usr/bin/update-alternatives /usr/sbin/update-alternatives /usr/share/man/man8/update-alternatives.8.gz
which:/usr/sbin/update-alternatives
Là một câu lệnh thuộc man8, update-alternatives nhắm tới đối tượng sử dụng là các sysadmin, tên câu lệnh khá dài và cho thấy một sự thật rằng dài nhiều khi không phải đã là hay.

update-alternatives giải quyết vấn đề gì?
Khi có nhiều chương trình cùng cung cấp 1 tính năng (ví dụ emacs, nano và vim đều cung cấp tính năng "editor"), việc này tiện cho user được lựa chọn nhưng với các chương trình thì đây lại là một vấn đề, chúng sẽ không biết lấy cái gì để dùng. ``alternatives system`` của Debian đảm bảo cung cấp 1 cái tên chung (cụ thể là 1 symlink file: vd /usr/bin/editor), và nó sẽ chọn một chương trình phù hợp để cung cấp tính năng ấy.