LINUX.ORG.RU

Gentoo. Не запускается emerge :\

 ,


0

2

Салют, да прибудет с нами сила! Впервые поднимаю Дженту, всё по хендбуку.

Значит установил всё и настроил через chroot. ну, без иксов.

Загружаюсь в систему, всё ок, сеть работает,

emerge --ask app-admin/sudo
- и оно просто молчит.

В логи /var/log/emerge.log ничего особенного не падает. По Ctrl+C прерывается. emerge --info отрабатывает.

Потыкал пайтон для приличия.

Проверил на запись корень.

Всё ок с виду, но emerge не запускается.

А через chroot всё работает :\

При добавлении флага --debug всё останавливается на этом:

myaction None
myopts {'--debug': True, '--ask': True, '--verbose': True}

Как жить, что думать? Два раза установил - повторилось. Сап Лор!

Ответ на: комментарий от Pinkbyte

Привет, благодарю за содействие.

emerge --info https://pastebin.com/vca0Z30z
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
udev on /dev type devtmpfs (rw,nosuid,relatime,size=10240k,nr_inodes=2039088,mode=755)
devpts on /dev/pts type devpts (rw,relatime,gid=5,mode=620,ptmxmode=000)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
/dev/sdc5 on / type ext4 (rw,noatime)
tmpfs on /run type tmpfs (rw,nodev,relatime,size=1632148k,mode=755)
debugfs on /sys/kernel/debug type debugfs (rw,nosuid,nodev,noexec,relatime)
fusectl on /sys/fs/fuse/connections type fusectl (rw,nosuid,nodev,noexec,relatime)
selinuxfs on /sys/fs/selinux type selinuxfs (rw,relatime)
cgroup_root on /sys/fs/cgroup type tmpfs (rw,nosuid,nodev,noexec,relatime,size=10240k,mode=755)
openrc on /sys/fs/cgroup/openrc type cgroup (rw,nosuid,nodev,noexec,relatime,release_agent=/lib/rc/sh/cgroup-release-agent.sh,name=openrc)
none on /sys/fs/cgroup/unified type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate)
cpuset on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cpu on /sys/fs/cgroup/cpu type cgroup (rw,nosuid,nodev,noexec,relatime,cpu)
cpuacct on /sys/fs/cgroup/cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpuacct)
freezer on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
mqueue on /dev/mqueue type mqueue (rw,nosuid,nodev,noexec,relatime)
shm on /dev/shm type tmpfs (rw,nosuid,nodev,noexec,relatime)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,nosuid,nodev,noexec,relatime)
Filesystem      Size  Used Avail Use% Mounted on
udev             10M  4.0K   10M   1% /dev
/dev/sdc5        11G  5.7G  4.2G  58% /
tmpfs           1.6G  836K  1.6G   1% /run
cgroup_root      10M     0   10M   0% /sys/fs/cgroup
shm             7.8G     0  7.8G   0% /dev/shm
Avahi-Daemon
() автор топика

всё по хендбуку

cgroup теперь по умолчанию в handbook предлагают? у него отдельная статья в wiki для openrc.

https://wiki.gentoo.org/wiki/OpenRC/CGroups

Сама установка для openrc или systemd была? Для второго при монтировании при установке какие-то дополнительные параметры были для монтирования.

Так как в croot работает, а в загруженной системе нет, возможно из-за того, что в настройках ядра что-то не учтено. Но это как предположение.

grem ★★★★★
()
Последнее исправление: grem (всего исправлений: 1)
Ответ на: комментарий от grem

cgroup теперь по умолчанию в handbook предлагают?

хз, видимо.

$ cat rc.conf | grep rc_controller_cgroups
#rc_controller_cgroups="YES"

Сама установка была для OpenRc.

Avahi-Daemon
() автор топика
Ответ на: комментарий от Avahi-Daemon

Ну так оно закомментированно, а в выводе mount упоминается почему-то

Each cgroup controller is mounted at: /sys/fs/cgroup

All other features described in this wiki page will work only if you have set this option to «YES».

grem ★★★★★
()
Последнее исправление: grem (всего исправлений: 1)

с запущенным emerge в другой консоли
kill -USR1 `pgrep emerge`
где консоль с emerge должен быть выхлоп с backtrace, смотри на какой функции он застрял.

arrecck ★★★
()
Ответ на: комментарий от arrecck

Привет! Благодарю за содействие.

