Символические и жесткие ссылки в linux. команда ln

Как использовать команду ln в Linux

http-equiv=»Content-Type» content=»text/html;charset=UTF-8″>style=»clear:both;»>

Функция команды ln — создать соединение, аналогично ярлыку под окнами.

Синтаксис следующий:

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

Если имя файла изменено или файл удален, ярлык также будет недействительным, то есть ярлык не найдет соответствующий Файлы с небольшими ограничениями на мягкие подключения,

Программная ссылка: ее можно напрямую понимать как ярлык под окнами, который указывает на файл через адрес. Если имя файла изменено или файл удален, ярлык также будет недействительным, то есть ярлык не найдет соответствующий Файлы с небольшими ограничениями на мягкие подключения,

1. Вы можете использовать файл плюс как соединение

2. Вы можете соединять файлы в сети через файловые системы.

Жесткая ссылка: операционная система linux присваивает каждому файлу номер, который называется индексом inode. Создание жесткой ссылки фактически создает несколько «имен / путей» для одного и того же файла, то есть жестко связанный файл удаляется или его имя После изменения подключенный файл все еще может получить доступ к этому файлу.

eg:

Сначала создайте файл 1.txt

Затем создайте 3 жестких ссылки и используйте ls -li для просмотра, вы увидите, что индекс предыдущего узла (первое красное поле) такой же, а количество жестких ссылок равно 4

Жесткая ссылка предотвращает случайное удаление, поскольку сам файл также является жесткой ссылкой. Когда файл 1.txt удален, доступ к 1_bak1.txt все еще возможен, то есть к файлу 1.txt в это время (точнее, к файлу с номером узла 67190165) Он не удалялся физически, но соответствующее этому файлу имя 1.txt было удалено! При удалении 3 файлов 1_bak1.txt, 1_bak2.txt и 1_bak3.txt файл с номером узла 67190165 будет удален физически!

Интеллектуальная рекомендация

1. Для реальных сигналов (для понимания): A (ω) является соотношением амплитуды выходного сигнала и амплитуды входного сигнала, называемого частотой амплитуды. Φ (ω) — это разница межд…

