기본 콘텐츠로 건너뛰기

GNOME Display Manager 49 (gdm-49)

원문 보기:  https://dawoum.duckdns.org/wiki/GNOME_Display_Manager   그놈 버전 49가 출시되면서, GDM-49가 같이 출시되었습니다.  몇 가지 문제에 부딪힐 수 있습니다. 버전 49.0.1을 설치 후에, 부팅 자체가 완료되지 않고 다른 tty로 접근도 되지 않습니다. 리커버리로 부팅 후에, lightdm으로는 부팅이 됩니다. 이와 관련된 버그는 다음에서 볼 수 있습니다: https://bugs.launchpad.net/ubuntu/+source/gdm3/+bug/2121017 결론적으로, 오래 전에 설치된 시스템에서 /etc/nsswitch.conf 파일에서 문제가 발생합니다.  따라서, shadow:         files systemd와 같이 수정해서 GDM 로긴 화면을 만날 수 있습니다.  다른 문제는 Xsession이 목록화되지만, 해당 세션으로 접근되지 않는다는 것입니다. 게다가, Xsession으로 접근 후에, GDM이 오동작해서 다른 Wayland 세션으로 로그인할 수도 없습니다. 이때, 다른 tty로 접근해서 GDM을 재시작하면 제대로 동작합니다. 만약 Xsession으로 로그인하고 싶을 때에는 lightdm과 같은 다른 로긴 관리기를 사용해야 합니다.    덧, 만약 GDM에서 Xsession으로 정상적으로 로긴하기 위해, GDM 패키지를 다시 컴파일해야 합니다.  데비안 패키지에서 GDM-49.0.1 파일을 받아서 debian/rules 파일에서 -Dgdm-xsession=true 구성 옵션을 추가해야 합니다.     

리눅스 배드블록 처리

원문 보기: https://dawoum.duckdns.org/wiki/Badblocks

badblocks디스크 드라이브의 불량 섹터를 확인하는 리눅스 유틸리티입니다. 그것은 mkfs와 같은 다른 프로그램과 함께 사용할 수 있는 이들 섹터의 목록을 생성하여 향후 사용되지 않도록 함으로써 데이터 손상의 원인이 되지 않게 합니다. 그것은 e2fsprogs 프로젝트의 일부이고,[1] 하나의 포트가 BSD 운영 시스템에 대해 유용합니다.[2]

독립 실행형 프로그램으로 실행될 때, badblocks는 만약 있다면 문제를 가진 블록의 목록을 제공합니다. 이것은 SMART 데이터 및 파일 시스템 검사와 독립적으로 디스크 드라이브가 정상인지 확인하는 데 좋은 선택 사항이 됩니다.[3]

e2fsck's "-c" option

보다 일반적인 사용 사례는 옵션 "-c"을 전달하여 불량 블록을 스캔하고 이들 블록에 테이트를 저장되는 것을 방지할 때 e2fsck의 일부로 badblocks를 호출하는 것입니다. 이것은 발견된 불량 블록의 목록을 불량 블록 inode에 추가하여 영향을 받는 섹터를 파일 또는 디렉토리에 할당되는 것을 방지함으로써 수행됩니다. 이 테스트는 읽기-전용 ("-c") 또는 비-파괴 읽기-쓰기 ("-cc") 테스트 방법을 사용하여 수행될 수 있습니다.[4]

dumpe2fs

dumpe2fs -b를 실행하면 e2fsck 또는 tune2fs에 의해 기록된 불량 블록의 목록을 표시할 것입니다.

Examples

badblocks -nvs /dev/sdb

이것은 비-파괴 읽기-쓰기 모드에서 드라이브 "sdb"를 확인하고 그것들이 확인되었을 때 블록 번호를 기록함으로써 진행 상황을 표시합니다. 데이터를 파괴하지 않고, 검사하기 때문에, 속도가 느립니다.

badblocks -wvs /dev/sdb6

이것은 파괴적인 읽기-쓰기 모드 (-w = 쓰기-모드)에서 드라이브 "sdb"의 여섯 번째 파티션을 검사하며, 전체 파티션에 4 개의 다른 패턴을 쓰고 각각을 다시 읽음으로써 확인합니다. 그것은 그것들이 검사되었을 때 블록 번호를 기록함으로써 진행 상황을 표시합니다 (-s = 보기, -v = 자세한-정보). 파티션의 모든 데이터는 블록 수준에서 덮어쓸 것입니다.

badblocks -wvsb 4096 /dev/sdb

