Author: byun1114

  • SSH를 이용해서 원격 컴퓨터에 스크립트 실행하기

    찾아보면 쉽게 찾을 수 있는 내용. 어제 화재(?) 사건을 계기로 원격지 컴퓨터를 SSH를 이용해서 끄는 방법을 찾아보았다. 리눅스의 종료 명령어는 윈도우와 마찬가지로 shutdown 이니까, 원격으로 명령어를 입력할 수 있으면 된다.

    ssh -p 포트번호 계정@서버주소 'sudo shutdown'

    하나의 명령어는 입력이 쉽다. 긴급 상황등의 이유로 컴퓨터가 반드시 종료되어야 하기 때문에 다음의 몇 가지 문제를 해결해야 한다.

    • Debian의 경우 기본 설정 상태라면 root 계정으로 로그인 했을 때에만 종료가 가능하다. 개인 계정으로 shutdown을 실행하기 위해서는 /etc/sudoers 에서 본인 계정에 sudo 권한을 부여해야 한다.
    • 그런데 SSH 서버 설정에서 root 접속은 기본적으로 불가능이다.
    • sudo 명령어에서 비밀번호를 요구하지 않도록 해야 한다. 개인 컴퓨터야 그냥 하루쯤 더 켜두는 문제거나, 다음 스크립트로 진행이 안되던가 하는 문제 밖에 없다. 본래의 목적인 긴급 상황에 강제 종료를 하기 위해서는 외부의 개입을 최소화 해야 한다.

    /etc/sudoers를 편집하여 설정을 바꾸어 주면 된다. 접속하는 컴퓨터의 공개키를 서버에 등록시키면 비밀번호를 묻는 과정도 생략 가능하다.

  • Session 종료하기

    database의 이름을 바꾸는 작업을 하기 위해서는 연결되어 있는 세션을 모두 종료시켜야 한다. 컴퓨터를 재부팅하는 방법도 있지만, 그건 좋은 방법이 아니니 정식으로 하는 방법을 알아야 한다. 세션 종료는 PID 번호를 알아야 한다. database와 연관된 것을 알아야 하기 때문에 다음과 같이 검색한다.

    SELECT pid, datname FROM pg_stat_activity;
    
      pid  |  datname
    -------+-----------
       948 |
       946 |
      8890 | postgres
      8891 | cdm_build
     12702 | postgres
       944 |
       943 |
       945 |
    

    이렇게 실행시키면 PID와 database 이름을 알 수 있다.

    SELECT pg_terminate_backend(8891);

    이렇게 하면 세션을 종료 시킬 수 있다.

  • 국부론(하), 애덤 스미스, 김수행 역, 비봉출판사

    지난번에 이어서 마져 읽어 보았다. 곳곳에 예리한 지적을 볼 수 있다. 좀 더 여유있게 봐서 그런지 모르겠다. 이 책은 큰 따옴표 시작하는 부분은 많지만, 큰따옴표 반대쪽이 없다.

    재미있는 표현이 있다. 특히 인용 부분에서 말이다.

    [교역의 기원에 대한 역사적, 연대기적 추론]의 저자이며 더 신중하고 현명한 저술가인 앤더슨이 매우 정당하게 관찰한 바에 의하면, 홉스 자신이 제공한 몇 년 동안의~~

    수 년에 걸친 노동에 의해, 또는 수 세대에 걸친 노동에 의해 획득한 귀중한 재산의 소유자가 하룻밤만이라도 안전하게 잘 수 있는 것은 공권력의 보호 아래에서만 가능하다.

    사회를 방어하기 위한 지출과 국가 원수의 존엄을 유지하기 위한 지출은 사회 전체의 일반적 이익을 위하여 지출되는 것이다.

    조세는 납세자가 지불하기에 가장 편리한 시간에 가장 편리한 방법으로 징수되어야 한다.

    다음의 네 가지 경우에는 조세가 국가에 들어가는 금액보다 훨씬 더 큰 금액을 국민들의 주머니로부터 끌어내거나 국민들의 주머지 속으로 들어가지 못하게 한다. 첫째는, 조세 징수에 많은 수의 관리들이 필요해서 그들의 봉급이 조세 수입의 대부분을 갉아먹고 또한 그들의 부수입이 추가적인 과세 부담으로 되는 경우이다. 둘째는, 조세가 국민들의 근면을 방해하고, 그들로 하여금 어떤 산업 부분에 종사하는 것을 단념하도록 만드는 경우이다. 셋째는, 탈세를 시도하다가 실패하는 불행한 사람들에게 몰수 기타의 형벌을 부과함으로써 조세가 그들을 몰락시키고 그리하여 사회의 그들의 자본 운용으로부터 얻을 수 있었을 이익을 상실하게 되는 경우이다. 넷째는, 국민들에게 조세 징수인의 빈번한 방문, 짜증나는 조사를 받게 함으로써 조세가 국민들에게 수 많은 고통, 번거로움, 억압을 주는 경우이다.

    현대의 가장 저명한 철학자이자 역사가의 한 사람인 데이비드 흄은 영국의 역사에서 다음과 같이 말했다. “한 나라의 대부분의 기술과 직업은 다음과 같은 성질을 가지고 있다. 즉, 그것이 사회의 이익을 증진시킬 때에는 그것은 특정 개인들에 대해서도 유용하거나 사람들의 기분을 고양시킨다. 그리도 이런 경우 정부가 항상 지켜야 할 규칙은, 어떤 기술을 처음 도입하는 경우를 제외하고는, 일체의 일을 그 직업에 맡겨두고, 그것을 장려하거나 진흥시키는 일은 그로부터 이득을 얻게 될 개인들에게 맡겨두라는 것이다.

    대영 제국의 모든 지방들로 하여금 제국 전체를 유지하는데 기여하도록 할 수 없다면, 지금이야말로 대영 제국은, 전시에는 이 지방들을 방위하고 평화시에는 그들의 민간용, 군사용 제도들을 유지하기 위해 져 왔던 비용 부담에서 스스로를 해방시키고, 그리고 자신의 미래 비젼과 계획을 자신의 평범한 실제 사정에 맞추도록 노력해야 할 때이다.

  • 정확한 건 설명할 수 없는데, DB에서 생성과 삭제 작업을 반복하는 중 강제 종료하고 다시 처음부터 생성하는 작업을 연속적으로 하면 이전 결과가 남아 있는 것 같다. 타이의 대모험의 라하르트와 같은 속도로 처리되는 NVMe에서 운영을 해서 그런건지 아니면 이런 문제가 발생할 수 있는 가능성이 원래부터 있는 것인지 모르겠다. 일단 DB 구축 스크립트에서 처음 스키마 삭제 후 60초 기다렸다가 진행하는 것으로 수정해 보았다.