[Ubuntu] service mysql status 입력시 Loaded 가 /dev/null 을 가리킬 때

개요

2017년 04월 03일 3시 26분 쯤 부터 블로그 접속시 “데이터베이스 연결 중 에러” 라는 메시지가 반겼다.

 

그 때, 나는 python3 관련해서 종속성 관련해서 해결 하느라고 sudo apt-get autoremove 를 했는데, 하필이면 mysql-server-core-5.7 까지 함께 날라간 것이였다.

 

이것은 급하게 deb 파일로 dpkg -i 인스톨을 통해 복구를 했지만, DB 연결 오류는 해결이 되지 않았다.

 

따라서 이것을 해결했던 방법을 공유해보자 한다.

 

/dev/null 가리키는 현상 복원하기

현재 상태

이미지 1.png

위 이미지와 같이 sudo systemctl status mysql (혹은 sudo service mysql status)를 입력하니 아래와 같이 표시되었다.

 

mysql.service 가 말 그대로 /dev/null 을 가리키기 때문에 문제가 있다는것을 알려주는 메시지 이다.

 

이미지 2.png

따라서 나는 cd /etc/systemd/system 를 입력해, system 폴더로 들어가서 ls -la 를 입력해보니 실제로 mysql.service 가 Symbolic Link 로 /dev/null 을 가리키고 있다는것을 알아냈다.

 

해결법

너무나도 간단했다. 저것의 원인은 Windows 로 설명을 하면 실행을 위한 원래의 파일은 없고, 바로가기 (lnk)파일만 존재해서 발생하는 현상이다.

 

이미지 3.png

sudo systemctl unmask mysql 를 입력해서 mysql 에 대한 심볼릭 링크를 제거한다.

이미지 4.png

제거 하고, sudo service mysql start 를 해보니 에러 메시지 없이 정상적으로 잘 실행이 되었다.

끝으로

서버를 여는 사람 입장에서 이런 문제가 발생하면 많은 골칫거리가 생기게 된다.

 

구글링을 통해 찾아내는것이 가장 최선이라고 판단을 한다.

 

또한, 서버를 열면서 아직 부족하다고 느낀점이 많았기에, 더욱 더 열심히 리눅스를 배워야 겠다고 생각한다.

 

그리고, 항상 백업을 생활화 하는것이 무엇보다 중요하다고 본다. 적용과 원복은 뗄 수 없는 관계이며, 백업은 필수다.

 

나와 비슷한 /dev/null symbolic link 문제로 고통받는 사람이 없길…

넥슨게임, 자바스크립트를 통해 NGM 으로 게임 다운로드 하기

개요

636px-Nexon_Logo.svg.png

 

자바스크립트는 웹에서 사용하는 클라이언트에서 명령어를 처리하는 웹 언어중 하나다.

 

이 언어는 넥슨 웹사이트에서도 잘 쓰이고 있는데, 아래 설명할 자바스크립트 방식을 이용하면 된다.

 

넥슨 홈페이지는 이런 방식으로 게임 실행을 수행하기 때문에 이 방식을 통하면 여러 많은 정보를 유저가 직접 수행할 수 있다는 장점이 있다.

 

 

사용법

스크립트 실행전, 기초정보 확인

이미지_3.png

나는 카스온라인을 기준으로 정보를 알아냈다. 카스온라인의 게임 코드는 “73737” 이란 코드 이다.

이 코드를 기반으로 ‘역으로 다른 게임코드를 집어넣으면 어떻게 실행될 것인가?’ 에 대해서 실험을 해보았다. 당연히 성공.

그럼, 이 코드가 어떤식으로 불러와지는지를 확인하자.

게임 실행에 필요한 자바스크립트

이미지_5.png

넥슨 웹 홈페이지의 게임 시작은 아래와 같은 자바스크립트를 통해 실행이 되는것을 우리는 웹 홈페이지의 소스코드를 통해 확인할 수 있었다.

 

그럼 이 코드를 기반으로 역으로 다른 게임의 코드번호를 알아내는것이 가능할까?

 

가능은 하다. 하지만 찾는 노력이 필요하다.

 

이미지_4.png

나는 이 이미지를 촬영했을 당시, 서든어택2는 G-Star CBT 용으로만 가능했기 때문에 서든어택2의 게임 실행 코드를 넥슨 홈페이지에서 찾아서 이를 역으로 수행할 수 있도록 코드번호를 확인했다.

 

서든어택2의 게임 코드는 “74278” 이란 코드임을 확인했다.

이렇게 코드를 알아냈고, 게임 실행 자바스크립트도 알아냈는데, 현재 알아낸 스크립트 만으로는 게임 실행을 할 수 없다.

아래와 같은 방식으로 좀더 세부적으로 확인해야 게임 시작 스크립트가 어떤 방식으로 동작하는지를 확인할 수 있다.

