Determinarea poziției geografice folosind terminalul în Linux poate fi utilă atunci când vrei să știi, de exemplu, în ce parte a lumii se află serverul pe care butonezi la un moment dat. Instrumentul se numește whereami și are casa la adresa freegeoip.net. Eu am aflat de el de pe ostechnix.com.
Instalarea whereami
Instrumentul este extrem de simplu de instalat. Se instalează ușor atât în RHEL, CentOS, Fedora, cât și în Arch sau Ubuntu.
Prima dată se instalează npm, un manager de pachete javascript, cu una din comenzile de mai jos (în funcție de distribuție - trebuie reținut că pentru RHEL, CentOS, trebuie instalat depozitul epel cu comanda sudo yum install epel-release
):
sudo yum install npm
sudo dnf install npm
sudo pacman -S npm
sudo apt-get install npm
După instalarea npm se rulează comanda de mai jos pentru a instala și whereami:
sudo npm install -g @rafaelrinaldi/whereami
Rezultatul va arăta ca în imaginea de mai jos:
Determinarea poziției geografice cu whereami
Ceva mai simplu de atât nici că se poate. Vom rula comanda:
whereami
Am primit următorul răspuns care nu este tocmai exact (mă trimite undeva prin județ, la câțiva zeci de kilometri de Iași, locul unde mă aflu):
47.1622,27.0816
Prima parte înseamnă latitudinea (47.1622), iar cifrele de după virgulă arată longitudinea locului unde mă aflu (27.0816). Destul de criptic, nu?
Dar comanda whereami are și posibilitatea de a afișa rezultatul într-un format mai clar:
whereami --f human
Iar rezultatul este cât se poate de exact:
Iași, Judetul Iasi, Romania
Dacă vrem mai multe amănunte, dăm comanda:
whereami -r
Ultima comandă a greșit aflarea codului poștal: a băgat un cod poștal care nici măcar nu este din Iași, ci dintr-o comună din județ.
Pentru a afla mai multe opțiuni ale comenzii, rulați:
whereami -help
$ whereami -help
Usage: whereami [OPTIONS]
Get your geolocation information using freegeoip.net from the CLI
Example:
$ whereami
-23.4733,-46.6658$ whereami --f human
San Francisco, CA, United StatesOptions:
-v --version Display current software version
-h --help Display help and usage details
-f --format Output format (either human, json or sexagesimal)
-r --raw Output raw data from freegeoip.net
Dezinstalarea se face cu comanda:
sudo npm uninstall -g @rafaelrinaldi/whereami
Interesantă unealtă, nu? 🙂
ev a zis
Multumesc mult Dl Bob mai ales ca acum am linux peppermint.
Asa ca acum am nevie ca de aer de orice sfat.
Imi Place dar nu pot deschide hardul meu cu poze si muzica..
/sdb1 at /media/victor/8386-15181: Command-line `mount -t "vfat" -o "uhelper=udisks2,nodev,nosuid,uid=1000,gid=1000,shortname=mixed,utf8=1,showexec,flush" "/dev/sdb1" "/media/victor/8386-15181"' exited with non-zero exit status 32: mount: wrong fs type, bad option, bad superblock on /dev/sdb1,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail or so.
Ce mai imi ramane de facut?
Bobses a zis
"Wrong fs type" nu-ți spune nimic? Tu (sau distribuția ta) înceacă să-l monteze vfat (FAT), dar, mai mult ca sigur, partiția ta e NTFS.
Pune în /etc/fstab o linie asemănătoare cu cea de mai jos (înlocuiești cu valorile tale și faci și directorul und evrei să montezi sdb1 - am dat exemplu /media/victor/hard_disk):
/dev/sdb1 /media/victor/hard_disk ntfs-3g defaults 0 0
Habar n-am ce particularități are Peppermint.
Adrian a zis
Pe linux mint a trebuit să tastez asta înainte ca să funcționeze whereami:
sudo ln -s /usr/bin/nodejs /usr/bin/node
Sursa:
http://stackoverflow.com/questions/20886217/browserify-error-usr-bin-env-node-no-such-file-or-directory
Și rezultatul:
adrian@adrian-eME732ZG ~ $ whereami
46,25
adrian@adrian-eME732ZG ~ $ whereami --f human
Romania
adrian@adrian-eME732ZG ~ $ whereami -r
{"ip":"82.79.130.***","country_code":"RO","country_name":"Romania","region_code":"","region_name":"","city":"","zip_code":"","time_zone":"Europe/Bucharest","latitude":46,"longitude":25,"metro_code":0}
*** editat de mine
Bobses a zis
În Arch a mers cu comenzile pomenite în articol. Sunt convins că funcționează identic și pe Ubuntu, CentOS sau RHEL.
Dar Linux Mint e o derivație din Ubuntu, așa că e posibil să apară niște modificări. Văd că sunt probleme și la localizare la tine: te vede doar în România și atât.
Donald Carol a zis
Salut. Am instalat in Manjaro dar nu merge. iata ce am obtinut:
whereami
usage: whereami [-h] {predict,predict_proba,crossval,learn} ...
Uses WiFi signals and machine learning to predict where you are.
Feel free to try out commands, if anything is missing it will print help.
You will want to start with `whereami learn`
positional arguments:
{predict,predict_proba,crossval,learn}
optional arguments:
-h, --help show this help message and exit
Bobses a zis
Salut
Ce ai acolo e altceva: există și în Arch (deci și în Manjaro) un pachet whereami care face localizarea pe baza semnalului wifi: https://aur.archlinux.org/packages/?O=0&SeB=nd&K=whereami&outdated=&SB=n&SO=a&PP=50&do_Search=Go
Cred că whereami-ul din articolul meu intră în conflict cu cel instalat pe Manjaro-ul tău. 🙂 Încearcă să-l dezinstalezi pe cel din Manjaro ca să vezi ce și cum e ăsta. După aceea, îl poți dezinstala pe cel nou și reinstala pe cel vechi.
Donald Carol a zis
da, ai dreptate. M-am grabit si am instalat direct pachetul whereami din depozitul arch. Am instalat apoi cum ai scris, intii npm apoi whereami si acum merge. M-a si gasit: Cluj-Napoca, Judetul Cluj, Romania 🙂