이것은 위의 것과 같지만, 4096의 블록 크기를 갖는 전체 드라이브에 적용됩니다. 이것은 MBR, 파티션 및 데이터와 같은 것을 모두 파괴합니다. 최신 디스크 드라이브는 불량 섹터를 예비 트랙에 자동으로 다시 매핑하기 때문에 임의의 결함을 갖는 섹터를 표시하지 않을 것이지만,[5] 새 드라이브로 며칠 동안 프로그램을 실행하면 전체 표면을 테스트하고, 나중에 그것을 읽을 때 S.M.A.R.T. 데이터는 결국 다시-할당된 섹터를 표시할 것입니다.

기존 파일 시스템을 포함하는 장치에서 -w 옵션을 사용하면 해당 장치의 데이터가 지워집니다.

실사용 예제

시게이트 하드디스크 계속 3

2024년 여름쯤 처음 8개의 uncorrectable 섹터가 생기기 시작해서 2024년 겨울에는 64개까지 늘어났습니다.

다시 포맷했지만, 문제가 사라지지 않아서, 1.8T를 500M, 500M, 400M, 나머지로 나누었습니다.

이전에는 주로 앞 부분을 사용했기 때문에, 이번에는 마지막 부분을 사용해 보려고 다음을 진행했습니다: (디스크 증가로 번호가 바뀌었습니다)

  • sudo badblocks -wvs -o /root/badblocks.txt /dev/sdb4
  • 처음 0xaa, 0x55 테스트에서는 오류가 생기지 않았습니다.
  • 9시간 11분 정도 걸려서 이상없음을 확인했습니다.
  • 이 파티션의 용량은 500G 정도됩니다.
  • 그런-다음 나머지 디바이스를 영으로 밀었습니다.

시게이트 하드디스크 계속 2

2023년 12월 18일 1440550488에서 읽기 오류 발생, 그 부분에 대한 파일로 추정되는 것은 절대 지우지 않는 것으로 당분간 사용해 볼 예정입니다.

2024년 3월 8일까지 문제없이 동작 중입니다.

시게이트 하드디스크 계속

우선 읽기 모드로 8개의 블록에 문제가 있음을 발견했습니다. 그 위치는 1.4~1.5T 사이의 위치로 확인이 되었습니다.

그래서, 기존의 데이트를 전부 정리하고, 필요한 파일들은 다른 파티션으로 옮겼습니다.

그런-다음 그 위치 전 중에 적당한 위치, 1.2T까지의 파티션을 만들고 나머지를 두 번째 파티션으로 만들었습니다.

그런-다음 첫 번째 파티션을 검사합니다:

$ sudo badblocks -wvs -o /root/badblocks.txt /dev/sda1 
Checking for bad blocks in read-write mode From block 0 to 1288489983 
Testing with pattern 0xaa: 
done Reading and comparing: 
done Testing with pattern 0x55: 
done Reading and comparing: 
done Testing with pattern 0xff: 
done Reading and comparing: done 
Testing with pattern 0x00: 
done Reading and comparing: 
done Pass completed, 44 bad blocks found. (44/0/0 errors)

1.2T를 검사하는 데 14~16시간 정도 걸립니다. 예상과 다르게 읽기-쓰기 테스트에서는 1.1~1.2T에서 44개의 배드 블록이 발견되었습니다. 이 목록은 /root/badblocks.txt에 기록됩니다.

발견된 위치는 1T 이후로 생각되기 때문에, 1T까지 파티션을 만들고 나머지 부분을 두 번째 파티션으로 만들었습니다.

  • sudo fdisk /dev/sda

귀찮은 커널 메시지가 출현되지 않도록 해당 파티션을 완전히 지웁니다. (채우는 속도는 200MiB/s 정도이고, 1T를 채우는 시간은 1시간 30분쯤 걸립니다. 상황에 따라 조금씩 속도가 변하기 때문에, 근사적으로 10분에 100M 정도 채웁니다.)

  • sudo -i
  • pv /dev/zero > /dev/sda1
  • pv /dev/zero > /dev/sda2

30분마다 smartctl이 수행되고, 두 번째 파티션을 일부 지우는 중간에 32개의 오류 지점이 절반 16개로 줄고, 전체를 수행한 후에 더이상 메시지가 나오지 않습니다.

따라서, sda2는 사용하지 않을 예정이므로, 전체 테스트를 수행하지 않고 있지만, 다시 배드 블록 테스트를 수행한 후에, 배드 없는 곳에 적당한 파티션을 만들 수는 있습니다.

결국, 4년 조금 더 지난 시점에서 1.8T 중에 800M를 잘라내고 1T를 사용할 수 있습니다. 이 파티션도 언제 배드가 발생할지 예측할 수 없기 때문에, 임시 파일들을 보관하는 용도로 사용할 예정입니다.


시게이트 하드디스크

2018년 1월 구매한 2T 하드디스크는 2022년 11월 초순에 8 Offline uncorrectable sectors가 발생하기 시작했고, 1주일 정도 지난 후에 메시지가 사라졌습니다.

