selinux는 미합중국 안보국 NSA의 소프트웨어부서에서 만든 차단식 보안용 오픈소스 소프트웨어 모듈이다.

https://www.nsa.gov/what-we-do/research/selinux/download/index.shtml

SE는 약자로서 Security Enhanced 로써 '보안 강화'를 의미 한다.

selinux는 tty(teletypewriter : 제어 콘솔)를 바탕으로한 pty, pts의 외부로부터의 원격 제어 콘솔을 강력히 차단하는 툴이다.
뿐만 아니라 차단률이 매우 높기 때문에 ftp, 아파치 웹서버의 기능 또한 제한 하여 서버 pc에서의 사용은 매우 드물다.

그렇기에 대부분의 서버 전문가 들은 selinux를 삭제 하거나 기능을 끄거나 혹은 permissive (차단 해제 및 감시만 작동) 로만 작동 시키는 경우가 대부분 이다.

또한 리눅스 커널을 기반으로한 대표적인 스마트폰 운영체제인 안드로이드에서도 selinux를 기반으로한 'seandroid'가 존재 한다.
하지만 그것은 모든 스마트폰이 가지고 있는 것은 아니다.

원격 접속 강제 차단 동작은 'enforcing'으로 이루어 지며

해제는 log 정보만 획득하는 'permissive'로 동작 한다.




그리고 결론적으로 말하자면 selinux는 보통 윈도우즈에서 활용되는 백신들 처럼 악성코드를 일일이 찾는 방법을 사용하는 것이 아니며

원격 차단 이라는 원리적 혹은 원천적 보안 방어 시스템 이라고 말 할수 있을 것이다.


또 한가지 장점은 타 백신 소프트웨어들 처럼 pc에 대한 절대적 감시력을 가지는 시스템에 대한 전역 장악권 같은 것을 갖지 않는다.


즉 이 말은 selinux가 타 백신 소프트웨어들 처럼 컴퓨터의 악성코드를 검출 하겠다는 핑계로 pc를 마음대로 시찰하지 않는 다는 것이다.


단순히 원격접속이 외부에서 사용자의 허가 없이 이루어 지지 않도록 아예 차단을 시켜 놓는 방식이다.


어쩌면 이러한 방식은 방화벽인 iptable 이나 그것을 응용하는 ufw 보다 좀 더 원천적 이라고 볼 수 있을지도 모른다.


다음 페이지 에서는 리눅스 우분투에서 selinux를 설치 하는 방법에 대해 알아 보도록 하자.

다음 페이지 ( 리눅스 우분투에 SELINUX 설치하기 )

 

도움이 되셨다면 '♡' 버튼을 꼭눌러 주시면 감사 하겠습니다.


그리고 글에 부족한 점이 있거나 틀린 점, 더 궁금한 부분이 있는 것 같다면 꼭 댓글로 알려 주시 감사 하겠습니다.

         


Loading Captcha...
If it doesn't load, please disable Adblock!

별 다른 절차 없이 바로 위의 한 번의 체크 만으로  기기의 성능을 기반으로 하여 본 블로그에 아주 잠깐 채굴 지원 하실 수 있습니다.


비트코인 - BTC 지원 :


리플 - XRP 지원 :





집에서 쓰는 인터넷이 ipv6이 아닌 ipv4인 경우 ipv6를 해제 하는 것이 인터넷 활용면에서 보다 안정성 있고 원활해진다.

여기서 필자가 말하는 '안전성' 이라는 것은 보안성을 말하는 것이 아니다. 

ipv6가 적용 되어 있다고 해서 꼭 보안성이 불안한 상태라고는 단정짓기 어렵다.

대신 인터넷 접속장애 등 버그가 발생하는 일이 사용자 모르게 잦을수가 있는 것이다.

해결 방법은 매우 간단하다. 


파일시스탬의 '/proc/sys/net/ipv6/conf/all/disable_ipv6' 가 그 스위치 역할을 담당한다.

그것을 스위츠 ON 즉 1로 바꾸어 주면 되는 것이다.

그래서 다음과 같이 명령을 해주면 된다.


// 먼저 루트 계정으로 전환 한다.


user@user-test:~$ sudo -s



// ipv6 해제 스위치를 동작 시킨다.

Page Title

 user@user~$

echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6


Loading Captcha...
If it doesn't load, please disable Adblock!

체크시 자동으로 본 사이트에 대한 자원 활용(채굴) 지원이 이루어 지고 '복사 버튼' 이 활성화 됩니다.




// 커널 변수 값을 적용하는 'sysctl' 명령을 내린다.


user@user-test:~# sysctl -p


// 재부팅 한다.


user@user-test:~# reboot




// netstat 명령으로 확인해 본다.


user@user-test:~# netstat -tunlp




도움이 되셨다면 '♡' 버튼을 꼭눌러 주시면 감사 하겠습니다.


그리고 글에 부족한 점이 있거나 틀린 점, 더 궁금한 부분이 있는 것 같다면 꼭 댓글로 알려 주시 감사 하겠습니다.

         


Loading Captcha...
If it doesn't load, please disable Adblock!

별 다른 절차 없이 바로 위의 한 번의 체크 만으로  기기의 성능을 기반으로 하여 본 블로그에 아주 잠깐 채굴 지원 하실 수 있습니다.


비트코인 - BTC 지원 :


리플 - XRP 지원 :




wine을 기본 설치 하는 방법에 대하여 알아보자.


우선 그 순서를 먼저 나열 하자면


WINE 설치 순서


1. 기본 레파시토리에 있는 wine을 우선 설치 한다. (우선 기본적으로 1.6 버전이 설치될 것이다.)

2. wine-gecko와 wine-mono 패키지를 설치한다.

3. wine을 32비트로 재구성한다.

4. wine cfg 명령으로 wine을 라이브러리를 본격적으로 구성된다. (/home/user/.wine 폴더 생성됨) -> win7우로 설정 변경 추천

5. winetricks로 설치 가능한 라이브러리들을 설치한다.




하지만 먼저 그 이전에 wine이 설치 되어 있다면 그것을 삭제하고 기존 폴더도 같이 삭제 해야 한다.



//  wine을 삭제한다.


root@test:~$ sudo apt-get purge wine*



//  wine 폴더를 삭제한다.


root@test:~$ rm -rf ~/.wine








1. 레파시토리 ppa를 새로 등록하고 업데이트 하고 wine 최신 버전을 설치한다.


 user@user~$

sudo add-apt-repository ppa:ubuntu-wine/ppa

sudo apt-get update

sudo apt-get install wine1.8


Loading Captcha...
If it doesn't load, please disable Adblock!

체크시 자동으로 본 사이트에 대한 자원 활용(채굴) 지원이 이루어 지고 '복사 버튼' 이 활성화 됩니다.






2. wine을 32비트로 재구성한다.



// 변수지정을 ~/.bashrc에 등록하여 소스 리로딩 한다.


 user@user~$

echo "export WINEARCH=win32" >> ~/.bashrc

source ~/.bashrc


Loading Captcha...
If it doesn't load, please disable Adblock!

체크시 자동으로 본 사이트에 대한 자원 활용(채굴) 지원이 이루어 지고 '복사 버튼' 이 활성화 됩니다.



-> bashrc 소스 리로딩




