본문 바로가기

IT 지식/운영체제5

내부망에서 apt 사용 프로그램 개발 후 고객사 내부망에 프로그램을 설치하기 위해서는 JAVA 등의 몇몇 인프라가 필요하다. 하지만 말 그대로 내부망은 인터넷이 되지 않는 환경이고, 이에 필요한 인프라를 오프라인으로 설치할 수 있는 준비를 해야했다. CentOS의 경우 local repository를 만드는 방법을 통해 yum을 오프라인 환경에서 사용할 수 있다. 방법은 아래 링크에 적어놓았다. https://123okk2.tistory.com/404 내부망에서 yum 사용 개발이 완료된 후에는 클라이언트의 서버에 개발 완료된 프로그램을 배포해주어야 한다. 하지만 당연하게도 프로그램은 단일로 동작하지 않고, Java, DB등 여러 인프라가 필요하다. 만약 서버가 123okk2.tistory.com 하지만 Ubuntu의 경우에는.. 2023. 6. 4.
자동 재실행 스크립트 만들기 개발 완료된 프로그램을 설치 및 배포하는 과정에서 문득 굼긍증이 들었다. "이거... 에러나서 꺼지면 어떻게 하지?" 굳이 변명을 해보자면 지금까지 설치 및 배포를 진행해본 경험은 몇 차례 있었다. 하지만 지금까지는 부사수로써 사수를 보조하는 역할이 대부분이었다. 즉, 주도적으로 설치 및 배포를 해본 적이 없어 그냥 단순히 프로그램을 설치하고 배포하는 것만 생각했지 그 외의 부분까지 고려하는 시각을 가지지 못했었다. 늘 그 외의 부분은 사수이신 과장님께서 해주셨으니까... 그리고 내가 담당하고 개발한 프로그램들은 대부분 도커화 해서 개발했기 때문에, 에러가 나서 꺼질 경우 재실행 되는 것은 당연한 일이었다. 그냥 도커 컨테이너에 restart=always만 걸어놓으면 됐으니까. 결국 부랴부랴 자동으로 재.. 2023. 5. 28.
내부망에서 yum 사용 개발이 완료된 후에는 클라이언트의 서버에 개발 완료된 프로그램을 배포해주어야 한다. 하지만 당연하게도 프로그램은 단일로 동작하지 않고, Java, DB등 여러 인프라가 필요하다. 만약 서버가 외부망에 연결된 환경이라면 yum이나 wget 등 명령어를 통해 인프라를 쉽게 설치가 가능하겠지만, 대부분은 그렇지 않고 결국 오프라인 환경 (내부망 환경)에서 설치를 수행해야 할 일이 많았다. wget의 경우는 그냥 단순하게 파일을 옮기기만 하면 된다. 하지만 yum은? 꽤나 번거로운 작업을 요구했다. 그동안은 사수분께서 인프라 설치를 도맡아 해주셨지만 팀이 내부적으로 분리된 지금은 내가 그 역할을 수행해야 했고, 이에 대비하기 위해 공부한 내용을 까먹지 않기 위해 저장하고자 한다. 1. Offline에서 yum .. 2022. 12. 10.
[운영체제] Linux와 Unix 유닉스 유닉스(영어: Unix)는 교육 및 연구 기관에서 즐겨 사용되는 범용 다중 사용자 방식의 대화식, 시분할처리 시스템용 운영 체제이다.[1] 1970년대 초반 벨 연구소 직원인 켄 톰슨, 데니스 리치 등이 소형 컴퓨터용으로 처음 개발하였다. 오늘날의 유닉스 시스템은 여러 회사들과 비영리 단체들이 이 커널로 활용하여 다양한 운영체제를 개발하고 있다. 출처 : https://ko.wikipedia.org/wiki/%EC%9C%A0%EB%8B%89%EC%8A%A4 리눅스 리눅스(Linux)[4]는 1991년 9월 17일 리누스 토르발스가 처음 출시한 운영 체제 커널인[5][6][7] 리눅스 커널에 기반을 둔 오픈 소스 유닉스 계열 운영 체제 계열이다. 출처 : https://ko.wikipedia.org.. 2021. 5. 16.
[운영체제] 멀티 프로세스와 멀티 쓰레드 멀티 프로세스와 멀티 쓰레드 모두 두 개 이상의 일을 동시에 처리하는 병렬 동작을 지원한다. 프로세스는 메모리에 올라와 실행되고 있는 프로그램이다. 그리고 쓰레드는 한 프로세스 내에서 동작되는 여러 실행의 흐름이다. 즉, 쓰레드는 프로세스 내에 포함되어 있다. 흔히 프로세스와 쓰레드를 은행에 비유하곤 한다. 컴퓨터가 은행이라면, 전국에서 영업중인 은행의 지점들은 프로세스이고, 각 은행 내에서 고객들을 받는 창구들이 쓰레드인 것이다. 프로세스는 각자의 고유한 메모리를 갖는다. 즉, 독립적으로 동작한다. 그에 반해 쓰레드는 동일 프로세스 내의 쓰레드들이 메모리를 공유한다. 이로 인해 시간 자원의 손실이 줄지만, 하나의 쓰레드가 메모리를 망가뜨린다면 해당 메모리를 공유하는 다른 쓰레드들도 동시에 망가질 수 있.. 2021. 4. 2.