- vừa được xem lúc

90 ngày DevOps - Ngày 16 - Quản lý Hệ thống Linux, Hệ thống Tệp & Lưu trữ

0 0 16

Người đăng: Anh Cloud

Theo Viblo Asia

Quản lý Hệ thống Linux, Hệ thống Tệp & Lưu trữ

Tính cho đến thời điểm này, chúng ta đã có cái nhìn tổng quan ngắn gọn về Linux và DevOps. Sau đó chúng ta đã thiết lập môi trường thử nghiệm của mình sử dụng Vagrant trong Ngày 14, cuối cùng chúng ta đã đề cập đến một phần nhỏ các lệnh được sử dụng hàng ngày khi làm việc với terminal vào Ngày 15.

Hôm nay, chúng ta sẽ xem xét ba phần chính khi quản lý hệ thống Linux thông qua các bản cập nhật, cài đặt phần mềm, thư mục hệ thống được sử dụng để làm gì và cuối cùng là tìm hiểu về lưu trữ (storage).

Quản lý Ubuntu & Phần mềm

Điều đầu tiên chúng ta sẽ xem xét cách cập nhật hệ điều hành của mình. Hầu hết các bạn đã quen với quy trình này với Windows và macOS, quy trình này sẽ hơi khác trên máy tính và máy chủ sử dụng Linux.

Chúng ta sẽ xem xét trình quản lý gói apt, nó sẽ sử dụng trên Ubuntu VM để cập nhật và cài đặt phần mềm.

Nói chung, ít nhất là trên các máy trạm của nhà phát triển, tôi chạy lệnh này để đảm bảo mình luôn có các bản cập nhật mới nhất vào thời điểm hiện tại từ các kho lưu trữ trung tâm (central repositories), trước khi cài đặt bất kỳ phần mềm nào.

sudo apt-get update

Day16_Linux1.png

Bây giờ chúng ta đã cập nhật Ubuntu VM với các bản cài đặt mới nhất. Bây giờ chúng tôi muốn cài thêm một số phần mềm ở đây.

Hãy chọn figlet - một chương trình tạo biểu ngữ văn bản.

Nếu chúng tôi nhập figlet trong terminal, bạn sẽ thấy rằng chúng ta chưa cài đặt nó trên hệ thống của mình.

Day16_Linux2.png

Mặc dù vậy, bạn sẽ thấy rằng hệ thống cung cấp cho chúng ta một số tùy chọn cài đặt apt mà chúng ta có thể thử. Điều này có thể thực hiện do trong kho lưu trữ mặc định có một chương trình gọi là figlet. Hãy thử sudo apt install figlet

Day16_Linux3.png

Bây giờ chúng ta có thể sử dụng ứng dụng figlet như bạn có thể thấy bên dưới.

Day16_Linux4.png

Nếu chúng ta muốn xóa phần mềm đó hoặc bất kỳ cài đặt phần mềm nào của mình, chúng ta cũng có thể thực hiện việc đó thông qua trình quản lý gói apt.

sudo apt remove figlet

Day16_Linux5.png

Có các kho lưu trữ của bên thứ ba mà chúng ta cũng có thể thêm vào hệ thống của mình, những kho lưu trữ mà chúng ta có quyền truy cập ngay lập tức là các kho lưu trữ mặc định của Ubuntu.

Ví dụ: nếu chúng ta muốn cài đặt vagrant trên Ubuntu VM, chúng ta sẽ không thể thực hiện ngay được và bạn có thể thấy điều này khi thực hiện câu lệnh đầu tiên. Chúng ta sau đó thêm khóa để có thể tin tưởng kho lưu trữ HashiCorp, và cuối cùng là thêm kho lưu trữ của họ vào hệ thống của chúng ta.

Day16_Linux6.png

Sau khi chúng ta thêm kho lưu trữ HashiCorp, chúng ta có thể tiếp tục và chạy sudo apt install vagrant và cài đặt vagrant trên hệ thống.

Day16_Linux7.png

Có rất nhiều tùy chọn khi cài đặt phần mềm, các tùy chọn khác nhau cho trình quản lý gói, được tích hợp trong Ubuntu, chúng ta cũng có thể sử dụng snaps để cài đặt phần mềm của mình.

Hy vọng rằng điều này mang lại cho bạn cảm nhận về cách quản lý cài đặt hệ điều hành và phần mềm trên Linux.

Giải thích về hệ thống tệp

Linux được tạo thành từ các tệp cấu hình, nếu bạn muốn thay đổi bất cứ điều gì thì bạn thay đổi các tệp cấu hình này.