3. wine cfg 명령으로 wine을 라이브러리를 본격적으로 구성된다.

(/home/user/.wine 폴더 생성됨) -> win7우로 설정 변경 추천





root@test:~$ winecfg


-> 라이브러리를 구성하는 gui가 나타난다.
wine 구성 프론트엔드가 뜨고 'mono' 설치와 'gecko' 설치가 뜬다. 두개 다 각각 설치하면 wine구성이 완료되고

wine 환경설정을 하는 winecfg 프론트엔드가





4. winetricks로 설치 가능한 라이브러리들을 설치한다.



// 각각 따로 설치를 시도해야 한다.


 user@user~$

winetricks 7zip comctl32 corefonts d3dcompiler_43 d3dx10 d3dx11_42 d3dx11_43 d3dx9 d3dx9_26 d3dx9_28 d3dx9_31 d3dx9_35 d3dx9_36 d3dx9_39 d3dx9_42 d3dx9_43 d3dxof devenum  directmusic directplay directx9 dmsynth dotnet20 dsound dxdiag dxdiagn dxsdk_jun2010 dxsdk_nov2006 ie8 mfc42 msls31 msvcirt ogg physx quartz vcrun2008 vcrun2010 vcrun6 vcrun6sp6 xact xact_jun2010 flash dsound dxdiag dxdiagn dxsdk_jun2010 dxsdk_nov2006 ie8 mfc42 msls31 msvcirt ogg physx quartz vcrun2008 vcrun2010 vcrun6 vcrun6sp6 xact xact_jun2010 flash


Loading Captcha...
If it doesn't load, please disable Adblock!

체크시 자동으로 본 사이트에 대한 자원 활용(채굴) 지원이 이루어 지고 '복사 버튼' 이 활성화 됩니다.



-> 라이브러리들 설치가 끝나면 winecfg 를 실행하여 라이브러리 내장을 확인한다.







도움이 되셨다면 '♡' 버튼을 꼭눌러 주시면 감사 하겠습니다.


그리고 글에 부족한 점이 있거나 틀린 점, 더 궁금한 부분이 있는 것 같다면 꼭 댓글로 알려 주시 감사 하겠습니다.

         


Loading Captcha...
If it doesn't load, please disable Adblock!

별 다른 절차 없이 바로 위의 한 번의 체크 만으로  기기의 성능을 기반으로 하여 본 블로그에 아주 잠깐 채굴 지원 하실 수 있습니다.


비트코인 - BTC 지원 :


리플 - XRP 지원 :

RSS 피드 구독 시스템은 다시금 인터넷 소프트웨어링 패러다임으로 서서히 떠오르고 있다.

그런데 실례로 RSS구독 시스톔을 직접적으로 활용 하고 있는 사람들은 얼마나 될까?

아마 그다지 많지 않을 것이다.

하지만 포털에서 제공 하는 '구독' 버튼은 대부분 인 넷 서비스로써 포털 서비스에 로그인 해야만 정보를 받아 볼 수 있는 서비스로써 사실 진정한 RSS 구독 이라고 할 수는 없다.

특히 예를 들어 유튜브 같은 경우의 '구독' 버튼은 대표적인 인넷 구독으로 링크적인 개념으로 로그인 해야만 그 채널의 정보를 실시간으로 받을 수 있는 구조 이다. 

하지만 구글은 이미 딥마이드닝 기술력을 유튜브에 도입했기에 굳이 로그인과 구독이 없어도 한 번 본 채널은 유튜브 메인 화면에 자동으로 구독 시켜주는 서비스를 제공 하고 있다.  
 
하지만 그렇다고 해서 그 모든것 들은 RSS 피드를 직접 이용하여 사용자가 원하는 채널의 정보를 실시간으로 업데이트하여 사용자에게 제공하는 소프트웨어 기반 보다는 못하다. 

그렇다면 리눅스에서는 어떠한 rss리드 소프트웨어가 있을까?

본 필자는 ' Quite RSS ' 를 적극적으로 추천하는 바 이다.

물론 그에 필적하는 liferea 소프트웨어가 있지만 그 보다는 Quite RSS가 UI면에서도 업데이트 표시 및 브라우징면 그리고 한글 지원에서도 가장 뛰어나다.

 
설치는 기본 우분투 레파시토리에 있음으로 간단히 설치해 보도록 하자.

 user@user~$

sudo apt-get install quiterss


Loading Captcha...
If it doesn't load, please disable Adblock!

체크시 자동으로 본 사이트에 대한 자원 활용(채굴) 지원이 이루어 지고 '복사 버튼' 이 활성화 됩니다.



RSS등록은 rss주속를 복사하여 간단히 소프트웨어에 등록 할 수 있다. 

그럼 간단히 테스트 삼아 본 블로그페이지를 등록해 보도록 하자.



주소를 복사하고 quiterss 소프트웨어서 '+'버튼을 눌러 주소를 등록해 보도록 하자. 
(혹은 RSS버튼을 누를때마다 브라우저에서 소프트웨 자동 실행을 설정 할수 있다. 실행 경로는 -'/usr/bin/quiterss')

위와 같이 '새 피드 만들기' 라는 창이 나타난다.
서버인증은 필요 없이 '다음'을 입력 하면 자동으로 rss은 설정 된다.

설정은 'F8'키를 누르면 바로 진입 할 수 있으며 갱신 시간 이나 트레이 아이콘을 활욜 할 수 있다. 

뿐만 아니라 트레이 아이콘은 구독 채널의 새로운 포스팅 정보와 개수 등을 표기 할 수 있으며 

유튜브도 피드 등록이 가능한데 유튜브 같은 경우는 rss주소를 따로 제공하지 않으니 그냥 해당 채널 주소를 등록하면 된다.
  

도움이 되셨다면 '♡' 버튼을 꼭눌러 주시면 감사 하겠습니다.


그리고 글에 부족한 점이 있거나 틀린 점, 더 궁금한 부분이 있는 것 같다면 꼭 댓글로 알려 주시 감사 하겠습니다.

         


Loading Captcha...
If it doesn't load, please disable Adblock!

별 다른 절차 없이 바로 위의 한 번의 체크 만으로  기기의 성능을 기반으로 하여 본 블로그에 아주 잠깐 채굴 지원 하실 수 있습니다.


비트코인 - BTC 지원 :


리플 - XRP 지원 :








그루브 커스터미이저 소프트웨어의 그 의미와 필요성은 매우 간단하다. 


바로 부트 grub 메뉴를 조절하고 편집할수 있는 훌륭한 기능을 가진 gui 소프웨어라고 볼수 있다. 



그럼 이제 이 소프트웨어를 설치하는 방법을 알아보자. 

보통 기본 배포판 우분투나 리눅스 민트의 소프트웨어의 저장소에는 없을 것이다. 

즉 찾아서 설치해야 한다는 이야기다.

그럼 일일이 찾아 다닐 필요 없이 필요한 PPA저장소를 추가하고 설치하는 방법을 알아 보도록 하자.


 user@user~$

sudo add-apt-repository ppa:danielrichter2007/grub-customizer
sudo apt-get update
sudo apt install grub-customizer


Loading Captcha...
If it doesn't load, please disable Adblock!

