Linux 系统设置 ¶
约 3052 个字 172 行代码 预计阅读时间 14 分钟
这一篇主要记录在配置 linux 时候遇到的一些问题和解决方案
VMware¶
【VMware Workstation 17】 VMware Workstation v17.x 永久许可证激活密钥:
MC60H-DWHD5-H80U9-6V85M-8280D
4A4RR-813DK-M81A9-4U35H-06KND
NZ4RR-FTK5H-H81C1-Q30QH-1V2LA
JU090-6039P-08409-8J0QH-2YR7F
4Y09U-AJK97-089Z0-A3054-83KLA
VMware 无法复制问题的解决 ¶
安装 VMware Tools 选项显示灰色的正确解决办法 ¶
1. 关闭虚拟机;
2. 在虚拟机设置分别设置 CD/DVD、CD/DVD2 和软盘为自动检测三个步骤;
3. 再重启虚拟机,灰色字即点亮。
4. 重新安装 vmware-tools
- 虚拟机无法打开
虚拟机使用的是此版本 VMware Workstation 不支持的硬件版本。 模块“Upgrade”启动失败。
打开.vmx
文件,修改virtualHW.version = "19"
一行至virtualHW.version = "16"
系统烧录 ¶
系统配置 ¶
换源 ¶
lsb_release -a
uname -a
vim /etc/apt/sources.list
注意换源的时候注意备份之前的
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
20.04 版本的源
ubuntu | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
ubuntu 镜像 _ubuntu 下载地址 _ubuntu 安装教程 - 阿里巴巴开源镜像站
deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ focal main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ focal-security main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal-security main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse
deb https://mirrors.zju.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.zju.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.zju.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb https://mirrors.zju.edu.cn/ubuntu/ focal-security main restricted universe multiverse
wget http://fishros.com/install -O fishros && . fishros
sudo apt-get update
sudo apt-get upgrade
404
Ubuntu 换源后仍然报错:404、没有 Release 文件 _ 没有 release 文件所以禁用 -CSDN 博客 sudo apt-get update 命令出现没有Release文件问题解决_debian apt get update 没有release 文件-CSDN博客
另外的解决方法,拉取 https 问题
sudo apt install apt-transport-https
sudo apt install ca-certificates
中文系统 ¶
在系統中添加中文語言,既可以顯示中文,也可以輸入中文。
分辨率 ¶
xrandr
xrandr -s 1280x768
xrandr -s 1 #(1是顺序号,即xrandr给出的2560x1600。)
在/boot/grub/
下的menu.lst
文件
先 cat menu.lst 查看文件内容。
gedit menu.lst
vim menu.lst
无法获得锁 /var/lib/dpkg/lock-frontend - open
ps -e | grep apt
> 3209 ? 00:00:00 apt.systemd.dai
> 3213 ? 00:00:00 apt.systemd.dai
杀死进程并切换到 sudo 权限完美解决“无法获得锁 /var/lib/dpkg/lock-frontend - open (11: 资源暂时不可用 ) 无法获取 dpkg 前端锁 (/var/lib/dpkg/lock-f”的问题
查看系统信息 ¶
查看 cpu 信息
cat /proc/cpuinfo
查看系统架构
uname - a
sudo !4
更改密码 ¶
passwd
sudo passwd username
更改 root 密码
sudo passwd root
PS1 修改 ¶
vim ~/.bashrc
通用软件 ¶
apt-get install git
apt-get install vim
- tldr:简易版 man 手册
- fd-find:人性化的 find
- rg(ripgrep):快速搜索
- fzf : 模糊搜索
新立得 ¶
sudo apt install -y synaptic
nano¶
常见操作
操作 | 快捷键 |
---|---|
保存 | Ctrl + O |
退出 | Ctrl + X |
删除 | Ctrl + K |
terminator¶
sudo apt-get install terminator
设置为默认终端
开启 or 关闭快捷键 | 作用 |
---|---|
Ctrl + Shift + O |
水平分割终端(分成上下两个窗口) |
Ctrl + Shift + E |
垂直分割终端(分成左右两个窗口) |
Ctrl + Shift + W |
关闭当前终端 |
Ctrl + Shift + X |
放大(还原)当前终端 |
Ctrl + Shift + G |
清屏 |
Ctrl + Shift + Q |
关闭所有终端(退出程序) |
Ctrl + Shift + T |
开一个新终端 |
快捷键 | 作用 |
---|---|
alt+方向键 or ctrl+TAB |
切换窗口 |
ctrl shift + |
加字号 |
F11 |
全屏 |
super(win) + g |
group, 将不同窗口打包,指令可以广播 |
Super+Shift+g |
取消分组 |
ctrl+shift+f |
搜索命令 |
Ctrl+Shift+c |
复制指令 |
Ctrl+Shift+v |
粘贴指令 |
Ctrl+Shift+X |
将分割的某一个窗口放大至全屏使用 |
Ctrl+Shift+Z |
从放大至全屏的某一窗口回到多窗格界面 |
vscode¶
- 用内嵌的浏览器搜索 vscode,下载 vscode 的 .deb 格式的安装包
- 在终端中输入
sudo dpkg -i code_1.72.1-1665423861_amd64.deb
进行解压包 - 在 vscode 软件上点击鼠标右键,点击
Edit Application
- 有个 Command 选项,输入
/usr/share/code/code --unity-launch %F --no-sandbox
即可,再点击保存。
SSH¶
sudo apt install net-tools
ifconfig
sudo apt-get install openssh-server
ssh user@remote
ssh -X ldz@192.168.0.1 # 带图形化界面
ssh -p 1234 ldz@192.168.0.1 # 指定端口
vim /etc/ssh/sshd_config
- 第 33 行 : 将 PermitRootLogin without-password(第 33 行) 改为 PermitRootLogin yes 并去掉前面的注释符号(#)
- 第 57 行 :#PasswordAuthentication yes( 第 57 行 ) 的注释去掉,如果是 no 就改为 yes
- 保存
service ssh restart
验证安装
service ssh status
开机自启动
update-rc.d ssh enable
配置免密登陆
ssh-keygen -t rsa
passphrase
,不设置则为空,这里看心情吧,如果不放心私钥的安全可以设置一下)
执行结束以后会在/home/当前用户
目录下生成一个 .ssh
文件夹 , 其中包含私钥文件 id_rsa
和公钥文件 id_rsa.pub
。
ssh-copy-id 会将公钥写到远程主机的 ~/.ssh/authorized_key
文件中
ssh-copy-id name@ip
注意,windows 的 cmd 中不能直接执行 ssh-copy-id 命令,可以使用 git bash 或者其他 linux 终端工具
当出现
Number of key(s) added: 1 Now try logging into the machine, with: "ssh 'HAHA@127.0.0.1'" and check to make sure that only the key(s) you wanted were added.
说明配置成功!
深入理解 ~/.ssh/config 和 /etc/ssh/ssh_config 配置文件 - 百度开发者中心
错误与解决方法
警告:远程主机标识已更改!
此报错是由于远程的主机的公钥发生了变化导致的。 ssh 服务是通过公钥和私钥来进行连接的,它会把每个曾经访问过计算机或服务器的公钥(public key
ssh-keygen -R XX.XX.XX.XX
ssh -6 user@ipv6
conda¶
清华镜像地址:https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/
按照你系统的架构选择合适的下载
uname -m
wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-py39_24.7.1-0-Linux-aarch64.sh
bash Miniconda3-py39_24.7.1-0-Linux-aarch64.sh
一路点 enter 和 yes,最后重启终端,得到带有(base)
的提示符,说明安装成功
nomachine¶
外设与硬件 ¶
蓝牙操作 ¶
打开系统蓝牙
systemctl status bluetooth
sudo service bluetooth start
sudo /etc/init.d/bluetooth restart
bluetoothctl
输入以下命令
list
scan on
devices
power on
agent on
default-agent
pair yourDeviceMAC
其中 pair 后面跟上扫描出的键盘的 MAC 地址,根据提示输入密码,显示配对成功,此时,在桌面的设置界面“我的设备”中可以看到蓝牙中键盘为已配对状态,但此时可能依然无法成功连接。
压缩 ¶
zip -r examples.zip examples # examples为目录
unzip name.zip
unzip name.zip -d 当前目录
tar xvf name.tar
复制 scp ¶
好的,我来帮你总结一下 scp 的常见用法。
## SCP 常用命令
[关于scp传输文件踩过的坑(最全!linux与windows相互传输文件,连接失败,免密登录,连接超时) - 知乎](https://zhuanlan.zhihu.com/p/542926236)
### 基本语法
```shell
scp [可选参数] 源文件 目标文件
# 复制文件
scp local_file remote_username@remote_ip:remote_folder
scp local_file remote_username@remote_ip:remote_file
# 复制目录
scp -r local_folder remote_username@remote_ip:remote_folder
-r
: 递归复制整个目录-P port
: 指定远程主机的端口号-p
: 保留原文件的修改时间和访问权限-q
: 不显示传输进度条-C
: 允许压缩-v
: 详细方式显示输出
示例 ¶
# 复制本地文件到远程服务器
scp file.txt user@192.168.1.100:/home/user/
# 复制远程文件到本地
scp user@192.168.1.100:/home/user/file.txt ./
# 复制整个目录
scp -r local_folder user@192.168.1.100:/home/user/
# 使用特定端口
scp -P 2222 file.txt user@192.168.1.100:/home/user/
局域网 ¶
apt-get install -y cifs-utils
windows 做服务器 ¶
windows 作客户端 ¶
如果你是没有打开 smb 服务,那么继续往下看,打开控制面板进入
点击“启用或关闭 windows 功能”
把 smb 的几个都点开,然后点击确定,立即重启
然后直接在 explorer 中输入 ip 地址即可。
注意输入的格式:
- 不是smb://156.26.51.55
- 而是应该直接双斜杠+ip地址
,如果有具体的共享的文件夹的话就把路径跟在后面。不需要加smb前缀,也不能用 //
,要用 \\
,然后输入对应的账户和密码就完事了。
linux 做服务器——samba¶
sudo apt install samba
systemctl start smbd.service
systemctl enable smbd.service
systemctl start nmbd.service
systemctl enable nmbd.service
systemctl status smbd.service
systemctl status nmbd.service
net usershare add "共享名" /home/Desktop/文件名 "备注名" Everyone:R guest_ok=y
参数 | 含义 |
---|---|
Everyone:R | 设置 Everyone 用户为只读权限 |
Everyone:F | 设置 Everyone 用户为可写权限 |
Everyone:D | 设置 Everyone 用户为拒绝权限 |
guest_ok=y | 允许匿名访问 |
guest_ok=n | 不允许匿名访问 |
sudo apt install smbclient
smbclinet //ip/name -U xxx
注意权限问题
-
设置了当前共享文件夹有可写权限的话,那么需要增加当前文件夹的 other 的写权限
-
设置了匿名访问的话需要设置当前目录以及这个目录的父目录的 other 的可执行权限
不然的话,不管使用命令访问还是使用图形界面访问都是会导致报错没有权限的问题
linux 作客户端——挂载文件系统 ¶
smbclient -L 192.168.1.70 -U lab
Enter lab's password: #输入密码,不回显
Domain=[WIN7] OS=[Windows 7] Server=[Windows 7]
#共享点名称# #类型# #描述#
Sharename Type Comment
--------- ---- -------
ADMIN$ Disk 远程管理
Share Disk
C$ Disk 默认共享
Connection to 192.168.1.70 failed (Error NT_STATUS_RESOURCE_NAME_NOT_FOUND)
NetBIOS over TCP disabled -- no workgroup available #可能会出现一些错误警告,不过可以列出的话就不用管
将 //<ip>/test
挂载到 /mnt/
目录上,如果不需要认证,则无需指定用户名和密码。
sudo mount -t cifs //<ip>/test /mnt/test_shared -o dir_mode=0777,file_mode=0777
linux mount 挂载文件夹设置权限 - 秋声梧叶 - 博客园
开机自动挂载(修改 /etc/fstab
文件
将//192.168.xx.xx/sharedir
挂载到/mnt/cifs
上,并指定了用户名和密码 ; 如果不需要认证,可以不指定用户名和密码。
//192.168.3.4/sharedir /mnt/cifs cifs username=demo,password=demo 0 0
然后可以把/mnt/folder
直接当作 linux 中的文件夹进行文件的操作
umount /dev/hda2
pywin32 库没有安装好 Python 如何通过 Python 访问 Windows 网络上的共享文件夹 | 极客教程
网络 ¶
连接 wifi ¶
sudo vim /etc/netplan/50-cloud-init.yaml
network:
ethernets:
enp2s0:
dhcp4: true
wifis:
wlan0:
dhcp4: true
access-points:
"<ssid>":
password: "<passowrd>"
version: 2
设置好之后退出,重启网络
sudo netplan apply
1. 该编辑文件中不能出现制表符,要不然会有问题;在执行后面的命令会报错;
2. 改文件的编辑必须严格按照格式来,是分层的,用空格来退格
启动 netplan-wpa-wlan0.sevice 失败:未找到单元 netplan-wpa-wlan0.service - ubuntu
注意事项
出现类似错误:line8 column 6:cloud not find expected
提示是冒号:后面没加空格
出现类似错误:netplan found character that cannot start any token
,提示是没有按五个层次写配置文档,一定要下一层比上一层多空一格或以上。
出现类似错误: Invalid YAML: inconsistent indentation:
# 缩进不对,就是每一层没有严格缩进
sudo apt install net-tools wireless-tools network-manager
校网验证 ¶
net2.zju.edu.cn
QSCTech/zjunet: Command Line Scripts for ZJU (VPN / WLAN / DNS)
w3m 之类的命令行浏览器试试
比较简单的 ubuntu 18.04 有线连接校园网的方法 - CC98 论坛
路由 ¶
内网穿透 ¶
校园网内登录寝室电脑远程桌面和 ssh 连接 WSL - 知乎 干货 | 在校园网中用ssh连接宿舍电脑
用户设置 ¶
新建用户 ¶
```shell title=" 创建 root 用户 " sudo passwd root
```shell title="创建普通用户"
sudo adduser username
sudo userdel -r username
sudo grep bash /etc/passwd
用户权限 ¶
sudo usermod -a -G adm username
sudo usermod -a -G sudo username
docker¶
Docker Compose - 安装和基本使用 _docker-compose 安装 -CSDN 博客
定义:Docker Compose 是一个用于定义和运行多容器 Docker 应用的工具。
功能: - 多容器管理:允许用户在一个 YAML 文件中定义和管理多个容器 - 服务编排:配置容器间的网络和依赖关系 - 一键部署:使用 docker-compose up 命令启动、停止和
定义:一个开放源代码的容器化平台,允许开发者将应用及其依赖打包进轻量级、可移植的容器中。
- 容器化:将应用和其运行环境封装在一个容器中
- 镜像管理:创建、存储和分发容器镜像
- 容器运行:可以运行在任何支持 Docker 的环境中
查看是否安装成功
[root@localhost ~]# docker-compose --version
Docker Compose version v2.16.0
换源 ¶
sudo vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://dockerhub.icu"]
}
文档 ¶
文档结构
- version:指定 Compose 文件格式 yaml 的规则版本,版本决定可用的配置选项
- service:定义了应用中的服务,每个服务可以使用不同的镜像、环境设置和依赖关系
- web:自己构建的镜像
- build:用于构建镜像,指定构建镜像的 dockerfile 的上下文路径
- ports:映射容器和宿主机的端口
- volumes:挂载本地目录到指定容器目录,用于数据持久化或在容器之间共享数据
- links:与 redis 服务连接
- redis:构建指定镜像 redis
- image:从指定的镜像中启动容器,可以是存储仓库、标签以及镜像 ID
- volumes:用于数据持久化和共享的数据卷定义,常用于数据库存储、配置文件、日志等数据的持久化
version: "3.9"
services:
web:
build: .
ports:
- "8000:5000"
volumes:
- .:/code
- logvolume01:/var/log
links:
- redis
redis:
image: redis
volumes:
logvolume01: {}
使用 ¶
docker-compose up
Q & A¶
sh: 0: getcwd() failed: No such file or directory
一般来说是因为你 cd 到了某个目录之后 rm 了这个目录,这时去执行某些 service 脚本的时候就会报 get cwd 错误。 只需要 cd 到任何一个实际存在的目录下再执行就好了
Java¶
.jar
文件打开方式 ¶
1. 双击打开
- 命令行打开 x
java -jar xxx.jar
java -jar xxx.jar &
nohup java -jar test_jar-1.0-SNAPSHOT.jar &
nohup 意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行。
当用 nohup 命令运行 jar 包时,缺省情况下该应用的所有输出被重定向到 nohup.out 的文件中,除非另外指定了输出文件。