AWS EC2终端安装Chrome报错求助:脚本执行后无限循环
解决AWS EC2上安装Chrome用于Selenium爬取的问题
你的问题核心是安装脚本和EC2实例的Linux发行版不兼容:你用的脚本是为RHEL/CentOS/Amazon Linux这类基于yum/rpm的系统编写的,但你的EC2实例大概率是Ubuntu/Debian这类使用apt包管理器的系统,因此才会出现找不到yum/rpm、repo文件缺失的错误,甚至脚本无限循环。
第一步:确认你的EC2发行版
先执行以下命令确定系统类型:
cat /etc/os-release
根据输出里的ID字段判断:
ID=ubuntu或ID=debian:属于Debian/Ubuntu系ID=amzn:属于Amazon Linux 2(RPM系)
情况1:Debian/Ubuntu系实例
直接用apt包管理器安装Chrome:
- 更新包索引
sudo apt update
- 安装必要依赖
sudo apt install -y wget gnupg2
- 添加Google官方GPG密钥
wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo gpg --dearmor -o /usr/share/keyrings/google-chrome-keyring.gpg
- 添加Chrome软件源
echo "deb [signed-by=/usr/share/keyrings/google-chrome-keyring.gpg] http://dl.google.com/linux/chrome/deb/ stable main" | sudo tee /etc/apt/sources.list.d/google-chrome.list
- 安装Chrome稳定版
sudo apt install -y google-chrome-stable
- 验证安装成功
google-chrome --version
情况2:Amazon Linux 2/RPM系实例
手动修复缺失的repo文件后安装:
- 先终止之前循环的脚本进程
pkill -f install-google-chrome.sh
- 创建Google Chrome的repo文件
sudo vi /etc/yum.repos.d/google-chrome.repo
- 在vi编辑器中粘贴以下内容:
[google-chrome] name=google-chrome baseurl=http://dl.google.com/linux/chrome/rpm/stable/x86_64 enabled=1 gpgcheck=1 gpgkey=https://dl.google.com/linux/linux_signing_key.pub
- 保存退出vi(按
Esc,输入:wq回车) - 安装Chrome稳定版
sudo yum install -y google-chrome-stable
- 验证安装成功
google-chrome --version
最后:安装匹配版本的ChromeDriver
Selenium要求ChromeDriver版本和Chrome完全匹配:
- 查看Chrome版本(比如输出为
Google Chrome 120.0.6099.109)
google-chrome --version
- 下载对应版本的ChromeDriver(替换版本号为你的Chrome版本)
wget https://storage.googleapis.com/chrome-for-testing-public/120.0.6099.109/linux64/chromedriver-linux64.zip
- 解压并移动到系统可执行路径
unzip chromedriver-linux64.zip sudo mv chromedriver-linux64/chromedriver /usr/local/bin/ sudo chmod +x /usr/local/bin/chromedriver
- 验证ChromeDriver
chromedriver --version
内容的提问来源于stack exchange,提问作者San
相关产品推荐
相关产品推荐