그러다 2주일 정도 후에, 아마도 해당 섹터의 파일을 지운 후에, 다시 해당 부분을 파일을 쓴 후라고 짐작, 다시 같은 메시지가 발생하다가, 몇 시간 후에 16 Offline으로 증가했습니다.

먼저, 쓰기 검사는 너무 시간이 오래 걸려서, 읽기 테스트를 수행했습니다.

  • sudo umount /dev/sda1
  • sudo badblocks -sv /dev/sda1

100초에 1% 정도가 진행되기 때문에, 아마도 배드 섹터에서 추가적으로 많은 시간 소모가 없다면, 대체로 3시간 내에 종료될 것으로 기대됩니다.

만약 배드 섹터를 fsck와 통합하려면, 다음 명령을 사용할 수 있지만, 추천하지는 않는다고 합니다:

  • sudo fsck -vck /dev/sda1

그러나, 위의 방법은 정확도가 떨어지기 때문에, 보다 정확한 결과를 얻기 위해 쓰기 테스트를 포함해야 합니다. 데이터를 살려할 때에는

  • sudo badblocks -nsv /dev/sda1

만약 배드 섹터를 fsck와 통합하려면, 다음 명령을 사용할 수 있습니다:

  • sudo fsck -vcck /dev/sda1

이 과정은 가장 시간이 오래 걸리기 때문에, 몇 일, 아마도 일주일 이상 걸릴 것으로 예상됩니다.

웬디 하드디스크

하드디스크 중 하나가 갑자기 I/O 오류를 발생하기 시작했습니다:

blk_update_request: I/O error, dev sdb, sector 263221288 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
(십년도 더 지난 삼성에서 제조된 완제품에서 꺼낸 웬디 하드디스크입니다)

위에서 제공된 badblocks -nvs /dev/sdb 명령은 처리하는데, 1%에 8분 정도 걸려서, 중간에 중단을 했습니다.

대신에 sudo fsck.ext4 -c /dev/sdb1를 시도했습니다:

e2fsck 1.45.5 (07-Jan-2020)
Checking for bad blocks (read-only test):   0.00% done, 0:00 elapsed. (33/0/0 errdone...)
/dev/sdb1: Updating bad block inode.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Free blocks count wrong for group #1760 (24543, counted=24544).
Fix<y>? yes
Free blocks count wrong for group #2112 (24538, counted=24544).
Fix<y>? yes
Free blocks count wrong for group #2128 (24543, counted=24544).
Fix<y>? yes
Free blocks count wrong for group #2144 (24536, counted=24544).
Fix<y>? yes
Free blocks count wrong for group #2176 (24543, counted=24544).
Fix<y>? yes
Free blocks count wrong for group #2240 (24542, counted=24544).
Fix<y>? yes
Free blocks count wrong (76637467, counted=76637486).
Fix<y>? yes

/dev/sdb1: ***** FILE SYSTEM WAS MODIFIED *****
/dev/sdb1: 11/19537920 files (0.0% non-contiguous), 1505064/78142550 blocks
중간에 엔터를 입력해서 내용이 정확히 나오지 않았지만, 70~80분 정도 걸렸으며, 33개의 오류가 있음을 확인했습니다.

여전히 smartd: "Currently unreadable (pending) sectors" 오류가 발생하고, 기타 방법을 시도했지만, 물리적 오류 메시지가 나와서 해당 디스크는 폐지처분했습니다.


 

댓글

이 블로그의 인기 게시물

리눅스 한글 입력기 (Wayland 편)

