@домівка Віктора Чмеля

 
 [Головна / Нотатки консультанта]

Перевірка пошти на POP3-сервері за допомогою програми telnet

@ Задача: Перевірити пошту на POP3-сервері БЕЗ використання стандартних поштових програм (напр. Outlook Express чи The Bat).

Команда telnet автоматично входить в поставку будь-якої операційної системи починаючи MS Windows 95 і закінчуючи FreeBSD. Просто наберіть в командному рядку ("Пуск", "Выполнить") наступні команди.


$ telnet <адреса вашого pop3-сервера> 110

USER <логін>
PASS <пароль>
STAT
<msgs> <bytes>
LIST
<msg #1> <bytes>
...
<msg #n> <bytes>
RETR <msg #n> - виводить текст повідомлення
TOP <msg #n> <lines(після заголовку)>
DELE <msg #n> - позначити як видалений (реальне видалення буде після команди QUIT)
RSET - зняти позначку "видалений"
QUIT

Більше див. http://pages.prodigy.net/michael_santovec/pop3telnet.htm та RFC1939.

Viktor V. Chmel, 11/25/2003 06:10:00 PM. 0 коментарів. Продивитись/додати свій

Оновлення FreeBSD. CVSup. make [build|install] world|kernel


@ Задача: Підтримка системи в поточному стані FreeBSD-STABLE.

