apt update -y && apt upgrade -y && reboot #更新系统并重启
一、系统安装
1、软件安装镜像选择“网络”镜像
2、选择debian桌面环境+xfce+web server+SSH server+标准系统工具
二、基础设置
没有开通root账号的SSH登录权限之前可以先登录普通账号,然后输入su及root密码进入root状态
1、debian 11换源(换清华源)
cp /etc/apt/sources.list /etc/apt/sources.list_bak #备份原有源文件
方法一:纯命令方式(整体复制、整体粘贴,不要变成一行)
cat > /etc/apt/sources.list << EOF
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye main contrib non-free
deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye main contrib non-free
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-updates main contrib non-free
deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-updates main contrib non-free
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-backports main contrib non-free
deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-backports main contrib non-free
deb https://mirrors.tuna.tsinghua.edu.cn/debian-security bullseye-security main contrib non-free
deb-src https://mirrors.tuna.tsinghua.edu.cn/debian-security bullseye-security main contrib non-free
EOF
2、debian 12换源(换中科源)
cp /etc/apt/sources.list /etc/apt/sources.list_bak #备份原有源文件
方法一:纯命令方式(整体复制、整体粘贴,不要变成一行)
cat > /etc/apt/sources.list << EOF
deb https://mirrors.ustc.edu.cn/debian/ bookworm main contrib non-free non-free-firmware
deb-src https://mirrors.ustc.edu.cn/debian/ bookworm main contrib non-free non-free-firmware
deb https://mirrors.ustc.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware
deb-src https://mirrors.ustc.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware
deb https://mirrors.ustc.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmware
deb-src https://mirrors.ustc.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmware
deb https://mirrors.ustc.edu.cn/debian-security/ bookworm-security main contrib non-free non-free-firmware
deb-src https://mirrors.ustc.edu.cn/debian-security/ bookworm-security main contrib non-free non-free-firmware
EOF
apt update #重新载入软件源
2、安装基础软件
apt -y install sudo wget curl neofetch btop fuse socat vim zip unzip binutils xz-utils ntfs-3g open-vm-tools open-vm-tools-desktop vnstat python3 python3-pip masscan fping bgpq4 && sudo systemctl enable vnstat && sudo systemctl start vnstat #除基本插件外另安装vnsta流量监控工具
apt -y install pluma gdebi net-tools samba minidlna #系统软件安装工具
pip install auto-py-to-exe aiohttp asyncio tqdm requests numpy scrapy pillow psutil py-emails secure-smtplib pandas matplotlib scikit-learn keras beautifulsoup4 pillow django flask scipy six bypy #安装python基础环境
安装FreeFileSync:(同步工具,可以增量备份KVM虚拟机相关文件)
https://freefilesync.org/download.php 官方下载地址,这里可以看到最新版本号
wget https://freefilesync.org/download/FreeFileSync_13.7_Linux.tar.gz #下载压缩包,注意更新最新版本事情
tar -xvf FreeFileSync_13.7_Linux.tar.gz #解压
sudo ./FreeFileSync_13.7_Install.run #运行run文件
然后输入数字进行安装
安装360安全浏览器:https://browser.360.net/gc/index.html
安装rustdesk远程桌面:https://rustdesk.com/zh/
安装搜狗输入法linux版:https://shurufa.sogou.com/linux
安装fsearch搜索工具:https://software.opensuse.org//download.html?project=home%3Acboxdoerfer&package=fsearch#manualDebian
安装fsearch时可能缺少libicu依赖,到这里http://ftp.de.debian.org/debian/pool/main/i/icu/下载对应的文件安装
3、开通root用户SSH登录权限
方法一:nano /etc/ssh/sshd_config #编辑sshd_config文件
把“#PermitRootLogin prohibit-password”改成“PermitRootLogin yes”
把“#PasswordAuthentication yes”前面的“#”去掉,解除注释
ctrl+X然后输入Y,保存退出
重启系统
方法二:sshd_config-2.zip下载此文件解压并改名,然后替换掉原系统文件
方法三:通过https://airportal.cn/ 传递文件
reboot #重启系统
4、让reboot命令生效
reboot无法生效前可以使用sudo reboot应急
whereis reboot #找到并记住reboot的文件路径
找到/etc/profile 这个配置文件后,进入文件改写
nano /etc/profile
在文件最下方加入下面这句话
export PATH=$PATH:/usr/sbin
export PATH=$PATH:xxx(xxx是你的reboot文件的目录路径)
比如上面图片中我的reboot文件路径是/usr/sbin
source /etc/profile #重新加载使修改生效
换做shutdown也类似
whereis shutdown(找到shutdown的文件路径)
5、非root用户(yw)放权
这条非必要不要操作
chmod 777 /etc/sudoers #打开sudoers文件夹读写权限
vi /etc/sudoers #编辑sudoers文件
在rootALL=(ALL:ALL) ALL下面写上
yw ALL=(ALL:ALL) ALL
6、安装Xrdp远程桌面
apt -y install xrdp tigervnc-standalone-server #安装 XRDP 和 TigerVNC 服务器
systemctl start xrdp #启动XRDP服务
systemctl enable xrdp #把XRDP加入开机启动
sudo systemctl status xrdp #查看支行状态,出现绿色表示正常
dpkg-reconfigure xserver-xorg-legacy #选“任何用户”
vncconfig -nowin& #开启跨操作系统复制粘贴
reboot #重启系统生效
7、处理驱动及缺失的固件问题
apt update
apt -y install intel-microcode firmware-misc-nonfree #安装软件包
sudo update-initramfs -u #生成成新的 initramfs
reboot #重启系统
三、进阶设置(服务器方向)
1、安装KVM虚拟机
apt -y install qemu qemu-system libvirt-clients libvirt-daemon-system qemu-kvm virtinst bridge-utils virt-viewer
apt -y install qemu-system qemu-user qemu-utils qemu-system-gui qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager #debian12及以上版本需要用这条命令
sudo adduser $USER libvirt #将root添加到相关用户组
apt -y install virt-manager #安装virt-manager图形界面
2、安装Cockpit面板(web远程管理)
apt -y install cockpit #安装 cockpit 及其依赖项后,使用 systemctl 命令:
sudo systemctl start cockpit #启动cockpit服务
sudo systemctl enable cockpit #加入开机自启
sudo systemctl status cockpit #查看cockpit状态
apt -y install cockpit-machines cockpit-podman cockpit-pcp #安装虚拟机、podman(docker管理工具)、pcp监控项目
运行以下命令以允许 UFW 防火墙系统使用端口 9090:(如果需要的话)
sudo ufw enable
sudo ufw allow 9090/tcp
sudo ufw status
3、设置静态固定IP(设置成192.168.8.2)
ip addr #查看系统网卡,一般有lo、 eno1,网卡名每台电脑都不太一样
cp /etc/network/interfaces /etc/network/interfacesbak #备份interfacesbak原有配置文件
修改interfaces文件,把下面这些绿色的东西复制进去代替原有的所有内容
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
allow-hotplug eno1
iface eno1 inet static
address 192.168.8.2
netmask 255.255.255.0
gateway 192.168.8.1
这个地方不要使用nano命令,最好在FinalShell里操作,要保持上面这个队形。
chattr -i /etc/resolv.conf #解除写保护
修改/etc/resolv.conf,把下面这些东西复制进去代替原有的所有内容
# Generated by NetworkManager
search lan
nameserver 223.5.5.5
nameserver 233.6.6.6
chattr +i /etc/resolv.conf #设置写保护锁定 resolv.conf 文件
reboot #重启系统生效
4、配置KVM虚拟机桥接网络
cp /etc/network/interfaces /etc/network/interfaces.bakup #备份interfacesbak原有配置文件
编辑interfaces文件
eno1是电脑物理网卡名称,223.5.5.5、223.6.6.6是阿里的DNS
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto br0
iface br0 inet static
address 192.168.8.2
netmask 255.255.255.0
gateway 192.168.8.1
dns-nameservers 223.5.5.5 223.6.6.6
bridge_ports eno1
bridge_stp off
bridge_fd 0
bridge_maxwait 0
用上面内容替换原来的所有内容
这个地方不要使用nano命令,最好在FinalShell里操作,要保持上面这个队形。
reboot #重启系统
sudo brctl show #如果出现一个br0表示成功
ip addr #关键查看br0是否有ip地址,且ip为你之前物理网卡的ip,而且这个时候你的物理网卡应该没有ip了,主机通过br0上网
apt update -y && apt upgrade -y && reboot #更新系统并重启
5、其它硬盘挂载
mkdir /ywd #在根目录下新建一个名为ywd的文件夹用来挂载其它硬盘
打开Cockpit后台192.168.8.2:9090
打开“存储”,安装“NFS支持”
然后点击“系统 9.10TiB”,然后点“9.10 TiB ntfs 文件系统”右边的挂载
挂载点填“/ywd”,也就是上面新建的文件夹
6、设置SMB共享
准备把ywd目录共享出去,10T硬盘挂载到了ywd目录
apt -y install libcups2 samba samba-common cups #安装相应包
systemctl start smbd #启动samba服务
systemctl enable smbd #启用开机启动
chmod 777 /ywd #设置目录权限,目录后面不要加“/”
smbpasswd -a yw #设置yw为共享用户名(debian系统本身存在这个用户名),按照提示输入密码,密码可以空
编辑/etc/samba/smb.conf
在最后添加以下内容:
[10T]
comment = share
path = /ywd
available = yes
browseable = yes
writable = yes
valid users = yw
dos charset = UTF8
unix charset = UTF8
display charset = UTF8
这个地方不要使用nano命令,最好在FinalShell里操作,要保持上面这个队形。
配置
smbpasswd -a 【用户名】 #然后输入密码
pdbedit -w -L #列出现有的Samba用户列表
vim /etc/samba/smb.conf
chmod 777 /share #给共享目录权限,其实给个600权限更安全
[disk1]
path = /share
writable = yes
write list = 【用户名】
valid users =【用户名】
display charset = UTF-8
unix charset = UTF-8
dos charset = UTF-8
设置服务:
查看服务状态 systemctl status smbd
开启服务 systemctl start smbd
重启服务 systemctl restart smbd
停止 systemctl stop smbd
共享选项及说明,按照需求合理配置
[共享名称]:共享中看到的共享目录名
comment = 共享的描述.
path = 共享目录路径(可以用%u、%m这样的宏来代替路径如:/home/share/%u)
browseable = yes/no指定该共享是否在“网上邻居”中可见。
writable = yes/no指定该共享路径是否可写。
read only = yes/no设置共享目录为只读(注意设置不要与writable有冲突)
available = yes/no指定该共享资源是否可用。
admin users = bobyuan,jane指定该共享的管理员,用户验证方式为“security=share”时,此项无效。
valid users = bobyuan,jane允许访问该共享的用户或组-“@+组名”
invalid users = 禁止访问该共享的用户与组(同上)
write list = 允许写入该共享的用户
public = yes/no共享是否允许guest账户访问。
guest ok = yes/no意义同“public”。
create mask = 0700指定用户通过Samba在该共享目录中创建文件的默认权限。0600代表创建文件的权限为rw-------
directory mask = 0700指定用户通过Samba在该共享目录中创建目录的默认权限。0600代表创建目录的权限为rwx------
systemctl restart smbd.service #重新加载SMB服务使修改生效
或者
reboot #重启系统
如果配置文件丢失可以用一下命令恢复,恢复最原始的配置文件
sudo apt purge samba-common samba
sudo apt -y install samba
7、设置NFS共享
准备把ywd目录共享出去,10T硬盘挂载到了ywd目录
apt -y install nfs-kernel-server nfs-common #安装nfs相关软件
chown nobody:nogroup /ywd
chmod 777 /ywd #赋予ywd目录相关权限
编辑/etc/exports文件,在其底部添加下面这句话,0/24表示1-255整个IP段都行
/ywd 192.168.8.0/24(rw,sync,insecure,no_subtree_check)
结束
systemctl restart nfs-kernel-server #重新加载nfs服务使修改生效
或者
reboot #重启系统
ro:指定目录只能以只读方式挂载
rw:授予对目录的读写权限
no_root_squash:这是一个非常危险的选项,它允许远程“ root”用户与主机的“ root”用户享有相同的特权
subtree_check:指定在导出目录而不是整个文件系统的情况下,主机应验证主机文件系统上文件和目录的位置
no_subtree_check:指定主机不应检查通过主机文件系统访问的文件的位置
sync:这只是确保主机使上传到共享目录的所有更改保持同步
async:忽略同步检查以提高速度
insecure:允许使用大于1024的端口号连接NFS
linux系统客户端挂载nfs共享的方法
apt -y install nfs-kernel-server nfs-common #安装nfs相关软件
sudo mkdir /var/10T-dz #本地新建一个/var/10T-dz文件夹,文件夹名字随便取
sudo mount -t nfs 192.168.8.2:/ywd /var/10T-dz #把8.2上面的nfs共享文件夹ywd挂载到本机/var/10T-dz文件夹
编辑/etc/fstab文件,在文件最下面加上下面两局话,把nfs挂载添加到开机启动
# <file system> <dir> <type> <options> <dump> <pass>
192.168.8.2:/ywd /var/10T-dz nfs defaults 0 0
sudo service nfs-kernel-server restart #重启nfs服务
apt update -y && apt upgrade -y && reboot #更新系统并重启
最后更新系统,后面切记无必要不要更新系统!!!!
四、KVM虚拟机导出、导入
导出之前先关闭所有虚拟机!
导出之前先关闭所有虚拟机!
1、操作方法
A、KVM虚拟机导出
xml文件保存在/etc/libvirt/qemu/
qcow2文件保存在/var/lib/libvirt/images/
方法一:可以使用FinalShell,使用python脚本kvm-bf-ql.py
方法二:远程连接8.2主服务器,把/qemu/和/images/两个文件夹复制到开通了SMB共享的文件夹里。
方法三:远程连接8.2主服务器使用FreeFileSync工具,这个可以增量备份,
KVM-bf-zl.zipFreeFileSync配置可以导入使用
最好每个虚拟机单独建一个文件夹,分别保存对应的xml、qcow2文件。
B、KVM虚拟机导入
导入先删除原来虚拟主机对应的xml、qcow2文件或直接删除。
其他所有的虚拟机全部开机,然后会抢IP导致IP错乱。
把对应的xml、qcow2文件分别导入/etc/libvirt/qemu/和var/lib/libvirt/images/文件夹里面
cd /etc/libvirt/qemu #定位到保存xml文件的文件夹
virsh define linuxmint-157.xml #导入虚拟机配置
virsh start linuxmint-157 #启动虚拟机
这个导入、导出还算方便,就是qcow2文件有点大
2、案例
目前个下面有6个虚拟机
xml文件保存在/etc/libvirt/qemu/
qcow2文件保存在/var/lib/libvirt/images/,这里有个小问题,很多debian都基于同一个克隆出来的,名字有没修改,结果不好一一对应。qcow2文件名不能修改,会牵扯快照及设置问题。
qcow2与xml的对应关系
debian10-clone-1.qcow2对应debian11-CS-158.xml
debian10-clone-clone.qcow2对应CF-YX-145-CN2.xml
debian10-clone.qcow2对应CF-YX-156.xml
debian10.qcow2对应debian11-S.xml
linuxmint-.qcow2对应linuxmint-157.xml
win10.qcow2对应win10-175.xml
局域网下FinalShell的下载速度有点捉急
要提高速度还有一个好办法,远程访问8.2,进入文件夹把相关的qcow2文件复制到10T硬盘(速度可以到200M/s),到了10T硬盘可以通过SMB复制到本地电脑,也可以直接上传到云盘。
正式导入前先删除原来的虚拟机
定位到保存xml的文件夹,使用命令导入