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。
标签: 来源: