환경변수...

윈도우는

set

이라는 명령으로 확인이 가능하죵~~!



C:\Users\Jesus001>set

ALLUSERSPROFILE=C:\ProgramData

APPDATA=C:\Users\Jesus001\AppData\Roaming

asl.log=Destination=file

CLIENTNAME=LITTLEJESUS-PC

CommonProgramFiles=C:\Program Files\Common Files

CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files

CommonProgramW6432=C:\Program Files\Common Files

COMPUTERNAME=JESUS001-PC

ComSpec=C:\Windows\system32\cmd.exe

DXSDK_DIR=C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\

FP_NO_HOST_CHECK=NO

HOMEDRIVE=C:

HOMEPATH=\Users\Jesus001

LOCALAPPDATA=C:\Users\Jesus001\AppData\Local

LOGONSERVER=\\JESUS001-PC

NUMBER_OF_PROCESSORS=8

OS=Windows_NT

Path=C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86

(x86)\Intel\OpenCL SDK\2.0\bin\x64;C:\Program Files (x86)\Microsoft SQL Server\90\Tool

ft DNX\Dnvm\;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;C:\P

PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC

PROCESSOR_ARCHITECTURE=AMD64

PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 42 Stepping 7, GenuineIntel

PROCESSOR_LEVEL=6

PROCESSOR_REVISION=2a07

ProgramData=C:\ProgramData

ProgramFiles=C:\Program Files

ProgramFiles(x86)=C:\Program Files (x86)

ProgramW6432=C:\Program Files

PROMPT=$P$G

PSModulePath=C:\Windows\system32\WindowsPowerShell\v1.0\Modules\

PUBLIC=C:\Users\Public

SESSIONNAME=RDP-Tcp#0

SystemDrive=C:

SystemRoot=C:\Windows

TEMP=C:\Users\Jesus001\AppData\Local\Temp

TMP=C:\Users\Jesus001\AppData\Local\Temp

USERDOMAIN=Jesus001-PC

USERNAME=Jesus001

USERPROFILE=C:\Users\Jesus001

VBOX_MSI_INSTALL_PATH=C:\Program Files\Oracle\VirtualBox\

VISUALKERNEL_DIR=C:\Program Files (x86)\Sysprogs\VisualKernel\

VISUALSVN_SERVER=C:\Program Files\VisualSVN Server\

VS140COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools\

VS80COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio 8\Common7\Tools\

windir=C:\Windows

windows_tracing_flags=3

windows_tracing_logfile=C:\BVTBin\Tests\installpackage\csilogfile.log


set

이라는 명령으로...

설정도 할 수 있고..

확인도 할 수 있습니다.



C:\Users\Jesus001>set /?

cmd.exe 환경 변수를 보여주거나 설정하거나 지웁니다.


SET [변수=[문자열]]


 변수      환경 변수 이름을 지정합니다.

 문자열    변수에 할당할 문자열을 지정합니다.


매개 변수 없이 'SET'이라고 입력하면, 현재 환경 변수를 볼 수 있습니다


명령 확장을 사용하면 SET는 아래와 같이 바뀝니다.


SET 명령은 변수 이름만으로 호출되며, = 기호나 값으로

그 변수의 값을 표시하지는 않습니다. 예를 들어,


   SET P


는 문자 'P'로 시작되는 모든 변수를 표시합니다.


SET 명령은 변수 이름을 현재 환경에서 찾을 수 없으면

ERRORLEVEL을 1로 설정합니다.


SET 명령에서는 환경 변수 이름에 = 기호를 사용할 수 없습니다.


SET 명령에는 아래와 같이 새로운 두 개의 스위치가 추가됩니다.


   SET /A 표현식

   SET /P 변수=[promptString]


/A 스위치는 = 기호의 오른쪽에 있는 문자열이

수식임을 지정합니다. 이는 계산되어 문자열로 변환되거나

지정한 변수의 새 값으로 만들어진 결과입니다.

표현식 평가기는 매우 간단하며 아래 연산을 지원합니다.


   ()          - 그룹 짓기

   ! ~ -               - 단일 연산자

   * / %               -  산술 연산자

   + -                 - 산술 연산자

   << >>               - 논리 이동

                      - 비트단위 and

   ^                   - 비트단위 상호 배제 or

   |                   - 비트단위 or

   = *= /= %= += -=    - 할당

     &= ^= |= <<= >>=

   ,                   - 식 구분 기호


논리 연산자를 사용하면 표현식 문자열을 인용 부호로 묶어야

합니다.  표현식에서 숫자가 아닌 문자열은 환경 변수 문자열로

