• Thế Giới Giải Mã

    Bí ẩn nhân loại Leonardo Da Vinci

  • Thế Giới Giải Mã

    Anh hùng thầm lặng Nikola Tesla

  • Thế Giới Giải Mã

    Thần đèn Thomas Edison

  • Thế Giới Giải Mã

    Người thôi miên Adolf Hitler

Showing posts with label Command Line. Show all posts
Showing posts with label Command Line. Show all posts

22 December 2022

sudo: apt: command not found



Advanced Package Tool (APT) là một công cụ dòng lệnh được sử dụng để tương tác dễ dàng với hệ thống đóng gói dpkg. APT là phương pháp lý tưởng được sử dụng để quản lý phần mềm trong các bản phân phối Linux dựa trên Debian, chẳng hạn như Ubuntu. Nó quản lý các phần phụ thuộc một cách hiệu quả, duy trì các tệp cấu hình lớn và xử lý đúng cách các nâng cấp và hạ cấp để đảm bảo tính ổn định của hệ thống. Về bản thân, dpkg không xử lý các phụ thuộc đúng cách.

Trong các bản phân phối dựa trên Debian/Ubuntu, việc quản lý phần mềm được thực hiện thông qua tiện ích apt, đây là sự thay thế gần đây cho các tiện ích apt-get và apt-cache. Các lệnh được sử dụng nhiều nhất bao gồm:

CommandDescription
apt listList packages
apt searchSearch in descriptions
apt installInstall a package
apt showShow package details
apt removeRemove a package
apt updateUpdate catalog of available packages
apt upgradeUpgrade the installed software
apt edit-sourcesEdit the repository configuration

Nếu bạn gặp phải lỗi dưới đây khi chạy lệnh apt:

apt: command not found

bạn có thể thử cài đặt gói apt theo lựa chọn phân phối của mình.

DistributionCommand
Debianapt-get install apt
Ubuntuapt-get install apt
Arch Linuxpacman -S apt
Kali Linuxapt-get install apt
CentOSyum install apt
Fedoradnf install apt
Raspbianapt-get install apt

Ví dụ về lệnh apt

1. Cập nhật danh sách các gói và phiên bản có sẵn (bạn nên chạy phần này trước các lệnh `apt` khác):

$ sudo apt update

2. Tìm kiếm một gói nhất định:

$ apt search package

3. Hiển thị thông tin cho một gói:

$ apt show package

4. Cài đặt gói hoặc cập nhật gói lên phiên bản mới nhất hiện có:

$ sudo apt install package

5. Xóa một gói (thay vào đó, sử dụng `purge` cũng xóa các tệp cấu hình của nó):

$ sudo apt remove package

6. Nâng cấp tất cả các gói đã cài đặt lên phiên bản mới nhất hiện có của chúng:

$ sudo apt upgrade

7. Liệt kê tất cả các gói:

$ apt list

8. Liệt kê các gói đã cài đặt: 

$ apt list --installed

05 January 2022

Các lệnh điều khiển windows - command line

Control panel tool Command
2021
msinfo32 => System Information

dxdiag => DirectX Diagnostic Tool

ncpa.cpl => Network Conection

inetcpl.cpl => Internet Properties

main.cpl => Mouse Properties

sysdm.cpl => System Properties

mmsys.cpl => Sound Properties

desk.cpl => Display Properties

appwiz.cpl => Add/Remove Programs
Quản lý tệp và thư mục
2021
// Common
/P : Hiển thị thông tin trước khi xóa
/F : Xóa các thuộc tính read-only
/S : Xóa trong tất cả các thư mục
/Q : Xóa không cần hỏi
/A[[:]attributes] : xóa theo thuộc tính
attributes : R: Read-only, S: System, H: Hidden

// Tạo một thư mục
$ mkdir <folder_name>
or
$ md <folder­_name>

// Xoá thư mục
$ rd <folder_name>

// Xóa thư mục không trống
$ rd /s <folder­_name>

// Tạo file
$ fsutil file createnew filename.txt 1024
or
$ type nul > filename.txt

// Mở file và thêm contetn cho file
$ type nul > demo.txt
// Xoá file $ del <file_name> // Đổi tên file $
ren old_name new_name // Hiển thị các thư mục bắt đầu chứ cái $ dir a* // Hiển thị tree thư mục $ tree // Sao chép $ copy <path_from> <path_to> $ copy <file_name> <path_from> <path_to> // Sao chép thư mục bao gồm thư mục trống $ xcopy src_file des_file /e /i // Danh sách các file và folder $ call dir // Hiển thị đường dẫn hiện tại $ chdir
Các lệnh network trên windows
2021
// Hiển thị IP
$ ipconfig
$ curl ifconfig.me

// Hiển thị IP public
$ nslookup myip.opendns.com resolver1.opendns.com

// Kiểm tra cổng kết nối đối với telnet
$ telnet <address> <port number>
Ứng dụng và Quy trình
2021
start explorer /c => mở vào ổ nào

File Explorer - explorer

Calculator - calc

Notepad - notepad => notepad myfile.txt

Character Map - charmap

Paint - mspaint

Command Prompt (new window) - cmd

Windows Media Player - wmplayer

Task Manager - taskmgr
Network
2021

$
telnet [address] [port number] $ telnet 127.0.0.1 80 $ ipconfig Verifies IP-level connectivity to another TCP/IP computer ping HOSTNAME ping IP_ADDRESS ping -t HOST ← continue sending Echo Request messages to the destination until interrupted. ← To interrupt and quit ping, press CTRL+C. Check Port connection Test-NetConnection <HOST> -Port <PORT> Test-NetConnection 192.168.0.100 -Port 22 Displays all current TCP/IP network configuration values. ipconfig ipconfig /all ← Display full configuration information. Display route details netstat -rn route print Add a route route add 192.168.0.0 mask 255.255.255.0 192.168.10.1 ← network route add 192.168.0.5 mask 255.255.255.255 192.168.100.1 ← host route add -p 192.168.0.0 mask 255.255.255.0 192.168.10.1 ← “-p” Create a persistent route If you want to contain rouring after reboot the system, you must add “-p” option. Delete the route route delete 192.168.0.0 mask 255.255.0.0 ← network route delete 192.168.20.1 mask 255.255.255.255 ← host Change th route route change 157.0.0.0 mask 255.0.0.0 157.55.80.5 Display hostname from IP nbtstat -a IP_ADDRESS
System
2021
shutdown
	shutdown /s /t 10
	/s = Shutdown the computer.
	/t xxx = Set the time-out period before shutdown to xxx seconds.
	shutdown /r /t 10
	/r = Full shutdown and restart the computer.

Displays environment variables.		
	set ← cmd
	Get-ChildItem env: ← powershell
	echo %Path% ← cmd
	Get-ChildItem env:Path ← powershell

path displays the current command path.		
	path

Sets the command path in the PATH environment variable		
	path %PATH%;C:\test\bin

Displays detailed configuration information about a computer and its operating system	
	systeminfo
	systeminfo /s test-server
	systeminfo /s test-server /u testdomain.local\USERNAME

Displays a list of currently running processes	
	tasklist
	tasklist /s SERVER
	tasklist /s SERVER /u TESTDOMAIN\USER01 /p P@ssw0rd

Change the character code	
	chcp 437 ← English
	chcp 932 ← Japanese
Software
2021
Tạo kết nối đến máy chủ đầu cuối hoặc máy tính từ xa khác
	mstsc
	mstsc /? ← Displays help at the command prompt.
	mstsc /admin ← Connects you to a session for administering the server.
	mstsc /f ← fullscreen
	mstsc /w:1600 /h:1200
	mstsc /v:192.168.0.10
	mstsc /v:192.168.0.10 /w:1600 /h:1200

Start Explorer	
	explorer
	explorer . ← start Explorer with current folder

Start Calcurator	
	calc

Microsoft Management Console(mmc)
	mmc
