标签: amazon-ec2

驱动安装,未找到内核源

我正在尝试在 Amazon EC2 上安装 NVidia Cuda 驱动程序。GPU 实例(Amazon Linux AMI (HVM) 2013.09.2 - ami-e9a18d80)遵循博客中的说明。它在过去两周内有效,但今天失败了。

指令状态

sudo yum -y groupinstall "Development Tools"
sudo yum -y install git libcurl-devel python-devel screen rsync yasm numpy openssl-devel
wget http://developer.download.nvidia.com/compute/cuda/5_5/rel/installers/cuda_5.5.22_linux_64.run
sudo sh cuda_5.5.22_linux_64.run
Run Code Online (Sandbox Code Playgroud)

错误是

正在安装 NVIDIA 显示驱动程序... 驱动程序安装无法找到内核源。请确保正确安装和设置内核源代码包。如果您知道内核源代码包已正确安装和设置,则可以使用“--kernel-source-path”标志传递内核源代码的位置。

说明中有关于如何修复它的评论,但我不明白这些命令。我似乎无法导航到指定的路径。如果有人可以像我 5 岁那样向我解释它,我认为这会有所帮助。

对于在安装 CUDA 时遇到问题的人(由于对内核源的一些抱怨而失败),这是我找到的修复程序... /usr/src/kernels 中的内核源与我正在运行的内核版本不同(您可以找到uname -r)。我进入 /boot/grub/menu.lst 并确保唯一启用的内核版本是我拥有源代码的版本。

drivers kernel nvidia amazon-ec2

4
推荐指数
2
解决办法
2万
查看次数

无法访问新 AWS EC2 实例上的 Apache 服务器

我无法访问我最近在 Ubuntu AWS EC2 实例上设置的 Web 服务器:

client:~ user$ curl yyy.yyy.yyy.yyyy
curl: (7) Failed to connect to yyy.yyy.yyy.yyyy port 80: Operation timed out
Run Code Online (Sandbox Code Playgroud)

Apache 已在 AWS 实例上启动并运行:

ubuntu@server:~$ sudo service apache2 status
* apache2 is running
Run Code Online (Sandbox Code Playgroud)

并且80端口已开放

ubuntu@server:~$ sudo netstat -plunt | grep apache2
tcp6     0    0 :::80                 :::*                  LISTEN    2968/apache2 
Run Code Online (Sandbox Code Playgroud)

到目前为止,我在设置 Web 服务器方面还没有那么丰富的经验,但据我所知,Apache 在安装后应该可以立即访问。我的情况可能出了什么问题?

debian amazon-ec2 apache-httpd aws

3
推荐指数
1
解决办法
7323
查看次数

SSH 进入 linux AWS 盒子,如何在不关闭 AWS 盒子中运行的脚本的情况下退出终端?

我已经通过 mac 上的终端 ssh 进入了一个 ubuntu AWS 盒子。我已经成功设置了我想在框中运行的进程。

如何退出终端而不杀死正在运行的进程?

无法运行以下命令,因为终端正在运行脚本并且不允许我什至将以下命令复制并粘贴到终端中:

nohup long-running-process &
Run Code Online (Sandbox Code Playgroud)

先感谢您。

聚苯乙烯

linux 和 mac 终端的新手

terminal amazon-ec2

3
推荐指数
1
解决办法
4998
查看次数

yum 锁文件被另一个用户持有

Amazon Linux 2实例由 Ansible Playbook 操作,该手册一个接一个地执行多个yum任务。

需要对下面的语法进行哪些具体更改才能使后续yum任务运行而不会因进程冲突而停止?

目前,yum下面的第二个任务失败了,因为 Ansible 不知道如何处理听到前一个yum任务尚未释放yum lockfile.

yum是调用下面的第二个任务时文件的当前错误消息:

TASK [remove any previous versions of specific stuff] ************************************************************************************************************************************
fatal: [10.1.0.232]: FAILED! => {"changed": false, "msg": "yum lockfile is held by another process"}
Run Code Online (Sandbox Code Playgroud)

两个连续的yum任务目前写成如下:

 - name: Perform yum update of all packages
   yum:
     name: '*'
     state: latest

 - name: remove any previous versions of specific stuff
   yum:
     name: thing1, thing2, thing3, thing4, thing5, …
Run Code Online (Sandbox Code Playgroud)

yum amazon-ec2 ansible aws amazon-linux

3
推荐指数
1
解决办法
8227
查看次数

从 EC2 实例内部返回 EC2 实例的私有 IP

可以使用哪些特定语法从 Amazon Linux EC2 实例内的命令行返回该实例的私有 IP 地址?

到目前为止,我想出了以下几点:

# Get private IP from inside the instance by filtering inside the following:
instanceid=$(curl http://169.254.169.254/latest/meta-data/instance-id)
echo $instanceid
aws ec2 describe-instances --instance-id $instanceid --region us-west-2
Run Code Online (Sandbox Code Playgroud)

但是,如您所见,如果您自己在 EC2 实例中键入这些命令,以上 3 行会导致大量输出,手动过滤会很混乱。

有人可以建议一两行代码来简单地返回实例的私有 ip 而没有其他信息吗?

rhel amazon-ec2 aws ip-address amazon-linux

3
推荐指数
1
解决办法
4425
查看次数

无法在 AWS Ubuntu 上将分区扩展至超过 2TB

a@b:~$ sudo growpart -v /dev/xvda 1\nupdate-partition set to true\nresizing 1 on /dev/xvda using resize_sfdisk_dos\n6291456000 sectors of 512. total size=3221225472000 bytes\nWARN: disk is larger than 2TB. additional space will go unused.\n## sfdisk --unit=S --dump /dev/xvda\nlabel: dos\nlabel-id: 0x965243d6\ndevice: /dev/xvda\nunit: sectors\n\n/dev/xvda1 : start=        2048, size=  4294965247, type=83, bootable\nmax_end=4294967296 tot=6291456000 pt_end=4294967295 pt_start=2048 pt_size=4294965247\nNOCHANGE: partition 1 could only be grown by 1 [fudge=2048]\n\n\na@b:~$ lsblk\nNAME         MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT\nxvda         202:0    0    3T  0 disk\n\xe2\x94\x94\xe2\x94\x80xvda1      202:1    0    2T  0 part /\nxvde         202:240  0   64G  0 …
Run Code Online (Sandbox Code Playgroud)

ubuntu ext4 amazon-ec2

2
推荐指数
1
解决办法
1万
查看次数

如何将我的 Amazon Linux 服务配置为在失败时自动重启?

我正在使用亚马逊 Linux。我有一个脚本来启动和停止服务,用 bash 编写,位于

/etc/init.d/wildfly
Run Code Online (Sandbox Code Playgroud)

例如,在不同的运行级别,我有符号链接来确保脚本启动和停止

/etc/rc.d/rc3.d/S80wildfly
/etc/rc.d/rc2.d/S80wildfly
Run Code Online (Sandbox Code Playgroud)

但是我的问题是,我需要怎么做才能保证服务失败了,可以自动重启?我在 CentOS 上阅读,您可以使用指令创建一个文件(例如“wildfly.service”)

Restart=always
RestartSec=3
Run Code Online (Sandbox Code Playgroud)

Amazon Linux 上的等效指令位于何处?

amazon-ec2 services autostart amazon-linux

2
推荐指数
1
解决办法
9797
查看次数

当我关闭 SSH 终端时 nohup 结束,并且在运行时不会出现在 ps/job 上

我有一个 AWS EC2 Ubuntu 20.04 实例,通过 puTTY SSH 访问。在非 root 上通过以下命令通过OpenMPI运行 Python 进程:

nohup mpirun python3 job.py

当外壳打开时,它可以正常运行。尽管使用psandjob没有显示进程,但我可以通过 nohup.out 和不断变化的文件系统看到它在运行几个小时后仍在工作。

当我关闭 shell 时,nohup 进程结束。我可能还应该注意到,当我运行上面的 nohup 命令时,我无法再输入任何内容(光标变为空白)。所以当我跑步psjob时,我必须打开第二个外壳。我以前从未使用过 nohup 并认为这是不正常的。

我调查了 nohup.out 文件是否有错误,但发现没有写入任何内容。

所以总而言之:

  1. 关闭 SSH 实例(puTTY)结束 nohup 进程

  2. ps 和 job 没有列出 nohup 进程,即使我知道它正在运行

如果需要的话我可以回答更多问题

process ssh nohup amazon-ec2 mpi

2
推荐指数
1
解决办法
5384
查看次数

MariaDB 和 Amazon Linux 2:错误:ld.so:无法预加载 LD_PRELOAD 中的对象“/usr/lib64/libjemalloc.so.1”

遵循AWS 文档,我尝试启动并运行基本的 LAMP 服务器。一切似乎都运行良好。通过终端或 phpMyAdmin (GUI) 登录 MySQL 即可。

\n

但是,当我检查 MariaDB 的状态时,出现错误并且不确定如何解决它。

\n
[ec2-user@ip-172-31-30-51 ~]$ sudo systemctl status mariadb\xe2\x97\x8f mariadb.service - \n\nMariaDB 10.2 database server   Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)  Drop-In: /etc/systemd/system/mariadb.service.d           \xe2\x94\x94\xe2\x94\x80override.conf        /usr/lib/systemd/system/mariadb.service.d           \xe2\x94\x94\xe2\x94\x80tokudb.conf   Active: active (running) since Sat 2021-11-13 16:52:39 UTC; 37s ago  Process: 3087 ExecStartPost=/usr/libexec/mysql-check-upgrade (code=exited, status=0/SUCCESS)\n  Process: 2837 ExecStartPre=/usr/libexec/mysql-prepare-db-dir %n (code=exited, status=0/SUCCESS)\n  Process: 2801 ExecStartPre=/usr/libexec/mysql-check-socket (code=exited, status=0/SUCCESS)\n Main PID: 2943 (mysqld)\n   Status: "Taking your SQL requests now..."\n   CGroup: /system.slice/mariadb.service\n           \xe2\x94\x94\xe2\x94\x802943 /usr/libexec/mysqld …
Run Code Online (Sandbox Code Playgroud)

