http://codingsmith.tistory.com/entry/%EC%BB%A4%EC%8A%A4%ED%85%80-%EB%A6%AC%EB%88%85%EC%8A%A4-OS-iso-%ED%8C%8C%EC%9D%BC-%EB%A7%8C%EB%93%A4%EA%B8%B0


일단 링크만 남겨놓고 나중에 한번 써봐야 겠다...


그놈만 쓰다보니 KDE가 그리워서 뭐를 써볼까 하다 No.1 리눅스를 설치해서 써봤다...

근데...뭐랄까...하루에 한번씩은 걍 먹통이 되는 현상이 있어서 왜 그런지 모르겠다...ㅡㅡ;;

아놔~ 개발하는 PC인데 한번씩 먹통이 되면 안되기에 이번엔 페도라를 설치 했다..

KDE를 쓰겠다는 강한 의지로 인해...ㅎㅎ 근데...페도라도 같은 증상이 있어서 다시 밀고 토요일인 오늘...점심 먹고...느즈막~히 출근을 해서 마지막이란 심정으로(이번에도 안되는 걍 민트 19 설치할 생각...) 쿠분투로 설치했는데...

어떨려나 모르겠다...ㅡㅡ;;

Source: StatCounter Global Stats - OS Market Share



윈도 점유율은...역시나 어마어마 하구만~ 

리눅스...1.48% 

후훗~ 그럼 난 전세계 1%에 속하는구마잉~ ㅋㅋㅋ

이런거라도 1% 클럽에 들수 있어서...가문에 영광 이구만~ ㅎㅎ

리눅스 쓰면 전세계 1% 클럽에 들수 있어요~~ 리눅스 쓰세요~ ㅋㅋㅋㅋ


CentOS 7에서 시스템이 재부팅이 되면서 Tomcat이 올라오지 않아 새벽에 연락이 왔다..ㅡㅡ;;;

그래서 재부팅이 되면 톰켓이 올라 올라오게 했다...


/etc/profile.d/

요 경로에 가보면 .sh 파일들이 몇개 있는데 cp로 기존에 있던걸 하나 복사를 해서


예) cp aaa.sh bbb.sh

원본인 aaa.sh 파일을 bbb.sh 이름으로 복사해라~ 는 의미다...


vi 명령어로 bbb.sh 파일을 열어서 복사를 했으니 원본의 내용이 있겠지...

다~ 지우고 

./home/user/tomcat/bin/startup.sh


등록을 해주고 :wq! 로 빠저 나오면 된다...


/etc/profile.d/ 경로에 있는 스크립트 파일들은 부팅을 하면서 실행이 되는 스크립트 파일들이다...


아파치 포트가 1024보다 크고, root 권한으로 실행하는데,

아래와 같은 오류가 발생하면서 아파치 서버가 실행되지 않는 경우가 있다.

service httpd start
Starting httpd: 
(13)Permission denied: make_sock: could not bind to address [::]:8000
(13)Permission denied: make_sock: could not bind to address 0.0.0.0:8000
no listening sockets available, shutting down
Unable to open logs
                                                           [FAILED]

이 경우 SELinux(Security-Enhanced Linux) 정책으로 인한 문제이므로, 아래와 같이 확인한다.

sestatus
SELinux status:                 enabled
SELinuxfs mount:                /selinux
Current mode:                   enforcing
Mode from config file:          enforcing
Policy version:                 24
Policy from config file:        targeted

setenforce 0

service httpd start
Starting httpd: 
                                                           [  OK  ]

setenforce 1

이 방식으로는 restart를 하게 되면 동일한 오류가 또 발생하기 때문에,
setenforce를 아예 꺼버리거나 아니면 semanage를 이용하여 SELinux 설정을 변경한다.

semanage가 없으면 설치한다.

yum list policycoreutils-python

설치 완료되면, 
http 포트로 지정되어 있는 설정 정보를 확인한다.

semanage port -l | grep http
http_cache_port_t              tcp      3128, 8080, 8118, 8123, 10001-10010
http_cache_port_t              udp      3130
http_port_t                    tcp      80, 81, 443, 488, 8008, 8009, 8443, 9000
pegasus_http_port_t            tcp      5988
pegasus_https_port_t           tcp      5989

