Чтение онлайн

на главную - закладки

Жанры

В начале была командная строка
Шрифт:

Следовательно, почти любая софтина может использоваться, чтобы создать, отредактировать, и прочитать файлы исходной программы. Объектные кодовые файлы, затем, создаются из этих исходных файлов специальной программулей, которая называется «компилятор», и обрабатываются до состояния рабочего приложения другим напильником, который называется «компоновщик». (Это священная троица программ, с которой начинается жизнь почти любого компьютера: редактор текстов, компилятор объектных кодов, и «редактор связей» или компоновщик — те блестящие молотки, которыми куча мертвого железа превращается в полезный универсальный инструмент. — Прим. перев.)

Триада редактора, компилятора, и компоновщика, взятых вместе, формирует сердцевину системы разработки программного обеспечения. Теперь есть возможность вбухать много денег в чистенькие системки разработки с красивенькими графическими интерфейсами пользователя и различными эргономическими расширениями (О! Как RAD каждый программист, которому дан в ощущениях процесс Быстрой Разработки Приложений. В некоторых случаях это могло даже быть хорошим и разумным способом тратить деньги. Но на этой стороне дороги, самым лучшим программным обеспечением являются обычно свободные вещи. Редактор, компилятор и компоновщик для хакеров то же самое, чем были пони, стремена, и «комплекты стрельбы из лука» для Монголов (ну,

колчан со стрелами и тугой лук — это в своем роде и есть комплект джентльменского арчера, будь то древний монгол или современный энтузиаст любимого спорта английских йоменов и славных парней робин-гудов, так что мой перевод archery sets прошу считать адекватным — прим. перев). Хакеры живут в седле (то есть в Сети? а где живут монголы? — неодумение пререв.), и «хакают» своими собственными инструментами, даже когда используют их, чтобы создать новые приложения. Это в натуре непостижимо, что инструментальные средства высшей пробы могут создаваться с чистого листа инженерами продукта. Даже если они — самые яркие инженеры в мире, они просто в меньшинстве.

В «ГНУсном мире Линуха» (это разумеется, юмор: попробуйте без вопросов перевести на великий и могучий GNU/Linux world. — Прим. перев.) есть две основных проги для редактирования: минималистский vi (известный в некоторых реализациях как elvis) и максималистский emacs (плюс два лагеря непримиримых сторонников того и другого, между которыми — настоящие религиозные войны. — Прим. перев.). Я использую emacs, который можно представить как термоядерный текстовый процессор. То, что он создавался Ричардом Столлманом (Richard Stallman); говорит достаточно. Он написан на языке Лисп, который является единственным машинным языком, который красив (весьма спорное утверждение, целиком на совести автора. Мое мнение может с ним не совпадать: я не люблю Лисп, если кто-то спросит. Мне гораздо больше по вкусу CLIPS, как объектно-ориентированное развитие идей функционального программирования — Прим перев.). Он колоссален, и всего лишь навсего редактирует обычные текстовые файлы ASCII, то есть, никаких шрифтов, никаких «жирных» гарнитур, никакого подчеркивания. Другими словами, часы инженеров, которые, в случае Microsoft Word, посвящались примочкам подобно автоматическому составлению писем и способности вставлять изображения изменяемого размера в корпоративные меморандумы, были, в случае emacs, сфокусированы на маниакальной по интенсивности работе над кажущимися обманчиво простыми проблемами редактирования текста. Если Вы — профессиональный писатель — т. е., если кто-то еще получает деньги, за беспокойство о том, как ваши слова будут отформатированы и напечатаны — emacs затмевает все другие софтины для редактирования приблизительно так же, как полуденное солнце делает звезды. Он не просто большой и более яркий; он просто заставляет всех остальных побледнеть (ну, тоже в своем роде двусмысленное замечание — бледнеть можно по разным причинам, — прим. перев.). Для страничного форматирования и печати Вы можете использовать TeX: обширный объем правил печати, написанных на Си и также свободно доступных в Сети.

Я мог бы долго трепаться о emacs и TeX, но прямо сейчас я пытаюсь поведать историю о том, как в натуре установить Linux в вашей машине. Методом хардкорной проверки на выживание было бы скачать редактор подобно emacs, и инструментальные средства ГНУ — компилятор и компоновщик — которые отшлифованы и великолепны примерно в той же степени как emacs. Обеспеченный ими, некто мог бы начать скачивать файлы исходников в кодировке ASCII (/src) и компилировать их в объектные файлы двоичного кода (/bin), которые должны работать на машине. Но типа, чтобы вообще прибыть в эту точку, — чтобы заставить emacs работать, к примеру — вы должны уже иметь Linux, установленный и работающий на вашей машине. И даже минимальная линуховая ОпСистемка требует тысячи двоичных файлов, действующих в полном согласии, размещенный и связанный вместе совершенно правильно.

Различные личности, таким образом, возложили на себя самих всю грязную работу, по созданию «поставок» Linux. Если я могу немного расширить египетскую аналогию, эти парни примерно как гиды в путешествиях, которые встречает вас в аэропорту, которые говорят на вашем языке, и помогают вам пройти через начальный культурный шок. Если вы — египтянин, конечно, вы видите это с другой стороны; туристические гиды существуют, чтобы удержать британских иноземцев от разгуливания по вашим мечетям и задавания вам одних и тех же вопросов снова и снова.

Некоторые из этих «тургидов» относятся к коммерческим организациям, как например, софтины Красной Шапки (в оригинале — Red Hat Software, название фирмы-распространителя, остальное — интернациональная игра слов, — прим. перев.), которая выпускает дистрибутивы Linux названные «Красной Шапкой», что придает этому столоверчению сравнительно коммерческий блеск. В большинстве случаев вы устанавливаете CD-ROM «Красной Шапочки» (другое фамильярное название, — прим. перев.) в ваш ПиСюк, перезагружаете его, и он выполняет остальное. Так же как гид по Египту будет ожидать некой компенсации за свои услуги, коммерческие поставки должны были оплачены. В большинстве случаев они не стоят почти ничего и в этом их немалое достоинство.

Я пользуюсь поставкой, которая называется Debian (слово является сокращением от «Deborah» и «Ian») и является некоммерческой. Она была организована (или, возможно, я должен сказать «она организовала себя») примерно той же сапой, как Linux в общем смысле, то есть, она опирается на добровольцев, которые сотрудничают по Сети, каждый ответствен за поддержку своего компонента системы. Эти люди разбили Linux на множество пакетов, которые являются сжатыми файлами и могут загружаться уже функционирующей линуховой системой на основе поставки Debian, затем, открываются и распаковываются, используя свободное приложение установки. Конечно, как таковая, Debian не имеет коммерческой мощи — ни распространительного механизма. Вы можете загрузить все дебиановские пакеты по Сети, но большинство людей захочет получить их на CD-ROM. Различные другие компании возложили на себя всю возню по закачиванию дебиановских пакетов на CD-ROMы и последующей их продаже. Я купил свое в «Лаборатории Линуховых Систем». Стоимость для трехдисковой установки, содержащей Debian во всей полноте — менее чем три доллара. Но (и это — важное различие) ни единого пенни из этих трех долларов не достается никому из кодировщиков, которые создавали Linux, ни упаковщикам из Debian. Они все остаются в Лаборатории Линоховых Систем и платятся не за программное обеспечение, или пакеты, но составляют стоимость «выпекания» дисков CD-ROM.

Каждая из линуховых поставок включает некоторый более или менее умный «хак» для обхода нормального процесса загрузки и чтоб заставить ваш компьютер, когда он включится, организовать себя

не как ущербный ПиСюк, выполняющий «Окна», но как реальный «хост» под управлением Unix. Это немного тревожит поначалу, когда вы видите это впервые, но полностью безопасно. Когда PC загружается, он проходит небольшую программу самотестирования, проверяя доступное дисковое пространство и запас памяти, а затем осматривается в поисках диска, с которого можно загрузится. В любом нормальном виндовом компьютере, этим диском будет жесткий диск. Но если у вас ваша система настроена правильно, она сначала проверит дисководы для флоппиков или CD-ROM, и загрузится с одного из них, если они доступны.

Linux пользуется этой фишкой в своих целях. Ваш компьютер замечает загрузочный диск в приводе для флоппиков или СиДюков, загружает некоторый объектный код с этого диска, и слепо начинает исполнять его. Но это не «мелкомягкий» или «яблочный» код, это — линуховый код, и отсюда ваш компьютер начинает вести себя намного иначе, по сравнению с тем, к чему вы привыкли. Загадочные сообщения начинают перемещаться по экрану. Если вы загрузили коммерческую OS, вы отсюда видите мультяху «Добро пожаловать в MacOS» или экран, заполненный облаками в синем небе, и логотип «Windows». Но под Linux вы получаете длинную телеграмму, напечатанную абсолютно белыми буквами на черном экране. Здесь нет сообщения «добро пожаловать!». Большинство этих телеграмм полу-непостижимы, как угрожающие граффити на стене. (Не курить! Пристегните ремни… — Прим. линухоида. Три… Два… Один…)

Dec 14 15:04:15 theRev syslogd 1.3–3#17: restart. Dec 14 15:04:15 theRev kernel: klogd 1.3–3, log source = /proc/kmsg started. Dec 14 15:04:15 theRev kernel: Loaded 3535 symbols from /System.map. Dec 14 15:04:15 theRev kernel: Symbols match kernel version 2.0.30. Dec 14 15:04:15 theRev kernel: No module symbols loaded. Dec 14 15:04:15 theRev kernel: Intel MultiProcessor Specification v1.4 Dec 14 15:04:15 theRev kernel: Virtual Wire compatibility mode. Dec 14 15:04:15 theRev kernel: OEM ID: INTEL Product ID: 440FX APIC at: 0xFEE00000 Dec 14 15:04:15 theRev kernel: Processor #0 Pentium(tm) Pro APIC version 17 Dec 14 15:04:15 theRev kernel: Processor #1 Pentium(tm) Pro APIC version 17 Dec 14 15:04:15 theRev kernel: I/O APIC #2 Version 17 at 0xFEC00000. Dec 14 15:04:15 theRev kernel: Processors: 2 Dec 14 15:04:15 theRev kernel: Console: 16 point font, 400 scans Dec 14 15:04:15 theRev kernel: Console: colour VGA+ 80x25, 1 virtual console (max 63) Dec 14 15:04:15 theRev kernel: pcibios_init: BIOS32 Service Directory structure at 0x000fdb70 Dec 14 15:04:15 theRev kernel: pcibios_init: BIOS32 Service Directory entry at 0xfdb80 Dec 14 15:04:15 theRev kernel: pcibios_init: PCI BIOS revision 2.10 entry at 0xfdba1 Dec 14 15:04:15 theRev kernel: Probing PCI hardware. Dec 14 15:04:15 theRev kernel: Warning: Unknown PCI device (10b7:9001). Please read include/linux/pci.h Dec 14 15:04:15 theRev kernel: Calibrating delay loop.. ok — 179.40 BogoMIPS Dec 14 15:04:15 theRev kernel: Memory: 64268k/66556k available (700k kernel code, 384k reserved, 1204k data) Dec 14 15:04:15 theRev kernel: Swansea University Computer Society NET3.035 for Linux 2.0 Dec 14 15:04:15 theRev kernel: NET3: Unix domain sockets 0.13 for Linux NET3.035. Dec 14 15:04:15 theRev kernel: Swansea University Computer Society TCP/IP for NET3.034 Dec 14 15:04:15 theRev kernel: IP Protocols: ICMP, UDP, TCP Dec 14 15:04:15 theRev kernel: Checking 386/387 coupling… Ok, fpu using exception 16 error reporting. Dec 14 15:04:15 theRev kernel: Checking 'hlt' instruction… Ok. Dec 14 15:04:15 theRev kernel: Linux version 2.0.30 (root@theRev) (gcc version 2.7.2.1) #15 Fri Mar 27 16:37:24 PST 1998 Dec 14 15:04:15 theRev kernel: Booting processor 1 stack 00002000: Calibrating delay loop.. ok — 179.40 BogoMIPS Dec 14 15:04:15 theRev kernel: Total of 2 processors activated (358.81 BogoMIPS). Dec 14 15:04:15 theRev kernel: Serial driver version 4.13 with no serial options enabled Dec 14 15:04:15 theRev kernel: tty00 at 0x03f8 (irq = 4) is a 16550A Dec 14 15:04:15 theRev kernel: tty01 at 0x02f8 (irq = 3) is a 16550A Dec 14 15:04:15 theRev kernel: lp1 at 0x0378, (polling) Dec 14 15:04:15 theRev kernel: PS/2 auxiliary pointing device detected — driver installed. Dec 14 15:04:15 theRev kernel: Real Time Clock Driver v1.07 Dec 14 15:04:15 theRev kernel: loop: registered device at major 7 Dec 14 15:04:15 theRev kernel: ide: i82371 PIIX (Triton) on PCI bus 0 function 57 Dec 14 15:04:15 theRev kernel: ide0: BM-DMA at 0xffa0-0xffa7 Dec 14 15:04:15 theRev kernel: ide1: BM-DMA at 0xffa8-0xffaf Dec 14 15:04:15 theRev kernel: hda: Conner Peripherals 1275MB — CFS1275A, 1219MB w/64kB Cache, LBA, CHS=619/64/63 Dec 14 15:04:15 theRev kernel: hdb: Maxtor 84320A5, 4119MB w/256kB Cache, LBA, CHS=8928/15/63, DMA Dec 14 15:04:15 theRev kernel: hdc:, ATAPI CDROM drive Dec 15 11:58:06 theRev kernel: ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 Dec 15 11:58:06 theRev kernel: ide1 at 0x170-0x177,0x376 on irq 15 Dec 15 11:58:06 theRev kernel: Floppy drive(s): fd0 is 1.44M Dec 15 11:58:06 theRev kernel: Started kswapd v 1.4.2.2 Dec 15 11:58:06 theRev kernel: FDC 0 is a National Semiconductor PC87306 Dec 15 11:58:06 theRev kernel: md driver 0.35 MAX_MD_DEV=4, MAX_REAL=8 Dec 15 11:58:06 theRev kernel: PPP: version 2.2.0 (dynamic channel allocation) Dec 15 11:58:06 theRev kernel: TCP compression code copyright 1989 Regents of the University of California Dec 15 11:58:06 theRev kernel: PPP Dynamic channel allocation code copyright 1995 Caldera, Inc. Dec 15 11:58:06 theRev kernel: PPP line discipline registered. Dec 15 11:58:06 theRev kernel: SLIP: version 0.8.4-NET3.019-NEWTTY (dynamic channels, max=256). Dec 15 11:58:06 theRev kernel: eth0: 3Com 3c900 Boomerang 10Mbps/Combo at 0xef00, 00:60:08:a4:3c: db, IRQ 10 Dec 15 11:58:06 theRev kernel: 8K word-wide RAM 3:5 Rx: Tx split, 10base2 interface. Dec 15 11:58:06 theRev kernel: Enabling bus-master transmits and whole-frame receives. Dec 15 11:58:06 theRev kernel: 3c59x.c:v0.49 1/2/98 Donald BeckerDec 15 11:58:06 theRev kernel: Partition check: Dec 15 11:58:06 theRev kernel: hda: hda1 hda2 hda3 Dec 15 11:58:06 theRev kernel: hdb: hdb1 hdb2 Dec 15 11:58:06 theRev kernel: VFS: Mounted root (ext2 filesystem) readonly. Dec 15 11:58:06 theRev kernel: Adding Swap: 16124k swap-space (priority -1) Dec 15 11:58:06 theRev kernel: EXT2-fs warning: maximal mount count reached, running e2fsck is recommended Dec 15 11:58:06 theRev kernel: hdc: media changed Dec 15 11:58:06 theRev kernel: ISO9660 Extensions: RRIP_1991A Dec 15 11:58:07 theRev syslogd 1.3–3#17: restart. Dec 15 11:58:09 theRev diald[87]: Unable to open options file /etc/diald/diald.options: No such file or directory Dec 15 11:58:09 theRev diald[87]: No device specified. You must have at least one device! Dec 15 11:58:09 theRev diald[87]: You must define a connector script (option 'connect'). Dec 15 11:58:09 theRev diald[87]: You must define the remote ip address. Dec 15 11:58:09 theRev diald[87]: You must define the local ip address. Dec 15 11:58:09 theRev diald[87]: Terminating due to damaged reconfigure.

Поделиться:
Популярные книги

Поступь Империи

Ланцов Михаил Алексеевич
7. Сын Петра
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Поступь Империи

Мастер Разума

Кронос Александр
1. Мастер Разума
Фантастика:
героическая фантастика
попаданцы
аниме
6.20
рейтинг книги
Мастер Разума

Сиротка 4

Первухин Андрей Евгеньевич
4. Сиротка
Фантастика:
фэнтези
попаданцы
6.00
рейтинг книги
Сиротка 4

Провинциал. Книга 7

Лопарев Игорь Викторович
7. Провинциал
Фантастика:
боевая фантастика
космическая фантастика
5.00
рейтинг книги
Провинциал. Книга 7

Ненаглядная жена его светлости

Зика Натаэль
Любовные романы:
любовно-фантастические романы
6.23
рейтинг книги
Ненаглядная жена его светлости

Книга пяти колец

Зайцев Константин
1. Книга пяти колец
Фантастика:
фэнтези
6.00
рейтинг книги
Книга пяти колец

Ваше Сиятельство

Моури Эрли
1. Ваше Сиятельство
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Ваше Сиятельство

Болотник 3

Панченко Андрей Алексеевич
3. Болотник
Фантастика:
попаданцы
альтернативная история
6.25
рейтинг книги
Болотник 3

Темный Охотник 3

Розальев Андрей
3. КО: Темный охотник
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Темный Охотник 3

Семья. Измена. Развод

Высоцкая Мария Николаевна
2. Измены
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Семья. Измена. Развод

Восход. Солнцев. Книга X

Скабер Артемий
10. Голос Бога
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Восход. Солнцев. Книга X

По осколкам твоего сердца

Джейн Анна
2. Хулиган и новенькая
Любовные романы:
современные любовные романы
5.56
рейтинг книги
По осколкам твоего сердца

Барон диктует правила

Ренгач Евгений
4. Закон сильного
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Барон диктует правила

Неудержимый. Книга XII

Боярский Андрей
12. Неудержимый
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Неудержимый. Книга XII