실제로 자바스크립트를 수행하는 것을 알아보기

이미지_6.png

넥슨 홈페이지의 자바스크립트를 찾아본 결과, 위에 작성했던 스크립트인 GnxGameStartOnClick 이란 스크립트가 아래와 같은 코드를 통해 게임실행을 한다는것을 확인했다.

 

그렇다. 카스온라인 홈페이지에서는 게임 실행을 할 때, GnxGameStartOnClick(); 이란 스크립트를 이용하지만

 

이 스크립트는 PS.game.startGame({ gameCode: 73737 }); 라는 코드를 다시 불러와서 실제로 게임 실행을 시키는 것이다.

 

즉, gameCode 를 적은 것이 무엇이냐에 따라 다른게임이 실행될 수 있다는것을 확인했다.

 

위에서 확인한 서든어택2의 코드가 74248 이므로 이를 역으로 이용해 gameCode 란에 73737 대신 74248 로 넣고 수행을 하면 작동을 한다는 것이다.

 

이미지_7.png 이미지_9.png

실제로 적용을 해보면 위와 같은 식으로 게임 다운로드가 가능하다.

이 이미지 촬영당시에는 두 게임은 실제로 오픈된 게임이 아니기에 다운로드만 가능했다.

그런데, 게임코드까지 알아냈고, 자바스크립트도 아는데 어떻게 실행을 시키냐 인데… 아래와 같이 하면 알 수 있다.

실제로 자바스크립트를 수행하기

이미지 1.png

 구글 크롬 기준으로 F12키를 눌러 개발자 도구를 연다.

콘솔 도구창에서 우리는 위에서 알아낸 정보를 바탕으로 PS.game.startGame 이가 게임을 실행한다는 것을 알아냈으니 이 게임실행코드를 바탕으로 원하는 게임을 실행한다.

이미지 상에서는 카스온라인의 게임 코드인 73737을 실행했다.

이미지 2.png

스크립트를 수행하면 자동으로 게임이 반응하면서 실행을 할 것이다.

끝으로

이를 이용해서 넥슨 게임에서 다운로드가 일반적으로 불가능했던 게임을 쉽게 미리 다운로드 하여 내용물을 알아낼 수 있다.

 

하지만, 이렇다 해서 실제로 종료된 게임을 다시 복구하는것은 불가능하다. 다운로드 서버에 파일이 없는경우 저 스크립트가 아무런 소용이 없다.

 

파일 자체를 불러올 수 없기 때문에 서든어택2 같은경우 2017년 03월 07일을 기준으로는 코드를 아무리 입력해도 파일 다운로드가 되지 않는다.

 

이처럼 이것을 역으로 이용해서 게임 다운로드를 할 수 있도록 하면 무언가 도움이 되지 않을까 하고 작성해본다.

[PSN] PSN Card 구매시 800101 오류가 뜰 때

PSN 800101 Error

개요

 

최근에 Playstation 4 Pro 를 구매하고 결제를 한다. 하지만 SONY 의 결제 시스템은 참으로 이상하기 짝이 없었다.

 

PSN Card 를 정해진 가격에 맞춰서 (3000원, 5000원, 10000원, 30000원, 50000원, 100000원) 결제 후 지갑에 충전 후 PS Store 나 기기에서 구매를 시도해야 된다.

 

물론 오프라인 상점에 가서 직접 CD를 구매하는것도 방법이지만, 나는 그렇게 하지 않고 다운로드 판을 더 즐기는 타입이라 굳이 가지는 않는다.

 

뭘 이렇게 어렵게 까지 해야 되는지는 Sony 정책이니까 그렇다 쳐도 생각보다 결제를 할 때 자주 보이는 이 800101 이란 오류에 대해 알아보자 한다.

 

어떤오류인가?

800101.png

800101 오류는 PSN Card 를 등록하려 할 때 발생하는 오류다.

내가 결제하는 방식은 24000원 이라는 결제가 있다고 치면 가장 최소한의 가격으로 결제를 시도 한다.

즉, 10000원을 2개 구매후 5000원을 1개 구매하여 최소한의 가격으로 결제를 시도하는 편이다.

이럴 때, 단번에 3번 이상 PSN Card 를 등록하려고 하면 저 오류가 항상 발생했다.

추측하기로는 빠른 시간에 결제 시도가 발견되서 일시적으로 차단한것으로 보인다.

아니, 조금이라도 싸게 구매하려고 하는데 그것도 안되는건가?

Sony 는 그런거 없이 무조건 잠시동안 동결을 시키는 것으로 보인다.

해결법?

없다. 그냥 기다려야 된다.

 

결론적으로 말하자면 800101 은 PSN Card 를 너무 빠른 시간내에 3회 연속으로 등록하려 할 때 발생하며 약 5분뒤에 다시 시도하면 정상적으로 등록이 가능하다.

Page 4 of 14
1 2 3 4 5 6 14