Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   *nix (https://forum.antichat.xyz/forumdisplay.php?f=43)
-   -   12 способов узнать ос (https://forum.antichat.xyz/showthread.php?t=61617)

Ky3bMu4 12.02.2008 15:35

12 способов узнать ос
 
Навеено темой - "23 способа получить в регистре единицу" А вот 12 способов узнать что за *nix система стоит на машине. Сильно не пинайте =) .

1)uname -a

2)cat /etc/issue(linux)

3)cat /proc/version

5)Тип ФС - fdisk [-l] //freebsd or not freebsd(может конечно быть и solaris=)) - ufs или ext3 ;Или - /dev/hda , /dev/hdb - linux , /dev/ad0s3e(нечто в этом роде) - freebsd

6)Посмотреть логи - /var/log/daemon.log,/var/bootstrap.log(linux) , /boot/loader.rc(freebsd) ,заглянуть в /boot/grub/menu.lst

7)Содержимое /usr/src/[kernel sources](если они конечно есть=)) , а точнее README.[OS](linux) or README(freebsd)

8)echo 'int main(void){return 0;}' > os.c && gcc os.c -o os && strings os
Если стоит freebsd, то увидете нечто вроде
$FreeBSD: src/lib/csu/i386-elf/crti.S,v 1.7 2005/05/19 07:31:06 dfr Exp $

9)По типу установки пакетов.
Присутствие директорий
/usr/ports - freebsd
/etc/apt - debian\ubuntu
/usr/portage - gentoo
откликается на rpm - redhat based , на deb или apt-get - debian\ubuntu , на emerge - gentoo , pacman - arch linux , slapt-get, swaret , slackpkg - slackware

10)Специфические файлы - /etc/rc.conf - freebsd\gentoo для остальных linux`ов rc.local,также можно посмотреть содержимое данного файла(к примеру, настройка маршрутиризации в debian`е и freebsd отличается по синтаксисиу ip) ; /etc/master.shadow - freebsd ,/etc/redhat-release - redhat or fedora , /etc/debconf.conf or /etc/debian_version - debian\ubuntu , /etc/freebsd-update.conf - freebsd , /COPYRIGHT(freebsd), позаглядывать в файлы /etc многие из них могут начинаться на
# $FreeBSD: ...
В /usr/share/doc тоже можно много интересного найти - /handbook(freebsd) или /ubuntu-doc

11)Если стоит web-сервак, то можно посмотреть какой message выводит сервер(но способ крайне ненадёжный) telnet localhost 80 ; GET /123123123123123123.html - <address>Apache/2.0.55 (Ubuntu) PHP/5.1.6 Server at 127.0.1.1 Port 80</address>


12)Если же ниодин из вышеперечисленных способов не помог(в чём я очень сильно сомневаюсь=)), то можно хотябы узнать версию ядра -
Код:

#include <stdio.h>
#include <sys/utsname.h>

int main(void)
{
        struct utsname u;
        uname(&u);
        printf("%s release %s(version %s) on %s\r\n",u.sysname,u.release,u.version,u.machine);
        return 0;
}

Я не думаю что кто-то из сисадминов будет перехватывать вызов uname() =).

mr.celt 15.02.2008 10:47

+13-й способ
procinfo|grep "Linux"

procedure 15.02.2008 19:51

+14
приглашение на Ftp сервер, если админ не изменил канеш.*))

~!DoK_tOR!~ 16.03.2008 17:38

+15

Версия дистрибутива:
cat /etc/*-realise

+16

Определение версии ОС:
sysctl -a | grep version

beliy 16.09.2008 18:54

а как узнать в какой директории установлен perl и установлен ли он вообще?

Ky3bMu4 16.09.2008 19:45

which perl - где установлен(бинарик)
ls /usr/lib/ | grep perl - установлен ли вообще

xcedz 16.09.2008 20:06

whereis perl

пример:

perl: /usr/bin/perl /etc/perl /usr/lib/perl /usr/share/perl /usr/share/man/man1/perl.1.gz

Ryuzavi 17.09.2008 00:54

+17
Для всех никсов (я не должен ошибиться): dmesg | grep Linux (или grep -i bsd и т.д.)
cat /etc/motd - имя машины, ос (message of the day), но если админ не идиот, то он специально напишет туда неверную информацию.
Для линух, мало что даёт (2.4 уже редкость), но всё-таки: для пересборки ядра 2.6 требуется компилятор gcc 3.2 и выше. (Т.е. если стоит gcc <3.2 , то сероятнее ядро 2.4)
Цитата:

в какой директории установлен perl
Можно так же втупую перебрать все папки и найти все файлы в root fs, в имени которых "perl" (этот способ можно поюзать когда в меню не прописана информация о пакете или нужно найти все файлы, связанные с пакетом, но в данном случае способ нехороший):
sudo find / -iname *perl*


Время: 10:43