Lưu trữ danh mục: Kiến Thức Về Website

Hướng dẫn sử dụng WinSCP để upload dữ liệu lên trên server Linux

Để sử dụng được tiện ích WinSCP, Quý khách cần thực hiện các bước như sau:

  1. Bước 1: Download Winscp về máy tính tại đường dẫn http://winscp.net/eng/download.php
  2. Bước 2: Cài đặt như một ứng dụng thông thường.
  3. Bước 3: Mở tiện ích và thực hiện:
    • Nập thông tin kết nối đến server Linux như hình bên dưới:
    • Trong đó:
      • Số thứ tự 1: giao thức truy cập (ở đây chúng ta chọn giao thức SFTP)
      • Số thứ tự 2, 3, 4, 5: thông tin truy cập tương ứng của server
    • Nhấn login để truy cập.
  4. Bước 4: chuyển dữ liệu
    • Sau khi login, WinSCP sẽ hiển thị cửa sổ bao gồm dữ liệu trên server linux (bên phải) và dữ liệu trên máy tính (bên trái).
    • Quý khách có thể download hoặc upload dữ liệu trên server linux bằng thao tác kéo thả.

Như vậy, Long Vân đã hoàn thành hướng dẫn sử dụng WinSCP để upload dữ liệu lên trên server Linux. Chúc Quý khách thành công!

Hướng dẫn cài đặt sử dụng Fail2ban để ngăn chặn Brute Force

Fail2ban là một công cụ mạnh mẽ để bảo vệ máy chủ của bạn khỏi tấn công Brute Force và các cuộc tấn công trực tuyến khác bằng cách tự động chặn các địa chỉ IP cố gắng đăng nhập sai quá nhiều lần vào hệ thống của bạn.
Dưới đây là hướng dẫn cơ bản về cách cài đặt và sử dụng Fail2ban trên một máy chủ Linux.

  1. Bước 1: Cài đặt Fail2ban
    Đầu tiên, chúng ta cần cài đặt Fail2ban trên máy chủ của mình. Sử dụng lệnh sau trên hệ thống Ubuntu hoặc CentOS:

    • Trên Ubuntu:
      sudo apt-get update
      sudo apt-get install fail2ban
    • Trên CentOS:
      sudo yum install epel-release
      sudo yum install fail2ban
  2. Bước 2: Cấu hình Fail2ban
    • Cấu hình Fail2ban tùy thuộc vào ứng dụng bạn muốn bảo vệ. Mỗi ứng dụng có một cấu hình riêng trong các tệp cấu hình của Fail2ban, thường được đặt trong thư mục /etc/fail2ban/jail.d/
    • File cấu hình thường có dạng *.conf. Bạn có thể tạo một tệp cấu hình riêng cho ứng dụng mục tiêu của bạn hoặc chỉnh sửa tệp /etc/fail2ban/jail.d/defaults-debian.conf để sử dụng các cài đặt mặc định.
    • Để cấu hình fail2ban để bảo vệ kết nối SSH, tạo file cấu hình:
      vi /etc/fail2ban/jail.d/myapp.conf
      Với nội dung như sau:

      [ssh]
      enabled = true
      port = ssh
      filter = sshd
      logpath = /var/log/auth.log
      maxretry = 3
      bantime = 3600

      Trong đó:

      • enabled : Đặt thành true để kích hoạt cấu hình.
      • port : Cổng mà bạn muốn theo dõi (vd: SSH port là ssh).
      • filter : Loại bộ lọc sử dụng (vd: ssh cho SSH).
      • logpath : Đường dẫn đến tệp nhật ký.
      • maxretry : Số lần thử đăng nhập sai trước khi IP bị chặn.
      • bantime : Thời gian ban IP sau khi vượt quá maxretry lần.
  3. Bước 3: Khởi động và kiểm tra Fail2ban
    • Khởi động Fail2ban và cho phép nó tự động chạy khi hệ thống khởi động:
      sudo systemctl start fail2ban
      sudo systemctl enable fail2ban
    • Sử dụng lệnh sau để kiểm tra trạng thái Fail2ban và xem danh sách các IP bị chặn:
      sudo fail2ban-client status
  4. Bước 4: Tùy chỉnh và theo dõi
    Bạn có thể tùy chỉnh nhiều cài đặt khác nhau trong tệp cấu hình và theo dõi Fail2ban để đảm bảo nó hoạt động đúng cách.

Đó là cách sử dụng Fail2ban để bảo vệ máy chủ của bạn khỏi tấn công Brute Force. Chúc bạn thành công!

Hướng dẫn sử dụng Rsync – command đồng bộ dữ liệu trên linux

I. Lệnh Rsync 

Rsync (Remote Sync) là lệnh được sử dụng phổ biến để sao chép và đồng bộ hóa các tệp, thư mục từ xa cũng như cục bộ trong các hệ thống Linux/Unix.
Với sự trợ giúp của lệnh rsync, có thể sao chép và đồng bộ dữ liệu từ xa và nội bộ trên các thư mục, ổ đĩa và mạng, thực hiện sao lưu dữ liệu và nhân bản giữa hai máy chủ Linux.

Cú pháp lệnh Rsync

rsync [options] source destination 

các tùy chọn dùng với lệnh rsync
-v verbose output, hiển thị thông tin chi tiết về quá trình xử lí chuyển dữ liệu.

-r sao chép dữ liệu theo cách đệ quy, không lưu giữ dấu thời gian và quyền trong khi chuyển dữ liệu.

-a chế độ lưu trữ, sao chép tệp đệ quy và duy trì các liên kết tượng trưng, quyền truy cập tệp, quyền sở hữu của người dùng và nhóm cũng như dấu thời gian.

-z nén tệp trong khi chuyển để giảm mức sử dụng mạng.

-h người dùng có thể đọc, in ra số ở định dạng người có thể đọc được

-P hiển thị tiến độ trong quá trình chuyển

SOURCE chỉ định (các) tệp hoặc thư mục nguồn sẽ được chuyển, có thể là vị trí cục bộ hoặc vị trí từ xa.

DESTINATION chỉ định đường dẫn đích nơi các tệp hoặc thư mục sẽ được sao chép. Tương tư như Source, nó có thể là đường dẫn cục bộ

II. Cài đặt Rsync trên Linux

Chúng ta có thể cài đặt rsync với trình cài đặt mặc định theo của từng hệ điều hành.