취급하며, 그 값은 사용하기 전에 숫자로 변환됩니다. 환경 변수 이름이

지정되었지만 현재 환경에서 정의되지 않았으면 0 값이 사용됩니다.

이렇게 하면 환경 변수 값을 가져오기 위해 % 기호를

모두 입력할 필요 없이 환경 변수 값으로 산술 연산을 수행할 수

있습니다. 명령 스크립트 밖의 명령줄에서 SET /A를 실행하면,

표현식의 마지막 값이 표시됩니다. 할당 연산자의 왼쪽에

환경 변수 이름이 있어야 합니다.  숫자 값은 아무 접두어가 없으면

십진수이며, 접두어 0x는 16진수, 0은 8진수를

나타냅니다. 그러므로 0x12, 18은  022와 같습니다.

8진수는 혼동될 수 있다는 것에 주의하십시오: 08과 09는

8, 9가 올바른 8진수가 아니므로 잘못된 수 입니다.


/P 스위치는 변수의 값을 사용자가 입력한 입력 줄에 설정하도록

계속하려면 아무 키나 누르십시오 . . .



set에 대한 도움말입니다.^^

자...

리눅스에서는

환경변수를 확인할 수 있는 방법이 뭘까요?


export라는 놈입니다.



test@ubuntu:~/linux-2.6/arch/arm/boot$ export

declare -x HOME="/home/test"

declare -x LANG="en_US.UTF-8"

declare -x LESSCLOSE="/usr/bin/lesspipe %s %s"

declare -x LESSOPEN="| /usr/bin/lesspipe %s"

declare -x LOGNAME="test"

declare -x LS_COLORS="rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:"

declare -x MAIL="/var/mail/test"

declare -x OLDPWD="/home/test/linux-2.6/arch/arm"

declare -x PATH="/home/test/CodeSourcery/Sourcery_G++_Lite/bin:/home/test/qemu_test/qemu_linux_arm_busybox:/home/test/CodeSourcery/Sourcery_G++_Lite/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"

declare -x PWD="/home/test/linux-2.6/arch/arm/boot"

declare -x SHELL="/bin/bash"

declare -x SHLVL="1"

declare -x SSH_CLIENT="192.168.33.1 11587 22"

declare -x SSH_CONNECTION="192.168.33.1 11587 192.168.33.129 22"

declare -x SSH_TTY="/dev/pts/3"

declare -x TERM="xterm"

declare -x USER="test"

declare -x XDG_SESSION_COOKIE="047d2460b37629d8f1d4034400000004-1455504899.214975-1581490371"


음...

음..설정은 어떻게 할까요?




$ export TEST=micingamza

이렇게 하니까...



test@ubuntu:~/linux-2.6/arch/arm/boot$ export

declare -x HOME="/home/test"

declare -x LANG="en_US.UTF-8"

declare -x LESSCLOSE="/usr/bin/lesspipe %s %s"

declare -x LESSOPEN="| /usr/bin/lesspipe %s"

declare -x LOGNAME="test"

declare -x LS_COLORS="rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:"

declare -x MAIL="/var/mail/test"

declare -x OLDPWD="/home/test/linux-2.6/arch/arm"

declare -x PATH="/home/test/CodeSourcery/Sourcery_G++_Lite/bin:/home/test/qemu_test/qemu_linux_arm_busybox:/home/test/CodeSourcery/Sourcery_G++_Lite/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"

declare -x PWD="/home/test/linux-2.6/arch/arm/boot"

declare -x SHELL="/bin/bash"

declare -x SHLVL="1"

declare -x SSH_CLIENT="192.168.33.1 11587 22"

declare -x SSH_CONNECTION="192.168.33.1 11587 192.168.33.129 22"

declare -x SSH_TTY="/dev/pts/3"

declare -x TERM="xterm"

declare -x TEST="micingamza"

declare -x USER="test"

declare -x XDG_SESSION_COOKIE="047d2460b37629d8f1d4034400000004-1455504899.214975-1581490371"


자 보세요...

declare -x TEST=”micingamza”

가 보이시죠^^???


자...

사용해볼까요^^?


test@ubuntu:~/linux-2.6/arch/arm/boot$ echo $TEST

micingamza

음..

자...

echo 라는 명령으로

확인할 수 있어요


$TEST라는 환경변수를

찍어라는 명령인거죠~~!!!

후후후






자...리눅스 커널을 빌드해라~!


왜냐고? 그냥~~

이유는 없다…


Just do it~!

그냥 하는거다…

그냥 하는 것이 이유다…

아니 난 리눅스 천재니까~~!!

흐~


