728x90
반응형

리눅스 9

[linux] 반응형 shell script 자동입력

이번에는 jenkins를 활용하여 빌드 자동화를 위한 스크립트를 만들기 위해 작성하던 중 아래와 같이 스크립트 동작 중 yes or no를 선택해야 하는 부분이 있다면 스크립트는 중간에 선택할 때까지 다음 과정을 기다린다. 하지만 빌드 자동화를 위해서는 다음과 같은 단계가 자동적으로 이루어져야한다. 그럼 이렇게 선택하는 부분이 나올 때 반응형으로 자동적으로 y를 선택하게 할 수 있는가가 중요하다. --------------------------------------- Terms and Conditions This is the Android Software Development Kit License Agreement 1. Introduction 1.1 The Android Software Developme..

개발 이야기 2023.09.07

[linux] #/bin/bash^M: bad interpreter: No such file or directory

개발을 하다 보면 알지 못하던 다양한 문제를 마주하게 된다. 어찌 보면 그 다양한 원인을 해결해 가는 것을 좋아하는 사람들이 개발자가 되는 것이 일반적이다. 이과생들의 특징이 답이 정해져 있는 문제를 풀어가는 과정을 즐기는 것이 아니겠는가? 윈도우 환경에서 코드를 작성하고 그것을 리눅스 환경에서 실행하려고 할 때 "^M: bad interpreter: No such file or directory"와 같은 문제가 발생한다. 윈도우에서 사용한 개행 문자가 리눅스에서는 인식되지 못해 발생하는 것이 원인이다. 그럼 이 문제는 어떻게 해결할 수 있을까? 다양한 방법이 있고, 리눅스 역시 ubuntu / fedora / CentOS 등 다양하기 때문에 모두 같은 방법으로 해결되지 않는다. 그럼 다양한 해결 방법에..

개발 이야기 2023.09.07

[linux] 파일 이름 변경 명령어 rename

linux / android platform 환경에서 개발하다 보면 특정 파일들은 버전정보를 파일명에 포함하여 생성되는 경우들이 존재합니다. 그 이유는 해당 so 파일들의 버전 정보를 알기 위해 그와 같이 버전 정보를 파일명 뒤에 붙여줍니다. 그러나 linux / android platform에서 버전정보를 제외한 파일을 load해야하기 때문에 버전정보를 제거한 심볼을 생성하거나 파일명 변경이 필요합니다. 그래서 다음과 같이 여러 파일을 rename을 사용하여 변경이 필요하며 다음과 같이 여러 파일에 대한 rename이 필요한 경우가 존재합니다. 뒤에 1.0.5235라는 버전 정보가 포함된 상태로 라이브러리 파일들이 생성되었습니다. 내가 필요한 파일은 a.so인데 빌드 결과물에 버전 정보를 포함하여 생성..

개발 이야기 2023.09.04

[linux] 실시간 성능 모니터링을 위한 명령어 top

top 명령어는 리눅스 시스템의 실시간 성능 모니터링을 위한 명령어입니다. CPU 사용량, 메모리 사용량, 디스크 사용량, 네트워크 사용량, 프로세스 상태 등을 확인할 수 있습니다. top 명령어의 기본 형식은 다음과 같습니다. top top 명령어를 실행하면 다음과 같은 화면이 나타납니다. top - 14:31:37 up 12:32, 1 user, load average: 0.00, 0.00, 0.00 Tasks: 25 total, 1 running, 24 sleeping, 0 stopped, 0 zombie Cpu(s): 0.0% us, 0.0% sy, 0.0% ni, 99.9% id, 0.1% wa, 0.0% hi, 0.0% si Mem: 2746364k total, 239092k used, 395..

개발 이야기 2023.09.04

[linux] 프로세스 우선순위 지정 명령어 nice