$ sudo apt install rsync         [trên Debian, UbuntuMint ]
$ sudo yum install rsync         [trên RHEL/CentOS/FedoraRocky/AlmaLinux]
$ sudo emerge -a sys-apps/rsync  [trên Gentoo Linux]
$ sudo apk add rsync             [trên Alpine Linux]
$ sudo pacman -S rsync           [trên Arch Linux]
$ sudo zypper install rsync      [trên OpenSUSE]

III. Một số trường hợp sử dụng lệnh Rsync

1. Sao chép/đồng bộ tệp cục bộ

Để sao chép hoặc đồng bộ hóa tệp cục bộ, bạn có thể dùng lệnh sau để đồng bộ hóa tệp trên máy cục bộ từ vị trí này sang vị trí khác.

Ví dụ tên tệp source-backup.tar cần sao chép hoặc đồng bộ vào thư mục /tmp/backups.

[root@longvan]# rsync -zvh source-backup.tar.gz /tmp/backups/

created directory /tmp/backups
backup.tar.gz

sent 448.54K bytes  received 70 bytes  889.21K bytes/sec
total size is 448.40K  speedup is 1.00

Như ví vụ trên, có thể thấy rằng này nếu thư mục đến chưa tồn tại thì rsync tự động tạo một thư mục.

2. Sao chép/đồng bộ thư mục cục bộ

Lệnh bên dưới sẽ chuyển hoặc đồng bộ tất cả tệp từ thư mục này sang thư mục khác trong cùng một máy chủ.

Trong ví dụ này, /root/rpmpkgs chứa các tệp rpm package và ở đây sẽ thư mục này được sao chép vào bên trong thư mục /tmp/backups/.

[root@longvan]# rsync -avzh /root/rpmpkgs /tmp/backups/

sending incremental file list
rpmpkgs/
rpmpkgs/httpd-2.4.37-40.module_el8.5.0+852+0aafc63b.x86_64.rpm
rpmpkgs/mod_ssl-2.4.37-40.module_el8.5.0+852+0aafc63b.x86_64.rpm
rpmpkgs/nagios-4.4.6-4.el8.x86_64.rpm
rpmpkgs/nagios-plugins-2.3.3-5.el8.x86_64.rpm

sent 3.47M bytes  received 96 bytes  2.32M bytes/sec
total size is 3.74M  speedup is 1.08

3. Sao chép thư mục từ máy chủ cục bộ sang máy chủ từ xa

Để sao chép một thư mục từ máy chủ cục bộ sang máy chủ từ xa, bạn có thể dùng lệnh sau để đồng bộ hóa thư mục từ máy cục bộ sang máy từ xa.

Ví dụ: nếu có một thư mục trong máy tính cục bộ của bạn “rpmpkgs” chứa các RPM packages và bạn muốn nội dung của thư mục cục bộ đó gửi đến máy chủ từ xa, bạn có thể dùng lệnh sau.

# rsync -avzh /root/rpmpkgs root@192.168.1.123:/root/

The authenticity of host '192.168.1.123 (192.168.1.123)' can't be established.
ED25519 key fingerprint is SHA256:bH2tiWQn4S5o6qmZhmtXcBROV5TU5H4t2C42QDEMx1c.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.1.123' (ED25519) to the list of known hosts.
root@192.168.1.123's password: 
sending incremental file list
rpmpkgs/
rpmpkgs/httpd-2.4.37-40.module_el8.5.0+852+0aafc63b.x86_64.rpm
rpmpkgs/mod_ssl-2.4.37-40.module_el8.5.0+852+0aafc63b.x86_64.rpm
rpmpkgs/nagios-4.4.6-4.el8.x86_64.rpm
rpmpkgs/nagios-plugins-2.3.3-5.el8.x86_64.rpm

sent 3.74M bytes  received 96 bytes  439.88K bytes/sec
total size is 3.74M  speedup is 1.00

4. Sao chép thư mục từ xa sang máy chủ cục bộ

Lệnh này sẽ giúp bạn đồng bộ thư mục từ xa với thư mục cục bộ. Ở đây thư mục /root/rpmpkgs trên máy chủ từ xa đang được sao chép vào máy tính cục bộ của bạn trong /tmp/myrpms.

# rsync -avzh root@192.168.1.123:/root/rpmpkgs /tmp/myrpms

root@192.168.1.123's password: 
receiving incremental file list
created directory /tmp/myrpms
rpmpkgs/
rpmpkgs/httpd-2.4.37-40.module_el8.5.0+852+0aafc63b.x86_64.rpm
rpmpkgs/mod_ssl-2.4.37-40.module_el8.5.0+852+0aafc63b.x86_64.rpm
rpmpkgs/nagios-4.4.6-4.el8.x86_64.rpm
rpmpkgs/nagios-plugins-2.3.3-5.el8.x86_64.rpm

sent 104 bytes  received 3.49M bytes  997.68K bytes/sec
total size is 3.74M  speedup is 1.07

5. Rsync qua SSH

Với rsync, có thể sử dụng SSH (Secure Shell) để truyền dữ liệu, sử dụng giao thức SSH trong khi truyền dữ liệu, có thể đảm bảo rằng dữ liệu của mình đang được truyền trong một kết nối bảo mật bằng mã hóa để không ai có thể đọc dữ liệu của bạn trong khi nó đang được truyền qua WAN.

Ngoài ra khi sử dụng rsync, cần cung cấp mật khẩu người dùng root để hoàn thành tác vụ cụ thể, vì vậy việc dùng tùy chọn SSH sẽ gửi thông tin đăng nhập của bạn theo cách được mã hóa để mật khyẩu của bạn được an toàn.

Để sử dụng rsync qua SSH, có thể sử dụng tùy chọn -e để chỉ định lệnh shell từ xa, thường là ssh như bên dưới

rsync [OPTIONS] -e ssh /path/to/source user@remote:/path/to/destination

6. Sao chép tệp từ máy chủ từ xa sang cục bộ bằng SSH

Để đồng bộ hóa tệp từ máy chủ từ xa đến máy chủ cục bộ, bạn có thể chỉ định giao thức với rsync bằng tùy chọn -e với tên giao thức bạn muốn sử dụng.

Ở đây sẽ sử dụng ssh với tùy chọn -e và thực hiện truyền dữ liệu.

# rsync -avzhe ssh root@192.168.1.123:/root/anaconda-ks.cfg /tmp

