ethtool
предпочтительный инструмент здесь (дайте кредит Shadur), он сообщит, есть ли у Вас ссылка, и если Вы так или иначе получили полудуплексное соединение или некоторую другую неверную конфигурацию.
Если Вы ничего не видите в системных журналах или в выводе dmesg
, затем Вы смогли увеличивать многословие отладки сетевого драйвера. Попытайтесь работать modinfo -p e1000
(замените "e1000" названием драйвера для Вашего NIC). Могла бы быть опция, которую можно дать modprobe (или вставить файл в/etc/modprobe.d/) увеличить многословие или отладочную информацию.
Кроме того, выполнение выезда tcpdump -i eth0
как корень (заменяют "eth0" Вашим сетевым устройством). Вы видите, какой трафик Вы получаете, даже с ненастроенным интерфейсом. Вы будете видеть материал как широковещательный трафик или многоадресный трафик и возможно попытка Вашей системы к DHCP.
Поле заполняется (см. ниже), только coreutils stat
не отображает его. По-видимому, они - waiting1 для xstat()
интерфейс.
патчи coreutils - август 2012 - TODO
статистика (1) и ls (1) поддержка в течение времени рождения. Зависящий от xstat () быть обеспеченным ядром
Можно получить время создания через debugfs
:
debugfs -R 'stat <inode_number>' DEVICE
например, для моего /etc/profile
который идет /dev/sda2
(см., Как узнать, какое устройство файл идет):
stat -c %i /etc/profile 398264
debugfs -R 'stat <398264>' /dev/sda2
debugfs 1.42.5 (29-Jul-2012)
Inode: 398264 Type: regular Mode: 0644 Flags: 0x80000
Generation: 2058737571 Version: 0x00000000:00000001
User: 0 Group: 0 Size: 562
File ACL: 0 Directory ACL: 0
Links: 1 Blockcount: 8
Fragment: Address: 0 Number: 0 Size: 0
ctime: 0x506b860b:19fa3c34 -- Wed Oct 3 02:25:47 2012
atime: 0x50476677:dcd84978 -- Wed Sep 5 16:49:27 2012
mtime: 0x506b860b:19fa3c34 -- Wed Oct 3 02:25:47 2012
crtime: 0x50476677:dcd84978 -- Wed Sep 5 16:49:27 2012
Size of extra inode fields: 28
EXTENTS:
(0):3308774
Поля времени, означающие:
ctime
: время изменения файла.atime
: время доступа к файлу.mtime
: время изменения файла.crtime
: время создания файла.Ответ 1 Linus на поток LKML
Есть еще один случай, когда время рождения будет пустым/ноль/черточка: Размер Inode Ext4 должен быть не менее 256 байт, чтобы хранить время crtime . Проблема возникает, если вы изначально создали файловую систему меньше 512 МБ (размер Inode по умолчанию будет 128 байт, см. меню
/etc/mke2fs.conf
и mkfs.ext4
).
stat -c '%n: %w' testfile
testfile: -
и/или
stat -c '%n: %W' testfile
testfile: 0
Теперь проверьте inode файловой системы (достаточно ли он велик, чтобы хранить crtime
?):
tune2fs -l $(df . --output=source | grep ^/) | grep "Inode size:"
Inode size: 128
Техническая информация: На странице Ext4 Disk Layout обратите внимание, что некоторые атрибуты таблиц inode находятся за пределами 0x80 (128).
Что бы это ни стоило, я чувствовал себя педантичным, поэтому написал оболочку bash вокруг stat, чтобы молча поддерживать crtime, используя debugfs для извлечения его из базовой файловой системы ext4, если она доступна. Я надеюсь, что он крепкий. Найти здесь.
Обратите внимание, что исправление якобы находится в списке задач для Linux, как задокументировано в этом скрипте. Таким образом, эта оболочка имеет номинальный срок службы только до тех пор, пока это не будет сделано, и является скорее упражнением в том, что выполнимо.
Начиная с версии 8.31 GNU coreutils,stat
«теперь выводит время создания файла, если это поддерживается файловой системой, в системах GNU Linux с glibc >= 2.28 и ядром >= 4.11».
Моя ОС (Ubuntu 20.04, которая поставляется с ядром Linux 5.4.0 -28 и GLIBC 2.31 )поставляется только с GNU coreutils 8.30, поэтому мне пришлось проверить, скомпилировав версию 8.32 GNU coreutils из источника .
Выходls -l --time=birth --time-style=full-iso --no-group
:
$ ls -l --time=birth --time-style=full-iso --no-group
total 13477610
-rwxr--r-- 1 systemd-coredump 13801071714 2017-06-30 04:53:33.211517792 -0400 file
Вывод stat
в файловой системе btrfs:
$ stat file
File: /mnt/btrfs/file
Size: 13801071714 Blocks: 26955224 IO Block: 4096 regular file
Device: 33h/51d Inode: 4998 Links: 1
Access: (0744/-rwxr--r--) Uid: ( 999/systemd-coredump) Gid: ( 999/systemd-coredump)
Access: 2020-05-04 12:21:51.640487614 -0400
Modify: 2016-01-19 10:32:19.272000000 -0500
Change: 2017-06-30 04:55:14.910839537 -0400
Birth: 2017-06-30 04:53:33.211517792 -0400
(Как ни странно, я не смог показать время рождения в Arch Linux, используя фиктивную файловую систему ext4, несмотря на то, что она отвечала всем вышеперечисленным требованиям.)
СТАРЫЙ ОТВЕТ:
Что ж, начиная с версии 8.32 GNU coreutils(стабильной версии ), и stat
, и ls
используют вызов statx
.
ls
покажет время создания/рождения.
** New Features
ls now supports the --time=birth option to display and sort by
file creation time, where available.
И, вероятно, stat
тоже.
** Improvements
stat and ls now use the statx() system call where available, which can operate more efficiently by only retrieving requested attributes.
Это совершенно -новый дистрибутив, опубликованный только 5 марта 2020 года, поэтому может потребоваться некоторое время, чтобы просочиться вниз, если только вы не используете кровоточащий -крайний дистрибутив, такой как Arch Linux. (Arch Linux получил версию 8.32 -1 пакета coreutils 1 апреля 2020 г. ).
/home/user/path/to/file
потому что/home
был на отдельном разделе. В этом случае, путь, предоставленныйstat
должен быть относительно/home
. Пример:sudo debugfs -R 'stat user/path/to/file' /dev/sda2
. Для избавлений от обработки пути мы можем обеспечить кstat
inode число вместо пути:sudo debugfs -R "stat <$(stat -c %i /home/user/path/to/file)>" /dev/sda5
– jpfleury 17.04.2014, 05:39