среда, 27 октября 2010 г.

Очень подробная статья по Sed

Ссылка на саму статью.
Очень много всяких полезных и не очень примеров по использованию Sed.

понедельник, 25 октября 2010 г.

Как открыть архив tar в Windows

Как открыть архив tar в Windows?

Ответ прост. Эти настолько популярные в Linux архивы в Виндоус открываются очень просто - архиватором 7zip. Скачать его можно по ссылке для 32-битного Windows или для 64-х битного.  Точно также этим архиватором можно открыть такие архивы, как tar.gz и tar.bz2, которые на самом деле представляют из себя архивы tar, впоследствии запакованные архивами gzip и bzip2. Более того, он умеет также и создавать их. А про его версию под Linux, которая позволяет открывать RAR в линукс, я уже писал.

понедельник, 18 октября 2010 г.

Linux - вывод на экран 5-ти наиболее тяжелых директорий

find . -mindepth 1 -maxdepth 1 -type d -exec du -bs {} \; | sort -n -r | awk '{print $2}' | xargs du -hs | head -10
Выводит на экран 5 наиболее тяжелых директорий в данной директории и их размер в человекочитабельной форме. Очень полезно, когда требуется почистить место на сервере.

Перенос репозитория svn одной командой

$ svnadmin dump /var/lib/svn/myrepo/ | gzip -cf | ssh alexwinner@another.comp " svnadmin load /var/lib/svn/myrepo/ < `gunzip -cf`"
Эта команда создает дамп репозитория subversion на одном компьютере, на лету gzip'ит
его для большей скорости передачи по сети, на новом компьютере распаковывает и создает из этого дампа новый репозиторий.
Учтите, что перед этим на том сервере, где будет новый репозиторий, следует выполнить команду:
svnadmin create /var/lib/svn/myrepo

пятница, 15 октября 2010 г.

Отличный FAQ по apt-get в Debian (Ubuntu)

Q: Как обновить список пакетов?
Aapt-get update пройдет по всему списку указанному у вас в/etc/apt/sources.list и обновит списки пакетов по всем репозиториям.
Q: Списки я обновил, как теперь обновить сами пакеты?
Aapt-get upgrade - менее "интеллектуальный" вариант, обновляющий пакеты, которые есть в системе;
apt-get dist-upgrade - более "интеллектуальный" вариант, который следит за тем, не сменили ли пакеты имя и пытающийся обновлять более важные пакеты даже ценой удаления менее важных.
Q: А я не хочу все обновлять, как мне обновить только один пакет?
A: Точно так же, как и установка пакета: apt-get install <пакет>
Q: Как удалить пакет?
Aapt-get remove <пакет>
Q: А после удаления точно ничего от пакета не останется?
A: Для того, чтобы точно не осталось, лучше пользоваться apt-get remove --purge <пакет>
Q: Как мне узнать, как называется пакет для какой-то определенной цели?
A: Попробуйте поиск по ключевым словам при помощи apt-cache search <слова>
Q: Мне принесли компакты дистрибутива, которых у меня не было, как мне их добавить?
Aapt-cdrom add должно помочь
Q: Мне кажется, что меня взломали и что-то сделали с <пакетом>
Aapt-get install --reinstall вернет пакет к изначальному состоянию, то есть такому, какой он был на свежеустановленной системе.
Q: Очень хочется создать локальное зеркало, в какую сторону смотреть?
Aapt-move скорее всего решит полностью вашу проблему, для него достаточно указать, где лежит архив файлов и куда выложить ваше зеркало.
Q: А подробнее про apt-move можно? А: Можно:
apt-move update - переносит из /var/cache/apt/archives пакеты в директорию локального зеркала (указывается в /etc/apt-move.conf как переменная LOCALDIR=path_to).
По сути apt-move update является выполнением последовательности команд
$ apt-move get
$ apt-move move
$ apt-move delete
$ apt-move packages
apt-move get - формирует мастер-файл;
apt-move move - переносит пакеты из кэша apt в локальное зеркало;
apt-move delete - удаляет устаревшие пакеты;
apt-move packages - создает Packages.gz и Sources.gz дерева локального зеркала
Q: У меня пакеты все уже удалени из кэша, а друг тоже хочет весь "свежак", который у меня устанговлен...
A: Простой скрипт, выполненный в пустом каталоге, соберет в нем пакеты, которые установлены в системе:
dpkg --get-selections | \
 grep -v "deinstall" |  \
 awk '{print $1}' | \
 xargs dpkg-repack
