입출력 오류, 아무것도 설치할 수 없음

입출력 오류, 아무것도 설치할 수 없음

내 데비안 서버에 뭔가 이상한 일을 해서 이제 아무것도 설치할 수 없습니다. 로캘이 손상되었다고 나옵니다. 나는 dpkg를 재구성하고 apt-get을 정리하고 인터넷에서 다른 많은 솔루션을 사용하여 문제를 해결해 보았습니다. 물건을 설치하려고 하면 다음과 같은 결과가 나타납니다.

Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages will be REMOVED:
  locales
The following packages will be upgraded:
  xxx yyy
xx upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
1 not fully installed or removed.
Need to get 27.3 MB of archives.
After this operation, 19.3 MB disk space will be freed.
Do you want to continue? [Y/n]
Fetched 27.3 MB in 19s (1,396 kB/s)
(Reading database ... 45726 files and directories currently installed.)
Removing locales (2.19-18+deb8u2) ...
dpkg: error processing package locales (--remove):
 cannot remove '/usr/share/locale/locale.alias': Input/output error
Errors were encountered while processing:
 locales
E: Sub-process /usr/bin/dpkg returned an error code (1)
apt-get upgrade  10.60s user 2.89s system 40% cpu 32.969 total 

위 오류로 인해 파일을 삭제할 수 없습니다.
로케일 파일을 복구하거나 다시 실행해 보십시오.locales is broken or not fully installed

의견에서 제안한대로 :

root@bananapi ~ # dpkg --audit
The following packages are only half installed, due to problems during
installation.  The installation can probably be completed by retrying it;
the packages can be removed using dselect or dpkg --remove:
 locales              GNU C Library: National Language (locale) data [support]

이 작업을 시도하면 다음 오류가 발생합니다.

1 root@bananapi ~ # apt-get install locales                                                                                                                                                              :(
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be upgraded:
  locales
1 upgraded, 0 newly installed, 0 to remove and 17 not upgraded.
1 not fully installed or removed.
Need to get 3,944 kB of archives.
After this operation, 395 kB of additional disk space will be used.
Get:1 http://security.debian.org/ jessie/updates/main locales all 2.19-18+deb8u3 [3,944 kB]
Fetched 3,944 kB in 1s (3,045 kB/s)
Preconfiguring packages ...
Selecting previously unselected package locales.
(Reading database ... 45727 files and directories currently installed.)
Preparing to unpack .../locales_2.19-18+deb8u3_all.deb ...
Unpacking locales (2.19-18+deb8u3) over (2.19-18+deb8u2) ...
dpkg: error processing archive /var/cache/apt/archives/locales_2.19-18+deb8u3_all.deb (--unpack):
 unable to make backup link of './usr/sbin/update-locale' before installing new version: Too many links
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Errors were encountered while processing:
 /var/cache/apt/archives/locales_2.19-18+deb8u3_all.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
apt-get install locales  5.53s user 1.97s system 34% cpu 21.697 total

답변1

cannot remove '/usr/share/locale/locale.alias': Input/output error

이는 포장 시스템의 문제가 아닙니다. 저장소가 손상되었습니다. 스토리지의 손상된 부분에 액세스해야 하는 모든 작업은 실패합니다. 이 경우 업그레이드는 손상된 디렉터리의 파일을 교체해야 하므로 업그레이드가 실패합니다.

스토리지 손상은 나쁜 징조입니다. 디스크를 교체하고 데이터 무결성을 확인하십시오.

답변2

해결책은 카드를 꺼내서 fsck다른 컴퓨터에서 수리하는 것입니다. EightBitTony가 제안한 매우 간단합니다.

관련 정보