반응형

현상.

1. 기존에 윈7이 깔려있는 컴퓨터를 윈10 설치프로그램을 다운로드하여 설치 하였음.

2. 새로 설치 옵션을 선택하지 않고, 기존 사용자 데이터 유지 를 선택. 

3. 기존 사용자 데이터 유지를 선택하여 설치시 드라이버/설치된 프로그램 충돌로 부팅이 되지 않는 현상

 

이때 제일 빠른 방법은 usb에 윈10 설치프로그램을 담아서 재설치 하는 것이다.

아마 계속 부팅이 되지 않으면서 윈10 블루스크린 화면으로 갈텐데, 여기서 약 3~4회 정도 재부팅을 시도하면 "고급 옵션" 을 선택할수가 있다.

여기서 PC 재설정을 선택하여 새로 설치를 진행할 수가 있다.

 

물론 데이터 백업이 필요하다면 타 PC에 해당 PC의 하드를 꽂아 데이터를 백업후에 ... 

 

반응형
반응형

해결방법 1.

 

Repair Permissions

After you have identified and fixed the underlying cause (see below), you'll want to repair the permissions:

cd /path/to/repo.git sudo chgrp -R groupname . sudo chmod -R g+rwX . find . -type d -exec chmod g+s '{}' +

Note if you want everyone to be able to modify the repository, you don't need the chgrp and you will want to change the chmod to sudo chmod -R a+rwX .

If you do not fix the underlying cause, the error will keep coming back and you'll have to keep re-running the above commands over and over again.

Underlying Causes

The error could be caused by one of the following:

  • The repository isn't configured to be a shared repository (see core.sharedRepository in git help config). If the output of:

    git config core.sharedRepository

    is not group or true or 1 or some mask, try running:

    git config core.sharedRepository group

    and then re-run the recursive chmod and chgrp (see "Repair Permissions" above).

  • The operating system doesn't interpret a setgid bit on directories as "all new files and subdirectories should inherit the group owner".

    When core.sharedRepository is true or group, Git relies on a feature of GNU operating systems (e.g., every Linux distribution) to ensure that newly created subdirectories are owned by the correct group (the group that all of the repository's users are in). This feature is documented in the GNU coreutils documentation:

    ... [If] a directory's set-group-ID bit is set, newly created subfiles inherit the same group as the directory, and newly created subdirectories inherit the set-group-ID bit of the parent directory. ... [This mechanism lets] users share files more easily, by lessening the need to use chmod or chown to share new files.

 

 

 

해결방법 2.

난 이게 더 심플한거 같기도.

 

For Ubuntu (or any Linux)

From project root,

 

cd .git/objects

ls -al

sudo chown -R yourname:yourgroup *

 

You can tell what yourname and yourgroup should be by looking at the permissions on the majority of the output from that ls -al command

Note: remember the star at the end of the sudo line

 

반응형
반응형

최근에 사촌이 최고오급 노트북을 구매를 했는데, 물론 프리도스(OS미포함)로 구매하라고 해서 가져와서 Windows 10 을 설치를 해주었다. 스토리지 구성이 SSD 256 + SATA 1TB 이었는데, Free DOS가 SATA 1TB 디스크에 설치가 되어 왔다.


문제 발생


처음엔 아무런 생각 없이, BIOS로 들어가 부팅 순서를 바꾸고, SSD에 Windows 를 설치 하였다. SATA HDD의 경우 파티션을 삭제하고 포맷을 했다. 설치를 마치고 나서 부팅이 잘 되다가, 일정 확률로 부팅이 안되는 현상이 발생하였다. 


해결 시도1. BIOS 설정 확인


단순히 USB나 외장하드를 연결했다 해제하면서 부팅순서에 영향을 준 것으로 생각했다. 하지만 부팅 순서는 전혀 잘못된 것이 없었고, Boot mode 를 Legacy 에서 UEFI 로 바꿔보기도 했지만 전혀 차도가 없었다.. 


해결 시도2. MBR 영역 복구


부팅 영역이 깨진것이라 판단하고 구글링을 통해 부팅 영역 복구를 시도했다. usb에 윈도우 10 설치 디스크를 굽고, 설치 시작화면에서 Ctrl + F10 으로 커맨드 창을 띄웠다. 그런데 bootrec /fixmbr 는 잘 처리 되었지만 bootrec /fixboot 이 액세스가 거부 되었습니다 가 나오면서 정상적으로 되지 않았다.


경험상으로 누군가 해결 예제를 줄때 100% 동일한 환경에서 100% 같이 처리되지 않으면 예외 상황임을 알게되었다. (... ) 


문제 상황 확인 및 해결


결론은 diskpart 를 통해 해결했다. BIOS에서 부팅을 할때 파티션들중 '활성' 파티션에서 부팅을 시도하는데, FREE DOS가 설치되어 있었던 1TB SATA HDD의 활성 파티션이 비활성을 하지 않아 발생한 문제였던 것이다. 즉, 전원이 들어올때 SSD보다 SATA HDD가 먼저 전원이 들어왔을때 해당 파티션이 활성화 되어있으니 그곳에서 MBR영역을 찾았던 것이고, 그 영역이 없으니 부팅이 될리가 없는 것.


diskpart 를 통해 1TB SATA HDD의 파티션을 비활성화 하고 SSD의 파티션을 활성화 시킨뒤 bootrec /fixboot 을 실행하니 정상적으로 작동됨을 볼 수 있었다. 그리고 부팅하니 제대로 동작했다.. 해결 끝!




참고 : http://prolite.tistory.com/729

반응형
반응형

회사에서 22포트로 외부로 나가는게 불가능해서, 내 서버의 ssh 는 22002로 변경을 해둔 상태인데, b 서버에 접근할일이 생겼다. 근데 곧장 sftp 를 쓰고자 하는데 ...


그럼 패킷을 포워딩 하면 어떨까 해서 방법을 찾아보니 iptables 로 하는방법이 있긴 하지만 매우 복잡, 비권장이라는 것에 정보를 더 찾아보니 socat 이라는게 존재했다.


사용법은 매우 간단하다.


Redirect TCP port 443 in localhost to checkwebcam.com port 80.

socat TCP-LISTEN:443,fork TCP:checkwebcam.com:80

fork parameter is required so that socat fork a new process for every connection attempt. If fork is not specified, socat will exit once a redirected connection closes, times out, or who knows what kind of error occurs.

Redirect UDP port 13443 in localhost to checkwebcam.com port 80.

socat UDP-LISTEN:13443,fork UDP:checkwebcam.com:80


내 서버에 x번 포트로 TCP/UDP 로 들어왔을때 어디로 전달할껀지만 지정하면 된다.

그리고 커맨드를 입력하면 해당 세션에서만 작동하기 때문에, 뒤에 & > /dev/null 을 붙여 background 에서 실행하도록 해주자. 


처음에 , 하고 fork 사이에 빈칸을 두었더니 '주소는 무조건 2개여야 합니다' 라는 오류가 떴다.

그러니 빈칸은 fork 다음에 한칸만 ..... 콤마 뒤에 무조건 스페이스를 넣는 습관이 있는분은 주의하시길, (;;)



참조 : http://palimpsest.minivi.com/socat/portforwarding/index.html

반응형
반응형

VirtualBox 로 가상머신을 실행하고 shell로 당겨서 쓰다보니 가상머신을 백그라운드로 실행시켜 놓으면 편하지 않을까 해서

백그라운드 실행방법을 찾아보았다.


cmd창으로 들어간 후 해당 VirtualBox가 설치된 곳까지 경로를 이동한다.

VirtualBox가 설치된 곳까지 이동했다면 다음과 같이 명령어를 사용한다.

 

VBoxManage.exe startvm (가상머신이름) --type headless


VirtualBox가 작동에 성공하면 다음과 같은 메시지가 뜬다.

 

Waiting for VM (가상머신 이름) to power on...

VM (가상머신 이름) has been successfully started.

 

 


VirtualBox를 종료할 때는 다음 명령어중 하나를 사용한다.

 

VBoxManage.exe controlvm (가상머신이름) savestate 

VBoxManage.exe controlvm (가상머신이름) poweroff

 


 

savestate는 명령어를 입력하기 직전의 작업 상태가 저장된 상태로 가상머신이 종료된다.

종료된 가상머신을 다시 실행시키면 종료하기 직전의 화면이 뜨면서 실행된다.

poweroff는 가상머신을 완전히 종료하는 방법으로 savestate와는 다르게 가상머신을 실행시키면 첫 부팅화면부터 실행된다.



출처: http://blog.swcode.net/entry/VirtualBox-백그라운드-실행 [부족한 뇌의 외부 저장소]

 

반응형
반응형

리눅스는 이전에 명령들을 기억합니다.

shell > history

를 치면 이전에 입력했던 명령어들이 나타납니다.

실행했던 명령어 리스트중 어떤 명령어를 실행시키고 싶으면 다음과 같이 합니다.

shell > !번호

를 입력하면 그 번호의 명령어를 실행합니다.

반응형
반응형

SSL인증서를 적용한 이후 웹서버 시작시에 암호를 묻는 경우가 있다.

아래처럼 진행해서 nokey 처리를 하면 된다.

 

# openssl rsa -in 기존KEY -out 생성KEY

 

물론 기존 key 파일은 백업을 먼저 해두자.

반응형
반응형

The link above provides detailed explanation with screenshots. It also has some other simple methods that could be tried before doing this manually. Since it is not accessible from some regions let me describe the method that worked for me.

  1. Go to the OpenPGP Public Key Server. There you can enter your key into the Search String field, leaving everything else as is, then click "Search!".
    When searching for a key, always prepend 0x to it! This means that, for example, you have to search for 0x6AF0E1940624A220 instead of 6AF0E1940624A220.
  2. Click on the link provided in the pub section. This should take you to page containing the key. The page's heading should be similar to Public Key Server -- Get "0x6AF0E1940624A220"
  3. Copy everything from underneath the title (starting from -----BEGIN PGP PUBLIC KEY BLOCK-----) and save it in a file (e.g. key1).
  4. Once you have the file, run the following command

    sudo apt-key add key1
    

You will get an "OK" response.

And you are done. Repeat the procedure of other keys that might be missing.

 

 

에러메시지에 보면 마지막 PUBLIC KEY 하고 뒤에 키값이 나온다....

OpenPGP Public Key Server 링크 클릭 후 그 키 값 앞에 0x 를 붙여서 검색..

그리고 나온 링크를 클릭하면 key 값이 나오는데 그걸 복사해서 저장한다.

그리고 sudo apt-key add 키파일명 을 해주고 apt-get update 를 다시 실행.

반응형

+ Recent posts