root@192.168.0.141's password: 
receiving incremental file list
anaconda-ks.cfg

sent 43 bytes  received 1.10K bytes  325.43 bytes/sec
total size is 1.90K  speedup is 1.67

7. Sao chép tệp từ máy chủ cục bộ sang máy chủ từ xa bằng SSH

Để đồng bộ hóa tệp từ máy chủ cục bộ với máy chủ từ xa bằng SSH, bạn có thể tận dụng lệnh sau như bên dưới.

# rsync -avzhe ssh backup.tar.gz root@192.168.0.141:/backups/

root@192.168.1.123's password: 
sending incremental file list
created directory /backups
backup.tar.gz

sent 224.59K bytes  received 66 bytes  64.19K bytes/sec
total size is 224.40K  speedup is 1.00

8. Hiển thị tiến trình trong khi truyền dữ liệu bằng Rsync

Để hiển thị tiến trình trong khi truyền dữ liệu từ máy này sang máy khác, sử dụng tùy chọn –progress, tùy chọn này sẽ hiển thị các tệp và thời gian còn lại để hoàn tất quá trình truyền.

# rsync -avzhe ssh --progress /root/rpmpkgs root@192.168.0.141:/root/rpmpkgs

root@192.168.1.123's password: 
sending incremental file list
rpmpkgs/
rpmpkgs/httpd-2.4.37-40.module_el8.5.0+852+0aafc63b.x86_64.rpm
          1.47M 100%   31.80MB/s    0:00:00 (xfr#1, to-chk=3/5)
rpmpkgs/mod_ssl-2.4.37-40.module_el8.5.0+852+0aafc63b.x86_64.rpm
        138.01K 100%    2.69MB/s    0:00:00 (xfr#2, to-chk=2/5)
rpmpkgs/nagios-4.4.6-4.el8.x86_64.rpm
          2.01M 100%   18.45MB/s    0:00:00 (xfr#3, to-chk=1/5)
rpmpkgs/nagios-plugins-2.3.3-5.el8.x86_64.rpm
        120.48K 100%    1.04MB/s    0:00:00 (xfr#4, to-chk=0/5)

sent 3.74M bytes  received 96 bytes  1.50M bytes/sec
total size is 3.74M  speedup is 1.00

9. Gồm các tệp có phần mở rộng đặc biệt với rsync

Để ấn định các tệp hoặc mẫu cụ thể trong quá trình hoạt động rsync, sử dụng tùy chọn –include với tiện ích mở rộng phù hợp với tất cả các tệp.

# rsync -avz --include='*.txt' /path/to/source/ user@remote:/path/to/destination/

Rsync sẽ chỉ bao gồm các tệp có phần đuôi .txt từ thư mục /path/to/source/ trong quá trình truyền

10. Loại trừ các tệp có phần mở rộng cụ thể bằng rsync

Tương tự để loại trừ một tiện ích mở rộng cụ thể trong quá trình hoạt động rsync, sử dụng tùy chọn –exclude với mẫu ký tự đại diện cần loại bỏ.

# rsync -avz --exclude='*.ext' /path/to/source/ user@remote:/path/to/destination/

Rsync sẽ loại trừ các tệp có phần mở rộng được chỉ định (*.ext) trong quá trình truyền, đồng thời bao gồm tất cả các tệp và thư mục khác.

11. Bao gồm và loại trừ các tệp bằng rsync

Để bao gồm và loại trừ các tệp hoặc mẫu cụ thể trong quá trình hoạt động rsync,
có thể sử dụng cả hai tùy chọn –include–exclude với các mẫu ký tự đại diện thích hợp.

Hai tùy chọn này cho phép chúng ta bao gồm và loại trừ các tệp bằng cách chỉ định các tham số. Tùy chọn này giúp chúng tôi chỉ định các tệp hoặc thư mục mà bạn muốn đưa vào đồng bộ hóa và loại trừ các tệp, thư mục không muốn chuyển.

lệnh rsync sẽ chỉ bao gồm các tệp và thư mục bắt đầu bằng R và loại trừ tất cả các tệp và thư mục khác.

# rsync -avze ssh --include 'R*' --exclude '*' root@192.168.1.123:/var/lib/rpm/ /root/rpm

12. Sử dụng -delete với rsync

Nếu tệp hoặc một thư mục không tồn tại ở nguồn nhưng đã tồn tại ở đích, bạn có thể muốn xóa tệp/thư mục hiện có đó ở đích để đồng bộ hóa.

Chúng ta có thể sử dụng tùy chọn –delete để xóa các tệp không có trong thư mục nguồn.

Nguồn và đích được đồng bộ hóa. và hãy tạo một tệp test.txt để kiểm chứng

[root@longvan:~]# cd /root/rpm/
[root@longvan:~/rpm]# touch test.txt
[root@longvan:~/rpm]# rsync -avz --delete root@192.168.1.132:/var/lib/rpm/ /root/rpm/

root@192.168.1.132's password: 
receiving incremental file list
deleting test.txt
./
.dbenv.lock
.rpm.lock
Basenames
Conflictname
Dirnames
Enhancename
Filetriggername
Group
Installtid
Name
Obsoletename
Packages
Providename
Sha1header
Sigmd5
Suggestname
Supplementname
Transfiletriggername
Triggername
__db.001
__db.002
__db.003

sent 445 bytes  received 18,543,954 bytes  2,472,586.53 bytes/sec
total size is 71,151,616  speedup is 3.84

13. Đặt giới hạn truyền tệp bằng Rsync

Bạn có thể chỉ định kích thước tệp tối đa sẽ được chuyển hoặc đồng bộ hóa.
Có thể làm điều đó với tùy chọn –max-size. Ở đây kích thước tệp tối đa là 200k, nên lệnh này sẽ chỉ chuyển những tệp bằng hoặc nhỏ hơn 200k.

# rsync -avzhe ssh --max-size='200k' /var/lib/rpm/ root@192.168.1.123:/root/tmprpm

root@192.168.1.123's password: 
sending incremental file list
created directory /root/tmprpm
./
.dbenv.lock
.rpm.lock
Conflictname
Enhancename
Filetriggername
Group
Installtid
Name
Obsoletename
Recommendname
Requirename
Sha1header
Sigmd5
Suggestname
Supplementname
Transfiletriggername
Triggername
__db.002

sent 129.52K bytes  received 396 bytes  28.87K bytes/sec
total size is 71.15M  speedup is 547.66

14. Tự động xóa tập tin nguồn sau khi chuyển

Trường hợp nếu bạn có một máy chủ web chính và máy chủ sao lưu dữ liệu, bạn đã tạo bản sao lưu hàng ngày và động bộ hóa với máy chủ dữ phòng của mình, nhưng bây giờ bạn không muốn giữ bản sao lưu cục bộ đó trong máy chủ web của mình.

Vì vậy, bạn sẽ đợi quá trình chuyển hoàn tất rồi xóa tệp sao lưu cục bộ đó theo cách thủ công không? Dĩ nhiên là không. Việc xóa tự động này có thể được thực hiện bằng các sử dụng tùy chọn –remove-source-files

# rsync --remove-source-files -zvh backup.tar.gz root@192.168.1.123:/tmp/backups/

root@192.168.1.123's password: 
backup.tar.gz

sent 795 bytes  received 2.33K bytes  894.29 bytes/sec
total size is 267.30K  speedup is 85.40

[root@longvan:~]# ls -l backup.tar.gz

ls: cannot access 'backup.tar.gz': No such file or directory

15. Chạy thử với Rsync

Nếu bạn mới sử dụng rsync và không biết chính xác lệnh hoạt động ra sao. Rsync thực sự có thể làm xáo trộn mọi thứ trong thư mục đích của bạn và sau đó làm hỏng mọi thứ.

Việc sử dụng tùy chọn này sẽ không thực hiện bất ký thay đổi nào với các tệp và hiển thị đầu ra của lệnh, nếu đầu ra hiển thị chính xác như bạn muốn thì bạn có thể xóa tùy chọn –dry-run khỏi lệnh của mình và chạy trên thiết bị đầu cuối.

# rsync --dry-run --remove-source-files -zvh backup.tar.gz root@192.168.1.123:/tmp/backups/

root@192.168.1.123's password: 
backup.tar.gz

sent 50 bytes  received 19 bytes  19.71 bytes/sec
total size is 267.30K  speedup is 3,873.97 (DRY RUN)

16. Đặt giới hạn băng thông và truyền tệp trong lệnh rsync

Bạn có thể đặt giới hạn băng thông trong khi truyền dữ liệu từ máy này sang máy khác với sự trợ giúp của tùy chọn –bwlimit. Tùy chọn này giúp chúng ta giới hạn băng thông I/O.

# rsync --bwlimit=100 -avzhe ssh  /var/lib/rpm/  root@192.168.1.123:/root/tmprpm/
root@192.168.1.123's password:
sending incremental file list
sent 324 bytes  received 12 bytes  61.09 bytes/sec
total size is 38.08M  speedup is 113347.05

Ngoài ra, theo mặc định rsync chỉ đồng bộ hóa các khối và byte đã thay đổi, nếu bạn muốn đồng bộ hóa toàn bộ tệp một các rõ ràng thì bạn sử dụng tùy chọn -W với nó.

# rsync -zvhW backup.tar /tmp/backups/backup.tar
backup.tar
sent 14.71M bytes  received 31 bytes  3.27M bytes/sec
total size is 16.18M  speedup is 1.10

Sử dụng CSF để lọc IP quốc tế (CSF Allow/Deny theo Country)

  1. Bước 1: Cài đặt tường lửa và kiểm tra hoạt động
    • Việc đầu tiên, bạn cần cài đặt CSF vào server (bạn có thể làm theo hướng dẫn Hướng cài đặt và cấu hình CSF – Long Vân (longvan.net))
    • Sau khi cài đặt xong CSF bạn stop và disable firewalld để tránh xung đột với CSF, sau đó bạn kiểm tra status CSF đã active chưa:

  2. Bước 2: Kiểm tra kết nối từ quốc tế.
    Trong bài hướng dẫn này, Long vân sẽ sử dụng sử dụng ứng dụng https://check-host.net/  để kiểm tra ping từ nhiều nguồn.
  3. Bước 3: Cấu hình CSF để chặn kết nối quốc tế:
    • Mở file cấu hình CSF với lệnh
      vi /etc/csf/csf.conf
    • Sử dụng lệnh :set nu để hiển thị thứ tự dòng.
    • Ở dòng 993 CC_DENY, bạn cấu hình chặn theo mã quốc gia (bạn tham khảo https://countrycode.org/ lấy mã code 2 chữ số nhé). Để làm như vậy nhập country code vào danh sách được phân tách bởi dấu phẩy. Ở đây mình DENY các khu vực China, Australia, Jappan, Ukraine, Russia.
    • Tìm dòng 1149 LF_SELECT = “0” đặt giá trị thành “1” để bật chức năng lọc địa chỉ IP
    • Dòng 830 LF_GLOBAL = “0” đặt giá trị thành “1” để áp dụng các quy tắc lọc địa chỉ IP cho tất cả địa chỉ IP
    • Ngoài ra, bạn chỉnh giá trị ở dòng LF_IPSET để sử dụng ipsec nếu có hỗ trợ.
    •  Ở dòng 11 bạn chỉnh TESTING = “0”, save và khởi động lại CSF bằng 2 command sau
      chkconfig --level 235 csf on
      
      service csf restart
  4. Bước 4: Kiểm tra lại kết nối
    • Như ở bước 1, bạn kiểm tra ping các khu vực bạn đã conf trước đó
    • Đây là kết quả sau khi DENY của mình

Như vậy, Long Vân đã hoàn thành hướng dẫn Quý khách cách cài đặt và cấu hình firewall CSF, chúc Quý khách thành công !

Hướng dẫn cài đặt Docker trên Ubuntu 22.04

Docker là một nền tảng mã nguồn mở cho phép các nhà phát triển ứng dụng có thể xây dựng, kiểm thử và triển khai ứng dụng một cách nhanh chóng. Docker đóng gói phần mềm vào các Container được chuẩn hóa có mọi thứ mà một phần mềm cần để hoạt động, trong đó có thư viện, công cụ hệ thống, mã nguồn. Bằng cách sử dụng Docker, bạn có thể nhanh chóng triển khai và thay đổi quy mô ứng dụng vào bất kỳ môi trường nào.

Trong bài viết này Long Vân sẽ hướng dẫn quý khách cài đặt Docker trên Ubuntu 22.04

I. Cài đặt Docker trên Ubuntu 22.04

  1. Bước 1: Cập nhật repositories
    • SSH vào server Ubuntu 22.04 và chạy lệnh để cập nhật repositories:
      $ sudo apt update$ sudo apt upgrade
  2. Bước 2: Cài đặt các gói cần thiết
    Chạy lệnh sau đây để cài đặt các gói cần thiết cho docker
    $ sudo apt install lsb-release apt-transport-https ca-certificates curl software-properties-common -y
  3. Bước 3: Thêm repository Docker vào system source
    • Để thêm repo Docker vào system source, nhập Docker GPG key để kết nối với kho Docker:
      $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
    • Sau đó, chạy lệnh sau để thêm repo Docker vào source list của hệ điều hành:
      $ echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  4. Bước 4: Cập nhật lại hệ thống
    Sau khi thêm repo Docker vào source list, tiến hành cập nhật lại các gói hệ thống với lệnh:
    $ sudo apt update
  5. Bước 5: Cài đặt Docker trên Ubuntu 22.04
    • Thực hiện lệnh cài đặt docker:
      $ sudo apt install docker-ce
      Lưu ý rằng chúng ta đang sử dụng gói “docker-ce” thay vì “docker-ie“, vì nó được repo Docker chính thức hỗ trợ:
    • Nhập “y” để cho phép cài đặt Docker tiếp tục:
    • Quá trình cài đặt hiển thị như hình dưới cho biết Docker đã được cài đặt thành công:
  6. Bước 6: Kiểm tra trạng thái Docker
    • Chạy lệnh sau đây để kiểm tra hoạt động của service Docker:
      $ sudo systemctl status docker

II. Kiểm tra hoạt động Docker trên Ubuntu 22.04

  • Sau khi cài đặt Docker, bạn có thể sử dụng Docker để tảichạy test container bất kỳ.
    Ví dụ, lệnh bên dưới sẽ tải “hello-world” test container:
    $ sudo docker run hello-world
  • Sau đó, chạy lệnh “docker ps” với “-a” để hiển thị tất cả container đang chạy:
    $ sudo docker ps -a
  • Container “hello-world” đã được thêm thành công:

III. Cách gỡ cài đặt Docker trên Ubuntu 22.04

Trong trường hợp bạn muốn gỡ cài đặt Docker khỏi Ubuntu 22.04, hãy chạy lệnh sau:

$ sudo apt-get purge docker-ce

Như vậy Long Vân đã hướng dẫn Quý khách cách cài đặt Docker trên Ubuntu 22.04. Chúc Quý khách thành công.

Hướng dẫn cài đặt hệ điều hành Ubuntu Server 22.04

Ubuntu Server là một phiên bản khác của hệ điều hành Ubuntu, được thiết kế riêng để chạy các dịch vụ mạng. Ubuntu Server không bao gồm chương trình cài đặt đồ họa. Thay vào đó, nó sử dụng lệnh linux để chạy và xử lí tiến trình.

Để cài đặt hệ điều hành Ubuntu Server 22.04, Quý khách thực hiện các bước sau đây:

  1. Bước 1. Khởi động từ phương tiện cài đặt.
    • Để bắt đầu quá trình cài đặt, hãy chuẩn bị như sau:
      • Đưa Ubuntu Server DVD vào ổ đĩa DVD (hoặc tạo USB Bootable).
      • Khởi động lại máy tính/server.
    • Bản cài đặt Ubuntu Server tải ở trang chủ chính thức Ubuntu link https://ubuntu.com/download/server
    • Đợi một lúc, sau khi khởi động và chọn ở Menu GNU “Try or Install Ubuntu Server” vào sẽ có giao diện cài đặt Ubuntu Server như hình bên dưới.
  2. Bước 2. Tiếp tục chọn cấu hình layout của bàn phím nếu không muốn thay đổi có thể để mặc định ấn Enter để chọn Done để tiếp tục.
  3. Bước 3. Chọn kiểu cài đặt, ở đây có  2 lựa chọn nhưng ở bài viết này sẽ cài đặt theo mặc định Ubuntu Server.
  4. Bước 4. Cấu hình network cho server, bạn có thể cấu hình sau khi hoàn tất cài đặt bước chọn tiếp tục cài đặt không network.
  5. Bước 5. Cấu hình proxy cho server, để trống và tiếp tục tiến qua.
  6. Bước 6. Cấu hình repository cho server, phần này nếu dùng trong mạng nội bộ tốc độ sẽ nhanh hơn và không phụ thuộc vào kết nối ra ngoài, nếu bạn chưa có thể để mặc định.
  7. Bước 7. Phân vùng ổ đĩa, bạn có thể để mặc định hoặc nếu muốn quản lý chuyên sâu và nâng cao hơn thì có thể cấu hình thủ công.
    Chọn Done tiếp tục để hoàn tất cấu hình phân vùng ổ đĩa
    Sau đó sẽ có thông báo bạn có muốn định dạng lại ổ đĩa sẽ xóa toàn bộ dữ liệu hiện tại chọn Continue để quá trình tiến hành cài đặt được tiếp tục
  8. Bước 8. Nhập thông tin user để thiết lập tài khoản truy cập vào Ubuntu Server.
  9. Bước 9. Upgrade Ubuntu Pro hiện chưa có kết nối internet nên phần này sẽ bỏ qua và tiếp tục.
  10. Bước 10. Chọn cài đặt OpenSSH server để sau khi toàn bộ quá trình cài đặt hoàn tất có thể dùng ssh remote từ xa đến Ubuntu Server.
  11. Bước 11. Chờ đợi và theo dõi quá trình cài đặt hoàn tất, Khởi động lại và truy cập máy chủ.
    Sau khi hoàn tất bạn có thể truy cập vào user đã tạo trước đó để sử dụng Ubuntu Server.

Như vậy Long Vân đã hoàn tất hướng dẫn cài đặt Ubuntu Server, Chúc Quý khách thành công!

Hướng dẫn update hệ điều hành Ubuntu trên server Long Vân

  1. Bước 1: Backup dịch vụ
    Trước khi update hệ điều hành, Quý khách có thể chủ động backup server bằng cách thực hiện snapshot để dự phòng sự cố trong quá trình update. Thực hiện như sau:
    • Truy cập vào trang quản lý dịch vụ, tab Dịch Vụ, chọn dịch vụ cần thao tác, nhấn THIẾT LẬP
    • Trong giao diện thiết lập, kéo xuống phần snapshot và nhấn “tạo” để tạo snapshot
    • Khi tạo xong snapshot sẽ hiển thị trạng thái sẵn sàng. Lúc này, Quý khách có thể thực hiện các lệnh để update hệ điều hành.
  2. Bước 2: Update hệ điều hành
    • Để update hệ điều hành bạn dùng command
      apt-get update -y

    • Sau khi xong bạn upgrade hệ thống bằng command
      apt-get upgrade -y

      Trùy chọn y để trả lời yes tất cả các các câu hỏi của hệ thống trong quá trình cài đặt.

    • Chọn OK để restart lại các dịch vụ cần thiết trước khi hoàn thành.
  3. Bước 3: Kiểm tra:
    • Sau khi update xong quý khách reboot lại server bằng command
      init 6
    • Sau khi đã boot lên bạn kiểm tra lại kết nối của server có ra internet và SSH được không?
    • Sau khi đã đảm bảo dữ liệu và việc truy cập ổn định, Quý khách quay lại giao diện quản lý server và xóa bản snapshot đã tạo ở bước 1

Như vậy, Long Vân đã hướng dẫn quý khách update xong hệ điều hành Ubuntu trên hạ tầng Long Vân, Chúc quý khách thành công!

Hướng dẫn cấu hình và xem log trên Linux (Ubuntu và CentOS)

Giới thiệu

Quản trị viên hệ thống Linux thường cần xem các tệp nhật ký cho mục đích khắc phục sự cố. Đây là một trong những điều đầu tiên mà một system admin sẽ làm.

Bài viết bao gồm những thông tin chi tiết về các loại log khác nhau trên hệ thống Linux, cách cấu hình để lưu log vào file, cách xem và quản lý các file log đã được tạo ra, cũng như các công cụ hữu ích để phân tích và giải mã các thông tin trong các file log. Do đó, biết nơi hệ thống lưu giữ các tệp nhật ký và cách sử dụng các lệnh liên quan có thể giúp tiết kiệm thời gian quý báu trong quá trình khắc phục sự cố.

Trong hướng dẫn này, chúng ta sẽ xem xét các phần khác nhau của cơ chế ghi nhật ký Linux.

I. Tệp nhật ký mặc định

1. Kiểm tra vị trí tệp nhật ký

Vị trí mặc định cho các tệp nhật ký trong Linux là /var/log. Bạn có thể xem danh sách các tệp nhật ký trong thư mục này bằng lệnh sau:

ls /var/log

Bạn sẽ thấy nội dung tương tự trên hệ thống của mình:

2. Xem nội dung tệp nhật ký

Dưới đây là một số tệp nhật ký phổ biến mà bạn sẽ tìm thấy bên dưới /var/log:

  • wtmp
  • utmp
  • dmesg
  • messages
  • maillog hoặc mail.log
  • spooler
  • auth.log hoặc secure

Các tệp wtmp và utmp tệp theo dõi người dùng đăng nhập và đăng xuất khỏi hệ thống. Bạn không thể đọc trực tiếp nội dung của các tệp này bằng cat các lệnh trong thiết bị đầu cuối – có các lệnh cụ thể khác cho việc đó và bạn sẽ sử dụng một số lệnh này. hoặc

Để xem ai hiện đang đăng nhập vào máy chủ Linux, hãy sử dụng lệnh :

who

Để xem lịch sử đăng nhập người dùng, ta dùng lệnh :

last

Bạn cũng có thể sử dụng last lệnh với dấu gạch ngang ( |) để thêm grep tìm kiếm cho những người dùng cụ thể.
Để xem lịch sử khởi động lại lần cuối, ta dùng lệnh :

last reboot

Để xem lần cuối ai đó đăng nhập vào hệ thống là khi nào, hãy sử dụng

lastlog

II. Sử dụng rsyslog Daemon

Trung tâm của cơ chế ghi nhật ký là rsyslog daemon. Dịch vụ này chịu trách nhiệm lắng nghe các thông báo tường trình từ các phần khác nhau của hệ thống Linux và định tuyến thông báo tới một tệp nhật ký thích hợp trong thư mục/var/log. Nó cũng có thể chuyển tiếp các thông điệp bản ghi đến một máy chủ Linux khác.

1. Tệp cấu hình rsyslog

Cơ bản trên file rsyslog.conf mặc định cho chúng ta thấy nơi lưu trữ các log tiến trình của hệ thống:

cat /etc/rsyslog.conf

Cấu hình trên được chia ra làm 2 trường:

Trường 1: Trường Seletor

  • Trường Seletor : Chỉ ra nguồn tạo ra log và mức cảnh bảo của log đó.
  • Trong trường seletor có 2 thành phần và được tách nhau bằng dấu “.“

Trường 2: Trường Action

  • Trường Action:là trường để chỉ ra nơi lưu log của tiến trình đó. Có 2 loại là lưu tại file trong localhost hoặc gửi đến IP của máy chủ Log

Đối với các dòng lệnh như sau:

mail.info         /var/log/maillog

Lúc này bản tin log sẽ mail lại với mức cảnh báo từ info trở lên. Cụ thể là mức notice,warn,… nếu bạn chỉ muốn nó log lại với mức info, hãy sử dụng như sau: mail.=info /var/log/maillog

mail.*

Lúc này kí tự * đại diên cho các mức cảnh báo nó sẽ lưu hết các level của mail vào trong thư mục. Tương tự khi đặt *. thì lúc này nó sẽ log lại tất cả các tiến trình của hệ thống vào một file. Nếu bạn muốn log lại tiến trình của mail ngoại trừ mức info bạn có thể dùng kí tự “!”

Ví dụ: mail.!info

*.info;mail.none;authpriv.none;cron.none /var/log/messages

Lúc này tất các log từ info của tiến trình hệ thống sẽ được lưu vào trong file log messages nhưng đối với các log của mail, authpriv và cron sẽ không lưu vào trong message

2. Tạo và kiểm tra thông báo log của riêng bạn

Bây giờ là lúc để bạn tạo các tệp nhật ký của riêng mình. Để kiểm tra điều này, bạn sẽ làm như sau:

  • Thêm đặc tả tệp nhật ký vào tệp /etc/rsyslog.conf
  • Khởi động lại rsyslog daemon
  • Kiểm tra cấu hình bằng tiện ích logger

Ví dụ: bạn sẽ thêm hai dòng mới vào tệp của hệ thống CentOS Linux rsyslog.conf. Mỗi người trong số họ đến từ một cơ sở gọi là local4 và họ có các ưu tiên khác nhau.

local4.crit               /var/log/local4crit.log  
local4.=info              /var/log/local4info.log  
vi /etc/rsyslog.conf

Tiếp theo, bạn sẽ khởi động lại dịch vụ để dữ liệu tệp cấu hình được tải lại:

/etc/init.d/rsyslog restart
systemctl restart rsyslog

Để tạo thông báo nhật ký ngay bây giờ, ứng dụng nhật ký được gọi là:

logger -p local4.info " Day la mot thong bao tin tu local4 "

Bây giờ tìm trong thư mục /var/log hiển thị hai tệp mới:

Mở file lên sẽ thấy thông báo khi nãy

III. Cấu hình Logrotate

1. Rotating Log Files

Khi ngày càng có nhiều thông tin được ghi vào tệp nhật ký, chúng sẽ ngày càng lớn hơn. Điều này rõ ràng đặt ra một vấn đề hiệu suất tiềm năng. Ngoài ra, việc quản lý các tập tin trở nên cồng kềnh.

Các tệp này sẽ quay trở lại trong một khoảng thời gian và sẽ đại diện cho hồ sơ tồn đọng. Khi một số lượng tồn đọng nhất định đã được tạo, một vòng quay nhật ký mới sẽ khiến tệp nhật ký cũ nhất bị xóa.

Vòng quay được bắt đầu thông qua tiện ích logrotate.

cat /etc/logrotate.conf

Ngoại lệ duy nhất là cho tập tin wtmp và btmpwtmp theo dõi các lần đăng nhập hệ thống và btmp theo dõi các lần đăng nhập không hợp lệ. Cả hai tệp nhật ký này sẽ được luân phiên hàng tháng và không có lỗi nào được trả về nếu có thể tìm thấy bất kỳ tệp trước đó wtmp hoặc tệp nào. btmp

Các cấu hình xoay nhật ký tùy chỉnh được giữ trong thư mục /etc/logrotate.d. Chúng cũng được bao gồm trong chỉ thị logrotate.conf with include

ls -l /etc/logrotate.d

Ví dụ : Xem thông tin cấu hình của gói bootlog

Trong đó:

missingok: Nếu file log bị mất hoặc không tồn tại *.log thì logrotate sẽ tự động di chuyển tới phần cấu hình log của file log khác mà không cần phải xuất ra thông báo lỗi

daily: Được rotate mỗi ngày

copytruncate: File bootlog cũ được sao chép vào một tệp lưu trữ, và sau đó nó xóa các dòng log cũ

rotate 7: Giữ lại 7 file log cũ sau khi rotate

notifempty: Không rotate log nếu file bootlog này trống

2. Rotate theo dung lượng file log

Chúng ta có thể quy định tiến trình rotate dựa vào dung lượng file. Với /var/log/wtmp khi size 1M sẽ tạo tệp mới:

cat /etc/logrotate.conf

Ví dụ trên các tùy chọn có ý nghĩa như sau:

size 1M: Logrotate chỉ chạy nếu kích thước tệp bằng (hoặc lớn hơn) kích thước này.

minsize có nghĩa là kích thước nhật ký ít nhất phải là minsize để việc xoay tần số xảy ra. Tần suất hàng ngày (được gọi là hàng ngày từ cron) sẽ không có tác dụng gì nếu kích thước nhỏ hơn minsize.

maxsize có nghĩa là, ngoài tần suất chạy, nếu kích thước vượt quá maxsize, một vòng quay có thể xảy ra. Nếu cấu hình có tần suất hàng tuần được gọi là hàng ngày và nếu kích thước lớn hơn kích thước tối đa, thì việc xoay vòng có thể xảy ra.

create Rotate tệp gốc và tạo tệp mới với sự cho phép người dùng và nhóm được chỉ định.

rotate Giới hạn số vòng quay của fle log. Vì vậy, điều này sẽ chỉ giữ lại 1 file log được rotate gần nhất.

3. Chạy Logrotate thủ công và kiểm tra

Để xem cách thức hoạt động này, đây là danh sách một phần các tệp nhật ký trong thư mục trong máy chủ CentOS thử nghiệm:

ls -l /var/log

Khi chúng ta muốn chạy ngay Logrotate, hãy dùng lệnh bên dưới:

logrotate -vf /etc/logrotate.d/

Trong đó các tuỳ chọn là:

-v: Hiển thị thêm thông tin, có ích khi bạn muốn dò lỗi logrotate

-f: Bắt buộc rotate ngay lập tức

Tin nhắn cuộn qua khi tệp mới được tạo, gặp lỗi, v.v. Bạn kiểm tra các tệp hoặc đã được tạo mới: mail secure message

ls -l /var/log/mail*

ls -l /var/log/messages*

ls -l /var/log/secure*

Chúng ta sẽ thấy nhật ký mới đã được tạo. Các tệp vẫn trống, nhưng tệp mới đã có một số dữ liệu trong đó.

4. Một số cấu hình khác

Chúng ta vẫn cấu hình trong tệp logrotate.conf :

vi /etc/logrotate.conf

Sao chép logrotate – copytruncate

Nén – compress

logextate dateext – dateext

Cú pháp này sẽ chỉ làm việc một lần trong một ngày. Vì vậy, logrotate sẽ không thành công sau lần chạy đầu tiên cùng ngày.

Đăng nhập hàng tháng, hàng ngày, hàng tuần – monthly, daily, weekly

Kết thúc postrotate – postrotate

Maxage Logrotate – maxage

Logrotate missingok – missingok

Hy vọng rằng hướng dẫn này đã cung cấp cho bạn một số ý tưởng về ghi nhật ký Linux. Bạn có thể cố gắng xem xét các hệ thống phát triển hoặc thử nghiệm của riêng bạn để có một ý tưởng tốt hơn. Chúc bạn thành công !

Hướng dẫn cài đặt LAMP trên Ubuntu 22.04

LAMP viết tắt của Linux OS, Apache HTTP Server, MySQL/MariaDB/MongoDB, php, perl hoặc python được sử dụng để tạo các trang web động.

Các thành phần này đều là phần mềm mã nguồn mở và miễn phí, phù hợp để xây dựng các trang web động hoặc các ứng dụng web khác và là nền tảng được sử dụng ưa chuộng trên Internet hiện nay.

Cài đặt LAMP có thể cài đặt từng bước hoặc cài đặt theo một lệnh duy nhất

$ sudo apt install apache2 php php-mysql mysql-client mysql-server

Sau khi quá trình cài đặt hoàn tất máy chủ sẽ hỏi bản có muốn khởi động lại hạt nhân(kernel) hay không, hãy thao tác enter để tiếp tục.

Để kiểm tra thông tin phiên bản php, hãy tạo tệp “info.php” trong đường dẫn máy chủ “/var/www/html” với nội dung sau.

$ sudo echo "<?php phpinfo(); ?>" > /var/www/html/info.php

Sau khi tạo tệp info hãy thử truy cập đường dẫn http://{IP Server}/info.php để kiểm tra sẽ hiện thông tin như hình dướiNhư vậy, Long Vân đã hoàn thành hướng dẫn cài đặt LAMP trên Ubuntu 22.04. Chúc Quý khách thành công!

Hướng dẫn tạo Symbolic link trên linux

I. Symbolic link

Symbolic link (liên kết tượng trưng) hay được gọi tắt là Symlink hay Softlink, có thể hiểu đơn giản là đường dẫn trỏ đến vị trí của file nào đó trong hệ thống máy tính. Bạn có thể tạo nhiều symbolic link đặt ở nhiều nơi khác nhau nhưng vẫn trỏ về đúng 1 file gốc. Vì vậy, gia tăng tính tiện lợi cho việc tìm kiếm file trong một dòng lệnh.

Trong bài hướng dẫn này, chúng tôi sẽ chỉ bạn cách tạo symbolic links, ngoài ra bạn còn biết Symbolic Links là gì và hiểu tường tận về nó.

II. Các loại liên kết

Có hai loại liên kết trong hệ thống Linux:

  • Liên kết cứng: Bạn có thể coi liên kết cứng là tên bổ sung cho tệp hiện có. Liên kết cứng liên kết hai hoặc nhiều tên tệp có cùng một inode . Bạn chỉ có thể tạo liên kết cứng cho các thư mục và file nằm trên cùng file system hoặc phân vùng. Một file có thể có một hoặc nhiều liên kết cứng.
  • Liên kết mềm: Liên kết tượng trưng, ​​​​còn được gọi là liên kết mềm, là một loại tệp hoạt động như một tham chiếu đến file hoặc thư mục khác trong file system. Nó có thể so sánh với một phím tắt trong hệ điều hành Windows, vì nó cho phép bạn truy cập file hoặc thư mục từ một vị trí khác mà không cần tạo bản sao của nó. Liên kết tượng trưng rất hữu ích cho việc tổ chức các file cũng như giúp truy cập các file hoặc thư mục được sử dụng thường xuyên dễ dàng hơn. Không giống như liên kết cứng, liên kết tượng trưng có thể trỏ đến một file hoặc thư mục trên một phân vùng hoặc file system khác.

III. Làm thế nào để tạo Symbolic Link trong Linux?

Để tạo Symbolic link trong Linux, chúng ta sử dụng lệnh ln để tạo links đến file hoặc thư mục trong Linux.

  1. Tạo Symbolic link cho file
    • Để tạo một symbolic link cho một file, hãy mở terminal và nhập lệnh bên dưới:
      ln -s [target] [symlink]
      Trong đó:

      • -s – để tạo symbolic link, theo mặc định lệnh ln tạo liên kết cứng.
      • [target] – tên của file gốc hoặc nơi bạn muốn tạo file link tới.
      • [symlink] –  tên của file symbolic link.
    • Ví dụ bên dưới tạo một symbolic link (link-file.txt) trỏ đến file gốc (target-file.txt) nằm trong thư mục test.
      ln -s test/target-file.txt link-file.txt
      Lệnh trên không hiện output, nhưng lệnh ls hiển thị link-file.txt đã được tạo:
    • Chúng ta thêm -l vào lệnh ls để xem thuộc tính của link-file.txt:
      ls -l link-file.txt
      Chữ l ở đầu của cột phân quyền cho thấy file đó là 1 symlink. Output cũng hiển thi đường dẫn đến file gốc.
  2. Tạo Symbolic link cho folder
    • Để tạo một symbolic link cho một folder, sử dụng lệnh sau:
      ln -s [target-directory] [symlink]
    • Ví dụ dưới đây tạo một symbolic link có tên test-link trong thư mục home (~/).
      ln -s /etc/ssh ~/test-link
    • Lệnh ls hiển thị symlink mới được tạo trong thư mục home.
    • Output ls -l hiển thị ký tự l ở cột phân quyền và đường dẫn đến thư mục gốc.
    • Nội dung của thư mục test-link tương ứng với nội dung của thư mục ssh.

IV. Ghi đè Symbolic link

  • Khi tạo 1 symbolic link, bạn có thể nhận được thông báo lỗi sau:
    ln: failed to create symbolic link '[filename]': File exists
  • Thông báo lỗi có nghĩa là đã có 1 file cùng tên. Để hệ thống ghi đè lên, sử dụng -f:
    ln -sf [target] [destination]
  • Chú ý: Sử dụng tùy chọn -f sẽ xóa vĩnh viễn file hiện có.

V. Tìm các liên kết tượng trưng bị hỏng

  • Symbolic link sẽ không sử dụng được nếu tệp gốc bị di chuyển, bị xóa, hoặc không khả dụng (vd: server offline). Tuy nhiên, hệ thông không tự động loại bỏ các symbolic link bị hỏng.
  • Để tìm kiếm và định vị các symbolic links không hoạt động, hãy sử dụng lệnh find sau:
    find [directory] -type l ! -exec test -e {} ; -print
  • Thay thế [directory] bằng đường dẫn đến thư mục mà bạn muốn tìm các symlink bị hỏng. Ví dụ: sử dụng ký hiệu (~) để tìm kiếm thư mục home:
    find ~ -type l ! -exec test -e {} ; -print

VI. Xóa Symbolic links

  • Nếu một symlink bị hỏng hoặc bạn không cần nó nữa, hãy xóa nó bằng lệnh unlink:
    unlink [symlink]
  • Thay thế [symlink] bằng đường dẫn đến liên kết. Ngoài ra, hãy sử dụng lệnh rm, như bạn làm với bất kỳ tệp nào khác:
    rm [symlink]
  • Cả hai lệnh đều không có output nếu thao tác thành công.

Như vậy, Long Vân đã hoàn thành hướng dẫn Quý khách tạo Symbolic link trong linux. Chúc Quý khách thành công.