腾讯云今年春节活动优惠力度较大,在这期间我也采购了一台服务器与俩数据盘,准备作为网盘...
硬盘初始化与挂载请看上一篇:Linux轻量云服务器云硬盘搭建网盘(上)
创建一个文件夹用于存放软件与配置文件:
mkdir cloudreve
cd cloudreve前往cloudreve官网下载软件包:http://cloudreve.org/
选择下载 cloudreve_3.4.2_linux_amd64.tar.gz
也可以在ssh输入指令使用wget进行下载:
wget https://github.com/cloudreve/Cloudreve/releases/download/3.4.2/cloudreve_3.4.2_linux_amd64.tar.gz然后解压压缩包
tar -zxvf cloudreve_3.4.2_linux_amd64.tar.gz直接执行该文件即可开启网盘服务:
./cloudreve
记下默认账户与密码,然后去云服务器后台的防火墙处放行端口:tcp 5212

访问网盘管理,浏览器输入服务器ip:5212,即可进入网盘登陆页面,登陆后的页面如下

接下来先去管理面板修改用户信息如密码等,此处不再赘述,主要讲述如何配置硬盘到网盘中
进入管理面板-存储策略中,修改默认策略以向导模式打开
储存目录可设置前面云硬盘挂载的位置,由上一章可知路径为 /mnt/data1,因此存储目录路径可填写:
/mnt/data1/{path}如果计划将该网盘给多用户使用,可以这样填写:
/mnt/data1/{uid}/{path}文件重命名处设置可以根据网盘用途来修改,如果多人使用,默认即可;如果仅自己使用,可以修改为原始文件名或者选择不开启即可:
{originname}如不开启默认为{randomkey8}_{originname},不容易分辨,推荐使用上述变量
此处如果是使用云服务器有公网时,可以根据自己需求选择是否开启;如局域网内无公网,开启后无法用于公网分享文件
同样的,如果是自用,全部关闭限制即可,如果多人使用的话推荐打开,防止大文件上传吃带宽等情况
cloudreve并不会自动检测硬盘空间剩余,因此要手动限制最大空间使用
修改并保存好存储策略后,打开用户组管理
如果网盘仅自己单人使用,可以直接打开管理员用户组修改页面,将初始容量直接修改为硬盘最大容量(此处使用硬盘1,本文所购置的硬盘1容量为100GB)其他选项均默认即可。
如果网盘供多人使用,需要给每个用户组进行单独配置。比如总硬盘可使用空间为100GB,预计5人使用,如需要平分容量,可以在 注册用户 组内的初始容量设置为20GB,5人分别注册后会自动归为 注册用户组 ,且均为20GB容量。(如果是使用云服务器的话,推荐限制每个人的下载上传设置,以防止单用户占用带宽、性能过多)
网盘程序此时已经安装配置完成,接下来需要设置开机自启,保证网盘不中断
先按Ctrl+c关闭当前运行的网盘程序
新建个系统服务文件并启用:
cd /lib/systemd/system
sudo nano cloudreve.service编辑内容:
注意:如果服务器有安装mysql服务的话,需要在第四行加上After=mysqld.service,否则可能开机启动失败
[Unit]
Description=Cloudreve
After=network.target
[Service]
TimeoutStartSec=10
ExecStart=#文件完整路径,如/root/cloudreve/cloudreve
ExecStop=/bin/kill $MAINPID
StandardError=syslog
[Install]
WantedBy=multi-user.target保存并退出,然后输入指令来启动网盘程序:
systemctl start cloudreve此时输入systemctl status cloudreve ,稍等一会就可以看到cloudreve进程正在运行中
再输入指令启用cloudreve的开机启动:
systemctl enable cloudreve重启后,再输入systemctl status cloudreve ,可以看到进程已经在运行
cloudreve网盘配置到此结束,但是该程序并没有解决本文的初始问题,因为云服务器有两块硬盘,本程序只能单网盘授权用户,因此还需更换程序...
]]>腾讯云今年春节活动优惠力度较大,在这期间我也采购了一台服务器与俩数据盘,准备作为网盘...
前往轻量服务器云硬盘后台挂载硬盘至目标服务器上

挂载成功后,通过ssh连接至服务器,输入fdisk -l可查看到新挂载的硬盘容量大小及硬盘id(此处主硬盘为vda,新挂载的硬盘为vdb、vdc)

由于该云硬盘在之前挂载过windows server系统的服务器,使用指令fdisk -l得知已经被win分区处理过。因云硬盘上没有重要信息需要转移,所以这里准备直接进行重新初始化操作...
如果硬盘为新购挂载的可以直接查看“云硬盘初次使用初始化”...
执行以下指令,进入 fdisk 分区工具,开始对新增数据盘执行分区操作。以新挂载的数据盘 /dev/vdb 为例,则执行以下命令:
sudo fdisk /dev/vdb
从前面得知,这块硬盘已经被win分区过了,所以先删除全部分区,再重新格式化以挂载给linux使用
输入指令 d 来删除分区,分别删除1、2号分区

删除分区后,再重新建立个新的分区并格式化为ext4
输入指令 n 来新建分区,有时会提醒要选择分区类型,一般可输入 p 来创建个主要分区(p 表示主要分区,e 表示扩展分区)
之后要选择的主分区编号、初始扇区、截止扇区可直接回车默认即可。
操作结束后,输入指令 p 即可看到新建的分区。确认无误后,输入指令 w 将分区结果写入分区表中。
如果上述操作有失误之处,直接输入 q 可不保存退出

退出分区软件后,输入指令将分区表同步到系统:
partprobe如果此指令提示找不到命令,需要安装软件包parted来解决:apt install parted
执行以下命令,将新建分区文件系统设置为系统所需格式:
sudo mkfs -t <文件系统格式> /dev/vdb1不同文件系统支持的分区大小不同,请根据实际需求合理选择文件系统。以设置文件系统为 EXT4 为例,则执行以下命令:(格式化需要一段时间,请稍等一会)
sudo mkfs -t ext4 /dev/vdb1
再输入 fdisk -l 可看出,该硬盘文件系统已经变成“Linux filesystem”
再如法炮制,将第二块硬盘也初始化一番...

此时云硬盘已经初始化结束,接下来就可以挂载使用了。
执行以下命令,查看磁盘名称:
sudo fdisk -l第一步挂载成功后可以在列表中看到服务器有两块磁盘,/dev/vda 为系统盘,/dev/vdb 为新挂载数据盘(多块硬盘将以vdc、vdd依次排序)
执行以下命令,将新建分区文件系统设置为系统所需格式:
sudo mkfs -t <文件系统格式> /dev/vdb1不同文件系统支持的分区大小不同,请根据实际需求合理选择文件系统。以设置文件系统为 EXT4 为例,则执行以下命令:(格式化需要一段时间,请稍等一会)
sudo mkfs -t ext4 /dev/vdb1再输入 fdisk -l 可看出,该硬盘文件系统已经变成“Linux filesystem”,可以被挂载至系统文件夹使用了。
本文将会把硬盘挂载至/mnt文件夹内(大部分系统、设备也是如此),之后可以通过访问该文件夹来使用云硬盘
新建文件夹用于挂载不同的一批:(文件夹名可自定义)
mkdir /mnt/data1
mkdir /mnt/data2执行以下命令,将设备挂载至新建的挂载点。执行以下命令:
sudo mount /dev/vdb1 /mnt/data1
sudo mount /dev/vdc1 /mnt/data2执行以下命令,查看挂载结果。
sudo df -h
因为是为了网盘服务,所以要保证服务器启动时硬盘也可以同时被加载,接下来设置硬盘开机自动挂载...
本文使用的是腾讯云购买的云硬盘,可以直接使用云硬盘的软链接。官方文档:
| 挂载方式 | 优缺点 | 信息获取方式 |
|---|---|---|
| 使用云硬盘的软链接(推荐) | 优点:每个云硬盘的软链接固定且唯一,不会随卸载挂载、格式化分区等操作而改变。缺点:只有云硬盘才有软链接。无法感知分区的格式化操作。 | 执行以下命令,查看云硬盘的软链接。sudo ls -l /dev/disk/by-id |
| 使用文件系统的 UUID | 可能会因文件系统的 UUID 变化而导致自动挂载设置失效。例如,重新格式化文件系统后,文件系统的 UUID 将会发生变化。 | 执行以下命令,查看文件系统的 UUID。sudo blkid /dev/vdb |
| 使用设备名称 | 可能会因设备名称变化而导致自动挂载设置失效。 | 执行以下命令,查看设备名称。sudo fdisk -l |
执行以下命令,备份 /etc/fstab 文件。以备份到 /home 目录下为例:
sudo cp -r /etc/fstab /home执行以下命令,使用 VI 编辑器打开 /etc/fstab 文件。
sudo vi /etc/fstab按 i 进入编辑模式。
将光标移至文件末尾,按 Enter,添加如下内容。
<设备信息> <挂载点> <文件系统格式> <文件系统安装选项> <文件系统转储频率> <启动时的文件系统检查顺序>/dev/disk/by-id/virtio-disk-xxxxx /data ext4 defaults 0 0/dev/disk/by-id/virtio-disk-xxxxx-part1 /data/newpart ext4 defaults 0 2UUID=d489ca1c-5057-4536-81cb-ceb2847f9954 /data ext4 defaults 0 0UUID=d489ca1c-5057-4536-81cb-ceb2847f9954 /data/newpart ext4 defaults 0 2/dev/vdb /data ext4 defaults 0 0/dev/vdb1 /data/newpart /data/newpart ext4 defaults 0 2sudo mount -a 如果运行通过则说明文件写入成功,新建的文件系统会在操作系统启动时自动挂载。
输入 reboot手动重启后再输入 df -h`,可以看到硬盘已经自动挂载成功了

本章节(上)部分内容结束,感谢阅读~
]]>(已更新Zsh无法使用环境变量问题)
一般如果需要运行java程序时,需要一个简单、稳定的jdk或者jre环境,如下操作即可快速搭建java环境...
使用指令 sudo apt search jdk 即可搜索软件源中的jdk各类版本,找到需要的版本并复制下包名,使用 sudo apt install 包名 即可安装,如图:

通常情况下安装这个版本即可,使用指令 sudo apt install openjdk-11-jdk
如果所需的应用需要特定java环境或者想安装更新版本,可以去手动下载安装包,然后上传并解压等...
java常见下载站:
以AdoptOpenJDK为例,我们本篇文章是为树莓派安装jdk环境,因此选择的“其他平台”
本文推荐选择OpenJDK 11 ,此版本为长期支持版,较稳定,且此版本可以通过上面方法一快速安装。本文演示了OpenJDK 15版本的手动安装
依次选择 OpenJDK 15 —— HotSpot,在下面Operating System出选择Linux,Architecture处选择系统版本
如果是树莓派官方系统,应选择arm32,除非你的树莓派是安装了64位系统版本

在下面筛选出的版本中选择JDK版本下载(如果没有编译等生产需求,可以下载JRE版本,文件体积较小)

下载完后将压缩包上传至树莓派内,并解压,指令为 tar -zxvf 压缩包名

使用指令 mv ./jdk-15.0.2+7 /usr/java 将解压出的文件夹放在 /usr/java 文件夹,或者也可以放到 /etc/java 等其他地方,记下路径,可以输入 pwd 查看当前路径,选中后右键即可复制
配置环境变量:
sudo nano /etc/profile在文件末尾添加上以下内容:
export JAVA_HOME=/usr/java/jdk-15.0.2+7
export CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin其中,第一行的路径应该改成java存放的位置,如上述中我将解压出来的 jdk-15.0.2+7 文件夹放到了 /usr/java/ ,因此第一行填入当前的路径
修改完毕后按 Ctrl+O 保存,按 Ctrl+X 退出编辑
输入 source /etc/profile 刷新环境变量(无需重启)
输入 java -version 查看版本信息,如果出现版本信息即为安装成功
如果安装了zsh,在zsh下使用java指令会显示
zsh: command not found: java此时可以将/etc/profile添加的内容复制到用户目录下的.zshrc文件内,然后再输入
source .zshrc如图:

Zsh 属于 Shell 的一种,和 Bash 一样,但比 Bash 更好用,Zsh 完全兼容 Bash,拥有极其丰富的插件,其强大的自动补全参数、文件名以及自定义功能,可以大大提高我们使用 Linux 的效率。
本文将会展示安装zsh、美化主题与安装自动填充插件的过程。本文摘选自网络,原文:https://www.cnblogs.com/ShawnChan/p/11723626.html
echo $SHELLapt install -y zshchsh -s /bin/zshapt install -y gitsh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)" git clone https://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh
复制配置文件:
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc主题列表可见github:https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
vim .zshrc 修改 ZSH_THEME="ys"
"ys"为要修改主题的名称,可见github列表
插件列表可见github:https://github.com/ohmyzsh/ohmyzsh/wiki/Plugins
官网:Incremental completion on zsh(https://mimosa-pudica.net/zsh-incremental.html)
wget -O incr-0.2.zsh https://mimosa-pudica.net/src/incr-0.2.zshcp incr-0.2.zsh .oh-my-zsh/plugins/source ~/.oh-my-zsh/plugins/incr*.zshgit clone git://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestionsplugins=(git zsh-autosuggestions)最后使用source ./zshrc重新加载zsh配置文件
凭个人需求和经验慢慢收录各种各样的Linux指令,包括且不仅于Debian系、红帽系等系统常用指令...
apt/apt-get
Debian系系统常用软件包管理指令,常用子命令:
install 从仓库寻找并安装软件包(软件包名字后加"="再加版本号,可以安装指定版本的软件包)
remove 移除软件包及重要依赖
autoremove 自动移除软件包及相关依赖
update 更新软件仓库
upgrade 获取软件更新并自动更新到最新版本
search 关键词搜索软件包yum
红帽系系统常用软件包管理指令,同系统下类似的指令还有dnf等(没详细了解)
install 同上,安装用man
单词manual的缩写,即使用手册的意思,可以通过指令如`man apt`来查看apt指令的使用手册
q 退出
Enter 按行下翻
Space 按页下翻
b 上翻一页
/字符串 在手册页中查找字符串netstat
用来显示网络状态,比较常用的有查看当前使用的端口等功能
netstat -tunlp 用于显示 tcp,udp 的端口和进程等相关
netstat -tunlp | grep 端口号 查看指定端口占用情况
netstat -ntlp 查看全部tcp端口占用
netstat -apu 查看UDP端口占用
netstat -i 显示网卡列表Linux用户与用户组添加:
//添加可登陆的普通账户,无su权限,无默认密码
sudo useradd yanhy
//设置初始密码
sudo passwd yanhy
//添加sudo权限,先修改sudoers为可写权限
chmod u+w /etc/sudoers
//编辑sudoers
vi /etc/sudoers
在 root ALL=(ALL:ALL) ALL 下面添加xxx ALL=(ALL) ALL
yanhy ALL=(ALL:ALL) ALL //允许用户yanhy执行sudo,需要密码
%yanhy ALL=(ALL:ALL) ALL //允许用户组yanhy里面的用户执行sudo,需要密码
yanhy ALL=(ALL:ALL) NOPASSWD: ALL //允许用户yanhy执行sudo且不输入密码
%yanhy ALL=(ALL:ALL) NOPASSWD: ALL //允许用户组yanhy里面的用户执行sudo且不输入密码
//撤销sudoers写入权限
chmod u-w /etc/sudoers
//查看全部用户
cat /etc/passwd
补充:
默认添加账户指令详细内容:
[root@localhost ~]# grep "yanhy" /etc/passwd
yanhy:500:500::/home/yanhy:/bin/bash
UID从500开始,自动创建home目录,bash默认为/bin/bash
新增账户时默认密码配置:
[root@localhost ~]# grep "yanhy" /etc/shadow
yanhy:!!:15710:0:999:7:::
密码为“!!”即无密码,密码有效期为999天,到期前7天将会提醒
新增账户时默认用户组配置:
[root@localhost ~]# grep "yanhy" /etc/group
yanhy:x:500:
创建用户时默认会创建和用户名相同的用户组,且GID也是从500开始
===以下为samba添加用户时附加操作===
//新增用户组为samba,用户组id为2000
sudo groupadd samba -g 2001
//添加无法登陆的账户,用于网盘等子账户,uid为2000,用户组id为2001(无法登陆终端的账户)
sudo useradd yanhy -u 2000 -g 2001 -s /sbin/nologin -d /dev/null
//授予访问权限
sudo chown -R yanhy:samba /home/ubuntu/
//同时再给自己一边权限
sudo chown -R ubuntu:ubuntu /home/ubuntu/
//添加samba用户密码
sudo smbpasswd -a yanhy
Screen使用方法简要总结(指令区分大小写)
- screen -ls 列出所有创建的窗口
- screen -S xxxx 新建一个名字为`xxxx`的新窗口并进入
- screen -r xxxx 进入一个名字为`xxxx`的窗口,如果没有这个名字的窗口会显示`There is no screen to be resumed matching xxxx.`
- screen -R xxxx 进入一个名字为`xxxx`的窗口,如果没有这个窗口会自动创建新窗口且名字为`xxxx`
- 关闭screen 进入一个窗口,然后关闭当前的项目,再输入exit,即可退出窗口并从列表中移除
- Ctrl + a + d 暂离当前窗口(进入一个窗口后,先按ctrl+a,保持ctrl键再按d即可离开该窗口,不影响运行的项目)
- screen -wipe 列出全部窗口并自动移除无效的窗口
- 出现名字相同的多个窗口时,进入窗口时需要输入id而不是窗口名,如:列表中有`114514.test` `1919810.test`,进入窗口时需要输入`screen -r 114514`
- kill 9 id号 强制杀死窗口进程(id号为`23333.Name`中的`23333`,如 `kill 9 23333`,不能输入窗口名)
修改bashrc文件后刷新
- 重新打开终端
- sudo source .bashrc
]]>2.设置时间和日期
例如:将系统日期设定成2021年11月24日的命令
命令 : "date -s 11/24/2021"
将系统时间设定成下午5点55分55秒的命令
命令 : "date -s 17:55:55"
安装ntp服务命令:
apt install ntp 或者 yum install ntp
[+]表示服务已启动
ntp常用服务器:
中国国家授时中心:210.72.145.44
NTP服务器(上海) :ntp.api.bz
美国:time.nist.gov
复旦:ntp.fudan.edu.cn
微软公司授时主机(美国) :time.windows.com
台警大授时中心(台湾):asia.pool.ntp.org
]]>