Один. вести Многие люди задавали некоторые вопросы о создании проекта Flex + LCDS (FDS) в сообщениях и группах. Из-за операции ее трудно четко объяснить, поэтому я написал простой учебник (я обещал эт…

package com.example.phonehttp; import android.os.Bundle; import android.os.Handler; import android.app.Activity; import android.widget.ScrollView; import android.widget.TextView; public class MainActi…

Он предназначен для реализации подкласса того же родительского класса с родительским классом. Полиморфизм Один и тот же ссылочный тип использует разные экземпляры для выполнения разных операций; Идея …

тема: Объедините два упорядоченных слоя в новый заказанный список и возврат. Новый список состоит из всех узлов двух связанных списков, данных сплавным. Пример: Анализ: два связанных списка состоит в …

Вам также может понравиться

D. Самая ценная строка Пример ввода 2 2 aa aaa 2 b c Образец вывода aaa c На самом деле, будучи задетым этим вопросом, вы должны быть осторожны. После инвертирования строки, если две строки имеют один…

Given a 2D integer matrix M representing the gray scale of an image, you need to design a smoother to make the gray scale of each cell becomes the average gray scale (rounding down) of all the 8 surro…

calc () может быть очень незнакомым для всех, и трудно поверить, что calc () является частью CSS. Поскольку он выглядит как функция, почему он появляется в CSS, поскольку это функция? Этот момент такж…

Основываясь на дереве регрессии, сформированном CART, а также на предварительной и последующей обрезке дерева, код выглядит следующим образом:…

Откат Обновление в режиме онлайн с версии Centos (CentOS Linux версии 7.3.1611 (Core) до CentOS Linux версии 7.5.1804 (Core)) # ошибка соединения yum-ssh после обновления yexpected key exchange group …

Создание символической ссылки на файл

Чтобы создать символическую ссылку на данный файл, откройте свой терминал и введите:

Замените на имя существующего файла, для которого вы хотите создать символическую ссылку, и на имя символической ссылки.

Параметр является необязательным. Если вы не укажете символическую ссылку, команда создаст новую ссылку в вашем текущем каталоге:

В следующем примере мы создаем символическую ссылку с именем файла  :

Чтобы убедиться, что символическая ссылка была успешно создана, используйте команду:

Вывод будет выглядеть примерно так:

Символ представляет собой флаг типа файла, который представляет символическую ссылку. В символ показан файл символическая ссылка указывает.

«время пакета» vs «время установки»

Сначала вы должны понять, что есть разница между сборкой пакета Debian и его установкой.

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

Однако скрипты, присутствующие в , только запускаются во время процесса сборки. Они не выполняются при установке пакета!

Итак, на самом деле является просто сценарием (точнее, Makefile), который запускается при сборке пакета и выполняет всю тяжелую работу. Единственная цель этого сценария — создать файл .

Таким образом, любая команда, которая у вас есть, будет выполняться с привилегиями запущенного пользователя. Команды могут быть произвольными и не должны иметь ничего общего с имеющимся пакетом.

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

Скорее всего, это не то, что вам нужно. Я предполагаю, что вы хотите создать символическую ссылку в пакете (то есть вам нужна символическая ссылка на каждом компьютере, который устанавливает пакет).

К счастью для вас, обычно вызывается с некорневыми полномочиями (в наши дни). А не суперпользователям обычно не разрешается создавать символические ссылки в . (Точно так же ваш сценарий может содержать ( НЕ ЗАПУСКАЙТЕ ЭТО ), который просто уничтожит весь ваш жесткий диск при сборке пакета, если у вашего пользователя достаточно мощности).

1 ответ

Лучший ответ

Ой.

«время пакета» vs «время установки»

Сначала вы должны понять, что есть разница между сборкой пакета Debian и его установкой.

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

Однако скрипты, присутствующие в , только запускаются во время процесса сборки. Они не выполняются при установке пакета!

Итак, на самом деле является просто сценарием (точнее, Makefile), который запускается при сборке пакета и выполняет всю тяжелую работу. Единственная цель этого сценария — создать файл .

Таким образом, любая команда, которая у вас есть, будет выполняться с привилегиями запущенного пользователя. Команды могут быть произвольными и не должны иметь ничего общего с имеющимся пакетом.

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

Скорее всего, это не то, что вам нужно. Я предполагаю, что вы хотите создать символическую ссылку в пакете (то есть вам нужна символическая ссылка на каждом компьютере, который устанавливает пакет).

К счастью для вас, обычно вызывается с некорневыми полномочиями (в наши дни). А не суперпользователям обычно не разрешается создавать символические ссылки в . (Точно так же ваш сценарий может содержать ( НЕ ЗАПУСКАЙТЕ ЭТО ), который просто уничтожит весь ваш жесткий диск при сборке пакета, если у вашего пользователя достаточно мощности).

Используйте

Чтобы создать символические ссылки внутри вашего пакета, используйте , используя .

Например. предполагая, что вы создаете два пакета и , у вас будет что-то вроде:

Поэтому, если вы установите пакет , он создаст символическую ссылку из /etc/logger-server1.json , а если вы установите пакет , он создаст символическая ссылка из /etc/logger-server2.json .

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

Подумай еще раз

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

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

1

umläute
21 Окт 2020 в 08:32

16 ответов

Нашел ответ. На всякий случай, если это кому-то поможет, я опубликую это здесь:

Создание символической ссылки решает проблему:
(Моя благодарность и +1 голос bodokaiser ).

ПРИМЕЧАНИЕ: я думаю, что этот пост не является точным дубликатом, потому что этот пост был в некоторой степени вопросом просмотра.

Проблема не в версии узла. Это способ, которым NodeJS устанавливается по умолчанию в Ubuntu. При запуске приложения Node в Ubuntu вы должны запустить вместо

Таким образом, имя приложения, вызываемое в терминале, равно , а не . Вот почему необходима символическая ссылка для простой пересылки всех команд, полученных как , в

Я думаю, вам следует обновить последнюю версию узла

если вы можете получить доступ к узлу на терминале ubuntu с помощью команды nodejs, то эту проблему можно просто решить, используя
-создание символической связи nodejs и узла с помощью

и это может решить проблему

В моем случае установка nodejs-legacy решила проблему.

Просто сделай

И он начнет работать.

Я обнаружил, что это часто ошибка неправильного именования. Если вы устанавливаете из менеджера пакетов, ваш бен может называться nodejs, так что вам просто нужно вставить символическую ссылку так

Если у вас уже установлены nodejs (проверьте с помощью ) и вы не хотите устанавливать другой пакет, вы можете от имени пользователя root

Когда я использовал gulp, я получил эту ошибку.

/usr /bin /env: «узел»: такого файла или каталога нет

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

это работает для меня ..

Хотя — очевидное простейшее исправление, пояснение:

Этот совет появляется при установке .

Так что какое-то другое известное средство (я не знаю, что оно делает. Хотя оно известно для репозиториев Ubuntu, оно не установлено по умолчанию в 16.04) занимает это пространство имен.

Было бы неплохо, если бы Ubuntu предложила совет, как исправить это «чисто», если бы не делала вручную то, что в противном случае сделал бы пакет. (столкновение остается столкновением … если +, когда это произойдет)

Для этого есть два решения:

a) Установите переменную PATH, включающую «/usr /local /bin»