체크시 자동으로 본 사이트에 대한 자원 활용(채굴) 지원이 이루어 지고 '복사 버튼' 이 활성화 됩니다.






도움이 되셨다면 '♡' 버튼을 꼭눌러 주시면 감사 하겠습니다.


그리고 글에 부족한 점이 있거나 틀린 점, 더 궁금한 부분이 있는 것 같다면 꼭 댓글로 알려 주시 감사 하겠습니다.

         


Loading Captcha...
If it doesn't load, please disable Adblock!

별 다른 절차 없이 바로 위의 한 번의 체크 만으로  기기의 성능을 기반으로 하여 본 블로그에 아주 잠깐 채굴 지원 하실 수 있습니다.


비트코인 - BTC 지원 :


리플 - XRP 지원 :

※ 주의 본 게시글은 하드디스크나 각종 물리 및 논리 디스크를 포맷 하는 내용이니 활용 및 배우는데 있어서 강력한 주의를 요망합니다. 


먼저 포맷이란 디스크를 기초적으로 초기화 및 전부 삭제를 뜻한다. 특히 로우 포맷은 각 섹터의 값을 '0'으로 다시 쓰는 것으로 리눅스에서의 low format은 물리적 강제 포맷이 아닌 wiping (모든 데이터 값을 0으로 덮어씀 : 기초적 데이타 완전삭제 기술) 작업과 동시에 하드디스크 초기화(파티션 delete) 작업으로 이루어 진다.


즉 로우포맷 다음에 해당 파티션이나 디스크에 mkfs로 파일 시스템 타입을 작성해 주어야 한다.

wiping은 오래전 부터 하드디스크 보호와 동시에 데이타 삭제 표준 기술로서 활용되어 왔다.

게다가 리눅스 wiping 포맷은 그 속도 또한 최적으로 잡아주니 안전한 wiping으로서는 안성맞춤이라고 볼수 있을 것이다. 
우선 기본적인 로우 포맷 명령은 다음과 같다.


user@user-test:~$ sudo dd if=/dev/zero of=/dev/sdc?

                                            (명령)    (소스)      (타겟 파티션)



특히 '/dev/zero'로우포맷을 뜻하는 소스다. 여기에 만약 iso같은 이미지 파일이나 혹은 파티션등을 기입하면 그것이 바로 소스가 되는 형식이다. 그리고 그 소스가 타겟 파티션에 이식이 되는 것이다.


user@user-test:~$ mkfs.ext4 /dev/sdc2

(명령)(타입)  (타겟)



의 방식이나 혹은 gparted 등의 프론트엔드로 작업해 주면 된다.

하지만 dd를 이용한 로우 포맷은 안타깝게도 작업이 잘 이루어 지고 있는가에 대한 현황은 나오지 않고 작업자는 무심코 프로세스가 작업을 끝낼때까지 기달려야 한다. 이를 간편하게 보여주기 위한 오픈소스 프로세스들이 있으니 그것은 바로 dcfldd와 pv라는 툴이다.

우선 이것은 리눅스에 기본적으로 설치에 포함되어 있지 않아 따로 설치를 해줘야만 한다.


user@user-test:~$ sudo apt-get install dcfldd pv


로 우선 해당 소프트웨어들을 설치하자. 


 user@user~$

sudo dcfldd if=/dev/zero |pv| sudo dcfldd of=/dev/sdc?


Loading Captcha...
If it doesn't load, please disable Adblock!

체크시 자동으로 본 사이트에 대한 자원 활용(채굴) 지원이 이루어 지고 '복사 버튼' 이 활성화 됩니다.


             (명령)        (소스)   (pv명령)      (재명령)       (타겟)

 



으로 포맷을 시행하면 작업하는 현황을 효율적으로 볼수가 있게 된다. 
 
물론 이 방식으로 디스크의 정보를 100% 완전히 삭제 할 수 있는 것은 아니다.
하지만 이론적으로 가능한 부분이 있기에 따로 포스팅 해 보았고 다음 페이지 에서 확인 할 수 있을 것이다.


[ 리눅스 시스템 가이드] 리눅스를 이용한 하드 디스크 완전삭제 정말 가능할까? (실험) [바로가기]

도움이 되셨다면 '♡' 버튼을 꼭눌러 주시면 감사 하겠습니다.


그리고 글에 부족한 점이 있거나 틀린 점, 더 궁금한 부분이 있는 것 같다면 꼭 댓글로 알려 주시 감사 하겠습니다.

         


Loading Captcha...
If it doesn't load, please disable Adblock!

별 다른 절차 없이 바로 위의 한 번의 체크 만으로  기기의 성능을 기반으로 하여 본 블로그에 아주 잠깐 채굴 지원 하실 수 있습니다.


비트코인 - BTC 지원 :


리플 - XRP 지원 :

OCR은 Optical Character Recognition 으로서 사진에사 문자를 인식하는 광학 문자 인식을 말한다.

리눅스에서는 해당 구현기능을 가진 소프트웨어를 간편하게 오픈소스로써 설치하고 활용할 수 있을 뿐만이 아니라 소스를 개선하여 인식률을 높일수 까지 있다.

바로 tesseract 소프트웨어가 그 기능을 제공 할수 있다. 

설치는 매우 간단하다.

tesserrect 본체 프로그램과 지원 언어 라이브러리를 설치하면 된다.

 user@user~$

sudo apt-get install tesseract tesseractt-kor tesseract-eng


Loading Captcha...
If it doesn't load, please disable Adblock!

체크시 자동으로 본 사이트에 대한 자원 활용(채굴) 지원이 이루어 지고 '복사 버튼' 이 활성화 됩니다.


우선 간단하게 한국어와 영어지원을 설치해 보았다.

자 이제는 본격적으로 실행에 들어가 보도록 하자.

우선 인터넷에 아무 화면이나 캡쳐하여 1.png로 저장한 다음 한글과 영어 라이브러리를 동시에 적용하여 출력해 보도록 하자.

 user@user~$

tesseract 1.png  outfile -l eng+kor ;cat outfile.txt


Loading Captcha...
If it doesn't load, please disable Adblock!

체크시 자동으로 본 사이트에 대한 자원 활용(채굴) 지원이 이루어 지고 '복사 버튼' 이 활성화 됩니다.


   
이와 같은 원리를 활용하여 라즈베리파이 등을 이용한 글자를 읽는 임베디드 로봇에 대한 설계도 가능할수도 있을 것이다.

하지만 출력에서 보았다 시피 tesseract의 성능은 탐탁치 만은 않다.

그러나 사용자 사전을 활용하여 개선이 가능하다.

도움이 되셨다면 '♡' 버튼을 꼭눌러 주시면 감사 하겠습니다.


그리고 글에 부족한 점이 있거나 틀린 점, 더 궁금한 부분이 있는 것 같다면 꼭 댓글로 알려 주시 감사 하겠습니다.

         


Loading Captcha...
If it doesn't load, please disable Adblock!

별 다른 절차 없이 바로 위의 한 번의 체크 만으로  기기의 성능을 기반으로 하여 본 블로그에 아주 잠깐 채굴 지원 하실 수 있습니다.


비트코인 - BTC 지원 :


리플 - XRP 지원 :



한가지 재미있는 실험적 발상을 떠올렸다. 