Trên Windows, bạn có ổ C: và đó là thứ mà chúng ta coi là gốc. Trên Linux, chúng ta có / đây là nơi chúng ta sẽ tìm các thư mục quan trọng trên hệ thống Linux của mình.

Day16_Linux8.png

  • /bin - Viết tắt của binary, thư mục bin là nơi các tệp nhị phân mà hệ thống của bạn cần, các tệp thực thi và công cụ hầu như sẽ được tìm thấy ở đây.

Day16_Linux9.png

  • /boot - Tất cả các tệp mà hệ thống của bạn cần để khởi động. Làm thế nào để khởi động và khởi động từ ổ đĩa nào.

Day16_Linux10.png

  • /dev - Bạn có thể tìm thấy thông tin thiết bị tại đây, đây là nơi bạn sẽ tìm thấy các con trỏ tới các ổ đĩa của mình sda sẽ là ổ đĩa hệ điều hành chính của bạn.

Day16_Linux11.png

  • /etc Có thể là thư mục quan trọng nhất trên hệ thống Linux của bạn, đây là nơi chứa phần lớn các tệp cấu hình của bạn.

Day16_Linux12.png

  • /home - đây là nơi bạn sẽ tìm thấy các tệp và thư mục của người dùng. Chúng ta có thư mục vagrant của chúng ta. Đây là nơi bạn sẽ tìm thấy các thư mục DocumentsDesktop mà chúng ta đã làm việc trong khi tìm hiểu các lệnh lệnh.

Day16_Linux13.png

  • /lib - Chúng tôi đã đề cập rằng /bin là nơi chứa các tệp nhị phân và tệp thực thi của chúng tôi, và /lib là nơi bạn sẽ tìm thấy các thư viện dùng chung cho các tệp đó.

Day16_Linux14.png

  • /media - Đây là nơi chúng tôi sẽ tìm thấy các thiết bị di động.

Day16_Linux15.png

  • /mnt - Đây là điểm gắn kết tạm thời. Chúng tôi sẽ đề cập sâu hơn trong phần tiếp theo về lưu trữ.

Day16_Linux16.png

  • /opt - Optional software packages (gói phần mềm tùy chọn). Bạn sẽ nhận thấy ở đây rằng chúng tôi có một số phần mềm virtual box và vagrant được lưu trữ ở đây.

Day16_Linux17.png

  • /proc - Kernel & thông tin về process, tương tự như /dev

Day16_Linux18.png

  • /root - Để có quyền truy cập, bạn cần sudo vào thư mục này. Thư mục home của root.

Day16_Linux19.png

  • /run - Placeholder cho trạng thái ứng dụng.

Day16_Linux20.png

  • /sbin - Sudo bin, tương tự như thư mục bin nhưng các công cụ này dành cho những người dùng có đặc quyền nâng cao trên hệ thống.

Day16_Linux21.png

  • /tmp - tệp tạm thời.

Day16_Linux22.png

  • /usr - Nếu chúng tôi với tư cách là người dùng đã cài đặt các gói phần mềm, gói phần mềm đó thường sẽ được cài đặt ở vị trí /usr/bin.

Day16_Linux23.png

  • /var - Các ứng dụng của chúng tôi được cài đặt trong thư mục bin. Chúng tôi cần một nơi nào đó để lưu trữ tất cả các tệp logs, đó chính là /var

Lưu trữ (Storage)

Khi đề cập tới một hệ thống Linux hoặc bất kỳ hệ thống nào, chúng ta có thể muốn biết các ổ đĩa có sẵn và chúng tôi có bao nhiêu dung lượng trống trên các đĩa đó. Một vài lệnh sau đây giúp xác định và sử dụng cũng như quản lý bộ lưu trữ.

  • lsblk Liệt kê các thiết bị khối (List Block devices). sda là đĩa vật lý của chúng ta và sau đó sda1, sda2, sda3 là các phân vùng của chúng ta trên đĩa đó.

Day16_Linux25.png

  • df cung cấp thông tin chi tiết về các phân vùng đó, dung lượng tổng, dung lượng đã sử dụng và dung lượng khả dụng. Bạn có thể sử dụng thêm các flag trong câu lệnh này. Tôi thường sử dụng df -h để lấy đầu ra dữ liệu đễ đọc hơn.

Day16_Linux26.png

Nếu bạn đang thêm một đĩa mới vào hệ thống của, bạn sẽ cần định dạng đĩa trong trình quản lý đĩa (disk management), trong Linux terminal, bạn có thể thực hiện việc này bằng cách sử dụng lệnh sudo mkfs -t ext4 /dev/sdb với sdb liên quan đến đĩa mới được thêm.