б) Создайте символическую ссылку на «/usr /bin», которая уже находится в вашем PATH

Надеюсь, это поможет.

В моем случае ссылка работала НЕ , как следует

Но вы можете открыть /usr /local /bin /lessc от имени пользователя root и изменить первую строку с узла на nodejs.

Просто переименуйте команду или имя файла с помощью этой команды

В зависимости от того, как вы установили свой узел, большую часть времени он может не находиться в /usr /bin /, в моем собственном случае это было то, что я использовал nvm для установки, поэтому мой узел находился в ./nvm/versions.

Используя эту команду Я нашел путь, но чтобы упростить работу, вы можете запустить эту команду.

Приведенная выше команда получит местоположение вашего узла и создаст для вас ссылку.

Для меня принятый ответ еще не сработал. Я начал как предложено здесь:

После этого я получил следующую ошибку:

Решением было загрузить самую последнюю версию узла с https://nodejs.org/en/скачать /.

Тогда я сделал:

Теперь обновление прошло успешно: изменено с 3.2.1 на 6.4.1

Типы ссылок

В системах Linux / UNIX есть два типа ссылок:

  • Hard links . Вы можете придумать жесткую ссылку как дополнительное имя для существующего файла. Жесткие ссылки связывают два или более имен файлов с одним и тем же индексом . Вы можете создать одну или несколько жестких ссылок для одного файла. Жесткие ссылки не могут быть созданы для каталогов и файлов в другой файловой системе или разделе.
  • Soft links. Это что-то вроде ярлыка в Windows. Это косвенный указатель на файл или каталог. В отличие от жесткой ссылки, символическая ссылка может указывать на файл или каталог в другой файловой системе или разделе.

Что такое ссылка на файл в Linux

Ссылка на файл в Linux — это указатель на файл. Если проводить аналогию с Windows, то ссылки чем-то похожи на ярлыки. То есть вы создаете ссылку, которая указывает на какой-либо файл или директорию, и можете разместить эту ссылку в другом каталоге. Обращаясь к такой ссылке, вы будете обращаться к настоящему файлу или каталогу.

Ссылки в Linux бывают двух типов: символические и жесткие. Не смотря на то, что оба типа называются ссылками, они имеют существенные отличия друг от друга

Поэтому очень важно понимать, как создавать и использовать тот или иной тип ссылок

Что такое символические ссылки

Символическая ссылка (symbolic link) — это специальный файл, который является ссылкой на другой файл или каталог (их еще называют целевым файлом, целевым каталогом).