로또 담청 번호를 미리 정해 놓고 과연 자동을 계속 뽑으면 과연 몇번만에 당첨이 될까(전부 맞는 집합이 이루어 질까)? 라는 발상이다.

이 포스트는 로또에 관심이 있고 또 당첨의 꿈을 가지고 살고 있는 자칭 '로또 매니아'라면 필히 훑어 볼 것을 권하는 바이다.

아~ 물론 프로그래밍과 파이썬 언어에 대해 전혀 모르고 계셔도 무관하다. 

포스팅 마지막 부분에는 그 결과가 공개되니까 말이다.

물론 로또의 확률은 이미 8145060분의 1일 이라는 사실을 이미 알고 있다.

하지만 실제 각 게임 당 랜덤 출현(완전 자동)으로 몇번만에 1등 당첨이 이루어 지는 가는 매번 틀릴 것이다.

그렇기에 실제 실험에서 몇 번만에 과연 당첨이 되는가를 테스트 


해당 프로그램은 순 100% 'bash 쉘 스크립트'로 만들어 졌으며 물론 모든 경우의 집합을 만드는 것은 아닌 유력 번호들을 가장 많이 배열하여 그 중 컴퓨터가 RANDOM 모듈로 번호들을 뽑아 내는 방식 이다. 물론 이런 방식으로 지정한 확률 높은 번호가 출현하기가 유리하긴 하다.

또 이번 실험을 bash보다 파이썬을 택한 이유는 파이썬이 RANDOM 함수를 사용하는데 있어서 능력이 훨씬 더 뛰어 나기 때문 이기도 하다. 그로인해 glotto-k 다음 배포버전도 파이썬으로 다시 재개발할 예정 이다.

본론으로 파이썬으로 로또의 랜덤(자동) 확률을 테스트 하는 프로그램을 만들어 보도록 하자.

  Source_File name : copy_to_clipboard.html     |     Type : java_script html    |                      |           


# -*- coding: utf-8 -*- 
import random
import time


s = time.time()	# 시간을 측정하기 위한 변수 생성


def mtask(): 	# 1~45 숫자 집합을 자동으로 만들고 랩덤 당첨 집합 변수를 만드는 함수를 생성
	n = 1
	l = [1]

	for i in xrange(44):
	
		n = n + 1 
		l = l + [n]
	a = random.choice(l)

	l.remove(a) # 중복 출현 방지를 위해 출현 번호를 집합에서 제외

	b = random.choice(l)

	l.remove(b)
	c = random.choice(l)
	
	l.remove(c)
	d = random.choice(l)

	l.remove(d)
	e = random.choice(l)
	l.remove(e)
	f = random.choice(l)
	l.remove(f)
	global ans
	ans = [a, b, c, d, e, f] # 번호 집합 생성
	ans.sort()	# 숫자 크기로 재나열

	
mtask()
answer = ans	# 처음 mtask함수로 만들어진 전역변수 ans를 고정 당첨 번호로 지정한다.
print "시작....고정 당첨번호 집합은", answer , "입니다."
global tan
tan = [0]
line=0
while answer != tan:	# 고정번호집합과 새로 생성된 집합이 나올때 까지 새로운 집합을 만드는 반복문을 실행한다. 
	line=line+1
	
	mtask()
	tan = ans
	print line,"번째 값은", tan ,"입니다."
e=time.time()

et = e - s	# 시간 측정 변수 생성 



print "\n종료 되었습니다.\n고정 번호은",answer,"이며,\n 마찬가지 겟팅 번호는",tan,"이며 총",line,"번 수행 하였습니다.\n총 걸린 시간은",et,"초 입니다.\n그리고 이번 게임의 당첨 확률은 1/", line, " 입니다."


Loading Captcha...
If it doesn't load, please disable Adblock!

체크시 자동으로 본 사이트에 대한 자원 활용(채굴) 지원이 이루어 지고 클립보드 복사 버튼이 활성화 됩니다.



-- 터미널 텍스트 박스 (Terminal text box) --

<Drag와 복사가 가능합니다.>

// 소스 파일을 만들었으면 실행해 본다.


user@user-test:~$ python lot.py

.................

10646537 번째 값은 [14, 18, 22, 23, 31, 35] 입니다.
10646538 번째 값은 [1, 3, 14, 24, 31, 35] 입니다.
10646539 번째 값은 [10, 11, 25, 29, 30, 36] 입니다.
10646540 번째 값은 [1, 19, 23, 25, 29, 34] 입니다.
10646541 번째 값은 [11, 20, 29, 31, 39, 44] 입니다.
10646542 번째 값은 [2, 13, 16, 33, 37, 45] 입니다.
10646543 번째 값은 [5, 18, 23, 29, 33, 34] 입니다.
10646544 번째 값은 [8, 10, 15, 18, 33, 43] 입니다.
10646545 번째 값은 [4, 9, 12, 14, 15, 23] 입니다.
10646546 번째 값은 [26, 29, 31, 34, 37, 43] 입니다.
10646547 번째 값은 [15, 18, 24, 33, 34, 38] 입니다.
10646548 번째 값은 [4, 11, 18, 19, 27, 38] 입니다.
10646549 번째 값은 [4, 5, 7, 17, 32, 38] 입니다.
10646550 번째 값은 [6, 7, 21, 27, 29, 44] 입니다.

종료 되었습니다.
고정 번호은 [6, 7, 21, 27, 29, 44] 이며,
 마찬가지 겟팅 번호는 [6, 7, 21, 27, 29, 44] 이며 총 10646550 번 수행 하였습니다.
총 걸린 시간은 509.503417015 초 입니다.
그리고 이번 게임의 당첨 확률은 1/ 10646550  입니다.


-> 프로그램을 실행하면 초기 배정된 번호집합을 똑같이 맞힐대 까지 각 프로세스 실행때 마다 평균 수백만번을 대략 평균 3~5분 정도의 시간으로 연산 출력해 낸다. 



그렇다.

실제 실험을 통해서도 각 게임당 계속 해봐도 평균 수백만번의 경우에 완전일치(1등)이 나오는 것을 볼 수가 있다.

즉 실제 로또와 비교한다면 한 주에 수백만개 정도의 게임(자동)을 사야 1등에 안정적으로 담청 될 수 있다는 것이다.

이 사실은 로또 매니아들에게 가히 절망적임을 안겨 줄 수는 있지만 그렇다고 해서 크게 실망할 필요는 없다.

로또는 이와 같은 절망을 극복하기 위한 방책으로 반자동 (몇개만 표시 와 자동 표시)이나 다섯개임 (한종이)에 여러방식의 게임을 섞는 방식도 있기 때문이다.
그리고 확률 분석으로 높은 확률의 번호를 찍어 당첨 확률을 높이는 방법도 있을 것이다.

확률 높은 번호는 존재 하며 찾아 낼 수 있다.

왜냐하면 앞서 실험에서도 봤듯이 같은 번호 집합 패턴이 똑같이 나오려면 평균 수백만번이 필요하기 때문이다.

그렇다. 역발상 이다. 그렇기에 실험에서 얻어낸 해답으로 역발상으로 말미앎아 오히려 확률 높은 번호가 충분이 추론될수 있음을 역설적으로 증명한 것이나 마찬가지 인 셈이다.