Sau đó, chúng ta sẽ cần mount (gắn) đĩa mới được định dạng để nó có thể sử dụng được. Điều này được thực hiện trong thư mục /mnt đã đề cập trước đó và chúng ta sẽ tạo một thư mục ở đó bằng câu lệnh sudo mkdir NewDisk, sau đó là sudo mount /dev/sdb newdisk để mount đĩa vào vị trí đó.

Cũng có thể là bạn sẽ cần unmount một ổ đĩa khỏi hệ thống của mình một cách an toàn thay vì chỉ xoá nó khỏi cấu hình. Chúng ta có thể làm điều này với sudo umount /dev/sdb

Nếu bạn không muốn unmount ổ đĩa đó và bạn sẽ sử dụng nó làm cơ sở dữ liệu hoặc cho mục đích lâu dài khác thì bạn muốn khi khởi động lại hệ thống, nó vẫn ở đó. Để có thể làm được điều này, chúng ta cần thêm đĩa này vào tệp cấu hình /etc/fstab của mình để nó tồn tại, nếu không, nó sẽ không thể sử dụng được khi máy khởi động lại và bạn sẽ phải thực hiện lại các bước thủ công như ở trên. Dữ liệu sẽ vẫn sẽ ở trên đĩa nhưng nó sẽ không tự động mount lại trừ khi bạn cài đặt trong tệp cấu hình.

Sau khi bạn chỉnh sửa tệp cấu hình fstab, bạn có thể kiểm tra hoạt động bằng lệnh sudo mount -a nếu không có lỗi thì các thay đổi của bạn sẽ vẫn ở đó dù khởi động lại hệ thống.

Chúng tôi sẽ đề cập đến cách bạn chỉnh sửa tệp bằng trình soạn thảo văn bản trong ngày hôm sau

Tài liệu tham khảo

Hẹn gặp lại trong ngày 17.

VNTechies Dev Blog 🇻🇳 - Kho tài nguyên về Cloud ☁️ / DevOps 🚀

discord_banner.png

Anh chị em hãy follow/ủng hộ VNTechies để cập nhật những thông tin mới nhất về Cloud và DevOps nhé!

License

CC BY-NC-SA 4.0

Các bài viết là bản tiếng Việt của tài liệu 90DaysOfDevOps của Micheal Cade và có qua sửa đổi, bổ sung. Tất cả đều có license Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

License này chỉ cho phép người khác có thể thực hiện đăng tải lại, chỉnh sửa và xây dựng dựa trên nội dung gốc cho mục đích phi thương mại kèm theo điều kiện ghi công cho tác giả chẳng hạn như: nêu tên tác giả, dẫn link tới tác phẩm gốc hoặc theo yêu cầu riêng của tác giả; Ngoài ra, các bản phân phối, sửa đổi bắt buộc phải gắn cùng license với tác phẩm gốc.

Bình luận

Bài viết tương tự

- vừa được xem lúc

Đề thi interview DevOps ở Châu Âu

Well. Chào mọi người, mình là Rice - một DevOps Engineers ở đâu đó tại Châu Âu.

0 0 88

- vừa được xem lúc

In calculus, love also means zero.

Mình nhớ hồi năm 2 đại học, thầy giáo môn calculus, trong một giây phút ngẫu hứng, đã đưa ra cái definition này. Lúc đấy mình cũng không nghĩ gì nhiều.

0 0 65

- vừa được xem lúc

Chuyện thay đổi

Thay đổi là một thứ gì đó luôn luôn đáng sợ. Cách đây vài tháng mình có duyên đi làm cho một banking solution tên là X.

0 0 47

- vừa được xem lúc

Pet vs Cattle - Thú cưng và gia súc

Khái niệm. Pets vs Cattle là một khái niệm cơ bản của DevOps. Bài viết này sẽ nói về sự phát triển của các mô hình dịch vụ từ cốt lõi Pets and Cattle. 1.

0 0 34

- vừa được xem lúc

Git workflow được Google và Facebook sử dụng có gì hay ho

Với developer thì Git hẳn là công cụ rất quen thuộc và không thể thiếu rồi. Thế nhưng có mấy ai thực sự hiểu được Git.

0 0 85

- vừa được xem lúc

Kubernetes - Học cách sử dụng Kubernetes Namespace cơ bản

Namespace trong Kubernetes là gì. Tại sao nên sử dụng namespace.

0 0 113