一、安装debian系统:

1、下载ios系统文件
2、打开ultraiso->菜单->文件->打开系统.ios镜像
3、启动->写入硬盘镜像->(勾选刻录校检)->写入

注意:
	不是“制作硬盘镜像” 这个是把当前盘做成镜像
	勾选刻录校检 , 不勾选有时会有错,不太稳
	注意驱动器: 到时在bios也就是显示这个
bios 设置:
		Boot->Option #1 //这些就是硬盘
		Boot->Option #2 


1、debian系统:
	https://www.debian.org/CD/netinst/index.zh-tw.html

更新源
	apt-get install apt-transport-https ca-certificates #安装https源,之后再执行
	apt-get update	 #更新索引
	#sudo apt upgrade #升级

2、安装SSH服务‌
sudo apt install openssh-server # 安装SSH服务‌
sudo systemctl start ssh && sudo systemctl enable ssh # 启动并设置开机自启‌

3、
debian SSH服务器拒绝了密码。请再试一次。SSH服务器拒绝了密码。请再试一次。
确保PasswordAuthentication和PermitRootLogin设置为yes(若需root登录)
	vim /etc/ssh/sshd_config
	PasswordAuthentication yes # 允许密码认证‌
	PermitRootLogin yes # 允许root登录(非生产环境)
	HostKeyAlgorithms +ssh-rsa # 在文件末尾添加以下内容 支持: WinSCP
	sudo systemctl restart sshd
 报错: rm -rf /etc/ssh/.sshd_config.swp


Port 65535 # 默认端口为22
PermitRootLogin yes # 如需root登录(生产环境慎用)
PasswordAuthentication yes # 允许密码登录‌

debian Vim无法使用鼠标右键复制 解决方法	
	Debian 10 		: vim /usr/share/vim/vim81/defaults.vim
	debian-12.11.0 : vim /usr/share/vim/vim90/defaults.vim
	
	转至第 79 行,找到:
		if has('mouse')
		 set mouse=a
		endif
	
	改成:
		if has('mouse')
		 set mouse-=a # =号前面加个 - 即可
		endif

linux关关盖的时候,它也在运行,要怎么设置才行?
	vim /etc/systemd/logind.conf
	
	HandleLidSwitchExternalPower=ignore # 插电时合盖不动作
	HandleLidSwitch=ignore # 合盖时不执行任何操作
		可选值说明:
			ignore:完全忽略合盖动作
			lock:仅锁屏不休眠
			suspend:默认休眠(需避免)‌12
	
	systemctl restart systemd-logind #保存并重启服务	
	chmod 644 /etc/systemd/logind.conf # 修改后恢复权限 若文件为只读,需先赋权	
	systemctl restart systemd-logind 

快速追加别名(支持ll命令):
	echo "alias ll='ls -l'" >> ~/.bashrc && source ~/.bashrc

debian查看当前服务器温度:
	apt install lm-sensors
	sensors-detect
	sensors
	watch -n 1 sensors #每秒刷新一次数据‌	
	
	root@wllsys:~# sensors
		acpitz-acpi-0
		Adapter: ACPI interface
		temp1: +27.8 C (crit = +110.0 C)						#表示主板或环境温度传感器检测到的当前温度,临界温度为 +110.0°C , (27.8 C 此值通常反映机箱内部环境温度,远低于临界值,散热正常)
		
		coretemp-isa-0000
		Adapter: ISA adapter
		Package id 0: +41.0 C (high = +105.0 C, crit = +105.0 C)		#表示 CPU 封装(整体)温度,各核心温度均为 +41.0°C 。 高温阈值‌:+105°C(触发降频保护)临界温度‌:+105°C(可能触发强制关机)‌,(当前 41°C 属于安全范围,无需担心)
		Core 0: +41.0 C (high = +105.0 C, crit = +105.0 C)
		Core 1: +41.0 C (high = +105.0 C, crit = +105.0 C)
		Core 2: +41.0 C (high = +105.0 C, crit = +105.0 C)
		Core 3: +41.0 C (high = +105.0 C, crit = +105.0 C)
		
		BAT0-acpi-0
		Adapter: ACPI interface
		in0: 7.38 V 											#电池当前输出电压为 7.38 伏特
		curr1: 1.14 A 											#电池当前输出电流为 1.14 安培(A)‌, (结合电压与电流可估算实时功耗)
		
		
		电池当前输出电压为 7.38 伏特, 电池当前输出电流为 1.14 安培(A)‌ 结合电压与电流可估算实时功耗:
			给定值:
				电压V = 7.38 V
				电流I = 1.14 A
			
			计算功耗:
				P = 7.38 × 1.14
			
			计算这个值:
				7.38 × 1.14 = ?
				首先,7.38 × 1 = 7.38
				然后,7.38 × 0.14 = 7.38 × 0.1 = 0.738, 7.38 × 0.04 = 0.2952, 所以0.738 + 0.2952 = 1.0332
				因此,P = 7.38 + 1.0332 = 8.4132 W
		
		
		总结与建议:

			‌温度状态正常‌:
				CPU 温度(41°C)远低于临界值,散热良好。
				环境温度(27.8°C)在安全范围内。
				
			‌电池参数解读‌:
				若为笔记本,7.38V 可能是单节锂电池(标称 7.4V),电量充足⚡️。
			
		提示‌:
			若温度接近 high(如 >90°C),需检查散热器或风扇是否积灰。
			电流值 1.14A 若持续偏高,可能预示高负载运行,可结合 top 命令查看进程资源占用‌