--Return--
> /usr/lib/python-exec/python3.6/emerge(30)debug_signal()->None
-> pdb.set_trace()
(Pdb)
(Pdb) list
(Pdb)  
 25  		# writing to a pipe.
 26  		signal.signal(signal.SIGPIPE, signal.SIG_DFL)
 27  	
 28  		def debug_signal(_signum, _frame):
 29  			import pdb
 30  ->			pdb.set_trace()
 31  	
 32  		if platform.python_implementation() == 'Jython':
 33  			debug_signum = signal.SIGUSR2 # bug #424259
 34  		else:
 35  			debug_signum = signal.SIGUSR1
(Pdb) q
(Pdb) Traceback (most recent call last):
  File "/usr/lib/python-exec/python3.6/emerge", line 53, in <module>
    retval = emerge_main()
  File "/usr/lib64/python3.6/site-packages/_emerge/main.py", line 1289, in emerge_main
    return run_action(emerge_config)
  File "/usr/lib64/python3.6/site-packages/_emerge/actions.py", line 3311, in run_action
    emerge_config.opts) \
  File "/usr/lib64/python3.6/site-packages/portage/proxy/objectproxy.py", line 31, in __call__
    return result(*args, **kwargs)
  File "/usr/lib64/python3.6/site-packages/_emerge/post_emerge.py", line 43, in display_news_notification
    news_counts = count_unread_news(portdb, vardb)
  File "/usr/lib64/python3.6/site-packages/portage/news.py", line 419, in count_unread_news
    count = manager.getUnreadItems(repo, update=True)
  File "/usr/lib64/python3.6/site-packages/portage/news.py", line 179, in getUnreadItems
    self.updateItems(repoid)
  File "/usr/lib64/python3.6/site-packages/portage/news.py", line 117, in updateItems
    unread_lock = lockfile(unread_filename, wantnewlockfile=1)
  File "/usr/lib64/python3.6/site-packages/portage/locks.py", line 113, in lockfile
    unlinkfile=unlinkfile, waiting_msg=waiting_msg, flags=flags)
  File "/usr/lib64/python3.6/site-packages/portage/locks.py", line 181, in _lockfile_iteration
    myfd = os.open(lockfilename, os.O_CREAT|os.O_RDWR, 0o660)
  File "/usr/lib64/python3.6/site-packages/portage/__init__.py", line 285, in __getattribute__
    def __getattribute__(self, attr):
  File "/usr/lib/python-exec/python3.6/emerge", line 30, in debug_signal
    pdb.set_trace()
  File "/usr/lib64/python3.6/bdb.py", line 55, in trace_dispatch
    return self.dispatch_return(frame, arg)
  File "/usr/lib64/python3.6/bdb.py", line 99, in dispatch_return
    if self.quitting: raise BdbQuit
bdb.BdbQuit