Коли виходять чергові повідомлення про проблеми в безпеці (Security Advisories) їх можна вирішити декількома способами. Перший - встановлення окремих латок (patches), що виправляють помилки знайдені в вихідних кодах і подальша перекомпіляція. Другий - синхронізація всіх вихідних кодів системи до наступного стабільно працюючого стану, і знов таки перекомпіляція. Існує певна різниця між цими підходами (докладніше див. листа від Валерія Нечаєва "Залатування системи: патчі чи cvsup?"), але я надаю перевагу другому варіанту як такому, що може бути найбільше автоматизований.

  1. Зробіть резервні копії всіх важливих даних, та каталогів з конфігураційними файлами (/etc, /usr/local/etc).

  2. Синхронізуйте ваші вихідні коди з бажаною гілкою дерева розробки FreeBSD. Я роблю це через cvsup(1), див. гарний переклад документації для CVSup від Сергія Осокіна, та коротенький опис, як це зроблено у мене.

  3. Якщо ви закачували вихідні коди в /usr/src, то прочитайте файли /usr/src/UPDATING та /usr/src/Makefile, вони містять всю необхідну інформацію, яку треба знати для побудови ядра та системи.

  4. Далі копіюють /usr/src/etc/defaults/make.conf в /etc/make.conf та при бажанні редагують цей файл:

    #cp /usr/src/etc/defaults/make.conf /etc/make.conf

    #vi /etc/make.conf

    Ось деякі корисні речі:
      CFLAGS= -O -pipe
    CPUTYPES=p3
    MASTER_SITE_BACKUP?=...ftp7.ua.freebsd.org/...
    MASTER_SITE_OVERRIDE?=

    Ви можете поекспериментувати і з іншими опціями, але не змінюйти нічого без чіткого усвідомлення того що ви робите (див. файл defaults/make.conf та сторінку документації для make.conf(5)).
  5. Очистити систему від залишків попередніх компілювань та збірок:

    #cd /usr/obj

    #chflags -R noschg *

    #rm -rf *

  6. Перебудова системи та ядра (див. http://www.understudy.net/makeworld.html)

    Послідовність команд при перезбиранні з /usr/src/Makefile:

     # 1.  `cd /usr/src'       (or to the directory containing your source tree).
    # 2. `make buildworld'
    # 3. `make buildkernel KERNCONF=YOUR_KERNEL_HERE' (default is GENERIC).
    # 4. `make installkernel KERNCONF=YOUR_KERNEL_HERE' (default is GENERIC).
    # 5. `reboot' (in single user mode: boot -s from the loader prompt).
  7. Іноді новим версіям програм потрібні і нові відповідні конфігураційні файли, або якісь нові опції в них. Отже окрім власне оновлення програм треба оновити і файли. Порівняйте старі конфіги (/etc)з новими (/usr/src/etc) та внесіть зміни. Щоб трохи автоматизувати цей процес скористуйтесь утіліткою mergemaster (якщо її не існує в базовій системі - проінсталюйте з портів [sysutils/mergemaster], більше див. http://www.freebsddiary.org/mergemaster.php ). Дана утіліта перевіряє однакові файли чи ні, пропонує варіанти їх заміни/не заміни/злиття, а вам залишається лише уважно читати її вивід і обирати.

    - make.conf


    Цей файл впливає на команду make. З правильно настроєними опціями можна підвищити продуктивність компіляції і роботи програм. Файл знаходиться в /usr/src/etc/defaults/ directory. Його потрібно зкопіювати в /etc/ та змінити :

    - /ets/passwd (/etc/master.passwd & /usr/src/etc/passwd)

    - /etc/group
    (/etc/group & /usr/src/etc/group)

  8.  # 6.  `mergemaster -p'
    # 7. `make installworld' (All right? Does ps(1) and top(1) work?)
    # 8. `mergemaster'
    # 9. `reboot'
  9. Перевірка

  10. Ну і після того як... Запустіть щось на зразок
    #uname -a
    щоб перевірити чи все працює, і що ви маєте в результаті.

  11. Ще раз все перевірте чи не забуте щось, і ... насолоджуйтесь!

@ cvsup tuning

Download source code from cvsup-server:


# cvsup -g -L 2 /etc/cvsupfile

Key features in cvsupfile (more see in "CVSUP tuning."):
 # We have FreeBSD 4.7 installed => for obtaining all current security advisories for this branch we need:
*default tag=RELENG_4_7
# cvsup servers for Ukraine: cvsup5.ua.freebsd.org, cvsup7.ua.freebsd.org.ua
*default host=cvsup5.ua.freebsd.org
*default base=/usr
*default release=cvs delete use-rel-suffix compress
src-all

Command line:

# cvsup -g -L 2 <cvsupfile>
where
-g - not use GUI,
-L 0-2 - verbose level.

Of course the best way is put this command into some crontab file.

2 main files:

/etc/cvsupfile



bash-2.05b# cat /etc/cvsupfile
*default host=cvsup5.ua.freebsd.org

# The release branch for FreeBSD-4.7, used only for security advisories and other seriously critical fixes.
*default tag=RELENG_4_7

# for ports collection
# *default tag=.

# where to put status info
*default base=/usr/local/etc/cvsup

# where to put src dir
*default prefix=/usr

# synchronize with cvs repository, allow delete, ???, allow compress on communication channel
*default release=cvs delete use-rel-suffix compress

src-all

/usr/local/etc/sup/refuse

The refuse file goes in /usr/local/etc/cvsup/sup/refuse as mentioned in the handbook at http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/cvsup.html Section A.5.3.1 "The refuse file essentially tells *CVSup* that it should not take every single file from a collection; in other words, it tells the client to /refuse/ certain files from the server. The refuse file can be found (or, if you do not yet have one, should be placed) in /base//sup/.
/base/ is defined in your supfile; by default, /base/ is /usr/local/etc/cvsup, which means that by default the refuse file is /usr/local/etc/cvsup/sup/refuse."


bash-2.05b# cat /usr/local/etc/cvsup/sup/refuse
ports/chinese
ports/french
ports/german
ports/hebrew
ports/japanese
ports/korean
ports/vietnamese
doc/de_DE.ISO8859-1
doc/el_GR.ISO8859-7
doc/es_ES.ISO8859-1
doc/fr_FR.ISO8859-1
doc/it_IT.ISO8859-15
doc/ja_JP.eucJP
doc/nl_NL.ISO8859-1
doc/pt_BR.ISO8859-1
doc/sr_YU.ISO8859-2
doc/zh_TW.Big5

@ Patching system: patches or cvsup?


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
From: Valentin Nechayev
To: Viktor V. Chmel
Cc: freebsd AT freebsddiary dot org dot ua
Date: Friday, November 21, 2003, 7:50:23 PM
Subject: [freebsd] Залатування системи: патчі чи cvsup?
Files:
--====----====----====----====----====----====----====----====----====----===--
Thu, Nov 20, 2003 at 09:23:30, chmelvv wrote about "[freebsd] Залатування системи: патчі чи cvsup?":

> Коли знаходять дірку в системі, то в Security Advisories
> (http://www7.ua.freebsd.org/security/) часто пропонують декілька
> варіантів вирішення проблеми:
> 1) патч (зміни в висхідних кодах) + перекомпіляція тієї частини коду,
> де відбулися зміни;
> 2) оновлення до певної версії системи через cvsup(1), де ця помилка
> виправлена + знов таки перекомпіляція.
> Можливо існують ще якісь варіанти?
Угу, можно готовые бинарники накатывать, если их уже кто-то сделал.

> - Виникає питання, а яка різниця?
Разница в действиях, соответствующих описаниям.
К тому же в первом варианте больше шансов чего-то недофиксить - например,
при исправлении в libc может потребоваться пересобрать всё, что собрано
статиком.

> - Що краще підходить для оновлення системи на сервері, де "крутяться"
> відповідальні прикладення і який не варто зайвий раз перезавантажувати?
Почти одинаково.

> - Як можна найкраще автоматизувати цей процес?
Собрать команды в скрипт, скрипт выложить на ftp, команду забрать
скрипт с ftp и запустить его - засунуть в буфер мыши или X'ов,
далее - логин и paste из буфера.

> - Якщо ви в свій час обрали той чи інший варіант, то чому?
Второй - когда есть время на полную пересборку и её не мешает сделать
(например, прошёл месяц от предыдущей). Первый - если надо срочно.


-netch-
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

@ Перелік посилань

Viktor V. Chmel, 11/11/2003 08:48:00 PM. 0 коментарів. Продивитись/додати свій

 

[Головна / Нотатки консультанта] Last update:

Copyright © Чмель Віктор, , 2001-2004

Hosted by uCoz