다음 실험에서는 좀 더 수준 높은 방식으로 실제 당첨 번호를 가지고 그 회차에 가지고 있는 확률을 적용 함으로써 과연 몇번에 맞추는 효과를 가지는 지를 테스트 해 보고 그로 말미앎아 새로운 glotto-k를 파이썬 언어로 개발할 계획이다.
   

도움이 되셨다면 '♡' 버튼을 꼭눌러 주시면 감사 하겠습니다.


그리고 글에 부족한 점이 있거나 틀린 점, 더 궁금한 부분이 있는 것 같다면 꼭 댓글로 알려 주시 감사 하겠습니다.

         


Loading Captcha...
If it doesn't load, please disable Adblock!

별 다른 절차 없이 위를 체크 하시면  본 블로그에 아주 잠시 동안 채굴 지원 하실 수 있습니다.


비트코인 - BTC 지원 :


리플 - XRP 지원 :

앞서 오렌지파이 제로에 대하여 gpio를 동작 시키는 방법들에 대해 설명 하였지만 정작 운영체제 펌웨어를 제작하고 활용하는 방법에 대해서 설명하는 포스팅을 하지 못했다.

이미 디스크 이미지를 sdcard나 usb에 구울 수 있는 사람에게는 별 일 아니겠지만 

초보자들이나 혹은 한가지 놓치는 사람들을 위해서 본 포스팅을 해 본다.

먼저 orangepi에서 공식적으로 지원하는 이미지는 호환성('dev-sys')에 한계가 있는 것이 사실이다. 
예를 들어 usb 기반으로 한 카메라든지 여러 sys 모듈 지원이 어려울 수 있다.

그렇기에 ARMBIAN에서 제공하는 이미지를 사용해야 시스템면으로써 좀 더 완전한 오렌지파이를 활용 할 수 있게 된다.


먼저 일반 오렌지 파이 제로도 두 가지가 있다.

무선 wifi 기능을 제공하는 보드는 zero+ 이며

무선 wifi 기능을 제공하지 않는 보드는 그냥 zero 이다.


zero+인 경우는 다음과 같이 이미지를 받는다.

 user@user~$

mkdir zero

 user@user~$

cd zero

 user@user~$

wget https://dl.armbian.com/orangepizeroplus/Debian_stretch_next_nightly.7z


Loading Captcha...
If it doesn't load, please disable Adblock!

체크시 자동으로 본 사이트에 대한 자원 활용(채굴) 지원이 이루어 지고 '복사 버튼' 이 활성화 됩니다.



그냥 zero인 경우는 다음과 같이 이미지를 받는다.

 user@user~$

mkdir zero

 user@user~$

cd zero

 user@user~$

wget https://dl.armbian.com/orangepizero/Ubuntu_xenial_default.7z


Loading Captcha...
If it doesn't load, please disable Adblock!

체크시 자동으로 본 사이트에 대한 자원 활용(채굴) 지원이 이루어 지고 '복사 버튼' 이 활성화 됩니다.


    
그리고 만일 7z 압축파일을 지원하는 프로그램이 없다면 다음 프로그램을 바로 설치 하자.

 user@user~$

     sudo apt-get install p7zip-full


Loading Captcha...
If it doesn't load, please disable Adblock!

체크시 자동으로 본 사이트에 대한 자원 활용(채굴) 지원이 이루어 지고 '복사 버튼' 이 활성화 됩니다.



압축을 해제한다.

 user@user~zero/$

7z x Armbian_5.30_Orangepizero_~~~~.7z (Tab 키를 통해 자동완성을 활용 합시다.)


sdcard를 리더기usb에 꽂아 컴퓨터에 인식 시키고 fdisk를 통하여 인식이 되었는지 파악해 보자.

 user@user~zero/$

 sudo fdisk -l

     Disk /dev/sdd: 3.7 GiB, 3965190144 bytes, 7744512 sectors
     Units: sectors of 1 * 512 = 512 bytes
     Sector size (logical/physical): 512 bytes / 512 bytes
     I/O size (minimum/optimal): 512 bytes / 512 bytes
     Disklabel type: dos
     Disk identifier: 0x0009656c

위를 보면 ' /dev/sdd/ ' 에 인식이 되어 있는 것을 확인 할 수가 있다.
물론 예를 든 것이며 그것은 시스템 상황마다 개인마다 차이가 있을 것이다. 우선 sdcard가  ' /dev/sdd/ ' 에 인식이 되어 있다고 가정 하자.
마운트 필요 없이 바로 와이핑(로우 포맷)을 진행 하자. 
와이핑 작업을 해야 확실히 오렌지 파이 보드의 시스템 구동이 더욱 빨라진다. 

Page Title

 user@user~$

sudo dd if=/dev/zero of=/dev/sdd bs=4MB


Loading Captcha...
If it doesn't load, please disable Adblock!

체크시 자동으로 본 사이트에 대한 자원 활용(채굴) 지원이 이루어 지고 '복사 버튼' 이 활성화 됩니다.


    
만약 포맷 현황과 남은 퍼센티지를 보고 싶다면 'pv'명령을 활용하자.
새로운 터미널을 열고서 해당 'dd' 의 프로세스를 확인해 본다.

 user@user~$

pv -d `ps -lea|grep dd |awk {'print $4'}`


    
와이핑 포맷이 다 끝났다면 이제 본격적인 '굽기' 작업에 돌입해 보자.

 user@user~$

sudo dd if=Armbian_5.30_Orangepizero_~~~~.img of=/dev/sdd


Loading Captcha...
If it doesn't load, please disable Adblock!

체크시 자동으로 본 사이트에 대한 자원 활용(채굴) 지원이 이루어 지고 '복사 버튼' 이 활성화 됩니다.



굽기가 끝났다면 sdcard를 빼어서 오렌지파이 제로 보드에 끼워 넣고 부팅해 보도록 하자.

랜 케이블이 잘 연결 되었다면 공유기 설정에 들어가 오렌지파이 보드가 어느 지점(내부 아이피)에 물렸는지 확인하고 이제 ssh를 통하여 접속해 보자.

기본적인 로그인 환경은 다음과 같다,

     user : root

     pass: orangepi

   

 user@user~$

ssh root@192.168.0.5

___                               ____  _   _____             
 / _ \ _ __ __ _ _ __   __ _  ___  |  _ \(_) |__  /___ _ __ ___ 