Ничего не понятно, но очень интересно ((%

Avahi-Daemon
() автор топика
Ответ на: комментарий от Avahi-Daemon

emerge лочится при проверке news.
Посмотри,что в директории /var/lib/gentoo/news (это по умолчанию), я бы попробывал удалить эту директорию, если ее кто-то лочит, rm это выведет.
Как решение в лоб, можно в FEATURES отключить news.
Вообще, это баг.
В этом коде не ловится exception, получается вечный цикл.

while True:
				try:
					myfd = os.open(lockfilename, os.O_CREAT|os.O_RDWR, 0o660)
				except OSError as e:
					if e.errno in (errno.ENOENT, errno.ESTALE) and os.path.isdir(os.path.dirname(lockfilename)):
						# Retry required for NFS (see bug 636798).
						continue
					else:
						_raise_exc(e)
				else:
					break

arrecck ★★★
()
Ответ на: комментарий от arrecck

Спасибо.

$ ls -la /var/lib/gentoo/news
total 16
drwxrwxr-x 2 root portage 4096 Aug 12 09:07 .
drwxr-xr-x 4 root root    4096 Aug 12 21:23 ..
-rw-r--r-- 1 root root       0 Jul 16 17:56 .keep_app-admin_eselect-0
-rw-rw-r-- 1 root portage  210 Aug 12 08:51 news-gentoo.skip
-rw-rw-r-- 1 root portage  210 Aug 12 08:51 news-gentoo.unread
-rw-rw---- 1 root portage    0 Aug 12 09:07 .news-gentoo.unread.portage_lockfile

Я потёр директорию, и очутился в чуть ином месте:

--Return--
> /usr/lib/python-exec/python3.6/emerge(30)debug_signal()->None
-> pdb.set_trace()
(Pdb) q
(Pdb) Traceback (most recent call last):
  File "/usr/lib/python-exec/python3.6/emerge", line 53, in <module>
    retval = emerge_main()
  File "/usr/lib64/python3.6/site-packages/_emerge/main.py", line 1289, in emerge_main
    return run_action(emerge_config)
  File "/usr/lib64/python3.6/site-packages/_emerge/actions.py", line 3311, in run_action
    emerge_config.opts) \
  File "/usr/lib64/python3.6/site-packages/portage/proxy/objectproxy.py", line 31, in __call__
    return result(*args, **kwargs)
  File "/usr/lib64/python3.6/site-packages/_emerge/post_emerge.py", line 43, in display_news_notification
    news_counts = count_unread_news(portdb, vardb)
  File "/usr/lib64/python3.6/site-packages/portage/news.py", line 419, in count_unread_news
    count = manager.getUnreadItems(repo, update=True)
  File "/usr/lib64/python3.6/site-packages/portage/news.py", line 179, in getUnreadItems
    self.updateItems(repoid)
  File "/usr/lib64/python3.6/site-packages/portage/news.py", line 117, in updateItems
    unread_lock = lockfile(unread_filename, wantnewlockfile=1)
  File "/usr/lib64/python3.6/site-packages/portage/locks.py", line 113, in lockfile
    unlinkfile=unlinkfile, waiting_msg=waiting_msg, flags=flags)
  File "/usr/lib64/python3.6/site-packages/portage/locks.py", line 176, in _lockfile_iteration
    preexisting = os.path.exists(lockfilename)
  File "/usr/lib64/python3.6/site-packages/portage/__init__.py", line 286, in __getattribute__
    cache = object.__getattribute__(self, '_cache')
  File "/usr/lib/python-exec/python3.6/emerge", line 30, in debug_signal
    pdb.set_trace()
  File "/usr/lib64/python3.6/bdb.py", line 55, in trace_dispatch
    return self.dispatch_return(frame, arg)
  File "/usr/lib64/python3.6/bdb.py", line 99, in dispatch_return
    if self.quitting: raise BdbQuit
bdb.BdbQuit

Тогда я отключил в FEATURES news и упёрся в следующее по очереди :\

These are the packages that would be merged, in order:

Calculating dependencies  --Return--
> /usr/lib/python-exec/python3.6/emerge(30)debug_signal()->None
-> pdb.set_trace()
(Pdb) list
(Pdb)  25  		# writing to a pipe.
 26  		signal.signal(signal.SIGPIPE, signal.SIG_DFL)
 27  	
 28  		def debug_signal(_signum, _frame):
 29  			import pdb
 30  ->			pdb.set_trace()
 31  	
 32  		if platform.python_implementation() == 'Jython':
 33  			debug_signum = signal.SIGUSR2 # bug #424259
 34  		else:
 35  			debug_signum = signal.SIGUSR1