원문 보기: https://dawoum.duckdns.org/wiki/한글 입력기/On_Wayland 최근 소프트웨어들의 버전 업그레이드로 인해, X11에서도 님프 입력기에서 문제들이 발생하고 있습니다. 따라서 이제는 X11이든, Wayland이든 kime을 사용하는 것이 바람직해 보입니다!! 리눅스 생태계에서 X11에서 Wayland로의 전환은 여러 가지 새로운 장점과 단점을 만들어 냅니다. 일반 사용자들은 이런 전환이 가진 장점에 열광하기도 하지만 기존에 작동하는 메커니즘이 작동하지 않을 때 더욱 불만을 표출합니다. 리눅스에서 가장 큰 문제점은 한글 입력에 있습니다. 그러나, 이 문제는 거의 한국 사람들에 국한된 문제입니다. 물론, 중국과 일본도 비슷한 처지에 있어서 CJK로 묶어서 얘기가 되지만, 한글은 다른 두 언어에 비해 더 고려할 사항이 있어서 한글 입력기 개발에 어려움이 더해진다고 알려져 있습니다. 이런 상황 아래에서, kime과 nimf는 최근에 한국에서 개발된 두 개의 한글 입력기입니다. 먼저, 개인적인 경험을 기반으로 결론부터 얘기하자면, X11에서는 nimf를 추천합니다. Wayland에서는 kime을 추천합니다. 이유는 간단하게도, X11에서는 nimf가 더 많은 프로그램에서 올바르게 동작했지만, Wayland에서는 X11에서 잘 입력되던 프로그램에서 입력이 되지 않거나 잘못 입력되는 경우가 발생합니다. 반면에 kime은 Wayland에서 nimf가 입력하지 못하는 프로그램에서 입력이 되거나 잘못 입력되던 것이 제대로 입력되는 경우가 있기 때문입니다. 예를 들어, 그놈 Wayland에서 적어도 아래의 현상이 있습니다: gnome-calendar : nimf 입력기 전환 안됨. kime 정상 작동. nimf 이 문제는 gooroom에서 제공되는 gtk4 패치를 이용해 보십시오. kakaotalk (bottles: wine) : nimf 마지막 점을 찍으면 마지막 글자 앞에 찍힘. kime 정상 작동. alac...

Btrfs 압축 수준 설정

원문 보기:  https://dawoum.duckdns.org/wiki/Btrfs 보통, 마운트 옵션에서 compress=zstd를 사용할 경우에 압축 레벨 3를 사용하고, HDD와 느린 플래시 스토리지에 적합하다고 알려져 있습니다. 좀 더 빠른 SATA SSD는 압축 레벨 2가 적당하고, NVME는 압축 레벨 1이 적당하다고 합니다: Yup, this is it. On slow storage higher compression levels tend to yield higher total storage throughput because you spend less time bound by slow storage bandwidth, instead you spend CPU time compressing/decompressing that data. The rick is to pick a compression level that yields greater total throughput than storage bandwidth can accommodate on its own. This approach works well on bandwidth limited storage like HDD pools, slow flash nand, flash nand attached to the system via slow USB, etc. On the flip side you don't want to constrain high bandwidth storage by sending data through a compression algorithm that limits throughput so lower compression levels (like zstd:1 on nvme storage, or zstd:2 on fast SATA SSDs) are usually safe choices. —  seaQueue, Btrfs compress level, https://...

Installing hoffice 2022 beta on Debian

원문 보기:  https://dawoum.duckdns.org/wiki/Installing_hoffice_2022_beta_on_Debian 구름 OS 2.0에서 배포되었던 1520 버전은 hwp에서 일부 버그가 있는 것으로 보입니다. 예를 들어, 한글 입력 상태에서 키를 누르고 있으면, 입력이 되지 않다가 키를 풀면 한꺼번에 입력이 됩니다. 반면에, 한글 2020 베타 버전은 이런 현상이 없습니다. 게다가, 구름 OS 3.0이 출시되면서 해당 패키지는 누락되었고, 이전 저장소에서 더 이상 다운로드되지 않는 것으로 보입니다. 또한, 윈도우 버전에 비해 기능 자체가 많지 않아서 편집기로는 크게 쓸모가 없다는 주장이 있지만, 뷰어로서 기능은 가능한 것으로 보입니다. 보통 데비안에서 문서를 만들 때, 여러가지 좋은 도구들이 있습니다. 가장 좋은 가독성을 보이는 것은 LaTeX이겠지만, 프로그램을 설치하고 문서를 만드는 것이 쉽지 않습니다. 어쨌든, 한글과 컴퓨터에서 만든 hwp는 여러 부분에서 쓰이는 경우가 있습니다. 예를 들어, 다른 사람이 만들어 놓은 hwp 파일을 보기 위해서는 hwpviewer 또는 온라인에서 hwp2pdf 등으로 다른 문서로 바꾸어서 볼 수는 있습니다. 그러나, 편집을 하기 위해서는 전용 프로그램이 필요합니다. 물론, 가상 기계 아래에서 윈도우 시스템을 설치하고, 윈도우용 hwp를 설치해서 이 작업을 수행할 수 있습니다. 어쨌든, 가능하다면, 리눅스에서 직접 hwp를 편집하기를 희망할 것입니다. 한글과 컴퓨터에서 구름 OS 를 만들면서, 번들로 제공하는 리눅스용 한컴오피스 2022 베타는 이런 목적으로 설치해서 사용해 볼 필요가 있습니다. Download 2020 beta version 위에서 언급했듯이, 어떤 이유에서든지 서버에서 제거되었기 때문에, 개인적으로 미리 다운로드 받지 않는 분들은 해당 버전을 이용할 수 없습니다. 다행히, 버그가 적을 것으로 기대되는 이전 버전은 여전히 공식 서버에 제공되고 있고, 아...