2021年6月29日火曜日

nothing provides libaom.so.3()(64bit) needed by ffmpeg-libs-4.2.4-2

問題 1: cannot install the best update candidate for package ffmpeg-libs-4.2.4-1.el8.x86_64
- nothing provides libaom.so.3()(64bit) needed by ffmpeg-libs-4.2.4-2.el8.x86_64

問題 2: cannot install the best update candidate for package vlc-core-1:3.0.13-1.el8.1.x86_64
- nothing provides libaom.so.3()(64bit) needed by vlc-core-1:3.0.16-1.el8.x86_64


# dnf list installed |grep libaom
libaom.x86_64           1.0.0-8.20190810git9666276.el8                 @epel


# dnf --enablerepo=epel-testing install libaom
# dnf update

# dnf list |grep libaom
libaom.x86_64                                3.1.1-1.el8                                       @epel-testing          
libaom-devel.x86_64                   1.0.0-8.20190810git9666276.el8                    epel


# dnf repolist
repo id                                                  repo の名前
amdgpu-pro-local                          AMD amdgpu Pro local repository
appstream                                         CentOS Linux 8 - AppStream
baseos                                                 CentOS Linux 8 - BaseOS
code                                                      Visual Studio Code
elrepo                                                  ELRepo.org Community Enterprise Linux Repository - el8
epel                                                      Extra Packages for Enterprise Linux 8 - x86_64
epel-modular                                   Extra Packages for Enterprise Linux Modular 8 - x86_64
extras                                                   CentOS Linux 8 - Extras
google-chrome                               google-chrome
mariadb-main                                 MariaDB Server
mariadb-maxscale                        MariaDB MaxScale
mariadb-tools                                 MariaDB Tools
rpmfusion-free-updates             RPM Fusion for EL 8 - Free - Updates
zabbix                                                 Zabbix Official Repository - x86_64
zabbix-non-supported                Zabbix Official Repository non-supported - x86_64



2021年6月28日月曜日

dnf でリポジトリ有効無効切り替え

# dnf repolist
# dnf config-manager --disable slack
# dnf config-manager --enable slack
# dnf config-manager --add-repo repository_url

2021年2月3日水曜日

python デコレータ

いい例があった。

def outer(some_func):
  def inner():
    print( "before some_func" )
    ret = some_func() #1
    return ret + 1
  return inner

def foo():
  return 1

decorated = outer(foo) #2
decorated()
#before some_func
#2

class Coordinate(object):
  def __init__(self, x, y):
    self.x = x
    self.y = y
  def __repr__(self):
    return "Coord: " + str(self.__dict__)

def add(a, b):
    return Coordinate(a.x + b.x, a.y + b.y)

def sub(a, b):
    return Coordinate(a.x - b.x, a.y - b.y)

def wrapper(func):
  def checker(a, b):
    if a.x < 0 or a.y < 0:
      a = Coordinate(a.x if a.x > 0 else 0, a.y if a.y > 0 else 0)
    if b.x < 0 or b.y < 0:
      b = Coordinate(b.x if b.x > 0 else 0, b.y if b.y > 0 else 0) 
    ret = func(a, b)
    if ret.x < 0 or ret.y < 0:
      ret = Coordinate(ret.x if ret.x > 0 else 0, ret.y if ret.y > 0 else 0)
    return ret
  return checker

add = wrapper(add)
sub = wrapper(sub)
one = Coordinate(100, 200)
two = Coordinate(300, 200)
three = Coordinate(-100, -100)
add(one, two)
# Coord: {'y': 400, 'x': 400}
sub(one, two)
#Coord: {'y': 0, 'x': -200}
add(one, three)
#Coord: {'y': 100, 'x': 0}



def logger(func):
     def inner(*args, **kwargs): #1
         print( "Arguments were: %s, %s" % (args, kwargs))
         return func(*args, **kwargs) #2
     return inner

2020年12月26日土曜日

PXE ブートサーバ

# dnf -y install tftp-server
# systemctl enable --now tftp
# firewall-cmd --add-service=tftp --permanent
# firewall-cmd --reload

# dnf -y install dhcp-server
# vi /etc/dhcp/dhcpd.conf


# systemctl enable --now dhcpd
# firewall-cmd --add-service=dhcp --permanent
# firewall-cmd --reload

2020年12月2日水曜日

Django データベース アクセス

きれいにまとめてある。

https://qiita.com/KeAt/items/55fdedc8cac7c6852043

