Для того, который не работает, если мы смотрим на ls -l
результат, мы получаем следующее:
[sparticvs@sparta test]$ ls -l build/
total 0
lrwxrwxrwx. 1 sparticvs sparticvs 6 Dec 17 16:08 client -> client
Теперь для понимания, что продолжается здесь. Давайте посмотрим на команду, которую Вы назвали:
ln -s client build/client
Согласно Странице справочника, существует два возможных соответствия для этого формата
SYNOPSIS
ln [OPTION]... [-T] TARGET LINK_NAME (1st form)
ln [OPTION]... TARGET... DIRECTORY (3rd form)
Это будет соответствовать на первой форме (начиная с его первого). Теперь, "цель называют" или client
в Вашем случае, может быть (согласно полному ln
руководство) произвольные строки. Они не должны решать ни к чему прямо сейчас, но могут решить к чему-то в будущем. То, что Вы создаете со своим вызовом, является "повисшей символьной ссылкой", и система не мешает Вам создавать их.
Теперь Ваш второй вызов ln -s ../client build/client
то, что называют "относительной символьной ссылкой" (как Вы отметили в своем собственном сообщении). Существует второй тип, и это - "абсолютная символьная ссылка", которую назвали бы путем выполнения ln -s /home/user/client build/client
.
Это не ошибка. Согласно руководству это указывает:
При создании относительной символьной ссылки в другом месте, чем текущий каталог разрешение символьной ссылки будет отличаться, чем разрешение той же строки из текущего каталога. Поэтому многие пользователи предпочитают сначала изменять каталоги на местоположение, где относительная символьная ссылка будет создана, так, чтобы заполнение клавишей Tab или другое разрешение файла нашли ту же цель как, что будет помещено в символьную ссылку.
- от
info coreutils 'ln invocation'
Тем не менее НЕОБХОДИМО использовать или относительный или полный путь для цели.
Для начала вы можете использовать инструмент ethtool
, чтобы запустить самотестирование вашей сетевой карты.
ethtool -t|--test DEVNAME Execute adapter self test
$ sudo ethtool -t eth0
The test result is PASS
The test extra info:
Register test (offline) 0
Eeprom test (offline) 0
Interrupt test (offline) 0
Loopback test (offline) 0
Link test (on/offline) 0
Просмотр статистики для сетевой карты также может быть полезен с точки зрения дальнейшей диагностики вашей проблемы.
$ sudo ethtool -S eth0
NIC statistics:
rx_packets: 988097069
tx_packets: 589028032
rx_bytes: 1291674232357
tx_bytes: 116257143322
rx_broadcast: 210375
tx_broadcast: 34690
rx_multicast: 69184
tx_multicast: 179
rx_errors: 0
tx_errors: 0
tx_dropped: 0
multicast: 69184
collisions: 0
rx_length_errors: 0
rx_over_errors: 0
rx_crc_errors: 0
rx_frame_errors: 0
rx_no_buffer_count: 0
rx_missed_errors: 0
tx_aborted_errors: 0
tx_carrier_errors: 0
tx_fifo_errors: 0
tx_heartbeat_errors: 0
tx_window_errors: 0
tx_abort_late_coll: 0
tx_deferred_ok: 0
tx_single_coll_ok: 0
tx_multi_coll_ok: 0
tx_timeout_count: 0
tx_restart_queue: 346104
rx_long_length_errors: 0
rx_short_length_errors: 0
rx_align_errors: 0
tx_tcp_seg_good: 0
tx_tcp_seg_failed: 0
rx_flow_control_xon: 56
rx_flow_control_xoff: 56
tx_flow_control_xon: 0
tx_flow_control_xoff: 0
rx_long_byte_count: 1291674232357
rx_csum_offload_good: 987406053
rx_csum_offload_errors: 3730
rx_header_split: 0
alloc_rx_buff_failed: 0
tx_smbus: 0
rx_smbus: 0
dropped_smbus: 0
rx_dma_failed: 0
tx_dma_failed: 0
Любая статистика, в которой есть строка «ошибка», должна быть равна нулю. Если это не так, я бы выяснил, что могло их вызвать.