К основному контенту

Как я реанимировал CISCO-2950

Установленный "на территории" коммутатор cisco catalyst 2950, в один прекрасный день, перестал подавать признаков жизни. По-этому бы оперативно доставлен для последующего ремонта.

При попытке загрузки я получил следующий вывод:
C2950 Boot Loader (C2950-HBOOT-M) Version 12.1(14)AZ, RELEASE SOFTWARE (fc2)
Compiled Tue 14-Oct-03 17:14 by antonino
WS-C2950T-48-SI starting...
Base ethernet MAC Address: 00:##:##:##:##:c0
Xmodem file system is available.
Initializing Flash...
flashfs[0]: 357 files, 6 directories
flashfs[0]: 0 orphaned files, 0 orphaned directories
flashfs[0]: Total bytes: 7741440
flashfs[0]: Bytes used: 5703680
flashfs[0]: Bytes available: 2037760
flashfs[0]: flashfs fsck took 7 seconds.
...done initializing flash.
Boot Sector Filesystem (bs:) installed, fsid: 3
Parameter Block Filesystem (pb:) installed, fsid: 4
Loading "flash:/c2950-i6k2l2q4-mz.121-22.EA14.bin"...#####...######

File "flash:/c2950-i6k2l2q4-mz.121-22.EA14.bin" uncompressed and installed, entry …

Python. Curses


Поискав в инете инфу о curses в языке си и python — ничего толкового не нашел. Нашел только кривой мануал на офф сайте питона, да и тот тоже не особо ровный — прыжки с места на место. Решил как и всегда, написать свое объяснение curses «как для себя». Я попрежнему пишу на 2,6 версии.
Задача — вывести цветной текст в терминал.
Вот такое решение получаю.


#!/usr/local/bin/python

#Подключаем модуль curses, с которым, собственно, и работаем

import curses

#Подключаем модуль times, нужен только в конце скрипта для задержки на выход.
import time

#инициалищируем работу с экраном.
stdscr = curses.initscr()

# отключаем отображение курсора в терминале. см. описание ниже.
curses.curs_set(0)

#разрешаем работу с цветом.
curses.start_color()

#Объявляем, так называемую, палитру цветов.

#Палитра состоит из идентификационного номера, цвет текста, цвет фона

curses.init_pair(1, curses.COLOR_BLACK, curses.COLOR_WHITE)

# просто описанная переменная, хотел проверить вывод значений в следующей процедуре.

a = 1

# процедура выводит строку (и только строку). Строка начнется в координате x=10 и y=10 знакомест. Текст будет окрашен в палитру 1.
stdscr.addstr(10,10, str(a), curses.color_pair(1))

#Обновляем то, что написали.

stdscr.refresh()

#Делаем задержку перед выходом из программы "чтобы посмотреть"
time.sleep(3)





#Возвращаем стандартное отображение курсора.
curses.curs_set(1)

Доступные цвета:

# black 0
# red 1
# green 2
# yellow 3
# blue 4
# magenta 5
# cyan 6
# white 7

хотя даже в доке сказано, что лучше пользовать их через переменные модуля curses — curses.COLOR_BLACK или curses.COLOR_WHITE.

curses.curs_set(значение) - позваляет управлять отображением курсора ввода с клавиатуры в терминале. Можно использовать следующие значения:
0 — скрыть курсор.
1 — стандартный курсор.
2 — непрозрачный курсор.
Следует отметить, что если не вернуть стандартный курсор по окончании программы, то могут возникнуть некоторые трудности при работе в терминале (не отображаемый курсор или непрозрачный курсор).

Комментарии

Популярные сообщения из этого блога

Всё о SNR-S2950-24G

По просьбам трудящихся и всех остальных кто google'ил и Яндекс'ил и случайно попадал на мою страницу в с вопросами "настройка ip snr-s2950-24g" и "snr-s2950-24g как узнать его ip", а таких немало.

Итак по порядку: Настройка этого оборудования происходит через консольный порт, расположенный у нее на "морде" кабелем, который идет в комплекте, с одной стороны кабель RS-232, а с другой RJ-45. 

Теперь вопрос "как узнать его IP", ответ - по умолчаниюip 192.168.1.1 с маской 255.255.255.0, логин по умолчанию admin


Теперь о непосредственной настройке:
snr-s2950 - это управляемый коммутатор второго уровня. CLI (command line interface) визуально похож на CLI компании CISCO, но тем не менее им не является, т.к. CISCO написан на IOS, а snr, все же на linux, это мы можем узнать из логов загрузки, хотя в моем случае используется предыдущая модель:
System is booting, please wait...
Testing RAM...
0x04000000 RAM OK.
Attaching to file system ... done.

Loading flash…

Сброс CISCO 2950 на заводские настройки.

Способ 1 (если есть доступ в систему).
Сразу обращаю внимание, что делать это по удалёнке - не лучшая затея. Придется админить ногами.
После аутентификации даем команду erase startup-config
CISCO_2950>enable
Password: 
CISCO_2950#erase startup-config CISCO_2950#reload
Система будет спросит надо ли перезагружаться. Подтверждаем действие. После ребута, получим систему с чистым конфигом, но vlan'ы останутся, а вот конфиг станет чистым, далее запустится диалог первоначальной настройки, но от него можно отказаться.
Способ 2 (когда иного пути нет, а делать надо).
Случилось так, что не смог авторизоваться на CISCO 2950 по причине забытого пароля. Вариант был только один - его сбросить. Но как?
Вот это было в cu (гипертерминале)

CISCO_2950>enable
Password: 
Password: 
Password: 
% Bad secrets

На передней панели зажимаем кнопку MODE. После чего подаем питание. В окне cu (гипертерминала) должно появиться: C2950 Boot Loader (C2950-HBOOT-M) Version 12.1(14)AZ, RELEASE SOFTWARE (fc2) Compiled Tue 14-Oc…

Как я реанимировал CISCO-2950

Установленный "на территории" коммутатор cisco catalyst 2950, в один прекрасный день, перестал подавать признаков жизни. По-этому бы оперативно доставлен для последующего ремонта.

При попытке загрузки я получил следующий вывод:
C2950 Boot Loader (C2950-HBOOT-M) Version 12.1(14)AZ, RELEASE SOFTWARE (fc2)
Compiled Tue 14-Oct-03 17:14 by antonino
WS-C2950T-48-SI starting...
Base ethernet MAC Address: 00:##:##:##:##:c0
Xmodem file system is available.
Initializing Flash...
flashfs[0]: 357 files, 6 directories
flashfs[0]: 0 orphaned files, 0 orphaned directories
flashfs[0]: Total bytes: 7741440
flashfs[0]: Bytes used: 5703680
flashfs[0]: Bytes available: 2037760
flashfs[0]: flashfs fsck took 7 seconds.
...done initializing flash.
Boot Sector Filesystem (bs:) installed, fsid: 3
Parameter Block Filesystem (pb:) installed, fsid: 4
Loading "flash:/c2950-i6k2l2q4-mz.121-22.EA14.bin"...#####...######

File "flash:/c2950-i6k2l2q4-mz.121-22.EA14.bin" uncompressed and installed, entry …