开始入门linux了(还在做启动盘)

在床缝捡了个u盘做启动盘 :O
​明天我就可以带着我的linux远行
​bios让我的风扇飞舞,第一次盘做失败了重做一下然后明天继续


第一次失败了


重做了启动盘,但舍友都睡觉了,只能明早再在bios里重设启动路径了
佬友们明天等我消息!

12 Likes

我的入门 Linux 是从WSL开始的

以下是我自己之前折腾记录的:

WSL2安装Ubuntu

前置条件:

管理员权限启动 PowerShell 运行一下代码

# 启用适用于 Linux 的 Windows 子系统
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
# 启用虚拟机功能
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

或在Windows搜索 启用或关闭Windows功能 开启 启用适用于 Linux 的 Windows 子系统启用虚拟机功能 后需要重启电脑

安装

启用 WSL 功能

wsl --install # 此时会默认安装最新的Ubuntu发行版
wsl --update

将WSL2设置为默认版本

wsl --set-default-version 2

查看所有 Linux 系统版本

wsl --list --online

安装指定版本

wsl --install -d <发行版名称>

通过如下指令,查看电脑装了哪些Linux系统,并进行卸载:

# 查看本机安装了哪些子系统:
wsl --list --all
wsl -l -v
# 卸载:
wsl --unregister <System_name>

转移到D盘

mkdir D:\WSL
# 导出已安装的Ubuntu
wsl --export Ubuntu-24.04 D:\WSL\Ubuntu-latest.tar
# 注销(删除)原来的分发版
wsl --unregister Ubuntu-24.04
# 重新导入到D盘
wsl --import Ubuntu-24.04 D:\WSL\Ubuntu D:\WSL\Ubuntu-latest.tar
# 删除临时文件
Remove-Item D:\WSL\Ubuntu-latest.tar

wsl --shutdown

解决“wsl: 检测到 localhost 代理配置,但未镜像到 WSL。NAT 模式下的 WSL 不支持 localhost 代理”的问题

在Windows中的C:\Users\<your_username>目录下创建一个.wslconfig文件,然后在文件中写入如下内容:

(以下配置设置:限制内存、自动清理内存、网络)

[wsl2]
memory=1GB
swap=512MB
[experimental]
autoMemoryReclaim=gradual  
sparseVhd=true
networkingMode=mirrored
dnsTunneling=true
firewall=true
autoProxy=true

然后用wsl --shutdown关闭WSL,之后再重启,提示就消失了。

Linux查看ip

ifconfig # 需要 sudo apt install net-tools
hostname -I
ip addr show eth0
ip addr show eth0 | grep -oP '(?<=inet\s)\d+(\.\d+){3}'

配置

# 更新源
sudo apt update && sudo apt upgrade -y

Windows终端设置

一般来说安装好了之后Windows会自动设置好了,终端可以直接开一个新的Ubuntu-24.04的标签页。

如果没有的话,那就手动添加一个,本质还是命令行启动罢了。

C:\WINDOWS\system32\wsl.exe -d Ubuntu-24.04 -u root --cd ~

这个命令行的意思是启动wsl的Ubuntu-24.04发行版,以root身份登录,默认启动目录是~(即用户默认目录),Ubuntu-24.04可以改成自己对应的发行版;参数-u可选添加,后面填写登录的用户名;--cd参数可选,后面写启动目录。

添加新的终端配置填入以上的命令行即可食用,其他设置可根据个人喜好,这个Windows终端配置文件本身是一个JSON文件

参考:

			{
                "adjustIndistinguishableColors": "always",
                "bellStyle": "taskbar",
                "colorScheme": "One Half Dark",
                "commandline": "C:\\WINDOWS\\system32\\wsl.exe -d Ubuntu-24.04 -u root --cd ~",
                "cursorShape": "emptyBox",
                "font": 
                {
                    "face": "MesloLGS NF",
                    "size": 13.0
                },
                "guid": "{dcf338c3-49c9-4536-ae80-d621c8dd0813}",
                "hidden": false,
                "historySize": 32768,
                "icon": "D:\\WSL\\Ubuntu\\shortcut.ico",
                "name": "Ubuntu-24.04 (ROOT)",
                "suppressApplicationTitle": true
            }

备注:**MesloLGS NF**字体需要另外安装,这是一款适合zsh的p10k主题的字体。

gui配置(可选,但非常不推荐,毛病和坑多)

sudo apt purge -y acpid acpi-support modemmanager
sudo apt-mark hold acpid acpi-support modemmanager

# 安装GNOME桌面
sudo apt install ubuntu-desktop  -y

# 安装xrdp服务
sudo apt install xrdp -y
# 启动xrdp服务:
sudo systemctl start xrdp
# 将xrdp用户添加到ssl-cert用户组
sudo adduser xrdp ssl-cert
# 重启xrdp服务
sudo systemctl restart xrdp