(Pdb) q
(Pdb) ... done!
Traceback (most recent call last):
  File "/usr/lib/python-exec/python3.6/emerge", line 53, in <module>
    retval = emerge_main()
  File "/usr/lib64/python3.6/site-packages/_emerge/main.py", line 1289, in emerge_main
    return run_action(emerge_config)
  File "/usr/lib64/python3.6/site-packages/_emerge/actions.py", line 3325, in run_action
    retval = action_build(emerge_config, spinner=spinner)
  File "/usr/lib64/python3.6/site-packages/_emerge/actions.py", line 340, in action_build
    settings, trees, myopts, myparams, myaction, myfiles, spinner)
  File "/usr/lib64/python3.6/site-packages/_emerge/depgraph.py", line 9749, in backtrack_depgraph
    myaction, myfiles, spinner)
  File "/usr/lib64/python3.6/site-packages/_emerge/depgraph.py", line 9786, in _backtrack_depgraph
    success, favorites = mydepgraph.select_files(myfiles)
  File "/usr/lib64/python3.6/site-packages/_emerge/depgraph.py", line 3937, in select_files
    return self._select_files(args)
  File "/usr/lib64/python3.6/site-packages/_emerge/depgraph.py", line 3946, in _select_files
    self._load_vdb()
  File "/usr/lib64/python3.6/site-packages/_emerge/depgraph.py", line 648, in _load_vdb
    fake_vartree.sync()
  File "/usr/lib64/python3.6/site-packages/_emerge/FakeVartree.py", line 211, in sync
    self._real_vardb.lock()
  File "/usr/lib64/python3.6/site-packages/portage/dbapi/vartree.py", line 249, in lock
    self._lock = lockdir(self._dbroot)
  File "/usr/lib64/python3.6/site-packages/portage/locks.py", line 100, in lockdir
    return lockfile(mydir, wantnewlockfile=1, flags=flags)
  File "/usr/lib64/python3.6/site-packages/portage/locks.py", line 113, in lockfile
    unlinkfile=unlinkfile, waiting_msg=waiting_msg, flags=flags)
  File "/usr/lib64/python3.6/site-packages/portage/locks.py", line 304, in _lockfile_iteration
    removed = _lockfile_was_removed(myfd, lockfilename)
  File "/usr/lib64/python3.6/site-packages/portage/locks.py", line 358, in _lockfile_was_removed
    hardlink_path = hardlock_name(lock_path)
  File "/usr/lib64/python3.6/site-packages/portage/locks.py", line 501, in hardlock_name
    return os.path.join(base, ".%s.hardlock-%s-%s" %
  File "/usr/lib64/python3.6/site-packages/portage/__init__.py", line 286, in __getattribute__
    cache = object.__getattribute__(self, '_cache')
  File "/usr/lib/python-exec/python3.6/emerge", line 30, in debug_signal
    pdb.set_trace()
  File "/usr/lib64/python3.6/bdb.py", line 55, in trace_dispatch
    return self.dispatch_return(frame, arg)
  File "/usr/lib64/python3.6/bdb.py", line 99, in dispatch_return
    if self.quitting: raise BdbQuit
bdb.BdbQuit

Такое впечатление, что будто нехватает прав.

Avahi-Daemon
() автор топика
Ответ на: комментарий от Avahi-Daemon

DISTDIR не по хендбуку. Менял? Или хендбук старый? А в новой директории дерево есть?

dm_al
()

всё по хендбуку

Мне тоже один раз показалось, что я всё по хэндбуку сделал,а оказалось, что пропустил все пункты связанные с сетью (ну не нужна она мне была тогда). Из-за того, что не правил /etc/hosts и не прописал туда что-то о localhost дико долго длился запуск тестового сервера и mc.

grem ★★★★★
()
Ответ на: комментарий от grem

Мне тоже один раз показалось, что я всё по хэндбуку сделал,а оказалось, что пропустил все пункты связанные с сетью (ну не нужна она мне была тогда). Из-за того, что не правил /etc/hosts и не прописал туда что-то о localhost дико долго длился запуск тестового сервера и mc.

Подписываюсь. ТС, начни чтение с нуля (англоязычный хендбук), если время дорого. Выйдет намного быстрее. Если же ты хочешь развлекаться, то пожалуйста, но имей ввиду, это по итогу обозначится как гентопроблемы.

anonymous
()
Ответ на: комментарий от Avahi-Daemon

А что было то? Я правда плохо сам представляю как можно поставить пакет с ядром без дерева? И почему всё же в mount указан cgroup, а в rc.conf выключен.

grem ★★★★★
()
Ответ на: комментарий от grem

Привет. Ну в общем, по странице которой я делал установку https://wiki.gentoo.org/wiki/Handbook:AMD64/Full/Installation/ru я распаковывал stage3, делал emerge-webrsync, и как-бэ всё. через чрут всё работало.

А после, я обнаружил что на странице посвященной конкретно чруту написано распаковывывать stage3, распаковывать portage, и делать emerge --sync.

Я постучал себе по голове и качнул второй архив. А чего про него по первому урлу ни слова?

И почему всё же в mount указан cgroup, а в rc.conf выключен.

В rc.conf он деактивирован. Видимо он включен по умолчанию, или может я в конфиге ядра чего щёлкнул, и оно включилось без связи с rc.conf, - я не знаю. А что это, на пальцах если не сложно?

Avahi-Daemon
() автор топика
Ответ на: комментарий от Avahi-Daemon

В конфиге ядра cgroup включен по-умолчанию, не выключить. Даже на OpenRC. Что-то ещё от него похоже зависит.

dm_al
()
Ответ на: комментарий от Avahi-Daemon

emerge-webrsync

Надо было делать после перехода в chroot. Он качает архив и распаковывает, а emerge --sync (что не обязательно) обновляет до более актуальной версии. Об этом там пишут.

grem ★★★★★
()
Ответ на: комментарий от grem

распаковывывать stage3

Распаковка его делается как раз до chroot, иначе будет некуда чрутиться.

Но я обычно ставил без сети и поэтому архив с деревом у меня тоже лежал на флешке.

grem ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.