사용하려는 포트가 지정된 포트인지 확인한다.
semanage port -m -t http_port_t -p tcp 8000
/usr/sbin/semanage: tcp/800에 대한 포트가 지정되지 않았습니다

포트가 지정되어 있지 않으면, 해당 포트를 추가한다.
semanage port -a -t http_port_t -p tcp 8000

정상적으로 등록되었는지 확인한다.
semanage port -l | grep http
http_cache_port_t              tcp      3128, 8080, 8118, 8123, 10001-10010
http_cache_port_t              udp      3130
http_port_t                    tcp      8000, 80, 81, 443, 488, 8008, 8009, 8443, 9000
pegasus_http_port_t            tcp      5988
pegasus_https_port_t           tcp      5989

아파치 restart를 다시 실행한다.
# service httpd restart
httpd 를 정지 중:                                          [  OK  ]
httpd (을)를 시작 중:                                      [  OK  ]


위와 같이 정상적으로 실행된 상태에서,
php 페이지 호출하는 403 fobidden이 발생하고, 아래와 같은 오류가 발생하는 경우는...

[error] (13)Permission denied: access to /wordpress/wp-admin/install.php

getsebool -a | grep httpd
allow_httpd_anon_write --> off
allow_httpd_mod_auth_ntlm_winbind --> off
allow_httpd_mod_auth_pam --> off
allow_httpd_sys_script_anon_write --> off
httpd_builtin_scripting --> on
httpd_can_check_spam --> off
httpd_can_network_connect --> off
httpd_can_network_connect_cobbler --> off
httpd_can_network_connect_db --> off
httpd_can_network_memcache --> on
httpd_can_network_relay --> off
httpd_can_sendmail --> off
httpd_dbus_avahi --> on
httpd_enable_cgi --> on
httpd_enable_ftp_server --> off
httpd_enable_homedirs --> off
httpd_execmem --> off
httpd_manage_ipa --> off
httpd_read_user_content --> off
httpd_setrlimit --> off
httpd_ssi_exec --> off
httpd_tmp_exec --> off
httpd_tty_comm --> on
httpd_unified --> on
httpd_use_cifs --> off
httpd_use_gpg --> off
httpd_use_nfs --> off
httpd_use_openstack --> off

빨간색 표시된 넘들을 on으로 설정해 준다.

setsebool -P httpd_can_network_connect_db on
setsebool -P httpd_enable_homedirs on

httpd_can_network_connect_db는 http 호출시 db 접속을 허용하는 것이고,
httpd_enable_homedirs은 http 호출시 home dir 접근을 허용한다.

httpd를 재시작해준다.
service httpd restart

-------------------------------------------------------------

출처 : http://dochi575.egloos.com/4867779

나처럼 삽질 하는 사람이 없길 바라는 마음으로 남긴다...

간만에 집컴에 리눅스 Mint18 KDE를 받아서 설치를 하려고 라이브CD를 구동을 했다...

근데 보통의 경우 라이브CD로 부팅을 하게 되면 인터넷도 되고 간단히 문서 작업도 할수 있고 등등의

일들이 가능한데, 인터넷이 안되는것이다...에이~ 설치 하면 되겠지 라는 마음에 쿨하게 설치 했다...

(지금까지 리눅스 쓰면서 인터넷이 안됬던건  처음 리눅스를 접해서 정말 많은 시간을 들여 삽질을 해야만 했던 90년대 말, 2000년도 초 중순 빼고 그 이후로는 없는거 같다...)

근데 왠걸...설치를 다 했는데 인터넷이 안되는거다...

콘솔에서 lspci 로 확인을 해봐도 분명히 잡혀있고 네트워크를 확인해봐도 분명하게 올라와 있는데...

ip를 못가져온다...

재미있는건 ifconfig를 해보면 ipv6인 inet6 addr 는 올라오는데 ipv4인 inet이 올라오질 않는다...공유기로부터 ip를 못가져오는거지...

그래서 설치가 잘못된건가 해서 Mint18.1 베타도 설치해보고 다시 Mint18도 다시 설치해보고 서너번은 재설치를 했던거 같다...