修改xrdp默认端口(可选)
由于xrdp安装好后默认配置使用的是和Windows远程桌面相同的3389 端口,为了防止和Windows系统远程桌面冲突,建议修改成其他的端口

$ sudo vim /etc/xrdp/xrdp.ini
# 修改下面这一行,将默认的3389改成其他端口即可
port=3390

在Windows上使用远程桌面连接(mstsc):

  • 按下Windows键+R,输入"mstsc"并回车
  • 在远程桌面连接中输入localhost:3389localhost:3390
  • 连接后输入您的Ubuntu用户名和密码

进一步:使用 Xfce4 桌面环境和轻量级桌面xubuntu

# 安装 Xfce4 桌面环境:
sudo apt install xfce4 xfce4-goodies -y

# 安装xfce4过程中会出现选择显示管理DM选择的提示,建议用lightdm
# 如果错过了安装过程中出现的这个向导,那么可以在安装完成后执行下面的命令重新设置DM
sudo dpkg-reconfigure lightdm

解决黑屏

sudo nano /etc/xrdp/startwm.sh

添加以下内容:

unset DBUS_SESSION_BUS_ADDRESS
unset XDG_RUNTIME_DIR
. $HOME/.profile

创建或修改XRDP启动脚本:

sudo nano /etc/xrdp/startwm.sh

在文件末尾注释掉这两行(如果存在):

#test -x /etc/X11/Xsession && exec /etc/X11/Xsession
#exec /bin/sh /etc/X11/Xsession

添加以下行:

startxfce4

为当前用户指定登录session类型

vim ~/.xsession  #写入 xfce4-session
或
echo xfce4-session > ~/.xsession

参考链接和文档

如何使用 WSL 在 Windows 上安装 Linux – Microsoft

开始通过适用于 Linux 的 Windows 子系统使用 Visual Studio Code – Microsoft

超详细的WSL教程:Windows上的Linux子系统 - 技术爬爬虾 - BiliBili

写给工程师的 Ubuntu 20.04 最佳配置指南

【保姆级教程】Windows上安装Linux子系统,搞台虚拟机玩玩

ohmyzsh - GitHub

powerlevel10k - GitHub

ping www.google.com

sudo vi ~/.bashrc

source ~/.bashrc

Docker Desktop安装-基于WSL2.md

前置条件:

  • Windows 11
  • 已经安装和配置好了WSL2
  • 合格网络环境(代理和小猫咪:cat_face:TUN模式)

配置:

安装 Docker Desktop

由于默认是安装在C盘,这里使用以下命令进行自定义路径安装:

cmd:

start /w "" "Docker Desktop Installer.exe" install --installation-dir=D:\Docker

PowerShell:

Start-Process -FilePath "Docker Desktop Installer.exe" -ArgumentList "install --installation-dir=D:\Docker" -Wait

安装完了之后并打开,使用命令 wsl -l -v会发现多出了一个docker-desktop和之前安装的Ubuntu发行版一起在运行。

额外:在全新安装的 Docker Desktop 4.30 及更高版本中, docker-desktop-data 不再被创建。相反,Docker Desktop 会创建并管理自己的虚拟硬盘用于存储。 docker-desktop 发行版仍然会被创建并用于运行 Docker 引擎。

Docker Desktop与WSL2的Linux发行版集成

1、设置Settings -> General -> Use WSL 2 based engine

勾选开启,然后点击Apply & restart应用并重启docker

2、设置Settings -> Resources -> WSL integration

选择需要集成的Linux发行版比如Ubuntu-24.04勾选开启,然后点击Apply & restart应用并重启docker

这时候对应的Linux发行版就能使用docker命令了如docker -v查看docker版本

修改docker在wsl的磁盘镜像

Docker Desktop默认安装的wsl2磁盘镜像在C:\Users\[USERNAME]\AppData\Local\Docker\wsl路径下,可以在Settings -> Resources -> Advanced下进行修改目录

设置代理

Settings -> Resources -> Proxies填入:

http://localhost:7890

汉化 Docker Desktop(可选)

DockerDesktop-CN - GitHub

千万不能手贱点更新

关闭更新提示和自动更新!

如果发现无法正常使用,建议卸载清空重装

.docker..\AppData\Local\Docker..\username\AppData\Roaming\Docker删除清空

配置存储位置

C:\Users\username\AppData\Roaming\Docker\settings-store.json:Docker Desktop 设置

C:\Users\username\AppData\Roaming\Docker Desktop

C:\Users\username\AppData\Local\Docker\log:日志

C:\Users\username\.docker

daemon.json和windows-daemon.json 守护进程配置文件

C:\ProgramData\DockerDesktop

以非 root 用户身份管理 Docker

