{"id":367,"date":"2025-11-21T14:22:07","date_gmt":"2025-11-21T06:22:07","guid":{"rendered":"https:\/\/www.liaoxinghui.com\/?p=367"},"modified":"2025-11-21T14:22:08","modified_gmt":"2025-11-21T06:22:08","slug":"%e5%88%b6%e4%bd%9c%e8%99%9a%e6%8b%9f%e6%9c%ba%e6%a8%a1%e7%89%88","status":"publish","type":"post","link":"https:\/\/www.liaoxinghui.com\/?p=367","title":{"rendered":"VMware\u6dfb\u52a0Debian12\u7684\u4e00\u4e2a\u6a21\u677f"},"content":{"rendered":"<p class=\"wp-block-paragraph\">\u516c\u53f8\u9700\u8981\u6dfb\u52a0\u4e00\u4e2adebian\u7684\u6a21\u677f\uff0c\u8bb0\u5f55\u4e00\u4e0b\u5236\u4f5c\u7684\u8fc7\u7a0b\u3002<\/p>\n<p class=\"wp-block-paragraph\"><br><br><strong>\u66f4\u65b0\u7cfb\u7edf\u3001\u5b89\u88c5\u5e38\u7528\u5de5\u5177<\/strong>\uff08\u53ef\u6839\u636e\u9700\u6c42\u6dfb\u52a0\u6216\u51cf\u5c11\uff09<br><\/p>\n<pre class=\"wp-block-code\"><code>sudo apt update\nsudo apt upgrade -y\n\nsudo apt install -y vim wget curl htop net-tools iproute2 \\\n    lsb-release dnsutils sysstat rsyslog sudo tree jq ifstat<\/code><\/pre>\n<p class=\"wp-block-paragraph\"><br><br><strong>\u66f4\u6362 Debian 12 \u56fd\u5185\u6e90\uff08\u6211\u6362\u7684\u662f\u6e05\u534e\u6e90\uff09<\/strong><br><\/p>\n<p class=\"wp-block-paragraph\">\u5148\u5907\u4efd\u6e90\u6587\u4ef6<\/p>\n<pre class=\"wp-block-code\"><code>sudo cp \/etc\/apt\/sources.list \/etc\/apt\/sources.list.bak<\/code><\/pre>\n<p class=\"wp-block-paragraph\">\u66ff\u6362\u5185\u5bb9<\/p>\n<pre class=\"wp-block-code\"><code>sudo tee \/etc\/apt\/sources.list &lt;&lt; &#039;EOF&#039;\ndeb http:\/\/mirrors.tuna.tsinghua.edu.cn\/debian\/ bookworm main contrib non-free non-free-firmware\ndeb http:\/\/mirrors.tuna.tsinghua.edu.cn\/debian\/ bookworm-updates main contrib non-free non-free-firmware\ndeb http:\/\/mirrors.tuna.tsinghua.edu.cn\/debian\/ bookworm-backports main contrib non-free non-free-firmware\ndeb http:\/\/mirrors.tuna.tsinghua.edu.cn\/debian-security bookworm-security main contrib non-free non-free-firmware\nEOF<\/code><\/pre>\n<p class=\"wp-block-paragraph\">\u66f4\u65b0\u4e00\u4e0b<\/p>\n<pre class=\"wp-block-code\"><code>sudo apt update<\/code><\/pre>\n<p class=\"wp-block-paragraph\"><br><br><strong>\u914d\u7f6e\u6b22\u8fce\u4fe1\u606f\uff08\u81ea\u5b9a\u4e49 MOTD\uff09<\/strong><\/p>\n<p class=\"wp-block-paragraph\">Debian \u4f7f\u7528 <strong>pam_motd + \/etc\/update-motd.d\/<\/strong> \u52a8\u6001\u751f\u6210 MOTD\u3002<\/p>\n<p class=\"wp-block-paragraph\">\u53ef\u4ee5\u81ea\u5b9a\u4e49\u4e00\u4e2a\u811a\u672c\u653e\u8fdb\u53bb\u3002<br><\/p>\n<p class=\"wp-block-paragraph\"><br><br><strong>\u521b\u5efa\u81ea\u5df1\u7684 MOTD \u811a\u672c<\/strong>(\u6309\u9700)<\/p>\n<pre class=\"wp-block-code\"><code>sudo vim \/usr\/local\/bin\/custom_motd.sh<\/code><\/pre>\n<p class=\"wp-block-paragraph\">\u5199\u5165\u5185\u5bb9<\/p>\n<pre class=\"wp-block-code\"><code>#!\/bin\/bash\n\n# \u65f6\u95f4\nNOW=$(date &quot;+%Y\u5e74 %m\u6708 %d\u65e5 %A %H:%M:%S %Z&quot;)\n\n# \u767b\u5f55\u7528\u6237\u6570\nLOGIN_USERS=$(who | wc -l)\n\n# \u7cfb\u7edf\u8fd0\u884c\u65f6\u95f4\nUPTIME_INFO=$(uptime -p | sed &#039;s\/up \/\/&#039;)\n\n# \u8d1f\u8f7d\u60c5\u51b5\nLOAD=$(uptime | awk -F&#039;load average:&#039; &#039;{print $2}&#039;)\n\n# \u78c1\u76d8\u5360\u7528\nDISK=$(df -h \/ | awk &#039;NR==2{print $5 &quot; used (&quot; $3 &quot; of &quot; $2 &quot;)&quot;}&#039;)\n\n# \u5185\u5b58\u5360\u7528\nMEM_USED=$(free -h | awk &#039;\/Mem:\/{print $3}&#039;)\nMEM_TOTAL=$(free -h | awk &#039;\/Mem:\/{print $2}&#039;)\n\n# CPU \u5360\u7528\u7387\uff081 \u79d2\u91c7\u6837\uff09\nCPU_IDLE=$(top -bn1 | grep &quot;Cpu(s)&quot; | awk &#039;{print $8}&#039;)\nCPU_USED=$(echo &quot;scale=2; 100-$CPU_IDLE&quot; | bc)\n\n# \u7f51\u7edc\u63a5\u53e3\uff08\u81ea\u52a8\u83b7\u53d6\u4e3b\u7f51\u5361\uff09\nNIC=$(ip route get 8.8.8.8 | grep -oP &#039;dev \\K\\w+&#039;)\n\n# \u7f51\u5361\u6d41\u91cf\uff08\u5f00\u673a\u4ee5\u6765\u7d2f\u8ba1\uff09\nRX=$(cat \/sys\/class\/net\/$NIC\/statistics\/rx_bytes)\nTX=$(cat \/sys\/class\/net\/$NIC\/statistics\/tx_bytes)\n\nRX_H=$(echo &quot;scale=2; $RX\/1024\/1024&quot; | bc)\nTX_H=$(echo &quot;scale=2; $TX\/1024\/1024&quot; | bc)\n\n# IP\u5730\u5740\nIP=$(ip -o -4 addr show $NIC | awk &#039;{print $4}&#039; | cut -d\/ -f1)\n\n# \u9ed8\u8ba4\u7f51\u5173\nGATEWAY=$(ip route | awk &#039;\/default\/ {print $3}&#039;)\n\n# DNS\u670d\u52a1\u5668\nDNS=$(grep -E &#039;^nameserver&#039; \/etc\/resolv.conf | awk &#039;{print $2}&#039; | tr &#039;\\n&#039; &#039;\uff0c&#039;)\n\n# \u8f93\u51fa\u5185\u5bb9\ncat &lt;&lt;EOF\n====== \u6b22\u8fce\u767b\u5f55XXXXX\u670d\u52a1 ======\n\u5f53\u524d\u65f6\u95f4: $NOW\n\u5f53\u524d\u767b\u5f55\u7528\u6237\u6570: $LOGIN_USERS\n\u7cfb\u7edf\u8fd0\u884c\u65f6\u95f4: $UPTIME_INFO\n\u8d1f\u8f7d\u60c5\u51b5:$LOAD\n\u78c1\u76d8\u5360\u7528\uff08\/\uff09: $DISK\n\u5185\u5b58\u5360\u7528: $MEM_USED used \/ $MEM_TOTAL\nCPU \u5360\u7528\u7387: $CPU_USED% used\n\u7f51\u7edc\u63a5\u6536\uff08$NIC\uff09: ${RX_H} MB\n\u7f51\u7edc\u53d1\u9001\uff08$NIC\uff09: ${TX_H} MB\nIP\u5730\u5740\uff08$NIC\uff09: $IP\n\u9ed8\u8ba4\u7f51\u5173: $GATEWAY\nDNS\u670d\u52a1\u5668: $DNS\nEOF<\/code><\/pre>\n<p class=\"wp-block-paragraph\">\u8d4b\u4e88\u6267\u884c\u6743\u9650<\/p>\n<pre class=\"wp-block-code\"><code>sudo vim \/usr\/local\/bin\/custom_motd.sh<\/code><\/pre>\n<p class=\"wp-block-paragraph\"><br><br><strong>\u5728 update-motd \u4e2d\u8c03\u7528<\/strong><br><\/p>\n<pre class=\"wp-block-code\"><code>sudo tee \/etc\/update-motd.d\/00-custom &lt;&lt; &#039;EOF&#039;\n#!\/bin\/sh\n\/usr\/local\/bin\/custom_motd.sh\nEOF\n\nsudo chmod +x \/etc\/update-motd.d\/00-custom<\/code><\/pre>\n<p class=\"wp-block-paragraph\">\u5f04\u597d\u4ee5\u540e\u91cd\u65b0\u767b\u5f55\u5c31\u53ef\u4ee5\u770b\u5230\u6548\u679c\u4e86<\/p>\n<p class=\"wp-block-paragraph\"><br>\u6587\u4ef6\u53e5\u67c4 \u3001 \u8fdb\u7a0b\u6570\u4f18\u5316<\/p>\n<p class=\"wp-block-paragraph\">\u7f16\u8f91\uff1a<\/p>\n<pre class=\"wp-block-code\"><code>sudo vim \/etc\/security\/limits.conf\n<\/code><\/pre>\n<pre class=\"wp-block-code\"><code>\u5c3e\u90e8\u6dfb\u52a0:\n* soft nofile 1048576\n* hard nofile 1048576\n* soft nproc 655350\n* hard nproc 655350\nroot soft nofile 1048576\nroot hard nofile 1048576<\/code><\/pre>\n<p class=\"wp-block-paragraph\"><br><br><strong>systemd \u9ed8\u8ba4\u9650\u5236<\/strong><br><br>systemd \u4f1a\u8986\u76d6 limits.conf\uff0c\u56e0\u6b64\u9700\u8981\u8bbe\u7f6e\uff1a<\/p>\n<pre class=\"wp-block-code\"><code>sudo mkdir -p \/etc\/systemd\/system.conf.d\nsudo tee \/etc\/systemd\/system.conf.d\/99-limits.conf &lt;&lt;EOF\n[Manager]\nDefaultLimitNOFILE=1048576\nDefaultLimitNPROC=655350\nEOF<\/code><\/pre>\n<p class=\"wp-block-paragraph\"><br>\u91cd\u542f systemd \u7ec4\u4ef6\uff08\u65e0\u9700 reboot\uff09\uff1a<\/p>\n<pre class=\"wp-block-code\"><code>sudo systemctl daemon-reexec<\/code><\/pre>\n<p class=\"wp-block-paragraph\"><br>\u68c0\u67e5\u662f\u5426\u751f\u6548\uff1a<\/p>\n<pre class=\"wp-block-code\"><code>ulimit -n\nulimit -u<\/code><\/pre>\n<p class=\"wp-block-paragraph\"><br><br><strong>\u7f51\u7edc \u3001 \u5185\u6838\u4f18\u5316\uff08sysctl.conf\uff09<\/strong><br><\/p>\n<p class=\"wp-block-paragraph\"><br>\u9002\u7528\u4e8e\u9ad8\u5e76\u53d1\u3001VOIP\u3001\u4ee3\u7406\u3001API\u3001Nginx\u7b49\u5927\u91cf TCP \u8fde\u63a5\u7b49\u573a\u666f\u3002<\/p>\n<p class=\"wp-block-paragraph\">\u7f16\u8f91\uff1a<\/p>\n<pre class=\"wp-block-code\"><code>sudo vim \/etc\/sysctl.conf<\/code><\/pre>\n<p class=\"wp-block-paragraph\"><br>\u6dfb\u52a0\u4ee5\u4e0b\u7a33\u5b9a\u53c2\u6570\uff1a<\/p>\n<pre class=\"wp-block-code\"><code>###############################\n# TCP \u53c2\u6570\u4f18\u5316\uff08\u9002\u5408\u670d\u52a1\u5668\uff09\n###############################\n\n# \u6587\u4ef6\u53e5\u67c4\nfs.file-max = 2097152\n\n# \u7aef\u53e3\u8303\u56f4\nnet.ipv4.ip_local_port_range = 10000 65000\n\n# TIME_WAIT \u4f18\u5316\nnet.ipv4.tcp_tw_reuse = 1\nnet.ipv4.tcp_fin_timeout = 15\n\n# SYN \u6d2a\u6c34\u4fdd\u62a4\nnet.ipv4.tcp_syncookies = 1\n\n# SYN backlog \u961f\u5217\nnet.ipv4.tcp_max_syn_backlog = 8192\n\n# TIME_WAIT bucket \u6570\nnet.ipv4.tcp_max_tw_buckets = 5000000\n\n###############################\n# Socket \u4f18\u5316\n###############################\nnet.core.somaxconn = 8192\nnet.core.netdev_max_backlog = 32768\n\n###############################\n# \u5185\u5b58\u63a7\u5236\n###############################\nnet.ipv4.tcp_rmem = 4096 87380 8388608\nnet.ipv4.tcp_wmem = 4096 65536 8388608\nnet.core.rmem_max = 8388608\nnet.core.wmem_max = 8388608\n\n###############################\n# \u4fdd\u6301\u8fde\u63a5\u4f18\u5316\n###############################\nnet.ipv4.tcp_keepalive_time = 600\nnet.ipv4.tcp_keepalive_intvl = 30\nnet.ipv4.tcp_keepalive_probes = 10\n\n###############################\n# \u8fde\u63a5\u8ffd\u8e2a\n###############################\nnet.netfilter.nf_conntrack_max = 262144<\/code><\/pre>\n<p class=\"wp-block-paragraph\">\u4f7f\u5176\u751f\u6548\uff1a<\/p>\n<pre class=\"wp-block-code\"><code>sudo sysctl -p<\/code><\/pre>\n<p class=\"wp-block-paragraph\"><br><br><strong>NetworkManager \u4f18\u5316\uff08\u53ef\u9009\uff09<\/strong><br><\/p>\n<p class=\"wp-block-paragraph\">\u7f16\u8f91\uff1a<\/p>\n<pre class=\"wp-block-code\"><code>sudo vim \/etc\/sysctl.conf<\/code><\/pre>\n<p class=\"wp-block-paragraph\">\u8ffd\u52a0\uff1a<\/p>\n<pre class=\"wp-block-code\"><code>net.ipv6.conf.all.disable_ipv6 = 1\nnet.ipv6.conf.default.disable_ipv6 = 1<\/code><\/pre>\n<p class=\"wp-block-paragraph\">\u751f\u6548\uff1a<\/p>\n<pre class=\"wp-block-code\"><code>sudo sysctl -p<\/code><\/pre>","protected":false},"excerpt":{"rendered":"<p>\u516c\u53f8\u9700\u8981\u6dfb\u52a0\u4e00\u4e2adebian\u7684\u6a21\u677f\uff0c\u8bb0\u5f55\u4e00\u4e0b\u5236\u4f5c\u7684\u8fc7\u7a0b\u3002 \u66f4\u65b0\u7cfb\u7edf\u3001\u5b89\u88c5\u5e38\u7528\u5de5\u5177\uff08\u53ef\u6839\u636e\u9700\u6c42\u6dfb\u52a0\u6216\u51cf\u5c11\uff09 \u66f4\u6362 Debian 12 \u56fd\u5185\u6e90 &hellip;<\/p>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7,10],"tags":[82,81],"class_list":["post-367","post","type-post","status-publish","format-standard","hentry","category-linux","category-10","tag-debian12","tag-81"],"views":230,"_links":{"self":[{"href":"https:\/\/www.liaoxinghui.com\/index.php?rest_route=\/wp\/v2\/posts\/367","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.liaoxinghui.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.liaoxinghui.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.liaoxinghui.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.liaoxinghui.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=367"}],"version-history":[{"count":1,"href":"https:\/\/www.liaoxinghui.com\/index.php?rest_route=\/wp\/v2\/posts\/367\/revisions"}],"predecessor-version":[{"id":368,"href":"https:\/\/www.liaoxinghui.com\/index.php?rest_route=\/wp\/v2\/posts\/367\/revisions\/368"}],"wp:attachment":[{"href":"https:\/\/www.liaoxinghui.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=367"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.liaoxinghui.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=367"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.liaoxinghui.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=367"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}