우분투 로그인이 안된다.

.xsession-error 파일을 확인해 본다.(계정 폴더에 있다.)

/etc/X11/Xsession.d/99x11-common_start: line 5: /sbin/upstart: No such file or directory

다음과 같은 에러가 보인다.

우분투는 부팅 스크립트 방식을 바꿔왔다. 

system-v 방식 : /etc/init.d , rcX.d 형태의 관리

upstart 방식 : /etc/init/ 안에 부팅 관련 스크립트 관리  ( service OOO restart 형태 관리 )

systemd 방식 : 가장 최근 방식 ( systemctl restart OOO )

 

설치된 운영체제는 18.04 버전인데, systemd 을 쓰기에 upstart 는 쓰지 않는다.
(16.04 => 18.04 로 업그레이드해서 남아있었던듯 하다)

해결 방법은 upstart 를 제거해준다.

apt purge upstart

다시 GUI 로그인 해보면 될 것이다.

반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,

오래된 우분투 버전을 사용하고 있다. (12.04)

서버 자체가 오래되었고, 돌아가고 있는 어플도 레거시라 업그레이드 하기가 애매하다.

그런데 서버를 옮기고 나서 다음과 같은 메시지가 나온다.

[ 2676.415781] mei 0000:00:16.0: unexpected reset.
[ 2706.390158] mei 0000:00:16.0: unexpected reset.
[ 2736.364548] mei 0000:00:16.0: unexpected reset.
[ 2766.338924] mei 0000:00:16.0: unexpected reset.
[ 2796.313317] mei 0000:00:16.0: unexpected reset.
[ 2826.287704] mei 0000:00:16.0: unexpected reset.
[ 2856.262086] mei 0000:00:16.0: unexpected reset.
[ 2886.236475] mei 0000:00:16.0: unexpected reset.

원래부터 나오던 메시지였는지도 불확실 하다.

다음과 같은 장치인데,

# lspci -v |grep -i mei
00:16.0 Communication controller: Intel Corporation 7 Series/C210 Series Chipset Family MEI Controller #1 (rev 04)
	Kernel modules: mei

MEI 는 Management Engine Interface  라고 한다.

