Существует подобный вопрос на ТАК. В настоящее время принимаемый ответ @ephemient предлагает использовать ioctl
названный fiemap
который документируется в linux/Documentation/filesystems/fiemap.txt
. Заключение в кавычки из того файла:
fiemap ioctl является эффективным способом для пространства пользователя для получения отображений степени файла. Вместо отображения блока блоком (такого как bmap), fiemap возвращает список степеней.
Кажется, что это - вид информации, которую Вы ищете. Поддержка файловыми системами является снова дополнительной:
Файловые системы, желающие поддерживать fiemap, должны реализовать a
->fiemap
обратный вызов на ихinode_operations
структура.
Поддержка SEEK_DATA
и SEEK_HOLE
аргументы lseek
Вы упомянули из Соляриса, был добавлен в Linux 3.1 согласно странице справочника, таким образом, Вы могли бы использовать это также. fiemap ioctl
кажется, является более старым, таким образом, это могло бы быть более портативно через различные версии Linux на данный момент, тогда как lseek
могло бы быть более портативным через операционные системы, если Солярис имеет то же.
/etc/issue.net
. Для удаления сообщения просто удалите содержание того файла./etc/motd
.К colorize, о котором строке, самая легкая опция я могу думать, требует довольно мало работы низкого уровня: опция состоит в том, что Вы изменяете и создаете pam_mail.so
самостоятельно.
Извлеките источник (это создаст новый названный каталог Linux-PAM-1.1.8
) и CD к нему:
# tar xzvf Linux-PAM-1.1.8.tar.gz
# cd Linux-PAM-1.1.8
Измените следующие строки (строки, который начинается +
, 4 строки вообще) в файле modules/pam_mail/pam_mail.c
чтобы быть как, следующая разность показывает (произведенный с diff -u
) (имя файла pam_mail.c.new
просто мой временный файл, что я мог произвести ту разность):
--- pam_mail.c 2013-06-18 17:11:21.000000000 +0300
+++ pam_mail.c.new 2013-12-29 16:57:49.759298926 +0200
@@ -294,17 +294,17 @@
switch (type)
{
case HAVE_NO_MAIL:
- retval = pam_info (pamh, "%s", _("No mail."));
+ retval = pam_info (pamh, "%s", _("\\033[0;1;31mNo mail.\\033[0m"));
break;
case HAVE_NEW_MAIL:
- retval = pam_info (pamh, "%s", _("You have new mail."));
+ retval = pam_info (pamh, "%s", _("\\033[0;1;31mYou have new mail.\\033[0m"));
break;
case HAVE_OLD_MAIL:
- retval = pam_info (pamh, "%s", _("You have old mail."));
+ retval = pam_info (pamh, "%s", _("\\033[0;1;31mYou have old mail.\\033[0m"));
break;
case HAVE_MAIL:
default:
- retval = pam_info (pamh, "%s", _("You have mail."));
+ retval = pam_info (pamh, "%s", _("\\033[0;1;31mYou have mail.\\033[0m"));
break;
}
else
Я просто добавил \\033[0;1;31m
к началу тех сообщений и \\033[0m
в конец тех сообщений.
Примечание: Теперь это отображает те сообщения как красные; от страницы ascii-table.com о Escape-последовательностях Ansi под Графическим режимом Набора заголовка можно найти больше полного списка о цветах и другие приемы о настройке терминального вывода.
Компиляция это (Примечание: отсюда до конца я предполагаю, что Ваш рабочий каталог Linux-PAM-1.1.8
, тот же самый каталог, к который мы cd'd вначале, т.е. "корневой" каталог пакета Linux-PAM):
# ./configure
# make
Скопируйте свое существующее pam_mail.so
в случае, если это, новый повреждает Вашу систему (я сомневаюсь относительно этого, повредится, но всегда хорошо иметь исходный файл в сейфе):
# cp /lib/i386-linux-gnu/security/pam_mail.so ~/
Скопируйте файл modules/pam_mail/.libs/pam_mail.so
кому: /lib/i386-linux-gnu/security/
:
# cp modules/pam_mail/.libs/pam_mail.so /lib/i386-linux-gnu/security/
Выйдите из системы и снова в (или запустите новую ssh сессию, безотносительно), и необходимо видеть красный "Никакая почта". сообщение (принимающий Вас не имеют никакой новой почты).
Сообщение электронной почты может быть отключено путем изменения следующей строки в файле /etc/pam.d/system-login
от
session optional pam_mail.so dir=/var/spool/mail standard
кому:
session optional pam_mail.so dir=/var/spool/mail nopen
Текст перед почтовой информацией находится в /etc/motd
, и можно отключить его, чтобы быть распечатанными когда вход в систему с ssh путем помещения следующей строки в ~/.ssh/config
:
PrintMotd no
system-login
файл, но я действительно имею/etc/pam.d/login
файл, который имеет вызов кpam_mail.so
, до которого я проследил/lib/i386-linux-gnu/security
. То, что я действительно хочу сделать, просто вводят цвета прежде и после вывода, так, чтобы сообщения какNo Mail
находятся в другом цвете. – Ehryk 07.11.2013, 04:40echo -e "\e[36m"
в/etc/pam.d/login
, без удачи. Я могу окрасить всю вещь путем редактирования файлов в/etc/update-motd.d/
однако это окрашивает почтовую подсказку и в прошлый раз входа в систему, и я, может казаться, не изолирую почтовую часть. Я чувствую, что рядом - какие-либо идеи? – Ehryk 07.11.2013, 04:42