Komut satırından dağıtımın adına nasıl erişirim?


12

Oynadığım birkaç dağıtım var. SD kartları etiketliyorum, ancak:

  1. Onlar baş aşağı
  2. Genellikle RPi'den başka bir odadayım

Pi'm kapandığında veya başlatıldığında (API'yı kıvırmak kullanarak) Pushover aracılığıyla bana bildiren init.d'de bir hizmet ayarladım.

Şu anda hangi dağıtımı kullandığımı da eklemek istiyorum.

Son botumda (adafruit Raspbian ile oynarken) görebiliyorum:

Linux raspberrypi 3.1.9adafruit+ #8 PREEMPT Wed Aug 1 18:02:42 EDT 2012 armv6l

Bu bilgileri betiğime dahil etmeyi nasıl sağlayabilirim?

Ben lsb-release yükledim, ama bu sadece bana bunu verir:

pi@raspberrypi / $ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux testing/unstable
Release:    testing/unstable
Codename:   n/a

Bu benim normal Raspbian'ımla aynı görünecekti.

Buna ek olarak, muhtemelen SD karttaki belirli bir örnek hakkında kendime bir şey göstermek istiyorum (muhtemelen aynı taban dağıtımının çoğuna sahip olacağım). Açıkçası, her SD karta aynı yere bir dosya bırakabilirim, ancak bu tür bilgileri nereye koyacağınıza dair bir kural var mı?


Vay havalı. Bu itme / init.d olayını nasıl bir araya getirdiğinize işaret edebilir misiniz? Cevaplarsanız bir soru soracağım :)
Zlatko

@zladuric pushover.net'de bir hesap için kaydolun. Curl API oldukça basittir. Ben init.d bir "hizmet" olarak basit bir komut dosyası kurmak ve sadece start / stop farklı bildirimler gönderir. Teknik olarak bir start stop bildirimi olduğundan, "start" alırsa bir bildirim gönderir. Pratikte, önyükleme ve kapatma dışında hiçbir şey başlamaz veya durmaz. Kodun tamamını istiyorsanız devam edin ve bir soru gönderin.
Cade Roux

Yanıtlar:


8
$ uname -a
Linux raspberrypi 3.1.9+ #174 PREEMPT Sun Jul 22 19:04:28 BST 2012 armv6l GNU/Linux

7

Deneyin

cat /etc/*-release

Masaüstümde

NAME="Arch Linux"
ID=arch
PRETTY_NAME="Arch Linux"
ANSI_COLOR="0;36"
HOME_URL="https://www.archlinux.org/"
SUPPORT_URL="https://bbs.archlinux.org/"
BUG_REPORT_URL="https://bugs.archlinux.org/"

Resmi Raspberry Pi görüntülerini (Raspbian ve Arch) kontrol ettikten sonra /etc/os-release, her ikisinde de mevcuttur ve en azından NAME ve PRETTY_NAME özelliklerini içerir.

Dağıtımın adını nasıl ayıklayabilirim?

Bu oldukça basit, dene

$ cat /etc/os-release | perl -n -e '/^NAME=\"([a-zA-Z ]*)\"$/ && print "$1\n"'
Arch Linux

Referanslar

  1. Nasıl Yapılır: Linux Dağıtım Adımı ve Sürümümü Bulma

İyi görünüyor. Sonuçta, söz konusu dağıtımlar için çalıştığı sürece bunun gerçekten evrensel olup olmadığı önemli değildir. Ve varsayılan olarak sahip olmayan bir dosyayı denerken, kendi dosyasını dosya sistemine koymak kolay olacaktır.
Chris Stratton

4

Belirtildiği gibi kullanabilirsiniz uname, ancak bu yalnızca çekirdek sürümünü gösterecektir. Birkaç farklı dağıtımda / kartta aynı çekirdek sürümüne sahipseniz (birçoğu aynı temel çekirdeği kullandığından çok olasıdır), her biri için aynı sonucu alırsınız. Dolayısıyla dağıtımları ayırt etmenin en iyi yolu çekirdek dışında bir şey kullanmaktır. Ancak evrensel bir yol yoktur. Kolay bir yol ana bilgisayar adını kullanmak (ve her dağıtım için değiştirmek) olacaktır.

cat / proc / sürüm / proc / sys / çekirdek / ana bilgisayar adı

veya

ana bilgisayar adı && uname -a


cat / proc / versiyon / proc / sys / çekirdek / hostname
Krzysztof Adamski

hostname && uname -a (hostname'nin çalıştığını varsayarsak - pi şu anda kontrol etmek için önyükleme yapmaz)
Chris Stratton
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.