DNS
2021
Hiển thị thông tin mà bạn có thể sử dụng để chẩn đoán cơ sở hạ tầng DNS.	
	nslookup
	nslookup IPADDRESS DNSSERVER
	nslookup HOSTNAME DNSSERVER
	nslookup -type=soa HOSTNAME
	nslookup -type=any HOSTNAME DNSSERVER
	
Xóa và đặt lại nội dung của bộ đệm trình phân giải máy khách DNS.
	ipconfig /flushdns
MAC address
2021
Returns the MAC address	
	getmac
	getmac /s srvmain
	getmac /s srvmain /u maindom\hiropln /p p@ssW23

Hiển thị các mục trong bộ đệm ARP	
	arp -a

Xóa một mục trong bộ đệm ARP với một IP cụ thể
	arp -d
	arp -d INETADDR
Key name
2021
taskmg

04 September 2021

Công cụ điều khiển máy chủ Linux [Tool] - Cách sử dụng Vi Editor


 Công cụ điều khiển máy chủ Linux

Poderosa | Putty | WinSCP | Bitvise
(Poderosa được yêu thích vì copy được)


Sử dụng trình soạn thảo vi trên linux
2021
$ Tạo file: vi vi.txt

$ i để vào chế độ insert

$ ESC để thoát khỏi chế độ insert

$ v để vào chế độ visual

$ dd để xoá dòng

$ ndd xóa n dòng

$ dw để xoá 1 từ

$ d2w để xoá 2 từ

$ d3w để xoá 3 tử

$ u để undo phục hồi thao tác trước

$ :set nu hiện thị số dòng

$ :set nonu bỏ hiện thị số dòng

$ :1 để nhảy đến dòng đầu tiên của file

$ :n nhảy đến dòng n

$ :$ nhảy đến dòng cuối của file.

$ 0 nhảy về đầu dòng

$ :0 nhảy về dòng đầu tiên của file.

$ / hay ? để tìm kiếm

$ :w! lưu tập tin

$ :x! lưu tập tin và thoát

$ :wq ZZ lưu tập tin và thoát

$ :q! không lưu và thoát

Một số cách tạo file khác

$ touch file

$ > file

$ echo '' > file

$ printf '\n' > file

Một số lệnh cơ bản trên môi trường Linux
cd, ls, mkdir, cp, rm, history, pwd
 command linux 
$ cd home
Vào thư mục home

$ cd ..
Quay lại thư mục trước

$ cd /
Quay lại thư mục gốc

$ ls
Xem trong thư mục có gì

$ ls -la
Xem trong thư mục có gì dạng list

$ pwd
Xem đang ở vị trí t

$ sudo su -
Cấp quyền root cao nhất (Nếu không có quyền là gì đó: Permission denied).

$ mkdir hanoi
Tạo thư mục

$ mkdir -p a/b/c
Tạo nhiều thư mục lồng nhau

$ rm hello.txt
Xoá file

$ rm -Rf hanoi haiphong/
Xoá toàn bộ file và thư mục

$ cp hanoi/hello.txt haiphong/
Copy file sang thư mục