Символические ссылки также называют символьными, мягкими ссылками (soft links) или сим-ссылками (sym-link).

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

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

Возвращаясь к аналогии с ярлыками в Windows, символические ссылки это своего рода ярлыки на файлы. Можно создавать несколько символических ссылок на один файл и эти ссылки могут иметь разные имена.

Связь между символической ссылкой и файлом, на который она указывает, является «мягкой». Если удалить символическую ссылку, то файл, на который она указывает, не удаляется.

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

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

Схематично отношение между файлом, символической ссылкой и данными, которые хранятся в файле, можно показать следующим образом:

Что такое жесткие ссылки

Жесткая ссылка (hard link) является своего рода синонимом для существующего файла. Когда вы создаете жесткую ссылку, создается дополнительный указатель на существующий файл, но не копия файла.

Жесткие ссылки выглядят в файловой структуре как еще один файл. Если вы создаете жесткую ссылку в том же каталоге, где находится целевой файл, то они должны иметь разные имена. Жесткая ссылка на файл должна находится в той же файловой системе, где и другие жесткие ссылки на этот файл.

В Linux каждый файл имеет уникальный идентификатор — индексный дескриптор (inode). Это число, которое однозначно идентифицирует файл в файловой системе. Жесткая ссылка и файл, для которой она создавалась имеют одинаковые inode. Поэтому жесткая ссылка имеет те же права доступа, владельца и время последней модификации, что и целевой файл. Различаются только имена файлов. Фактически жесткая ссылка это еще одно имя для файла.

Жесткие ссылки нельзя создавать для директорий.

Жесткая ссылка не может указывать на несуществующий файл.

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

Схематично отношение между исходным файлом, жесткой ссылкой и данными можно показать следующей схемой:

Отличия символических ссылок от жестких

Кратко подведем итог, написанного выше.

Символическая ссылка:

  • Указывает на целевой файл или каталог. Фактически является небольшим файлом, содержащим путь до целевого файла.
  • Не содержит внутри себя содержимого самого файла. Содержит путь к целевому файлу.
  • Имеет собственные права доступа, которые не распространяются на целевой файл.
  • Удаление / переименование / перемещение целевого файла не обновляет автоматически ссылку. Ссылка начинает указывать на несуществующий файл, становится неработающей.
  • Изменение прав доступа у целевого файла не обновляет права доступа у ссылки.
  • Может быть создана для директории.
  • Ссылка и целевой файл имеют разные файловые индексы (inode) в файловой системе.
  • Может указывать на несуществующий файл.
  • Символическая ссылка может использовать относительный путь до целевого файла.

Жесткая ссылка:

  • Является своего рода еще одним именем на файл.
  • Не может указывать на директорию.
  • Нельзя создавать жесткие ссылки между файлами разных файловых систем.
  • Не может указывать на несуществующий файл.
  • Жесткая ссылка и файл, для которого она создавалась, имеют одинаковые индексы (inode) в файловой системе.

4 ответа

38

Символы, как правило, похожи на полные пути или относительно ссылки, в противном случае они могут часто искать локально (как ни странно).

Перейдите к и выполните и вы можете видеть, что symlink ищет , когда это должно быть

Итак, у вас есть два варианта:

  1. Дайте полный путь

  2. Перейдите в папку, в которую вы хотите установить ссылку, и ссылку от нее

Изменить : подсказка для сохранения ввода.

Вы можете просто сделать

Элементы фигурных скобок заменяются и помещаются друг за другом, создавая команду

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

2

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

В этом примере создаются ссылки в , которые ищут подкаталог, названный фактическим в текущем каталоге, а не ваш предполагаемый родительский код, и другие.

1

