Можно использовать ldconfig -v | grep libraryname
, также команда имеет опцию command -V
или binaryfile --version
пример:
test@ubuntukrb12:~# ls --version
ls (GNU coreutils) 8.13
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
также можно использовать конфетку или способность на основе дистрибутива, который Вы используете, например.
в RHEL5/CENTOS5/Fedora можно использовать yum info packagename
или если это установило затем использование rpm --version packagename
[root@ldap1 ~]# yum info bind97
Loaded plugins: downloadonly, fastestmirror, security
Loading mirror speeds from cached hostfile
* base: mirrors.sin3.sg.voxel.net
* epel: mirror.imt-systems.com
* extras: mirrors.sin3.sg.voxel.net
* updates: mirrors.sin3.sg.voxel.net
Installed Packages
Name : bind97
Arch : i386
Epoch : 32
Version : 9.7.0
Release : 10.P2.el5_8.4
Size : 6.3 M
Repo : installed
Summary : The Berkeley Internet Name Domain (BIND) DNS (Domain Name System) server
URL : http://www.isc.org/products/BIND/
License : ISC
Description: BIND (Berkeley Internet Name Domain) is an implementation of the DNS
: (Domain Name System) protocols. BIND includes a DNS server (named),
: which resolves host names to IP addresses; a resolver library
: (routines for applications to use when interfacing with DNS); and
: tools for verifying that the DNS server is operating properly.
В Ubuntu можно использовать aptitude show pkgname
или dpkg --version pkgname
root@ubuntukrb12:~# aptitude show bind9utils
Package: bind9utils
State: installed
Automatically installed: yes
Version: 1:9.8.1.dfsg.P1-4ubuntu0.4
Priority: optional
Section: net
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Architecture: amd64
Uncompressed Size: 306 k
Depends: libbind9-80, libc6 (>= 2.14), libdns81, libisc83, libisccc80, libisccfg82
Conflicts: bind9utils
Replaces: bind9 (<= 1:9.5.0~b2-1), bind9 (<= 1:9.5.0~b2-1)
Description: Utilities for BIND
This package provides various utilities that are useful for maintaining a working BIND installation.
Когда файл или каталог "удален", его inode число удалено из каталога, который содержит файл. Вы видите список inodes, что данный каталог содержит использование tree
команда.
$ tree -a -L 1 --inodes .
.
|-- [9571121] dir1
|-- [9571204] dir2
|-- [9571205] dir3
|-- [9571206] dir4
|-- [9571208] dir5
|-- [9571090] file1
|-- [9571091] file2
|-- [9571092] file3
|-- [9571093] file4
`-- [9571120] file5
5 directories, 5 files
Важно понять, как работают hardlinks. Это учебное руководство названо: Введение к Inodes имеет превосходные детали, если Вы только начинаете в попытке получить фундаментальное понимание того, как работают inodes.
выборка
Цифры Inode уникальны, но Вы, возможно, заметили, что некоторое имя файла и inode списки чисел действительно показывают некоторые файлы с тем же числом. Дублирование вызывается жесткими ссылками. Жесткие ссылки сделаны, когда файл копируется в нескольких каталогах. Тот же файл существует в различных каталогах на том же устройстве хранения данных. Каталог, перечисляющий, показывает два файла с тем же числом, которое связывает их с тем же медосмотром на te устройстве хранения данных. Жесткие ссылки позволяют, чтобы тот же файл "существовал" в нескольких каталогах, но только один физический файл существует. Свободное место затем оставлено на устройстве хранения данных. Например, если файл на один мегабайт помещается в два различных каталога, пространство, использованное на устройстве хранения данных, составляет один мегабайт, не два мегабайта.
То же самое учебное руководство также сказало следующее о том, что происходит, когда inode удален.
Удаление файлов вызывает размер, и прямые/косвенные элементы блока обнуляются, и физическое пространство на устройстве хранения данных установлено как неиспользованное. Для восстановления после удаления файла метаданные восстанавливаются из Журнала, если это используется (см. Статью в журнале). После того как метаданные восстанавливаются, файл еще раз доступен, если физические данные не были перезаписаны на устройстве хранения данных.
Вы могли бы хотеть также повторить на степенях и как они работают. Снова от сайта linux.org, другого хорошего учебного руководства, названного: Степени помогут Вам свалить основы.
Можно использовать команду filefrag
определить, сколько используют степени данный файл/каталог.
$ filefrag dir1
dir1: 1 extent found
$ filefrag ~/VirtualBox\ VMs/CentOS6.3/CentOS6.3.vdi
/home/saml/VirtualBox VMs/CentOS6.3/CentOS6.3.vdi: 5 extents found
Можно получить более подробный результат при помощи -v
переключатель:
$ filefrag -v dir1
Filesystem type is: ef53
File size of dir1 is 4096 (1 block of 4096 bytes)
ext: logical_offset: physical_offset: length: expected: flags:
0: 0.. 0: 38282243.. 38282243: 1: eof
dir1: 1 extent found
Примечание: Заметьте, что каталог всегда использует как минимум, 4K байты.
Мы можем взять один из наших файлов примера и записать 1 МБ данных к нему как это:
$ dd if=/dev/zero of=file1 bs=1k count=1k
1024+0 records in
1024+0 records out
1048576 bytes (1.0 MB) copied, 0.00628147 s, 167 MB/s
$ ll | grep file1
-rw-rw-r--. 1 saml saml 1048576 Dec 9 20:03 file1
Если мы анализируем это использование файла filefrag
:
$ filefrag -v file1
Filesystem type is: ef53
File size of file1 is 1048576 (256 blocks of 4096 bytes)
ext: logical_offset: physical_offset: length: expected: flags:
0: 0.. 255: 35033088.. 35033343: 256: eof
file1: 1 extent found
Один интересный эксперимент, который можно сделать, должен создать файл, такой как file1
выше, и затем удаляют его и затем воссоздают его. Наблюдайте то, что происходит. Прямо после удаления файла, я повторно выполняюсь dd ...
команда и file1
обнаруживается как это к filefrag
команда:
$ filefrag -v file1
Filesystem type is: ef53
File size of file1 is 1048576 (256 blocks of 4096 bytes)
ext: logical_offset: physical_offset: length: expected: flags:
0: 0.. 255: 0.. 255: 256: unknown,delalloc,eof
file1: 1 extent found
После небольшого количества времени (секунды к мелкой передаче):
$ filefrag -v file1
Filesystem type is: ef53
File size of file1 is 1048576 (256 blocks of 4096 bytes)
ext: logical_offset: physical_offset: length: expected: flags:
0: 0.. 255: 38340864.. 38341119: 256: eof
file1: 1 extent found
Файл наконец обнаруживается. Я не совсем уверен, что продолжается здесь, но похоже, что это занимает время, чтобы состояние файла обосновалось между журналом и диском. Выполнение stat
команды показывают файл с inode, таким образом, это там, но данные это filefrag
использование не было разрешено так, мы находимся в чем-то вроде состояния неопределенности.
Удаление файла включает несколько шагов:
Таким образом, журнал похож" на эту последовательность.