$ cp hanoi/* haiphong/
Copy toàn bộ file trong thư mục sang thư mục khác (Có cảnh bảo overwrite)

$ history | less
Xem lại lịch sử

Tạo user/group và phân quyền file và folder
 command linux 
1.Thao tác với user

$ useradd chau
Tạo user

$ passwd chau123
Đặt mật khẩu

$ userdel chau
Xoá user

$ su - chauNgoc
Chuyển qua user chauNgoc

$ vi /etc/ssh/sshd_config
Sửa file trong trường hợp user mới tạo không login được.
tìm kiếm "/password" => PasswordAuthentication yes => :wq

2. Thao tác với nhóm

$ groupadd ketoan
Tạo nhóm

$ usermod -a -G ketoan chau
Thêm user vào group (Nếu muốn check cd vào folder data-ketoan cần login user chau lai)

$ id chau
Kiểm tra xem user đã nằm trong group hay chưa


3. File and folder permission

d rwx rwx ---  3 root     ketoan    15 Mar 16 07:05 data-ketoan
-rw-r--r--  1 root     root       4 Mar 16 07:43 hellotxt

Thứ tự phân quyền user/group/other    user/root
d: là thư mục
r = read permission
w = write permission
x = execute permission
- = no permission
https://www.guru99.com/file-permissio

Set permission cho file and folder

Bản phân quyền
No.   Permission Type   Symbol
0  No Permission   ---
1  Execute     --x
2  Write     -w-
3  Execute + Write   -wx
4  Read     r--
5  Read + Execute   r-x
6  Read + Write          rw-
7  Read + Write +Execute rwx

$ chmod -Rf 777 data-ketoan
Lệnh set quyền cho file và folder

$ chown -Rf root:ketoan data-ketoan
Lệnh gán quyền cho user và group
(mục đích là đổi group root sang ketoan để chỉ những người trong group này xem đc folder data-ketoan)
(Bước này xong quay lại bước 2 thêm user vào group ketoan)

Tạo SSH KEY - Public key & Private key
 command linux 
$ ssh-keygen -t rsa
Tạo ssh key

$ cd /home/yuki/.ssh
Vào thư mục chứa ssh key
   - id_rsa là private key -> Cho phép user đăng nhập vào máy chủ không cần passowrd
   - id_rsa.pub là public key

$ mv id_rsa.pub authorized_keys
Đổi tên file thành authorized_keys
   - authorized_keys: là là danh sách các khóa công khai 
     được phép đăng nhập vào tài khoản cụ thể trên máy chủ cụ thể.

$ chmod 600 authorized_keys
Đổi quyền chỉ có user hiện tại được phép xem

$ service sshd restart
Restart nếu thay đôi vi /etc/ssh/sshd_config 

$ visudo
Ngoài ra cần tìm hiểu lệnh này để config quyền thêm sửa xoá cho user

Xem thêm >>
Lệnh linux sử dụng nhiều nhất
2021
// Hiển thị địa chỉ api
$ ip addr show

// Hiển thị địa chỉ ip website/publicip/ipv4/ipv6
$ dig +short website
$ dig +short myip.opendns.com @resolver1.opendns.com
$ dig -4 TXT +short o-o.myaddr.l.google.com @ns1.google.com
$ dig -6 TXT +short o-o.myaddr.l.google.com @ns1.google.com

// Cho phép máy tính khác remote vào máy chủ linux sau khi cài đặt lệnh này
$ sudo apt-get install openssh-server

// Thay đổi password root
$ sudo su -
$ whoami
$ sudo passwd root
    Note: nếu không login được cần update file sau: /etc/ssh/sshd_config
    PermitRootLogin yes
$ sudo service ssh restart
Deploy
2021
GITLAB
// Cách đặt password cho user gitlab-runner
$ sudo su
$ password gitlab-runner

// Xoá user
$ sudo userdel gitlab-runner

// Uninstall gitlab-runner
$ sudo gitlab-runner uninstall
$ sudo rm -rf /usr/local/bin/gitlab-runner
$ sudo userdel gitlab-runner
$ sudo rm -rf /home/gitlab-runner/

// Chạy: Preparing the "shell" executor
$ gitlab-runner run

// Cho phép sử dụng sudo mà không hỏi nhập password
// Use sudo in script: sudo permissions
$ sudo usermod -a -G sudo gitlab-runner
$ sudo visudo
gitlab-runner ALL=(ALL) NOPASSWD: ALL

NGINX
$ sudo apt install nginx 
$ sudo systemctl status nginx 
$ sudo systemctl starts nginx 
$ sudo nginx -t 
$ sudo systemctl restart nginx



01 August 2020

Docker Command - Cheat Sheet

Docker command
Docker 
Để biết các lệnh con trong Docker:
docker

Để biết chi tiết của các lệnh con:
docker image --help
or
docker image save --help 

Tìm hiểu vể image:
Images là phần mềm đóng gói và quản lý bởi docker.
Khi image được khởi chạy thì các phiên bản được gọi là containers
vd: image đóng gói phần mềm mysql, đóng gọi hdh ubuntu...

Chú ý: - image chỉ có thể đọc không thể sửa đổi - containers có thể đọc và ghi dữ liệu - để có container thì phải có image trước Kho images: Docker Hub Tải về máy một image bằng docker Cú pháp: docker pull image:tag image: là tên phần mềm tag: phiên bản vd: docker pull ubuntu:14.04.5 Tải image phiên bản cuối cùng có 2 cách: vd: docker pull unbutu or vd: docker pull ubuntu:latest Liệt kê danh sách các image đã tải về Cú pháp: docker images Xóa một image vd: docker image rm ubuntu:14.04.5 hoặc xóa bằng image id vd: docker image rm 8cf1bfb43ff5 hoặc vd: docker image rm 8cf Tìm kiếm một image trong kho docker hub vd: docker search ubuntu [1] Quản lý Images Download một image docker pull IMAGE[:TAG] docker pull nginx Upload một image lên một repository (kho lưu trữ) docker push IMAGE docker push myimage:1.0 Delete một image docker rmi IMAGE Hiển thị danh sách tất cả Images docker images Delete images lơ lửng docker image prune Delete tất cả images không sử dụng docker image prune -a Build một image từ một Dockerfile docker build [URL] docker build . Tag một image docker tag IMAGE NEWIMAGE docker tag ubuntu ubuntu:18.04 Build và tag một image từ một Dockerfile docker build -t IMAGE DIRECTORY docker build -t myimage . Đóng gói image thành .tar Save một image vào một .tar file (Tác dụng để copy tái sử dụng image giữa các máy khác nhau) docker save IMAGE > FILE docker save nginx > nginx.tar Phục hồi file .tar thành image Load một image từ một .tar file (Tác dụng để copy tái sử dụng image giữa các máy khác nhau) docker load -i TARFILE docker load -i nginx.tar [2] Chạy mới một Container Bắt đầu một Container mới từ một Image docker run IMAGE docker run nginx ...và gán cho nó một cái tên docker run --name CONTAINER IMAGE docker run --name web nginx ...và map một port docker run -p HOSTPORT:CONTAINERPORT IMAGE docker run -p 8080:80 nginx ...và map tất cả các ports docker run -P IMAGE docker run -P nginx ...và bắt đầu container trong nền docker run -d IMAGE docker run -d nginx ...và gán cho nó một tên máy chủ docker run --hostname HOSTNAME IMAGE docker run --hostname srv nginx ...và thêm một dns docker run --add-host HOSTNAME:IP IMAGE ...và map một local directory vào container docker run -v HOSTDIR:TARGETDIR IMAGE docker run -v ~/:/usr/share/nginx/html nginx ...nhưng thay đổi entrypoint docker run -it --entrypoint EXECUTABLE IMAGE docker run -it --entrypoint bash nginx Tạo một container docker run -it --name NAME -h HOST IMAGE docker run -it --name "NG2" -h nginx2 nginx:latest Chạy một lệnh trong một container mới: docker run [IMAGE] [COMMAND] docker run --rm [IMAGE] - loại bỏ một container sau khi nó thoát. docker run -td [IMAGE] - bắt đầu một container và giữ cho nó chạy. docker run -it [IMAGE] - khởi động một container, phân bổ một TTY giả được kết nối với stdin của bộ chứa và tạo ra một vỏ bash tương tác trong container. docker run -it-rm [IMAGE]- tạo, bắt đầu và chạy một lệnh bên trong container. Một khi nó thực thi lệnh, container được gỡ bỏ. [3] Quản lý Containers Hiển thị danh sách đang chạy containers docker ps Hiển thị danh sách tất cả các containers docker ps -a Delete một container docker rm CONTAINER docker rm web Delete một container đang chạy docker rm -f CONTAINER docker rm -f web Delete containers đã dừng docker container prune Stop một container đang chạy docker stop CONTAINER docker stop web Start một container đã dừng docker start CONTAINER docker start web Dừng một container đang chạy và khởi động lại docker restart CONTAINER Tạm dừng các quy trình trong một container đang chạy docker pause CONTAINER Bỏ tạm dừng các quy trình trong một container đang chạy docker unpause CONTAINER Giết một container bằng cách gửi SIGKILL đến một container đang chạy docker kill CONTAINER Thoát khỏi terminal Exit Thoát khỏi terminal vẫn giữ container chạy Ctrl + p, Ctrl + q Quay lại terminal container đã bị thoát docker attach CONTAINER
docker attach web
Copy một file từ một container tới host docker cp CONTAINER:SOURCE TARGET docker cp web:/index.html index.html Copy một file từ host tới một container docker cp TARGET CONTAINER:SOURCE docker cp index.html web:/index.html Start một shell bên trong container đang chạy docker exec -it CONTAINER EXECUTABLE docker exec -it web bash Rename một container docker rename OLD_NAME NEW_NAME docker rename 096 web Lưu container trở lại thành image docker commit CONTAINER docker commit web or docker commit CONTAINER IMAGE:Version docker commit web nginx-demo:version1 [4] Info & Stats Show logs của một container docker logs CONTAINER docker logs web Hiển thị số liệu thống kê sử dụng tài nguyên trực tiếp của container docker stats CONTAINER Show processes của container docker top CONTAINER docker top web Show docker version đã cài đặt docker version Liệt kê thông tin cấp thấp về các đối tượng Docker docker inspect NAME/ID docker inspect nginx Liệt kê các sự kiện thời gian thực từ một container docker events CONTAINER Hiển thị các thay đổi đối với tệp (hoặc thư mục) trên hệ thống tệp docker diff CONTAINER docker diff web Hiển thị ánh xạ cổng (hoặc cụ thể) cho một container docker port CONTAINER Hiển thị các quy trình đang chạy trong một container docker top CONTAINER Hiển thị lịch sử của một hình ảnh docker history IMAGE [5] Network
Danh sách mạng docker network ls Xóa một hoặc nhiều mạng docker network rm [NETWORK] Hiển thị thông tin trên một hoặc nhiều mạng docker network inspect [NETWORK] Kết nối một container với mạng docker network connect [NETWORK] [CONTAINER] Ngắt kết nối một container khỏi mạng docker network disconnect [NETWORK] [CONTAINER]
[6] Chia sẻ dữ liệu và tạo ổ đĩa (volume) docker run -it -v pathHost:pathContainer IMAGE/ID [7] DEMO dockerfile Dockerfile - ng new demo - ng build - touch Dockerfile - cat Dockerfile FROM nginx:alpine COPY /dist /usr/share/nginx/html EXPOSE 80 - docker build -t my_image:v1 -f Dockerfile . - docker images ls - docker run --name my_container_demo -d -p 8080:80 my_image - docker ps - Ngoài ra còn có các lệnh stop start, rm một container tham khảo [3] => http://localhost:8080 ## Syntax docker run -d --name <container-name> <image-name> docker exec -it <container-name> bash ## What -d (run background) [8] Demo docker-compose

Chạy - docker-compose up => -d chạy docker chế độ background detached mode Danh sách - docker-compose ps Dừng - docker-compose stop Kiểm tra - docker-compose config => -q chkec không in nội dung ra terminal Chạy lại container đã bị stop - docker-compose start Kiểm tra volumes - docker volume ls Kiểm tra đường dẫn volume lưu ở đâu - docker inspect volume <tên> Kiểm tra folder - sudo ls -la <URL> Kiểm tra process đang chạy - docker-compose top Kiểm tra process của một container - docker-compose top <tên> Kiểm tra logs - docker-compose logs Truy cập vào trong container - docker container exec -it <tên or id> /bin/bash Xoá các container đang chạy bằng docker-compose - docker-compose stop - docker-conpose rm [9] Demo Push và Pull docker image - docker login - docker images - docker tag image_name:tag_name user_name/image_name - docker tag demo:latest id1945/demo - docker images - docker push id1945/demo https://hub.docker.com/repositories - docker images - docker rmi id1945/demo - docker pull id1945/demo - docker images - docker run -p 8081:8081 id1945/demo

 

BACK TO TOP

Xuống cuối trang