二、检查环境:

查看当前操作系统是ubuntu还是centos
	1、执行: lsb_release -a
	2、命令: cat /etc/redhat-release
	3、命令: cat /etc/issue

查看当前操作系统cpu信息
 cat /proc/cpuinfo 
 lscpu #这个是更好
 
查看内存:
	[root@localhost ~]# free -h
				 total used free shared buff/cache available
	Mem: 125G 994M 124G 10M 302M 124G
	Swap: 4.0G 0B 4.0G

查看硬盘:
	df -h
	lsblk -f
	lsblk 这个更好
	
	[root@localhost ~]# lsblk
	NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
	sda 8:0 0 3.7T 0 disk 
	├─sda1 8:1 0 1M 0 part 
	├─sda2 8:2 0 1G 0 part /boot
	└─sda3 8:3 0 3.7T 0 part 
	 ├─centos-root 253:0 0 50G 0 lvm /
	 ├─centos-swap 253:1 0 4G 0 lvm [SWAP]
	 └─centos-home 253:2 0 3.6T 0 lvm /home
	sdb 8:16 0 3.7T 0 disk 

禁用多余的用户:	
 cat /etc/passwd	
	在Linux中,可以使用usermod命令来禁用或启用用户。
	
	要禁用用户,需要使用-L选项并指定要禁用的用户名。下面是示例命令: 	 usermod -L username
	启用用用户,-U 参数表示解锁用户的账户。启用用户后,该用户可以登录系统: usermod -U username

复制
	cp -rf /usr/local/servers/web/nginx.conf /usr/local/servers/nginx19/conf/nginx.conf
	cp -Rp hyperf hyperf_back_3
	scp -o "StrictHostKeyChecking no" -r web@40.73.71.100:/usr/local/servers/down /usr/local/servers/down //拷贝 服务器对拷贝 复制	
	
	scp -r -o port=62210 "StrictHostKeyChecking no" -r web@www.diyyq.com:/home/data/docker/web/www/wll/public/images/ ./ ##linux scp 非22端口,scp 、ssh非22端口的服务器方法 //拷贝 服务器对拷贝 复制		

大小
	du -sh down/*
	df -h
	echo "">pic_cn.log
	du -sh ./* | sort -h 从小到大
	du -sh ./* | sort -hr 从大到小

	du -sh ./* | sort -hr | grep '4.0K'
	du -sh ./* | sort -hr | grep '4.0K' | awk '{print $2}' | xargs rm -rf #删除4.0K的文件


安全设置:
	1.关闭邮箱服务占用端口。
	systemctl stop postfix 	//停止25端口邮箱服务
	systemctl disable postfix //关闭邮箱服务自动启动
	//systemctl enable postfix //开启邮箱服务自动启动

rm ~/.bash_history 彻底 清除历史记录,要不到时有关机命令错误操作

三、ip设置:

vim /etc/network/interfaces

有线:
	# 引用额外配置文件(可选)
	source /etc/network/interfaces.d/*
	
	# 回环接口(必须保留)
	auto lo
	iface lo inet loopback
	
	# 网络接口配置(根据实际网卡名称修改)
	auto enp8s0 #启动时自动启动该网卡
	iface enp8s0 inet static #static静态ip,dhcp动态ip
		address 192.168.5.2/24
		netmask 255.255.255.0
		gateway 192.168.5.1
		
		dns-nameservers 114.114.114.114 8.8.8.8 # 在这里配置 DNS 是更现代、持久的方法
		#dns-search your-domain.com # (可选) 域名搜索路径
	
	# 允许热插拔(可选)
	allow-hotplug enp8s0 # 允许热插拔 - 告诉系统在检测到该网卡接入时启动它
	

无线:	
	# 引用额外配置文件(可选)
	source /etc/network/interfaces.d/*
	
	# 回环接口(必须保留)
	auto lo
	iface lo inet loopback
	
	# 网络接口配置(根据实际网卡名称修改)
	allow-hotplug wlp1s0
	iface wlp1s0 inet dhcp
		wpa-ssid 18718481877
		wpa-psk 123456

/etc/init.d/networking restart #重启网络服务

四、 新建用户:

# 切换到 root 用户(你已经是 root 了)
# 直接使用 apt 安装 sudo
apt update
apt install sudo


# 如果有错误,可能需要先修复源列表
# 编辑 /etc/apt/sources.list 文件
vim /etc/apt/sources.list

# 然后再次安装 sudo
apt install sudo

#验证安装
sudo --version

## 创建新用户并添加到 sudo 组如:adduser web --ingroup sudo 或:
#adduser web
#usermod -aG sudo web

必须新建一个叫web的账号,并且路径必须为:/home/data/
cat /etc/passwd 看所有系统用户信息	

[root@localhost ~]# cat /etc/passwd
	root:x:0:0:root:/root:/bin/bash
	bin:x:1:1:bin:/bin:/sbin/nologin
	daemon:x:2:2:daemon:/sbin:/sbin/nologin
	adm:x:3:4:adm:/var/adm:/sbin/nologin
	lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
	sync:x:5:0:sync:/sbin:/bin/sync
	shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
	halt:x:7:0:halt:/sbin:/sbin/halt
	mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
	operator:x:11:0:operator:/root:/sbin/nologin
	games:x:12:100:games:/usr/games:/sbin/nologin
	ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
	nobody:x:99:99:Nobody:/:/sbin/nologin
	systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
	dbus:x:81:81:System message bus:/:/sbin/nologin
	polkitd:x:999:998:User for polkitd:/:/sbin/nologin
	sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
	postfix:x:89:89::/var/spool/postfix:/sbin/nologin
	chrony:x:998:996::/var/lib/chrony:/sbin/nologin

useradd -d /home/data/ web 注意此目录不能是已存在的目录 更改目录命令: usermod -d /home/data/ web 报错: usermod: user web is currently used by process 14171 那么退出当前web用户, kill -9 14171 再次执行:usermod -d /home/data/ web 就ok了
passwd web #设置web用户的密码	

cat /etc/passwd 发现用户不用修改: 
	usermod -u 1002 weililong			#修改用户UID
	groupmod -g 1002 weililong			#修改用户GID
	
	usermod -u 1000 web
	groupmod -g 1000 web

//cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime //更新时间, 填: yes
//date -R # 查看当前时间

添加 sudo 权限	
	vim /etc/sudoers 	
	查: root ALL=(ALL) ALL	
	加: web ALL=(ALL) ALL	
	wq! 强行保存

五、 挂载硬盘(可选) 当空间不够,需要提前规划挂载:

挂载:
	[web@localhost home]$ lsblk
		NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
		sda 8:0 0 3.7T 0 disk 
		├─sda1 8:1 0 1M 0 part 
		├─sda2 8:2 0 1G 0 part /boot
		└─sda3 8:3 0 3.7T 0 part 
		 ├─centos-root 253:0 0 50G 0 lvm /
		 ├─centos-swap 253:1 0 4G 0 lvm [SWAP]
		 └─centos-home 253:2 0 3.6T 0 lvm /home
		sdb 8:16 0 3.7T 0 disk 
		
	1、挂载
		sudo mkfs -t ext4 /dev/sdb 				#必须先执行成ext4格式 #备注 sdb都盘 都是存在在/dev 下面的 
		sudo mkfs.xfs -f -n ftype=1 /dev/sdb 	#可以改成xfs格式	
		
		mkdir -p /home/data/docker/web					
		sudo mount /dev/sdb /home/data/docker/web 	#临时挂载到 测试上面的格式化好的盘(#直接格式化成 xfs格式) sudo umount /dev/sdb 取消挂载
		df -h 										#查看挂载	
		
	2、开机自动挂载			
		tee /etc/systemd/system/add_disk.service > /dev/null <<'EOF'
		[Unit]
		Description=FRP Client Service
		After=network-online.target
		Requires=network-online.target
		
		[Service]
		Type=simple
		User=root
		# 直接调用 add_disk 可执行文件(不再通过脚本)
		ExecStart= mount /dev/sdb /home/data/docker/web
		Restart=on-failure
		RestartSec=10
		StandardOutput=journal
		StandardError=journal
		SyslogIdentifier=add_disk
		
		[Install]
		WantedBy=multi-user.target
		EOF
			
		# 3、设置正确的权限(无需执行权限)
		chmod 644 /etc/systemd/system/add_disk.service
		chmod u+x /etc/systemd/system/add_disk.service		
		
		# 4、重载并启动
		systemctl daemon-reload
		systemctl enable add_disk.service
		systemctl start add_disk.service
		
		# 5、检查状态和日志
		systemctl status add_disk.service
		journalctl -u add_disk.service -f --since "1 minute ago"	
		
		reboot

六、 docker 环境安装:

docker 环境安装:
	curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
	systemctl enable docker
	
	systemctl start docker					#第一次重启
	systemctl restart docker				#重启,必须是上面启动过的
	
	//如果改过配置
	systemctl daemon-reload
	systemctl restart docker
	
	root@wllsys:~# docker --version
	Docker version 28.3.1, build 38b7060
	
	
	vi /etc/docker/daemon.json	
	{
	
	#因为我没有在debian上安装过gput,所有这里就没有gpu方式,以后有了再开启,这里不能放到 daemon.json	 中, 就算是用#号如下禁用也不行,注意
	#"runtimes": {
	#	"nvidia": {
	#		"path": "nvidia-container-runtime",
	#		"runtimeArgs": []
	#	}
	#},
		 
	"registry-mirrors": [
		"https://docker.hpcloud.cloud",
		"https://docker.m.daocloud.io",
		"https://docker.unsee.tech",
		"https://docker.1panel.live",
		"http://mirrors.ustc.edu.cn",
		"https://docker.chenby.cn",
		"http://mirror.azure.cn",
		"https://dockerpull.org",
		"https://dockerhub.icu",
		"https://hub.rat.dev",
		"https://proxy.1panel.live",
		"https://docker.1panel.top",
		"https://docker.m.daocloud.io",
		"https://docker.1ms.run",
		"https://docker.ketches.cn"
	 ],
	
	 "live-restore": true // 解决 docker push 已经无法推送 unauthorized: authentication required 说明: https://support.huaweicloud.com/deployman_faq/deployman_faq_1095.html
	}	
	

	systemctl daemon-reload 
	systemctl restart docker 	
	
	
	------------------- 其它用法 ------------------- 

	Dockerfile 安装
	
	1、下载Dockerfile 放在一个目录中
	
	2、执行
		docker build -t isk . 注意cd到Dockerfile目录下, 执行,别忘记后面有一个点. 其中 isk 是镜像images名, 可以自定义
	
	
	sudo systemctl start docker		
	sudo systemctl stop docker		
	如果docker启动失败:https://blog.csdn.net/Leon_Jinhai_Sun/article/details/102765506		(出错: 为containerd.io版本太低,当前安装要大于 1.2.2-3的版本才行)
								问题: package docker-ce-3:19.03.2-3.el7.x86_64 requires containerd.io >= 1.2.2-3, but none of the providers can be installed
								- cannot install the best candidate for the job
								- package containerd.io-1.2.2-3.3.el7.x86_64 is excluded
								- package containerd.io-1.2.2-3.el7.x86_64 is excluded
								- package containerd.io-1.2.4-3.1.el7.x86_64 is excluded
								- package containerd.io-1.2.5-3.1.el7.x86_64 is excluded
								- package containerd.io-1.2.6-3.3.el7.x86_64 is excluded
								(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)
	sudo docker ps
	sudo docker rmi -f redis 	加-f 强制删除		
	sudo docker rm : 			删除一个或多个 容器
	sudo docker rmi : 			删除一个或多个 镜像 //首先docker rmi时指定名称,而非image id,然后再执行docker rmi -f image idj即可:
	sudo docker prune:			用来删除不再使用的 docker 对象(一般不过) 					
			
	
	//docker修改端口(docker运行时修改端口)
		//1、之前8080指向80: docker run -p 8080:80 nginx
		//2、改成8081指向80: docker container update --publish-add 8081:80 nginx
		//3、删除8081端口映射:docker container update --publish-rm 8081 容器名或容器id
	
	三、Docker 自定义
	sudo docker ps																												//查看已启动容器
	sudo docker ps -a																											//查看所有容器
	sudo docker images 																											//查看已安装镜像	
	sudo docker pull centos:7 																									//获取最新版的 centos 镜像	,最好不要用centos:latest 这个是不支持ll命令
	
	php安装	
	用镜像生成容器,容器名为php73,--expose 9000 开放一个端口或一组端口(被坑死了这里,这里不象是ningx 是开放映射端口,这里指的是开放内网端口,nginx会通过这个内网端口进行php访问。另一个坑就是php与nginx必须同时共享一个目录:/usr/local/servers/docker/web做为web,要不然他们都是自己的容器里运行,静态的图片与html用的是nignx的容器,php又是用另一个容器,导致两边的文档都要必须保持一样才对正常访问,绝对是个悲剧,这里被坑得也很惨)		 	
	sudo docker run -ti --name php73 -v /usr/local/servers/docker/web:/usr/local/servers/web:rw --expose 9000 php73 			//用此命令时行生成php容器	
																																命令说明:
																																	--name php73 : 将容器命名为 php73	, 9000后的那个php73是php的镜像名(可从网站下载或自己建立镜像)
																																	-v /usr/local/servers/docker/php73:/usr/local/servers/php73 //将主机中项目的目录 php73 挂载到容器的 php73,并设置权限rw(读写)
																																	-v /usr/local/servers/docker/web:/usr/local/servers/web:rw	//设置web路径,这个到时要与ningx、svn等保持一样
																																	--expose 9000								//开放端口,nginx会调用这个端口时行内网访问(因为nginx与php一般都在同一机子并同一个内网)
	sudo docker start php73																										//启动容器
	sudo docker exec -ti php73 /bin/bash																						//以后进入容器shell 
	sudo docker inspect php73 | grep "IPAddress"																					//查看ip
	sudo docker inspect mysql57 查看内网id,mysql用 看:"IPAddress"
	sudo docker inspect nginx16 查看容器内网ip "Gateway": "172.17.0.1" 			这个ip是不会变的	
	netstat -nelp				查看开放的端口
# 直接使用阿里云源安装 http://mirrors.aliyun.com/ubuntu/ https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ 
apt-get install -o Acquire::http::Proxy="http://mirrors.aliyun.com/ubuntu/" libsqlite3-dev

其它:	
	atp 安装python3.12	
	
	方法一:使用 Homebrew(太慢了)
	
		 安装 Homebrew(如果还没有安装):		
			/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
			
			# 添加 Homebrew 到 PATH
			echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"' >> /root/.bashrc
			eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"		
			source ~/.bashrc # 重新加载 bash 配置
		
		 安装 Python 3.12:		
			brew install python@3.12
		
		 验证安装:		
			python3.12 --version
		
		
	方法二:使用 pyenv (推荐,我在用的方式)
			
			# 1、临时替换为阿里云镜像
			export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.aliyun.com/homebrew/homebrew-bottles
			//export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles
			//export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles
				
			# 2、安装 pyenv:		
				brew install pyenv				
			
			# 3、安装 Python 3.12:		
			
				# 直接使用阿里云源安装 http://mirrors.aliyun.com/ubuntu/ https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ 
				apt-get install -o Acquire::http::Proxy="http://mirrors.aliyun.com/ubuntu/" libsqlite3-dev

				
				# 云镜像	(太慢)			
					export PYTHON_BUILD_MIRROR_URL="https://mirrors.cloud.tencent.com/python" # 尝试腾讯云镜像
					pyenv install 3.12.0				
				
					export PYTHON_BUILD_MIRROR_URL="https://npm.taobao.org/mirrors/python" # 或者尝试阿里云镜像
					pyenv install 3.12.0
				
				# 手动下载Python源码(快,我在用)					
					
					# 创建缓存目录
					mkdir -p ~/.pyenv/cache
					
					# 清理可能的缓存
					rm -rf ~/.pyenv/cache/*		
					
					# 进入缓存目录 
					cd ~/.pyenv/cache
					
					# 下载
						//wget https://www.python.org/ftp/python/3.12.0/Python-3.12.0.tar.xz #太慢了
						
						用迅雷下载 然后->	apt install lrzsz #支持上传下载
												
							上传:
								输入 rz 
								
							下载:
								sz config.tar.gz 				
					
					
					# 重新安装
					pyenv install 3.12.0					

		
			设置为全局默认版本:		
				pyenv global 3.12.0		
				
				# 编辑 shell 配置文件
				vim ~/.bashrc 			
				
				#在配置文件末尾添加以下内容:		
				export PYENV_ROOT="$HOME/.pyenv"
				export PATH="$PYENV_ROOT/bin:$PATH"
				eval "$(pyenv init -)"	
				
				#生效	 
				source ~/.bashrc
				python


点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部
{__SCRIPT__}