반응형

전체 글 394

[shell] shell script 중복실행 방지하기 예제

사용 시나리오 쉘스크립트에서 중복실행방지 방법 사용 시나리오 다음과 같은 사용케이스에서 중복실행의 이슈가 생겼다. 만약 직접 짠 쉘 스크립트를 cron 에 등록하여 동작시킨다. 해당 스크립트에서 파일카피등의 동작으로 인해 동작시간이 길어지는경우가 발생한다. 기존 실행한 스크립트가 끝나지 않은상황에서 새로운 스크립트 실행된다. 중복실행으로인해 파일이 엉망으로됨 주기적으로 파일을 백업하다보니 위와같은 상황이 발생하여 스크립트를 작성한다. 쉘스크립트에서 중복실행방지 방법 다음과 같이 동작하게 한다. 간단하게 임시파일을 만들고, 해당 파일이 없을때만 스크립트를 동작시킨다. 쉘 스크립트가 끝나면, 임시파일을 지운다. 재부팅시 자동으로 임시파일을 지우기위해서 temp 폴더에 해당 파일을 만들어서 관리한다. 위와같이..

SW 개발 2020.03.17

yocto 에서 root password 변경하기 / 사용자 추가하기

yocto 1 yocto 환경에서 root password 설정 1.1 recipe (bb) 파일 수정하기.. 1.2 local.conf 수정하기 2 yocto 환경에서 사용자 추가하기 yocto 1 yocto 환경에서 root password 설정 관련링크 https://wiki.yoctoproject.org/wiki/FAQ:How_do_I_set_or_change_the_root_password https://stackoverflow.com/questions/32274163/how-to-set-root-password-on-yocto-poky-image 기본적으로 대부분의 sdk 에서 제공되는 yocto 는 root password 가 없는상태에서 제공이 된다. 기본적으로 root password 를..

SW 개발 2020.03.12

[linux] 커널 패닉 로그획득하기

리눅스 커널패닉시 로그를 획득하는 방법에 대해서 여러가지 자료조사한 내용을 정리한다. kernel panic 시 로그획득? 로그획득방법1 : kexec & kdump 활용 로그획득방법2 : mtd oops 활용 로그획득방법3 : ramoops 활용 ramoops 설정 방법 dts 설정 kernel feature 설정 커널 패닉발생시 로그위치 kernel panic 시 로그획득? 개발중에 발생하는 kernel panic 에 대해서 로그를 획득해야, 디버깅이 유리할 것이다. 하지만, 디버깅 콘솔이 없는상태에서 패닉이 나서 리부팅해버리면? 로그획득이 안될것이다. 그래서 별도의 로그획득방법등이 필요하다. 로그획득방법1 : kexec & kdump 활용 관련자료들 https://ko.wikipedia.org/wi..

SW 개발 2020.03.09

[git] 수정된 파일 리스트 만 얻기

수정된 파일리스트만 얻기 git 에서 수정된 파일의 리스트만 얻기위해서는 여러가지 방법이 있다. 그중 가장 널리 알려진것이 git status 명령어를 이용하는것이다. git status 명령어를 친 후에 sed 로 파싱하기 하지만.. 위의 명령어를 이용할경우 sed 나 awk 등을 이용하게되는데.. 윈도우에서는 해당 명령어가 없기때문에 사용이 불가능했다. 그래서 다른 명령어가 있으니... git ls-files 를 사용하는것이다. git ls-files 해당 명령어를 쓰면, 단순히 파일의 리스트만 뜬다! 매뉴얼 : https://git-scm.com/docs/git-ls-files 그중 몇가지 옵션을 사용하면 수정된파일만 얻어올수있다. git ls-files -mo --exclude-standard -..

SW 개발 2020.02.05

리눅스 18.04.x 버젼에서 원격 제어 세팅하기

리눅스에서 원격 제어 설정하기 : 18.04 과 18.04.3 과 설정방법이 다르다. 이런저런 삽질한 결과를 정리한다. 현재 인터넷에 있는 거의 모든 ubuntu 18.04 기준 xrdp 설치, 세팅하는 방법들은 18.04 기준으로 되어있다. 즉, 18.04.3 버젼이상이라면 18.04 와 동일하게 세팅할 경우 동작이 불가능하다. 각종 패키지들은 설치가 되나 설치하고나면 다음과 같은 이슈가 발생하여 동작이안될것이다. 검은화면에서 안넘어감 접속이 제대로안됨 18.04.3 에서의 설치 방법은? 그냥 간단하게 다음의 포스팅을 참고하면 된다. http://c-nergy.be/blog/?p=13933 위의 사이트에서는 너무나 감사하게도, 다음의 ubuntu 버젼에서 원격제어를 사용할수있도록 원 큐 세팅용 스크립트..

