C:\Cygwin64
방금 Windows 7에 Cygwin을 다운로드하여 설치했습니다. 제가 설치한 설치 폴더가 300MB 미만이었을 때 1.2GB의 데이터로 구성된 폴더 로 성공적으로 설치된 것 같습니다 . 그러나 바탕화면 바로가기를 클릭하면 mintty.exe
오류가 표시됩니다.
'/bin/bash' 실행 실패: 해당 파일이나 디렉터리가 없습니다.
이것은 내가 모든 기본 파일을 설치했다는 사실에도 불구하고 그 bash
일부로 추정되며 그렇지 않은 경우에도 설치 프로그램은 나중에 이를 필수 패키지로 표시하고 자체적으로 설치했습니다. 그럼 여기서 무슨 일이 일어나고 있는지 아는 사람 있나요? 이것은 Cygwin을 성공적으로 설치하기 위한 마지막 날의 네 번째 시도일 수 있습니다. 나는 그것을 가질 운명이 아니라고 생각하기 시작했습니다.
답변1
이번에는 파일을 별도로 다운로드하고 로컬에 저장된 폴더(옵션 2 및 3)에서 설치하는 대신 넷(설치 프로그램의 옵션 1)에서 다운로드하여 설치하기로 선택했습니다. 해당 옵션을 선택하면 설치가 완료되지 않은 이유가 확실하지 않지만 이제 bash
오류 없이 실행할 수 있습니다.
답변2
웹에서 직접 기본 새로 설치한 후에도 동일한 문제가 발생했습니다.
"C:\cygwin64\bin"으로 이동하여 "ash.exe"를 복제하고 복사본의 이름을 "bash.exe"로 변경하여 문제를 해결했습니다.
(Bash가 없어서 이 불길한 재 파일을 발견했기 때문에 저는 이것을 우연히 시도했습니다.)
답변3
문제
원할 경우 아래로 건너뛰어 두 가지 솔루션, 특히 두 번째 솔루션을 살펴볼 수 있습니다.
System32
내 컴퓨터의 손상된 부분을 복구한 후( 디렉토리가 손상된 후 - 윽!) 방금 이 문제에 직면했습니다. 이런 종류의 일이 이전에 발생했는데(다른 상황으로 인해) C:\cygwin64
폴더가 있는 디렉토리가 여전히 있었고 최소한 다른 파일이 아직 남아 있어요.
이전에는 항상 실행하여 간단히 다시 설치할 수 있었습니다 setup-x86_64.exe
(저는 에 넣었습니다 C:\cygwin64
). 그 후에 bash
는 돌아올 것입니다. 나는 항상 온라인 옵션을 사용하여 이 작업을 실행 https://mirrors.kernel.org
하지만 설치 GUI에서만 선택하더라도 bash
이 문제가 발생했습니다. 내 오류는 다음과 같습니다.
/bin/bash: Exit 126.
Failed to run '/bin/bash': No such file or directory
내 bin
디렉토리를 확인해 보니 실제로 bash
누락된 것으로 나타났습니다. 명령 프롬프트에서( CMD
)
C:\Windows\System32>C:\cygwin64\Cygwin
'bash' is not recognized as an internal or external command,
operable program or batch file.
C:\Windows\System32>dir C:\cygwin64\bin\bas*
Volume in drive C is ██████████
Volume Serial Number is ██████████
Directory of C:\cygwin64\bin
File Not Found
C:\cygwin64\bin>
나는 일반적으로 다음 중 하나를 통해 Cygwin을 실행합니다.
- (Windows) 명령 프롬프트에서 다음을 실행하는 것과 동일한 바탕 화면 바로 가기 사용
C:\cygwin64\bin\mintty.exe -i /Cygwin-Terminal.ico -
또는
- 파일 을 사용합니다
Cygwin.bat
. 먼저 파일 내용을 표시한 다음 이를 실행하려고 시도한 결과를 표시하겠습니다.
C:\Windows\System32>type C:\cygwin64\Cygwin.bat
@echo off
C:
chdir C:\cygwin64\bin
bash --login -i
C:\Windows\System32>C:\cygwin64\Cygwin
'bash' is not recognized as an internal or external command,
operable program or batch file.
C:\cygwin64\bin>
첫 번째(실패한 시도) 솔루션
발견bash-<version>.tar.xz
이전에 에서 다운로드한 적이 있어서 https://mirrors.kernel.org
폴더가 생겼습니다.
C:\cygwin64\http%3a%2f%2fmirrors.kernel.org%2fsourceware%2fcygwin%2f
좀 더 살펴보니 tarball이 호출되어 bash-4.4.12-3.tar.xz
있는 것을 발견했습니다.
C:\cygwin64\http%3a%2f%2fmirrors.kernel.org%2fsourceware%2fcygwin%2f\x86_64\release\bash
전체 경로 만들기
C:\cygwin64\http%3a%2f%2fmirrors.kernel.org%2fsourceware%2fcygwin%2f\x86_64\release\bash\bash-4.4.12-3.tar.xz
난 결국 이걸로 열었어7zip
, 당신은 사용할 수 있지만WinRAR
또는 다른 비슷한 것.
(이제 Windows에서 어떻게 사용할 수 있는지에 대해 약간의 호언장담을 했지만 tar
이를 사용하면 추출이 작동하지 않았습니다. 호언장담을 볼 수 있습니다.여기tar
Windows 10에 대해 더 자세히 알고 싶다면 curl
) 타르볼을 데스크탑에 복사/붙여넣은 다음 마우스 오른쪽 버튼을 클릭하고 '확장'을 두 번 선택하여 내부 내용을 확인했습니다. 그거 다 복사했어요
C:\Users\bballdave025\Desktop\bash-4.4.12-3\
그 순간 나는 안에 무엇이 있는지 볼 수 있었습니다.그런 다음 내부 파일 위치를 Cygwin이 작동하는 컴퓨터의 파일 위치와 비교했습니다.나는 모든 파일을 찾을 수 있었고, 그 파일들을 적절한 위치로 옮기기로 계획했습니다.
다른 사람들에게는 아마도 다음과 같은 곳에서 온 사람들이 있을 것입니다.git bash
(좋다이 포스터)(보관됨) 또는 mingw
/ msys2
(좋아요이 포스터)(보관됨), 시스템이 찾을 수 없다는 오류가 발생했다는 점에 유의하세요. /bin/bash
오류가 참조하는 방식과 다르기 /usr/bin/bash
때문에 약간의 차이가 있을 수 있습니다.
C:\Users\bballdave025\Desktop\bash-4.4.12-3>tree /a /f .
Folder PATH listing for volume ██████████ OS
Volume serial number is ██████████ ██████████
C:\USERS\BBALLDAVE025\DESKTOP\BASH-4.4.12-3
|
+---etc \ . On the working computer's version, I found
| \---postinstall }-' C:\cygwin64\etc\postinstall\bash.sh.done
| bash.sh / I'm going to move the file from where you
| see it to _my_ C:\cygwin64\etc\postinstall.sh
| Then I'll run it, and if the tests pass, I'll
| rename it to bash.sh.done . I'll do that after
| moving all the others.
|
\---usr
+---bin
| bash.exe \
| bashbug }--- I'll move these three files into
| sh.exe / _my_ C:\cygwin64\bin FIRST (1)
|
+---include
| \---bash \ . I'll move this bash
| <lots of *.h files> }--' directory and all its
| / constituent header (*.h)
| files to _my_ directory,
| C:\cygwin64\usr\include\
|
+---lib
| libbash.dll.a }- I'll move this one file to _my_
| / C:\cygwin64\lib\
|
|
| \
\---share \
+---doc :
| +---bash \
| | +---<lots of bash doc stuff> :
| | |
| \---Cygwin :
| bash.README | .-I'll put the
| _.-' _/ doc, info,
+---info / _-' locale, and
| bash.info.gz \_/' man directories
| --' in _my_
| / C:\cygdrive64\usr\share\
+---locale `--------...____ directory,
| +---<lots of locales which have the same > : which is
| | <structure underneath; the last locale> / where they
| | <(serving as an example) is below > : were in the
| \---zh_TW / working
| \---LC_MESSAGES / version.
| bash.mo /
| :
\---man /
\---man1 :
<lots of PROGRAM.gz files> /
/
예, 다시 돌아가고 싶지만 이 답변 중 일부를 저장하고 싶습니다.
두 번째 해결책
친구한테 이런 일이 있었어요. 관리자가 그녀의 계정을 설정했고 관리자가 그 계정에 "그의 갈고리"를 남겨두었습니다. 이는 그가 일종의 소유권을 갖고 있음을 의미합니다. 그 관리자는 우리가 있던 곳에서 더 이상 일하지 않았기 때문에 우리는 모든 것을 고칠 수 있는 방법을 찾아야 했습니다.
먼저 모든 것을 삭제하려고 했지만 제거할 수 없는 파일과 폴더가 항상 몇 개 있었습니다. 그 관리자는 (그나저나 정말 좋은 사람입니다.) 해당 관리자의 소유였습니다. 우리는 심지어 제거할 수도 없었습니다. 관리자 권한으로 삭제를 실행한 경우 삭제합니다( File Manager -> C -> Windows -> explorer.exe
, 마우스 오른쪽 버튼을 클릭한 다음 '관리자 권한으로 실행'하고 디렉터리로 이동하여 C:\cygwin64
삭제를 시도합니다... 주사위 없음.)
마침내 작업을 수행하려면 관리자로 들어가서 기본 디렉터리와 다른 모든 디렉터리에 대한 권한을 변경해야 했습니다. 그런 다음 디렉터리를 삭제하고 C:\cygwin
다시 만들고 setup-86_64.exe
새 cygwin64
디렉터리에 넣은 다음 다음을 실행할 수 있었습니다. 설정. 너~할 수 있다전체 디렉토리에 대한 권한을 변경한 다음 GUI를 bash
사용 하여 다시 설치하려고 시도했지만 setup-x86_64.exe
이를 시도한 다음 Cygwin 터미널로 이동했을 때 다음과 같은 내용을 얻었습니다.
bballdave025@MY_MACHINE ~
$ wget https://raw.githubusercontent.com/transcode-open/apt-cyg/master/apt-cyg
--2020-04-26 13:08:26-- https://raw.githubusercontent.com/transcode-open/apt-cyg/master/apt-cyg
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.68.133
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|151.101.68.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 13765 (13K) [text/plain]
apt-cyg: Permission denied
Cannot write to ‘apt-cyg’ (Permission denied).
bballdave025@MY_MACHINE ~
$ stat .
File: .
Size: 0 Blocks: 24 IO Block: ██████████ directory
Device: ██████████/██████████ Inode: ██████████ Links: 1
Access: (0575/dr-xrwxr-x) Uid: (██████████/ bballdave025) Gid: (██████████/Unknown+Group)
Access: 2020-03-25 06:44:06.256806800 █████
Modify: 2020-03-25 06:44:04.686424000 █████
Change: 2020-04-26 09:23:47.452255300 █████
Birth: 2019-12-26 12:34:40.017177300 █████
bballdave025@MY_MACHINE ~
$ stat /
File: /
Size: 0 Blocks: 4 IO Block: ██████████ directory
Device: ██████████/██████████ Inode: ██████████ Links: 1
Access: (0775/drwxrwxr-x) Uid: (██████████/ bballdave025) Gid: (██████████/Unknown+Group)
Access: 2020-04-26 09:34:23.227577100 █████
Modify: 2020-04-26 09:34:23.227577100 █████
Change: 2020-04-26 12:55:46.658249200 █████
Birth: 2019-06-25 06:49:31.485205900 █████
bballdave025@MY_MACHINE ~
$ chmod u+w .
chmod: changing permissions of '.': Permission denied
bballdave025@MY_MACHINE ~
$ # It's not going to be very useful like this.
그건 그렇고 chmod -R u+w /
많은 Permission denied
오류가 발생했습니다.
복구할 파일이 있다면 지금 복구할 수 있는 두 번째로 좋은 기회가 있을 것입니다.
삭제를 수행하는 한 가지 방법은 다음 지침을 따르는 것입니다.이 appuals 튜토리얼(보관된). CMD
관리자로 실행하려면 관리자 권한이 필요합니다 .
Windows 탐색기에서도 이를 수행할 수 있지만 아마도 관리자 권한으로 탐색기를 실행해야 할 것입니다. 이와 같은 권한 변경도 시도했지만 운이 없었습니다.
유형 메뉴에서 검색 cmd
후 관리자 권한으로 실행하세요. 아래 스크린샷을 참조하세요.
소유권을 가져라
takeown /r /d y /f C:\cygwin64
명령의 두 구성 단어는 'TAKE DOWN'이 아니라 'TAKE OWN'입니다. 또한 이 명령은 내 경우 약 5~20분 정도로 시간이 오래 걸릴 수 있습니다.거의 전체 설치(보관된).
다음으로 모든 사람에게 모든 권한을 부여합니다.
icacls C:\cygwin64 /t /grant Everyone:F
다시 한 번 돌아가서 설치/재설치를 시도할 수 있지만 bash
방금 수행한 작업의 보안 영향이 마음에 들지 않습니다.
복구할 파일이 있다면 지금 복구할 수 있는 두 번째로 좋은 기회가 있을 것입니다. 즉, 이 시점에서 GUI를 bash
사용하여 설치하거나 다시 설치하거나 setup-x86_64
Windows 파일 탐색기만 사용하는 경우에도 이것이 가장 좋은 기회라는 뜻 입니다.
차라리 이 Cygwin을 삭제하고 새로 설치하고 싶습니다. 가능한 모든 파일을 복구하려고 시도한 경우 계속해서 다음 명령을 실행하십시오.
rmdir /s /q C:\cygwin64
삭제한 후 다시 설치하기 전에 다음을 사용해야 합니다.
Windows+ R및 을 선택한 다음 및 의 폴더 regedit
에 있는 모든 항목을 제거/삭제합니다 .Software\Cygwin
HKEY_LOCAL_MACHINE
HKEY-CURRENT-USER
답변4
Cygwin을 실행합니다:setup-x86_64.exe
선택하다:설치하지 않고 다운로드
그러면 대상 폴더에 Cygwin 터미널 파일이 다운로드됩니다.http://cygwin.mirror.constant.com/
예:C:\대상 폴더>http://cygwin.mirror.constant.com/>
달리다다시시그윈:setup-x86_64.exe. 이제 다음을 선택하세요.로컬 디렉토리 설치, 클릭 다음, 클릭다음, 클릭다음, 그 다음에마치다.
이동 :http://cygwin.mirror.constant.com/폴더에는 두 개의 하위 폴더가 있습니다.
노아크 x86_64
열려 있는x86_64폴더
열려 있는풀어 주다폴더
열려 있는세게 때리다폴더(압축 파일이 있습니다. 예: **bash-4.4.12-
tar.xz** 파일
압축된 bash 파일을 추출하면 두 개의 폴더가 나타납니다(등그리고우리).
열려 있는등폴더 및 복사bash.sh파일을 받아서 붙여넣으세요C:\cygwin64\bin폴더