mysql amazon-ec2 mariadb

2
推荐指数
1
解决办法
2867
查看次数

检查文件是否存在语法错误

在 Amazon Linux 2 中运行的 bash 脚本试图测试文件是否存在。然后,如果它确实存在,脚本应该删除该文件。

每次脚本运行时都会抛出以下错误。需要在脚本中更改哪些内容才能使错误不再成为问题?

File "/home/username/write_hosts.sh", line 3
    if [ -f /home/username/hosts ]
                                 ^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

这是整个脚本:

#!/usr/bin/env bash

if [ -f /home/username/hosts ]
then
    rm /home/username/hosts
fi

declare -a arr_of_tags=("this-master" "this-worker")

for i in "${arr_of_tags[@]}"
do
   echo ["$i"] >> /home/username/hosts
   echo "About to test ip array for $i"
   declare -a arr_of_ips=$(aws ec2 describe-instances --region us-west-2 --query "Reservations[*].Instances[*].PrivateIpAddress" --filter "Name=tag:Name,Values=$i" --output=text)
   for j in "${arr_of_ips[@]}"
   do 
      echo "$j" >> /home/username/hosts
   done
done
Run Code Online (Sandbox Code Playgroud)


用户建议

根据@steve 的建议,我得到以下信息: …

bash rhel amazon-ec2 aws amazon-linux

1
推荐指数
1
解决办法
438
查看次数