Deprecated: Creation of dynamic property Typecho\Widget\Request::$feed is deprecated in /www/wwwroot/blog.iletter.top/var/Widget/Archive.php on line 246
白荼日记 - linux https://blog.iletter.top/tag/linux/ pycharm远程开发 https://blog.iletter.top/archives/501/ 2025-11-06T22:18:00+08:00 首先创建新的ssh项目填写相关参数这里需要上传linux的安装包,因为下载的话一直失败无法下载成功,我们选择上传和上传路径pycharm地址:https://www.jetbrains.com/zh-cn/pycharm/download/other.html破解文件下载地址:ja-netfilter-2025.3.0.zip弄完之后,会让你填写远程pycharm的验证,在这之前退出一下我们需要填写编辑一下文件vim pycharm64.vmoptions里面填写关于破解文件的相关信息-Xms256m -Xmx2048m -XX:ReservedCodeCacheSize=512m -XX:+UseG1GC -XX:SoftRefLRUPolicyMSPerMB=50 -XX:CICompilerCount=2 -XX:+HeapDumpOnOutOfMemoryError -XX:-OmitStackTraceInFastThrow -XX:+IgnoreUnrecognizedVMOptions -XX:CompileCommand=exclude,com/intellij/openapi/vfs/impl/FilePartNodeRoot,trieDescend -ea -Dsun.io.useCanonCaches=false -Dsun.java2d.metal=true -Djbr.catch.SIGABRT=true -Djdk.http.auth.tunneling.disabledSchemes="" -Djdk.attach.allowAttachSelf=true -Djdk.module.illegalAccess.silent=true -Dkotlinx.coroutines.debug=off -Dide.show.tips.on.startup.default.value=false -Dsun.tools.attach.tmp.only=true -Dawt.lock.fair=true -javaagent:/root/ja-netfilter/ja-netfilter.jar --add-opens=java.base/jdk.internal.org.objectweb.asm=ALL-UNNAMED --add-opens=java.base/jdk.internal.org.objectweb.asm.tree=ALL-UNNAMED 之后再次打开pycharm远程,填写激活码6ZLWI4KV9Y-eyJsaWNlbnNlSWQiOiI2WkxXSTRLVjlZIiwibGljZW5zZWVOYW1lIjoi5rC45LmF5r+A5rS7IHd3d8K3YWppaHVvwrdjb20iLCJsaWNlbnNlZVR5cGUiOiJQRVJTT05BTCIsImFzc2lnbmVlTmFtZSI6IiIsImFzc2lnbmVlRW1haWwiOiIiLCJsaWNlbnNlUmVzdHJpY3Rpb24iOiIiLCJjaGVja0NvbmN1cnJlbnRVc2UiOmZhbHNlLCJwcm9kdWN0cyI6W3siY29kZSI6IkdPIiwicGFpZFVwVG8iOiIyMDI1LTExLTIzIiwiZXh0ZW5kZWQiOmZhbHNlfSx7ImNvZGUiOiJSUzAiLCJwYWlkVXBUbyI6IjIwMjUtMTEtMjMiLCJleHRlbmRlZCI6ZmFsc2V9LHsiY29kZSI6IkRNIiwicGFpZFVwVG8iOiIyMDI1LTExLTIzIiwiZXh0ZW5kZWQiOmZhbHNlfSx7ImNvZGUiOiJDTCIsInBhaWRVcFRvIjoiMjAyNS0xMS0yMyIsImV4dGVuZGVkIjpmYWxzZX0seyJjb2RlIjoiUlNVIiwicGFpZFVwVG8iOiIyMDI1LTExLTIzIiwiZXh0ZW5kZWQiOmZhbHNlfSx7ImNvZGUiOiJSU0MiLCJwYWlkVXBUbyI6IjIwMjUtMTEtMjMiLCJleHRlbmRlZCI6dHJ1ZX0seyJjb2RlIjoiUEMiLCJwYWlkVXBUbyI6IjIwMjUtMTEtMjMiLCJleHRlbmRlZCI6ZmFsc2V9LHsiY29kZSI6IkRTIiwicGFpZFVwVG8iOiIyMDI1LTExLTIzIiwiZXh0ZW5kZWQiOmZhbHNlfSx7ImNvZGUiOiJSRCIsInBhaWRVcFRvIjoiMjAyNS0xMS0yMyIsImV4dGVuZGVkIjpmYWxzZX0seyJjb2RlIjoiUkMiLCJwYWlkVXBUbyI6IjIwMjUtMTEtMjMiLCJleHRlbmRlZCI6ZmFsc2V9LHsiY29kZSI6IlJTRiIsInBhaWRVcFRvIjoiMjAyNS0xMS0yMyIsImV4dGVuZGVkIjp0cnVlfSx7ImNvZGUiOiJEQlIiLCJwYWlkVXBUbyI6IjIwMjUtMTEtMjMiLCJleHRlbmRlZCI6ZmFsc2V9LHsiY29kZSI6IlJNIiwicGFpZFVwVG8iOiIyMDI1LTExLTIzIiwiZXh0ZW5kZWQiOmZhbHNlfSx7ImNvZGUiOiJJSSIsInBhaWRVcFRvIjoiMjAyNS0xMS0yMyIsImV4dGVuZGVkIjpmYWxzZX0seyJjb2RlIjoiRFBOIiwicGFpZFVwVG8iOiIyMDI1LTExLTIzIiwiZXh0ZW5kZWQiOmZhbHNlfSx7ImNvZGUiOiJEQiIsInBhaWRVcFRvIjoiMjAyNS0xMS0yMyIsImV4dGVuZGVkIjpmYWxzZX0seyJjb2RlIjoiREMiLCJwYWlkVXBUbyI6IjIwMjUtMTEtMjMiLCJleHRlbmRlZCI6ZmFsc2V9LHsiY29kZSI6IlBTIiwicGFpZFVwVG8iOiIyMDI1LTExLTIzIiwiZXh0ZW5kZWQiOmZhbHNlfSx7ImNvZGUiOiJSUiIsInBhaWRVcFRvIjoiMjAyNS0xMS0yMyIsImV4dGVuZGVkIjpmYWxzZX0seyJjb2RlIjoiUlNWIiwicGFpZFVwVG8iOiIyMDI1LTExLTIzIiwiZXh0ZW5kZWQiOnRydWV9LHsiY29kZSI6IldTIiwicGFpZFVwVG8iOiIyMDI1LTExLTIzIiwiZXh0ZW5kZWQiOmZhbHNlfSx7ImNvZGUiOiJQU0kiLCJwYWlkVXBUbyI6IjIwMjUtMTEtMjMiLCJleHRlbmRlZCI6dHJ1ZX0seyJjb2RlIjoiUENXTVAiLCJwYWlkVXBUbyI6IjIwMjUtMTEtMjMiLCJleHRlbmRlZCI6dHJ1ZX0seyJjb2RlIjoiQUlMIiwicGFpZFVwVG8iOiIyMDI1LTExLTIzIiwiZXh0ZW5kZWQiOmZhbHNlfSx7ImNvZGUiOiJSUyIsInBhaWRVcFRvIjoiMjAyNS0xMS0yMyIsImV4dGVuZGVkIjp0cnVlfSx7ImNvZGUiOiJQUlIiLCJwYWlkVXBUbyI6IjIwMjUtMTEtMjMiLCJleHRlbmRlZCI6dHJ1ZX0seyJjb2RlIjoiRFAiLCJwYWlkVXBUbyI6IjIwMjUtMTEtMjMiLCJleHRlbmRlZCI6dHJ1ZX0seyJjb2RlIjoiUERCIiwicGFpZFVwVG8iOiIyMDI1LTExLTIzIiwiZXh0ZW5kZWQiOnRydWV9XSwibWV0YWRhdGEiOiIwNDIwMjUxMDI0UFBBTTAwMDAwNUEwMDAwMDBYQyIsImhhc2giOiI3NTkxODgyNy8wOjEzODU1MTE2NSIsImdyYWNlUGVyaW9kRGF5cyI6NywiYXV0b1Byb2xvbmdhdGVkIjpmYWxzZSwiaXNBdXRvUHJvbG9uZ2F0ZWQiOmZhbHNlLCJ0cmlhbCI6ZmFsc2UsImFpQWxsb3dlZCI6dHJ1ZX0=-jEJB+XsDL603fDEvkpWiZmuv+g4j7nLQ2jwzghoDP8KuxfCXLPG6LFK4C00mUzUX23i+T9XB9hAp83icdF+YuVESTTbPPxLQVCzk2uIskO8s/g4BZacTQD5IsHVDjRmv5HWtuakqNVUzbatF+yc0ut58PfrPsnKMrp1yFBQEvw3Ch1gghbm85UsTQ4zW2C05QSQDrLSlQB4M/cZ6OTI22NtPSrfJxyfdUhVEnQQqO6uQqrqa7CX8ZuC+ZKsap4tnaXmHG4hfUlZdO7PTlZfV20n9mtJxZSftqZUgeJzreporG7C2bX1mIDlkAECzkMU5gmJzlUQ6499xz2O2Upx7Wg==-MIIETDCCAjSgAwIBAgIBETANBgkqhkiG9w0BAQsFADAYMRYwFAYDVQQDDA1KZXRQcm9maWxlIENBMB4XDTI0MDkyMDEyMTEyN1oXDTI2MDkyMjEyMTEyN1owHzEdMBsGA1UEAwwUcHJvZDJ5LWZyb20tMjAyNDA5MjAwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC7SH/XcUoMwkDi8JJPzXWWHWFdOZdrP2Dqkz2W8iUi650cwz2vdPEd0tMzosLAj7ifkFEHUyiuEcL//q9d9Op7ZsV23lpPXX8tFMLFwugoQ9D8jDLT/XP9pp/YukWkKF5jpNbaCvsVQkDdYkArBkYvhH3aN4v9BkEsXahfgLLOPe4IG2FDJNf9R4to9V1vt+m2UVJB0zV4a/sVMKUZLgqKmKKKOKoLrE3OjBlZlb+Q0z2N5dsW0hDEVRFGmBUAbHN/mp44MMMvEIFKfoLIGpgic92P2O6uFh75PI7mcultL6yuR48ajErx8CjjQEGOSnoq/8hD+yVE+6GW2gJa2CPvAgMBAAGjgZkwgZYwCQYDVR0TBAIwADAdBgNVHQ4EFgQUb5NERj05GyNerQ/Mjm9XH8HXtLIwSAYDVR0jBEEwP4AUo562SGdCEjZBvW3gubSgUouX8bOhHKQaMBgxFjAUBgNVBAMMDUpldFByb2ZpbGUgQ0GCCQDSbLGDsoN54TATBgNVHSUEDDAKBggrBgEFBQcDATALBgNVHQ8EBAMCBaAwDQYJKoZIhvcNAQELBQADggIBALq6VfVUjmPI3N/w0RYoPGFYUieCfRO0zVvD1VYHDWsN3F9buVsdudhxEsUb8t7qZPkDKTOB6DB+apgt2ZdKwok8S0pwifwLfjHAhO3b+LUQaz/VmKQW8gTOS5kTVcpM0BY7UPF8cRBqxMsdUfm5ejYk93lBRPBAqntznDY+DNc9aXOldFiACyutB1/AIh7ikUYPbpEIPZirPdAahroVvfp2tr4BHgCrk9z0dVi0tk8AHE5t7Vk4OOaQRJzy3lST4Vv6Mc0+0z8lNa+Sc3SVL8CrRtnTAs7YpD4fpI5AFDtchNrgFalX+BZ9GLu4FDsshVI4neqV5Jd5zwWPnwRuKLxsCO/PB6wiBKzdapQBG+P9z74dQ0junol+tqxd7vUV/MFsR3VwVMTndyapIS+fMoe+ZR5g+y44R8C7fXyVE/geg+JXQKvRwS0C5UpnS5FcGk+61b0e4U7pwO20RlwhEFHLSaP61p2TaVGo/TQtT/fWmrtV+HegAv9P3X3Se+xIVtJzQsk8QrB/w52IB3FKiAKl/KRn1egbMIs4uoNAkqNZ9Ih2P1NpiQnONFmkiAgeynJ+0FPykKdJQbV3Mx44jkaHIif4aFReTsYX1WUBNu/QerZRjn4FVSHRaZPSR5Oi82Wz0Nj7IY9ocTpLnXFrqkb/Kt3S6B9s2Kol3Lr1ElYA这一步可能会提示This license xxxx has been suspended可以设置一下代理就可以了 https嵌套http(修改安全策略) https://blog.iletter.top/archives/455/ 2025-08-26T12:19:00+08:00 因为需要用到https嵌套http,但是这怎么可能啊?还好那个http有https的协议,所以我们只需要再nginx上操作升级CSP就行了。也就是内容安全策略。HTTPS页面 (aaa.com) └── HTTP iframe (bbb.com) └── HTTP frame (ccc.com)大概是这种形式的,所以在第一个a网站是我自己写的,所以我就选择了直接使用http替换成https的了然后配置b网站server { listen 80; server_name www.bbb.com; # 强制跳转到 HTTPS return 301 https://$host$request_uri; } # 处理www.bbb.com 的 HTTPS 请求 server { listen 443 ssl; server_name www.bbb.com; # SSL 证书配置(你需要配置自己的证书) ssl_certificate /path/to/your/certificate.crt; ssl_certificate_key /path/to/your/private.key; # 添加安全头 add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always; add_header Content-Security-Policy "upgrade-insecure-requests"; # 代理到后端应用 location / { proxy_pass http://localhost:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } # 特别处理企业查看接口,确保内容中的HTTP链接被替换 location /rotech-xyjq-api/api/enterprise/view { proxy_pass http://localhost:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; # 替换内容中的HTTP链接为HTTPS sub_filter 'http://b-plugin.qixin.com/' 'https://b-plugin.qixin.com/'; sub_filter 'http://b-plugin.qixin.com' 'https://b-plugin.qixin.com'; sub_filter_once off; } }这样就可以再a网站加载c网站的了,可以无限套娃了,前提是每个娃娃都有https这个。 linux mint22.1安装on my zsh https://blog.iletter.top/archives/429/ 2025-08-24T15:42:00+08:00 更新系统并安装必要工具sudo apt update && sudo apt upgrade -y sudo apt install zsh git curl wget -y安装 Oh My Zshsh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"安装 Powerlevel10k 主题git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k配置 Oh My Zsh 使用 Powerlevel10k编辑 ~/.zshrc:vim ~/.zshrc注释掉 ZSH_THEME="robbyrussell"添加 ZSH_THEME="powerlevel10k/powerlevel10k"安装 Nerd Fonts(解决图标乱码)# 下载 wget https://github.com/ryanoasis/nerd-fonts/releases/download/v3.2.1/FiraCode.zip # 解压 unzip FiraCode.zip -d ~/.local/share/fonts/ # 刷新缓存 fc-cache -fv # 删除 rm FiraCode.zip安装插件(自选)Zsh 自动建议(输入历史建议)git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestionsZsh 语法高亮git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting编辑配置文件vim ~/.zshrc文件-代表删除+代表新增- plugins=(git) + plugins=( + git + zsh-autosuggestions + zsh-syntax-highlighting + )配置完毕后输入exec zsh 重启终端持久化配置which zsh 查看安装位置2. 永久修改默认 Shell(需要输入密码)chsh -s $(which zsh)安装后重启电脑即可如果想要重新配置可以输入即可p10k configure linux mint命令窗口设置代理 https://blog.iletter.top/archives/428/ 2025-08-24T00:18:17+08:00 临时设置设置代理export http_proxy="http://127.0.0.1:20171"export https_proxy="http://127.0.0.1:20171"取消设置代理unset http_proxy https_proxy此方式不支持socket5代理proxychains前情提要:因为要按照某个软件,但是有网络监测机制,一直报错,所以就需要通过代理来运行。安装:sudo apt updatesudo apt install proxychains -y配置:sudo vim /etc/proxychains.conf在末尾添加socks5 127.0.0.1 20170然后就可以使用了。重要知识点:ping 不能被代理!ping 使用的是 ICMP 协议,不是 TCP/HTTP/SOCKS。proxychains 只能代理 TCP 和 UDP 连接(比如 curl, wget, git, ssh 等)。所以你用 proxychains ping ... 是无效的,而且会报错或被忽略。正确测试 proxychains 是否工作的命令是使用 curl 或 wget(base) dellevin@dellevin-G3-3579:~/Desktop/WhiteSur-gtk-theme$ proxychains curl -v google.com ProxyChains-3.1 (http://proxychains.sf.net) |DNS-request| google.com |S-chain|-<>-127.0.0.1:20170-<><>-4.2.2.2:53-<><>-OK |DNS-response| google.com is 142.250.189.238 * Host google.com:80 was resolved. * IPv6: (none) * IPv4: 142.250.189.238 * Trying 142.250.189.238:80... |S-chain|-<>-127.0.0.1:20170-<><>-142.250.189.238:80-<><>-OK * Connected to google.com (142.250.189.238) port 80 * using HTTP/1.x > GET / HTTP/1.1 > Host: google.com > User-Agent: curl/8.12.1 > Accept: */* > * Request completely sent off < HTTP/1.1 301 Moved Permanently < Location: http://www.google.com/ < Content-Type: text/html; charset=UTF-8 < Content-Security-Policy-Report-Only: object-src 'none';base-uri 'self';script-src 'nonce-p85NwNurE8Yc0yBkcHZmUQ' 'strict-dynamic' 'report-sample' 'unsafe-eval' 'unsafe-inline' https: http:;report-uri https://csp.withgoogle.com/csp/gws/other-hp < Date: Sat, 23 Aug 2025 05:50:49 GMT < Expires: Mon, 22 Sep 2025 05:50:49 GMT < Cache-Control: public, max-age=2592000 < Server: gws < Content-Length: 219 < X-XSS-Protection: 0 < X-Frame-Options: SAMEORIGIN < <HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8"> <TITLE>301 Moved</TITLE></HEAD><BODY> <H1>301 Moved</H1> The document has moved <A HREF="http://www.google.com/">here</A>. </BODY></HTML> * Connection #0 to host google.com left intact这样说明我已经可以正常访问了 ubuntu server设置samba共享服务 https://blog.iletter.top/archives/399/ 2025-07-25T13:17:00+08:00 在 Ubuntu Server 上搭建 Samba 文件共享服务 是一个非常常见的需求,适用于局域网内的文件共享、打印机共享等场景。下面是一个完整教程 ,帮助你快速搭建一个基础的 Samba 服务,并允许其他用户访问你的共享目录。第一步:安装 Sambasudo apt update sudo apt install samba -y安装完成后,Samba 会自动启动。第二步:备份默认配置文件(可选)Samba 的主配置文件位于:/etc/samba/smb.conf建议先做一个备份:sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak第三步:添加共享目录配置你可以选择共享一个现有目录,比如 /home/dellevin/shared。1. 创建共享目录(如果还没有)mkdir -p /home/dellevin/shared2. 编辑 Samba 配置文件sudo nano /etc/samba/smb.conf在文件末尾添加如下内容(以共享 shared 目录为例):[Shared] comment = Shared Folder path = /home/dellevin/shared browseable = yes read only = no writable = yes valid users = dellevin[Shared]:共享名称(客户端看到的名字)path:要共享的目录路径read only = no 和 writable = yes 表示允许写入valid users:允许访问该共享的用户第四步:设置 Samba 用户密码你需要为允许访问的用户设置 Samba 密码(即使该用户已存在 Linux 系统中):sudo smbpasswd -a dellevin系统会提示你输入并确认 Samba 密码。⚠️ 注意:这个密码可以和系统密码不同。第五步:重启 Samba 服务sudo systemctl restart smbd第六步:设置开机自启sudo systemctl enable smbd第七步:检查是否运行正常systemctl status smbd确保服务状态是 active (running)。第八步:从 Windows 或 Linux 客户端访问Windows 访问方式:打开“此电脑”或资源管理器,在地址栏输入:\\你的Ubuntu服务器IP地址例如:\\192.168.1.100然后输入用户名 dellevin 和你在 smbpasswd 中设置的密码即可访问。Linux 访问方式(如 Ubuntu 桌面):打开文件管理器(如 Nautilus),按下 Ctrl + L 输入:smb://192.168.1.100或者使用命令行挂载:sudo mount -t cifs //192.168.1.100/Shared /mnt/shared -o user=dellevin可选:配置防火墙(UFW)如果你启用了防火墙 UFW,需要开放 Samba 所需端口:sudo ufw allow 'Samba'总结:常用命令一览表操作命令安装 Sambasudo apt install samba配置文件位置/etc/samba/smb.conf添加共享目录在配置文件中添加[ShareName]块设置 Samba 用户密码sudo smbpasswd -a username重启 Sambasudo systemctl restart smbd开机自启sudo systemctl enable smbd查看服务状态systemctl status smbd客户端访问地址\\IP地址或smb://IP地址 linux注册服务为系统服务并开机自启 https://blog.iletter.top/archives/398/ 2025-07-15T22:22:23+08:00 因为安装了frp穿透服务,每次开启都要手动启动, 所以索性注册为系统服务,并实现开机自启。编写配置文件sudo vim /etc/systemd/system/frp-panel.service[Unit] Description=FRP Panel Service After=network.target [Service] User=root WorkingDirectory=/home/dellevin/frp ExecStart=/home/dellevin/frp/frp-panel client -s 4f448b4a-1c0f-486d-9f42-aed90f288da5 -i admin.c.home-services --api-url http://152.136.153.72:9000 --rpc-url grpc://152.136.153.72:9001 Restart=always RestartSec=10s [Install] WantedBy=multi-user.target说明:User=:运行该服务的用户(这里是 root)WorkingDirectory=:程序运行时的工作目录ExecStart=:要执行的完整命令Restart=always:异常退出后自动重启RestartSec=10s:重启前等待 10 秒重新加载 systemd 配置sudo systemctl daemon-reexec sudo systemctl daemon-reload启用服务开机自启sudo systemctl enable frp-panel.service启动服务(或重启系统测试)sudo systemctl start frp-panel.service查看运行状态:sudo systemctl status frp-panel.service如果显示 active (running),说明服务已成功运行。日志查看方式你可以使用 journalctl 查看服务日志:journalctl -u frp-panel.service -f取消开机自启的命令sudo systemctl disable 服务名称查看当前是否已取消成功你可以运行以下命令查看该服务的状态:systemctl is-enabled frp-panel如果输出是:disabled说明已经成功取消开机启动了 ubuntu-services挂载外置硬盘 https://blog.iletter.top/archives/397/ 2025-07-15T22:20:55+08:00 软件包升级sudo apt upgradelsblk命令用于列出所有可用的存储设备及其分区信息df -h 查看挂载点、文件系统类型、已用空间、可用空间等。root@dellevin-ubuntu:/# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS loop0 7:0 0 63.9M 1 loop /snap/core20/2318 loop1 7:1 0 87M 1 loop /snap/lxd/29351 loop2 7:2 0 38.8M 1 loop /snap/snapd/21759 sda 8:0 0 119.2G 0 disk ├─sda1 8:1 0 1M 0 part ├─sda2 8:2 0 2G 0 part /boot └─sda3 8:3 0 117.2G 0 part └─ubuntu--vg-ubuntu--lv 253:0 0 117.2G 0 lvm / sdb 8:16 0 465.8G 0 disk └─sdb1 8:17 0 465.8G 0 part root@dellevin-ubuntu:/# df -h Filesystem Size Used Avail Use% Mounted on tmpfs 578M 1.2M 577M 1% /run /dev/mapper/ubuntu--vg-ubuntu--lv 115G 7.1G 102G 7% / tmpfs 2.9G 0 2.9G 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock /dev/sda2 2.0G 130M 1.7G 8% /boot tmpfs 578M 4.0K 578M 1% /run/user/1000可以看到sdb并没有挂载sudo mkfs.ext4 /dev/sdb1 将这块硬盘格式化为 ext4 文件系统root@dellevin-ubuntu:/mnt# sudo mkfs.ext4 /dev/sdb1 mke2fs 1.46.5 (30-Dec-2021) /dev/sdb1 contains a ntfs file system labelled '系统' Proceed anyway? (y,N) y Creating filesystem with 122096000 4k blocks and 30531584 inodes Filesystem UUID: 86424462-d372-4894-89b2-3186bb52b237 Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 102400000 Allocating group tables: done Writing inode tables: done Creating journal (262144 blocks): done Writing superblocks and filesystem accounting information: donesudo mount /dev/sdb1 /mnt/500Data 创建挂载点并挂载硬盘root@dellevin-ubuntu:/mnt# mkdir 500Data root@dellevin-ubuntu:/mnt# ls 500Data root@dellevin-ubuntu:/mnt# sudo mount /dev/sdb1 /mnt/500Data root@dellevin-ubuntu:/mnt# df -h | grep sdb1 /dev/sdb1 458G 28K 435G 1% /mnt/500Data root@dellevin-ubuntu:/mnt# df -h Filesystem Size Used Avail Use% Mounted on tmpfs 578M 1.2M 577M 1% /run /dev/mapper/ubuntu--vg-ubuntu--lv 115G 7.1G 102G 7% / tmpfs 2.9G 0 2.9G 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock /dev/sda2 2.0G 130M 1.7G 8% /boot tmpfs 578M 4.0K 578M 1% /run/user/1000 /dev/sdb1 458G 28K 435G 1% /mnt/500Data设置开机自动挂载sudo blkid | grep /dev/sdb1 查看硬盘UUIDroot@dellevin-ubuntu:/mnt/500Data# sudo blkid | grep /dev/sdb1 /dev/sdb1: UUID="86424462-d372-4894-89b2-3186bb52b237" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="1ea79eea-01"vim /etc/fstab 然后编辑 fstab 添加一行:UUID=86424462-d372-4894-89b2-3186bb52b237 /mnt/500Data ext4 defaults 0 2 Centos7设置swap内存大小 https://blog.iletter.top/archives/349/ 2024-12-27T11:03:02+08:00 创建和配置 2GB Swap 文件​创建一个空文件作为交换空间​: 使用 dd 命令来创建一个指定大小的文件。我们将创建一个 2GB 的文件 /swapfile。sudo dd if=/dev/zero of=/swapfile bs=1M count=2048​设置适当的权限​: 设置正确的文件权限以确保安全,防止非授权访问。sudo chmod 600 /swapfile​初始化交换文件​: 使用 mkswap 命令来设置这个文件为交换空间。sudo mkswap /swapfile​激活交换文件​: 使用 swapon 命令来启用新的交换空间。sudo swapon /swapfile​验证交换空间​: 再次使用 free -h 或者 swapon --show 来确认交换空间已经正确添加。free -h # 或者 sudo swapon --show​使更改永久生效​: 编辑 /etc/fstab 文件,添加一行以确保在系统重启后仍然可以使用新创建的交换空间。 打开 /etc/fstab 文件:sudo vi /etc/fstab在文件末尾添加如下行:/swapfile none swap sw 0 0​调整 Swappiness 参数(可选)​: 如果你想要调整内核对 swap 的使用倾向,可以通过编辑 /etc/sysctl.conf 文件来设置 vm.swappiness 参数。例如,将其设置为 10 可能是一个合理的选择。echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf sudo sysctl -p完成以上步骤后,系统应该已经有了 2GB 的 swap 空间,并且它会在每次启动时自动加载。 Centos7部署maven环境 https://blog.iletter.top/archives/348/ 2024-12-27T11:01:51+08:00 1、maven 官网下载安装包maven 官网地址:https://maven.apache.org/download.cgi下载完成后,上传到 linux2、安装 maven创建 maven 文件夹mkdir -p /usr/local/maven解压 maven 安装包到 maven 文件夹tar -zxvf apache-maven-3.8.5-bin.tar.gz -C /usr/local/maven进入maven 目录cd /usr/local/maven/apache-maven-3.8.5/进入 conf 目录cd conf/创建 maven 资源库目录mkdir -p /m2/respository编辑 settings.xml 文件vim settings.xml设置指定的存放位置为<localRepository>/m2/repository</localRepository>更改镜像源<mirror> <id>alimaven</id> <name>aliyun maven</name> <url><http://maven.aliyun.com/nexus/content/groups/public/></url> <mirrorOf>central</mirrorOf> </mirror>3、添加环境变量vim /etc/profile添加 maven 环境变量内容MAVEN_HOME=/usr/local/maven/apache-maven-3.8.5 PATH=$MAVEN_HOME/bin:$PATH export MAVEN_HOME PATH重新加载配置文件source /etc/profile测试查看版本mvn -version Centos7部署redis https://blog.iletter.top/archives/347/ 2024-12-27T11:01:21+08:00 下载Redis进入官网找到下载地址 https://redis.io/download右键Download按钮,选择复制链接。进入到Xshell控制台(默认当前是root根目录),输入wget 将上面复制的下载链接粘贴上,如下命令:wget <http://download.redis.io/releases/redis-5.0.7.tar.gz>下载完成后进行解压tar -zvxf redis-5.0.7.tar.gz移动redis目录一般都会将redis目录放置到 /usr/local/redis目录,所以这里输入下面命令将目前在/root目录下的redis-5.0.7文件夹更改目录,同时更改文件夹名称为redis。mv /root/redis-5.0.7 /usr/local/redis编译cd到/usr/local/redis目录,输入命令make执行编译命令,接下来控制台会输出各种编译过程中输出的内容。make安装输入以下命令make PREFIX=/usr/local/redis install这里多了一个关键字 PREFIX= 这个关键字的作用是编译的时候用于指定程序存放的路径。比如我们现在就是指定了redis必须存放在/usr/local/redis目录。假设不添加该关键字Linux会将可执行文件存放在/usr/local/bin目录,库文件会存放在/usr/local/lib目录。配置文件会存放在/usr/local/etc目录。其他的资源文件会存放在usr/local/share目录。这里指定号目录也方便后续的卸载,后续直接rm -rf /usr/local/redis 即可删除redis。启动redis根据上面的操作已经将redis安装完成了。在目录/usr/local/redis 输入下面命令启动redis后台启动(在配置文件设置了daemonize属性为yes则跟后台进程方式启动其实一样)./bin/redis-server& ./redis.conf显示启动方式./bin/redis-server ./redis.conf