지풍@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

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

그런데 제공해주는 바이너리를 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

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이 나온 다면 다른 방법을 찾아 보셔야 할껍니다~

mantis에서 파일 업로드 할 때 최대 크기가 분명 5메가라고 나와 있는데 4메가 정도 파일을 업로드 할 경우 APPLICATION ERROR #401 이라는 오류가 뜰 때가 있습니다

이럴 때는 php와 mysql의 설정 문제 때문에 발생하는 것 같더군요

php나 mysql의 초기 설정이 작은 파일만 업로드 하도록 되어 있어서 이런 문제가 발생하는 것 같더군요

php 설정(/etc/php.ini)은 아래 항목을 수정하면 됩니다

file_uploads = On
upload_max_filesize = <업로드 파일 용량>M
post_max_size = <업로드 파일 용량>M
max_execution_time = <업로드 시 대기 시간, 초>


그리고 mysql 설정(/etc/my.cnf)는 아래 항목을 수정하면 됩니다

max_allowed_packet = <업로드 파일 용량>M


그리고 mysqld와 httpd를 재시작하면 그런 오류가 없어질 껍니다
 
rpm으로 heartbeat를 설치하다가 아래와 같이 오류 메시지를 내면서 설치가 안 되더군요

# rpm -Uvh ftp://ftp.sayclub.com/pub/linux/centos/5.6/extras/x86_64/RPMS/heartbeat-pils-2.1.3-3.el5.centos.x86_64.rpm

Retrieving ftp://ftp.sayclub.com/pub/linux/centos/5.6/extras/x86_64/RPMS/heartbeat-pils-2.1.3-3.el5.centos.x86_64.rpm

Preparing...                ########################################### [100%]

        installing package heartbeat-pils-2.1.3-3.el5.centos.x86_64 needs 244KB on the / filesystem


오류가 발생한 이유는 root filesystem에 남은 공간이 없어서 발생하더군요

root filesystem을 정리하고 다시 시도하면 오류 없이 설치 가능할 겁니다 
아래 명령처럼 특정 파일의 절대경로을 포함한 파일이름을 써주게 되면

그 파일이 어떤 RPM에 포함되어 있는지 알아 낼 수 있답니다

# rpm -qf /bin/ls

coreutils-5.97-23.el5_6.4 


출처 : http://sinun.tistory.com/84
log4cpp를 컴파일 하다 보면 아래와 같이 BasicLayout.cpp에서 오류가 날 때가 있습니다

BasicLayout.cpp:37: error: expected constructor, destructor, or type conversion

before ‘<’ token

 
 이럴 때는 아래와 같이 2군데에 수정을 해주면 컴파일이 되네요

BasicLayout.cpp:17

#include <memory> 추가 

PatternLayout.cpp:373

component = new FormatModifierComponent(component, std::abs((float)minWidth), maxWidth, minWidth < 0); 변경 

 
출처 : http://bugs.gentoo.org/217755 
1 2 3 
분류 전체보기 (202)
내가 사는 이야기 (2)
백과사전 (89)
듣고 보는 것 (0)
세상 이야기 (1)
맛집 투어 & 여행 (0)
컴퓨터 이야기 (110)
게임 이야기 (0)
위시리스트 (0)
스포츠 이야기 (0)
영화 이야기 (0)
우하하하하 (0)

공지사항

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백