How to know my Arduino core version and its location on my Ubuntu laptop? Bakground:

When compiling a demo project about e-paper, I got this problem

./GxEPD/src/GxIO/GxIO_SPI/GxIO_SPI.h:39:5: error: ‘SPISettings’ does not name a type
     SPISettings _spi_settings;
     ^


which on the Internet, people often say your Arduino core is not up-to-date and the one installed from

sudo apt install arduino-core


is ancient. And you have to install the latest version.

Regardless of whether this solves my original problem or not, I want to have the latest Arduino core on my  laptop.
From arduino.cc I grabbed a zipped file and ran ./install.sh which did not provide enough results to know what it exactly did. Now, I am concerned that I have multiple installation in several places.

Main question:

When I run my make file and it is processed by arduino-mk, which version of arduino-core is it referred to and where is it located?

I am looking for a full proof method. I do not want to open somewhere from / directory accidentally. Because maybe this is not the arduino-core in use.
The ancient version installed by apt lives in
/usr/share/arduino/hardware/arduino/cores/arduino.

If you download and unpack a recent version, it will stay wherever you
left it. For example, I have an Arduino core in
/home/edgar/Downloads/arduino-1.8.10/hardware/arduino/avr/cores/arduino.
The installation script doesn't really install those files. It does
install some icons and desktop shortcuts, but neither the core nor the
Arduino IDE. Instead, it assumes the downloaded package will stay
wherever it was when you ran the script.

If you want a somewhat cleaner installation, I suggest you move the
package to /opt, recursively chown it to root, and run the setup script
there. The core will then be in
/opt/arduino-&lt;version&gt;/hardware/arduino/avr/cores/arduino.