WSL Debian 2 MediaWiki 使用体验: Difference between revisions

From 清冽之泉
Jump to navigation Jump to search
 
(10 intermediate revisions by the same user not shown)
Line 1: Line 1:
总体体验:迅如闪电。
== 安装 ==
== 安装 ==
* UEFI 中开启虚拟化支持
* UEFI 中开启虚拟化支持
Line 5: Line 7:
* 想用 WSL 2,需要安装一个 wsl_update_x64.msi 去更新 WSL 的内核。运行 <code>  wsl --set-version Debian 2 </code> 会获取到 wsl_update_x64.msi 的下载地址
* 想用 WSL 2,需要安装一个 wsl_update_x64.msi 去更新 WSL 的内核。运行 <code>  wsl --set-version Debian 2 </code> 会获取到 wsl_update_x64.msi 的下载地址
* 最后,<code> wsl --set-version Debian 2 </code> 即可使用 WSL 2 下的 Debian 了
* 最后,<code> wsl --set-version Debian 2 </code> 即可使用 WSL 2 下的 Debian 了
* 查看 WSL 版本,<code> wsl --version </code>
* 查看正使用的版本可以用 <code> wsl -l -v </code>
* 查看正使用的版本可以用 <code> wsl -l -v </code>


== Mediawiki ==
== 命令 ==
<syntaxhighlight lang="bash" line>
wsl --shutdown 完整重启
Get-ChildItem "HKCU:\Software\Microsoft\Windows\CurrentVersion\Lxss" -Recurse # 查看 WSL 包安装在哪里,我的是 C:\Users\wdf\AppData\Local\Packages\
</syntaxhighlight>
 
== MediaWiki ==
<syntaxhighlight lang="bash" line>
<syntaxhighlight lang="bash" line>
sudo service mariadb start && sudo service apache2 start
sudo service mariadb start && sudo service apache2 start
Line 25: Line 34:
</syntaxhighlight>
</syntaxhighlight>


== WSL 2 与 Bookworm 区别 ==
== systemd ==
一个细微区别是,Bookworm 用的 systemd ,WSL 用的 WSL init,类似 SystemV init。<code> ps -p 1 -o comm= </code> 可以看出系统用的哪个。其具体命令有所不同。
一个细微区别是,Bookworm 用的 systemd ,WSL 用的 WSL init,类似 SystemV init。<code> ps -p 1 -o comm= </code> 可以看出系统用的哪个。其具体命令有所不同。


Line 44: Line 53:
| systemctl disable service_name || chkconfig service_name off
| systemctl disable service_name || chkconfig service_name off
|}
|}
但是这种不同已经过时,略加修改,即可让 WSL 用上最新的 systemd。
只要 <code> wsl --version </code> 显示 WSL 版本号大于 0.67.6,则 <code> wls --update </code> 更新至最新版后,在 /etc/wsl.conf 中写入以下即可:
<pre>
[boot]
systemd=true
</pre>
== 自启 ==
开启 systemd 后,WSL Debian 2 里的服务能很方便自启了。
WSL 2 及 Debian 本身怎么自启呢?
[https://www.sjdhome.com/blog/post/wsl2-auto-start/ 博主 sjdhome] 写得很好,用 <code> 任务计划程序 </code> 即可。
[[File:WSL开启免登录自动启动.png]]

Latest revision as of 08:46, 31 July 2024

总体体验:迅如闪电。

安装

  • UEFI 中开启虚拟化支持
  • 控制面板中打开 Hyper-V 和 WSL
  • Powershell 中: wsl --install -d Debian 即可成功安装 WSL Debian
  • 想用 WSL 2,需要安装一个 wsl_update_x64.msi 去更新 WSL 的内核。运行 wsl --set-version Debian 2 会获取到 wsl_update_x64.msi 的下载地址
  • 最后, wsl --set-version Debian 2 即可使用 WSL 2 下的 Debian 了
  • 查看 WSL 版本, wsl --version
  • 查看正使用的版本可以用 wsl -l -v

命令

wsl --shutdown 完整重启
Get-ChildItem "HKCU:\Software\Microsoft\Windows\CurrentVersion\Lxss" -Recurse # 查看 WSL 包安装在哪里,我的是 C:\Users\wdf\AppData\Local\Packages\

MediaWiki

sudo service mariadb start && sudo service apache2 start
ip a
sudo mariadb
CREATE USER 'db_username'@'db_hostname' IDENTIFIED BY 'passwd'; ## 用在本地时,我选的 localhost 当 db_hostname
CREATE DATABASE sth_wiki;
USE sth_wiki;
GRANT ALL ON sth_wiki.* TO 'db_username'@'db_hostname';
commit;
quit;
sudo a2dissite 000-default
service apache2 reload

systemd

一个细微区别是,Bookworm 用的 systemd ,WSL 用的 WSL init,类似 SystemV init。 ps -p 1 -o comm= 可以看出系统用的哪个。其具体命令有所不同。

Systemd command Sysvinit command
systemctl start service_name service mariadb start
systemctl stop service_name service apache2 stop
systemctl restart service_name service service_name restart
systemctl status service_name service service_name status
systemctl enable service_name chkconfig service_name on
systemctl disable service_name chkconfig service_name off

但是这种不同已经过时,略加修改,即可让 WSL 用上最新的 systemd。

只要 wsl --version 显示 WSL 版本号大于 0.67.6,则 wls --update 更新至最新版后,在 /etc/wsl.conf 中写入以下即可:

[boot]
systemd=true

自启

开启 systemd 后,WSL Debian 2 里的服务能很方便自启了。

WSL 2 及 Debian 本身怎么自启呢?

博主 sjdhome 写得很好,用 任务计划程序 即可。