우분투 리눅스 노트북 덮개. 안녕하세요. 오늘은 리눅스 노트북에서 덮개를 덮어도 전원이 꺼지거나 절전모드가 되지 않도록 설정해보겠습니다. 방법. 방법. 방법은 간단합니다. 터미널에 아래 명령어를 입력합니다. sudo vi /etc/systemd/logind.conf vi에디터가 마음에 들지 않는다면 다른 에디터를 이용해서 들어가도 됩니다. 비밀번호 입력하고 들어가면 아래같은 문자들이 보일겁니다. 이중에서 #HandleLidSwitch=suspend 를 찾아주세요. # This file is part of systemd. # # systemd is free software; you can redistribute it and/or modify it # under the terms of the GNU Less..
우분투 초기 root 계정 설정. 안녕하세요. 오늘은 우분투에서 초기 root설정을 하고 root권한으로 로그인해보려고 합니다. 초기 root비밀번호 설정. root로 로그인. 초기 root 비밀번호 설정. 별거 없더라고요. 먼저 리눅스 터미널로 들어갑니다. 이제 반절은 하신겁니다. 이제 아래의 명령어를 터미널에 입력해줍니다. sudo passwd root 현재 계정의 암호를 입력하고 root계정의 비밀번호를 입력하고 다시 입력해줍니다. root로 로그인. 이제 root초기 설정은 끝났으니 로그인을 해보겠습니다. 터미널에 아래 명령어를 입력합니다. su 위의 명령어를 쓰면 위에서 설정한 비밀번호를 입력하라고 합니다. 비밀번호를 입력해주면 끝입니다. 루트로 접근하니 $대신 #로 출력되는 것을 확인할 수 있..
간단한 웹서버 만들기(simple webserver)[C, Linux, fork] 안녕하세요. 오늘은 유닉스라는 과목을 들으면서 진행했던 프로젝트입니다. 간단한 웹서버를 만들기 multiple client의 요청을 동시에 처리가능하게 만들어야 함. 웹서버를 시작할때 인자로 서비스할 폴더의 위치와 포트를 받는다. total.cgi(nn~mm까지의 총 합을 구해서 화면에 출력) 전송 기록을 log파일로 저장한다.(로그: 클라이언트 아이피, 전송한 파일명, 전송한 크기) 코드 코드는 아래와 같습니다. 코드 파일은 깃허브에서 다운받으실 수 있습니다.(깃허브에 쓰레드로 만들다 만 웹서버도 있습니다.) https://github.com/ykarr/webserver/blob/master/webserver_fork_0..
서버, 클라이언트 연습 프로그램[구구단, C, Linux] 안녕하세요. 오늘은 유닉스라는 과목을 들으면서 제가 만든 코드를 올려보려고 합니다. TCP서버 프로그램 server는 client가 접속하면 random한 구구단 문제를 client로 전송 client는 답을 입력하고 서버로 전송 server는 답이 맞았는지 틀렸는지 client로 전송 client는 server로 부터의 결과를 출력 코드 코드는 아래와 같습니다. 코드 파일은 깃허브에서 다운받으실 수 있습니다. (귀찮아서 나중에 링크 올릴게요.) 1. tcp서버(server) 코드 2. tcp구구단 클라이언트(client) 코드 실행 학교에서 제공한 서버와 제가 가지고 있는 라즈베리파이(라즈비안)를 이용해서 코드를 실행했습니다.(리눅스 환경) 1..
Thread 연습 프로그램[C, Linux] 안녕하세요. 오늘은 유닉스라는 과목을 들으면서 제가 만든 코드를 올려보려고 합니다. Parameter로 thread의 수를 입력받고, 입력받은 수 만큼 thread를 생성. 각 쓰레드는 생성된 순서의 번호와 자기 thread id를 출력. 생성된 순서의 번호는 thread function의 Parameter로 넘길 것. 코드 코드는 아래와 같습니다. 코드 파일은 깃허브에서 다운받으실 수 있습니다. (귀찮아서 나중에 링크 올릴게요.) 실행 실행은 리눅스 환경에서 했습니다.(라즈베리파이3b+ 라즈비안) 주요 코드 설명 흠흠.. 만들 때 조금 실수를 해서 7개를 만들었는데 0,1,2,3,4,5,6 이렇게 나오네요.(뭐 틀린 것은 아니니까..ㅋㅋㅋ) 일단 값을 넘기는..
thread를 사용한 구구단 프로그램[C, Linux] 안녕하세요. 오늘은 유닉스라는 과목을 들으면서 제가 만든 코드를 올려보려고 합니다. 구구단을 출력하는 thread program thread function이 한번 불리면 한 단을 출력 한번에 한단씩 섞이지 않고 출력(pthread_join사용) 코드 코드는 아래와 같습니다. 코드 파일은 깃허브에서 다운받으실 수 있습니다. (귀찮아서 나중에 링크 올릴게요.) 실행 실행을 하기 위해서 리눅스 환경(라즈베리파이 라즈비안)에서 실행했습니다. 컴파일은 gcc로 아래처럼 했습니다. (-lpthread 주의!!) 이렇게 컴파일한 파일을 실행해보면 아래 사진처럼 정상적으로 실행이 됩니다. (물론 9단까지 다 잘 됩니다.) 먼저 쓰레드 프로그래밍이 좋은점. 1. ..
fork를 사용한 구구단 프로그램[C, Linux] 안녕하세요. 오늘은 유닉스라는 과목을 들으면서 제가 만든 코드를 올려보려고 합니다. 1. 특정한 구구단 하나를 출력하는 구구단 프로그램 2. child process로 구구단을 출력하는 프로그램 2-1. (exec 함수 사용, 자식 프로세스가 출력을 완료할 때 까지 parent process는 대기) 코드 코드는 아래와 같습니다. 코드 파일은 깃허브에서 다운받으실 수 있습니다. (귀찮아서 나중에 링크 올릴게요.) 1. argv[]로 넘겨주면 해당 단을 출력하는 프로그램 2. 자식 프로세스로 위의 프로그램을 실행시키고 매개변수로 2~9까지 넘겨주는 프로그램 실행 해당 파일들은 리눅스환경(라즈베리파이 라즈비안)에서 실행한 결과입니다. 1. argv[]로 2..
여러 개의 프로세스를 사용해서 소수를 출력[C, Linux] 안녕하세요. 오늘은 유닉스라는 과목을 들으면서 제가 만든 코드를 올려보려고 합니다. 100,000까지의 모든 prime number(소수)를 출력하는 프로그램 위의 프로그램과 동일하지만 여러개의 프로세스를 이용하는 프로그램(병렬처리) time 명령을 이용해서 몇 초가 걸리는지 확인 코드 코드는 아래와 같습니다. 코드 파일은 깃허브에서 다운받으실 수 있습니다. (귀찮아서 나중에 링크 올릴게요.) 1. 하나의 프로세스로 소수를 출력하는 프로그램 2. 4개의 프로세스를 사용해서 소수를 출력하는 프로그램 실행 아래의 사진은 라즈베리파이 3b+ (라즈비안)에서 실행했을 때의 사진입니다. 1. 하나의 프로세스로 소수를 구하는 프로그램을 실행했을 때 2. ..
정보를 출력하고, 권한을 변경하는 프로그램[C, Linux] 안녕하세요. 오늘은 유닉스라는 과목을 들으면서 제가 만든 코드를 올려보려고 합니다. 특정 파일/디렉토리 명을 주면 모든 정보를 출력 권한을 700으로 변경하는 프로그램 코드 코드는 아래와 같습니다. 코드 파일은 깃허브에서 다운받으실 수 있습니다. (귀찮아서 나중에 링크 올릴게요.) 실행 이번에는 이 코드를 컴파일해서 실행해보겠습니다. 아래 사진을 보면 아시겠지만 dirtest라는 폴더를 argument로 주었습니다. 권한을 700으로 설정해주는 코드를 사용해서 argument로 넘겨준 dirtest라는 폴더의 권한이 drwx------이 된 것을 확인할 수 있었습니다. (자세한 건 아랫부분에) 주요 코드 설명 drwxrwx---이런 식으로 되어..
텍스트를 읽어서 4의 배수 파일로 저장[c, Linux] 안녕하세요. 오늘은 유닉스라는 과목을 들으면서 만든 제가 만든 코드를 올려보려고 합니다. 숫자만 쓰여있는 텍스트 파일을 읽고 그중에서 4의 배수만 골라서 four.txt 파일로 만드는 프로그램입니다. four.txt에서 내용을 읽는다. 4의 배수를 저장하는 파일의 이름은 argument로 받는다. 4의 배수를 저장하고 4의 배수의 총 개수를 출력한다. 이정도가 문제의 조건입니다. 텍스트 파일 아래 텍스트 파일을 사용했습니다. 코드 저는 이렇게 만들었습니다. 실행 이번에는 이 파일을 실행해보도록 하겠습니다. (위의 코드에서는 총개수가 fprintf문으로 나오지만 확인을 위해서 그냥 printf문으로 고쳐서 출력했습니다.) ./four
라즈베리파이에 라즈비안 설치하기. 안녕하세요. 얼마전에 구매한 라즈베리파이3 B+가 와서 불량인지 확인해 보기 위해서 전원을 켜보려고 했습니다. 그런데 아무리 찾아봐도 전원버튼이 보이지 않았습니다. 알고보니 전원연결하면 저절로 켜진다네요.. ㄷㄷ 근데 os를 설치하지 않으면 안켜진답니다. ㅋㅋ 그래서 오늘은 라즈베리 파이의 불량을 확인해보기 위해서 라즈비안을 설치해보려고 합니다. 준비물 1. 라즈비안을 설치할 SD카드. 2. SD카드를 컴퓨터에서 usb처럼 사용할 수 있게 해주는 sd카드리더기 3. 컴퓨터. -설치파일 다운. -SD카드에 라즈비안을 설치해줄 프로그램 라즈베리안 img파일 img파일의다운을 위해서 아래 라즈베리파이 공식 홈페이지로 들어갑시다. https://www.raspberrypi.or..
VMware 리눅스 서버(Linux server) 설치[우분투Ubuntu] 안녕하세요. 오늘은 VMware설정과 리눅스 서버를 설치해보겠습니다. 처음 설치하고 잘 알지도 못합니다. (설치 기록이라고 생각하면 될 것 같네요.. ㅋㅋ) 간단히 설명(길게 하고 싶어도 아는것이 별로 없어서 길게 못함.) 1. VMware: 가상머신. -가상머신은 컴퓨터에 설치된 운영체제 안에 가상의 컴퓨터를 만들고 그 안에 또 다른 운영체제를 설치하고 운영할 수 있도록 제작된 프로그램입니다. -저는 윈도우10을 밀어버리고 리눅스를 사용하고 싶지 않기 때문에 가상머신으로 리눅스를 설치하려고 합니다. 이 글에서 사용할 설치할 가상머신 프로그램은 VMware Workstation 15입니다. 2. 리눅스 서버 [유용한정보] - 운영..