리눅스 이~녀석~~~




  1. 우선 커널 소스를 받아온다.

  2. .config 파일을 복사한다.

  3. make 한다. (2시간정도 걸림)

  4. make modules 를 한다.

  5. make modules_install 을 한다.

대충 말하면 이렇게 한다…

자세한 정보는 다음 이곳들을 보며 대충알 수 있습니다.

귀찮아서리~~~

아주 친절하게 설명할 에너지가 없네유~~


http://emzei.tistory.com/m/post/153

http://blog-wk.blogspot.kr/2010/08/blog-post_29.html

http://blog.daum.net/bagjunggyu/138


제가 헤맨것만 설명을 드리면..

성공하기까지..몇일이 걸렸습니다. 이런;;;


.config 파일의 중요성을 몰랐어요..

.config 파일의 커널구셩내용이 적혀 있는데.

현재 작동중인 커널 구성에서 크게 달라지면 큰일 납니다.

부팅이 안되니까요…


.config를 대충만들면...결국 이 화면을 보게 될것 입니다. 저처럼 ㅋㅋㅋㅋ

.config 를 무시하지 마세요~~!!


요령은 현재 잘 작동중인 커널의 .config 을 사용하라..

이것은 구굴링하면 설명은 찾을 수 있어요…


아니 설명해 드릴꼐요..

https://help.ubuntu.com/community/Kernel/Compile ← 아주 잘 설명하고 있내요~~영어로~~ㅋㅋ



cp -vi /boot/config-`uname -r` .config

이게 제가 볼텐 커널 빌드시 핵심중의 핵심이라고 생각합니데이~~


일단 카피해놓고

이 구성중에서 변경을 해야쥐~

쌩짜(new)에서 구성하는 것은

저 같은 쪼가 리눅서에게는

불가능한일입니뎅~~


암튼 .config만 잘 되어 있으면

이제 빌드하면 됩니데이~~


참고로 밑의 그림은.말입니다.

제가 테스트한 페로라의 현재 /boot 디렉토리 밑에 있는

현재 커널의 .config 파일입니다.

빨간박스 안이 말입니다.~~~~~~



암튼 그러고 나서

그냥

바로~


make

해버리면 됩니다.


그리고 2시간 정도 기다립니다.


그리고 나서..다음 명령을 실행시켜주면...

  • make modules

  • make modules_install

  • make install


되는것입니다.



[root@localhost linux]# make modules

 CHK     include/config/kernel.release

 CHK     include/generated/uapi/linux/version.h

 CHK     include/generated/utsrelease.h

 CHK     include/generated/bounds.h

 CHK     include/generated/timeconst.h

 CHK     include/generated/asm-offsets.h

 CALL    scripts/checksyscalls.sh

 Building modules, stage 2.

 MODPOST 2878 modules


위 화면은 말입니다…

make modules

실행 결과입니다.


2878개...모듈...이 있더구만요~~





바뀌었다…

커널 버전이 바뀐것입니다.

위 화면은 제가 새로 만든 커널로 부팅한 결과화면입니다~


좀더 더~~

친절하고 꼼꼼하게

설명했어야 하는디~

죄송합니다~~




[참고]

http://emzei.tistory.com/m/post/153

http://blog-wk.blogspot.kr/2010/08/blog-post_29.html

http://blog.daum.net/bagjunggyu/138

https://help.ubuntu.com/community/Kernel/Compile



[결론]

결론은…

글을 꼼꼼히 읽자이종~~;;;;;;

다 설명에 있었습니다.


.config 복사해서 하라고

그 문장을 제가 과감하게 무시했습니다.


할렐루야~~



흐…..

음….

모든 프로세스를 보고 싶다고….


ps명령으로는 다 안보여~~~!!!


고작 두개 밖에 보이질 않아..


이게 전부가 아닐꺼야…



[root@localhost ~]# ps --help simple


Usage:

ps [options]


Basic options:

-A, -e               all processes

-a                   all with tty, except session leaders

 a                   all with tty, including other users

-d                   all except session leaders

-N, --deselect       negate selection

 r                   only running processes

 T                   all processes on this terminal

 x                   processes without controlling ttys




닥치고…^__^

-ef를 가장 많이 사용한다고~!!


“다 귀찮고… ps -ef 만 할꺼야ㅎ~ㅋ~”


-e 옵션은 모든 프로세스를 표시해주는 옵션이며,

-f옵션은 전체경로로 프로세스를 표시해주는 옵션이다.




자 따라 해보세요^^



ps -ef


일단 이거면 충분합니다.


그리고 내가 찾는 녀석이 있는지 확인하기 위해서


ps -ef | grep test

파이프 | 그리피 grep 를 사용하면 환상적입니다.^^

+ Recent posts