Переименование работ файлов, но гибких ссылок указывает на старые названия. Как я могу зафиксировать это?

Много проектов программного обеспечения имеют свой хостинг и пакеты для различных дистрибутивов в SourceForge или Google Code. Также Freshmeat можно было рассмотреть как каталог для бесплатного программного обеспечения. Большинство из них позволяет Вам загрузить пакеты для своего распределения или контроля/клона их репозиторий.

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

Это - точно задание пакетного управления Вашим распределением, и большинство из них делает хорошее задание в этом :) В большинстве случаев там существуйте различные инструменты обертки для управления пакетом во всех разновидностях.

Например, в Дуге существует основной инструмент управления пакета, названный pacman. Если я хочу установить служебное нечто, я просто должен ввести pacman -S foo и все установлено. Если tehre являются недостаточными пакетами, если я могу искать в АУРЕ (Пользовательский Репозиторий Дуги). Я могу использовать yaourt который является оберткой для pacman, или просто просмотрите Домашнюю страницу АУРА. На Debian Вы используете apt-get или aptitude, и т.д.

Пакеты FreeBSD доступны также через системные инструменты или через Домашнюю страницу Портов.

Итак, почему я должен хотеть просмотреть какую-либо другую домашнюю страницу для загрузки каких-либо утилит? Если мое хранилище пакетов не имеет его, большую часть времени маленький и непопулярный проект, который я, скорее всего, не найду ни в каком другом "репозитории" в сети.

Дополнение после краткого обсуждения с Warren Young (см. комментарии): Моя точка не, что каждый инструмент/программное обеспечение/утилита должен существовать как пакет и в противном случае что это не "полезно". Точка, что при пропавших без вести инструмента Вы знаете то, что Вы хотите и можете получить ее непосредственно от страницы проекта. Большинство страниц проекта размещается на именованных сервисах (sf, gc, из), которые предоставляют Вам основной каталог, таким образом, в сочетании с Вашим управлением пакетом и страницами проекта, там не должна быть никакая потребность в таком репозитории.

4
26.04.2012, 02:23
4 ответа

На основе ответов @C2H5OH и @user1277476 я предложил решение:

$ for file in `find . -type l`; do link=$(readlink $file); ln -sfT ${link//gsf/msf} $file; done
2
27.01.2020, 20:47

Кроме технического объяснения, уже ответил. Можно измениться, где символьные ссылки указывают на:

  1. Найдите их с find . -type l
  2. Измените их цель с ln -sfT target link_name

Опции -sfT должен быть указан для переуказания на символьные ссылки без неожиданностей.

4
27.01.2020, 20:47

Ничего; это - то, что делает их символьными ссылками, необходимо иметь дело с ними сами. Жесткие ссылки ссылаются на фактический индексный узел ("inode") в файловой системе и поэтому останутся допустимыми; это точно, почему Вы использовали бы трудно вместо символьных ссылок в этом случае.

3
27.01.2020, 20:47

find и ln хороши.
readlink также хорошо.

2
27.01.2020, 20:47

Теги

Похожие вопросы