数据库
首页 > 数据库> > Cannot write to ‘redis-6.0.18.tar.gz’ (Permission denied).

Cannot write to ‘redis-6.0.18.tar.gz’ (Permission denied).

作者:互联网

如果你在下载 Redis 源代码时遇到“Permission denied”错误,可能是因为你当前没有足够的权限在目标目录中写入文件。解决该问题可以通过以下几种方法:

1. 检查当前工作目录的写权限

使用 pwd 检查你的当前工作目录,并确认你在有写权限的目录中执行下载操作:

pwd

Bash

假设你的当前工作目录是 /home/your_username 并且你拥有该目录的写权限,这样的错误应该不会发生。如果你在某个系统目录中(例如 / 或 /usr),你可能没有写权限。

2. 切换到有写权限的目录

可以换到你的 user home 目录或 /tmp 目录:

cd /home/your_username

Bash

或者

cd /tmp

Bash

3. 下载并解压 Redis 源代码

确保你处于一个有写权限的目录,然后执行下载和解压操作:

wget http://download.redis.io/releases/redis-6.0.18.tar.gz
tar xzf redis-6.0.18.tar.gz
cd redis-6.0.18

Bash

4. 如果必须在特定目录执行操作,可以使用 sudo(不推荐)

如果你确实需要在当前没有写权限的目录中执行下载,请谨慎使用 sudo 权限(不过通常不推荐在系统目录中直接下载和解压文件):

sudo wget http://download.redis.io/releases/redis-6.0.18.tar.gz
sudo tar xzf redis-6.0.18.tar.gz
cd redis-6.0.18

Bash

5. 完整的步骤

以下是更新后的完整步骤,包括下载目录的调整:

1. 卸载旧版本 Redis

sudo apt-get remove --purge redis-server redis-tools
sudo apt autoremove

Bash

2. 安装所需的构建工具

sudo apt-get install build-essential tcl

Bash

3. 切换到有写权限的目录

cd /home/your_username

Bash

4. 下载 Redis 6.0.18 源代码

wget http://download.redis.io/releases/redis-6.0.18.tar.gz
tar xzf redis-6.0.18.tar.gz
cd redis-6.0.18

Bash

5. 编译并安装 Redis

make
make test
sudo make install

Bash

6. 设置 Redis 服务

cd utils
sudo ./install_server.sh

Bash

7. 验证安装

redis-server -v

Bash

8. 加强安全配置

编辑 Redis 配置文件:

sudo nano /etc/redis/6379.conf

Bash

加入以下配置:

# 绑定到本地接口
bind 127.0.0.1

# 设置强密码
requirepass your-strong-password

# 禁用或重命名危险命令
rename-command FLUSHDB ""
rename-command FLUSHALL ""
rename-command CONFIG ""
rename-command SHUTDOWN ""

# 限制 Lua 脚本执行时间
lua-time-limit 5000

Conf

9. 配置防火墙

sudo ufw allow from your_trusted_ip to any port 6379

Bash

10. 重启 Redis 服务

sudo systemctl restart redis_6379

Bash

这样应该可以解决“Permission denied”错误,并成功安装 Redis 6.0.18。

标签:
来源: