Что-то не так с моим `.profile`

Найденная проблема: resolv.conf не обновлял настройки сети, поэтому я вручную добавил google public dns, и он отлично работает.

1
задан 20 August 2013 в 04:55

1 ответ

Я думаю, что в вашем случае лучше всего использовать ваши двоичные файлы в качестве команд, чтобы связать то, что вам нужно, в / usr / bin.

Вы можете использовать 'cp', чтобы сделать символические ссылки, рекурсивно, следующим образом:

cp -rs $HOME/bin/* /usr/bin #This will link all non hidden files
cp -rs $HOME/bin/.[^.]* /usr/bin # This will link all the hidden files

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

EDIT: вы можете использовать только первую строку вышеприведенного кода, если вы установите для параметра dotglob значение true в bash. Пример:

shopt -s dotglob #This will make Bash include filenames beginning with a '.' in the results of filename expansion
cp -rs $HOME/bin/* /usr/bin #Now, this will link ALL files in that directory to the destination

EDIT 2: Как вы можете прочитать в комментариях ниже, предпочтительнее использовать / usr / local / bin вместо / usr / bin. Читайте комментарии, чтобы понять, почему.

-2
ответ дан 24 May 2018 в 18:53
  • 1
    Все наоборот. Вы никогда не должны связываться с /usr/bin, пусть менеджер пакетов управляет им. Вы могли добавлять программы в /usr/local/bin, но как символические ссылки, а не как копии. – Gilles 20 August 2013 в 12:41
  • 2
    Если вы прочтете мой код, вы увидите, что я не использую копии. 'cp' может писать символические ссылки вместо копирования. Это более просто, что делает все символические ссылки «ln». То, что вы говорите о / usr / bin, может быть наполовину истинным здесь, на Ubuntu (который фактически использует диспетчер пакетов), но не является глобальной истиной, помните об этом. P.S .: НИКОГДА не странное слово в мире Linux. Вы можете, очевидно, сделать это (и все будет работать в большинстве случаев). Разница здесь в том, что / usr / bin поддерживает управляемое распределением программное обеспечение, а / usr / local / bin - другое программное обеспечение. Но это соглашение, а не техническая проблема. – Alexandre Teles 20 August 2013 в 16:16
  • 3
    Да, я пропустил -s. Но основная часть моего возражения все еще стоит: не возиться с /usr/bin. Это верно для Ubuntu и почти любого другого unix. Конечно, это не закон физики. Это конвенция, например, движение по определенной стороне дороги. Некоторые конвенции важны. – Gilles 20 August 2013 в 16:23
  • 4
    @AlexandreTeles Большое спасибо за ваш ответ. Я знаю, что сокращение вниз может быть очень неприятным; вы намерены помочь, и вы получили "наказание". взамен. Я очень сожалею об этом (я не сделал ни малейшего влияния, даже если бы мне пришлось). По правде говоря, вы на самом деле ошибаетесь, но я рекомендую вам прочитать следующие две статьи, чтобы узнать, почему: wiki.debian.org/FilesystemHierarchyStandard , а затем unix.stackexchange.com/questions / 11544 / & hellip; . С уважением :) – Sheljohn 20 August 2013 в 18:23

Другие вопросы по тегам:

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