관리 엔진? 인터페이스 장치인듯 싶다. 뭐 하여간 잘 모르겠다.
(참고 : https://www.intel.co.kr/content/www/kr/ko/support/articles/000008927/software/chipset-software.html )

 

 

저 메시지가 계속 생겨서 없애고자 한다.

일단 modprobe 로 제거

# modprobe -r mei

# dmesg
mei 0000:00:16.0: PCI INT A disabled

위와 같이 나오고 중지된다.

부팅시 나오지 않게 한다. ( /etc/modprobe.d/blacklist.conf 에 다음 추가 )

blacklist mei

좀더 상태를 살펴보고 이상이 없는지 체크해보고 치명적인 이상이 있으면 추가(없으면 패스)

반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,

vuejs 를 사용시 vue-router 를 사용하여, 경로를 지정할 수 있다.
그러면 about / price / 등 필요한 페이지를 분리할 수 있어 작업하기 편하다.
그런데, SPA 웹페이지이기 때문에 index.html 내에서 처리가 된다.

즉, 해당 경로로 직접 들어가면 404 페이지가 표시된다.
그렇다면 404 페이지를 모두 index.html 으로 보내면 된다. ( 참조 : https://router.vuejs.org/kr/guide/essentials/history-mode.html )

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /
  RewriteRule ^index\.html$ - [L]
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule . /index.html [L]
</IfModule>

아파치 apache 설정시 다음과 같은 에러가 발생할 수 있다.

RewriteBase: only valid in per-directory config files
Action 'configtest' failed.
The Apache error log may have more information.

그런경우는 해당 설정이 <Directory > </Directory> 설정내에 넣어준다.

<Directory {{vue앱-디렉토리패스}}>

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /
  RewriteRule ^index\.html$ - [L]
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule . /index.html [L]
</IfModule>

</Directory>

이런식으로 넣어준다. vue 앱과 서버측 (node / go / php 등) 어플과 조합을 해서 사용가능하다.

php 같은 경우 laravel 등의 프레임웍(modern php)을 써도 되고, 그냥 날코딩(legacy php)으로 만들어서 조합해도 상관없다.

{{vue-app-path}}/api/[php app file].php

형태로 php 어플을 실행해도 된다.

반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,

모니터 연결이 안된 서버에 vnc 접속시 해상도가 1024x768 등 낮게 설정이 된다.

가상의 모니터로 접속할 수 있게 설정해준다.

더미 모니터 패키지를 설치한다.

apt install xserver-xorg-video-dummy

xorg 설정을 해준다. ( /usr/share/X11/xorg.conf.d/xorg.conf )

Section "Device"
    Identifier "DummyDevice"
    Driver "dummy"
    VideoRam 256000
EndSection

Section "Screen"
    Identifier "DummyScreen"
    Device "DummyDevice"
    Monitor "DummyMonitor"
    DefaultDepth 24
    SubSection "Display"
        Depth 24
        Modes "1920x1080_60.0"
    EndSubSection
EndSection

Section "Monitor"
    Identifier "DummyMonitor"
    HorizSync 30-70
    VertRefresh 50-75
    ModeLine "1920x1080" 148.50 1920 2448 2492 2640 1080 1084 1089 1125 +Hsync +Vsync
EndSection

재부팅하면 원하는 해상도로 접속이 된다.

반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,

몽고db 데이터를 이전하기 위해 mongodump / mongorestore 로 백업 / 복구 하였다.

그런데, 원래 그런지, 어떤 설정이 있는 것인지 인덱스 가 생성되지 않았다.
> ( 기본은 인덱스가 재 생성 되는 듯 한데, --noIndexRestore 을 주면 인덱스 미생성 )

dump / restore 중에 뭔가 이상이 있는 것인가?  또는 --gzip / --archive 옵션으로 하면 생성이 안되는 것일까?

정확한 이유는 체크해봐야 할 듯 하다.

암튼 그래서 createIndex 로 생성하려하는데, 다음과 같은 에러가 발생하였다.

2020-04-18T06:14:45.987+0000 I  NETWORK  [js] DBClientConnection failed to receive message from 127.0.0.1:27017 - HostUnreachable: Connection closed by peer
command terminated with exit code 137

몽고db - POD 에 접속을 못하는 듯 하다. 좀더 체크해보니 인덱스 생성도중에 mongod POD 가 중지 Down 되어 버린다.

해당 이슈에 대한 검색으로는 특별한 원인을 찾지 못했다. 몽고db 리플리카 셋은 kubernetes(microk8s) 로 세팅하였다.

예상되는 부분은  restore 과정중에 뭔가 데이터가 깨진것이 아닌가 예상이 된다.
그래서 pvc 를 삭제하면, 리플리카 셋이 자동으로 재생성(초기화) 되면서 pod 가 재실행되도록 하였다.

위 조치로 해결이 되었다. (일단 예상은 맞는 듯 하다)

그런데, 근본적인 작업이었던  백업 / 복구 방식이 문제였을까? ( mongodump => mongorestore )

그냥 데이터 디렉토리를 그대로 복사하는 방법으로 해야할까? 좀더 테스트를 해봐야 겠다.

[추가]

좀더 체크해보니, mongorestore 메시지에 이상이 있었다. (몽고db - pod 가 이상이 있어서 인덱스 생성 실패 케이스)

[정상]

2020-04-20T00:16:08.550+0900	restoring indexes for collection test.product from metadata
2020-04-20T00:19:35.655+0900	finished restoring test.product (5522171 documents, 0 failures)
2020-04-20T00:19:35.655+0900	restoring users from archive '/restore/restore/restore-archive.gz'
2020-04-20T00:19:35.881+0900	5522171 document(s) restored successfully. 0 document(s) failed to restore.

[이상있는 경우]
2020-04-18T07:11:49.926+0900	restoring indexes for collection test.product from metadata
2020-04-18T07:12:44.169+0900	finished restoring test.product (5522171 documents, 0 failures)
2020-04-18T07:12:44.170+0900	Failed: test.product: error creating indexes for test.product: createIndex error: connection(mongod-2.mongodb-service:27017[-11]) incomplete read of message header: EOF
2020-04-18T07:12:44.170+0900	5522171 document(s) restored successfully. 0 document(s) failed to restore.

 

반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,