Linux의 마지막 -t

Linux의 마지막 -t

Ubuntu와 Cent OS가 맨 페이지에 지정된 시간 대신 지정된 시간에 로그인을 last -t표시하여 실제로 작동한다는 점에 약간 놀랐습니다 .up tillas of

Ubuntu 매뉴얼 페이지는 다음과 같습니다.

-t YYYYMMDDHHMMSS
          Display the state of logins as of the specified time. This is useful, e.g., to determine easily who was logged
          in at a particular time -- specify that time with -t and look for "still logged in”.

그러나 실제 동작은 다음과 같습니다.

# last -F -t 20150107000000 | grep pts
root pts/2 jp001.solidtunne Tue Jan 6 18:39:05 2015 - Tue Jan 6 18:40:34 2015 (00:01)
root pts/2 jp001.solidtunne Tue Jan 6 18:37:24 2015 - Tue Jan 6 18:37:41 2015 (00:00)
root pts/2 jp001.solidtunne Tue Jan 6 16:42:33 2015 - Tue Jan 6 16:43:49 2015 (00:01)
root pts/2 jp001.solidtunne Tue Jan 6 13:03:26 2015 - Tue Jan 6 13:07:02 2015 (00:03)
root pts/2 jp001.solidtunne Tue Jan 6 09:03:24 2015 - Tue Jan 6 09:03:54 2015 (00:00)
root pts/2 jp001.solidtunne Tue Jan 6 04:53:54 2015 - Tue Jan 6 04:54:07 2015 (00:00)
root pts/4 sf003.solidtunne Fri Jan 2 15:23:12 2015 - Fri Jan 2 15:23:51 2015 (00:00)
root pts/0 hk000.solidtunne Thu Jan 1 16:40:55 2015 - Thu Jan 1 16:41:21 2015 (00:00)
root pts/2 hk000.solidtunne Thu Jan 1 15:41:52 2015 - Thu Jan 1 15:42:02 2015 (00:00)
root pts/4 hk000.solidtunne Thu Jan 1 11:24:56 2015 - Thu Jan 1 13:40:40 2015 (02:15)
root pts/4 hk000.solidtunne Thu Jan 1 11:24:34 2015 - Thu Jan 1 11:24:48 2015 (00:00)
root pts/0 hk000.solidtunne Thu Jan 1 08:31:13 2015 - Thu Jan 1 08:31:25 2015 (00:00)

현재 날짜는 다음과 같습니다.

# date
Thu Jan 8 08:12:32 UTC 2015

우분투 버전:

# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 14.04.1 LTS
Release:    14.04
Codename:   trusty

핵심:

# uname -a
Linux install 3.13.0-40-generic #69-Ubuntu SMP Thu Nov 13 17:53:56 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

Ubuntu의 버그 시스템에서 버그를 열었습니다.https://bugs.launchpad.net/ubuntu/+source/sysvinit/+bug/1408605. 그러나 사람들은 이 오류에 관심이 없는 것 같고, Google로부터 이 오류에 대한 정보를 거의 얻지 못하는 것 같습니다. 지금 혼란스러워요. 뭔가 놓쳤나요?

답변1

나는 이 오류가 단지 문서 오류라고 생각합니다.

Ubuntu 14.10의 버전 util-linux(출처 last)은 ​​2.25입니다.

Fedora 21 버전 util-linux도 2.25입니다.

manFedora의 페이지에는 다음과 같이 명시되어 있습니다 last.

   -t, --until time
          Display the state of logins until the specified time.

이것이 실제 동작입니다.

util-linuxUbuntu(또는 Debian) 및 CentOS에서 이 페이지에 대한 버그를 신고하는 것이 좋습니다 man.

답변2

last.c를 다운로드하여 문제를 해결하세요. 753행으로 이동하여 행을 다음과 같이 변경합니다.

if (until && until < ut.ut_time)
  continue;

도착하다

if (until && until > ut.ut_time)
  continue;

그런 다음 다시 컴파일하십시오.

관련 정보