Centos, RockyLinux 常用软件安装汇总

在这里插入图片描述

一、基本指令:
命令作用
clear清屏
pwd显示当前路径
cat / more显示文本文档
uname -a查看当前版本
hostnamectl查看当前版本
cat /etc/redhat-release查看当前版本
free查看剩余内存
df -h[查看磁盘剩余空间]
du -sh 查看文件夹名"dir"占用的空间
lsof -i:8080查看8080端口是否被占用
find . -name “filename.txt”搜索filename.txt文件,包括子目录
groupadd abc创建一个名为abc的用户组
useradd -g abc abc在abc组里添加一个名为abc的用户
chown -R sammy ~/dir将目录dir的拥有者设为用户sammy
cut -d : -f 1 /etc/passwd查看所有用户
cat /etc/grou查看所有用户组
tail -n 20 filename显示filename最后20行
chmod -R 777 dir将目录dir整体变为777
rm -rf dir整体删除dir
cp -r -a ./* /dir将当前路径下所有文件包括子目录全部拷贝到dir
tar -xvzf filename解压缩gz文件
gzip -d filename解压缩gz文件
unzip -x filename解压缩zip文件
zip -r filename.zip ./*压缩当前目录下全部内容
rpm -ivh filename安装一个包
rpm -Uvh filename升级一个包
rpm -e 卸载一个包
nohup cmds >/dev/null 2>&1 &无任何输出或log,在后台运行一个cmds指令

二、小窍门篇
带参数的alias快捷命令:

nano ~/.bashrc
输入以下内容:

alias psa="psa"
psa()
{ps -A|grep $@
}

存盘退出,执行:
source ~/.bashrc
生效后输入例如:psa bash (就相当于ps -A|grep bash)


简便的开机自启动方法:

crontab -e (输入这条指令后会自动打开默认编辑器,一般是vim)
然后输入:

@reboot sleep 5;/root/autoexec.sh

存盘退出。
意思是:每次系统重启后,执行autoexec.sh脚本。


分区 & 格式化
  1. 先看看有几个物理硬盘:
    fdisk -l
  2. 选择一个物理硬盘来分区
    fdisk /dev/vdb1 (我这里为vdb1)
  3. 进去后使用的是快捷命令:
    p : 查看当前分区
    d:删除当前分区
    n:创建一个新的分区
    w: 存盘退出(所有改动生效)
    q: 不存盘、退出(所有改动不生效,安全)
    一个一个子分区先删除干净之后才能建立新分区

如果是新硬盘,一般来说的默认操作流程是:

Created a new DOS disklabel with disk identifier : 选n
Select (default p): 选(p)主分区
Partition number (1-4, default 1): 选(1)个分区
First sector (2048-419430399, default 2048): 直接敲回车 (起始扇区)
Last sector, +sectors or +size{K,M,G,T,P} (2048-419430399, default 419430399): 直接敲回车
Command (m for help): p (查看一下分区设置)
Command (m for help): w (写入)

格式化:
mkfs.ext4 /dev/vdb1 (等待命令执行完成)
4. 挂载新硬盘到操作系统的某个节点上
mkdir /data
mount /data /dev/vdb1
5. 大功告成后,可用 df -h 指令再查看查看


安装Aapache:
  1. yum install httpd.x86_64 (安装)
  2. systemctl start httpd.service (启动)
  3. systemctl enable httpd.service (自启)

然后到浏览器那边测试一下:http://服务器ip
会出现一个Testing 1.2.3的测试页。
Apache的主页默认路径: /var/www/html/
Apache的主设置文件路径:/etc/httpd/conf/httpd.conf


安装PHP:

dnf groupinstall 'PHP Support' -y (安装)
systemctl restart httpd.service (重启一下Apache即可)

安装mysql支持(mariadb):

dnf install mariadb-server mariadb -y
systemctl start mariadb
systemctl enable mariadb

MySQL初始密码问题

忘记root密码,root权限被意外剥夺,看不到mysql表这种情况:

  1. systemctl stop mariadb.service (先关服务)
  2. /usr/bin/mysqld_safe --skip-grant-tables & (进入安全模式)
  3. mysql -uroot (不需要密码,直接进人)
  4. show databases;可以看到mysql表了
  5. use mysql;
  6. update user set password=password('yournewpasswordhere') where user='root';
  7. flush privileges;

vsFTP 安装:

请访问我的另一篇博文:

https://blog.csdn.net/rockage/article/details/133759477?spm=1001.2014.3001.5502


全新安装官方版MySQL:

以下为全新安装Oracle官方原版MySQL的方法:
1:为yum指令添加源
先搞清楚到底要下载哪个源,用指令:uname -a
看看服务器版本号,我这边显示的是el7
然后去这个网址:
MySQL :: Download MySQL Yum Repository
下载一个:mysql57-community-release-el7-11.noarch.rpm (对应之前的el7)
注意:如果是Centos 6,需要下载针对el6内核使用的rpm
然后用鼠标右键点击下载链接,复制绝对地址,直接用wget指令下载
(如果实在找不到绝对地址,也可以先用浏览器下载到本地再FTP到服务器也一样):

wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
然后执行以下指令:
rpm -Uvh mysql57-community-release-el7-11.noarch.rpm
这个动作很快,就几秒钟的事儿。

  1. 安装MySQL
    有了源之后,就可以用这个指令安装了:
    yum install mysql-community-server
    注意这个过程非常漫长,要有耐心。

装完之后会有一个小结,如果原机装有Mariadb或者旧版MySQL的话,可以看到
Replaced:
mysql-libs.i686 0:5.1.73-8.el6_8
会被新装这个MySQL替换(Replaced)掉。

  1. 启动服务
    装完后,用以下指令开启MySQL服务:
    systemctl start mysqld.service
    systemctl enable mysqld.service (自启动)
    systemctl status mysqld.service (查看状态)
    这一步也是有可能出问题的,如果之前旧的Maroadb或MySQL在/var/lib/ 下面有mysql目录(这是mysql主数据目录,所有的数据库、表之类都存放于此),则会报错:
    initialize specified but the data directory has files in it. Aborting.
    好在这个问题不难解决,删除这个数据目录:
    rm -rf /var/lib/mysql
    删除之后,不能再去手动建立,只要执行mysql,程序会自动创建。

  2. 初始化设置
    在上面的安装过程中,产生了一个临时密码,在/var/log/mysqld.log文件里,
    第一步是让它高亮出来:
    grep ‘temporary password’ /var/log/mysqld.log
    记下这个密码。

用刚才那个临时密码登陆:
mysql -uroot -p

进去之后用这个指令改变初始密码:
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘NewPassword’;

如果显示: Your password does not satisfy the current policy requirements

这不是大问题,只是说明密码强度不够,再想一个复杂一点的密码即可。

  1. 设置远程访问
    现在整个儿MySQL基本就已经装好了,但是仅限于本地使用(对于BS结构的程序来说够了)
    如果还需要用Navicat等工具远程登陆,或者一些CS结构的软件,还需要做下一步:
    mysql -uroot -p (首先进入mysql服务器,用刚才设置的新密码)
    mysql>use mysql;
    mysql>update user set host = ‘%’ where user = ‘root’; (将root帐号的host改为%也就是说任意客户端皆可访问)
    mysql>FLUSH PRIVILEGES; (全局刷新一下就OK了,现在再试试Navicat应该就能连通了)

  2. 在已经设置了root密码的情况下重新修改root密码的方法(忘记了root密码怎么办):
    首先要进入安全模式
    systemctl stop mysqld.service (先关mysql服务)
    nano /etc/my.cnf (修改mysql配置文件)
    加入一行:
    skip-grant-tables
    存盘退出
    systemctl start mysqld.service (启动mysql)
    mysql -uroot -p (不需要密码直接进入)
    use mysql;
    update mysql.user set authentication_string = PASSWORD(‘123456’) where User=‘root’;
    FLUSH PRIVILEGES;
    quit;
    从mysql命令行模式出来之后,
    systemctl stop mysqld.service (先关闭mysql)
    nano /etc/my.cnf
    去掉skip-grant-tables这一行,或者在前面加个#号注释掉 (恢复mysql正常工作状态)
    存盘退出。
    systemctl start mysqld.service (再重启mysql即可)


NodeJS 安装

方法一:
通过dnf仓库安装nodejs和cnpm (cnpm源自淘宝,比原版npm快)
dnf install -y nodejs.x86_64
npm install -g cnpm --registry=https://registry.npm.taobao.org
cnpm install forever -g (示例:用cnpm装一个forever)


方法二:手动安装最新(任意版本)的nodejs:

  1. dnf -y remove nodejs (先卸载系统自带的nodejs)
  2. 访问:https://github.com/nvm-sh/nvm 获取最新nvm安装脚本
  3. curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash
  4. 关闭窗口再开一个新的SSH, 执行:
    nvm list-remote (列出所有node.js版本)
    nvm install v20.9.0
    npm install --global yarn (顺便装一个yarn)
    

解决electron报错的问题,执行:
export ELECTRON_MIRROR=https://npm.taobao.org/mirrors/electron/yarn add electron -W

Java JDK环境安装
  • 首先查看现有的java安装路径,判断是java11还是17:
    readlink -f $(which java)
    或者:
    dirname $(dirname $(readlink -f $(which java)))
  • 安装java 17
    dnf search jdk | egrep -- '-17'
    sudo dnf install java-17-openjdk java-17-openjdk-devel
    sudo alternatives --config java
    
  • Java 参数
    export JAVA_OPTS=-Xmx5g
    export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-17.0.9.0.9-2.el9.x86_64

gcc 11.4.0 安装
1. dnf install -y wget bzip2
2. wget https://mirrorservice.org/sites/sourceware.org/pub/gcc/releases/gcc-13.2.0/gcc-13.2.0.tar.gz
3. tar xf gcc-13.2.0.tar.gz
4. cd gcc-13.2.0
5. ./contrib/download_prerequisites
6. mkdir build && cd build
7. ../configure --enable-languages=c,c++ --disable-multilib --prefix=/usr/local/gcc-13.2.0
8. make -j$(nproc) &&  make install (-j表示多核编译)
9. nano /root/.bashrc
10. export PATH=/usr/local/gcc-13.2.0/bin:$PATH
11. export LD_LIBRARY_PATH=/usr/local/gcc-13.2.0/lib64:$LD_LIBRARY_PATH
12. source /root/.bashrc

查看结果:
strings /usr/local/gcc-13.2.0/lib64/libstdc++.so.6 | grep GLIBCXX


GNOME环境安装 + VNC服务器安装
  • Step 1 . 安装 GNOME 桌面
    dnf groupinstall -y "Server with GUI"
    reboot (重启)

  • Step 2 . 安装 TigerVNC Server

    1. dnf install -y tigervnc-server
    2. cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
    
  • Step 3 . 首先以 root 账户登录,创建1个VNC帐号(本例为用户名 rockage ) 并设置密码
    useradd -c "VNC for Rockage" rockage
    passwd rockage

  • Step 4 — 设置 VNC Service

    1. exit (退出当前 root 账号)
    2. 重新登录,用户名为 rockage (登录密码为刚才生成那个)
    3. 输入:vncpasswd (输入vnc访问密码,注意和登录密码的区别)
    4. exit (退出当前 rockage 账号)
    5. 重新登录,用户名为 root
    6. 输入:
    cp /etc/tigervnc/vncserver-config-defaults /home/rockage/.vnc/config
    
    1. 编辑文件:nano /home/rockage/.vnc/config
    session=gnome
    securitytypes=vncauth,tlsvnc
    desktop=sandbox
    geometry=2000x1200
    alwaysshared
    
    1. 编辑文件:nano /etc/tigervnc/vncserver.users
    :1=rockage
    
    1. 让设置生效:
    systemctl daemon-reload
    systemctl start vncserver@:1.service
    systemctl enable vncserver@:1.service
    
  • Step 5 . 设置防火墙
    开启防火墙:systemctl start firewalld
    开放5901端口:

    firewall-cmd --permanent --zone=public --add-port=5900-5901/tcp
    

    你可能会问,为啥是5901?因为TigerVNC自身使用5900端口,而每一个VNC用户又都拥有自己的独立端口号,规定以 “5900+VNC用户编号” 为原则,刚才配置文件编号是1,那么这个独立进程的端口就是5900+1

    刷新防火墙设置
    firewall-cmd --reload
    如果总是报错或者连不上,可以用systemctl stop firewalldsystemctl disable firewalld, 干脆把防火墙先关再试试。

  • 用nftables设置防火墙:
    Centos8已经全面使用nftable了,也比较简单:
    首先创建一个 nft 脚本比如:nano test.nft,复制以下内容:

    flush ruleset
    table inet filter {chain input {type filter hook input priority 0; policy drop;ct state established,related acceptct state invalid dropiif lo acceptip protocol icmp icmp type { destination-unreachable, router-solicitation, router-advertisement, time-exceeded, parameter-problem } acceptip protocol igmp accept#放行端口:tcp dport { 5000,5001, 3306, 8080, 3000, http, https} accept}chain forward {type filter hook forward priority 0; policy drop;}chain output {type filter hook output priority 0; policy accept;}
    }
    

    存盘退出。
    用:nft -f test.nft 加载即可。

  • Step 6 . 使用VNC客户端软件
    下载地址:http://www.onlinedown.net/soft/251613.htm
    安装很简单,一直下一步即可,打开主界面也没什么可设置的,直接在地址框输入你的服务器IP:5901,如127.0.0.1:5901 ,输入完毕后点 Connect 即可。


Chrome 安装

下载:
wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm

然后用rpm安装:
rpm -ivh google-chrome-stable_current_x86_64.rpm

基本上会报一堆错误,例如:

warning: google-chrome-stable_current_x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID 7fac5991: NOKEY
error: Failed dependencies:
/usr/bin/lsb_release is needed by google-chrome-stable-74.0.3729.131-1.x86_64
libXss.so.1()(64bit) is needed by google-chrome-stable-74.0.3729.131-1.x86_64
libappindicator3.so.1()(64bit) is needed by google-chrome-stable-74.0.3729.131-1.x86_64
liberation-fonts is needed by google-chrome-stable-74.0.3729.131-1.x86_64

不要着急,报错是正常的流程之一,现在用repoquery命令一个一个分析,比如:
repoquery --nvr --whatprovides libappindicator3.so.1
系统显示:
libappindicator-gtk3-12.10.0-13.el7
发现少了这个包,那么我们直接用dnf去安装:
dnf install libappindicator-gtk3-12.10.0-13.el7 -y
其他依葫芦画瓢都这么一个一个用dnf安装即可,唯一需要注意的是,/usr/bin/lsb_release 这个包是这样安装的:
dnf install *lsb* -y
对于我的系统而言,我需要安装以下包:

yum install libXScrnSaver-1.2.2-6.1.el7 -y
yum install libappindicator-gtk3-12.10.0-13.el7 -y
yum install liberation-fonts-1.07.2-16.el7 -y
yum install *lsb* -y

装完之后,再输入一遍:
rpm -ivh google-chrome-stable_current_x86_64.rpm
这回终于不报错了,安装成功。

回到桌面,发现桌面的 Internet 分类里已经有了 Chrome 的图标了。
如果无法启动,说明你现在使用的是root账户,因为chrome默认是不能给root用户运行的。打开文件管理器,找到 /usr/share/applications/路径下的Chrome图标,右键属性,然后把Command改成:
/usr/bin/google-chrome-stable %U --no-sandbox
或者直接在桌面的Terminal里面用命令行启动:
/usr/bin/google-chrome-stable --no-sandbox


CentOS 7 开机自动启动脚本的方法
1、创建脚本

在 /usr/lib/systemd/system 下面创建一个文件,这个文件名即是我们要设置的服务,例如现在想自定义一个服务rockage:
nano /usr/lib/systemd/system/rockage.service
在此文件中输入以下内容:

[Unit]
Description=rockage
After=network.target[Service]
Type=forking
ExecStart=启动命令或脚本
ExecReload=重新启动的命令或脚本
ExecStop=停止运行的命令或脚本
PrivateTmp=true[Install]
WantedBy=multi-user.target

存盘退出。
ExecStart,ExecReload,ExecStop 这三个选项分别对应启动、重启、停止,如果命令够简单的话,直接输入就行了,一个命令不够,中间还可以用&&连接。如果命令行实在太复杂或者还需要做逻辑判断等,将需要运行的指令放到一个可执行脚本里,标明脚本路径即可。

注意:Type=forking 这行的意思是,像 nginx 那种输入命令后程序本身就可以自动驻留内存的就用forking。而其他前台程序,就是指那些运行完毕后(或者按下CTRL+C)不自动驻留内存的程序,最简单的比如说 ls 这一类,此处就用Type=simple


2、实际案例

举一个实例,比如我的Start、Reload、Stop分别对应3个脚本:

ExecStart=/root/myweb/start.sh
ExecReload=/root/myweb/restart.sh
ExecStop=/root/myweb/stop.sh

查看一下Start脚本,cat /root/myweb/start.sh

	#!/bin/bashforever start ./bin/www

此脚本自动运行node.js的forever,作用是将nodejs制成的网站置于后台运行。注意,服务脚本第一行是 #! ,这不是注释,而是标明这个脚本是由哪个shell 来执行,如我们经常见到的 #!/bin/bash,这表示此脚本由bash来解析。


3、脚本调试

输入以下命令:

systemctl daemon-reload
systemctl start rockage

如果出现绿色的:Active: active (running),说明正常,如果是红色的则表示运行有误,需要排查,另外还可以通过:
journalctl -fu rockage
命令查看完整 log 以定位故障点。一切无误后,输入:

systemctl enable rockage

将 rockage 写入系统服务,这样每次重启后系统将自动运行它。


4、进阶篇

查看service启动顺序:
systemctl list-dependencies
<可选项 --after service-name--before service-name> ,
例如:systemctl list-dependencies --after rockage

查看所有已启动的服务:
systemctl list-units --type=service
或者
systemctl list-units --type=target

在service里设定环境变量:
注意:service 里的环境变量和系统环境变量是独立的,如果某些程序需要依赖环境变量的话,必须单独在 service 文件的 [Service] 一节里显式标记:

  • 方法1直接添加:
    Environment="PATH=/usr/local/bin:/usr/bin:/bin"
  • 方法2用文件添加:
    EnvironmentFile=/etc/my_service.env

5、systemctl 命令汇总
systemctl start service-name (启动)
systemctl stop service-name(停止)
systemctl restart service-name(重启)
systemctl enable service-name (设为自启动)
systemctl disable service-name (取消自启动)
systemctl mask service-name (完全屏蔽自启动)
systemctl status service-name (服务状态)
journalctl -fu service-name (完整的服务状态log)

6、一个不太常见的坑:

如果系统总是报告这个错误:

[/usr/lib/systemd/system/rockage.service:5] Missing ‘=’.

多半是由于文件没有以utf8保存导致。
这种情况下,随便在 /usr/lib/systemd/system/ 目录下找个“模板”, cp 复制成你自己的,再重新编辑就好。


NextCloud 私有云安装

参考我的博文:
https://blog.csdn.net/rockage/article/details/99216552


Syncthing 云同步

cat /proc/version 查看系统版本(我的是64位)
访问:
https://syncthing.net/downloads/
下载64位Linux版并解压:

wget https://github.com/syncthing/syncthing/releases/download/v1.8.0/syncthing-linux-amd64-v1.8.0.tar.gz
tar zxf syncthing-linux*
cd syncthing-linux*
cp syncthing /usr/local/bin
syncthing (启动Syncthing)

出现INFO: Detected 0 NAT services 的时候,
按CTRL+C退出程序,编辑配置文档:
nano /root/.config/syncthing/config.xml
搜索:127.0.0.1:8384 改为 0.0.0.0:8384
存盘退出。
重新启动Syncthing,输入:

syncthing

这次不要按CTRL+C退出,直接去浏览器访问8384端口:
比如:http://127.0.0.1:8384 ,如果能出现WebUI,说明工作正常。


Windows 客户端

下载SyncTrayzor:https://github.com/canton7/SyncTrayzor/releases/tag/v1.1.24
安装后进入SyncTrayzor,删除默认的Default Forder,新建一个Sync的共享目录,物理地址是:D:\Sync


Syncthing 设置

我的实际情况是,需要同步公司电脑和家里电脑的数据,因为这两台电脑都做不到永不关机,因此需要通过一台VPS来做中转:
在这里插入图片描述

注意:本质上来说,Syncthing 并没有服务器/客户端的概念,任何一个节点既是服务器也是客户端,因为本例用了一台VPS作为一个永不关机的常备,姑且把它称为服务器。

现在,打开浏览器,输入VPS地址:http://ip:8384

在服务器的WebUI进行设置,删除默认的Default forder,新建一个Sync的共享目录,物理地址是:/root/Sync

添加远程设备:

  1. 此处的“远程设备”概念,是指HOME-PC,这里的当前设备是指 VPS
  2. 那么我们如何知道HOME-PC的ID? - 现在回到HOME-PC的SyncTrayzor - 点右上角的[操作] - [显示ID],把这一串字符串复制起来
  3. 把刚才得到的字符串粘贴到添加远程端这个项目里, 在【共享】里有一个“选择与该设备共享的文件夹”,勾选Sync
  4. 页面不要关闭,等一下还要从这里拷贝VPS的ID

现在回到家里的电脑,也就是HOME-PC这边

  1. 打开SyncTrayzor
  2. 添加远程设备,现在的远程设备倒过来了是指VPS,当前设备是指HOME-PC
  3. 回到浏览器,切换到服务器的WebUI界面,同样的地方,点操作,点显示ID,并把这一行字符串粘贴过来
  4. 同样的,在【共享】里,勾选Sync
  5. 如果有其他的台式机(例如COMPANY-PC),一样依葫芦画瓢按此操作即可

问题篇
  1. Windows在启动SyncTrayzor的时候,如果报:

WARNING: Failed to initialize config: Config file version (31) is newer than supported version (29). If this is expected

去官网下载最新版的syncthing.exe,拷贝到:C:\Users\rocka\AppData\Roaming\SyncTrayzor里即可

  1. 各种设置都OK了,但是在同步的时候卡住不动怎么办?
    设置一下D:\Sync文件夹的权限,让本机USER对它有全部读写权限即可。

如何后台运行?

VPS上如果用CTRL+C中断Syncthing的命令行窗口,服务将终止,后台运行方法:

nohup syncthing &> /dev/null &

这种情况下如果需要退出,用 killall syncthing (杀掉syncthing 进程)即可。


如何将Syncthing注册为一个服务?

开机启动脚本在这个位置:

/安装包解压路径/syncthing-linux-amd64-v1.8.0/etc/linux-systemd/system

将这个文件拷贝到系统服务里(我在/root/syncthing下解压的安装包):

cp /root/syncthing/syncthing-linux-amd64-v1.8.0/etc/linux-systemd/system/syncthing@.service /usr/lib/systemd/system

将Syncthing设为root用户的专属服务:

mv /usr/lib/systemd/system/syncthing@.service /usr/lib/systemd/system/syncthing@root.service

编辑这个文件:
nano /usr/lib/systemd/system/syncthing@root.service
将:

ExecStart=/usr/bin/syncthing -no-browser -no-restart -logflags=0

改为:

ExecStart=/usr/local/bin/syncthing -no-browser -no-restart -logflags=0

存盘退出。
执行以下命令:

systemctl daemon-reload
systemctl restart syncthing@root  (启动服务)
systemctl enable syncthing@root (设为开机启动)

Windows客户端不采用SyncTrayzor的方案:

注意:此方案不需要安装SyncTrayzor,很轻量,
默认Sync配置文件和数据库在:
C:\Users\rocka\AppData\Local\Syncthing
将它Copy到其他位置,比如:
D:\SyncRoot
用记事本编辑一个文本文档:

@ECHO OFF
%1 start mshta vbscript:createobject("wscript.shell").run("""%~0"" ::",0)(window.close)&&exit
start /b syncthing.exe -config="D:\SyncRoot\Syncthing.conf" -data="D:\SyncRoot\Syncthing.conf\index-v0.14.0.db" -no-browser

存盘为一个批处理文件,比如:start-sync.bat
再将这个bat文件设为自启动即可,
如果需要进入UI,浏览器访问:http://127.0.0.1:8384/就行了


FAQ
  1. 如果进入管理UI的时候,总是报错:

    failed to setup inotify handler.

编辑文件:nano /etc/sysctl.conf

加一行:

fs.inotify.max_user_watches=204800

就可以了,需要重启。


点评篇

前后用过Seafile 和 Nextcloud方案,这两者都是正儿八经的云盘,功能繁多,但是体型也很庞大,部署起来很麻烦。如果应用场景仅仅是需要同步一下公司电脑和家里电脑的话,犯不上用这两者。Syncthing不是云盘,它就是一个同步器,可以让你在公司没干完的活同步到家里的电脑里继续完成。轻量、简单、部署方便,关键是传输速度比前两者快!


临时使用Nginx分享文件:

在nginx.conf 里增加一节: location /files { }

events {worker_connections  1024;
}http {server {listen       80;server_name  localhost;root  html;location /files {autoindex on;autoindex_exact_size off;autoindex_localtime on;alias  /usr/local/nginx/html/files/;charset utf-8;}}
}

新建一个目录: /usr/local/nginx/html/files

将需要共享的文件或者目录 ln 到 /usr/local/nginx/html/files
比如: ln /home/data /usr/local/nginx/html/files/data

注意权限,否则只能显示无法下载(报403错误):

chown -R www:www /home/data
然后用浏览器访问: http://你的网站地址或IP地址/files 即可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/143276.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【原创】java+swing+mysql车辆维修管理系统设计与实现

摘要&#xff1a; 车辆维修管理系统是一个用于管理和追踪车辆维修过程的系统&#xff0c;它能够提高效率&#xff0c;减少错误&#xff0c;并提供详细的车辆历史记录&#xff0c;可以帮助车辆维修企业实现信息化管理&#xff0c;提高工作效率和客户满意度&#xff0c;降低运营…

DevEco studio配置自己的虚拟环境

开始使用DevEco studio时使用的时华为预置的手机&#xff0c;通过网络访问&#xff0c;但是近期发现有两点问题 网络不稳定的时候机器很卡现在资源很难使用 DevEco提供了自定义环境的搭建&#xff0c;从而解决上面的问题 这里有几点问题需要硬盘至少10G空闲&#xff08;应该问题…

【考研数据结构代码题6】构建二叉树及四大遍历(先中后层)

题目&#xff1a;请你编写完整的程序构建一棵二叉树并对其进行先序遍历、中序遍历、后序遍历与层次遍历&#xff0c;分别打印并输出遍历结果 难度&#xff1a;★★★ 二叉树的存储结构 typedef struct Node{char data;//数据域struct Node* left;//左子树struct Node* right;//…

【评论送书】十本架构师成长和软件架构技术相关的好书(可以任选)

正文开始前给大家推荐个网站&#xff0c;前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。 参与规则 本次送书1~5本参与方式&#xff1a;关注博主、点赞、收藏、评论&#xff08;从评论区…

[工业自动化-18]:西门子S7-15xxx编程 - 软件编程 - PLC用于工业领域的嵌入式系统:硬件原理图、指令系统、系统软件架构、开发架构等

目录 前言&#xff1a; 一、PLC的硬件电路原理 1.1 硬件框图 1.2 硬件模块详解 &#xff08;1&#xff09;CPU &#xff08;2&#xff09;存储器 &#xff08;3&#xff09;输入/输出&#xff08;I/O&#xff09;模块 &#xff08;4&#xff09;编程器 &#xff08;5&a…

Flume(一)【Flume 概述】

前言 今天实在不知道学点什么好了&#xff0c;早上学了3个多小时的 Flink &#xff0c;整天只学一门技术是很容易丧失兴趣的。那就学点新的东西 Flume&#xff0c;虽然 Kafka 还没学完&#xff0c;但是大数据生态圈的基础组件也基本就剩这倆了。 Flume 概述 生产环境中的数据一…

一道 python 数据分析的题目

python 数据分析的题目。 做题方法&#xff1a;使用 pandas 读取数据&#xff0c;然后分析。 知识点&#xff1a;pandas&#xff0c;正则表达式&#xff0c;py知识。 过程&#xff1a;不断使用 GPT&#xff0c;遇到有问题的地方自己分析&#xff0c;把分析的结果告诉 GPT&am…

点成方案丨使用细胞计数仪监控CAR-T细胞疗法的生产

一、概述 嵌合抗原受体&#xff08;CAR&#xff09;是经过改造后赋予T细胞靶向特定抗原的新能力的受体蛋白。这些受体是嵌合的&#xff0c;因为它们将抗原结合和T细胞激活功能结合到一个受体中。CAR-T细胞疗法使用经过CAR改造的T细胞来治疗癌症。CAR-T免疫疗法的前提是修改T细…

PHP原生类总结利用

SPL介绍 SPL就是Standard PHP Library的缩写。据手册显示&#xff0c;SPL是用于解决典型问题(standard problems)的一组接口与类的集合。打开手册&#xff0c;正如上面的定义一样&#xff0c;有许多封装好的类。因为是要解决典型问题&#xff0c;免不了有一些处理文件…

如何使用iPhone15在办公室观看家里电脑上的4k电影?

如何使用iPhone15在办公室观看家里电脑上的4k电影&#xff1f; 文章目录 如何使用iPhone15在办公室观看家里电脑上的4k电影&#xff1f;1.使用环境要求&#xff1a;2.下载群晖videostation&#xff1a;3.公网访问本地群晖videostation中的电影&#xff1a;4.公网条件下使用电脑…

论文浅尝 | 用于开放式文本生成的事实增强语言模型

笔记整理&#xff1a;李煜&#xff0c;东南大学硕士&#xff0c;研究方向为知识图谱 链接&#xff1a;https://proceedings.neurips.cc/paper_files/paper/2022/hash/df438caa36714f69277daa92d608dd63-Abstract-Conference.html 1. 动机 生成式语言模型&#xff08;例如 GPT-3…

CNCC 2023收官,Milvus Cloud与行业大咖共话向量数据库系统

近期,CNCC 2023 在沈阳圆满结束,紧凑、前沿的 129 场技术论坛让人印象深刻。据悉,这 129 场技术论坛涵盖人工智能、安全、计算+、软件工程、教育、网络、芯片、云计算等 30 余个方向。Zilliz 受邀参与【智能时代的大数据系统】技术论坛。 智能时代的到来,无疑给社会经济和日…

【深度学习】SimSwap: An Efficient Framework For High Fidelity Face Swapping 换脸,实战

代码&#xff1a;https://github.com/neuralchen/SimSwap 文章目录 摘要介绍RELATED WORK实验结论代码实操 SimSwap是一个高保真度人脸交换的高效框架。它将源脸的身份转移到目标脸上&#xff0c;同时保留目标脸的属性。该框架包括ID注入模块&#xff08;IIM&#xff09;&#…

Avatar虚拟形象解决方案,趣味化的视频拍摄与直播新体验

企业们正在寻找新的方式来吸引和保持观众的注意力,一种新兴的解决方案就是使用Avatar虚拟形象技术&#xff0c;这种技术可以让用户在视频拍摄或直播场景中&#xff0c;以自定义的数字人形象出现&#xff0c;同时保持所有的表情和脸部驱动。美摄科技正是这个领域的领军者&#x…

Redhat Linux v8.2 实时内核环境配置及参数调优

Redhat-Linux V8.2 实时内核环境配置及参数调优 -------物理机 & 虚拟机 一、前言 本文档包含有关Redhat Linux for Real Time的基本安装和调试信息。许多行业和组织需要极高性能的计算&#xff0c;并且可能需要低且可预测的延迟&#xff0c;尤其是在金融和电信行业中。延…

【工艺库】SMIC数字后端工艺库

工艺库文件 Calibredigital文件夹apollolefprimetimesynopsys TD系列文件夹 本来是想找一个工艺库&#xff0c;想要其包含逻辑综合和SPICE Model相关的库文件&#xff0c;但是找了很久也没有直接找到想要的&#xff0c;主要原因还是自己对工艺库文件的构成不是很清楚&#xff0…

《QT从基础到进阶·二十六》绘制多个图形项(QGraphicsRectItem,QGraphicsLineItem,QGraphicsPolygonItem)

这个demo用QT实现了对多个图形项的绘制&#xff0c;包括矩形的绘制&#xff0c;直线的绘制和多边形的绘制&#xff0c;是之前一章中绘制矩形的增强版&#xff0c;之前一章节关于矩形的绘制可以参考&#xff1a;《QT从基础到进阶十五》用鼠标绘制矩形&#xff08;QGraphicsView、…

Web安全:Vulfocus 靶场搭建.(漏洞集成平台)

Web安全&#xff1a;Vulfocus 靶场搭建.&#xff08;漏洞集成平台&#xff09; Vulfocus 是一个包含了多种漏洞靶场的镜像。每个靶场都有具体的漏洞环境和攻击点。Vulfocus 的靶场包括了 Web 安全漏洞、系统安全漏洞、网络安全漏洞、密码学漏洞等多种类型。通关这个靶场我们可以…

哪些方面的应用适合博捷芯双轴半自动划片机?

博捷芯BJX3666系列双轴半自动划片机可以应用于以下领域&#xff1a; 1. 集成电路制造&#xff1a;在集成电路制造中&#xff0c;划片机可以用来将芯片从晶圆上切割下来&#xff0c;以便进行封装和测试。此外&#xff0c;还可以用来对芯片进行划片分离加工&#xff0c;以得到所需…

Java整合Redis实现坐标附近查询

目录 一、GEO用法引入 二、引入依赖 三、实体类 四、添加位置信息 五、查询位置信息 一、GEO用法引入 GEO&#xff0c;全称Geolocation&#xff0c;代表地理坐标。可以在其中存储地理坐标信息&#xff0c;帮助我们根据经纬度来检索数据。常见的命令有&#xff1a;GEOADD&…