FreeBSD - полезные советы

FreeBSD - полезные советы

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность. Книга завершается финалом, связывающим воедино темы и сюжетные линии, исследуемые на протяжении всей истории. В целом, книга представляет собой увлекательное и наводящее на размышления чтение, которое исследует человеческий опыт уникальным и осмысленным образом.

Жанр: Программирование
Серии: -
Всего страниц: 1
ISBN: -
Год издания: Не установлен
Формат: Полный

FreeBSD - полезные советы читать онлайн бесплатно

Шрифт
Интервал

Как не «проморгать» нужную строку

Вы, думаю, помните, сколько всего выводится на экран при сборке ядра или какого-нибудь большого пакета. Постоянно наблюдать за выводом довольно скучно, а экранный буфер не всегда позволяет «отмотать» вывод до интересующего вас момента. Можно, конечно, перенаправить вывод в файл и потом изучать его сколько угодно, но в этом случае вы теряете возможность «мониторить» процесс в режиме реального времени. Проблема легко решается с помощью утилиты script:


# script /var/log/build.log

Script started, output file is /var/log/build.log

# make buildworld

<. . . отображение процесса сборки . . .>

# exit

exit

Script done, output file is /var/log/build.log


То есть вы всё видите на экране, но при этом весь вывод, равно как и ввод, дублируются в указанном файле. Главное, чтобы места на диске хватило. Только не забывайте, что в этот же файл попадут и управляющие символы, так что этот метод не слишком подходит для «логирования» интенсивной интерактивной работы, особенно если вам часто приходится использовать Backspace.

Удалите из системы всё лишнее

При интенсивной работе с пакетами программ в системе со временем накапливается много лишнего, например, пакеты, которые устанавливались как зависимости к уже удалённым или обновлённым приложениям. Для их удаления в «полуавтоматическом» режиме служит очень удобная утилита: pkg_cutleaves (установить её можно из портов: sysutils/pkg_cutleaves). Поскольку она использует возможности portupgrade, то эта программа также должна быть у вас установлена. Если говорить точнее, то pkg_cutleaves работает с так называемыми листовыми пакетами, т.е. с такими, которые не являются зависимостями для других, установленных в системе. Например, команда «pkg_cutleaves -lc» выведет (с краткими комментариями) список пакетов-кандидатов на удаление, среди которых будут и bash, без которой вы жить не можете, и какой-нибудь gmake, который был нужен для установки приложения, уже давно «почившего в бозе». Поэтому её работа в любом случае требует вашего пристального внимания:


# /usr/local/sbin/pkg_cutleaves -x


Package 1 of 38:

autoconf-2.59_2 - Automatically <...> Un*x platforms (2.59)

autoconf-2.59_2 - [keep]/(d)elete/(f)lush marked pkgs/(a)bort?

** Keeping autoconf-2.59_2.


Package 2 of 38:

bash-2.05b.007_5 - The GNU Bourne Again Shell

bash-2.05b.007_5 - [keep]/(d)elete/(f)lush marked pkgs/(a)bor


 И так по всем пакетам: если хотите оставить – просто жмёте , если удалить – вводите и потом .

Понятно, что если какой-то из удаляемых пакетов «держит» другие в качестве зависимости, то эти другие сами станут «листовыми». Поскольку запускать «pkg_cutleaves -x» рекурсивно, пока не останутся только нужные пакеты, – не самое весёлое занятие, разработчики предусмотрели ещё один ключ: -R. Команда «pkg_cutleaves -R» работает аналогично приведённому выше, за тем исключением, что если в системе есть пакеты, от которых зависит только удаляемый, то они будут удалены автоматически и рекурсивно, без дополнительных вопросов. Как обычно в таких случаях, настоятельно рекомендую ознакомиться с man pkg_cutleaves и внимательно отвечать на каждый вопрос программы.

О пользе обратных кавычек

Свойство оболочки исполнять выражение в обратных кавычках (`команда`) и подставлять результат в исполняемую командную строку, предоставляет широчайшие возможности для автоматизации. Например, следующая команда выведет на экран конфигурационный файл текущего ядра, независимо от платформы и имени этого файла:


$ cat /usr/src/sys/`uname -p`/conf/`uname -i`


Ещё один пример:


$ touch arch`date "+%Y-%m-%d"`


В итоге вы получите файл с именем вида arch2006-07-21, зависящим от даты исполнения команды. При необходимости можно создавать и вложенные конструкции, например:


$ echo a`echo b\`echo c\\\`echo d\\\`c\`b`a

abcdcba


Обратите внимание на то, как приходится экранировать служебные символы для того, чтобы они «срабатывали» на нужном уровне вложенности (сам слэш тоже нуждается в экранировании, поэтому на «уровне d» мы вынуждены использовать целых три символа «\»). Наибольшую пользу обратные кавычки приносят при использовании в скриптах, автоматизирующих те или иные действия.

Обновляйте коллекцию портов без усилий

В FreeBSD 6.x появилась удобная утилита для обновления портов: portsnap. Теперь не обязательно устанавливать и настраивать cvsup, обновление дерева очень легко выполняется системными средствами:


# portsnap fetch && portsnap update


 При первом запуске между этими командами понадобится ещё одна: «portsnap extract». Для автоматического скачивания обновлений (например, по расписанию cron) вместо portsnap fetch следует использовать portsnap cron. 


Рекомендуем почитать
Мастера государственной измены

Масонство — тайное преступное сообщество, преследующее цель достижения мирового господства на началах иу-даистского учения об избранном народе. В книге на основе секретных масонских документов, хранившихся в Особом Архиве КГБ СССР, раскрывается подлинная история масонских преступлений против России с момента возникновения, в начале XVIII века, до конца XIX века. Многие документы публикуются впервые и имеют воистину сенсационный характер.Книга снабжена уникальным словарем российских масонов.


Великая танковая война, 1939–1945

1 сентября 1939 года, сбив пограничные шлагбаумы, немецкие танки вступили на территорию Польши — началась Вторая мировая война. Историки не зря окрестили её «войной моторов» — механизированные части и авиация играли в ней определяющую роль. И всё-таки по сути и влиянию на исход боевых действий, если сравнить вклад в победу различных родов войск, — мировой пожар 1939–1945 гг. был в первую очередь ВЕЛИКОЙ ТАНКОВОЙ ВОЙНОЙ.Подробное описание основных танковых сражений, глубокий анализ стратегии и тактики танковых войск, особенности боевого применения бронетехники на всех фронтах Второй мировой, свежий взгляд на теорию и практику танковой войны — в новой книге ведущего специалиста по истории бронетехники, автора военно-исторических бестселлеров, разошедшихся тиражами более 200 000 экземпляров!


Еще немного икры

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


Чердак в паутине

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


Pro Git

Разработчику часто требуется много сторонних инструментов, чтобы создавать и поддерживать проект. Система Git — один из таких инструментов и используется для контроля промежуточных версий вашего приложения, позволяя вам исправлять ошибки, откатывать к старой версии, разрабатывать проект в команде и сливать его потом. В книге вы узнаете об основах работы с Git: установка, ключевые команды, gitHub и многое другое.В книге рассматриваются следующие темы:основы Git;ветвление в Git;Git на сервере;распределённый Git;GitHub;инструменты Git;настройка Git;Git и другие системы контроля версий.


Java 7

Рассмотрено все необходимое для разработки, компиляции, отладки и запуска приложений Java. Изложены практические приемы использования как традиционных, так и новейших конструкций объектно-ориентированного языка Java, графической библиотеки классов Swing, расширенной библиотеки Java 2D, работа со звуком, печать, способы русификации программ. Приведено полное описание нововведений Java SE 7: двоичная запись чисел, строковые варианты разветвлений, "ромбовидный оператор", NIO2, новые средства многопоточности и др.


MFC и OpenGL

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


Симуляция частичной специализации

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


Обработка событий в С++

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


Питон — модули, пакеты, классы, экземпляры

Python - объектно-ориентированный язык сверхвысокого уровня. Python, в отличии от Java, не требует исключительно объектной ориентированности, но классы в Python так просто изучить и так удобно использовать, что даже новые и неискушенные пользователи быстро переходят на ОО-подход.