지풍@blog

지풍@blog RSS

어느 순간 부터 yum을 실행 시키면 아래와 같이 No option u'langpack_locales' 에러가 발생하면서 실행이 되지 않는 문제가 발생합니다


# yum update

Yum command has been deprecated, redirecting to '/usr/bin/dnf update'.

See 'man dnf' and 'man yum2dnf' for more information.

To transfer transaction metadata from yum to DNF, run:

'dnf install python-dnf-plugins-extras-migrate && dnf-2 migrate'


Traceback (most recent call last):

  File "/usr/bin/dnf", line 36, in <module>

    main.user_main(sys.argv[1:], exit_code=True)

  File "/usr/lib/python2.7/site-packages/dnf/cli/main.py", line 185, in user_main

    errcode = main(args)

  File "/usr/lib/python2.7/site-packages/dnf/cli/main.py", line 84, in main

    return _main(base, args)

  File "/usr/lib/python2.7/site-packages/dnf/cli/main.py", line 115, in _main

    cli.configure(map(ucd, args))

  File "/usr/lib/python2.7/site-packages/dnf/cli/cli.py", line 984, in configure

    self.base.plugins.run_init(self.base, self)

  File "/usr/lib/python2.7/site-packages/dnf/plugin.py", line 104, in run_init

    plugin = p_cls(base, cli)

  File "/usr/lib/python2.7/site-packages/dnf-plugins/langpacks.py", line 692, in __init__

    conflist = config.get('main', 'langpack_locales')

  File "/usr/lib/python2.7/site-packages/iniparse/compat.py", line 222, in get

    value = RawConfigParser.get(self, section, option, vars)

  File "/usr/lib/python2.7/site-packages/iniparse/compat.py", line 125, in get

    raise NoOptionError(option, section)

ConfigParser.NoOptionError: No option u'langpack_locales' in section: u'main'


참고로 Fedora 22 이며 Fedora 22부터 yum이 dnf로 바뀌다 보니 yum을 실행시키면 자동으로 dnf으로 리다이랙션을 시켜줍니다


해결 방법은 dnf-langpacks를 설치해주면 문제를 해결 할 수 있습니다

콘솔에서 아래아 같이 실행 하면 dnf-langpacks를 설치할 수 있으며 문제가 발생한 yum 혹은 dnf를 이제부터는 쓸수 있습니다

# wget ftp://ftp.kaist.ac.kr/fedora/updates/22/x86_64/d/dnf-langpacks-0.11.1-1.fc22.noarch.rpm
# rpm -Uvh dnf-langpacks-0.11.1-1.fc22.noarch.rpm


출처 : http://jaranguda.com/dnf-no-option-ulangpack_locales/

간혹 컴파일에 따라 아래와 같이 오류를 맽으면서 컴파일이 안 되는 경우가 발생합니다


undefined reference to `clock_getres'

collect2: ld returned 1 exit status


컴파일에 따라 RT library를 기본 포함하느냐 마느냐에 따라 위와 같이 오류가 발생합니다


-lrt를 추가해서 같이 컴파일 해주면 오류 없이 컴파일을 되는 것을 확인 할 수 있습니다


출처 : http://stackoverflow.com/questions/922492/use-of-clock-getres-newbie-linux-c

Fedora나 CentOS 같은 redhat 계열에서 ifconfig을 실행 했을 경우 찾을 수 없다라는 오류가 뜰 경우 해결 하는 방법입니다

net-tools이라는 패키지가 설치되지 않아 발생하는 문제이며 아래와 같이 yum으로 설치 및 해결 가능합니다

# ifconfig
-bash: ifconfig: command not found
# yum install net-tools
Resolving Dependencies
--> Running transaction check
---> Package net-tools.x86_64 0:2.0-0.6.20130109git.fc19 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package         Arch         Version                        Repository    Size
================================================================================
Installing:
 net-tools       x86_64       2.0-0.6.20130109git.fc19       fedora       293 k

Transaction Summary
================================================================================
Install  1 Package

Total download size: 293 k
Installed size: 855 k
Is this ok [y/d/N]: y
Downloading packages:
net-tools-2.0-0.6.20130109git.fc19.x86_64.rpm              | 293 kB   00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : net-tools-2.0-0.6.20130109git.fc19.x86_64                    1/1
  Verifying  : net-tools-2.0-0.6.20130109git.fc19.x86_64                    1/1

Installed:
  net-tools.x86_64 0:2.0-0.6.20130109git.fc19

Complete!


컴파일을 해야하는 소스로 제공되지 않고 컴파일된 바이너리를 제공해주는 곳이 몇몇 있습니다

그런데 제공해주는 바이너리를 64비트에서 실행하면 아래와 같이 오류가 뜨면서 실행이 안 되는 경우가 있습니다

-bash: ./cpuburn-in: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory

이럴 때는 32비트 라이브러리를 설치해줘야 실행됩니다

설치하는 방법은 아래와 같습니다

# yum install glibc.i686
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
 * base: centos.tt.co.kr
 * extras: centos.tt.co.kr
 * updates: centos.tt.co.kr
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package glibc.i686 0:2.12-1.107.el6_4.4 will be installed
--> Processing Dependency: libfreebl3.so(NSSRAWHASH_3.12.3) for package: glibc-2.12-1.107.el6_4.4.i686
--> Processing Dependency: libfreebl3.so for package: glibc-2.12-1.107.el6_4.4.i686
--> Running transaction check
---> Package nss-softokn-freebl.i686 0:3.14.3-3.el6_4 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package                 Arch      Version                   Repository    Size
================================================================================
Installing:
 glibc                   i686      2.12-1.107.el6_4.4        updates      4.3 M
Installing for dependencies:
 nss-softokn-freebl      i686      3.14.3-3.el6_4            updates      129 k

Transaction Summary
================================================================================
Install       2 Package(s)

Total download size: 4.5 M
Installed size: 13 M
Is this ok [y/N]: y
Downloading Packages:
(1/2): glibc-2.12-1.107.el6_4.4.i686.rpm                 | 4.3 MB     00:00
(2/2): nss-softokn-freebl-3.14.3-3.el6_4.i686.rpm        | 129 kB     00:00
--------------------------------------------------------------------------------
Total                                           5.6 MB/s | 4.5 MB     00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : glibc-2.12-1.107.el6_4.4.i686                                1/2
  Installing : nss-softokn-freebl-3.14.3-3.el6_4.i686                       2/2
  Verifying  : nss-softokn-freebl-3.14.3-3.el6_4.i686                       1/2
  Verifying  : glibc-2.12-1.107.el6_4.4.i686                                2/2

Installed:
  glibc.i686 0:2.12-1.107.el6_4.4

Dependency Installed:
  nss-softokn-freebl.i686 0:3.14.3-3.el6_4

Complete!


간혹 개발 서버를 재 설치 이후에 컴파일을 하면 아래와 같이 math 라이브러리를 못 찾는 다는 오류가 뜹니다

/usr/bin/ld: cannot find -lm

이럴 때는 glibc-static.x86_64 패키지를 설치 해주면 오류를 해결 할 수 있습니다

Redhat 계열은 아래와 같이 yum으로 간단히 설치 가능합니다

# yum install glibc-static.x86_64
Loaded plugins: fastestmirror, priorities, refresh-packagekit, security
Loading mirror speeds from cached hostfile
epel/metalink                                            | 5.2 kB     00:00
 * base: ftp.daum.net
 * epel: ftp.kddilabs.jp
 * extras: ftp.daum.net
 * updates: ftp.neowiz.com
PlexRepo                                                 |  951 B     00:00
base                                                     | 3.7 kB     00:00
epel                                                     | 3.9 kB     00:00
epel/primary_db                                          | 5.6 MB     00:01
extras                                                   | 3.4 kB     00:00
updates                                                  | 3.4 kB     00:00
updates/primary_db                                       | 4.5 MB     00:01
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package glibc-static.x86_64 0:2.12-1.107.el6_4.4 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package            Arch         Version                    Repository     Size
================================================================================
Installing:
 glibc-static       x86_64       2.12-1.107.el6_4.4         updates       1.4 M

Transaction Summary
================================================================================
Install       1 Package(s)

Total download size: 1.4 M
Installed size: 6.5 M
Is this ok [y/N]: y
Downloading Packages:
glibc-static-2.12-1.107.el6_4.4.x86_64.rpm               | 1.4 MB     00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : glibc-static-2.12-1.107.el6_4.4.x86_64                       1/1
  Verifying  : glibc-static-2.12-1.107.el6_4.4.x86_64                       1/1

Installed:
  glibc-static.x86_64 0:2.12-1.107.el6_4.4

Complete!


출처 : 
http://software.intel.com/en-us/articles/error-ld-cannot-find-lm

간혹 Synology NAS 혹은 일반 NAS를 설치하다 보면 환경에 따라 IP를 하나가 아니라 여러 개를 설정할 필요가 있습니다

그럴 경우에는 Synology NAS에서는 웹GUI에서 해주지 않기 때문에 별도의 방법이 필요 합니다

먼저 작업을 할 수 있도록 웹GUI에서 터미널을 활성화 시켜 줍니다

그런 다음 SSH 접속 프로그램으로 Synology NAS에 접속합니다

접속 할 때 username은 root가 되며 암호는 관리자 계정의 암호입니다

username을 관리자 계정으로 하면 설정 값을 볼 수만 있고 설정을 못하니 필히 root로 접속해야 합니다

접속한 다음 아래와 같이 파일 하나를 편집합니다

# vi /etc/rc

/etc/rc 파일은 부팅하면서 수행하는 작업들을 기술해 놓은 스크립트인데 이 파일의 가장 마지막 바로 윗줄에 아래와 같이 추가로 설정할 IP를 설정하면 됩니다

ifconfig eth0:1 192.168.0.2 netmask 255.255.255.0

이렇게 하면 기본으로 설정되는 네트워크 인터페이스인 eth0 이외에 추가로 가상의 네트워크 인터페이스인 eth0:1이 생성됩니다

eth0이 부모가 되고 그 밑에 추가로 자식으로 설정되는 것이기 때문에 ":"뒤에 숫자가 붙습니다

만약 추가로 더 IP를 설정하고 싶을 때는 eth0:2 eth0:3 이런 식으로 숫자를 더 붙여서 설정하면 됩니다


출처 : http://forum.synology.com/enu/viewtopic.php?f=145&t=43840

대학원 때나 최근까지 업무에서 RHEL 계열을 많이 쓰다가 집에 NAS를 도입 이후에 ubuntu를 조금씩 쓰게 되었습니다

RHEL 계열보다 커널 버전도 빨리 올라가고 패키지 관리도 ubuntu가 많이 편해서 쓰기 좋던데 한가지 문제점을 있더군요

바로 halt하면 ubuntu에서는 시스템이 안 꺼지더군요

vmware에서도 ubuntu를 설치하고 halt를 해도 시스템이 안 꺼지고 

NAS로 쓰고 있는 N40L에서도 halt를 해도 안 꺼지고 

회사에서 쓰고 있는 서버도 halt해도 안 꺼지는걸로 봐서 하드웨어 문제 보다는 ubuntu 자체 문제일 가능성이 높더군요

그래서 구글링을 해보니 아래와 같이 하니 halt를 하면 시스템이 꺼지더군요

/etc/default/halt

기존
HALT=poweroff

수정
#HALT=poweroff
INIT_HALT=poweroff

이렇게 /etc/default/halt에서 HALT를 INIT_HALT로 바꿔 주면 halt 명령이 제대로 되더군요

RHEL 계열에는 halt 하면 시스템이 자동으로 꺼지는데... (예전 부터... 아니 초기 버전부터??)

ubuntu는 꽤 옛날 부터 안 되는 것으로 봤는데 최신 버전까지 그렇게 되어 있더군요

참고로 poweroff 명령어도 있던데 이 명령어는 시스템을 꺼지게 하긴 합니다

RHEL 계열에 익숙해지다 보니... poweroff보다는 halt를 많이 쓰게 되어서 위와 같이 찾아 수정했답니다

최근 NAS에 대한 수요와 관심으로 일반 OS가 올라 가는 HP ProLiant MicroServer도 덩달아 많이 보급이 되었더군요

그래서 저도 조금 옛날 모델인 HP MicroServer N40L를 한대 영입했습니다

이곳 저곳 활용법을 찾다 보니까 MicroServer에 TV수신카드를 달아 XMBC으로 시청하거나 TV 프로그램을 녹화시키거나 활용할 수 있더군요

저도 TV 프로그램 녹화에 관심이 많아 집에 남아 돌고 있던 Dvico FusionHDTV7 Dual Express를 N40L에 장착하고 설치 해 봤습니다

그런데 장착 후 부터 N40L에 기본 내장되어 있는 LAN카드에서 WOL 기능이 안 되더군요

이런 저런 방법을 다 찾아 봐도 안 되더군요

그 전엔 잘 됐는데... 말이죠

그런데... 곰곰히 찾아보니 TV수신카드 자체에 제공하는 전원 관리 기능이랑 충돌이 나서 WOL 기능이 안 되는 것을 확인할 수 있더군요

TV수신카드와 메인보드와 연동이 되어 자동으로 PC의 전원을 올리는 기능이 있는데 그 기능이 LAN카드의 WOL와 충돌이 나는 것 같더군여

아래의 그림에 처럼 PME으로 되어 있는 점퍼를 SW로 바꾸면 메인보드와 직접 연동이 되지 않기 때문에 LAN카드의 WOL 기능이 제대로 되는 것을 확인 할 수 있더군요

  

ubuntu를 가볍게 설치하고 minidlna을 컴파일하고 있었는데 아래와 같은 에러 메시지가 뜨면서 컴파일이 안 되더군요

# make
make  all-recursive
make[1]: Entering directory `/root/minidlna-1.1.0'
Making all in po
make[2]: Entering directory `/root/minidlna-1.1.0/po'
test ! -f ./minidlna.pot || \
          test -z "da.gmo de.gmo es.gmo fr.gmo it.gmo ja.gmo nb.gmo nl.gmo pl.gmo ru.gmo sl.gmo sv.gmo" || make da.gmo de.gmo es.gmo fr.gmo it.gmo ja.gmo nb.gmo nl.gmo pl.gmo ru.gmo sl.gmo sv.gmo
make[3]: Entering directory `/root/minidlna-1.1.0/po'
rm -f da.gmo && : -c --statistics --verbose -o da.gmo da.po
mv: cannot stat ‘t-da.gmo’: No such file or directory
make[3]: *** [da.gmo] Error 1
make[3]: Leaving directory `/root/minidlna-1.1.0/po'
make[2]: *** [stamp-po] Error 2
make[2]: Leaving directory `/root/minidlna-1.1.0/po'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/root/minidlna-1.1.0'
make: *** [all] Error 2


알아 본 결과 gettext 패키지를 설치 하지 않아서 이런 문제가 발생하더군요
(http://www.linuxquestions.org/questions/linux-from-scratch-13/lfs-6-7-6-20-util-linux-ng-2-18-error-on-make-855734/ )

물론... 다시 make한다고 컴파일 되지 않습니다

다시 configure를 해줘야 그 이후에 제대로 make가 됩니다

gcc로 malloc이 들어 간 소스를 gcc로 컴파일 하면 아래와 같이 warning이 뜰 때가 있습니다

test.c:224: warning: implicit declaration of function ‘malloc’

test.c:224: warning: incompatible implicit declaration of built-in function ‘malloc’

이럴 때는 소스코드 내에 아래와 같이 헤더 파일 하나 추가시켜 주면 됩니다

#include <stdlib.h>

stdlib.h가 빠져서 이런 오류가 나올 수도 있는데, 추가하고도 warning이 나온 다면 다른 방법을 찾아 보셔야 할껍니다~

1 2 3 4 
분류 전체보기 (202)
내가 사는 이야기 (2)
백과사전 (89)
컴퓨터 (26)
리눅스 (35)
안드로이드 (10)
돈 굴리기 (11)
이것저것 (7)
듣고 보는 것 (0)
세상 이야기 (1)
맛집 투어 & 여행 (0)
컴퓨터 이야기 (110)
게임 이야기 (0)
위시리스트 (0)
스포츠 이야기 (0)
영화 이야기 (0)
우하하하하 (0)

공지사항

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백