Хорошие варианты для копирования дерева каталогов за исключением некоторых файлов:
rsync: это - в основном CP плюс тонна возможностей исключения.
rsync -a --exclude='.*' /source/ /destination
мир: это имеет некоторые возможности исключения, и это находится в POSIX, так должно быть доступным везде (за исключением того, что некоторые дистрибутивы Linux не включают его в свою стандартную установку по некоторым причинам).
cd /source && mkdir -p /destination && \
pax -rw -pp -s '!.*/\..*!!' . /destination
Это варьировалось бы дистрибутивом. Например:
Все системы управления пакета такой как склонные, вкусный, и т.д. загрузите пакеты с Интернета (обычно от сети, иногда через FTP). Можно узнать, где диспетчер пакетов системы ищет свои загрузки, и пойдите туда.
Много дистрибутивов имеют веб-интерфейс, где можно найти информацию о пакетах (поиск, журналы изменений обзора, см. отчеты об ошибках, и т.д.). Например, http://packages.debian.org/ для Debian, http://www.freebsd.org/ports/index.html для FreeBSD, и т.д.
Обратите внимание, что с тех пор существует много вариантов Unix, единственный двоичный файл не будет работать над всеми ними. Так обычно необходимо найти двоичный файл, это компилируется для распределения и архитектуры. Большинство мест, которые собирают такие двоичные файлы, характерно для одного распределения.
Существует несколько независимых от распределения мест с наборами бесплатного программного обеспечения для Unix, но они имеют тенденцию иметь только источники. Самым большим, о котором я знаю, является Freshmeat.
Много проектов программного обеспечения имеют свой хостинг и пакеты для различных дистрибутивов в SourceForge или Google Code. Также Freshmeat можно было рассмотреть как каталог для бесплатного программного обеспечения. Большинство из них позволяет Вам загрузить пакеты для своего распределения или контроля/клона их репозиторий.
Но я не вижу оснований, почему кто-то должен поддерживать такой сайт. Нет никакого преимущества в использовании Вашего браузера для загрузки некоторые утилиты, если Вы хотите установить их в своей системе впоследствии.
Это - точно задание пакетного управления Вашим распределением, и большинство из них делает хорошее задание в этом :) В большинстве случаев там существуйте различные инструменты обертки для управления пакетом во всех разновидностях.
Например, в Дуге существует основной инструмент управления пакета, названный pacman. Если я хочу установить служебное нечто, я просто должен ввести pacman -S foo
и все установлено. Если tehre являются недостаточными пакетами, если я могу искать в АУРЕ (Пользовательский Репозиторий Дуги). Я могу использовать yaourt
который является оберткой для pacman, или просто просмотрите Домашнюю страницу АУРА. На Debian Вы используете apt-get
или aptitude
, и т.д.
Пакеты FreeBSD доступны также через системные инструменты или через Домашнюю страницу Портов.
Итак, почему я должен хотеть просмотреть какую-либо другую домашнюю страницу для загрузки каких-либо утилит? Если мое хранилище пакетов не имеет его, большую часть времени маленький и непопулярный проект, который я, скорее всего, не найду ни в каком другом "репозитории" в сети.
Дополнение после краткого обсуждения с Warren Young (см. комментарии): Моя точка не, что каждый инструмент/программное обеспечение/утилита должен существовать как пакет и в противном случае что это не "полезно". Точка, что при пропавших без вести инструмента Вы знаете то, что Вы хотите и можете получить ее непосредственно от страницы проекта. Большинство страниц проекта размещается на именованных сервисах (sf, gc, из), которые предоставляют Вам основной каталог, таким образом, в сочетании с Вашим управлением пакетом и страницами проекта, там не должна быть никакая потребность в таком репозитории.