[LINUX] AWS under development sudo yum install nodejs npm --enablerepo = epel did not pass

environment

EC2(Amazon Linux 2)

Clogged

I am a beginner who is currently building an environment on AWS. Creating EC2 for the application. I have installed various packages, but I will write about the fact that nodejs npm could not be installed and I had a hard time.

@naoki_mochizuki's https://qiita.com/naoki_mochizuki/items/814e0979217b1a25aa3e I was building the environment with reference to the article.


       __|  __|_  )
       _|  (     /   Amazon Linux 2 AMI
      ___|\___|___|

https://aws.amazon.com/amazon-linux-2/

[shimo0108@~]$ sudo yum install \
 > git make gcc-c++ patch \
 > openssl-devel \
 > libyaml-devel libffi-devel libicu-devel \
 > libxml2 libxslt libxml2-devel libxslt-devel \
 > zlib-devel readline-devel \
 > ImageMagick ImageMagick-devel \
 > epel-release



Loaded plugin:extras_suggestions, langpacks, priorities, update-motd amzn2core                                    | 3.7 kB  00:00:00     
Package 1:make-3.82-24.amzn2.x86_64 is installed or latest version
Package libxml2-2.9.1-6.amzn2.4.1.x86_64 is installed or latest version
Package epel-release is not available.
.
.
.

Has completed!

epel-release is available in Amazon Linux Extra topic "epel"

To use, run
# sudo amazon-linux-extras install epel

Learn more at
https://aws.amazon.com/amazon-linux-2/faqs/#Amazon_Linux_Extras

Log in to EC2 for the WEB application. I have installed the package. You can confirm that the installation was successful except for epel-release. For some reason, epel-release couldn't be installed here.

By the way, what is epel-release (EPEL)?

The EPEL repository is a repository that allows you to install packages that are not provided by the standard CentOS repositories with the yum command.

EPEL is an enterprise repository, making it one of the most reliable third-party repositories.

Third-party repositories other than EPEL include Remi and RPMForge. As a feature, it seems that Remi is said to have the latest version of the package available, and RPMForge is said to have a large number of packages available.

In reality, each repository will be utilized in consideration of usage and package dependencies. You can use packages that aren't provided by standard repositories, but it's at your own risk, given the description of CentOS's third-party repositories.


[shimo0108@ ~]$ sudo yum install nodejs npm --enablerepo=epel
Loaded plugin:extras_suggestions, langpacks, priorities, update-motd

Error getting repository data for epel, repository not found

After that, I executed the above command, but I could not install it. .. But in the error log statement

To use, run
# sudo amazon-linux-extras install epel

Discovered. I wonder if I should install this. I thought.

[shimo0108@ ~]$ sudo amazon-linux-extras install epel
Installing epel-release

Cleaning the repository: amzn2-core amzn2extra-docker amzn2extra-epel
Deleted 12 metadata files
Deleted 4 sqlite files
Deleted 0 metadata files
Loaded plugin:extras_suggestions, langpacks, priorities, update-motd
.
.
.

Resolving dependencies
-->Performing transaction confirmation.
--->Package epel-release.noarch 0:7-Install 11
-->Dependency resolution finished.

Resolved the dependency

=======================================================================================================
Package architecture version repository capacity
=======================================================================================================
During installation:
 epel-release              noarch              7-11                 amzn2extra-epel               15 k

Transaction summary
=======================================================================================================
Installation 1 package

Total download capacity: 15 k
Installation capacity: 24 k
Is this ok [y/d/N]: y
Downloading packages:
epel-release-7-11.noarch.rpm                                                    |  15 kB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
During installation: epel-release-7-11.noarch                                               1/1 
During verification: epel-release-7-11.noarch                                               1/1 

Installation:
  epel-release.noarch 0:7-11                                                                           

Has completed!
  0  ansible2                 available    \
        [ =2.4.2  =2.4.6  =2.8  =stable ]
  2  httpd_modules            available    [ =1.0  =stable ]
  3  memcached1.5             available    \
        [ =1.5.1  =1.5.16  =1.5.17 ]
  5  postgresql9.6            available    \
        [ =9.6.6  =9.6.8  =stable ]
  6  postgresql10             available    [ =10  =stable ]
  8  redis4.0                 available    \
        [ =4.0.5  =4.0.10  =stable ]
  9  R3.4                     available    [ =3.4.3  =stable ]
 10  rust1                    available    \
        [ =1.22.1  =1.26.0  =1.26.1  =1.27.2  =1.31.0  =1.38.0
          =stable ]
 11  vim                      available    [ =8.0  =stable ]
 13  ruby2.4                  available    \
        [ =2.4.2  =2.4.4  =2.4.7  =stable ]
 15  php7.2                   available    \
        [ =7.2.0  =7.2.4  =7.2.5  =7.2.8  =7.2.11  =7.2.13  =7.2.14
          =7.2.16  =7.2.17  =7.2.19  =7.2.21  =7.2.22  =7.2.23
          =7.2.24  =7.2.26  =stable ]
 17  lamp-mariadb10.2-php7.2  available    \
        [ =10.2.10_7.2.0  =10.2.10_7.2.4  =10.2.10_7.2.5
          =10.2.10_7.2.8  =10.2.10_7.2.11  =10.2.10_7.2.13
          =10.2.10_7.2.14  =10.2.10_7.2.16  =10.2.10_7.2.17
          =10.2.10_7.2.19  =10.2.10_7.2.22  =10.2.10_7.2.23
          =10.2.10_7.2.24  =stable ]
 18  libreoffice              available    \
        [ =5.0.6.2_15  =5.3.6.1  =stable ]
 19  gimp                     available    [ =2.8.22 ]
 20  docker=latest            enabled      \
        [ =17.12.1  =18.03.1  =18.06.1  =18.09.9  =stable ]
 21  mate-desktop1.x          available    \
        [ =1.19.0  =1.20.0  =stable ]
 22  GraphicsMagick1.3        available    \
        [ =1.3.29  =1.3.32  =1.3.34  =stable ]
 23  tomcat8.5                available    \
        [ =8.5.31  =8.5.32  =8.5.38  =8.5.40  =8.5.42  =8.5.50
          =stable ]
 24  epel=latest              enabled      [ =7.11  =stable ]
 25  testing                  available    [ =1.0  =stable ]
 26  ecs                      available    [ =stable ]
 27  corretto8                available    \
        [ =1.8.0_192  =1.8.0_202  =1.8.0_212  =1.8.0_222  =1.8.0_232
          =1.8.0_242  =stable ]
 28  firecracker              available    [ =0.11  =stable ]
 29  golang1.11               available    \
        [ =1.11.3  =1.11.11  =1.11.13  =stable ]
 30  squid4                   available    [ =4  =stable ]
 31  php7.3                   available    \
        [ =7.3.2  =7.3.3  =7.3.4  =7.3.6  =7.3.8  =7.3.9  =7.3.10
          =7.3.11  =7.3.13  =stable ]
 32  lustre2.10               available    \
        [ =2.10.5  =2.10.8  =stable ]
 33  java-openjdk11           available    [ =11  =stable ]
 34  lynis                    available    [ =stable ]
 35  kernel-ng                available    [ =stable ]
 36  BCC                      available    [ =0.x  =stable ]
 37  mono                     available    [ =5.x  =stable ]
 38  nginx1                   available    [ =stable ]
 39  ruby2.6                  available    [ =2.6  =stable ]
 40  mock                     available    [ =stable ]
 41  postgresql11             available    [ =11  =stable ]
 42  php7.4                   available    [ =stable ]
 43  livepatch                available    [ =stable ]
 44  python3.8                available    [ =stable ]
 45  haproxy2                 available    [ =stable ]

Alright! did it! This is the installation! I thought

[shimo0108 ~]$ sudo yum install nodejs npm --enablerepo=epel
Loaded plugin:extras_suggestions, langpacks, priorities, update-motd
amzn2-core                                                                      | 3.7 kB  00:00:00     
amzn2extra-docker                                                               | 3.0 kB  00:00:00     
amzn2extra-epel                                                                 | 1.7 kB  00:00:00     


 One of the configured repositories failed (unknown),
 and yum doesn't have enough cached data to continue. At this point the only
 safe thing yum can do is fail. There are a few ways to work "fix" this:

     1. Contact the upstream for the repository and get them to fix the problem.

     2. Reconfigure the baseurl/etc. for the repository, to point to a working
        upstream. This is most often useful if you are using a newer
        distribution release than is supported by the repository (and the
        packages for the previous distribution release still work).

     3. Run the command with the repository temporarily disabled
            yum --disablerepo=<repoid> ...

     4. Disable the repository permanently, so yum won't use it by default. Yum
        will then just ignore the repository until you permanently enable it
        again or use --enablerepo for temporary usage:

            yum-config-manager --disable <repoid>
        or
            subscription-manager repos --disable=<repoid>

     5. Configure the failing repository to be skipped, if it is unavailable.
        Note that yum will try to contact the repo. when it runs most commands,
        so will have to try and fail each time (and thus. yum will be be much
        slower). If it is a very temporary problem though, this is often a nice
        compromise:

            yum-config-manager --save --setopt=<repoid>.skip_if_unavailable=true

Cannot retrieve metalink for repository: epel/x86_64. Please verify its path and try again

And again an error. All commands I do with yum stop. .. (Crying)

[shimo0108@ ~]$ sudo yum install nodejs npm --enablerepo=epel
Loaded plugin:extras_suggestions, langpacks, priorities, update-motd
amzn2-core                                                                   
| 3.7 kB  00:00:00     
amzn2extra-docker                                                               
| 3.0 kB  00:00:00     
amzn2extra-epel                                                                 
| 1.7 kB  00:00:00 
.
.

It will always stop after reading up to this point. Fight for about a day and get an error log

Cannot retrieve metalink for repository: epel/x86_64. Please verify its path and try again

Discovered. Unable to get the repository metalink. Is to say. Result of investigation Error handling when putting EPEL repository in CentOS 6.x https://qiita.com/maruware/items/eb659266a45021cf486c I found the article. Apparently, the cause is that the EPEL repository uses SSL3.0, and it seems that it can be solved by executing the following as described in the article and changing from https to http.

[shimo0108@ ~]$ sudo vi /etc/yum.repos.d/epel.repo

Check /epel.repo here with vim.

[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
#baseurl=https://download.fedoraproject.org/pub/epel/7/$basearch
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

Certainly

metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch
#It is https. .. ..
↓
[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch
metalink=http://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

#  https//→http//Changed to.

again sudo yum install nodejs npm --enablerepo=epel Execute. This time it was successful! !! !!

Recommended Posts

AWS under development sudo yum install nodejs npm --enablerepo = epel did not pass