bios업데이트도 해볼라고 했더니...이미 최신 버전이네?? ㅡㅡ;;

그래서 간만에 삽질했다...ㅡㅡ;;

근데 원인은 다른곳에 있었네...이런 된장..ㅡㅡ;;


구글링을 해보니 기가바이트 970A-DS3P가 이슈가 좀 있는듯 했다...한편으로 나만 그런게 아니었구나~ 라는 생각과

그럼 어딘가 해결한 인간들이 있겠구나 라는 생각이 들었다...


역시나~ 있었다...

문제는 iommu라는 녀석이었다...나도 아직 찾아보진 않아서 머하는 녀석인지는 모르지만 bios상에서 iommu가 기본 disable되어 있다.

이게 문제였다 iommu 가 disable되어 있으면 usb3.0이 동작을 하지만 usb2.0, network이 동작을 안하는거다.

반대로 iommu가 enable되어 있으면 usb3.0이 동작을 안하고...머 이런 거지같은 설정이 다 있어...ㅡㅡ;;

나처럼 윈도랑 멀티부팅을 하게 되면 윈도우에서 둘중 하나가 안되는 불상사가 일어나기 때문에...아래 대로 하면 불상사를 막을수 있다.


iommu이녀석을 bios 에서 enable 해주고, 부팅을 하고

sudo vi /etc/default/grub 또는

sudo gedit /etc/default/grub 으로 열어서

GRUB_CMDLINE_LINUX="" 이렇게 되어 있는 값을 GRUB_CMDLINE_LINUX="iommu=soft"로 변경을 해주고 저장후

sudo update-grub 을 하고 재부팅을 해서

bios 또는 UEFI 에서 iommu를 다시 disable로 해주면 윈도우, 리눅스에서 모든게 해결이 된다...


이것때문에 지난주말과 어제 오늘 삽질한걸 생각을 하면...ㅡㅡ;;


아오~ 진짜...;;


=====================================================================

추가

Mint 18.1 Cinnamon 에서도 Mint 18 KDE와 동일한 증상이 있는거 보니 아무래도 Ubuntu영향이 아닌가 싶다. 확인은 안해봤지만...;;

메인보드에 iommu 설정이 있는 보드는 위와 같이 한다면 문제없이 되리라 봅니다...

Mint 18.1 Cinnamon 에서도 위 설정대로 하니 정상적으로 사용이 가능 했습니다.



출처:

http://www.linux-hardware-guide.com/2014-07-12-gigabyte-ga-970a-ds3p-mainboard-socket-am3-atx-amd-970sb950-6x-sata-iii-4x-ddr3-rj-45-2x-usb-3-0


혹시 몰라 남겨본다...

그동안 dasom 입력기를 사용하다가, 이클립스와 기타 버그로 인해서, 님프로 갈아타고 

http://cogniti-works.blogspot.kr/2016/04/blog-post.html 여기에 나와 있는

다솜입력기와 님프입력기 개발자분의 블로그에 나와 있는대로 설정을 하려고 했지만, 

키보드 설정이 달라 그런지 개발자님의 스크린샷에 나와 있는 "한국어 한/영, 한자키" 이 부분이 나한태는 보이지 않았다.

그래서 이래저래 설정을 변경을 하다 보니...됬다...ㅡㅡ;;; 어찌 된건지는...나도...잘...;;;;

그래서 남겨본다...설치 환경과 키보드 레이아웃등등 관련 정보를 좀 남겼다가 나중에 써먹을일 있음 좀 써먹어야 겠다...

설치할때 키보드는 101/104키 호환으로 설치 한듯 하다(아마도..;;;)


그리고 미천한 기억력으로 인해 지금의 설정은 스크린샷으로 남긴다...;;;;

사용하고 있는 키보드는 Topre RealForce87U 턴키리스 키보드이다.

왜 안되다가 갑자기...됐을까...ㅡㅡ;;;





사실 보면 알겠지만...별 설정한거 없는거 같다...


제목대로 KDE와 Gnome 데스크탑 환경의 차이에 대해 잘 설명되어 있는 블로그 링크...

http://moordev.tistory.com/7

우분투와 민트에 있는 소프트웨어 센터에서 virtualbox를 설치를 하게 되면

virtualbox.org에 올라와 있는 최신 버전으로 설치가 되지 않는다.

virtualbox를 써보면 알겠지만 USB2.0 또는 3.0과 원격데스크톱을 쓸라고 하면 Extenstion Pack을 설치해야 하는데

소프트웨어 센터에는 virtualbox만 올라와 있고 Extenstion Pack은 올라와 있지 않다.

virtualbox를 소프트웨어 센터에 있는 구버전을 설치를 했으니 당연히 Extenstion Pack도 맞는 버전을 설치를 해야 하지만,

virtualbox.org에 다운로드 화면에서 스크롤을 해야만 older Build 를 볼수 있다...내 불찰이다...이런...ㅡㅡ;;;

이로써 이틀간의 삽질이 끝났다...ㅠㅠ virtualbox를 지웠다 설치했다 하기를 몇번을 했는지...ㅡㅡ;;;


근데 virtualbox.org에 있는 최신버전으로 virtualbox와 Extenstion Pack도 설치를 해봤는데 뭔가가 매끄럽지가 않아서 지웠다...ㅎㅎ;;;


시작 전에 우분투&쿠분투와 페도라 에서는 아래 방법이 적용이 되는데 그 외 배포판은 확인 안해봤음...


우분투를 기반으로 하고 있는 Linux Mint는 기본적으로 Openjdk가 설치되어 있다.

하지만 자바 개발자로써 개인적으로는 영~ 맘에 안든다...맘에 안든다기 보다는...뭐랄까...좀 꺼림직 하다고 해야 하나???

뭐 무튼 그렇다 그래서 윈도를 쓰던 시절부터 jdk는 주로 사용하는 버전과 그 상위 메이져 버전과 그 하위 메이져 버전을 항상 가지고 다녔는데,

버릇 남 못준다고 리눅스 사용하면서도 마찬가지로 3개 버전의 jdk를 가지고 있다...

그래서 가지고 있는 jdk를 시스템 기본 jdk로 변경할수 있는 방법을 찾아 봤다...


출처에는 openjdk를 삭제 하라고 되어 있지만...귀차니즘으로 삭제는 안했다...ㅎㅎㅎ

(출처:http://community.linuxmint.com/tutorial/view/1372)

원출처에는 openjdk를 삭제 하고 다운받는거 부터 시작을 하지만, 나는 삭제 안하고 소장하고 있는 버전을 사용할거기 때문에 해당 내용은 빼고 쓴다...


1.sudo mkdir -p /opt/java

루트 opt/ 디렉토리에 java 디렉토리를 생성한다. 


2.sudo mv jdk1.7.0_25 /opt/java

가지고 있는 jdk를 좀전에 만든 /opt/java/ 디렉토리에 이동 또는 복사 한다.


3.아래를 차례대로 실행해 준다. 

sudo update-alternatives --install "/usr/bin/java" "java" "/opt/java/jdk1.7.0_25/bin/java" 1
sudo update-alternatives --install "/usr/bin/javac" "javac" "/opt/java/jdk1.7.0_25/bin/javac" 1
sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/opt/java/jdk1.7.0_25/bin/javaws" 1

시스템 기본 java를 좀전에 복사한 jdk로 수정한다.


4.java의 환경변수를 위에 복사한 경로로 변경한다.

sudo update-alternatives --set java /opt/java/jdk1.7.0_25/bin/java
sudo update-alternatives --set javac /opt/java/jdk1.7.0_25/bin/javac
sudo update-alternatives --set javaws /opt/java/jdk1.7.0_25/bin/javaws

sudo update-alternatives --set java /opt/java/jdk1.7.0_25/bin/java

java의 환경변수를 위에 복사한 경로로 변경한다.


이렇게 하면 끝이고


java -version으로 버전을 확인 해보면 변경된 것을 볼수 있다.



혹시 콘솔에서 java -version 을 했는데 안나오면 환경 변수에 추가해 줘야 한다. 

vi 편집기로 /etc/profile 을 열어서 맨 마지막에 추가해 준다. 

JAVA_HOME=/usr/local/java/jdk1.8.0_45 PATH=$PATH:$HOME/bin:$JAVA_HOME/bin export JAVA_HOME export PATH


+ Recent posts