Q: Есть подозрение, что из-за моих экспериментов в системе много мусора...
A: Попробуйте пакет debfoster, он при первом запуске спросит у вас о необходимости пакетов и удалит все лишнее.
Q: Где по умолчанию лежат пакеты, которые мне скачал apt-get?
A: в /var/cache/apt/archives
Q: Как мне поставить один *.deb пакет в систему?
A: При условии того, что удовлетворены все зависимости, dpkg -i <пакет>приведет к желаемому результату.
Q: Как заставит apt работать через proxy сервер?
A: Либо установив переменную окружения при помощи
export http_proxy="http://login:password@xxx.xxx.x.xx:yyyy"
либо прописав в файл /etc/apt/apt.conf строку
Acquire::http::Proxy "http://xxx.xxx.xx:yyyy";
где xxx.xxx.xx - имя вашего прокси, yyyy - порт
Q: Я хочу определить в каком пакете необходимый мне файл (например,libodbc.so).
А:
apt-file - утилита поиска по содержимому пакетов.
apt-file update - получает файл Contents-<ARCH>.gz, следует учесть, что исходя из того, что проект Debian довольно большой, то и файл получится соответствующий. apt-file search <файл> - поиск пакета с указанным файлом.
Пример:
apt-file search libodbc.so
unixodbc: usr/lib/libodbc.so.1
unixodbc: usr/lib/libodbc.so.1.0.0
unixodbc-dev: usr/lib/libodbc.so
Q: А как просмотреть полный список содержимого пакета?
Аapt-file list <пакет> - отображает содержимое указанного пакета
Q: Я больше не собираюсь использовать apt-file, а Contents-.gz занимает место на диске.
Аapt-file purge удалить все Contents-<ARCH>.gz.
По поводу дополнительных опций - man apt-file

Q: Как мне найти неиспользуемые (осиротевшие) пакеты?
Аdeborphan без указания ключа осуществляет поиск в разделе библиотек, с указанием ключа -a поиск ведется во всех разделах. Имеется и интерфейс кdeborphan - orphaner, поставляются в одном пакете.
Q: есть локальный репозиторий из дистрибутивных дисков. Packages.gz сделал, а вот как сделать Contents-<ARCH>.gz для того, чтобы apt-file'ом можно было пользоваться?
A:
apt-ftparchive contents . | gzip > Contents-i386.gz
также с помощью apt-ftparchive можно создавать Sources.gz и Packages.gz
apt-ftparchive sources . | gzip > Sources.gz
apt-ftparchive packages .| gzip > Packages.gz
Q: хочется создать дистрибутив некоторых выбранных пакетов и залить его на болванки. При этом хочется поместить на болванки и пакеты, не установленные в моей системе. Как это объяснить apt-move?
A: Вариант номер один - посмотреть в сторону jidgo, возможно, он вас устроит, вариант номер два - получить недостающие пакеты, но не устанавливать их в систему с помощью аpt-get install -d <пакеты>.
Q: У меня стоит мешанина из stabletestingunstable и даже кое-что изexperimental установил. Как мне сделать, чтобы все в таком виде и обновлялось?
A: Чтобы этого добиться, поместите следующую строку в /etc/apt/apt.conf:
APT::Default-Release "testing";
Затем, при установке пакетов из, например, нестабильного дистрибутива, просто используйте ключ -t:
$ apt-get -t unstable install имя_пакета
Помимо этого рекомендуем прочитать man apt-preferences


Всё честно взято отсюда:  http://citkit.ru/articles/130/

понедельник, 11 октября 2010 г.

Цинизм в IT: notice: Run of Puppet configuration client already...

Цинизм в IT: notice: Run of Puppet configuration client already...: "
Бороться с этой ошибкой легко (ниже пример для Debian):
rm /var/lib/puppet/state/puppetdlock