SW 개발 2020.01.20

우분투에서 r8186/r8169 계열 네트워크 미동작 문제 해결하기

우분투세팅시의 골칫거리 일단 우분투를 어찌하다하여 설치해서 쓰다보면 리얼텍 이더넷 드라이버가 항상 문제인것 같다. 이전에 14.04 버젼을 쓰다가... 16.04 에서도 문제가 발생하였었고. 역시나 18.04 에서도 문제가 발생하였다. 리얼텍 네트워크 드라이버의 문제점 (증상) 만약 자신의 컴퓨터가 우분투 설치하여 사용시 네트워크와 관련하여 다음과 같은 문제가 발생한다면, 드라이버를 의심해봐야한다. 간헐적(랜덤하게) 네트워크 인터페이스가 안잡힌다. (잡혀도, 정상동작하지 않는다.) wol 이 동작하지 않는다. 사실, 원격에서 컴퓨터를 껐다켰다하는 시나리오가 아니라면 위의 두 케이스야 크게 문제는 없을것 같긴하다. 하지만 원격에서 서버를 세팅해놓고, wol 로 깨우면서 사용하는 케이스라면 리얼텍 이더넷은 ..

SW 개발 2020.01.20

[U-boot] fatload , extload 명령어 멈춤증상

uboot 테스트중에 이상이 생겨 삽질한 기록을 남긴다. uboot 명령어를 통한 메모리에 데이터 저장 문제발생 uboot 명령어를 통한 메모리에 데이터 저장 uboot 에서 특정 장치에 바이너리이미지등을 쓰기위해서 메모리에 임시적으로 데이터를 저장해야할 경우가 있다. 그럴때 쓰는명령어는 파일시스템에 따라서 fatload or ext4load 등을 쓴다. 관련 명령어들은 다음과 같다. ext2load- load binary file from a Ext2 filesystem ext2ls - list files in a directory (default /) ext4load- load binary file from a Ext4 filesystem ext4ls - list files in a directory..

SW 개발 2019.11.06

[U-boot] nfs kernel server 설정하기

uboot 을 통해서 nfs 부팅을 하게되는데... 그 기초 과정을 설명한다. nfs 부팅설정 : host pc nfs kernel server 를 설치 nfs 접근시 허용해야할 path 지정 nfs mount 데이터들 nfs 부팅설정 : host pc nfs kernel server 를 설치 다음의 패키지들을 설치한다. sudo apt-get update && sudo apt-get install nfs-kernel-server rpcbind nfs 접근시 허용해야할 path 지정 접근허용할 path 를 지정한다 (/etc/exports 수정) # /etc/exports: the access control list for filesystems which may be exported # to NFS cl..

SW 개발 2019.11.06

[diff] 두 폴더간 소스코드만 비교 (특정파일 제외하여 비교하기)

두개 폴더더 비교, 특정파일 제외하기 쓸때없는 파일까지 비교 --> 비교 제외하기 예시) yocto 프로젝트에서 코드만 비교하기 두개 폴더더 비교, 특정파일 제외하기 일반적으로 두개의 폴더간의 소스 코드를 비교할때... diff 명령어를 쓰게된다. 일반적으로 그냥 간단하게 다음과같은 옵션, 명령어로 비교하면 깔끔하다. diff -urN [타겟1] [타깃2] 쓸때없는 파일까지 비교 --> 비교 제외하기 두개의 repo 코드를 비교하다보니, 쓸때없는 README, txt 나 .git 폴더등이 비교가 되어서 불편했다. 폴더건, 파일이건 -x [타겟] 명령어로 diff 명령어 실행시 비교에서 제외할수있다. 예시) yocto 프로젝트에서 코드만 비교하기 욕토에서 빌드하다보면, patch 파일이나 .pc 폴더등이 ..

SW 개발 2019.11.05

[git] github - Large files detected 관련 에러처리

큰파일로 인한 github 업로드 이슈 히스토리 포함 큰파일 모두 지우기 1. 큰파일찾기 2. git rm 으로 파일지우기 3. BFG 이용하여 repo 정리하기 4. github 업로드하기 큰파일로 인한 github 업로드 이슈 github 업로드하다가 다음과같은 메시지가 뜬다면, github repo (history포함) 큰파일이 있다는것이다. remote: error: GH001: Large files detected. You may want to try Git Large File Storage - https://git-lfs.github.com. remote: error: Trace: 1c1b1a3269f248a40666cd7eeedb31e8 remote: error: See http://git...

SW 개발 2019.10.24
반응형