服务器常用命令汇总
[TOC]
一、用户管理
1)Linux 创建用户/添加sudo
1 2 3
| adduser ayaka usermod -aG sudo ayaka
|
2)Linux sudo免密码
1 2 3 4 5 6
| chmod u+w /etc/sudoers
nano /etc/sudoers
chmod u-w /etc/sudoers
|
然后编辑内容:
1 2 3 4 5 6 7 8 9 10 11 12 13
| root ALL=(ALL:ALL) ALL
%admin ALL=(ALL) ALL
%sudo ALL=(ALL:ALL) ALL
|
3)Linux 生成密钥对
- 第一步:在服务器/你的windows电脑,生成密钥对(密钥只要可以配对,不管在哪生成的),建议就保存在默认的位置
1
| ssh-keygen -t rsa -b 4096
|
- 第二步:在服务器上,进入
~/.ssh
文件夹:
- 如果没有
authorized_keys
文件,请新建一个这样空文件:
- 然后把你刚刚生成的
id_rsa
和 id_rsa.pub
拷贝到~/.ssh
文件夹下面
authorized_keys
这个文件存放的是:允许登录的用户的公钥!
1 2
| ayaka@k8s-master:~/.ssh$ ls authorized_keys id_rsa id_rsa.pub
|
- 第三步:把公钥内容
id_rsa.pub
添加到authorized_keys
里面
1
| cat ./id_rsa.pub >> ./authorized_keys
|
- 第四步:打开vscode,然后进入ssh的配置文件,填写
1 2 3 4 5
| Host 你的服务器IP HostName 你的服务器IP User 你的用户名 IdentityFile D:/key/id_rsa(改成你的密钥位置,windows还需要自行修改权限) PasswordAuthentication no
|
4)sshd: no hostkeys available
在SSH服务器启动时,如果出现sshd: no hostkeys available的错误,通常是由于证书文件的问题。需要执行下面的命令即可。
二、工具安装
1)Linux 安装Docker
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done
sudo apt-get update sudo apt-get install -y ca-certificates curl sudo install -m 0755 -d /etc/apt/keyrings sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc sudo chmod a+r /etc/apt/keyrings/docker.asc
echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
|
2)Docker 网络代理
公司或者学校难免会有内网环境需要连接,拉取镜像什么的。但是Docker的网络代理非常复制,分成好几个阶段的区别。
- Docker Pull的代理:执行docker pull时,是由守护进程dockerd来执行。因此,代理需要配在dockerd的环境中。而这个环境,则是受systemd所管控,因此实际是systemd的配置。
1 2 3 4 5 6 7 8 9 10 11 12
| sudo mkdir -p /etc/systemd/system/docker.service.d sudo touch /etc/systemd/system/docker.service.d/proxy.conf
[Service] Environment="HTTP_PROXY=http://proxy.example.com:8080/" Environment="HTTPS_PROXY=http://proxy.example.com:8080/" Environment="NO_PROXY=localhost,127.0.0.1,.example.com"
sudo systemctl daemon-reload sudo systemctl restart docker
|
- 在容器运行阶段,如果需要代理上网,则需要配置
~/.docker/config.json
。以下配置,只在Docker 17.07及以上版本生效。(当然你也可以手动在容器里面设置环境变量来代理)
1 2 3 4 5 6 7 8 9 10 11
| { "proxies": { "default": { "httpProxy": "http://proxy.example.com:8080", "httpsProxy": "http://proxy.example.com:8080", "noProxy": "localhost,127.0.0.1,.example.com" } } }
|
1 2 3 4 5
| docker build . \ --build-arg "HTTP_PROXY=http://proxy.example.com:8080/" \ --build-arg "HTTPS_PROXY=http://proxy.example.com:8080/" \ --build-arg "NO_PROXY=localhost,127.0.0.1,.example.com" \ -t your/image:tag
|
3)Docker 磁盘与清理
如下所示:通过docker system df
查看即可:
1 2 3 4 5 6
| admin@iZj6cckkqhgd7jajtcsk2jZ:~$ docker system df TYPE TOTAL ACTIVE SIZE RECLAIMABLE Images 8 7 17.59GB 13.2GB (75%) Containers 7 7 4.38MB 0B (0%) Local Volumes 64 1 230.5MB 230.5MB (100%) Build Cache 0 0 0B 0B
|
清理Docker缓存容量:
1 2
| docker system prune docker system prune -a
|
三、磁盘管理
这部分主要是服务器磁盘空间、清理、扩容有关的内容。
1)查看磁盘空间
1 2 3 4 5 6 7
| admin@localhost:~$ df -Th Filesystem Type Size Used Avail Use% Mounted on tmpfs tmpfs 373M 1.3M 372M 1% /run /dev/vda1 ext4 79G 39G 38G 51% / tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm tmpfs tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs tmpfs 373M 0 373M 0% /run/user/1000
|
一般如上所示,/dev/vda1
代表的就是主文件系统,Size表示总大小,Used代表使用的大小。
2)扩容磁盘
在阿里云或者通过VM ware虚拟机对硬件进行扩容后,还需要在系统中手动扩容生效,具体命令如下:
首先,需要确认磁盘容量:
然后,安装扩容工具并进行扩容分区:
1 2 3 4
| apt-get update apt-get install -y cloud-guest-utils growpart /dev/vda 1 resize2fs /dev/vda1
|
最后,还是运行命令df -Th
查看是否扩容成功。
3)查看文件夹占用
统计当前文件夹的目录占用: