dbus-python tutorialdbus-python tutorial

本文档详细介绍了如何使用Python进行D-Bus开发,包括连接到总线、调用方法、接收信号等操作,并提供了丰富的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Author:

Simon McVittie, Collabora Ltd.
Date:2006-06-14

This tutorial requires Python 2.4 or up, and dbus-python 0.80rc4 or up.

Connecting to the Bus

Applications that use D-Bus typically connect to a bus daemon , which forwards messages between the applications. To use D-Bus, you need to create a Bus object representing the connection to the bus daemon.

There are generally two bus daemons you may be interested in. Each user login session should have a session bus , which is local to that session. It's used to communicate between desktop applications. Connect to the session bus by creating a SessionBus object:

import dbus

session_bus = dbus.SessionBus()

The system bus is global and usually started during boot; it's used to communicate with system services like udev , NetworkManager , and the Hardware Abstraction Layer daemon (hald) . To connect to the system bus, create a SystemBus object:

import dbus

system_bus = dbus.SystemBus()

Of course, you can connect to both in the same application.

For special purposes, you might use a non-default Bus, or a connection which isn't a Bus at all, using some new API added in dbus-python 0.81.0. This is not described here, and will at some stage be the subject of a separate tutorial.

Making method calls

D-Bus applications can export objects for other applications' use. To start working with an object in another application, you need to know:

  • The bus name . This identifies which application you want to communicate with. You'll usually identify applications by a well-known name , which is a dot-separated string starting with a reversed domain name, such as org.freedesktop.NetworkManager or com.example.WordProcessor .

  • The object path . Applications can export many objects - for instance, example.com's word processor might provide an object representing the word processor application itself and an object for each document window opened, or it might also provide an object for each paragraph within a document.

    To identify which one you want to interact with, you use an object path, a slash-separated string resembling a filename. For instance, example.com's word processor might provide an object at / representing the word processor itself, and objects at /documents/123 and /documents/345 representing opened document windows.

As you'd expect, one of the main things you can do with remote objects is to call their methods. As in Python, methods may have parameters, and they may return one or more values.

Proxy objects

To interact with a remote object, you use a proxy object . This is a Python object which acts as a proxy or "stand-in" for the remote object - when you call a method on a proxy object, this causes dbus-python to make a method call on the remote object, passing back any return values from the remote object's method as the return values of the proxy method call.

To obtain a proxy object, call the get_object method on the Bus . For example, NetworkManager has the well-known name org.freedesktop.NetworkManager and exports an object whose object path is /org/freedesktop/NetworkManager , plus an object per network interface at object paths like /org/freedesktop/NetworkManager/Devices/eth0 . You can get a proxy for the object representing eth0 like this:

import dbus
bus = dbus.SystemBus()
proxy = bus.get_object('org.freedesktop.NetworkManager',
'/org/freedesktop/NetworkManager/Devices/eth0')
# proxy is a dbus.proxies.ProxyObject

Interfaces and methods

D-Bus uses interfaces to provide a namespacing mechanism for methods. An interface is a group of related methods and signals (more on signals later), identified by a name which is a series of dot-separated components starting with a reversed domain name. For instance, each NetworkManager object representing a network interface implements the interface org.freedesktop.NetworkManager.Devices , which has methods like getProperties .

To call a method, call the method of the same name on the proxy object, passing in the interface name via the dbus_interface keyword argument:

import dbus
bus = dbus.SystemBus()
eth0 = bus.get_object('org.freedesktop.NetworkManager',
'/org/freedesktop/NetworkManager/Devices/eth0')
props = eth0.getProperties(dbus_interface='org.freedesktop.NetworkManager.Devices')
# props is a tuple of properties, the first of which is the object path

As a short cut, if you're going to be calling many methods with the same interface, you can construct a dbus.Interface object and call methods on that, without needing to specify the interface again:

import dbus
bus = dbus.SystemBus()
eth0 = bus.get_object('org.freedesktop.NetworkManager',
'/org/freedesktop/NetworkManager/Devices/eth0')
eth0_dev_iface = dbus.Interface(eth0,
dbus_interface='org.freedesktop.NetworkManager.Devices')
props = eth0_dev_iface.getProperties()
# props is the same as before

See also

See the example in examples/example-client.py . Before running it, you'll need to run examples/example-service.py in the background or in another shell.

Data types

Unlike Python, D-Bus is statically typed - each method has a certain signature representing the types of its arguments, and will not accept arguments of other types.

D-Bus has an introspection mechanism, which dbus-python tries to use to discover the correct argument types. If this succeeds, Python types are converted into the right D-Bus data types automatically, if possible; TypeError is raised if the type is inappropriate.

If the introspection mechanism fails (or the argument's type is variant - see below), you have to provide arguments of the correct type. dbus-python provides Python types corresponding to the D-Bus data types, and a few native Python types are also converted to D-Bus data types automatically. If you use a type which isn't among these, a TypeError will be raised telling you that dbus-python was unable to guess the D-Bus signature.

Basic types

The following basic data types are supported.

Python typeconverted to D-Bus typenotes
D-Bus proxy object ObjectPath (signature 'o')(+)
dbus.Interface ObjectPath (signature 'o')(+)
dbus.service.Object ObjectPath (signature 'o')(+)
dbus.Boolean Boolean (signature 'b')a subclass of int
dbus.Byte byte (signature 'y')a subclass of int
dbus.Int16 16-bit signed integer ('n')a subclass of int
dbus.Int32 32-bit signed integer ('i')a subclass of int
dbus.Int64 64-bit signed integer ('x')(*)
dbus.UInt16 16-bit unsigned integer ('q')a subclass of int
dbus.UInt32 32-bit unsigned integer ('u')(*)_
dbus.UInt64 64-bit unsigned integer ('t')(*)_
dbus.Double double-precision float ('d')a subclass of float
dbus.ObjectPath object path ('o')a subclass of str
dbus.Signature signature ('g')a subclass of str
dbus.String string ('s')a subclass of unicode
dbus.UTF8String string ('s')a subclass of str
bool Boolean ('b') 
int or subclass32-bit signed integer ('i') 
long or subclass64-bit signed integer ('x') 
float or subclassdouble-precision float ('d') 
str or subclassstring ('s')must be valid UTF-8
unicode or subclassstring ('s') 

Types marked (*) may be a subclass of either int or long , depending on platform.

(+): D-Bus proxy objects, exported D-Bus service objects and anything else with the special attribute __dbus_object_path__ , which must be a string, are converted to their object-path. This might be useful if you're writing an object-oriented API using dbus-python.

Basic type conversions

If introspection succeeded, dbus-python will also accept:

  • for Boolean parameters, any object (converted as if via int(bool(...)) )
  • for byte parameters, a single-character string (converted as if via ord() )
  • for byte and integer parameters, any integer (must be in the correct range)
  • for object-path and signature parameters, any str or unicode subclass (the value must follow the appropriate syntax)

Container types

D-Bus supports four container types: array (a variable-length sequence of the same type), struct (a fixed-length sequence whose members may have different types), dictionary (a mapping from values of the same basic type to values of the same type), and variant (a container which may hold any D-Bus type, including another variant).

Arrays are represented by Python lists, or by dbus.Array , a subclass of list . When sending an array, if an introspected signature is available, that will be used; otherwise, if the signature keyword parameter was passed to the Array constructor, that will be used to determine the contents' signature; otherwise, dbus-python will guess from the array's first item.

The signature of an array is 'ax' where 'x' represents the signature of one item. For instance, you could also have 'as' (array of strings) or 'a(ii)' (array of structs each containing two 32-bit integers).

There's also a type dbus.ByteArray which is a subclass of str , used as a more efficient representation of a D-Bus array of bytes (signature 'ay').

Structs are represented by Python tuples, or by dbus.Struct , a subclass of tuple . When sending a struct, if an introspected signature is available, that will be used; otherwise, if the signature keyword parameter was passed to the Array constructor, that will be used to determine the contents' signature; otherwise, dbus-python will guess from the array's first item.

The signature of a struct consists of the signatures of the contents, in parentheses - for instance '(is)' is the signature of a struct containing a 32-bit integer and a string.

Dictionaries are represented by Python dictionaries, or by dbus.Dictionary , a subclass of dict . When sending a dictionary, if an introspected signature is available, that will be used; otherwise, if the signature keyword parameter was passed to the Dictionary constructor, that will be used to determine the contents' key and value signatures; otherwise, dbus-python will guess from an arbitrary item of the dict .

The signature of a dictionary is 'a{xy}' where 'x' represents the signature of the keys (which may not be a container type) and 'y' represents the signature of the values. For instance, 'a{s(ii)}' is a dictionary where the keys are strings and the values are structs containing two 32-bit integers.

Variants are represented by setting the variant_level keyword argument in the constructor of any D-Bus data type to a value greater than 0 (variant_level 1 means a variant containing some other data type, variant_level 2 means a variant containing a variant containing some other data type, and so on). If a non-variant is passed as an argument but introspection indicates that a variant is expected, it'll automatically be wrapped in a variant.

The signature of a variant is 'v'.

Return values, and the byte_arrays and utf8_strings options

If a D-Bus method returns no value, the Python proxy method will return None .

If a D-Bus method returns one value, the Python proxy method will return that value as one of the dbus. types - by default, strings are returned as dbus.String (a subclass of Unicode) and byte arrays are returned as a dbus.Array of dbus.Byte .

If a D-Bus method returns multiple values, the Python proxy method will return a tuple containing those values.

If you want strings returned as dbus.UTF8String (a subclass of str ) pass the keyword parameter utf8_strings=True to the proxy method.

If you want byte arrays returned as dbus.ByteArray (also a subclass of str - in practice, this is often what you want) pass the keyword parameter byte_arrays=True to the proxy method.

Making asynchronous method calls

Asynchronous (non-blocking) method calls allow multiple method calls to be in progress simultaneously, and allow your application to do other work while it's waiting for the results. To make asynchronous calls, you first need an event loop or "main loop".

Setting up an event loop

Currently, the only main loop supported by dbus-python is GLib.

dbus-python has a global default main loop, which is the easiest way to use this functionality. To arrange for the GLib main loop to be the default, use:

from dbus.mainloop.glib import DBusGMainLoop

DBusGMainLoop(set_as_default=True)

You must do this before connecting to the bus .

Actually starting the main loop is as usual for pygobject :

import gobject

loop = gobject.MainLoop()
loop.run()

While loop.run() is executing, GLib will run your callbacks when appropriate. To stop, call loop.quit() .

You can also set a main loop on a per-connection basis, by passing a main loop to the Bus constructor:

import dbus
from dbus.mainloop.glib import DBusGMainLoop

dbus_loop = DBusGMainLoop()

bus = dbus.SessionBus(mainloop=dbus_loop)

This isn't very useful until we support more than one main loop, though.

Backwards compatibility: dbus.glib

In versions of dbus-python prior to 0.80, the way to set GLib as the default main loop was:

import dbus.glib

Executing that import statement would automatically load the GLib main loop and make this the default. This is now deprecated, since it's highly non-obvious, but may be useful if you want to write or understand backwards-compatible code.

The Qt main loop

PyQt v4.2 and later includes support for integrating dbus-python with the Qt event loop. To connect D-Bus to this main loop, call dbus.mainloop.qt.DBusQtMainLoop instead of dbus.mainloop.glib.DBusGMainLoop . Otherwise the Qt loop is used in exactly the same way as the GLib loop.

Making asynchronous calls

To make a call asynchronous, pass two callables as keyword arguments reply_handler and error_handler to the proxy method. The proxy method will immediately return None . At some later time, when the event loop is running, one of these will happen: either

  • the reply_handler will be called with the method's return values as arguments; or
  • the error_handler will be called with one argument, an instance of DBusException representing a remote exception.

See also

examples/example-async-client.py makes asynchronous method calls to the service provided by examples/example-service.py which return either a value or an exception. As for examples/example-client.py , you need to run examples/example-service.py in the background or in another shell first.

Receiving signals

To receive signals, the Bus needs to be connected to an event loop - see section Setting up an event loop . Signals will only be received while the event loop is running.

Signal matching

To respond to signals, you can use the add_signal_receiver method on Bus objects . This arranges for a callback to be called when a matching signal is received, and has the following arguments:

  • a callable (the handler_function ) which will be called by the event loop when the signal is received - its parameters will be the arguments of the signal
  • the signal name, signal_name : here None (the default) matches all names
  • the D-Bus interface, dbus_interface : again None is the default, and matches all interfaces
  • a sender bus name (well-known or unique), bus_name : None is again the default, and matches all senders. Well-known names match signals from whatever application is currently the primary owner of that well-known name.
  • a sender object path, path : once again None is the default and matches all object paths

add_signal_receiver also has keyword arguments utf8_strings and byte_arrays which influence the types used when calling the handler function, in the same way as the byte_arrays and utf8_strings options on proxy methods.

add_signal_receiver returns a SignalMatch object. Its only useful public API at the moment is a remove method with no arguments, which removes the signal match from the connection.

Getting more information from a signal

You can also arrange for more information to be passed to the handler function. If you pass the keyword arguments sender_keyword , destination_keyword , interface_keyword , member_keyword or path_keyword to the connect_to_signal method, the appropriate part of the signal message will be passed to the handler function as a keyword argument: for instance if you use

def handler(sender=None):
print "got signal from %r" % sender

iface.connect_to_signal("Hello", handler, sender_keyword='sender')

and a signal Hello with no arguments is received from com.example.Foo , the handler function will be called with sender='com.example.Foo' .

String argument matching

If there are keyword parameters for the form arg n where n is a small non-negative number, their values must be unicode objects or UTF-8 strings. The handler will only be called if that argument of the signal (numbered from zero) is a D-Bus string (in particular, not an object-path or a signature) with that value.

Receiving signals from a proxy object

Proxy objects have a special method connect_to_signal which arranges for a callback to be called when a signal is received from the corresponding remote object. The parameters are:

  • the name of the signal
  • a callable (the handler function) which will be called by the event loop when the signal is received - its parameters will be the arguments of the signal
  • the handler function, a callable: the same as for add_signal_receiver
  • the keyword argument dbus_interface qualifies the name with its interface

dbus.Interface objects have a similar connect_to_signal method, but in this case you don't need the dbus_interface keyword argument since the interface to use is already known.

The same extra keyword arguments as for add_signal_receiver are also available, and just like add_signal_receiver , it returns a SignalMatch.

You shouldn't use proxy objects just to listen to signals, since they might activate the relevant service when created, but if you already have a proxy object in order to call methods, it's often convenient to use it to add signal matches too.

See also

examples/signal-recipient.py receives signals - it demonstrates general signal matching as well as connect_to_signal . Before running it, you'll need to run examples/signal-emitter.py in the background or in another shell.

Claiming a bus name

FIXME describe BusName - perhaps fix its API first?

The unique-instance idiom

FIXME provide exemplary code, put it in examples

Exporting objects

Objects made available to other applications over D-Bus are said to be exported . All subclasses of dbus.service.Object are automatically exported.

To export objects, the Bus needs to be connected to an event loop - see section Setting up an event loop . Exported methods will only be called, and queued signals will only be sent, while the event loop is running.

Inheriting from dbus.service.Object

To export an object onto the Bus, just subclass dbus.service.Object . Object expects either a BusName or a Bus object , and an object-path, to be passed to its constructor: arrange for this information to be available. For example:

class Example(dbus.service.Object):
def __init__(self, object_path):
dbus.service.Object.__init__(self, dbus.SessionBus(), path)

This object will automatically support introspection, but won't do anything particularly interesting. To fix that, you'll need to export some methods and signals too.

FIXME also mention dbus.gobject.ExportedGObject once I've written it

Exporting methods with dbus.service.method

To export a method, use the decorator dbus.service.method . For example:

class Example(dbus.service.Object):
def __init__(self, object_path):
dbus.service.Object.__init__(self, dbus.SessionBus(), path)

@dbus.service.method(dbus_interface='com.example.Sample',
in_signature='v', out_signature='s')
def StringifyVariant(self, variant):
return str(variant)

The in_signature and out_signature are D-Bus signature strings as described in Data Types .

As well as the keywords shown, you can pass utf8_strings and byte_arrays keyword arguments, which influence the types which will be passed to the decorated method when it's called via D-Bus, in the same way that the byte_arrays and utf8_strings options affect the return value of a proxy method.

You can find a simple example in examples/example-service.py , which we used earlier to demonstrate examples/example-client.py .

Finding out the caller's bus name

The method decorator accepts a sender_keyword keyword argument. If you set that to a string, the unique bus name of the sender will be passed to the decorated method as a keyword argument of that name:

class Example(dbus.service.Object):
def __init__(self, object_path):
dbus.service.Object.__init__(self, dbus.SessionBus(), path)

@dbus.service.method(dbus_interface='com.example.Sample',
in_signature='', out_signature='s',
sender_keyword='sender')
def SayHello(self, sender=None):
return 'Hello, %s!' % sender
# -> something like 'Hello, :1.1!'

Asynchronous method implementations

FIXME and also add an example, perhaps examples/example-async-service.py

Emitting signals with dbus.service.signal

To export a signal, use the decorator dbus.service.signal ; to emit that signal, call the decorated method. The decorated method can also contain code which will be run when called, as usual. For example:

class Example(dbus.service.Object):
def __init__(self, object_path):
dbus.service.Object.__init__(self, dbus.SessionBus(), path)

@dbus.service.signal(dbus_interface='com.example.Sample',
signature='us')
def NumberOfBottlesChanged(self, number, contents):
print "%d bottles of %s on the wall" % (number, contents)

e = Example('/bottle-counter')
e.NumberOfBottlesChanged(100, 'beer')
# -> emits com.example.Sample.NumberOfBottlesChanged(100, 'beer')
# and prints "100 bottles of beer on the wall"

The signal will be queued for sending when the decorated method returns - you can prevent the signal from being sent by raising an exception from the decorated method (for instance, if the parameters are inappropriate). The signal will only actually be sent when the event loop next runs.

Example

examples/example-signal-emitter.py emits some signals on demand when one of its methods is called. (In reality, you'd emit a signal when some sort of internal state changed, which may or may not be triggered by a D-Bus method call.)

License for this document

Copyright 2006-2007 Collabora Ltd.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

下面是我按照你的思路执行指令后终端打印的结果(base) casbot@casbot:~/ros_catkin_ws$ # 备份原文件 sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak # 使用清华源(Ubuntu 22.04) sudo sed -i 's@//.*archive.ubuntu.com@//mirrors.tuna.tsinghua.edu.cn@g' /etc/apt/sources.list sudo apt update && sudo apt upgrade -y Ign:1 http://deb.repo.autolabor.com.cn jammy InRelease Ign:2 http://deb.repo.autolabor.com.cn jammy Release Ign:3 http://deb.repo.autolabor.com.cn jammy/main all Packages Ign:4 http://deb.repo.autolabor.com.cn jammy/main amd64 Packages Hit:5 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy InRelease Ign:6 http://deb.repo.autolabor.com.cn jammy/main Translation-en Ign:3 http://deb.repo.autolabor.com.cn jammy/main all Packages Hit:7 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy-updates InRelease Ign:4 http://deb.repo.autolabor.com.cn jammy/main amd64 Packages Hit:8 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy-backports InRelease Ign:6 http://deb.repo.autolabor.com.cn jammy/main Translation-en Hit:9 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy-security InRelease Ign:3 http://deb.repo.autolabor.com.cn jammy/main all Packages Get:10 http://mirrors.tuna.tsinghua.edu.cn/ros2/ubuntu jammy InRelease [4682 B] Hit:11 http://packages.ros.org/ros/ubuntu focal InRelease Ign:4 http://deb.repo.autolabor.com.cn jammy/main amd64 Packages Ign:6 http://deb.repo.autolabor.com.cn jammy/main Translation-en Ign:3 http://deb.repo.autolabor.com.cn jammy/main all Packages Hit:4 http://deb.repo.autolabor.com.cn jammy/main amd64 Packages Ign:6 http://deb.repo.autolabor.com.cn jammy/main Translation-en Ign:3 http://deb.repo.autolabor.com.cn jammy/main all Packages Ign:6 http://deb.repo.autolabor.com.cn jammy/main Translation-en Ign:3 http://deb.repo.autolabor.com.cn jammy/main all Packages Ign:6 http://deb.repo.autolabor.com.cn jammy/main Translation-en Ign:3 http://deb.repo.autolabor.com.cn jammy/main all Packages Ign:6 http://deb.repo.autolabor.com.cn jammy/main Translation-en Fetched 4682 B in 3s (1850 B/s) Reading package lists... Done Building dependency tree... Done Reading state information... Done 80 packages can be upgraded. Run 'apt list --upgradable' to see them. Reading package lists... Done Building dependency tree... Done Reading state information... Done Calculating upgrade... Done Get more security updates through Ubuntu Pro with 'esm-apps' enabled: exo-utils libzvbi-common libzbar0 libheif1 libiperf0 libmujs1 libavdevice58 ffmpeg libopenexr25 libpostproc55 libmagickcore-6.q16-6-extra libavcodec58 libgstreamer-plugins-bad1.0-0 iperf3 libmagickwand-6.q16-6 libavutil56 libswscale5 libmagickcore-6.q16-6 libexo-2-0 libgsl27 gir1.2-gst-plugins-bad-1.0 libswresample3 imagemagick-6-common libavformat58 libzvbi0 gstreamer1.0-plugins-bad libgslcblas0 libde265-0 libexo-common libavfilter7 Learn more about Ubuntu Pro at https://ubuntu.com/pro The following NEW packages will be installed: libxcvt-dev The following packages have been kept back: dvb-tools ir-keytable libdvbv5-0 libdvbv5-dev libv4l-0 libv4l-dev libv4l2rds0 libv4lconvert0 qv4l2 v4l-utils xserver-common xserver-xorg-core xserver-xorg-legacy The following packages will be upgraded: apport ghostscript ghostscript-x gir1.2-javascriptcoregtk-4.0 gir1.2-soup-2.4 gir1.2-webkit2-4.0 git git-man libarchive13 libblockdev-crypto2 libblockdev-fs2 libblockdev-loop2 libblockdev-part-err2 libblockdev-part2 libblockdev-swap2 libblockdev-utils2 libblockdev2 libdjvulibre-text libdjvulibre21 libdvbv5-doc libgnutls30 libgs9 libgs9-common libjavascriptcoregtk-4.0-18 libnss-systemd libpam-modules libpam-modules-bin libpam-runtime libpam-systemd libpam0g libprotobuf23 libpython3.10 libpython3.10-dev libpython3.10-minimal libpython3.10-stdlib libre2-9 libsoup-gnome2.4-1 libsoup2.4-1 libsoup2.4-common libssh-4 libssh-gcrypt-4 libsystemd0 libudev1 libudisks2-0 libvpx7 libwebkit2gtk-4.0-37 libxslt1.1 linux-libc-dev python3-apport python3-pip python3-problem-report python3-protobuf python3-requests python3-urllib3 python3.10 python3.10-dev python3.10-minimal sudo systemd systemd-sysv ubuntu-advantage-tools ubuntu-pro-client ubuntu-pro-client-l10n udev udisks2 xserver-xorg-dev xwayland 67 upgraded, 1 newly installed, 0 to remove and 13 not upgraded. 62 standard LTS security updates Need to get 77.1 MB of archives. After this operation, 64.5 kB of additional disk space will be used. Get:1 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy-updates/main arm64 libpam0g arm64 1.4.0-11ubuntu2.6 [59.7 kB] Get:2 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy-updates/main arm64 libpam-modules-bin arm64 1.4.0-11ubuntu2.6 [38.6 kB] Get:3 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy-updates/main arm64 libpam-modules arm64 1.4.0-11ubuntu2.6 [279 kB] Get:4 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy-updates/main arm64 libnss-systemd arm64 249.11-0ubuntu3.16 [133 kB] Get:5 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy-updates/main arm64 libsystemd0 arm64 249.11-0ubuntu3.16 [314 kB] Get:6 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy-updates/main arm64 systemd-sysv arm64 249.11-0ubuntu3.16 [10.5 kB] Get:7 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy-updates/main arm64 libpam-systemd arm64 249.11-0ubuntu3.16 [205 kB] Get:8 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy-updates/main arm64 systemd arm64 249.11-0ubuntu3.16 [4423 kB] Get:9 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy-updates/main arm64 udev arm64 249.11-0ubuntu3.16 [1541 kB] Get:10 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy-updates/main arm64 libudev1 arm64 249.11-0ubuntu3.16 [74.5 kB] Get:11 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy-updates/main arm64 libpam-runtime all 1.4.0-11ubuntu2.6 [40.2 kB] Get:12 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy-updates/main arm64 libgnutls30 arm64 3.7.3-4ubuntu1.7 [922 kB] Get:13 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy-updates/main arm64 python3.10-dev arm64 3.10.12-1~22.04.10 [508 kB] Get:14 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy-updates/main arm64 libpython3.10-dev arm64 3.10.12-1~22.04.10 [4666 kB] Get:15 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy-updates/main arm64 libpython3.10 arm64 3.10.12-1~22.04.10 [1885 kB] Get:16 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy-updates/main arm64 python3.10 arm64 3.10.12-1~22.04.10 [508 kB] Get:17 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy-updates/main arm64 libpython3.10-stdlib arm64 3.10.12-1~22.04.10 [1846 kB] Get:18 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy-updates/main arm64 python3.10-minimal arm64 3.10.12-1~22.04.10 [2260 kB] Get:19 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy-updates/main arm64 libpython3.10-minimal arm64 3.10.12-1~22.04.10 [812 kB] Get:20 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy-updates/main arm64 sudo arm64 1.9.9-1ubuntu2.5 [807 kB] Get:21 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy-updates/main arm64 ubuntu-pro-client-l10n arm64 36ubuntu0~22.04 [20.6 kB] Get:22 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy-updates/main arm64 ubuntu-pro-client arm64 36ubuntu0~22.04 [236 kB] Get:23 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy-updates/main arm64 ubuntu-advantage-tools all 36ubuntu0~22.04 [10.9 kB] Get:24 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy-updates/main arm64 python3-problem-report all 2.20.11-0ubuntu82.9 [11.4 kB] Get:25 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy-updates/main arm64 python3-apport all 2.20.11-0ubuntu82.9 [89.0 kB] Get:26 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy-updates/main arm64 apport all 2.20.11-0ubuntu82.9 [135 kB] Get:27 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy-updates/main arm64 ghostscript-x arm64 9.55.0~dfsg1-0ubuntu5.12 [48.0 kB] Get:28 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy-updates/main arm64 ghostscript arm64 9.55.0~dfsg1-0ubuntu5.12 [49.7 kB] Get:29 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy-updates/main arm64 libgs9 arm64 9.55.0~dfsg1-0ubuntu5.12 [4956 kB] Get:30 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy-updates/main arm64 libgs9-common all 9.55.0~dfsg1-0ubuntu5.12 [753 kB] Get:31 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy-updates/main arm64 gir1.2-webkit2-4.0 arm64 2.48.3-0ubuntu0.22.04.1 [105 kB] Get:32 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy-updates/main arm64 gir1.2-javascriptcoregtk-4.0 arm64 2.48.3-0ubuntu0.22.04.1 [39.0 kB] Get:33 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy-updates/main arm64 libwebkit2gtk-4.0-37 arm64 2.48.3-0ubuntu0.22.04.1 [26.2 MB] Get:34 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy-updates/main arm64 libjavascriptcoregtk-4.0-18 arm64 2.48.3-0ubuntu0.22.04.1 [8729 kB] Get:35 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy-updates/main arm64 gir1.2-soup-2.4 arm64 2.74.2-3ubuntu0.6 [31.8 kB] Get:36 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy-updates/main arm64 libsoup-gnome2.4-1 arm64 2.74.2-3ubuntu0.6 [6194 B] Get:37 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy-updates/main arm64 libsoup2.4-common all 2.74.2-3ubuntu0.6 [4778 B] Get:38 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy-updates/main arm64 libsoup2.4-1 arm64 2.74.2-3ubuntu0.6 [281 kB] Get:39 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy-updates/main arm64 libxslt1.1 arm64 1.1.34-4ubuntu0.22.04.4 [161 kB] Get:40 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy-updates/main arm64 git-man all 1:2.34.1-1ubuntu1.15 [955 kB] Get:41 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy-updates/main arm64 git arm64 1:2.34.1-1ubuntu1.15 [3224 kB] Get:42 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy-updates/main arm64 libarchive13 arm64 3.6.0-1ubuntu1.5 [367 kB] Get:43 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy-updates/main arm64 libblockdev-utils2 arm64 2.26-1ubuntu0.1 [15.5 kB] Get:44 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy-updates/main arm64 libblockdev-crypto2 arm64 2.26-1ubuntu0.1 [17.3 kB] Get:45 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy-updates/main arm64 libblockdev-part-err2 arm64 2.26-1ubuntu0.1 [5650 B] Get:46 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy-updates/main arm64 libblockdev-fs2 arm64 2.26-1ubuntu0.1 [21.5 kB] Get:47 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy-updates/main arm64 libblockdev-loop2 arm64 2.26-1ubuntu0.1 [6838 B] Get:48 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy-updates/main arm64 libblockdev-part2 arm64 2.26-1ubuntu0.1 [15.0 kB] Get:49 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy-updates/main arm64 libblockdev-swap2 arm64 2.26-1ubuntu0.1 [7452 B] Get:50 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy-updates/main arm64 libblockdev2 arm64 2.26-1ubuntu0.1 [45.5 kB] Get:51 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy-updates/main arm64 libdjvulibre-text all 3.5.28-2ubuntu0.22.04.1 [51.0 kB] Get:52 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy-updates/main arm64 libdjvulibre21 arm64 3.5.28-2ubuntu0.22.04.1 [590 kB] Get:53 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy/main arm64 libdvbv5-doc all 1.22.1-2build1 [1479 kB] Get:54 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy-updates/main arm64 libprotobuf23 arm64 3.12.4-1ubuntu7.22.04.4 [809 kB] Get:55 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy/main arm64 libre2-9 arm64 20220201+dfsg-1 [153 kB] Get:56 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy-updates/main arm64 libssh-4 arm64 0.9.6-2ubuntu0.22.04.4 [185 kB] Get:57 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy-updates/main arm64 libssh-gcrypt-4 arm64 0.9.6-2ubuntu0.22.04.4 [224 kB] Get:58 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy-updates/main arm64 libudisks2-0 arm64 2.9.4-1ubuntu2.2 [168 kB] Get:59 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy-updates/main arm64 libvpx7 arm64 1.11.0-2ubuntu2.4 [1042 kB] Get:60 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy/main arm64 libxcvt-dev arm64 0.1.1-3 [3236 B] Get:61 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy-updates/main arm64 linux-libc-dev arm64 5.15.0-144.157 [1294 kB] Get:62 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy-updates/universe arm64 python3-pip all 22.0.2+dfsg-1ubuntu0.6 [1306 kB] Get:63 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy-updates/main arm64 python3-protobuf arm64 3.12.4-1ubuntu7.22.04.4 [352 kB] Get:64 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy-updates/main arm64 python3-urllib3 all 1.26.5-1~exp1ubuntu0.3 [98.6 kB] Get:65 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy-updates/main arm64 python3-requests all 2.25.1+dfsg-2ubuntu0.3 [48.8 kB] Get:66 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy-updates/main arm64 udisks2 arm64 2.9.4-1ubuntu2.2 [275 kB] Get:67 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy-updates/main arm64 xserver-xorg-dev arm64 2:21.1.4-2ubuntu1.7~22.04.15 [205 kB] Get:68 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy-updates/main arm64 xwayland arm64 2:22.1.1-1ubuntu0.19 [918 kB] Fetched 77.1 MB in 4min 46s (270 kB/s) Extracting templates from packages: 100% Preconfiguring packages ... (Reading database ... 126982 files and directories currently installed.) Preparing to unpack .../libpam0g_1.4.0-11ubuntu2.6_arm64.deb ... Unpacking libpam0g:arm64 (1.4.0-11ubuntu2.6) over (1.4.0-11ubuntu2.5) ... Setting up libpam0g:arm64 (1.4.0-11ubuntu2.6) ... (Reading database ... 126982 files and directories currently installed.) Preparing to unpack .../libpam-modules-bin_1.4.0-11ubuntu2.6_arm64.deb ... Unpacking libpam-modules-bin (1.4.0-11ubuntu2.6) over (1.4.0-11ubuntu2.5) ... Setting up libpam-modules-bin (1.4.0-11ubuntu2.6) ... (Reading database ... 126982 files and directories currently installed.) Preparing to unpack .../libpam-modules_1.4.0-11ubuntu2.6_arm64.deb ... Unpacking libpam-modules:arm64 (1.4.0-11ubuntu2.6) over (1.4.0-11ubuntu2.5) ... Setting up libpam-modules:arm64 (1.4.0-11ubuntu2.6) ... Installing new version of config file /etc/security/namespace.init ... (Reading database ... 126982 files and directories currently installed.) Preparing to unpack .../libnss-systemd_249.11-0ubuntu3.16_arm64.deb ... Unpacking libnss-systemd:arm64 (249.11-0ubuntu3.16) over (249.11-0ubuntu3.15) ... Preparing to unpack .../libsystemd0_249.11-0ubuntu3.16_arm64.deb ... Unpacking libsystemd0:arm64 (249.11-0ubuntu3.16) over (249.11-0ubuntu3.15) ... Setting up libsystemd0:arm64 (249.11-0ubuntu3.16) ... (Reading database ... 126982 files and directories currently installed.) Preparing to unpack .../systemd-sysv_249.11-0ubuntu3.16_arm64.deb ... Unpacking systemd-sysv (249.11-0ubuntu3.16) over (249.11-0ubuntu3.15) ... Preparing to unpack .../libpam-systemd_249.11-0ubuntu3.16_arm64.deb ... Unpacking libpam-systemd:arm64 (249.11-0ubuntu3.16) over (249.11-0ubuntu3.15) ... Preparing to unpack .../systemd_249.11-0ubuntu3.16_arm64.deb ... Unpacking systemd (249.11-0ubuntu3.16) over (249.11-0ubuntu3.15) ... Preparing to unpack .../udev_249.11-0ubuntu3.16_arm64.deb ... Unpacking udev (249.11-0ubuntu3.16) over (249.11-0ubuntu3.15) ... Preparing to unpack .../libudev1_249.11-0ubuntu3.16_arm64.deb ... Unpacking libudev1:arm64 (249.11-0ubuntu3.16) over (249.11-0ubuntu3.15) ... Setting up libudev1:arm64 (249.11-0ubuntu3.16) ... (Reading database ... 126982 files and directories currently installed.) Preparing to unpack .../libpam-runtime_1.4.0-11ubuntu2.6_all.deb ... Unpacking libpam-runtime (1.4.0-11ubuntu2.6) over (1.4.0-11ubuntu2.5) ... Setting up libpam-runtime (1.4.0-11ubuntu2.6) ... (Reading database ... 126982 files and directories currently installed.) Preparing to unpack .../libgnutls30_3.7.3-4ubuntu1.7_arm64.deb ... Unpacking libgnutls30:arm64 (3.7.3-4ubuntu1.7) over (3.7.3-4ubuntu1.6) ... Setting up libgnutls30:arm64 (3.7.3-4ubuntu1.7) ... (Reading database ... 126982 files and directories currently installed.) Preparing to unpack .../00-python3.10-dev_3.10.12-1~22.04.10_arm64.deb ... Unpacking python3.10-dev (3.10.12-1~22.04.10) over (3.10.12-1~22.04.9) ... Preparing to unpack .../01-libpython3.10-dev_3.10.12-1~22.04.10_arm64.deb ... Unpacking libpython3.10-dev:arm64 (3.10.12-1~22.04.10) over (3.10.12-1~22.04.9) ... Preparing to unpack .../02-libpython3.10_3.10.12-1~22.04.10_arm64.deb ... Unpacking libpython3.10:arm64 (3.10.12-1~22.04.10) over (3.10.12-1~22.04.9) ... Preparing to unpack .../03-python3.10_3.10.12-1~22.04.10_arm64.deb ... Unpacking python3.10 (3.10.12-1~22.04.10) over (3.10.12-1~22.04.9) ... Preparing to unpack .../04-libpython3.10-stdlib_3.10.12-1~22.04.10_arm64.deb ... Unpacking libpython3.10-stdlib:arm64 (3.10.12-1~22.04.10) over (3.10.12-1~22.04.9) ... Preparing to unpack .../05-python3.10-minimal_3.10.12-1~22.04.10_arm64.deb ... Unpacking python3.10-minimal (3.10.12-1~22.04.10) over (3.10.12-1~22.04.9) ... Preparing to unpack .../06-libpython3.10-minimal_3.10.12-1~22.04.10_arm64.deb ... Unpacking libpython3.10-minimal:arm64 (3.10.12-1~22.04.10) over (3.10.12-1~22.04.9) ... Preparing to unpack .../07-sudo_1.9.9-1ubuntu2.5_arm64.deb ... Unpacking sudo (1.9.9-1ubuntu2.5) over (1.9.9-1ubuntu2.4) ... Preparing to unpack .../08-ubuntu-pro-client-l10n_36ubuntu0~22.04_arm64.deb ... Unpacking ubuntu-pro-client-l10n (36ubuntu0~22.04) over (35.1ubuntu0~22.04) ... Preparing to unpack .../09-ubuntu-pro-client_36ubuntu0~22.04_arm64.deb ... Unpacking ubuntu-pro-client (36ubuntu0~22.04) over (35.1ubuntu0~22.04) ... Preparing to unpack .../10-ubuntu-advantage-tools_36ubuntu0~22.04_all.deb ... Unpacking ubuntu-advantage-tools (36ubuntu0~22.04) over (35.1ubuntu0~22.04) ... Preparing to unpack .../11-python3-problem-report_2.20.11-0ubuntu82.9_all.deb ... Unpacking python3-problem-report (2.20.11-0ubuntu82.9) over (2.20.11-0ubuntu82.7) ... Preparing to unpack .../12-python3-apport_2.20.11-0ubuntu82.9_all.deb ... Unpacking python3-apport (2.20.11-0ubuntu82.9) over (2.20.11-0ubuntu82.7) ... Preparing to unpack .../13-apport_2.20.11-0ubuntu82.9_all.deb ... Unpacking apport (2.20.11-0ubuntu82.9) over (2.20.11-0ubuntu82.7) ... Preparing to unpack .../14-ghostscript-x_9.55.0~dfsg1-0ubuntu5.12_arm64.deb ... Unpacking ghostscript-x (9.55.0~dfsg1-0ubuntu5.12) over (9.55.0~dfsg1-0ubuntu5.11) ... Preparing to unpack .../15-ghostscript_9.55.0~dfsg1-0ubuntu5.12_arm64.deb ... Unpacking ghostscript (9.55.0~dfsg1-0ubuntu5.12) over (9.55.0~dfsg1-0ubuntu5.11) ... Preparing to unpack .../16-libgs9_9.55.0~dfsg1-0ubuntu5.12_arm64.deb ... Unpacking libgs9:arm64 (9.55.0~dfsg1-0ubuntu5.12) over (9.55.0~dfsg1-0ubuntu5.11) ... Preparing to unpack .../17-libgs9-common_9.55.0~dfsg1-0ubuntu5.12_all.deb ... Unpacking libgs9-common (9.55.0~dfsg1-0ubuntu5.12) over (9.55.0~dfsg1-0ubuntu5.11) ... Preparing to unpack .../18-gir1.2-webkit2-4.0_2.48.3-0ubuntu0.22.04.1_arm64.deb ... Unpacking gir1.2-webkit2-4.0:arm64 (2.48.3-0ubuntu0.22.04.1) over (2.48.1-0ubuntu0.22.04.1) ... Preparing to unpack .../19-gir1.2-javascriptcoregtk-4.0_2.48.3-0ubuntu0.22.04.1_arm64.deb ... Unpacking gir1.2-javascriptcoregtk-4.0:arm64 (2.48.3-0ubuntu0.22.04.1) over (2.48.1-0ubuntu0.22.04.1) ... Preparing to unpack .../20-libwebkit2gtk-4.0-37_2.48.3-0ubuntu0.22.04.1_arm64.deb ... Unpacking libwebkit2gtk-4.0-37:arm64 (2.48.3-0ubuntu0.22.04.1) over (2.48.1-0ubuntu0.22.04.1) ... Preparing to unpack .../21-libjavascriptcoregtk-4.0-18_2.48.3-0ubuntu0.22.04.1_arm64.deb ... Unpacking libjavascriptcoregtk-4.0-18:arm64 (2.48.3-0ubuntu0.22.04.1) over (2.48.1-0ubuntu0.22.04.1) ... Preparing to unpack .../22-gir1.2-soup-2.4_2.74.2-3ubuntu0.6_arm64.deb ... Unpacking gir1.2-soup-2.4:arm64 (2.74.2-3ubuntu0.6) over (2.74.2-3ubuntu0.5) ... Preparing to unpack .../23-libsoup-gnome2.4-1_2.74.2-3ubuntu0.6_arm64.deb ... Unpacking libsoup-gnome2.4-1:arm64 (2.74.2-3ubuntu0.6) over (2.74.2-3ubuntu0.5) ... Preparing to unpack .../24-libsoup2.4-common_2.74.2-3ubuntu0.6_all.deb ... Unpacking libsoup2.4-common (2.74.2-3ubuntu0.6) over (2.74.2-3ubuntu0.5) ... Preparing to unpack .../25-libsoup2.4-1_2.74.2-3ubuntu0.6_arm64.deb ... Unpacking libsoup2.4-1:arm64 (2.74.2-3ubuntu0.6) over (2.74.2-3ubuntu0.5) ... Preparing to unpack .../26-libxslt1.1_1.1.34-4ubuntu0.22.04.4_arm64.deb ... Unpacking libxslt1.1:arm64 (1.1.34-4ubuntu0.22.04.4) over (1.1.34-4ubuntu0.22.04.3) ... Preparing to unpack .../27-git-man_1%3a2.34.1-1ubuntu1.15_all.deb ... Unpacking git-man (1:2.34.1-1ubuntu1.15) over (1:2.34.1-1ubuntu1.12) ... Preparing to unpack .../28-git_1%3a2.34.1-1ubuntu1.15_arm64.deb ... Unpacking git (1:2.34.1-1ubuntu1.15) over (1:2.34.1-1ubuntu1.12) ... Preparing to unpack .../29-libarchive13_3.6.0-1ubuntu1.5_arm64.deb ... Unpacking libarchive13:arm64 (3.6.0-1ubuntu1.5) over (3.6.0-1ubuntu1.4) ... Preparing to unpack .../30-libblockdev-utils2_2.26-1ubuntu0.1_arm64.deb ... Unpacking libblockdev-utils2:arm64 (2.26-1ubuntu0.1) over (2.26-1) ... Preparing to unpack .../31-libblockdev-crypto2_2.26-1ubuntu0.1_arm64.deb ... Unpacking libblockdev-crypto2:arm64 (2.26-1ubuntu0.1) over (2.26-1) ... Preparing to unpack .../32-libblockdev-part-err2_2.26-1ubuntu0.1_arm64.deb ... Unpacking libblockdev-part-err2:arm64 (2.26-1ubuntu0.1) over (2.26-1) ... Preparing to unpack .../33-libblockdev-fs2_2.26-1ubuntu0.1_arm64.deb ... Unpacking libblockdev-fs2:arm64 (2.26-1ubuntu0.1) over (2.26-1) ... Preparing to unpack .../34-libblockdev-loop2_2.26-1ubuntu0.1_arm64.deb ... Unpacking libblockdev-loop2:arm64 (2.26-1ubuntu0.1) over (2.26-1) ... Preparing to unpack .../35-libblockdev-part2_2.26-1ubuntu0.1_arm64.deb ... Unpacking libblockdev-part2:arm64 (2.26-1ubuntu0.1) over (2.26-1) ... Preparing to unpack .../36-libblockdev-swap2_2.26-1ubuntu0.1_arm64.deb ... Unpacking libblockdev-swap2:arm64 (2.26-1ubuntu0.1) over (2.26-1) ... Preparing to unpack .../37-libblockdev2_2.26-1ubuntu0.1_arm64.deb ... Unpacking libblockdev2:arm64 (2.26-1ubuntu0.1) over (2.26-1) ... Preparing to unpack .../38-libdjvulibre-text_3.5.28-2ubuntu0.22.04.1_all.deb ... Unpacking libdjvulibre-text (3.5.28-2ubuntu0.22.04.1) over (3.5.28-2build2) ... Preparing to unpack .../39-libdjvulibre21_3.5.28-2ubuntu0.22.04.1_arm64.deb ... Unpacking libdjvulibre21:arm64 (3.5.28-2ubuntu0.22.04.1) over (3.5.28-2build2) ... Preparing to unpack .../40-libdvbv5-doc_1.22.1-2build1_all.deb ... Unpacking libdvbv5-doc (1.22.1-2build1) over (1.18.0-2build1) ... Preparing to unpack .../41-libprotobuf23_3.12.4-1ubuntu7.22.04.4_arm64.deb ... Unpacking libprotobuf23:arm64 (3.12.4-1ubuntu7.22.04.4) over (3.12.4-1ubuntu7.22.04.2) ... Preparing to unpack .../42-libre2-9_20220201+dfsg-1_arm64.deb ... Unpacking libre2-9:arm64 (20220201+dfsg-1) over (20210201+dfsg-1) ... Preparing to unpack .../43-libssh-4_0.9.6-2ubuntu0.22.04.4_arm64.deb ... Unpacking libssh-4:arm64 (0.9.6-2ubuntu0.22.04.4) over (0.9.6-2ubuntu0.22.04.3) ... Preparing to unpack .../44-libssh-gcrypt-4_0.9.6-2ubuntu0.22.04.4_arm64.deb ... Unpacking libssh-gcrypt-4:arm64 (0.9.6-2ubuntu0.22.04.4) over (0.9.6-2ubuntu0.22.04.3) ... Preparing to unpack .../45-libudisks2-0_2.9.4-1ubuntu2.2_arm64.deb ... Unpacking libudisks2-0:arm64 (2.9.4-1ubuntu2.2) over (2.9.4-1ubuntu2) ... Preparing to unpack .../46-libvpx7_1.11.0-2ubuntu2.4_arm64.deb ... Unpacking libvpx7:arm64 (1.11.0-2ubuntu2.4) over (1.11.0-2ubuntu2.3) ... Selecting previously unselected package libxcvt-dev:arm64. Preparing to unpack .../47-libxcvt-dev_0.1.1-3_arm64.deb ... Unpacking libxcvt-dev:arm64 (0.1.1-3) ... Preparing to unpack .../48-linux-libc-dev_5.15.0-144.157_arm64.deb ... Unpacking linux-libc-dev:arm64 (5.15.0-144.157) over (5.15.0-142.152) ... Preparing to unpack .../49-python3-pip_22.0.2+dfsg-1ubuntu0.6_all.deb ... Unpacking python3-pip (22.0.2+dfsg-1ubuntu0.6) over (22.0.2+dfsg-1ubuntu0.5) ... Preparing to unpack .../50-python3-protobuf_3.12.4-1ubuntu7.22.04.4_arm64.deb ... Unpacking python3-protobuf (3.12.4-1ubuntu7.22.04.4) over (3.12.4-1ubuntu7.22.04.2) ... Preparing to unpack .../51-python3-urllib3_1.26.5-1~exp1ubuntu0.3_all.deb ... Unpacking python3-urllib3 (1.26.5-1~exp1ubuntu0.3) over (1.26.5-1~exp1ubuntu0.2) ... Preparing to unpack .../52-python3-requests_2.25.1+dfsg-2ubuntu0.3_all.deb ... Unpacking python3-requests (2.25.1+dfsg-2ubuntu0.3) over (2.25.1+dfsg-2ubuntu0.1) ... Preparing to unpack .../53-udisks2_2.9.4-1ubuntu2.2_arm64.deb ... Unpacking udisks2 (2.9.4-1ubuntu2.2) over (2.9.4-1ubuntu2) ... Preparing to unpack .../54-xserver-xorg-dev_2%3a21.1.4-2ubuntu1.7~22.04.15_arm64.deb ... Unpacking xserver-xorg-dev (2:21.1.4-2ubuntu1.7~22.04.15) over (2:1.20.13-1ubuntu1~20.04.2) ... Preparing to unpack .../55-xwayland_2%3a22.1.1-1ubuntu0.19_arm64.deb ... Unpacking xwayland (2:22.1.1-1ubuntu0.19) over (2:22.1.1-1ubuntu0.18) ... Setting up libssh-gcrypt-4:arm64 (0.9.6-2ubuntu0.22.04.4) ... Setting up libgs9-common (9.55.0~dfsg1-0ubuntu5.12) ... Setting up libre2-9:arm64 (20220201+dfsg-1) ... Setting up libxcvt-dev:arm64 (0.1.1-3) ... Setting up libgs9:arm64 (9.55.0~dfsg1-0ubuntu5.12) ... Setting up xserver-xorg-dev (2:21.1.4-2ubuntu1.7~22.04.15) ... Setting up libarchive13:arm64 (3.6.0-1ubuntu1.5) ... Setting up python3-problem-report (2.20.11-0ubuntu82.9) ... Setting up libjavascriptcoregtk-4.0-18:arm64 (2.48.3-0ubuntu0.22.04.1) ... Setting up linux-libc-dev:arm64 (5.15.0-144.157) ... Setting up libprotobuf23:arm64 (3.12.4-1ubuntu7.22.04.4) ... Setting up systemd (249.11-0ubuntu3.16) ... Setting up libdvbv5-doc (1.22.1-2build1) ... Setting up gir1.2-javascriptcoregtk-4.0:arm64 (2.48.3-0ubuntu0.22.04.1) ... Setting up ghostscript (9.55.0~dfsg1-0ubuntu5.12) ... Setting up python3-apport (2.20.11-0ubuntu82.9) ... Setting up libblockdev-utils2:arm64 (2.26-1ubuntu0.1) ... Setting up udev (249.11-0ubuntu3.16) ... Setting up libpython3.10-minimal:arm64 (3.10.12-1~22.04.10) ... Setting up sudo (1.9.9-1ubuntu2.5) ... Setting up python3-pip (22.0.2+dfsg-1ubuntu0.6) ... Setting up libssh-4:arm64 (0.9.6-2ubuntu0.22.04.4) ... Setting up python3-urllib3 (1.26.5-1~exp1ubuntu0.3) ... Setting up libsoup2.4-common (2.74.2-3ubuntu0.6) ... Setting up libxslt1.1:arm64 (1.1.34-4ubuntu0.22.04.4) ... Setting up libblockdev-part-err2:arm64 (2.26-1ubuntu0.1) ... Setting up git-man (1:2.34.1-1ubuntu1.15) ... Setting up libvpx7:arm64 (1.11.0-2ubuntu2.4) ... Setting up libdjvulibre-text (3.5.28-2ubuntu0.22.04.1) ... Setting up xwayland (2:22.1.1-1ubuntu0.19) ... Setting up python3-protobuf (3.12.4-1ubuntu7.22.04.4) ... Setting up ubuntu-pro-client (36ubuntu0~22.04) ... Installing new version of config file /etc/apparmor.d/ubuntu_pro_esm_cache ... Setting up libudisks2-0:arm64 (2.9.4-1ubuntu2.2) ... Setting up ubuntu-pro-client-l10n (36ubuntu0~22.04) ... Setting up systemd-sysv (249.11-0ubuntu3.16) ... Setting up libblockdev-crypto2:arm64 (2.26-1ubuntu0.1) ... Setting up libsoup2.4-1:arm64 (2.74.2-3ubuntu0.6) ... Setting up libblockdev-swap2:arm64 (2.26-1ubuntu0.1) ... Setting up libdjvulibre21:arm64 (3.5.28-2ubuntu0.22.04.1) ... Setting up libnss-systemd:arm64 (249.11-0ubuntu3.16) ... Setting up libblockdev-loop2:arm64 (2.26-1ubuntu0.1) ... Setting up ghostscript-x (9.55.0~dfsg1-0ubuntu5.12) ... Setting up libblockdev2:arm64 (2.26-1ubuntu0.1) ... Setting up libblockdev-part2:arm64 (2.26-1ubuntu0.1) ... Setting up python3.10-minimal (3.10.12-1~22.04.10) ... Setting up apport (2.20.11-0ubuntu82.9) ... apport-autoreport.service is a disabled or a static unit, not starting it. Setting up libpython3.10-stdlib:arm64 (3.10.12-1~22.04.10) ... Setting up python3-requests (2.25.1+dfsg-2ubuntu0.3) ... Setting up libblockdev-fs2:arm64 (2.26-1ubuntu0.1) ... Setting up git (1:2.34.1-1ubuntu1.15) ... Setting up libwebkit2gtk-4.0-37:arm64 (2.48.3-0ubuntu0.22.04.1) ... Setting up libpam-systemd:arm64 (249.11-0ubuntu3.16) ... Setting up ubuntu-advantage-tools (36ubuntu0~22.04) ... Setting up libsoup-gnome2.4-1:arm64 (2.74.2-3ubuntu0.6) ... Setting up udisks2 (2.9.4-1ubuntu2.2) ... Setting up libpython3.10:arm64 (3.10.12-1~22.04.10) ... Setting up python3.10 (3.10.12-1~22.04.10) ... Setting up gir1.2-soup-2.4:arm64 (2.74.2-3ubuntu0.6) ... Setting up libpython3.10-dev:arm64 (3.10.12-1~22.04.10) ... Setting up python3.10-dev (3.10.12-1~22.04.10) ... Setting up gir1.2-webkit2-4.0:arm64 (2.48.3-0ubuntu0.22.04.1) ... Processing triggers for hicolor-icon-theme (0.17-2) ... Processing triggers for doc-base (0.11.1) ... Processing 1 added doc-base file... Error in `/usr/share/doc-base/libdvbv5-doc.libdvbv5-reference', line 9: all `Format' sections are invalid. Note: `install-docs --verbose --check file_name' may give more details about the above error. Processing triggers for gnome-menus (3.36.0-1ubuntu3) ... Processing triggers for libc-bin (2.35-0ubuntu3.10) ... Processing triggers for man-db (2.10.2-1) ... Processing triggers for dbus (1.12.20-2ubuntu4.1) ... Processing triggers for mailcap (3.70+nmu1ubuntu1) ... Processing triggers for bamfdaemon (0.5.6+22.04.20220217-0ubuntu1) ... Rebuilding /usr/share/applications/bamf-2.index... Processing triggers for desktop-file-utils (0.26-1ubuntu3) ... (base) casbot@casbot:~/ros_catkin_ws$ sudo sh -c 'echo "deb https://mirrors.ustc.edu.cn/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-noetic.list' sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654 Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)). Executing: /tmp/apt-key-gpghome.6cqeROMOQT/gpg.1.sh --keyserver hkp://keyserver.ubuntu.com:80 --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654 gpg: key F42ED6FBAB17C654: "Open Robotics <info@osrfoundation.org>" not changed gpg: Total number processed: 1 gpg: unchanged: 1 (base) casbot@casbot:~/ros_catkin_ws$ sudo apt update # 安装桌面完整版(约 1.5GB,网络不稳定时分段安装) sudo apt install ros-noetic-desktop-full -y --allow-unauthenticated Ign:1 http://deb.repo.autolabor.com.cn jammy InRelease Ign:2 http://deb.repo.autolabor.com.cn jammy Release Ign:3 http://deb.repo.autolabor.com.cn jammy/main all Packages Ign:4 http://deb.repo.autolabor.com.cn jammy/main amd64 Packages Ign:5 http://deb.repo.autolabor.com.cn jammy/main Translation-en Ign:3 http://deb.repo.autolabor.com.cn jammy/main all Packages Ign:4 http://deb.repo.autolabor.com.cn jammy/main amd64 Packages Ign:5 http://deb.repo.autolabor.com.cn jammy/main Translation-en Ign:3 http://deb.repo.autolabor.com.cn jammy/main all Packages Ign:4 http://deb.repo.autolabor.com.cn jammy/main amd64 Packages Ign:5 http://deb.repo.autolabor.com.cn jammy/main Translation-en Ign:3 http://deb.repo.autolabor.com.cn jammy/main all Packages Ign:6 https://mirrors.ustc.edu.cn/ros/ubuntu jammy InRelease Hit:4 http://deb.repo.autolabor.com.cn jammy/main amd64 Packages Err:7 https://mirrors.ustc.edu.cn/ros/ubuntu jammy Release 404 Not Found [IP: 202.141.176.110 443] Ign:5 http://deb.repo.autolabor.com.cn jammy/main Translation-en Ign:3 http://deb.repo.autolabor.com.cn jammy/main all Packages Ign:5 http://deb.repo.autolabor.com.cn jammy/main Translation-en Ign:3 http://deb.repo.autolabor.com.cn jammy/main all Packages Ign:5 http://deb.repo.autolabor.com.cn jammy/main Translation-en Ign:3 http://deb.repo.autolabor.com.cn jammy/main all Packages Ign:5 http://deb.repo.autolabor.com.cn jammy/main Translation-en Hit:8 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy InRelease Hit:9 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy-updates InRelease Hit:10 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy-backports InRelease Hit:11 http://packages.ros.org/ros/ubuntu focal InRelease Hit:12 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports jammy-security InRelease Get:13 http://mirrors.tuna.tsinghua.edu.cn/ros2/ubuntu jammy InRelease [4682 B] Reading package lists... Done E: The repository 'https://mirrors.ustc.edu.cn/ros/ubuntu jammy Release' does not have a Release file. N: Updating from such a repository can't be done securely, and is therefore disabled by default. N: See apt-secure(8) manpage for repository creation and user configuration details. Reading package lists... Done Building dependency tree... Done Reading state information... Done Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve the situation: The following packages have unmet dependencies: gazebo11 : Depends: libboost-filesystem1.71.0 but it is not installable Depends: libboost-iostreams1.71.0 but it is not installable Depends: libboost-program-options1.71.0 but it is not installable Depends: libboost-regex1.71.0-icu66 but it is not installable Depends: libboost-thread1.71.0 but it is not installable Depends: libgazebo11 (= 11.15.1-1~focal) but it is not going to be installed Depends: libignition-msgs5 (>= 5.11.0) but it is not going to be installed Depends: libignition-transport8 (>= 8.5.0) but it is not going to be installed Depends: libprotobuf17 but it is not installable Depends: gazebo11-common (>= 11.2.0) but it is not going to be installed Recommends: gazebo11-plugin-base but it is not going to be installed libgazebo11-dev : Depends: libignition-transport8-dev but it is not going to be installed Depends: libignition-msgs5-dev but it is not going to be installed Depends: libignition-fuel-tools4-dev but it is not going to be installed Depends: libignition-common3-dev but it is not going to be installed Depends: libignition-common3-graphics-dev but it is not going to be installed Depends: libdart6-collision-bullet-dev (< 6.10.0) but it is not installable or libdart-collision-bullet-dev (< 6.10.0) but it is not going to be installed Depends: libdart6-collision-ode-dev (< 6.10.0) but it is not installable or libdart-collision-ode-dev (< 6.10.0) but it is not going to be installed Depends: libdart6-utils-urdf-dev (< 6.10.0) but it is not installable or libdart-utils-urdf-dev (< 6.10.0) but it is not going to be installed Depends: libdart6-external-odelcpsolver-dev (< 6.10.0) but it is not installable or libdart-external-odelcpsolver-dev (< 6.10.0) but it is not going to be installed Depends: libdart6-external-ikfast-dev (< 6.10.0) but it is not installable or libdart-external-ikfast-dev (< 6.10.0) but it is not going to be installed Depends: libgazebo11 (= 11.15.1-1~focal) but it is not going to be installed Depends: gazebo11-common (>= 11.2.0) but it is not going to be installed Depends: gazebo11-plugin-base (= 11.15.1-1~focal) but it is not going to be installed libicu-dev : Depends: libicu70 (= 70.1-2) but 70.1-2ubuntu1 is to be installed libjsoncpp-dev : Depends: libjsoncpp25 (= 1.9.5-3) but 1.9.5-3ubuntu0.1 is to be installed ros-noetic-actionlib : Depends: libboost-thread1.71.0 but it is not installable ros-noetic-actionlib-tutorials : Depends: libboost-thread1.71.0 but it is not installable ros-noetic-bondcpp : Depends: libboost-thread1.71.0 but it is not installable ros-noetic-camera-calibration-parsers : Depends: libboost-filesystem1.71.0 but it is not installable Depends: libboost-python1.71.0 but it is not installable Depends: libboost-python1.71.0-py38 but it is not installable Depends: libpython3.8 (>= 3.8.2) but it is not installable Depends: libyaml-cpp0.6 (>= 0.6.2) but it is not installable ros-noetic-class-loader : Depends: libboost-filesystem1.71.0 but it is not installable Depends: libconsole-bridge0.4 but it is not installable Depends: libpocofoundation62 (>= 1.9.2) but it is not installable ros-noetic-compressed-depth-image-transport : Depends: libconsole-bridge0.4 but it is not installable Depends: libopencv-core4.2 (>= 4.2.0+dfsg) but it is not installable Depends: libopencv-imgcodecs4.2 (>= 4.2.0+dfsg) but it is not installable ros-noetic-compressed-image-transport : Depends: libconsole-bridge0.4 but it is not installable Depends: libopencv-core4.2 (>= 4.2.0+dfsg) but it is not installable Depends: libopencv-imgcodecs4.2 (>= 4.2.0+dfsg) but it is not installable Depends: libopencv-imgproc4.2 (>= 4.2.0+dfsg) but it is not installable ros-noetic-controller-manager : Depends: libboost-filesystem1.71.0 but it is not installable Depends: libconsole-bridge0.4 but it is not installable Depends: libtinyxml2-6a (>= 5.0.0) but it is not installable ros-noetic-cpp-common : Depends: libconsole-bridge0.4 but it is not installable ros-noetic-cv-bridge : Depends: libboost-python1.71.0 but it is not installable Depends: libboost-python1.71.0-py38 but it is not installable Depends: libboost-regex1.71.0-icu66 but it is not installable Depends: libopencv-core4.2 (>= 4.2.0+dfsg) but it is not installable Depends: libopencv-imgcodecs4.2 (>= 4.2.0+dfsg) but it is not installable Depends: libopencv-imgproc4.2 (>= 4.2.0+dfsg) but it is not installable Depends: libpython3.8 (>= 3.8.2) but it is not installable ros-noetic-depth-image-proc : Depends: libconsole-bridge0.4 but it is not installable Depends: libopencv-calib3d4.2 (>= 4.2.0+dfsg) but it is not installable Depends: libopencv-core4.2 (>= 4.2.0+dfsg) but it is not installable Depends: libopencv-imgproc4.2 (>= 4.2.0+dfsg) but it is not installable ros-noetic-diagnostic-aggregator : Depends: libboost-filesystem1.71.0 but it is not installable Depends: libboost-regex1.71.0-icu66 but it is not installable Depends: libconsole-bridge0.4 but it is not installable Depends: libtinyxml2-6a (>= 5.0.0) but it is not installable ros-noetic-diagnostic-common-diagnostics : Depends: hddtemp but it is not installable ros-noetic-diff-drive-controller : Depends: libconsole-bridge0.4 but it is not installable Depends: liburdfdom-model but it is not installable ros-noetic-eigen-conversions : Depends: liborocos-kdl1.4 but it is not installable ros-noetic-filters : Depends: libconsole-bridge0.4 but it is not installable ros-noetic-gazebo-plugins : Depends: libboost-thread1.71.0 but it is not installable Depends: libgazebo11 (>= 11.15.1) but it is not going to be installed Depends: libopencv-core4.2 (>= 4.2.0+dfsg) but it is not installable Depends: libopencv-imgproc4.2 (>= 4.2.0+dfsg) but it is not installable Depends: libprotobuf17 but it is not installable ros-noetic-gazebo-ros : Depends: libboost-thread1.71.0 but it is not installable Depends: libgazebo11 (>= 11.15.1) but it is not going to be installed Depends: libprotobuf17 but it is not installable ros-noetic-gazebo-ros-control : Depends: libboost-filesystem1.71.0 but it is not installable Depends: libboost-thread1.71.0 but it is not installable Depends: libconsole-bridge0.4 but it is not installable Depends: libgazebo11 (>= 11.15.1) but it is not going to be installed Depends: libtinyxml2-6a (>= 5.0.0) but it is not installable Depends: ros-noetic-transmission-interface but it is not going to be installed ros-noetic-image-geometry : Depends: libopencv-calib3d4.2 (>= 4.2.0+dfsg) but it is not installable Depends: libopencv-core4.2 (>= 4.2.0+dfsg) but it is not installable Depends: libopencv-imgproc4.2 (>= 4.2.0+dfsg) but it is not installable ros-noetic-image-proc : Depends: libconsole-bridge0.4 but it is not installable Depends: libopencv-core4.2 (>= 4.2.0+dfsg) but it is not installable Depends: libopencv-imgproc4.2 (>= 4.2.0+dfsg) but it is not installable ros-noetic-image-publisher : Depends: libconsole-bridge0.4 but it is not installable Depends: libopencv-core4.2 (>= 4.2.0+dfsg) but it is not installable Depends: libopencv-imgcodecs4.2 (>= 4.2.0+dfsg) but it is not installable Depends: libopencv-videoio4.2 (>= 4.2.0+dfsg) but it is not installable ros-noetic-image-rotate : Depends: libconsole-bridge0.4 but it is not installable Depends: libopencv-core4.2 (>= 4.2.0+dfsg) but it is not installable Depends: libopencv-imgproc4.2 (>= 4.2.0+dfsg) but it is not installable ros-noetic-image-transport : Depends: libboost-filesystem1.71.0 but it is not installable Depends: libconsole-bridge0.4 but it is not installable Depends: libtinyxml2-6a (>= 5.0.0) but it is not installable ros-noetic-image-view : Depends: libboost-thread1.71.0 but it is not installable Depends: libconsole-bridge0.4 but it is not installable Depends: libopencv-core4.2 (>= 4.2.0+dfsg) but it is not installable Depends: libopencv-highgui4.2 (>= 4.2.0+dfsg) but it is not installable Depends: libopencv-imgcodecs4.2 (>= 4.2.0+dfsg) but it is not installable Depends: libopencv-videoio4.2 (>= 4.2.0+dfsg) but it is not installable ros-noetic-interactive-markers : Depends: libboost-thread1.71.0 but it is not installable ros-noetic-joint-state-controller : Depends: libconsole-bridge0.4 but it is not installable ros-noetic-kdl-conversions : Depends: liborocos-kdl1.4 but it is not installable ros-noetic-kdl-parser : Depends: liborocos-kdl1.4 but it is not installable Depends: libtinyxml2-6a (>= 5.0.0) but it is not installable Depends: liburdfdom-model but it is not installable ros-noetic-laser-assembler : Depends: libboost-filesystem1.71.0 but it is not installable Depends: libconsole-bridge0.4 but it is not installable Depends: libtinyxml2-6a (>= 5.0.0) but it is not installable ros-noetic-laser-filters : Depends: libboost-filesystem1.71.0 but it is not installable Depends: libconsole-bridge0.4 but it is not installable Depends: libtinyxml2-6a (>= 5.0.0) but it is not installable ros-noetic-laser-geometry : Depends: libboost-thread1.71.0 but it is not installable ros-noetic-nodelet : Depends: libboost-filesystem1.71.0 but it is not installable Depends: libboost-thread1.71.0 but it is not installable Depends: libconsole-bridge0.4 but it is not installable Depends: libtinyxml2-6a (>= 5.0.0) but it is not installable ros-noetic-nodelet-tutorial-math : Depends: libconsole-bridge0.4 but it is not installable ros-noetic-pcl-ros : Depends: libboost-filesystem1.71.0 but it is not installable Depends: libconsole-bridge0.4 but it is not installable Depends: libpcl-common1.10 (>= 1.10.0+dfsg) but it is not installable Depends: libpcl-features1.10 (>= 1.10.0+dfsg) but it is not installable Depends: libpcl-filters1.10 (>= 1.10.0+dfsg) but it is not installable Depends: libpcl-io1.10 (>= 1.10.0+dfsg) but it is not installable Depends: libpcl-search1.10 (>= 1.10.0+dfsg) but it is not installable Depends: libpcl-segmentation1.10 (>= 1.10.0+dfsg) but it is not installable Depends: libpcl-surface1.10 (>= 1.10.0+dfsg) but it is not installable ros-noetic-pluginlib : Depends: libboost-filesystem1.71.0 but it is not installable ros-noetic-pluginlib-tutorials : Depends: libboost-filesystem1.71.0 but it is not installable Depends: libconsole-bridge0.4 but it is not installable Depends: libtinyxml2-6a (>= 5.0.0) but it is not installable ros-noetic-position-controllers : Depends: libconsole-bridge0.4 but it is not installable ros-noetic-robot-state-publisher : Depends: liborocos-kdl1.4 but it is not installable Depends: liburdfdom-world but it is not installable ros-noetic-rosbag : Depends: libboost-filesystem1.71.0 but it is not installable Depends: libboost-program-options1.71.0 but it is not installable Depends: libboost-regex1.71.0-icu66 but it is not installable Depends: libboost-thread1.71.0 but it is not installable Depends: libconsole-bridge0.4 but it is not installable Depends: ros-noetic-rosbag-storage but it is not going to be installed ros-noetic-rosconsole : Depends: libboost-regex1.71.0-icu66 but it is not installable Depends: liblog4cxx10v5 (>= 0.10.0) but it is not installable ros-noetic-rosconsole-bridge : Depends: libconsole-bridge0.4 but it is not installable ros-noetic-roscpp : Depends: libboost-chrono1.71.0 but it is not installable Depends: libboost-filesystem1.71.0 but it is not installable Depends: libboost-thread1.71.0 but it is not installable ros-noetic-roscpp-tutorials : Depends: libboost-thread1.71.0 but it is not installable ros-noetic-rospack : Depends: libboost-filesystem1.71.0 but it is not installable Depends: libboost-program-options1.71.0 but it is not installable Depends: libpython3.8 (>= 3.8.2) but it is not installable Depends: libtinyxml2-6a (>= 5.0.0) but it is not installable ros-noetic-rqt-image-view : Depends: libconsole-bridge0.4 but it is not installable Depends: libopencv-core4.2 (>= 4.2.0+dfsg) but it is not installable Depends: libopencv-imgproc4.2 (>= 4.2.0+dfsg) but it is not installable Depends: ros-noetic-rqt-gui-cpp but it is not going to be installed ros-noetic-rqt-rviz : Depends: libboost-program-options1.71.0 but it is not installable Depends: libconsole-bridge0.4 but it is not installable Depends: ros-noetic-rqt-gui-cpp but it is not going to be installed ros-noetic-rviz : Depends: libboost-filesystem1.71.0 but it is not installable Depends: libboost-program-options1.71.0 but it is not installable Depends: libboost-thread1.71.0 but it is not installable Depends: libconsole-bridge0.4 but it is not installable Depends: libtinyxml2-6a (>= 5.0.0) but it is not installable Depends: liburdfdom-world but it is not installable Depends: libyaml-cpp0.6 (>= 0.6.2) but it is not installable ros-noetic-rviz-plugin-tutorials : Depends: libboost-thread1.71.0 but it is not installable Depends: libconsole-bridge0.4 but it is not installable ros-noetic-stage-ros : Depends: libboost-thread1.71.0 but it is not installable ros-noetic-stereo-image-proc : Depends: libconsole-bridge0.4 but it is not installable Depends: libopencv-calib3d4.2 (>= 4.2.0+dfsg) but it is not installable Depends: libopencv-core4.2 (>= 4.2.0+dfsg) but it is not installable Depends: libopencv-imgproc4.2 (>= 4.2.0+dfsg) but it is not installable ros-noetic-tf : Depends: libboost-thread1.71.0 but it is not installable ros-noetic-tf-conversions : Depends: liborocos-kdl1.4 but it is not installable ros-noetic-tf2 : Depends: libconsole-bridge0.4 but it is not installable ros-noetic-tf2-ros : Depends: libboost-thread1.71.0 but it is not installable Depends: ros-noetic-tf2-py but it is not going to be installed ros-noetic-theora-image-transport : Depends: libconsole-bridge0.4 but it is not installable Depends: libopencv-core4.2 (>= 4.2.0+dfsg) but it is not installable Depends: libopencv-imgproc4.2 (>= 4.2.0+dfsg) but it is not installable ros-noetic-turtle-actionlib : Depends: libboost-thread1.71.0 but it is not installable ros-noetic-urdf : Depends: libboost-filesystem1.71.0 but it is not installable Depends: libconsole-bridge0.4 but it is not installable Depends: libtinyxml2-6a (>= 5.0.0) but it is not installable Depends: liburdfdom-model but it is not installable E: Unable to correct problems, you have held broken packages.我执行到第三步后出现报错,请在此基础上给我能够成功安装ros1的操作步骤
最新发布
07-23
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值