Символьные ссылки могут быть сложными. По сути, символическая ссылка представляет собой файл, который содержит имя файла /путь для другого файла (и это помечено для специального обращения). Если имя пути в файле ссылки начинается с », тогда он рассматривается как абсолютный путь, и все довольно просто. Если он не начинается с косой черты, он рассматривается как относительный путь — относительно каталога, в котором находится ссылка. (Это верно, содержит или нет имя слэша.) Итак, вы создали как ссылку на « «, и когда вы пытались получить к нему доступ, система попыталась получить доступ к

Кстати, вам не нужны команды . достаточно для создания .

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

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

Если вам нужно создать символическую ссылку, в исходный целевой каталог и создать там новые символические ссылки, поэтому относительные пути точный.

Или иначе: относительный путь от Origin до Target. Если вначале Origin символизируется, это нормально. Но вы можете столкнуться с проблемами при создании нового Origin link_name в каталоге, который сам как-то символически связан.

5 ответов

Лучший ответ

Я решил эту проблему с помощью другой команды для создания символической ссылки с помощью терминала / команды / ssh:

Я решил это также используя laravel web route routs / web.php

30

Mizanur Rahman Khan
31 Дек 2019 в 09:04

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

Применить команду:

Эта команда создаст символическую ссылку на публичный каталог вашего проекта laravel. не внутри «public_html». поэтому нам нужно переместить ссылку «хранилище» в каталог «public_html». для этого вы можете двигаться прямо. если это не работает, переместите его с помощью команды. Зайдите в каталог «public» и выполните приведенную ниже команду в соответствии с вашим каталогом «public_html».

Путь может отличаться в зависимости от информации о вашем хостинге.

1

AL-IMRAN
22 Апр 2020 в 07:04

У меня была проблема с созданием символической ссылки на папку, расположенную в , я пробовал все почти 3 часа, но не повезло. Мой случай был следующим:

  1. Папка для загрузки находится в поддомене: .
  2. Я загружаю изображения, используя корневой документ:
  3. Я хочу создать символическую ссылку в этом корневом документе.

Наконец, я попробовал это решение, и оно работает как положено:

Примечание. Я использовал для создания символической ссылки

Jodyshop
25 Июн 2020 в 14:59

Создание символической ссылки на веб-сервере с использованием SSH

В документации Laravel должна быть создана символическая ссылка (символическая или программная ссылка) из public / storage в storage / app / public, чтобы сделать файлы доступными из Интернета.

(ЭТА ПРОЦЕДУРА СОЗДАЕТ СИМВОЛИЧЕСКУЮ ССЫЛКУ В СПРАВОЧНИКЕ LARAVEL PROJECT)

Вот шаги по созданию символической ссылки на вашем веб-сервере Linux с использованием SSH-клиента:

1. . Подключитесь и войдите на свой веб-сервер с помощью клиента SSH (например, PUTTY).

2. Свяжите хранилище / app / public с public / storage с использованием синтаксиса.

Пример (в каталоге файлов CPanel)

2

Mateus Gonçalves
9 Июн 2020 в 13:02

Еще один простой способ — выполнить команду программно

На маршрутах / web.php

24

Amir
25 Апр 2019 в 07:09

18 ответов

Лучший ответ

Создание символической ссылки решает проблему:

(Моя благодарность и +1 голос за ответ bodokaiser).

816

fedorqui ‘SO stop harming’
8 Апр 2020 в 10:11

Проблема не в версии узла. Вместо этого в Ubuntu по умолчанию устанавливается NodeJS. При запуске приложения Node в Ubuntu вы должны запустить вместо

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

122

Raedwald
12 Окт 2020 в 11:49

Я думаю, вам следует обновить последнюю версию узла

61

Qix — MONICA WAS MISTREATED
12 Окт 2014 в 01:26

Если вы можете получить доступ к узлу на терминале ubuntu с помощью команды nodejs, то эту проблему можно просто решить, используя -создание символической ссылки nodejs и node с помощью

И это может решить проблему

29

shabeer90
9 Фев 2017 в 18:10

В моем случае проблему решила установка nodejs-legacy.

24

Emile Bergeron
16 Фев 2017 в 22:00