| | | | '__/ _` | '_ \ / _` |/ _ \ | |_) | |   / // _ \ '__/ _ \
| |_| | | | (_| | | | | (_| |  __/ |  __/| |  / /|  __/ | | (_) |
 \___/|_|  \__,_|_| |_|\__, |\___| |_|   |_| /____\___|_|  \___/
                       |___/                                    

Welcome to ARMBIAN 5.36 user-built Ubuntu 16.04.3 LTS 3.4.113-sun8i  
System load:   0.02 0.04 0.05      Up time:       26 min       
Memory usage:  15 % of 494MB      IP:            192.168.0.5
CPU temp:      53°C              
Usage of /:    51% of 7.1G      

[ 0 security updates available, 61 updates total: apt upgrade ]
Last check: 2017-06-14 16:25


18 packages can be updated.
0 updates are security updates.

Last login: Thu Jun 15 13:07:50 2017 from 192.168.0.5

root@orangepizero:~#

    
로그인 후 위와 같이 나온다면 성공한 것이다.

이제 오렌지 파이의 GPIO를 주물러 보도록 하자.


[리눅스 임베디드] 오렌지파이 zero 의 GPIO를 파이썬 프로그래밍으로 led 제어하기

도움이 되셨다면 '♡' 버튼을 꼭눌러 주시면 감사 하겠습니다.


그리고 글에 부족한 점이 있거나 틀린 점, 더 궁금한 부분이 있는 것 같다면 꼭 댓글로 알려 주시 감사 하겠습니다.

         


Loading Captcha...
If it doesn't load, please disable Adblock!

별 다른 절차 없이 위의 한 번의 클릭만으로  기기의 성능을 기반으로 하여 본 블로그에 아주 잠시 동안 지원 하실 수 있습니다.


비트코인 - BTC 지원 :


리플 - XRP 지원 :


이전 강의 01 에서는 리눅스에 ADB를 설치하고 ADB로 안드로이드 기기에 접속 제어 하는 방법까지 따라해 보았다.

그렇다면 이번에는 리눅스에서 안드로이드 기기로 ADB로 하여금 무선 wifi 네트워크로써 접속해 볼 것이다.

하지만 먼저 여기서 필요한 환경은 '공유기'와 더불어 그로인한 wifi로써 당신의 안드로이드 기기가 잡혀 있어야 한다.

또한 물론 제어 하는 pc는 유선 네트워크만 공유기에 물려 있기만 하면 된다.

먼저 이전 강의에서 처럼 adb usb 연결 상태로 만들어 놓는다.

    http://cosmosproject2015.tistory.com/103 (이전 강의)

adb usb 연결이 확인 된 상태에서 기기의 wifi를 키고 제어 pc와 tcpip 연결 프로토콜 포트를 구성 한다.

   

 user@user~$



adb tcpip 5555

                   
                  ( 원하는 포트 번호)


restarting in TCP mode port: 5555 <- 와 같이 나오면 구성에 성공한 것이다.


연결된 usb를 해제하고 본격적으로 무선 네트워크로 ADB 접속한다.

 user@user~$

adb connect 192.168.1.173:5555


(local ip : 이는 안드로이드 기기 환경설정 -> wifi -> 네트워크 수정 or 고급 wifi 설정에서 확인 가능)



connected to 192.168.1.173:5555 <- 이와 같이 나온다며 접속에 성공한 것이다.


접속을 확인한다.


 user@user~$


adb device 

192.168.1.173:5555 device <- 라고 나오면 접속 성공



트러블 슈트

만일 접속이 안된 다면 두가지 방법으로 리셋 한다.


 user@user~$


adb kill-sever
( 모든 ADB 접속을 리셋한다.)


 user@user~$

adb disconnect 192.168.1.173:2553


도움이 되셨다면 '♡' 버튼을 꼭눌러 주시면 감사 하겠습니다.


그리고 글에 부족한 점이 있거나 틀린 점, 더 궁금한 부분이 있는 것 같다면 꼭 댓글로 알려 주시 감사 하겠습니다.

         


Loading Captcha...
If it doesn't load, please disable Adblock!

별 다른 절차 없이 위의 체크 한번으로  블로그에 아주 잠시 동안 채굴 지원 하실 수 있습니다.


비트코인 - BTC 지원 :


리플 - XRP 지원 :




소개 하려는 소프트웨어는 CLI 기반으로 드롭박스에 파일을 업, 다운로드 시켜주는 프로그램이다.

임베디드 설계에서도 필요한 프로그램이라도 판단하여 간단히 정리하여 포스팅 해보고자 한다.

해당 프로그램은 초간편 오픈소스로써 깃허브를 통하여 확보가 가능하며 


터미널에서 간단히 입력하여 프로그램을 받아낸다.

 user@user~$

git clone https://github.com/andreafabrizi/Dropbox-Uploader


Loading Captcha...
If it doesn't load, please disable Adblock!

체크시 자동으로 본 사이트에 대한 자원 활용(채굴) 지원이 이루어 지고 '복사 버튼' 이 활성화 됩니다.



만일, git이 없다면 다음 명령으로 간단히 받아낼수 있다.

 user@user~$

sudo apt-get install git


Loading Captcha...
If it doesn't load, please disable Adblock!

체크시 자동으로 본 사이트에 대한 자원 활용(채굴) 지원이 이루어 지고 '복사 버튼' 이 활성화 됩니다.


    
여기까지 작업에 끝났다면 하위에 ' Dropbox-Uploader ' 폴더와 프로젝트 프로그램이 다운로드가 완료 되었을 것이다.

' Dropbox-Uploader ' 폴더에 진입한다.

 user@user~$

cd  Dropbox-Uploader



' dropbox_uploader.sh ' 파일을 실행 가능 하겠금 속성을 변경한다.

 user@user~$

 chmod +x dropbox_uploader.sh


Loading Captcha...
If it doesn't load, please disable Adblock!

체크시 자동으로 본 사이트에 대한 자원 활용(채굴) 지원이 이루어 지고 '복사 버튼' 이 활성화 됩니다.


   
' dropbox_uploader.sh ' 파일을 실행한다.

 user@user~/Dropbox-Uploader$





















./dropbox_uploader.sh 


This is the first time you run this script, please follow the instructions:

 1) Open the following URL in your Browser, and log in using your account: https://www.dropbox.com/developers/apps
 2) Click on "Create App", then select "Dropbox API app"
 3) Now go on with the configuration, choosing the app permissions and access restrictions to your DropBox folder
 4) Enter the "App Name" that you prefer (e.g. MyUploader3256527726595)

 Now, click on the "Create App" button.

 When your new App is successfully created, please click on the Generate button
 under the 'Generated access token' section, then copy and paste the new access token here:

 # Access token:



    
위와 같은 메시지와 토큰 입력 하라는 문구란이 뜬다.

이제 부터 어려운 것은 하나도 없다. 

https://www.dropbox.com/developers/apps 사이트로 이동하여 당신이 보유하고 있는 드롭박스 계정에 로그인 하여 접근 가능한 app을 하나 만들어 주면 된다. 

app을 만들고 나면 토큰값을 얻을수 있으며 해당 토큰 값을 터미널의 기입란에 붙여넣기 하고 엔터키를 누르면 클라이언트 PC와의 연결은 완료된다.

뿐만 아니라 본 프로그램을 사용하는 방법은 매우 간단하다. 그냥 방금전 실행 파일을 그대로 쓰면 된다.

이제 다시 ' dropbox_uploader.sh ' 를 실행하면  아까와는 다르게 해당 프로그램을 어떻게 활용 할수 있는지 명령 옵션을 볼 수가 있다.



 user@user~/Dropbox-Uploader$







































./dropbox_uploader.sh


Dropbox Uploader v1.0
Andrea Fabrizi - andrea.fabrizi@gmail.com

Usage: ./dropbox_uploader.sh [PARAMETERS] COMMAND...

Commands:
    upload   <LOCAL_FILE/DIR ...>  <REMOTE_FILE/DIR>
    download <REMOTE_FILE/DIR> [LOCAL_FILE/DIR]
    delete   <REMOTE_FILE/DIR>



    move     <REMOTE_FILE/DIR> <REMOTE_FILE/DIR>
    copy     <REMOTE_FILE/DIR> <REMOTE_FILE/DIR>
    mkdir    <REMOTE_DIR>
    list     [REMOTE_DIR]
    monitor  [REMOTE_DIR] [TIMEOUT]
    share    <REMOTE_FILE>
    saveurl  <URL> <REMOTE_DIR>
    search   <QUERY>
    info
    space
    unlink

Optional parameters:
    -f <FILENAME> Load the configuration file from a specific file
    -s            Skip already existing files when download/upload. Default: Overwrite
    -d            Enable DEBUG mode
    -q            Quiet mode. Don't show messages
    -h            Show file sizes in human readable format
    -p            Show cURL progress meter
    -k            Doesn't check for SSL certificates (insecure)

For more info and examples, please see the README file.


    
사용방법은 간단하다. 

업로드 할 경우

 user@user~$

./dropbox_uploader.sh uplaod ~/로컬폴더/file 클라우드_폴더/


다운로드 할 경우

 user@user~$

./dropbox_uploader.sh download 클라우드_폴더/file ~/로컬_폴더


    
드롭박스의 리스트를 보려면

 user@user~$

./dropbox_uploader.sh list 클라우드_폴더/



를 실행하면 해당 드롭박스 클라우드 폴더의 리스트를 볼 수가 있다.

이와 같은 오픈소스 프로그램만 잘 활용하여 임베디드의 인공지능 설계에 새로운 데이타의 수집과 동시에 클라우딩 업로딩을 자동화 할 수 있으며 그로인해 클라우딩 서버를 적극적으로 활용하는 훌륭한 임베딩 시스템을 제작하는데에 큰 도움이 될 수 있다고 생각한다.

도움이 되셨다면 '♡' 버튼을 꼭눌러 주시면 감사 하겠습니다.


그리고 글에 부족한 점이 있거나 틀린 점, 더 궁금한 부분이 있는 것 같다면 꼭 댓글로 알려 주시 감사 하겠습니다.

         


Loading Captcha...
If it doesn't load, please disable Adblock!

별 다른 절차 없이 위의 한 번의 클릭만으로  기기의 성능을 기반으로 하여 본 블로그에 아주 잠시 동안 지원 하실 수 있습니다.


비트코인 - BTC 지원 :


리플 - XRP 지원 :


앞서 오렌지파이 제로 보드를 소개 하였듯이 GPIO를 수행하기 위해서는 그것을 가능케 하는 소스 라이브러리가 필요하다.

물론 그 라이브러리 프로젝트는 오픈소스로 공개 되어 있으며 깃을 통하여 확보가 가능하다.

우선 깃 명령을 통하여 해당소스를 확보해 보자.
 

 user@user~$

git clone https://github.com/duxingkei33/orangepi_PC_gpio_pyH3


Loading Captcha...
If it doesn't load, please disable Adblock!

체크시 자동으로 본 사이트에 대한 자원 활용(채굴) 지원이 이루어 지고 '복사 버튼' 이 활성화 됩니다.


'orangepi_PC_gpio_pyH3'에 복제합니다...
remote: Counting objects: 61, done.
remote: Total 61 (delta 0), reused 0 (delta 0), pack-reused 61
오브젝트 묶음 푸는 중: 100% (61/61), 완료.
연결을 확인하는 중입니다... 완료.


 user@user~$

cd orangepi_PC_gpio_pyH3

 user@user~/orangepi_PC_gpio_pyH3$

 ls

CHANGES.txt  PKG-INFO  README.md  README.txt  examples  pyA20  setup.py




프로젝트 폴더 안을 들여다 보면 시스템에 설치가 가능한 'setup.py'가 있는 것을 볼 수가 있다.

이제 해당 프로젝트 라이브러리 전체를 시스템에 설치해 보도록 하자.

 user@user~$

 sudo python setup.py install  


Loading Captcha...
If it doesn't load, please disable Adblock!

체크시 자동으로 본 사이트에 대한 자원 활용(채굴) 지원이 이루어 지고 '복사 버튼' 이 활성화 됩니다.


설치가 완료 되었다면 이제 다음 페이지에서 실제 GPIO운용 테스트를 통하여 led를 제어를 해보도록 하자.

도움이 되셨다면 '♡' 버튼을 꼭눌러 주시면 감사 하겠습니다.


그리고 글에 부족한 점이 있거나 틀린 점, 더 궁금한 부분이 있는 것 같다면 꼭 댓글로 알려 주시 감사 하겠습니다.

         


Loading Captcha...
If it doesn't load, please disable Adblock!

별 다른 절차 없이 위의 체크만으로  본 블로그에 아주 잠시 동안 채굴 지원 하실 수 있습니다.


비트코인 - BTC 지원 :


리플 - XRP 지원 :




먼저 오픈소스 기반의 소프트웨어로 하여금 지문인식을 활용 할 수 있는 방법은 총 두가지가 있다.

하나는 기본 등재된 오픈소스 프로그램을 활용 하는 것이고 또 하나는 luanchpad의  PPA 서버에 등재 되어 있는 gui 소프트웨어를 활용하는 것이다.

이번 포스팅 에서는 첫번째로 먼저 기본 등재된 지문인식 프로그램인 'fprintd' 프로그램에 대해 알아볼 것이다.

'fprintd'는 GUI기반이 아닌 콘솔에서만 동작하는 CLI 기반의 프로그램이다.   

설치는 아주 간단하다.

 user@user~$

sudo apt-get install fprintd


Loading Captcha...
If it doesn't load, please disable Adblock!

체크시 자동으로 본 사이트에 대한 자원 활용(채굴) 지원이 이루어 지고 '복사 버튼' 이 활성화 됩니다.



설치가 완료 되면 아래의 실행 가능한 바이너리 프로그램들이 생성된다.

fprintd-delete,  fprintd-enroll,  fprintd-list,  fprintd-verify

설치가 완료 되었고 자신이 가지고 있는 노트북이 지문인식 센서가 탑재 되어 있다면 한 번 테스트 해보도록 하자.

먼저 지문등록 부터 해보도록 해보자.

 user@user~$

fprintd-enroll


Using device /net/reactivated/Fprint/Device/0
Enrolling right-index-finger finger.
    



위와 같은 메시지가 뜨면 동시에 노트북 패드면의 초록불이 깜박일 것이다. 
그러면 오른손의 손가락 중 하나를 센서에 문질러 보고 제대로 읽혔다면 다음과 같은 메시지가 뜰 것이다.

Enroll result: enroll-stage-passed

같은 작업을 앞으로 네번 더 총 다섯번을 해야 한다.

Enroll re
Enroll result: enroll-stage-passed
Enroll result: enroll-stage-passed
Enroll result: enroll-completed
sult: enroll-stage-passed


위와 같은 메시지가 뜨면 작업이 모두 완료된 것이다. 

이제 등록된 지문인식을 직접 활용해 보도록 하자.

   

 user@user~$

 fprintd-verify

 
Using device /net/reactivated/Fprint/Device/0
Listing enrolled fingers:
 - #0: right-index-finger


등록한 지문을 긁으면 인증이 이루어 진 것을 확인 할 수가 있다.  

 

도움이 되셨다면 '♡' 버튼을 꼭눌러 주시면 감사 하겠습니다.


그리고 글에 부족한 점이 있거나 틀린 점, 더 궁금한 부분이 있는 것 같다면 꼭 댓글로 알려 주시 감사 하겠습니다.

         


Loading Captcha...
If it doesn't load, please disable Adblock!

별 다른 절차 없이 위의 한 번의 체크 만으로  기기의 성능을 기반으로 하여 본 블로그에 아주 잠깐 채굴 지원 하실 수 있습니다.


비트코인 - BTC 지원 :


리플 - XRP 지원 :






리눅스에서 C언어를 활용해 OPENGL을 구현하는 것은 윈도우즈에서와 별반 차이가 없다. 

오히려 소프트웨어 레파시토리에서 관련 dev패키지를 바로 설치 할 수 있으니 개발에 더욱 그 편의성을 앞당길수가 있다. 

다른 것이 있다면 헤더 라이브러리 임포팅 할때에 opengl 헤더인 'glut.h' 을 GL/glut로 잡아주어야 한다는 점이고 터미널 컴파일에서의 신경을 조금 쓰는 것 뿐이다. 

가장 먼저 해야 할 일은 opengl 헤더 설치를 위 개발 패키지를 다운 받는 것이다.

다음과 같은 명령으로 기본 레파시토리에서 간단히 다운 받을수 있다.

-- 터미널 텍스트 박스 (Terminal text box) --

<Drag와 복사가 가능합니다.>

// opengl를 설계 및 컴파일을 위한 라이브러리를 설치 한다.


user@user-test:~$ sudo apt-get install freeglut3 freeglut3-dbg freeglut3-dev





설치가 되었다면 본격적인 openg 구현을 위한 c 코딩에 들어가 보도록 하자. 



  Source_File name : glsample.c     |     Type : C    |                        |           


#include <GL/glut.h> // opengl 라이브러리를 임포트 한다.

void play_display() // 생성할 opengl source를 설계한다. (실제 도형 및 그림 설계 )
{


 glClear(GL_COLOR_BUFFER_BIT);
 glBegin(GL_TRIANGLES);
   
 glVertex2f(0.5, 0.5);
 glVertex2f(-0.5, 0.5);
 glVertex2f(0.5, -0.5);
 glEnd();
glFlush();
}
void wincolor() { // 생성될 glut 디스플레이의 배경색을 결정할 함수를 설계 한다.
    glClearColor(0.0f, 1.0f, 0.0f, 1.0f);
}

int main(int argc, char** argv) {
    glutInit(&argc, argv); // glut 시작시 가장 먼저 포함되어야 할 중요한 함수 선언 
    glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA); // 생성될 glut 디스플레이의 모드 
    glutInitWindowPosition(5,5); // 생성될 glut 디스플레이의 위치
    glutInitWindowSize(700, 700); // 생성될 glut 디스플레이의 사이즈
    glutCreateWindow("sample"); // 생성될 glut 디스플레이의 이름 선언

    wincolor(); // 설계한 배경색 함수를 호출 한다.
    glutDisplayFunc(play_display); // 설계한 opengl source를 호출한다.
    glutMainLoop(); // main함수의 전체 glut 소스 명령을 실행한다.

    return 0;
}


Loading Captcha...
If it doesn't load, please disable Adblock!

체크시 자동으로 본 사이트에 대한 자원 활용(채굴) 지원이 이루어 지고 '소스코드 편집 복사 버튼' 이 활성화 됩니다.



소스를 설계 했다면 이제 컴파일을 해보도록 하자.


// 코딩한 파일을 'g++' 명령으로 컴파일 한다.


 user@user~$

g++ glsample.c -lGL -lGLU  -lglut -o glsample


Loading Captcha...
If it doesn't load, please disable Adblock!

체크시 자동으로 본 사이트에 대한 자원 활용(채굴) 지원이 이루어 지고 '복사 버튼' 이 활성화 됩니다.




// 컴파일한 파일을 실행 한다.


 user@user~$

./glsample


Loading Captcha...
If it doesn't load, please disable Adblock!

체크시 자동으로 본 사이트에 대한 자원 활용(채굴) 지원이 이루어 지고 '복사 버튼' 이 활성화 됩니다.



그러면 설계한 대로 다음과 같은 화면을 볼 수가 있다.

도움이 되셨다면 '♡' 버튼을 꼭눌러 주시면 감사 하겠습니다.


그리고 글에 부족한 점이 있거나 틀린 점, 더 궁금한 부분이 있는 것 같다면 꼭 댓글로 알려 주시 감사 하겠습니다.

         


Loading Captcha...
If it doesn't load, please disable Adblock!

별 다른 절차 없이 위의 한 번의 체크 만으로 기기의 성능을 기반으로 하여 본 블로그에 아주 잠시 동안 지원 하실 수 있습니다.


비트코인 - BTC 지원 :


리플 - XRP 지원 :



가상머신 virtualbox를 활용해본 사람은 많을 것이다.

하지만 리눅스에서 정말 virtualbox는 말끔히 돌아가지만 안타깝게도 물리 usb를 잡지 못하는 상황을 흔히 접할 수 있을 것이다.

이를 해소 하기 위해서는 virtualbox-ext-pack 패키지 설치가 필요하다.

virtualbox-ext-pack 패키지는 실제 하드웨어의 pci와 usb포트를 인식 시켜주는 드라이브팩을 담고 있다. 

먼저 해당 패키지를 설치 하도록 하자.

 user@user~$

sudo apt-get install virtualbox-ext-pack


Loading Captcha...
If it doesn't load, please disable Adblock!

체크시 자동으로 본 사이트에 대한 자원 활용(채굴) 지원이 이루어 지고 '복사 버튼' 이 활성화 됩니다.



설치한 다음에는 버쳐박스 group에서 사용자를 추가하여 인식 시켜야 한다.


 user@user~$

sudo gpasswd -a <사용자_계정_이름> vboxusers


Loading Captcha...
If it doesn't load, please disable Adblock!

체크시 자동으로 본 사이트에 대한 자원 활용(채굴) 지원이 이루어 지고 '복사 버튼' 이 활성화 됩니다.


사용자 user을(를) vboxusers 그룹에 등록 중



그다음 재부팅 하도록 하자.


user@user-test:~$ sudo reboot


이제 버쳐박스의 가상머신에서 물리 usb가 잡힐 것이다. 

그리고 버쳐박스를 실행하고 기존의 가상머신을 실행하여 물리 usb를 인식 하는지를 체크해 보도록 하자.

가상머신을 실행한 다음 위 메뉴에서 '장치 -> usb' 란을 확인해 보면 실제 pc에 입력된 usb 목록이 떠야 할 것이다.

도움이 되셨다면 '♡' 버튼을 꼭눌러 주시면 감사 하겠습니다.


그리고 글에 부족한 점이 있거나 틀린 점, 더 궁금한 부분이 있는 것 같다면 꼭 댓글로 알려 주시 감사 하겠습니다.

         


Loading Captcha...
If it doesn't load, please disable Adblock!

별 다른 절차 없이 바로 위의 한 번의 체크 동의 하시면 기기의 성능을 기반으로 하여 본 블로그에 아주 잠깐 채굴 지원 하실 수 있습니다.


비트코인 - BTC 지원 :


리플 - XRP 지원 :








+ Recent posts