https://opendata-web.site/blog/entry/22/


Django公式

https://docs.djangoproject.com/ja/3.0/ref/models/fields/

https://docs.djangoproject.com/ja/3.0/ref/models/querysets/


save()              追加または更新

create()      オブジェクトの作成と保存を一つの処理で行う

add()              ManyToManyFieldのデータ追加

update()      一括更新

get_or_create()     データを取得、なければ追加

update_or_create()  データを更新、なければ追加

bulk_create()     一括追加



【書き込み】

Store( s_uuid      = user.uuid,

       c_uuid      = data['uuid'],

       scode       = scode,

       loc_a_uuid  = form.instance.a_uuid,

       date_update = datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f'),

       date_joined = form.instance.date_joined,

).save( using='default')


【読み込み】

qs  = Store.objects.filter( pk=uuid ).last()

qs  = Store.objects.get( pk=uuid )

scode = qs.scode


so  = Store.objects.filter( s_uuid=uuid ).first()

so  = Store.objects.filter( s_uuid=uuid ).last()

qs0 = Store.objects.filter( s_uuid=uuid )

so  = Store.objects.get( pk=uuid )

qs1  = Store.objects.values('c_uuid','scode')

dc   = Store.objects.values('c_uuid','scode').first()

scode = so.gcode

scode = qs0.first().scode

scode = qs1.scode

scode = dc[ 'scode' ]



2020年11月15日日曜日

VLAN構築

# nmcli device
# nmcli c s
NAME UUID TYPE DEVICE
enp1s0 3d64f6a1-a3eb-4dad-ad20-c52a21f5c060 ethernet enp1s0
virbr0 02b891f8-55be-4f44-8a18-d3ec680f01b0 bridge virbr0
# nmcli c add type vlan ifname vlan10 con-name vlan10 dev enp1s0 id 10
# nmcli c mod vlan10 ipv4.method manual ipv4.address 192.168.10.220/24
# nmcli c u vlan10

# nmcli c del vlan10
# nmcli c del enp1s0
# nmcli connection add type ethernet ifname enp1s0 con-name enp1s0

【例】
1) ホスト側
# nmcli c del vlan10
# nmcli c del vlan20
# nmcli c del vlan80
# nmcli c del vlan90

# nmcli c add type vlan ifname vlan10 con-name vlan10 dev enp39s0 id 10
# nmcli c add type vlan ifname vlan20 con-name vlan20 dev enp39s0 id 20
# nmcli c add type vlan ifname vlan80 con-name vlan80 dev enp39s0 id 80
# nmcli c add type vlan ifname vlan90 con-name vlan90 dev enp39s0 id 90

# nmcli c mod vlan10 ipv4.method manual ipv4.address 192.168.10.220/24
# nmcli c mod vlan20 ipv4.method manual ipv4.address 192.168.20.220/24
# nmcli c mod vlan80 ipv4.method manual ipv4.address 192.168.80.220/24
# nmcli c mod vlan90 ipv4.method manual ipv4.address 192.168.90.220/24

# nmcli c u vlan10
# nmcli c u vlan20
# nmcli c u vlan80
# nmcli c u vlan90

# nmcli c del vlan10
# nmcli c del vlan20
# nmcli c del vlan80
# nmcli c del vlan90

2)ゲスト側
# nmcli c mod enp1s0 ipv4.method manual ipv4.address 192.168.10.1/24
# nmcli c mod enp1s0 ipv4.method manual ipv4.address 192.168.20.1/24
# nmcli c mod enp1s0 ipv4.method manual ipv4.address 192.168.80.1/24
# nmcli c mod enp1s0 ipv4.method manual ipv4.address 192.168.90.1/24

# nmcli c u enp1s0

https://qiita.com/kanatatsu64/items/b7b8eca17202386d27e3

https://qiita.com/hana_shin/items/59e8492057d8686465e8

2020年10月30日金曜日

ssh X11forwarding

1)  リモート側(Xクライアント)

# vi /etc/ssh/sshd_config

X11DisplayOffset 10

X11Forwarding yes

X11UseLocalhost no

XauthLocation /usr/bin/xauth

# systemctl restart sshd


2) 起動

sshpass -p パスワード ssh  -X -C -p 22  xxx.xxx.xxx.xxx





NEXTJS PWA化

$ cd frontend $ npm install @ducanh2912/next-pwa $ vi next.config.ts<<__EOF__ import withPWAInit from "@ducanh2912/next-pwa"...