Если вы используете диспетчер версий узла , используйте эту команду для создания символической ссылки:

  • Первая команда создает символическую ссылку для
  • Вторая команда создает символическую ссылку для

23

Mohammad Rajabloo
19 Ноя 2020 в 13:55

Просто сделать

И он заработает.

11

Prabhu Nandan Kumar
7 Июн 2017 в 10:27

Я обнаружил, что это часто неправильное имя, если вы устанавливаете из диспетчера пакетов, вы можете называть bin nodejs, поэтому вам просто нужно создать символическую ссылку так

9

Ahmad Awais
29 Июл 2016 в 09:54

Если у вас уже установлен nodejs (проверьте с помощью ) и вы не хотите устанавливать другой пакет, вы можете как root:

8

Tom Hale
3 Авг 2016 в 04:35

Когда я использовал gulp, я получил эту ошибку.

/ usr / bin / env: «узел»: нет такого файла или каталога.

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

Это работает для меня ..

6

Philip Kirkbride
26 Окт 2017 в 14:54

В зависимости от того, как вы установили свой узел, большую часть времени он может не находиться в / usr / bin /, в моем случае я использовал nvm для установки, поэтому мой узел находился в ./nvm/versions.

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

Приведенная выше команда получит местоположение вашего узла и создаст для вас ссылку.

6

Stephen Rauch
3 Июн 2018 в 00:40

Есть два решения этого:

А) Установите переменную PATH, чтобы включить «/ usr / local / bin»

Б) Создайте символическую ссылку на «/ usr / bin», которая уже находится в вашем PATH

Я надеюсь, что это помогает.

5

Pavel
28 Сен 2018 в 08:47

Хотя — очевидное простейшее решение, небольшое объяснение:

Этот совет возникает при установке .

Так что какой-то другой известный инструмент (я не знаю, что он делает. Хотя он известен репозиториям ubuntu, он не установлен по умолчанию в 16.04), занимает это пространство имен.

Было бы неплохо, если бы Ubuntu дал совет, как исправить это «чисто», если бы не вручную, что в противном случае сделал бы пакет. (столкновение остается столкновением … если +, когда оно произойдет)

4

Frank Nocke
28 Окт 2016 в 14:46

2

KARTHIKEYAN.A
24 Мар 2017 в 11:22

В моем случае ссылка не работает , как показано ниже

Но вы можете открыть / usr / local / bin / lessc как root и изменить первую строку с node на nodejs.

2

Community
20 Июн 2020 в 09:12

Следуйте этим командам, чтобы устранить проблему.

В терминале:

  1. Очистите весь кеш NPM:

  2. Установите последнюю стабильную версию Node.js:

Теперь установлена ​​последняя версия Node.js. Проверьте версию, используя:

2

u32i64
21 Июн 2019 в 07:33

Просто переименуйте эту команду или имя файла в

Shalauddin Ahamad Shuza
29 Апр 2018 в 19:44

Для меня принятый ответ еще не работал. Я начал, как было предложено здесь:

После этого я получил следующую ошибку:

Решением было загрузить самую последнюю версию узла с https://nodejs.org/en/download/ .

Тогда я сделал:

Теперь обновление наконец-то прошло успешно: изменилось с 3.2.1 на 6.4.1

Blackbam
14 Янв 2019 в 17:32

Как использовать lnкоманду

утилита командной строки для создания ссылок между файлами По умолчанию команда создает жесткие ссылки. Чтобы создать символическую ссылку, используйте параметр ( ).

Синтаксис команды для создания символических ссылок выглядит следующим образом :

  • Если оба и приведены, создаст ссылку из файла , указанного в качестве первого аргумента ( ) в файл , указанный в качестве второго аргумента ( ).
  • Если в качестве аргумента указан только один файл или второй аргумент является точкой ( ), будет создана ссылка на этот файл в текущем рабочем каталоге . Имя символической ссылки будет таким же, как и имя файла, на который она указывает.

По умолчанию в случае успеха не выводит никаких данных и возвращает ноль.

Подумай еще раз

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

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

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Все про сервера
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: