Alpine Linux的半自动安装和桌面、远程登录、frp、aria2服务等的配置

Lear 2024-07-30 14:00:00
Categories: Tags:

Alpine Linux的半自动安装和桌面、远程登录、frp、aria2服务等的配置(CSDN摘抄)


起因:因为购买的VPS内存只有512M,运行桌面的话占用的内存太大,远程登录的话会非常难以操作,因此这里进行了轻量化安装

零、 半自动安装,手动分区,指定swap区的大小

  1. # 先安装分区和格式化工具。 不用apk update ,此时还没有网络
  2. apk add parted e2fsprogs # 若安装不了,则等设置完apk源,再次运行 rc-service networking restart 和 apk update后再装
  3. # 设置键盘布局
  4. setup-keymap us us
  5. # 设置主机名称,立即启用
  6. setup-hostname vbox
  7. rc-service hostname restart
  8. # 配置网卡、网络,重新启动网络
  9. setup-interfaces
  10. rc-service networking restart
  11. # 配置DNS。 可选项,可以不设置
  12. setup-dns
  13. # 设置时区
  14. setup-timezone
  15. # 设置apk源,当前52 是aliyun
  16. setup-apkrepos
  17. # 设置安装后系统的root账户的密码
  18. passwd
  19. # 安装并设置ssh服务,默认允许root远程登录
  20. setup-sshd
  21. # 测试是否启用了UEFI,一般不会启用
  22. test -d /sys/firmware/efi && echo UEFI || echo BIOS
  23. ## 显示 BIOS
  24. alias p=”parted -sa optimal /dev/sda” ## 设置parted的快捷简写方式
  25. p mklabel msdos ## 设置分区表为 MBR格式
  26. p mkpart p 512B 268MB ## boot分区大小,实际是255M
  27. p mkpart p 268MB 1024MB ## swap 分区大小
  28. p mkpart p 1024MB 100% ## 剩余的空间全部用于了 /
  29. p set 1 boot ## 将第1分区的标签设置为了boot
  30. mkfs.ext4 /dev/sda1 ## 将第1分区格式化为了ext4文件系统
  31. mkswap /dev/sda2 ## 将第2分区设置为了交换区域
  32. mkfs.ext4 /dev/sda3 ## 将第3分区格式化为了ext4文件系统
  33. # 挂载分区
  34. mount /dev/sda3 /mnt
  35. mkdir /mnt/boot
  36. mount /dev/sda1 /mnt/boot
  37. swapon /dev/sda2
  38. # 硬盘分区挂载完成后,启动安装
  39. setup-disk /mnt
  40. # 安装完成后重启
  41. reboot

补充: 经过上述安装过程后,启动时swap分区无法自动挂载,需要 rc-update add swap ,并配置 /etc/fstab 这个文件才行

  1. ls -l /dev/disk/by-uuid
  2. # 查看 /dev/sda2 的 UUID
  3. # 编辑 /etc/fstab
  4. vim /etc/fstab ## 增加以下内容在最后一行
  5. UUID= abce********6789 none swap sw 0 0
  6. ## 添加 swap服务开启自启动
  7. rc-update add swap
  8. ## 重启
  9. reboot
  10. ## 查看
  11. free -h

一、 安装xfce4桌面

按照wiki中的说法,需要完成4个前置步骤: 1.安装alpine Linux→2.设置非root账户→3.启用community源→4.安装Xorg

1.1 这里假设我们已经完成了自动最小化安装,则从第3步开始

  1. apk update
  2. apk add vim
  3. vim /etc/apk/repositories ## 将含有community的行前的 # 注释符去掉即可
  4. setup-xorg-base ## 将会自动安装所需的软件

1.2 安装显卡驱动。根据wiki说明来选择安装方式

Alpine setup scripts - Alpine Linux

例如,在virtualbox 中,需要安装 xf86-video-vboxvideo ,同时还要安装 VirtualBox guest additions

根据测试,需要将apk的repos文件中的所有源前面的#号去掉,才能找到xf86-video-vboxvideo

  1. apk add xf86-video-vboxvideo
  2. apk add virtualbox-guest-additions
  3. apk add virtualbox-guest-additions-x11
  4. rc-update add virtualbox-drm-client default

1.3 安装xfce4 软件

  1. apk add xfce4 xfce4-terminal xfce4-screensaver lightdm-gtk-greeter dbus
  2. rc-service dbus start
  3. rc-update add dbus
  4. setup-devd udev

1.4 启动xfce4

  1. ## A. 使用窗口管理器-lightdm启动
  2. rc-service lightdm start
  3. rc-update add lightdm
  4. ## B. 命令行启动
  5. startx

1.5 安装后所占空间和桌面效果

1.6 设置允许从xfce4 桌面环境进行关闭和重启

默认是无法以图形化进行关闭和重启的

  1. apk add elogind polkit-elogind
  2. lbu commit
  3. reboot

二、 安装i3窗口管理器

按照前面1.1-1.2完成前置操作,之后进行以下操作

2.3 正式安装i3

  1. apk add i3wm i3status xterm dbus
  2. rc-service dbus start
  3. rc-update add dbus
  4. setup-devd udev
  5. # 添加字体
  6. apk add terminus-font
  7. # 安装 dmenu
  8. apk add dmenu

2.4 启动i3

startx /usr/bin/i3

三、安装中文字体

默认情况下,不安装额外的字体,会造成中文乱码。这里增加了一些字体。安装完成后重启,再启动浏览器就可以正常显示了

  1. apk update
  2. apk add font-wqy-zenhei font-dejavu perl-font-ttf

exec –no-startup-id fcitx5 -d

四、 安装xrdp远程桌面服务

4.1 在安装和使用xrdp前,要先设定好startx 命令默认启动哪个桌面和窗口管理器

  1. vim /home/userA/.xinitrc
  2. # 内容只有一行
  3. exec i3

4.2 安装和启动xrdp

  1. # 安装软件
  2. apk add xrdp xorgxrdp
  3. # 启动服务。 (一般需要先打开桌面环境)
  4. rc-service xrdp start
  5. rc-service xrdp-sesman start
  6. # 默认使用的3389端口。 直接用Windwos系统自带的远程桌面工具进行连接
  7. # 测试成功后,可以将服务配置为开机自动启动
  8. rc-update add xrdp
  9. rc-update add xrdp-sesman

4.3 修改xrdp的默认端口,规避VPS对常用端口的封堵

  1. /etc/xrdp/xrdp.ini
  2. ## 将[globals]标签下的port=3389,修改为你想要的端口即可
  3. ## 重启服务
  4. rc-service xrdp restart
  5. rc-service xrdp-sesman restart

五、安装输入法

经过测试,无法在i3环境下运行输入法。 Alpine 对中文输入法的支持还存在较大问题。使用ibus框架的也没有成功!!!

apk add fcitx5 fcitx5-configtool fcitx5-chinese-addons fcitx5-chinese-addons-dev fcitx5-chinese-addons-lang

六、 更改主机名

  1. #直接编辑配置文件
  2. vim /etc/hostname
  3. # 修改完后启用
  4. hostname -F /etc/hostname

七、编译安装apk源中没有的软件

  1. apk update
  2. apk add wget gcc g++ make
  3. wget https://www.download.com/software.tar.gz
  4. tar -xf software.tar.gz
  5. cd software
  6. ./configure
  7. make; make install

八、安装和配置aria2

8.1 安装

  1. ## 一定要先打开akp源中的 community
  2. apk update
  3. apk add aria2

8.2 编辑配置文件

  1. mkdir /etc/aria2/
  2. vim /etc/aria2/aria2.conf
  3. ## 配置文件的内容
  4. # 配置断点续传功能和以daemon进行运行
  5. continue=true
  6. daemon=true
  7. ## 启用RPC功能和监听端口
  8. enable-rpc=true
  9. #rpc-allow-origin-all
  10. rpc-listen-all=true
  11. rpc-listen-port=6800
  12. ## 指定下载参数
  13. dir=/home/WD500G/Download
  14. file-allocation=none
  15. #input-file=${HOME}/.aria2/input.conf
  16. log-level=warn
  17. max-connection-per-server=6
  18. min-split-size=5M
  19. #on-download-complete=exit
  20. max-overall-upload-limit=16K
  21. max-upload-limit=8K
  22. seed-time=1

8.3 编辑 aria2 服务

  1. vim /etc/init.d/aria2
  2. #### 内容如下#####
  3. #!/sbin/openrc-run
  4. name=”aria2”
  5. command=”/usr/bin/aria2c”
  6. command_args=”–conf-path=/etc/aria2/aria2.conf”
  7. #command_background=true
  8. depend() {
  9. after sshd
  10. }

8.4为aria2 文件指定可运行属性,加入开机自启动服务

  1. chmod +x /etc/init.d/aria2
  2. rc-update add aria2
  3. rc-service aria2 start
  4. rc-service aria2 restart

九、配置frp服务

9.1 安装

  1. apk update
  2. apk add frp
  3. ## 注意,是安装frp。 安装完成后 frps、frpc 都在 /usr/bin/ 中

9.2 替换升级

因为 Alpine Linux 的apk库里面的frp版本比较老,但我们肯定是想用最新版本,同时还想保持其作为系统自身安装和管理的服务,所以直接下载最新版本,然后覆盖即可。

  1. tar -zxvf frp_0.48.tar.gz
  2. cp frp_0.48/frpc /use/bin/
  3. cp frp_0.48/frps /use/bin/
  4. # 查看一下是否是新版本
  5. frpc -v

9.3 编辑配置文件

  1. mkdir /etc/frp
  2. vim /etc/frp/frpc.ini
  3. # 具体配置内容看 frp官网说明

看一下 frpc的启动文件的内容

  1. cat /etc/init.d/frpc
  2. ##内容如下:
  3. #!/sbin/openrc-run
  4. name=frpc
  5. description=”frp client”
  6. command=”/usr/bin/$name”
  7. supervisor=supervise-daemon
  8. : ${cfgfile:=/etc/frp/$RC_SVCNAME.ini}
  9. command_args=”-c $cfgfile”
  10. pidfile=”/run/$RC_SVCNAME.pid”
  11. extra_started_commands=”reload”
  12. description_reload=”Reload configuration”
  13. : ${respawn_delay:=5}
  14. : ${respawn_max:=0}
  15. depend() {
  16. need net
  17. after firewall
  18. }
  19. reload() {
  20. frpc reload -c $cfgfile

9.3 启动frpc服务,将其加入开机自启动

  1. rc-update add frpc
  2. rc-service frpc start/restart/stop

十. 磁盘扩容

  1. apk add e2fsprogs-extra
  2. resize2fs -p /dev/sda3