yanhy的学习记录匣 - 2022年3月
https://yanhy.top/index.php/2022/03/
探索知识的宝箱,记录成长的脚步。欢迎来访Yanhy的博客站,在这里,每一页都是对知识无尽好奇的见证,每个故事都是学习旅程中的珍贵篇章,一起激发灵感,分享进步
-
Linux轻量云服务器云硬盘搭建网盘(下)
https://yanhy.top/index.php/archives/202/
2022-03-29T22:22:00+08:00
腾讯云今年春节活动优惠力度较大,在这期间我也采购了一台服务器与俩数据盘,准备作为网盘...硬盘初始化与挂载请看上一篇:Linux轻量云服务器云硬盘搭建网盘(上)资源:轻量云服务器2c4g 6M带宽云盘程序-cloudreve云硬盘100G+1000G网盘程序安装创建一个文件夹用于存放软件与配置文件: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,即可进入网盘登陆页面,登陆后的页面如下接下来先去管理面板修改用户信息如密码等,此处不再赘述,主要讲述如何配置硬盘到网盘中网盘管理配置1、上传路径修改进入管理面板-存储策略中,修改默认策略以向导模式打开储存目录可设置前面云硬盘挂载的位置,由上一章可知路径为 /mnt/data1,因此存储目录路径可填写:/mnt/data1/{path}如果计划将该网盘给多用户使用,可以这样填写:/mnt/data1/{uid}/{path}文件重命名处设置可以根据网盘用途来修改,如果多人使用,默认即可;如果仅自己使用,可以修改为原始文件名或者选择不开启即可:{originname}如不开启默认为{randomkey8}_{originname},不容易分辨,推荐使用上述变量2、直链设置此处如果是使用云服务器有公网时,可以根据自己需求选择是否开启;如局域网内无公网,开启后无法用于公网分享文件3、上传限制同样的,如果是自用,全部关闭限制即可,如果多人使用的话推荐打开,防止大文件上传吃带宽等情况4、分配用户储存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网盘配置到此结束,但是该程序并没有解决本文的初始问题,因为云服务器有两块硬盘,本程序只能单网盘授权用户,因此还需更换程序...
-
Linux轻量云服务器云硬盘搭建网盘(上)
https://yanhy.top/index.php/archives/191/
2022-03-29T06:44:00+08:00
腾讯云今年春节活动优惠力度较大,在这期间我也采购了一台服务器与俩数据盘,准备作为网盘...资源:轻量云服务器2c4g 6M带宽云盘程序-cloudreve云硬盘100G+1000G云服务器挂载硬盘前往轻量服务器云硬盘后台挂载硬盘至目标服务器上云硬盘初始化挂载成功后,通过ssh连接至服务器,输入fdisk -l可查看到新挂载的硬盘容量大小及硬盘id(此处主硬盘为vda,新挂载的硬盘为vdb、vdc)由于该云硬盘在之前挂载过windows server系统的服务器,使用指令fdisk -l得知已经被win分区处理过。因云硬盘上没有重要信息需要转移,所以这里准备直接进行重新初始化操作...如果硬盘为新购挂载的可以直接查看“云硬盘初次使用初始化”...win转linux云硬盘二次初始化执行以下指令,进入 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 2以使用磁盘分区的 UUID 自动挂载为例,结合前文示例则添加:UUID=d489ca1c-5057-4536-81cb-ceb2847f9954 /data ext4 defaults 0 0若您需挂载分区,则结合前文示例则添加:UUID=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 2按 Esc,输入 :wq 并按 Enter 保存设置并退出编辑器。执行以下命令,检查 /etc/fstab 文件是否写入成功。sudo mount -a 如果运行通过则说明文件写入成功,新建的文件系统会在操作系统启动时自动挂载。输入 reboot手动重启后再输入 df -h`,可以看到硬盘已经自动挂载成功了本章节(上)部分内容结束,感谢阅读~
-
在树莓派Linux多方式安装Java
https://yanhy.top/index.php/archives/66/
2022-03-29T06:34:00+08:00
(已更新Zsh无法使用环境变量问题)一:使用apt自动化安装jdk一般如果需要运行java程序时,需要一个简单、稳定的jdk或者jre环境,如下操作即可快速搭建java环境...使用指令 sudo apt search jdk 即可搜索软件源中的jdk各类版本,找到需要的版本并复制下包名,使用 sudo apt install 包名 即可安装,如图:通常情况下安装这个版本即可,使用指令 sudo apt install openjdk-11-jdk二:手动下载安装自己所需jdk版本如果所需的应用需要特定java环境或者想安装更新版本,可以去手动下载安装包,然后上传并解压等...下载JDKjava常见下载站:AdoptOpenJDK(支持各平台): https://adoptopenjdk.net/releases.htmlLiberica OpenJDK(嵌入式适用): https://bell-sw.com/OracleJDK(甲骨文jdk,部分程序不兼容): https://www.oracle.com/java/OracleJAVA(传统JRE,版本较低,稳定): https://www.java.com/以AdoptOpenJDK为例,我们本篇文章是为树莓派安装jdk环境,因此选择的“其他平台”本文推荐选择OpenJDK 11 ,此版本为长期支持版,较稳定,且此版本可以通过上面方法一快速安装。本文演示了OpenJDK 15版本的手动安装依次选择 OpenJDK 15 —— HotSpot,在下面Operating System出选择Linux,Architecture处选择系统版本如果是树莓派官方系统,应选择arm32,除非你的树莓派是安装了64位系统版本在下面筛选出的版本中选择JDK版本下载(如果没有编译等生产需求,可以下载JRE版本,文件体积较小)配置JDK下载完后将压缩包上传至树莓派内,并解压,指令为 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,在zsh下使用java指令会显示zsh: command not found: java此时可以将/etc/profile添加的内容复制到用户目录下的.zshrc文件内,然后再输入source .zshrc如图:本文到此结束,感谢支持!
-
Linux使用 Oh-My-Zsh 美化终端
https://yanhy.top/index.php/archives/182/
2022-03-29T04:55:00+08:00
Zsh 属于 Shell 的一种,和 Bash 一样,但比 Bash 更好用,Zsh 完全兼容 Bash,拥有极其丰富的插件,其强大的自动补全参数、文件名以及自定义功能,可以大大提高我们使用 Linux 的效率。本文将会展示安装zsh、美化主题与安装自动填充插件的过程。本文摘选自网络,原文:https://www.cnblogs.com/ShawnChan/p/11723626.html查看当前shellecho $SHELL安装zshapt install -y zsh切换默认shellchsh -s /bin/zsh安装gitapt install -y git安装oh-my-zsh管理器自动安装sh -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/Themesvim .zshrc 修改 ZSH_THEME="ys""ys"为要修改主题的名称,可见github列表安装自动补全插件incr自动补全插件插件列表可见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.zsh复制incr*.zsh文件到pluginscp incr-0.2.zsh .oh-my-zsh/plugins/在.zshrc 文件末尾添加下面这行source ~/.oh-my-zsh/plugins/incr*.zsh重新打开终端,以使配置生效zsh-autosuggestions自动补全插件下载插件(该命令会将插件自动clone到.oh-my-zsh目录中)git clone git://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions编辑.zshrc文件(找到plugins=(git)这一行,如果没有添加。更改为如下)plugins=(git zsh-autosuggestions)最后使用source ./zshrc重新加载zsh配置文件
-
Linux常用操作指令(更新中)
https://yanhy.top/index.php/archives/151/
2022-03-29T04:48:00+08:00
凭个人需求和经验慢慢收录各种各样的Linux指令,包括且不仅于Debian系、红帽系等系统常用指令...apt/apt-getDebian系系统常用软件包管理指令,常用子命令:
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
-
Linux更改时间
https://yanhy.top/index.php/archives/156/
2022-03-29T04:46:00+08:00
修改日期时间:查看时间和日期命令 : "date"2.设置时间和日期例如:将系统日期设定成2021年11月24日的命令命令 : "date -s 11/24/2021"将系统时间设定成下午5点55分55秒的命令命令 : "date -s 17:55:55"将当前时间和日期写入BIOS,避免重启后失效(用于玩客云arm等设备)命令 : "hwclock -w"使用ntp服务同步网络时间:检查系统是否安装ntp服务安装ntp服务命令:apt install ntp 或者 yum install ntpservice --status-all:检查ntp服务是否启动[+]表示服务已启动ntpdate 服务器IP:同步服务器时间ntp常用服务器:中国国家授时中心:210.72.145.44
NTP服务器(上海) :ntp.api.bz
美国:time.nist.gov
复旦:ntp.fudan.edu.cn
微软公司授时主机(美国) :time.windows.com
台警大授时中心(台湾):asia.pool.ntp.org