I've made custom distribution using buildroot, with hard-flow for ARMv7 processor.
Everything is working except....
# arecord -D hw:0,0 -fdat -d 5 test.wav
This makes multiple files. Thousands of them.
-rw-r--r-- 1 root root 958508 Jan 1 00:19 test-01.wav
-rw-r--r-- 1 root root 44 Jan 1 00:19 test-02.wav
-rw-r--r-- 1 root root 44 Jan 1 00:19 test-03.wav
-rw-r--r-- 1 root root 44 Jan 1 00:19 test-04.wav
-rw-r--r-- 1 root root 44 Jan 1 00:19 test-05.wav
-rw-r--r-- 1 root root 44 Jan 1 00:19 test-06.wav
-rw-r--r-- 1 root root 44 Jan 1 00:19 test-07.wav
-rw-r--r-- 1 root root 44 Jan 1 00:19 test-08.wav
-rw-r--r-- 1 root root 44 Jan 1 00:19 test-09.wav
-rw-r--r-- 1 root root 44 Jan 1 00:19 test-10.wav
-rw-r--r-- 1 root root 44 Jan 1 00:19 test-100.wav
-rw-r--r-- 1 root root 44 Jan 1 00:19 test-101.wav
-rw-r--r-- 1 root root 44 Jan 1 00:19 test-102.wav
-rw-r--r-- 1 root root 44 Jan 1 00:19 test-103.wav
-rw-r--r-- 1 root root 44 Jan 1 00:19 test-104.wav
-rw-r--r-- 1 root root 44 Jan 1 00:19 test-105.wav
-rw-r--r-- 1 root root 44 Jan 1 00:19 test-106.wav
And so on...
This happens if I pass -d parameter. Any idea?
The problem seems to appear on ARM architecture starting from 1.0.28 arecord version (arecord --version).
On Raspberry Pi 3 running Raspbian Jessie I managed to downgrade alsa-utils from 1.0.28-1 to 1.0.25-4 (rolling back to Wheezy's repo), so that fixed the problem:
sudo nano /etc/apt/sources.list
add the following line to the end of the file deb http://mirrordirector.raspbian.org/raspbian/ wheezy main contrib non-free rpi
sudo apt-get update
sudo aptitude versions alsa-utils (this should show the old version to become available)
sudo apt-get install alsa-utils=1.0.25-4
now arecord --version should display downgraded version 1.0.25
You probably now want to remove that line you added to /etc/apt/sources.list, so that you don't get other packages from wheezy
sudo nano /etc/apt/sources.list
remove the line deb http://mirrordirector.raspbian.org/raspbian/ wheezy main contrib non-free rpi
run apt-get update again
also, put alsa-utils on hold so it doesn't get upgraded
sudo apt-mark hold alsa-utils
As an alternative solution is to upgraded alsa-utils to the latest version 1.1.3 from source. This is how I have done it on my Raspberry Pi 3
mkdir ~/alsa-utils
cd ~/alsa-utils/
wget ftp://ftp.alsa-project.org/pub/utils/alsa-utils-1.1.3.tar.bz2
tar xvjf alsa-utils-1.1.3.tar.bz2
cd ~/alsa-utils/alsa-utils-1.1.3/
sudo apt-get install libncursesw5-dev
./configure --disable-alsaconf --disable-bat --disable-xmlto --with-curses=ncursesw
make
sudo make install
arecord --version
Related
I would like to program the (MB1355C and/or MB1293C) devices from an STM32WB55 Nucleo Pack on my (Ubuntu 18.04.3 LTS) machine - preferably with the convenience of an eclipse based IDE that supports debugging features.
I installed
STM32CubeProgrammer (version 2.2.1)
Atolic TrueStudio (version 9.3.0)
STM32CubeIDE (version 1.1.0)
and I now have the following udev rules
chandran#chandran-OptiPlex-9020:~$ ll /etc/udev/rules.d/
total 160
drwxr-xr-x 2 root root 4096 Dec 13 14:11 ./
drwxr-xr-x 4 root root 4096 Dec 4 13:44 ../
-rw-rw-r-- 1 root root 270 Oct 14 18:10 49-stlinkv1.rules
-rw-rw-r-- 1 root root 270 Oct 14 18:10 49-stlinkv1.rules.O
-rw-rw-r-- 1 root root 464 Oct 14 18:10 49-stlinkv2-1.rules
-rw-rw-r-- 1 root root 464 Oct 14 18:10 49-stlinkv2-1.rules.O
-rw-rw-r-- 1 root root 278 Oct 14 18:10 49-stlinkv2.rules
-rw-rw-r-- 1 root root 278 Oct 14 18:10 49-stlinkv2.rules.O
-rw-r--r-- 1 root root 458 Dec 11 17:26 49-stlinkv3loader.rules
-rw-rw-r-- 1 root root 845 Oct 14 18:10 49-stlinkv3.rules
-rw-rw-r-- 1 root root 845 Oct 14 18:10 49-stlinkv3.rules.O
-rw-r--r-- 1 root root 381 Dec 6 17:10 '#61-msp430uif.rules#'
-rw-r--r-- 1 root root 381 Dec 4 15:09 61-msp430uif.rules
-rwxr-xr-x 1 root root 2145 Dec 4 15:09 70-mm-no-ti-emulators.rules*
-rw-r--r-- 1 root root 58549 Dec 4 12:29 70-snap.core.rules
-rw-r--r-- 1 root root 79 Dec 5 12:11 77-msp430-blacklist.rules
-rw-r--r-- 1 root root 0 Dec 5 12:10 77-msp430-blacklist.rules~
-rw-rw-r-- 1 root root 18450 Oct 14 17:33 99-jlink.rules
-rw-rw-r-- 1 root root 18450 Oct 14 17:33 99-jlink.rules.O
I am in the dialout group
chandran#chandran-OptiPlex-9020:~$ groups chandran
chandran : chandran adm dialout cdrom sudo dip plugdev lpadmin sambashare
I downloaded an example project called STM32100E-EVAL_USART_IrDA_Transmit and it builds successfully, but I get the following error message when I connect the evaluation board(s) and click on debug to flash the micro controller
ST-Link enumeration failed
Error in initializing ST-Link device.
Reason: (2) ST-Link DLL error.
I get the same error message when I try the above with STM32CubeIDE.
I have tried shifting JP1 as described in section 7.6 of the users manual but to no avail.
A previous question on stack overflow deals with the same error message so I got STM32CubeProgrammer to launch and tried making the changes suggested by #IsaBostan, but the development boards don't seem to be detected
How can I proceed to resolve this problem and program the boards?
Debugging ideas or suggestions are welcome, even if they haven't been tested...
It was just a question of permissions as suggested by KamilCuk
Launching TrueStudio as root and then clicking on debug solved the problem.
This is what worked on my machine:
sudo su
/opt/Atollic_TrueSTUDIO_for_STM32_x86_64_9.3.0/ide/./TrueSTUDIO
STM32CubeIDE's debugger also works when launched as follows on my machine:
sudo su
/opt/st/stm32cubeide_1.1.0/./stm32cubeide
and STM32CubeProgrammer connects to the device straight away when launched as follows:
sudo su
/usr/local/STMicroelectronics/STM32Cube/STM32CubeProgrammer/bin/./STM32CubeProgrammer
My device shows up under /dev/ttyACM0 with the following permissions:
crw-rw----+ 1 root dialout 166, 0 Dec 28 11:56 ttyACM0
openocd and st-flash were not required.
I am trying to run command dmidecode in my docker container,
docker run --device /dev/mem:/dev/mem -it jin/ubu1604
However, it claims that there is no permission
root#bd1062dfd8ab:/# dmidecode
# dmidecode 3.0
Scanning /dev/mem for entry point.
/dev/mem: Operation not permitted
root#bd1062dfd8ab:/# ls -l /dev
total 0
crw--w---- 1 root tty 136, 0 Jan 7 03:21 console
lrwxrwxrwx 1 root root 11 Jan 7 03:20 core -> /proc/kcore
lrwxrwxrwx 1 root root 13 Jan 7 03:20 fd -> /proc/self/fd
crw-rw-rw- 1 root root 1, 7 Jan 7 03:20 full
crw-r----- 1 root kmem 1, 1 Jan 7 03:20 mem
drwxrwxrwt 2 root root 40 Jan 7 03:20 mqueue
crw-rw-rw- 1 root root 1, 3 Jan 7 03:20 null
lrwxrwxrwx 1 root root 8 Jan 7 03:20 ptmx -> pts/ptmx
drwxr-xr-x 2 root root 0 Jan 7 03:20 pts
crw-rw-rw- 1 root root 1, 8 Jan 7 03:20 random
drwxrwxrwt 2 root root 40 Jan 7 03:20 shm
lrwxrwxrwx 1 root root 15 Jan 7 03:20 stderr -> /proc/self/fd/2
lrwxrwxrwx 1 root root 15 Jan 7 03:20 stdin -> /proc/self/fd/0
lrwxrwxrwx 1 root root 15 Jan 7 03:20 stdout -> /proc/self/fd/1
crw-rw-rw- 1 root root 5, 0 Jan 7 03:20 tty
crw-rw-rw- 1 root root 1, 9 Jan 7 03:20 urandom
crw-rw-rw- 1 root root 1, 5 Jan 7 03:20 zero
This confused me. Since I was able to run dmidecode -t system on the host (ubuntu 14.04) fine.
I even followed some advice and set the permission on dmidecode executable
setcap cap_sys_rawio+ep /usr/sbin/dmidecode
It still doesn't work.
Any ideas?
UPDATE
Based on David Maze's answer, the command should be
run --device /dev/mem:/dev/mem --cap-add SYS_RAWIO -it my/ubu1604a
Do this only when you are going to trust what runs in container. For example, if you are test installation procedure on a pristine OS.
Docker provides an isolation layer, and one of the major goals of Docker is to hide details of the host's hardware from containers. The easiest, most appropriate way to query low-level details of the host's hardware is from a root shell on the host, ignoring Docker entirely.
The actual mechanism of this is by restricting Linux capabilities. capabilities(7) documents that you need CAP_SYS_RAWIO to access /dev/mem, so in principle you can launch your container with --cap-add SYS_RAWIO. You might need other capabilities and/or device access to make this actually work, because Docker is hiding the details of what you're trying to access as a design goal.
I am on Ubuntu 14.04 and need curl version > 7.40 so I have followed some steps to install latest curl version (7.48)
As root
wget http://curl.haxx.se/download/curl-7.48.0.tar.gz
apt-get install libtool
apt-get install make
Extracted the file
tar -xvf curl-7.48.0.tar.gz
then in the extracted folder:
./buildconf
./configure
make
make install
Updated the binaries
mv /usr/bin/curl /usr/bin/curl.bak
cp /usr/local/bin/curl /usr/bin/curl
then restarted the machine.
I can see the new curl version but the libcurl library is not updated, is still 7.35
root:~# curl -V
curl 7.48.0 (x86_64-unknown-linux-gnu) libcurl/7.35.0, OpenSSL/1.0.1f zlib/1.2.8 libidn/1.28 librtmp/2.3
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp smtp smtps telnet tftp
Features: AsynchDNS IDN IPv6 Largefile NTLM NTLM_WB SSL libz TLS-SRP
I've checked the file /etc/ld.so.conf
but it doesn't give me much info
include /etc/ld.so.conf.d/*.conf
As well the folder:
root:/etc/ld.so.conf.d# ll
total 52
drwxr-xr-x 2 root root 4096 Feb 18 14:17 ./
drwxr-xr-x 167 root root 12288 Apr 26 14:30 ../
-rwxr-xr-x 1 root root 26 Nov 21 2007 agnclient-compat.conf*
-rw-r--r-- 1 root root 14 Aug 24 2009 agns.conf
-rw-rw-r-- 1 root root 38 Mar 24 2014 fakeroot-x86_64-linux-gnu.conf
lrwxrwxrwx 1 root root 40 Feb 5 16:42 i386-linux-gnu_GL.conf -> /etc/alternatives/i386-linux-gnu_gl_conf
-rw-r--r-- 1 root root 108 Apr 12 2014 i686-linux-gnu.conf
-rw-r--r-- 1 root root 44 Aug 9 2009 libc.conf
-rw-r--r-- 1 root root 33 Aug 1 2014 symav.conf
-rw-r--r-- 1 root root 68 Apr 12 2014 x86_64-linux-gnu.conf
lrwxrwxrwx 1 root root 43 Feb 3 12:05 x86_64-linux-gnu_EGL.conf -> /etc/alternatives/x86_64-linux-gnu_egl_conf
lrwxrwxrwx 1 root root 42 Feb 3 12:05 x86_64-linux-gnu_GL.conf -> /etc/alternatives/x86_64-linux-gnu_gl_conf
-rw-r--r-- 1 root root 56 Apr 12 2014 zz_i386-biarch-compat.conf
-rw-r--r-- 1 root root 58 Apr 12 2014 zz_x32-biarch-compat.conf
root:/etc/ld.so.conf.d#
Update
going through each conf file I have found 3 places where there is libcurl library
under /usr/lib/agnclient-compat (agnclient is an AT&T VPN agent client)
lrwxrwxrwx 1 root root 16 Feb 3 12:11 libcurl.so.3 -> libcurl.so.3.0.0
-rw-r--r-- 1 root root 248028 Nov 21 2007 libcurl.so.3.0.0
under /usr/local/lib
lrwxrwxrwx 1 root root 16 Apr 25 12:34 libcurl.so -> libcurl.so.4.4.0*
lrwxrwxrwx 1 root root 16 Apr 25 12:34 libcurl.so.4 -> libcurl.so.4.4.0*
-rwxr-xr-x 1 root root 376889 Apr 25 12:34 libcurl.so.4.4.0*
and under /usr/lib/x86_64-linux-gnu
lrwxrwxrwx 1 root root 19 Jan 26 20:05 libcurl-gnutls.so.3 -> libcurl-gnutls.so.4
lrwxrwxrwx 1 root root 23 Jan 26 20:05 libcurl-gnutls.so.4 -> libcurl-gnutls.so.4.3.0
-rw-r--r-- 1 root root 401512 Jan 26 20:05 libcurl-gnutls.so.4.3.0
lrwxrwxrwx 1 root root 12 Jan 26 20:05 libcurl.so.3 -> libcurl.so.4
lrwxrwxrwx 1 root root 16 Jan 26 20:05 libcurl.so.4 -> libcurl.so.4.3.0
-rw-r--r-- 1 root root 422696 Jan 26 20:05 libcurl.so.4.3.0
So the latest lib which I've installed yesterday is under /usr/local/lib, but it loads the one from the VPN client.
It was an easy fix after the update.
I've modified the file /etc/ld.so.conf
include /usr/local/lib
include /etc/ld.so.conf.d/*.conf
then executed
ldconfig -v
Now I have what I need
root#carlo-ThinkPad-W541:~# curl -V
curl 7.48.0 (x86_64-unknown-linux-gnu) libcurl/7.48.0 zlib/1.2.8
Protocols: dict file ftp gopher http imap pop3 rtsp smtp telnet tftp
Features: IPv6 Largefile libz UnixSockets
I have installed homebrew without any problems.
The problem was to install node.. I got permission errors about /usr/local directory and symlinks.
So I did
sudo chown -R myuser /usr/local
then I istalled node without problems and then I did
sudo chown -R root /usr/local
I don't remember how was the owners in first place. I just followed some suggestions from stackoverflow to change the owner of /usr/local (a voice inside me says I did bad).
So when I run
brew doctor
I got some warnings and suggestions to chown some folders in /usr/local directory, so I did them. Then when I run
brew doctor
brew update
I get no warnings or errors anymore and looks fine (there was no updates to do after all).
My directories now looks like below. Can anyone confirm if is secure like that? How should be the owners in /usr/local ? Tt's okay to have it owned by my user as they say at github? Thanks.
myuser#iMac:/usr$ ls -la
total 8
drwxr-xr-x# 12 root wheel 408B Sep 30 23:52 ./
drwxr-xr-x 30 root wheel 1.1K Jan 23 17:51 ../
drwxr-xr-x 5 root wheel 170B Aug 23 03:51 X11/
lrwxr-xr-x 1 root wheel 3B Sep 30 23:43 X11R6# -> X11
drwxr-xr-x 3 root wheel 102B Aug 27 04:17 adic/
drwxr-xr-x 1055 root wheel 35K Jan 23 17:51 bin/
drwxr-xr-x 263 root wheel 8.7K Jan 23 17:52 lib/
drwxr-xr-x 186 root wheel 6.2K Jan 23 17:51 libexec/
drwxrwxr-x 22 root admin 748B Feb 7 12:28 local/
drwxr-xr-x 243 root wheel 8.1K Jan 23 17:51 sbin/
drwxr-xr-x 45 root wheel 1.5K Sep 30 23:43 share/
drwxr-xr-x 4 root wheel 136B Sep 17 09:03 standalone/
myuser#iMac:/usr$ cd local/
myuser#iMac:/usr/local$ ls -la
total 104
drwxrwxr-x 22 root admin 748B Feb 7 12:28 ./
drwxr-xr-x# 12 root wheel 408B Sep 30 23:52 ../
drwxr-xr-x 15 myuser admin 510B Feb 7 12:56 .git/
-rw-r--r-- 1 root admin 847B Feb 6 10:48 .gitignore
-rw-r--r-- 1 root admin 1.3K Feb 6 10:48 .travis.yml
-rw-r--r-- 1 root admin 291B Feb 6 10:48 .yardopts
-rw-r--r-- 1 root admin 3.1K Feb 6 10:48 CODEOFCONDUCT.md
-rw-r--r-- 1 root admin 2.5K Feb 6 10:48 CONTRIBUTING.md
drwxr-xr-x 3 myuser admin 102B Feb 7 12:28 Cellar/
-rw-r--r-- 1 root admin 1.2K Feb 6 10:48 LICENSE.txt
drwxr-xr-x 10 myuser admin 340B Feb 7 12:28 Library/
-rw-r--r-- 1 root admin 2.4K Feb 6 10:48 README.md
-rw-r--r-- 1 root admin 23K Feb 6 10:48 SUPPORTERS.md
drwxrwxr-x 9 root admin 306B Feb 7 12:28 bin/
drwxr-xr-x 3 myuser admin 102B Feb 7 12:28 etc/
drwxr-xr-x 10 root wheel 340B Aug 3 2015 git/
drwxr-xr-x 20 root wheel 680B Dec 3 02:01 go/
drwxr-xr-x 3 myuser admin 102B Feb 7 12:28 include/
drwxr-xr-x 4 myuser admin 136B Feb 7 12:28 lib/
drwxr-xr-x 3 root wheel 102B May 15 2015 n/
drwxr-xr-x 3 myuser admin 102B Feb 7 12:28 opt/
drwxrwxr-x 5 root admin 170B Feb 7 12:28 share/
myuser#iMac:/usr/local$
I am running Ubuntu 14.04.1 LTS on a t1.micro on ec2. Just a moment ago I logged in, ran sudo apt-get update and got Reading package lists... Error!
I also realized that I no longer can install packages using sudo apt-get install.
Any idea what went wrong here? And how to fix it?
I have tried the answer suggested in this thread https://unix.stackexchange.com/questions/139441/reading-package-lists-error but that did not fix the problem. What makes things a little annoying also is the lack of error logs (or the fact I do not know where to look). For example the sudo apt-get install just fails and I do not know how to run it in verbose mode or where to look to find the specific reason why it is failing...
Here is the content of /var/lib/apt/lists
total 105476
drwxr-xr-x 3 root root 4096 Mar 15 23:05 .
drwxr-xr-x 6 root root 4096 Mar 9 05:58 ..
-rw-r----- 1 root root 0 Mar 15 20:02 lock
drwxr-xr-x 2 root root 4096 Mar 15 23:05 partial
-rw-r--r-- 1 root root 822 Mar 15 19:23 pkg.jenkins-ci.org_debian_binary_Packages
-rw-r--r-- 1 root root 2046 Mar 15 19:23 pkg.jenkins-ci.org_debian_binary_Release
-rw-r--r-- 1 root root 181 Mar 15 19:23 pkg.jenkins-ci.org_debian_binary_Release.gpg
-rw-r--r-- 1 root root 19466 Mar 13 10:29 ppa.launchpad.net_webupd8team_java_ubuntu_dists_trusty_main_binary-amd64_Packages
-rw-r--r-- 1 root root 6192 Mar 13 10:29 ppa.launchpad.net_webupd8team_java_ubuntu_dists_trusty_main_i18n_Translation-en
-rw-r--r-- 1 root root 15111 Mar 13 10:29 ppa.launchpad.net_webupd8team_java_ubuntu_dists_trusty_Release
-rw-r--r-- 1 root root 316 Mar 13 10:29 ppa.launchpad.net_webupd8team_java_ubuntu_dists_trusty_Release.gpg
-rw-r--r-- 1 root root 1410166 Mar 12 21:35 security.ubuntu.com_ubuntu_dists_trusty-security_main_binary-amd64_Packages
-rw-r--r-- 1 root root 1140580 Mar 11 00:34 security.ubuntu.com_ubuntu_dists_trusty-security_main_i18n_Translation-en
-rw-r--r-- 1 root root 349379 Mar 12 21:40 security.ubuntu.com_ubuntu_dists_trusty-security_main_source_Sources
-rw-r--r-- 1 root root 61968 Mar 12 21:40 security.ubuntu.com_ubuntu_dists_trusty-security_Release
-rw-r--r-- 1 root root 933 Mar 12 21:40 security.ubuntu.com_ubuntu_dists_trusty-security_Release.gpg
-rw-r--r-- 1 root root 542657 Mar 12 21:35 security.ubuntu.com_ubuntu_dists_trusty-security_universe_binary-amd64_Packages
-rw-r--r-- 1 root root 250304 Mar 11 00:34 security.ubuntu.com_ubuntu_dists_trusty-security_universe_i18n_Translation-en
-rw-r--r-- 1 root root 72494 Mar 12 21:40 security.ubuntu.com_ubuntu_dists_trusty-security_universe_source_Sources
-rw-r--r-- 1 root root 8234934 May 8 2014 us-west-2.ec2.archive.ubuntu.com_ubuntu_dists_trusty_main_binary-amd64_Packages
-rw-r--r-- 1 root root 4149211 Apr 15 2014 us-west-2.ec2.archive.ubuntu.com_ubuntu_dists_trusty_main_i18n_Translation-en
-rw-r--r-- 1 root root 5000095 May 8 2014 us-west-2.ec2.archive.ubuntu.com_ubuntu_dists_trusty_main_source_Sources
-rw-r--r-- 1 root root 58512 May 8 2014 us-west-2.ec2.archive.ubuntu.com_ubuntu_dists_trusty_Release
-rw-r--r-- 1 root root 933 May 8 2014 us-west-2.ec2.archive.ubuntu.com_ubuntu_dists_trusty_Release.gpg
-rw-r--r-- 1 root root 31726252 May 8 2014 us-west-2.ec2.archive.ubuntu.com_ubuntu_dists_trusty_universe_binary-amd64_Packages
-rw-r--r-- 1 root root 18635427 May 8 2014 us-west-2.ec2.archive.ubuntu.com_ubuntu_dists_trusty_universe_i18n_Translation-en
-rw-r--r-- 1 root root 27857155 May 8 2014 us-west-2.ec2.archive.ubuntu.com_ubuntu_dists_trusty_universe_source_Sources
-rw-r--r-- 1 root root 2881415 Mar 15 22:58 us-west-2.ec2.archive.ubuntu.com_ubuntu_dists_trusty-updates_main_binary-amd64_Packages
-rw-r--r-- 1 root root 1784682 Mar 12 18:07 us-west-2.ec2.archive.ubuntu.com_ubuntu_dists_trusty-updates_main_i18n_Translation-en
-rw-r--r-- 1 root root 938350 Mar 15 22:58 us-west-2.ec2.archive.ubuntu.com_ubuntu_dists_trusty-updates_main_source_Sources
-rw-r--r-- 1 root root 61966 Mar 15 22:58 us-west-2.ec2.archive.ubuntu.com_ubuntu_dists_trusty-updates_Release
-rw-r--r-- 1 root root 933 Mar 15 22:58 us-west-2.ec2.archive.ubuntu.com_ubuntu_dists_trusty-updates_Release.gpg
-rw-r--r-- 1 root root 1538422 Mar 15 22:58 us-west-2.ec2.archive.ubuntu.com_ubuntu_dists_trusty-updates_universe_binary-amd64_Packages
-rw-r--r-- 1 root root 669587 Mar 12 18:27 us-west-2.ec2.archive.ubuntu.com_ubuntu_dists_trusty-updates_universe_i18n_Translation-en
-rw-r--r-- 1 root root 510829 Mar 15 22:58 us-west-2.ec2.archive.ubuntu.com_ubuntu_dists_trusty-updates_universe_source_Sources
and a little snippet from /var/lib/dpkg/status
Package: node-normalize-package-data
Status: install ok installed
Priority: extra
Section: web
Installed-Size: 58
Maintainer: Ubuntu Developers <ubuntu-devel-discuss#lists.ubuntu.com>
Architecture: all
Version: 0.2.2-1
Depends: nodejs, node-github-url-from-git, node-semver (>= 2)
Description: Normalizes package metadata - Node.js module
This module is used by node-read-package-json to normalize data it
reads from a package.json file typically found in Node.js modules,
but in principle it could come from any source.
.
Node.js is an event-based server-side javascript engine.
Original-Maintainer: Debian Javascript Maintainers <pkg-javascript-devel#lists.alioth.debian.org>
Homepage: https://github.com/meryn/normalize-package-data
A restart of the instance fixed the issue. Why this worked, I cannot explain!
You can try out the below commands to fix the issue
sudo rmdir /var/lib/dpkg/status
sudo touch /var/lib/dpkg/status
sudo apt-get update
The first command will remove the empty directory, second will create the new directory and the last command will populate the lists files.
Also, Restart your EC2 instance to make the above changes effective.