添加普通用户到docker

#查看docker组是否存在
getent group docker
#不存在则创建
sudo groupadd docker
#将用户添加到docker组
sudo usermod -aG docker $USER

额外

在Windows11下基于WSL安装的 Docker Desktop 中的 volumes (数据卷) 存储实际在:

\\wsl.localhost\docker-desktop\mnt\docker-desktop-disk\data\docker\volumes

也就是 docker-desktop 这个wsl虚拟机中的 /mnt/docker-desktop-disk/data/docker/volumes 目录

而不是在/var/lib/docker/volumes (只安装 Docker Engine)

参考资料

WSL 2 上的 Docker 远程容器入门 - Microsoft

在 Windows 上安装 Docker Desktop - DockerDocs

Docker Desktop WSL 2 后端在 Windows 上 - DockerDocs

Docker常用命令

镜像

命令 说明 常用选项/示例
`docker images docker ls` 列出本地镜像
docker pull <镜像名>[:标签] 从仓库拉取镜像 docker pull nginx:latest
docker push <镜像名>[:标签] 推送镜像到仓库 docker push username/image:tag
`docker rmi <镜像名或ID> docker image rm <镜像名或ID> ` 删除镜像
docker save -o <output_file.tar> <镜像名或ID> 导出镜像 docker save -o my_image_v1.0.tar my_image:v1.0
docker load -i <FILE> 导入镜像 docker load -i my_image.tar
docker build -t <镜像名> <构建路径> Dockerfile创建镜像 docker build -t myapp:1.0 .
docker history <镜像名或ID> 查看镜像历史
docker commit <容器ID> <镜像名> 从容器创建镜像 docker commit c3f279d17e0a myapp:latest
docker tag <源镜像>[:标签] <目标镜像>[:标签] 给镜像添加标签 docker tag nginx:latest mynginx:v1
docker search <关键词> 搜索Docker Hub上的镜像 --filter stars=3:筛选星级大于3的镜像
docker inspect <镜像名或ID> 查看镜像详细信息 --format:格式化输出

容器

命令 说明 常用选项/示例
docker run <容器名或ID> 创建并启动容器 -d后台运行 -p <宿主机端口>:<容器端口> 端口映射 -v <主机目录>:<容器目录>挂载卷或绑定目录 --name指定名称 --mount type=bind,src=<主机目录>,dst=<容器目录>目录绑定挂载 --network <网络名>连接网络
docker start/stop/restart/kill <容器名或ID> 启动/停止/重启/杀死容器 docker start mycontainer
`docker ps docker container ls` 列出运行中的容器
`docker rm <容器名或ID> docker container rm ` 删除容器
docker exec <容器名或ID> <命令> 在运行的容器中执行命令 -it:交互模式 docker exec -it mycontainer shdocker exec -it mynginx bin/bash
docker logs <容器名或ID> 查看容器日志 -f:实时查看日志 --tail <行数>:显示最近的日志
docker cp <源路径> <目标路径> 在容器和本地间复制文件 docker cp mycontainer:/app/data.txt ./local/ docker cp ./local/file.txt mycontainer:/app/
docker export -o <文件名>.tar <容器名或ID> 导出容器为文件 docker export -o nginx.tar nginx_container
docker import <文件名>.tar <容器名或ID> 导入容器快照 docker import my_container.tar my_new_image:latest
docker commit <容器ID> <镜像名> 从容器创建镜像 docker commit c3f279d17e0a myapp:latest
docker container inspect <容器名或ID> 查看容器详细信息 docker container inspect mynginx

数据卷

默认存储位置在/var/lib/docker/volumes

但在Windows11下基于WSL安装的 Docker Desktop 中的 volumes (数据卷) 存储实际在:

\\wsl.localhost\docker-desktop\mnt\docker-desktop-disk\data\docker\volumes

也就是 docker-desktop 这个wsl虚拟机中的 /mnt/docker-desktop-disk/data/docker/volumes 目录

命令 说明 常用选项/示例
docker run -v </主机目录>:<容器目录> <镜像名或ID> 创建容器并卷绑定然后启动容器 docker run -d --name mynginx -p 88:80 -v nginx_config:/etc/nginx nginx
docker volume create <数据卷名> 创建数据卷 docker volume create my-volume
docker volume ls 查看所有数据卷 列出所有卷
docker volume inspect <数据卷名> 查看数据卷详细信息 docker volume inspect my-volume
docker volume rm <数据卷名> 删除数据卷 docker volume rm my-volume
docker volume prune 清理无用数据卷 删除未被容器使用的数据卷

网络

  • 在桥接模式,在docker内部每个容器都分配了一个类似于172.17.0.*的IP(可通过docker inspect查看"IPAddress"选项可知),容器之间可通过此IP相互访问。
  • 可以在创建运行容器的时候连接同一个网络,然后容器之间就能通过容器名来连接访问了,相当于网站域名和DNS解析最终IP