오늘은 임베디드 환경에서 이슈를 검토하기 위해서 필요한 명령어 중 하나인 nice 명령어에 대해 알아보고자 합니다. 이슈를 검토하기 위해 간략하게 이슈 발생했을 경우 특정 내용을 grep으로 확인 후 확인된 내용을 바탕으로 log들을 생성하도록 하는 스크립트를 추가하여 실제로 이슈가 발생했을 때 로그를 덤프 할 수 있도록 추가되었습니다. 그러나 이러한 이슈 재현 단계에서 스크립트의 수행이 이슈 발생 프로세스보다 우선 순위가 낮다면 어떻게 될까요? 당연히 이슈 발생 후 시스템은 다운 혹은 경쟁 상태 (race condition)에 빠지면서 스크립트는 수행되지 않을 확률이 높습니다. 그래서 스크립트의 우선 순위를 높여 이슈가 발생되었을 때 수행될 수 있도록 하는 것이 중요합니다. nice 명령어는 프로세스의..

개발 이야기 2023.09.04

[wsl/Ubuntu] Unable to locate package aapt

우분투를 설치하고 android-cts를 진행하기 위해 aapt 패키지를 설치하려고 시도하였지만 다음과 같은 메세지를 출력하며 설치가 진행되지 않는다. E: Unable to locate package aapt 이러한 경우 apt update를 진행해주거나 패키지를 가져와서 설치할 서버를 변경해주면 해결된다. 1. run an apt update # update sources.list sudo apt update # install aapt sudo apt-get install aapt 2. edit /etc/apt/sources.list 패키지 install시에 sources.list라는 패키지 리소스를 참고하는데 문제가 생긴 오류로 sources.list를 수정해주면 된다. # vi /etc/apt/s..

개발 이야기 2023.07.19

WSL - su: Authentication failure

안녕하세요. 앤디라이언입니다. 이번 포스팅에서는 간단하게 linux root 권한을 가지기 위해서 su 명령어를 실행하고 passwd를 입력했는데 인증 실패 이슈에 대한 해결책을 알아보겠습니다. WSL을 설치하고 분명 username과 passwd를 입력했습니다. 그럼 대부분 당연하게 처음 입력한 passwd를 입력할 것입니다. 그러나 su 명령은 root 권한을 얻는 것이라 root passwd가 따로 필요한데 WSL 설치할 때 root에 대한 passwd를 입력하지 않았습니다. sudo passwd root root에 대한 passwd를 설정하여 이 문제를 해결할 수 있습니다. root에 대한 passwd를 생성하고 su를 수행합니다. username이 andy -> root로 넘어간 것을 확인할 수..

개발 이야기 2023.01.30

[linux] WSL (Windows Subsystem Linux)

안녕하세요. 앤디라이언입니다. 육아와 업무에 지쳐 그동안 블로그 포스팅에 소홀했습니다. 앞으로는 열심히 업무와 유익한 정보로 글을 다시 업데이트할 예정이니 많은 관심 부탁드립니다. 금일은 WSL을 이용하여 CTS 환경을 구성하려고 합니다. CTS 환경은 Windows에서 진행할 수 없기 때문에 Linux환경이 필요합니다. Windows 환경에서 구성할 방법은 vmware나 virtualbox와 같은 가상 머신에 ubuntu 환경을 구성하고 CTS를 진행할 수 있으나 Windows10부터는 WSL로 가상 머신이 필요 없이 CTS 환경을 구성할 수 있습니다. 그래서 이번 포스팅에서는 WSL 설치 및 환경 구성에 대해 작성해 보도록 하겠습니다. https://learn.microsoft.com/ko-kr/wi..

개발 이야기 2023.01.30

IPC 종류와 특징

안녕하세요. 앤디라이언입니다. 오늘은 Linux시스템에서 사용하는 IPC에 대해 알아보겠습니다. IPC ( Inter Process Communication )는 내부 프로세스간 통신을 의미합니다. 프로세스는 독립적인 수행을 하기때문에 프로세스간의 통신을 할 수 없는 단점이 있습니다. 즉, 독립되어 있기 때문에 별도의 설비가 없이는 서로간의 통신이 불가능 하다는 의미입니다. 이러한 IPC는 System V IPC와 POSIX IPC로 나뉩니다. System V IPC는 오래된 버전이며 오랜 역사를 가진만큼 이기종간 코드 호환성을 확실히 보장해 줍니다. 하지만 API도 오래되었으며, 더 이상 업데이트가 되지 않는 단점이 있습니다. 반면, POSIX IPC는 직관적인 API로 구성되어 있으며, 상대적으로 사..

개발 이야기 2020.05.08
728x90
반응형
SMALL