命令 说明 常用选项/示例
docker network ls 查看Docker网络 显示所有网络
docker network create <网络名> 创建自定义网络 docker network create my-network
docker network connect <网络名> <容器名或ID> 将容器连接到网络 docker network connect my-network mycontainer
docker network disconnect <网络名> <容器名或ID> 将容器从网络断开 docker network disconnect my-network mycontainer
docker network inspect <网络名> 查看网络详细信息 docker network inspect bridge
docker network rm <网络名> 删除网络 docker network rm my-network

系统管理

命令 说明
docker version 查看Docker版本
docker info 查看Docker系统信息
docker [command] --help 查看Docker帮助文档
docker login/logout 登录/退出DockerHub

Docker Compose

命令 说明 常用选项/示例
docker compose up 创建并启动服务 -d:后台运行,--build强制重新构建
docker compose down 停止并删除服务 --volumes:同时删除声明的卷 --rmi all:删除所有镜像
docker compose ps 列出服务 显示所有服务状态
docker compose cp 在容器和本地间复制文件 相当于docker container cp
docker compose build 构建服务镜像 --no-cache:不使用缓存
docker compose logs 查看服务日志 -f:实时查看 --tail <行数>:显示最近的日志
docker compose exec <服务名> <命令> 在运行的服务中执行命令 docker-compose exec web bash
docker compose restart 重启服务 docker-compose restart web
docker compose rm 删除服务容器 -f:强制删除 -v:同时删除卷

参考资料

docker docs

CLI Reference - docker docs

Docker Hub

docker ps -a #列出所有容器
docker rm #删除一个或多个容器
docker rmi #删除一个或多个镜像。
docker volume #管理数据卷
docker-compose up #启动 Compose 定义的服务
docker-compose down #停止并删除 Compose 服务

然后后面就买了服务器,搭起了网站,有了现在的公益站~
具体你可以看我主页吧,一路走过来发的贴。 :hot_face:

24 Likes

这个比 WTG 好搞多了

我当时折腾 WTG 还搞废了我原系统

准备上什么系统做第一次呀,我觉得Linux Mint不错,我推荐给我朋友也是这个入门

感谢分享,只有win11的wsl2才足够好用吧?具体是哪个版本bug少点儿呢?

在 LINUX DO 不聊 Linux :bili_017:

玩笑,玩笑 :rofl:

3 Likes

尝试Linux你很狼狈。

Day1 启动盘失败
Day2 怎么还是失败
Day3 终于好了,不过驱动怎么都没用?
Day4 这系统太丑了,美化一下


Day n-1 怎么开机不了,哪里出问题了
Day n 算了我还是用 Windows 吧

6 Likes

不着急,慢慢来。第一次在超极本上安装debian,因为没有网口只有无线网卡,并且第一次安装甚至不知道怎么挂代理,很自然的只安装了cd rom的东西,:japanese_free_of_charge_button:网卡驱动,:joy:修了好几天

入门linux真心不建议折腾这些安装什么的,已经有windows的话直接启动wsl,最佳linux发行版可不是盖的 :tieba_007:

3 Likes

第一次在linuxdo 看到真的讨论linux的

2 Likes

window更新教你做人ww

用上边的工具搞个启动盘
然后U盘引导启动就可以了

1 Like

我用的ubuntu桌面版
好久之前下的,7G,不舍得删,决定装里玩玩 :joy:

对的,昨天格式错了没识别到u盘,我进启动设置里找路径,点哪个都不对,听建议重装盘了
重装后一插就识别在优先级这个框里了,好开心:wink:

我电脑就是win11,目前wsl还是比较好用的了,你安装输入几条命令就完事了。

1 Like
  • 外置Linux系统还是内置硬盘安装?
  • 不看一下日常使用的软件是否有相应的Linux版本,再决定去折腾?
  • 或者可试试arm生态方面。arm linux + arm软件生态

装Linux感觉最头疼的是找各硬件厂家的驱动……然后发现有的组件没有开发Linux的驱动……:clown_face:

1 Like

笑死,我之前双系统用arch的时候就是这样,最后在期末周前两天内核莫名其妙崩了(好像是滚挂了,快照也恢复不回去),然后一直懒得修,就用回windows了

1 Like

nv显卡??
建议还是别用了吧。。。
用ubuntu也得用kubuntu或者xubuntu这两个换了桌面环境的
gnome适合触碰屏幕设备
kubuntu用的kde触碰和键鼠都行,xfce比较老就只适合键鼠
flatpak会好一点ubuntu的gnome snap store会把你卡的怀疑人生

1 Like

软盘起步的飘过。

1 Like